UNPKG

5.14 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.renameType = void 0;
4const graphql_1 = require("graphql");
5function renameType(type, newTypeName) {
6 if ((0, graphql_1.isObjectType)(type)) {
7 return new graphql_1.GraphQLObjectType({
8 ...type.toConfig(),
9 name: newTypeName,
10 astNode: type.astNode == null
11 ? type.astNode
12 : {
13 ...type.astNode,
14 name: {
15 ...type.astNode.name,
16 value: newTypeName,
17 },
18 },
19 extensionASTNodes: type.extensionASTNodes == null
20 ? type.extensionASTNodes
21 : type.extensionASTNodes.map(node => ({
22 ...node,
23 name: {
24 ...node.name,
25 value: newTypeName,
26 },
27 })),
28 });
29 }
30 else if ((0, graphql_1.isInterfaceType)(type)) {
31 return new graphql_1.GraphQLInterfaceType({
32 ...type.toConfig(),
33 name: newTypeName,
34 astNode: type.astNode == null
35 ? type.astNode
36 : {
37 ...type.astNode,
38 name: {
39 ...type.astNode.name,
40 value: newTypeName,
41 },
42 },
43 extensionASTNodes: type.extensionASTNodes == null
44 ? type.extensionASTNodes
45 : type.extensionASTNodes.map(node => ({
46 ...node,
47 name: {
48 ...node.name,
49 value: newTypeName,
50 },
51 })),
52 });
53 }
54 else if ((0, graphql_1.isUnionType)(type)) {
55 return new graphql_1.GraphQLUnionType({
56 ...type.toConfig(),
57 name: newTypeName,
58 astNode: type.astNode == null
59 ? type.astNode
60 : {
61 ...type.astNode,
62 name: {
63 ...type.astNode.name,
64 value: newTypeName,
65 },
66 },
67 extensionASTNodes: type.extensionASTNodes == null
68 ? type.extensionASTNodes
69 : type.extensionASTNodes.map(node => ({
70 ...node,
71 name: {
72 ...node.name,
73 value: newTypeName,
74 },
75 })),
76 });
77 }
78 else if ((0, graphql_1.isInputObjectType)(type)) {
79 return new graphql_1.GraphQLInputObjectType({
80 ...type.toConfig(),
81 name: newTypeName,
82 astNode: type.astNode == null
83 ? type.astNode
84 : {
85 ...type.astNode,
86 name: {
87 ...type.astNode.name,
88 value: newTypeName,
89 },
90 },
91 extensionASTNodes: type.extensionASTNodes == null
92 ? type.extensionASTNodes
93 : type.extensionASTNodes.map(node => ({
94 ...node,
95 name: {
96 ...node.name,
97 value: newTypeName,
98 },
99 })),
100 });
101 }
102 else if ((0, graphql_1.isEnumType)(type)) {
103 return new graphql_1.GraphQLEnumType({
104 ...type.toConfig(),
105 name: newTypeName,
106 astNode: type.astNode == null
107 ? type.astNode
108 : {
109 ...type.astNode,
110 name: {
111 ...type.astNode.name,
112 value: newTypeName,
113 },
114 },
115 extensionASTNodes: type.extensionASTNodes == null
116 ? type.extensionASTNodes
117 : type.extensionASTNodes.map(node => ({
118 ...node,
119 name: {
120 ...node.name,
121 value: newTypeName,
122 },
123 })),
124 });
125 }
126 else if ((0, graphql_1.isScalarType)(type)) {
127 return new graphql_1.GraphQLScalarType({
128 ...type.toConfig(),
129 name: newTypeName,
130 astNode: type.astNode == null
131 ? type.astNode
132 : {
133 ...type.astNode,
134 name: {
135 ...type.astNode.name,
136 value: newTypeName,
137 },
138 },
139 extensionASTNodes: type.extensionASTNodes == null
140 ? type.extensionASTNodes
141 : type.extensionASTNodes.map(node => ({
142 ...node,
143 name: {
144 ...node.name,
145 value: newTypeName,
146 },
147 })),
148 });
149 }
150 throw new Error(`Unknown type ${type}.`);
151}
152exports.renameType = renameType;