@graphql-inspector/core
Version:
Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.
65 lines (64 loc) • 3.64 kB
text/typescript
import { ConstDirectiveNode, GraphQLArgument, GraphQLEnumType, GraphQLEnumValue, GraphQLField, GraphQLInputField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLObjectType, GraphQLScalarType, GraphQLSchema, GraphQLUnionType, Kind } from 'graphql';
import { Change, DirectiveUsageArgumentDefinitionChange, DirectiveUsageArgumentDefinitionRemovedChange, DirectiveUsageEnumAddedChange, DirectiveUsageEnumRemovedChange, DirectiveUsageEnumValueAddedChange, DirectiveUsageEnumValueRemovedChange, DirectiveUsageFieldDefinitionAddedChange, DirectiveUsageFieldDefinitionRemovedChange, DirectiveUsageInputObjectAddedChange, DirectiveUsageInputObjectdRemovedChange, DirectiveUsageInterfaceAddedChange, DirectiveUsageInterfaceRemovedChange, DirectiveUsageObjectAddedChange, DirectiveUsageObjectRemovedChange, DirectiveUsageScalarAddedChange, DirectiveUsageScalarRemovedChange, DirectiveUsageSchemaAddedChange, DirectiveUsageSchemaRemovedChange, DirectiveUsageUnionMemberAddedChange, DirectiveUsageUnionMemberRemovedChange } from './change.cjs';
type KindToPayload = {
[Kind.ENUM_TYPE_DEFINITION]: {
input: GraphQLEnumType;
change: DirectiveUsageEnumAddedChange | DirectiveUsageEnumRemovedChange;
};
[Kind.FIELD_DEFINITION]: {
input: {
field: GraphQLField<any, any, any>;
parentType: GraphQLInterfaceType | GraphQLObjectType<any, any>;
};
change: DirectiveUsageFieldDefinitionAddedChange | DirectiveUsageFieldDefinitionRemovedChange;
};
[Kind.UNION_TYPE_DEFINITION]: {
input: GraphQLUnionType;
change: DirectiveUsageUnionMemberAddedChange | DirectiveUsageUnionMemberRemovedChange;
};
[Kind.ENUM_VALUE_DEFINITION]: {
input: {
type: GraphQLEnumType;
value: GraphQLEnumValue;
};
change: DirectiveUsageEnumValueAddedChange | DirectiveUsageEnumValueRemovedChange;
};
[Kind.SCHEMA_DEFINITION]: {
input: GraphQLSchema;
change: DirectiveUsageSchemaAddedChange | DirectiveUsageSchemaRemovedChange;
};
[Kind.SCALAR_TYPE_DEFINITION]: {
input: GraphQLScalarType;
change: DirectiveUsageScalarAddedChange | DirectiveUsageScalarRemovedChange;
};
[Kind.OBJECT]: {
input: GraphQLObjectType;
change: DirectiveUsageObjectAddedChange | DirectiveUsageObjectRemovedChange;
};
[Kind.INTERFACE_TYPE_DEFINITION]: {
input: GraphQLInterfaceType;
change: DirectiveUsageInterfaceAddedChange | DirectiveUsageInterfaceRemovedChange;
};
[Kind.INPUT_OBJECT_TYPE_DEFINITION]: {
input: GraphQLInputObjectType;
change: DirectiveUsageInputObjectAddedChange | DirectiveUsageInputObjectdRemovedChange;
};
[Kind.INPUT_VALUE_DEFINITION]: {
input: {
field: GraphQLInputField;
type: GraphQLInputObjectType;
};
change: DirectiveUsageArgumentDefinitionChange | DirectiveUsageArgumentDefinitionRemovedChange;
};
[Kind.ARGUMENT]: {
input: {
field: GraphQLField<any, any, any>;
type: GraphQLObjectType | GraphQLInterfaceType;
argument: GraphQLArgument;
};
change: DirectiveUsageArgumentDefinitionChange | DirectiveUsageArgumentDefinitionRemovedChange;
};
};
export declare function directiveUsageAdded<K extends keyof KindToPayload>(kind: K, directive: ConstDirectiveNode, payload: KindToPayload[K]['input']): Change;
export declare function directiveUsageRemoved<K extends keyof KindToPayload>(kind: K, directive: ConstDirectiveNode, payload: KindToPayload[K]['input']): Change;
export {};