UNPKG

2.16 kBTypeScriptView Raw
1import { GraphQLDirective } from '../type/directives';
2import { GraphQLSchema } from '../type/schema';
3import { DirectiveLocationEnum } from '../language/directiveLocation';
4
5export const BreakingChangeType: _BreakingChangeType;
6
7// @internal
8type _BreakingChangeType = {
9 TYPE_REMOVED: 'TYPE_REMOVED';
10 TYPE_CHANGED_KIND: 'TYPE_CHANGED_KIND';
11 TYPE_REMOVED_FROM_UNION: 'TYPE_REMOVED_FROM_UNION';
12 VALUE_REMOVED_FROM_ENUM: 'VALUE_REMOVED_FROM_ENUM';
13 REQUIRED_INPUT_FIELD_ADDED: 'REQUIRED_INPUT_FIELD_ADDED';
14 INTERFACE_REMOVED_FROM_OBJECT: 'INTERFACE_REMOVED_FROM_OBJECT';
15 FIELD_REMOVED: 'FIELD_REMOVED';
16 FIELD_CHANGED_KIND: 'FIELD_CHANGED_KIND';
17 REQUIRED_ARG_ADDED: 'REQUIRED_ARG_ADDED';
18 ARG_REMOVED: 'ARG_REMOVED';
19 ARG_CHANGED_KIND: 'ARG_CHANGED_KIND';
20 DIRECTIVE_REMOVED: 'DIRECTIVE_REMOVED';
21 DIRECTIVE_ARG_REMOVED: 'DIRECTIVE_ARG_REMOVED';
22 REQUIRED_DIRECTIVE_ARG_ADDED: 'REQUIRED_DIRECTIVE_ARG_ADDED';
23 DIRECTIVE_LOCATION_REMOVED: 'DIRECTIVE_LOCATION_REMOVED';
24};
25
26export const DangerousChangeType: _DangerousChangeType;
27
28// @internal
29type _DangerousChangeType = {
30 VALUE_ADDED_TO_ENUM: 'VALUE_ADDED_TO_ENUM';
31 TYPE_ADDED_TO_UNION: 'TYPE_ADDED_TO_UNION';
32 OPTIONAL_INPUT_FIELD_ADDED: 'OPTIONAL_INPUT_FIELD_ADDED';
33 OPTIONAL_ARG_ADDED: 'OPTIONAL_ARG_ADDED';
34 INTERFACE_ADDED_TO_OBJECT: 'INTERFACE_ADDED_TO_OBJECT';
35 ARG_DEFAULT_VALUE_CHANGE: 'ARG_DEFAULT_VALUE_CHANGE';
36};
37
38export interface BreakingChange {
39 type: keyof _BreakingChangeType;
40 description: string;
41}
42
43export interface DangerousChange {
44 type: keyof _DangerousChangeType;
45 description: string;
46}
47
48/**
49 * Given two schemas, returns an Array containing descriptions of all the types
50 * of breaking changes covered by the other functions down below.
51 */
52export function findBreakingChanges(
53 oldSchema: GraphQLSchema,
54 newSchema: GraphQLSchema,
55): Array<BreakingChange>;
56
57/**
58 * Given two schemas, returns an Array containing descriptions of all the types
59 * of potentially dangerous changes covered by the other functions down below.
60 */
61export function findDangerousChanges(
62 oldSchema: GraphQLSchema,
63 newSchema: GraphQLSchema,
64): Array<DangerousChange>;