@graphql-inspector/core
Version:
Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.
149 lines (148 loc) • 7.24 kB
text/typescript
import { DirectiveLocationEnum, GraphQLArgument, GraphQLDirective } from 'graphql';
import { Change, ChangeType, CriticalityLevel, DirectiveAddedChange, DirectiveArgumentAddedChange, DirectiveArgumentDefaultValueChangedChange, DirectiveArgumentDescriptionChangedChange, DirectiveArgumentRemovedChange, DirectiveArgumentTypeChangedChange, DirectiveDescriptionChangedChange, DirectiveLocationAddedChange, DirectiveLocationRemovedChange, DirectiveRemovedChange } from './change.cjs';
export declare function directiveRemovedFromMeta(args: DirectiveRemovedChange): {
readonly criticality: {
readonly level: CriticalityLevel.Breaking;
readonly reason: "A directive could be in use of a client application. Removing it could break the client application.";
};
readonly type: "DIRECTIVE_REMOVED";
readonly message: string;
readonly path: `@${string}`;
readonly meta: {
removedDirectiveName: string;
};
};
export declare function directiveRemoved(directive: GraphQLDirective): Change<typeof ChangeType.DirectiveRemoved>;
export declare function directiveAddedFromMeta(args: DirectiveAddedChange): {
readonly criticality: {
readonly level: CriticalityLevel.NonBreaking;
};
readonly type: "DIRECTIVE_ADDED";
readonly message: string;
readonly path: `@${string}`;
readonly meta: {
addedDirectiveName: string;
};
};
export declare function directiveAdded(directive: GraphQLDirective): Change<typeof ChangeType.DirectiveAdded>;
export declare function directiveDescriptionChangedFromMeta(args: DirectiveDescriptionChangedChange): {
readonly criticality: {
readonly level: CriticalityLevel.NonBreaking;
};
readonly type: "DIRECTIVE_DESCRIPTION_CHANGED";
readonly message: string;
readonly path: `@${string}`;
readonly meta: {
directiveName: string;
oldDirectiveDescription: string | null;
newDirectiveDescription: string | null;
};
};
export declare function directiveDescriptionChanged(oldDirective: GraphQLDirective, newDirective: GraphQLDirective): Change<typeof ChangeType.DirectiveDescriptionChanged>;
export declare function directiveLocationAddedFromMeta(args: DirectiveLocationAddedChange): {
readonly criticality: {
readonly level: CriticalityLevel.NonBreaking;
};
readonly type: "DIRECTIVE_LOCATION_ADDED";
readonly message: string;
readonly path: `@${string}`;
readonly meta: {
directiveName: string;
addedDirectiveLocation: string;
};
};
export declare function directiveLocationAdded(directive: GraphQLDirective, location: DirectiveLocationEnum): Change<typeof ChangeType.DirectiveLocationAdded>;
export declare function directiveLocationRemovedFromMeta(args: DirectiveLocationRemovedChange): {
readonly criticality: {
readonly level: CriticalityLevel.Breaking;
readonly reason: "A directive could be in use of a client application. Removing it could break the client application.";
};
readonly type: "DIRECTIVE_LOCATION_REMOVED";
readonly message: string;
readonly path: `@${string}`;
readonly meta: {
directiveName: string;
removedDirectiveLocation: string;
};
};
export declare function directiveLocationRemoved(directive: GraphQLDirective, location: DirectiveLocationEnum): Change<typeof ChangeType.DirectiveLocationRemoved>;
export declare function directiveArgumentAddedFromMeta(args: DirectiveArgumentAddedChange): {
readonly criticality: {
level: CriticalityLevel;
reason: string;
};
readonly type: "DIRECTIVE_ARGUMENT_ADDED";
readonly message: `Argument '${string}' was added to directive '${string}'`;
readonly path: `@${string}`;
readonly meta: {
directiveName: string;
addedDirectiveArgumentName: string;
addedDirectiveArgumentTypeIsNonNull: boolean;
};
};
export declare function directiveArgumentAdded(directive: GraphQLDirective, arg: GraphQLArgument): Change<typeof ChangeType.DirectiveArgumentAdded>;
export declare function directiveArgumentRemovedFromMeta(args: DirectiveArgumentRemovedChange): {
readonly criticality: {
readonly level: CriticalityLevel.Breaking;
readonly reason: "A directive argument could be in use of a client application. Removing the argument can break client applications.";
};
readonly type: "DIRECTIVE_ARGUMENT_REMOVED";
readonly message: string;
readonly path: `@${string}.${string}`;
readonly meta: {
directiveName: string;
removedDirectiveArgumentName: string;
};
};
export declare function directiveArgumentRemoved(directive: GraphQLDirective, arg: GraphQLArgument): Change<typeof ChangeType.DirectiveArgumentRemoved>;
export declare function directiveArgumentDescriptionChangedFromMeta(args: DirectiveArgumentDescriptionChangedChange): {
readonly criticality: {
readonly level: CriticalityLevel.NonBreaking;
};
readonly type: "DIRECTIVE_ARGUMENT_DESCRIPTION_CHANGED";
readonly message: string;
readonly path: `@${string}.${string}`;
readonly meta: {
directiveName: string;
directiveArgumentName: string;
oldDirectiveArgumentDescription: string | null;
newDirectiveArgumentDescription: string | null;
};
};
export declare function directiveArgumentDescriptionChanged(directive: GraphQLDirective, oldArg: GraphQLArgument, newArg: GraphQLArgument): Change<typeof ChangeType.DirectiveArgumentDescriptionChanged>;
export declare function directiveArgumentDefaultValueChangedFromMeta(args: DirectiveArgumentDefaultValueChangedChange): {
readonly criticality: {
readonly level: CriticalityLevel.Dangerous;
readonly reason: "Changing the default value for an argument may change the runtime behaviour of a field if it was never provided.";
};
readonly type: "DIRECTIVE_ARGUMENT_DEFAULT_VALUE_CHANGED";
readonly message: string;
readonly path: `@${string}.${string}`;
readonly meta: {
directiveName: string;
directiveArgumentName: string;
oldDirectiveArgumentDefaultValue?: string;
newDirectiveArgumentDefaultValue?: string;
};
};
export declare function directiveArgumentDefaultValueChanged(directive: GraphQLDirective, oldArg: GraphQLArgument, newArg: GraphQLArgument): Change<typeof ChangeType.DirectiveArgumentDefaultValueChanged>;
export declare function directiveArgumentTypeChangedFromMeta(args: DirectiveArgumentTypeChangedChange): {
readonly criticality: {
level: CriticalityLevel;
reason: string;
} | {
level: CriticalityLevel;
reason?: undefined;
};
readonly type: "DIRECTIVE_ARGUMENT_TYPE_CHANGED";
readonly message: string;
readonly path: `@${string}.${string}`;
readonly meta: {
directiveName: string;
directiveArgumentName: string;
oldDirectiveArgumentType: string;
newDirectiveArgumentType: string;
isSafeDirectiveArgumentTypeChange: boolean;
};
};
export declare function directiveArgumentTypeChanged(directive: GraphQLDirective, oldArg: GraphQLArgument, newArg: GraphQLArgument): Change<typeof ChangeType.DirectiveArgumentTypeChanged>;