This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
admin-panel/graphql-types/node_modules/@graphql-tools/merge/extensions.d.ts

58 lines
2.7 KiB
TypeScript

import { GraphQLSchema, GraphQLField, GraphQLInputField, GraphQLObjectType, GraphQLInputObjectType, GraphQLUnionType, GraphQLScalarType, GraphQLArgument, GraphQLEnumType, GraphQLEnumValue, GraphQLInterfaceType } from 'graphql';
export declare type ExtensionsObject = Record<string, any>;
export declare type ObjectTypeExtensions = {
type: 'object';
fields: Record<string, {
extensions: ExtensionsObject;
arguments: Record<string, ExtensionsObject>;
}>;
};
export declare type InputTypeExtensions = {
type: 'input';
fields: Record<string, {
extensions: ExtensionsObject;
}>;
};
export declare type InterfaceTypeExtensions = {
type: 'interface';
fields: Record<string, {
extensions: ExtensionsObject;
arguments: Record<string, ExtensionsObject>;
}>;
};
export declare type UnionTypeExtensions = {
type: 'union';
};
export declare type ScalarTypeExtensions = {
type: 'scalar';
};
export declare type EnumTypeExtensions = {
type: 'enum';
values: Record<string, ExtensionsObject>;
};
export declare type PossibleTypeExtensions = InputTypeExtensions | InterfaceTypeExtensions | ObjectTypeExtensions | UnionTypeExtensions | ScalarTypeExtensions | EnumTypeExtensions;
export declare type SchemaExtensions = {
schemaExtensions: ExtensionsObject;
types: Record<string, {
extensions: ExtensionsObject;
} & PossibleTypeExtensions>;
};
export declare function travelSchemaPossibleExtensions(schema: GraphQLSchema, hooks: {
onSchema: (schema: GraphQLSchema) => any;
onObjectType: (type: GraphQLObjectType) => any;
onObjectField: (type: GraphQLObjectType, field: GraphQLField<any, any>) => any;
onObjectFieldArg: (type: GraphQLObjectType, field: GraphQLField<any, any>, arg: GraphQLArgument) => any;
onInterface: (type: GraphQLInterfaceType) => any;
onInterfaceField: (type: GraphQLInterfaceType, field: GraphQLField<any, any>) => any;
onInterfaceFieldArg: (type: GraphQLInterfaceType, field: GraphQLField<any, any>, arg: GraphQLArgument) => any;
onInputType: (type: GraphQLInputObjectType) => any;
onInputFieldType: (type: GraphQLInputObjectType, field: GraphQLInputField) => any;
onUnion: (type: GraphQLUnionType) => any;
onScalar: (type: GraphQLScalarType) => any;
onEnum: (type: GraphQLEnumType) => any;
onEnumValue: (type: GraphQLEnumType, value: GraphQLEnumValue) => any;
}): void;
export declare function mergeExtensions(extensions: SchemaExtensions[]): SchemaExtensions;
export declare function applyExtensions(schema: GraphQLSchema, extensions: SchemaExtensions): GraphQLSchema;
export declare function extractExtensionsFromSchema(schema: GraphQLSchema): SchemaExtensions;