@apollo/federation-internals 2.4.4 → 2.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/Subgraph.d.ts +1 -0
  3. package/dist/Subgraph.d.ts.map +1 -0
  4. package/dist/Subgraph.js +2 -0
  5. package/dist/Subgraph.js.map +1 -0
  6. package/dist/argumentCompositionStrategies.d.ts +34 -0
  7. package/dist/argumentCompositionStrategies.d.ts.map +1 -0
  8. package/dist/argumentCompositionStrategies.js +35 -0
  9. package/dist/argumentCompositionStrategies.js.map +1 -0
  10. package/dist/buildSchema.d.ts +10 -0
  11. package/dist/buildSchema.d.ts.map +1 -0
  12. package/dist/buildSchema.js +362 -0
  13. package/dist/buildSchema.js.map +1 -0
  14. package/dist/coreSpec.d.ts +127 -0
  15. package/dist/coreSpec.d.ts.map +1 -0
  16. package/dist/coreSpec.js +590 -0
  17. package/dist/coreSpec.js.map +1 -0
  18. package/dist/debug.d.ts +15 -0
  19. package/dist/debug.d.ts.map +1 -0
  20. package/dist/debug.js +122 -0
  21. package/dist/debug.js.map +1 -0
  22. package/dist/definitions.d.ts +663 -0
  23. package/dist/definitions.d.ts.map +1 -0
  24. package/dist/definitions.js +2841 -0
  25. package/dist/definitions.js.map +1 -0
  26. package/dist/directiveAndTypeSpecification.d.ts +67 -0
  27. package/dist/directiveAndTypeSpecification.d.ts.map +1 -0
  28. package/dist/directiveAndTypeSpecification.js +271 -0
  29. package/dist/directiveAndTypeSpecification.js.map +1 -0
  30. package/dist/error.d.ts +128 -0
  31. package/dist/error.d.ts.map +1 -0
  32. package/dist/error.js +315 -0
  33. package/dist/error.js.map +1 -0
  34. package/dist/extractSubgraphsFromSupergraph.d.ts +8 -0
  35. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -0
  36. package/dist/extractSubgraphsFromSupergraph.js +576 -0
  37. package/dist/extractSubgraphsFromSupergraph.js.map +1 -0
  38. package/dist/federation.d.ts +175 -0
  39. package/dist/federation.d.ts.map +1 -0
  40. package/dist/federation.js +1414 -0
  41. package/dist/federation.js.map +1 -0
  42. package/dist/federationSpec.d.ts +25 -0
  43. package/dist/federationSpec.d.ts.map +1 -0
  44. package/dist/federationSpec.js +125 -0
  45. package/dist/federationSpec.js.map +1 -0
  46. package/dist/genErrorCodeDoc.d.ts +2 -0
  47. package/dist/genErrorCodeDoc.d.ts.map +1 -0
  48. package/dist/genErrorCodeDoc.js +61 -0
  49. package/dist/genErrorCodeDoc.js.map +1 -0
  50. package/dist/graphQLJSSchemaToAST.d.ts +8 -0
  51. package/dist/graphQLJSSchemaToAST.d.ts.map +1 -0
  52. package/dist/graphQLJSSchemaToAST.js +96 -0
  53. package/dist/graphQLJSSchemaToAST.js.map +1 -0
  54. package/dist/inaccessibleSpec.d.ts +18 -0
  55. package/dist/inaccessibleSpec.d.ts.map +1 -0
  56. package/dist/inaccessibleSpec.js +655 -0
  57. package/dist/inaccessibleSpec.js.map +1 -0
  58. package/dist/index.d.ts +24 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +42 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/introspection.d.ts +6 -0
  63. package/dist/introspection.d.ts.map +1 -0
  64. package/dist/introspection.js +96 -0
  65. package/dist/introspection.js.map +1 -0
  66. package/dist/joinSpec.d.ts +51 -0
  67. package/dist/joinSpec.d.ts.map +1 -0
  68. package/dist/joinSpec.js +160 -0
  69. package/dist/joinSpec.js.map +1 -0
  70. package/dist/knownCoreFeatures.d.ts +5 -0
  71. package/dist/knownCoreFeatures.d.ts.map +1 -0
  72. package/dist/knownCoreFeatures.js +20 -0
  73. package/dist/knownCoreFeatures.js.map +1 -0
  74. package/dist/operations.d.ts +415 -0
  75. package/dist/operations.d.ts.map +1 -0
  76. package/dist/operations.js +2040 -0
  77. package/dist/operations.js.map +1 -0
  78. package/dist/precompute.d.ts +3 -0
  79. package/dist/precompute.d.ts.map +1 -0
  80. package/dist/precompute.js +54 -0
  81. package/dist/precompute.js.map +1 -0
  82. package/dist/print.d.ts +28 -0
  83. package/dist/print.d.ts.map +1 -0
  84. package/dist/print.js +299 -0
  85. package/dist/print.js.map +1 -0
  86. package/dist/schemaUpgrader.d.ts +121 -0
  87. package/dist/schemaUpgrader.d.ts.map +1 -0
  88. package/dist/schemaUpgrader.js +570 -0
  89. package/dist/schemaUpgrader.js.map +1 -0
  90. package/dist/suggestions.d.ts +3 -0
  91. package/dist/suggestions.d.ts.map +1 -0
  92. package/dist/suggestions.js +44 -0
  93. package/dist/suggestions.js.map +1 -0
  94. package/dist/supergraphs.d.ts +10 -0
  95. package/dist/supergraphs.d.ts.map +1 -0
  96. package/dist/supergraphs.js +76 -0
  97. package/dist/supergraphs.js.map +1 -0
  98. package/dist/tagSpec.d.ts +19 -0
  99. package/dist/tagSpec.d.ts.map +1 -0
  100. package/dist/tagSpec.js +66 -0
  101. package/dist/tagSpec.js.map +1 -0
  102. package/dist/types.d.ts +9 -0
  103. package/dist/types.d.ts.map +1 -0
  104. package/dist/types.js +64 -0
  105. package/dist/types.js.map +1 -0
  106. package/dist/utils.d.ts +64 -0
  107. package/dist/utils.d.ts.map +1 -0
  108. package/dist/utils.js +326 -0
  109. package/dist/utils.js.map +1 -0
  110. package/dist/validate.d.ts +4 -0
  111. package/dist/validate.d.ts.map +1 -0
  112. package/dist/validate.js +239 -0
  113. package/dist/validate.js.map +1 -0
  114. package/dist/validation/KnownTypeNamesInFederationRule.d.ts +4 -0
  115. package/dist/validation/KnownTypeNamesInFederationRule.d.ts.map +1 -0
  116. package/dist/validation/KnownTypeNamesInFederationRule.js +41 -0
  117. package/dist/validation/KnownTypeNamesInFederationRule.js.map +1 -0
  118. package/dist/values.d.ts +23 -0
  119. package/dist/values.d.ts.map +1 -0
  120. package/dist/values.js +580 -0
  121. package/dist/values.js.map +1 -0
  122. package/package.json +1 -1
  123. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,23 @@
1
+ import { ArgumentDefinition, EnumType, InputFieldDefinition, InputType, ScalarType, Schema, VariableCollector, VariableDefinitions } from './definitions';
2
+ import { ArgumentNode, ValueNode, ConstValueNode } from 'graphql';
3
+ export declare function valueToString(v: any, expectedType?: InputType): string;
4
+ export declare function valueEquals(a: any, b: any): boolean;
5
+ export declare function argumentsEquals(args1: {
6
+ [key: string]: any;
7
+ }, args2: {
8
+ [key: string]: any;
9
+ }): boolean;
10
+ export declare function withDefaultValues(value: any, argument: ArgumentDefinition<any>): any;
11
+ export declare function valueNodeToConstValueNode(value: ValueNode): ConstValueNode;
12
+ export declare function valueToAST(value: any, type: InputType): ValueNode | undefined;
13
+ export declare function isValidValue(value: any, argument: ArgumentDefinition<any> | InputFieldDefinition, variableDefinitions: VariableDefinitions): boolean;
14
+ export declare function valueFromAST(node: ValueNode, expectedType: InputType): any;
15
+ export declare function valueFromASTUntyped(node: ValueNode): any;
16
+ export declare function isValidLeafValue(schema: Schema, value: any, type: ScalarType | EnumType): boolean;
17
+ export declare function argumentsFromAST(context: string, args: readonly ArgumentNode[] | undefined, argsDefiner: {
18
+ argument(name: string): ArgumentDefinition<any> | undefined;
19
+ }): {
20
+ [key: string]: any;
21
+ } | undefined;
22
+ export declare function collectVariablesInValue(value: any, collector: VariableCollector): void;
23
+ //# sourceMappingURL=values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EAEpB,SAAS,EAaT,UAAU,EACV,MAAM,EAEN,iBAAiB,EAEjB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EAIZ,SAAS,EAET,cAAc,EAEf,MAAM,SAAS,CAAC;AA2BjB,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAiEtE;AAID,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAWnD;AAmCD,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,EAAE,KAAK,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,GAAG,OAAO,CAKjG;AAiED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,CAUpF;AAYD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,CAuB1E;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAmG7E;AAiGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAEpJ;AA4CD,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,GAAG,GAAG,CAyG1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAqBxD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CA2BjG;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,EACzC,WAAW,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;CAAE,GAC3E;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,GAAG,SAAS,CAwBlC;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,QAiB/E"}
package/dist/values.js ADDED
@@ -0,0 +1,580 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.collectVariablesInValue = exports.argumentsFromAST = exports.isValidLeafValue = exports.valueFromASTUntyped = exports.valueFromAST = exports.isValidValue = exports.valueToAST = exports.valueNodeToConstValueNode = exports.withDefaultValues = exports.argumentsEquals = exports.valueEquals = exports.valueToString = void 0;
4
+ const definitions_1 = require("./definitions");
5
+ const graphql_1 = require("graphql");
6
+ const suggestions_1 = require("./suggestions");
7
+ const util_1 = require("util");
8
+ const types_1 = require("./types");
9
+ const utils_1 = require("./utils");
10
+ const error_1 = require("./error");
11
+ const MAX_INT = 2147483647;
12
+ const MIN_INT = -2147483648;
13
+ function valueToString(v, expectedType) {
14
+ if (v === undefined || v === null) {
15
+ return "null";
16
+ }
17
+ if (expectedType && (0, definitions_1.isNonNullType)(expectedType)) {
18
+ return valueToString(v, expectedType.ofType);
19
+ }
20
+ if (expectedType && (0, definitions_1.isCustomScalarType)(expectedType)) {
21
+ expectedType = undefined;
22
+ }
23
+ if ((0, definitions_1.isVariable)(v)) {
24
+ return v.toString();
25
+ }
26
+ if (Array.isArray(v)) {
27
+ let elementsType = undefined;
28
+ if (expectedType && (0, definitions_1.isListType)(expectedType)) {
29
+ elementsType = expectedType.ofType;
30
+ }
31
+ return '[' + v.map(e => valueToString(e, elementsType)).join(', ') + ']';
32
+ }
33
+ if (expectedType && (0, definitions_1.isListType)(expectedType)) {
34
+ return valueToString(v, expectedType.ofType);
35
+ }
36
+ if (typeof v === 'object') {
37
+ if (expectedType && !(0, definitions_1.isInputObjectType)(expectedType)) {
38
+ expectedType = undefined;
39
+ }
40
+ return '{' + Object.keys(v).map(k => {
41
+ var _a;
42
+ const valueType = expectedType ? (_a = expectedType.field(k)) === null || _a === void 0 ? void 0 : _a.type : undefined;
43
+ return `${k}: ${valueToString(v[k], valueType)}`;
44
+ }).join(', ') + '}';
45
+ }
46
+ if (typeof v === 'string') {
47
+ if (expectedType) {
48
+ if ((0, definitions_1.isEnumType)(expectedType)) {
49
+ return expectedType.value(v) ? v : JSON.stringify(v);
50
+ }
51
+ if (expectedType === expectedType.schema().idType() && integerStringRegExp.test(v)) {
52
+ return v;
53
+ }
54
+ }
55
+ return JSON.stringify(v);
56
+ }
57
+ return String(v);
58
+ }
59
+ exports.valueToString = valueToString;
60
+ function valueEquals(a, b) {
61
+ if (a === b) {
62
+ return true;
63
+ }
64
+ if (Array.isArray(a)) {
65
+ return Array.isArray(b) && arrayValueEquals(a, b);
66
+ }
67
+ if (typeof a === 'object') {
68
+ return typeof b === 'object' && objectEquals(a, b);
69
+ }
70
+ return a === b;
71
+ }
72
+ exports.valueEquals = valueEquals;
73
+ function arrayValueEquals(a, b) {
74
+ if (a.length !== b.length) {
75
+ return false;
76
+ }
77
+ for (let i = 0; i < a.length; ++i) {
78
+ if (!valueEquals(a[i], b[i])) {
79
+ return false;
80
+ }
81
+ }
82
+ return true;
83
+ }
84
+ function objectEquals(a, b) {
85
+ const keys1 = Object.keys(a);
86
+ const keys2 = Object.keys(b);
87
+ if (keys1.length != keys2.length) {
88
+ return false;
89
+ }
90
+ for (const key of keys1) {
91
+ const v1 = a[key];
92
+ const v2 = b[key];
93
+ if (v2 === undefined && !keys2.includes(key)) {
94
+ return false;
95
+ }
96
+ if (!valueEquals(v1, v2)) {
97
+ return false;
98
+ }
99
+ }
100
+ return true;
101
+ }
102
+ function argumentsEquals(args1, args2) {
103
+ if (args1 === args2) {
104
+ return true;
105
+ }
106
+ return objectEquals(args1, args2);
107
+ }
108
+ exports.argumentsEquals = argumentsEquals;
109
+ function buildError(message) {
110
+ return new Error(message);
111
+ }
112
+ function applyDefaultValues(value, type) {
113
+ if ((0, definitions_1.isVariable)(value)) {
114
+ return value;
115
+ }
116
+ if (value === null) {
117
+ if ((0, definitions_1.isNonNullType)(type)) {
118
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Invalid null value for non-null type ${type} while computing default values`);
119
+ }
120
+ return null;
121
+ }
122
+ if ((0, definitions_1.isNonNullType)(type)) {
123
+ return applyDefaultValues(value, type.ofType);
124
+ }
125
+ if ((0, definitions_1.isListType)(type)) {
126
+ if (Array.isArray(value)) {
127
+ return value.map(v => applyDefaultValues(v, type.ofType));
128
+ }
129
+ else {
130
+ return applyDefaultValues(value, type.ofType);
131
+ }
132
+ }
133
+ if ((0, definitions_1.isInputObjectType)(type)) {
134
+ if (typeof value !== 'object') {
135
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Expected value for type ${type} to be an object, but is ${typeof value}.`);
136
+ }
137
+ const updated = Object.create(null);
138
+ for (const field of type.fields()) {
139
+ if (!field.type) {
140
+ throw buildError(`Cannot compute default value for field ${field.name} of ${type} as the field type is undefined`);
141
+ }
142
+ const fieldValue = value[field.name];
143
+ if (fieldValue === undefined) {
144
+ if (field.defaultValue !== undefined) {
145
+ updated[field.name] = applyDefaultValues(field.defaultValue, field.type);
146
+ }
147
+ else if ((0, definitions_1.isNonNullType)(field.type)) {
148
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Field "${field.name}" of required type ${type} was not provided.`);
149
+ }
150
+ }
151
+ else {
152
+ updated[field.name] = applyDefaultValues(fieldValue, field.type);
153
+ }
154
+ }
155
+ for (const fieldName of Object.keys(value)) {
156
+ if (!type.field(fieldName)) {
157
+ const suggestions = (0, suggestions_1.suggestionList)(fieldName, type.fields().map(f => f.name));
158
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Field "${fieldName}" is not defined by type "${type}".` + (0, suggestions_1.didYouMean)(suggestions));
159
+ }
160
+ }
161
+ return updated;
162
+ }
163
+ return value;
164
+ }
165
+ function withDefaultValues(value, argument) {
166
+ if (!argument.type) {
167
+ throw buildError(`Cannot compute default value for argument ${argument} as the type is undefined`);
168
+ }
169
+ if (value === undefined) {
170
+ if (argument.defaultValue) {
171
+ return applyDefaultValues(argument.defaultValue, argument.type);
172
+ }
173
+ }
174
+ return applyDefaultValues(value, argument.type);
175
+ }
176
+ exports.withDefaultValues = withDefaultValues;
177
+ const integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;
178
+ function objectFieldNodeToConst(field) {
179
+ return { ...field, value: valueNodeToConstValueNode(field.value) };
180
+ }
181
+ function valueNodeToConstValueNode(value) {
182
+ if (value.kind === graphql_1.Kind.NULL
183
+ || value.kind === graphql_1.Kind.INT
184
+ || value.kind === graphql_1.Kind.FLOAT
185
+ || value.kind === graphql_1.Kind.STRING
186
+ || value.kind === graphql_1.Kind.BOOLEAN
187
+ || value.kind === graphql_1.Kind.ENUM) {
188
+ return value;
189
+ }
190
+ if (value.kind === graphql_1.Kind.LIST) {
191
+ const constValues = value.values.map(v => valueNodeToConstValueNode(v));
192
+ return { ...value, values: constValues };
193
+ }
194
+ if (value.kind === graphql_1.Kind.OBJECT) {
195
+ const constFields = value.fields.map(f => objectFieldNodeToConst(f));
196
+ return { ...value, fields: constFields };
197
+ }
198
+ if (value.kind === graphql_1.Kind.VARIABLE) {
199
+ throw new Error('Unexpected VariableNode in const AST');
200
+ }
201
+ (0, utils_1.assertUnreachable)(value);
202
+ }
203
+ exports.valueNodeToConstValueNode = valueNodeToConstValueNode;
204
+ function valueToAST(value, type) {
205
+ if (value === undefined) {
206
+ return undefined;
207
+ }
208
+ if ((0, definitions_1.isNonNullType)(type)) {
209
+ const astValue = valueToAST(value, type.ofType);
210
+ if ((astValue === null || astValue === void 0 ? void 0 : astValue.kind) === graphql_1.Kind.NULL) {
211
+ throw buildError(`Invalid null value ${valueToString(value)} for non-null type ${type}`);
212
+ }
213
+ return astValue;
214
+ }
215
+ if (value === null) {
216
+ return { kind: graphql_1.Kind.NULL };
217
+ }
218
+ if ((0, definitions_1.isVariable)(value)) {
219
+ return { kind: graphql_1.Kind.VARIABLE, name: { kind: graphql_1.Kind.NAME, value: value.name } };
220
+ }
221
+ if ((0, definitions_1.isCustomScalarType)(type)) {
222
+ return valueToASTUntyped(value);
223
+ }
224
+ if ((0, definitions_1.isListType)(type)) {
225
+ const itemType = type.ofType;
226
+ const items = Array.from(value);
227
+ if (items != null) {
228
+ const valuesNodes = [];
229
+ for (const item of items) {
230
+ const itemNode = valueToAST(item, itemType);
231
+ if (itemNode != null) {
232
+ valuesNodes.push(itemNode);
233
+ }
234
+ }
235
+ return { kind: graphql_1.Kind.LIST, values: valuesNodes };
236
+ }
237
+ return valueToAST(value, itemType);
238
+ }
239
+ if ((0, definitions_1.isInputObjectType)(type)) {
240
+ if (typeof value !== 'object') {
241
+ throw buildError(`Invalid non-objet value for input type ${type}, cannot be converted to AST: ${(0, util_1.inspect)(value, true, 10, true)}`);
242
+ }
243
+ const fieldNodes = [];
244
+ for (const field of type.fields()) {
245
+ if (!field.type) {
246
+ throw buildError(`Cannot convert value ${valueToString(value)} as field ${field} has no type set`);
247
+ }
248
+ const fieldValue = valueToAST(value[field.name], field.type);
249
+ if (fieldValue) {
250
+ fieldNodes.push({
251
+ kind: graphql_1.Kind.OBJECT_FIELD,
252
+ name: { kind: graphql_1.Kind.NAME, value: field.name },
253
+ value: fieldValue,
254
+ });
255
+ }
256
+ }
257
+ return { kind: graphql_1.Kind.OBJECT, fields: fieldNodes };
258
+ }
259
+ if (typeof value === 'boolean') {
260
+ return { kind: graphql_1.Kind.BOOLEAN, value: value };
261
+ }
262
+ if (typeof value === 'number' && isFinite(value)) {
263
+ const stringNum = String(value);
264
+ return integerStringRegExp.test(stringNum)
265
+ ? { kind: graphql_1.Kind.INT, value: stringNum }
266
+ : { kind: graphql_1.Kind.FLOAT, value: stringNum };
267
+ }
268
+ if (typeof value === 'string') {
269
+ if ((0, definitions_1.isEnumType)(type)) {
270
+ return { kind: graphql_1.Kind.ENUM, value: value };
271
+ }
272
+ if (type === type.schema().idType() && integerStringRegExp.test(value)) {
273
+ return { kind: graphql_1.Kind.INT, value: value };
274
+ }
275
+ return {
276
+ kind: graphql_1.Kind.STRING,
277
+ value: value,
278
+ };
279
+ }
280
+ throw buildError(`Invalid value for type ${type}, cannot be converted to AST: ${(0, util_1.inspect)(value)}`);
281
+ }
282
+ exports.valueToAST = valueToAST;
283
+ function valueToASTUntyped(value) {
284
+ if (value === undefined) {
285
+ return undefined;
286
+ }
287
+ if (value === null) {
288
+ return { kind: graphql_1.Kind.NULL };
289
+ }
290
+ if ((0, definitions_1.isVariable)(value)) {
291
+ return { kind: graphql_1.Kind.VARIABLE, name: { kind: graphql_1.Kind.NAME, value: value.name } };
292
+ }
293
+ if (Array.isArray(value)) {
294
+ const valuesNodes = [];
295
+ for (const item of value) {
296
+ const itemNode = valueToASTUntyped(item);
297
+ if (itemNode !== undefined) {
298
+ valuesNodes.push(itemNode);
299
+ }
300
+ }
301
+ return { kind: graphql_1.Kind.LIST, values: valuesNodes };
302
+ }
303
+ if (typeof value === 'object') {
304
+ const fieldNodes = [];
305
+ for (const key of Object.keys(value)) {
306
+ const fieldValue = valueToASTUntyped(value[key]);
307
+ if (fieldValue) {
308
+ fieldNodes.push({
309
+ kind: graphql_1.Kind.OBJECT_FIELD,
310
+ name: { kind: graphql_1.Kind.NAME, value: key },
311
+ value: fieldValue,
312
+ });
313
+ }
314
+ }
315
+ return { kind: graphql_1.Kind.OBJECT, fields: fieldNodes };
316
+ }
317
+ if (typeof value === 'boolean') {
318
+ return { kind: graphql_1.Kind.BOOLEAN, value: value };
319
+ }
320
+ if (typeof value === 'number' && isFinite(value)) {
321
+ const stringNum = String(value);
322
+ return integerStringRegExp.test(stringNum)
323
+ ? { kind: graphql_1.Kind.INT, value: stringNum }
324
+ : { kind: graphql_1.Kind.FLOAT, value: stringNum };
325
+ }
326
+ if (typeof value === 'string') {
327
+ return { kind: graphql_1.Kind.STRING, value: value };
328
+ }
329
+ throw buildError(`Invalid value, cannot be converted to AST: ${(0, util_1.inspect)(value, true, 10, true)}`);
330
+ }
331
+ function isValidVariable(variable, locationType, locationDefault) {
332
+ const variableType = variable.type;
333
+ if ((0, definitions_1.isNonNullType)(locationType) && !(0, definitions_1.isNonNullType)(variableType)) {
334
+ const hasVariableDefault = variable.defaultValue !== undefined && variable.defaultValue !== null;
335
+ const hasLocationDefault = locationDefault !== undefined;
336
+ if (!hasVariableDefault && !hasLocationDefault) {
337
+ return false;
338
+ }
339
+ return areTypesCompatible(variableType, locationType.ofType);
340
+ }
341
+ return areTypesCompatible(variableType, locationType);
342
+ }
343
+ function areTypesCompatible(variableType, locationType) {
344
+ if ((0, definitions_1.isNonNullType)(locationType)) {
345
+ if (!(0, definitions_1.isNonNullType)(variableType)) {
346
+ return false;
347
+ }
348
+ return areTypesCompatible(variableType.ofType, locationType.ofType);
349
+ }
350
+ if ((0, definitions_1.isNonNullType)(variableType)) {
351
+ return areTypesCompatible(variableType.ofType, locationType);
352
+ }
353
+ if ((0, definitions_1.isListType)(locationType)) {
354
+ if (!(0, definitions_1.isListType)(variableType)) {
355
+ return false;
356
+ }
357
+ return areTypesCompatible(variableType.ofType, locationType.ofType);
358
+ }
359
+ return !(0, definitions_1.isListType)(variableType) && (0, types_1.sameType)(variableType, locationType);
360
+ }
361
+ function isValidValue(value, argument, variableDefinitions) {
362
+ return isValidValueApplication(value, argument.type, argument.defaultValue, variableDefinitions);
363
+ }
364
+ exports.isValidValue = isValidValue;
365
+ function isValidValueApplication(value, locationType, locationDefault, variableDefinitions) {
366
+ if ((0, definitions_1.isVariable)(value)) {
367
+ const definition = variableDefinitions.definition(value);
368
+ return !!definition && isValidVariable(definition, locationType, locationDefault);
369
+ }
370
+ if ((0, definitions_1.isNonNullType)(locationType)) {
371
+ return value !== null && isValidValueApplication(value, locationType.ofType, undefined, variableDefinitions);
372
+ }
373
+ if (value === null || value === undefined) {
374
+ return true;
375
+ }
376
+ if ((0, definitions_1.isListType)(locationType)) {
377
+ const itemType = locationType.ofType;
378
+ if (Array.isArray(value)) {
379
+ return value.every(item => isValidValueApplication(item, itemType, undefined, variableDefinitions));
380
+ }
381
+ return isValidValueApplication(value, itemType, locationDefault, variableDefinitions);
382
+ }
383
+ if ((0, definitions_1.isInputObjectType)(locationType)) {
384
+ if (typeof value !== 'object') {
385
+ return false;
386
+ }
387
+ const valueKeys = new Set(Object.keys(value));
388
+ const fieldsAreValid = locationType.fields().every(field => {
389
+ valueKeys.delete(field.name);
390
+ return isValidValueApplication(value[field.name], field.type, field.defaultValue, variableDefinitions);
391
+ });
392
+ const hasUnexpectedField = valueKeys.size !== 0;
393
+ return fieldsAreValid && !hasUnexpectedField;
394
+ }
395
+ return isValidLeafValue(locationType.schema(), value, locationType);
396
+ }
397
+ function valueFromAST(node, expectedType) {
398
+ if (node.kind === graphql_1.Kind.NULL) {
399
+ if ((0, definitions_1.isNonNullType)(expectedType)) {
400
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Invalid null value for non-null type "${expectedType}"`);
401
+ }
402
+ return null;
403
+ }
404
+ if (node.kind === graphql_1.Kind.VARIABLE) {
405
+ return new definitions_1.Variable(node.name.value);
406
+ }
407
+ if ((0, definitions_1.isNonNullType)(expectedType)) {
408
+ expectedType = expectedType.ofType;
409
+ }
410
+ if ((0, definitions_1.isListType)(expectedType)) {
411
+ const baseType = expectedType.ofType;
412
+ if (node.kind === graphql_1.Kind.LIST) {
413
+ return node.values.map(v => valueFromAST(v, baseType));
414
+ }
415
+ return [valueFromAST(node, baseType)];
416
+ }
417
+ if ((0, definitions_1.isIntType)(expectedType)) {
418
+ if (node.kind !== graphql_1.Kind.INT) {
419
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Int cannot represent non-integer value ${(0, graphql_1.print)(node)}.`);
420
+ }
421
+ const i = parseInt(node.value, 10);
422
+ if (i > MAX_INT || i < MIN_INT) {
423
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Int cannot represent non 32-bit signed integer value ${i}.`);
424
+ }
425
+ return i;
426
+ }
427
+ if ((0, definitions_1.isFloatType)(expectedType)) {
428
+ let parsed;
429
+ if (node.kind === graphql_1.Kind.INT) {
430
+ parsed = parseInt(node.value, 10);
431
+ }
432
+ else if (node.kind === graphql_1.Kind.FLOAT) {
433
+ parsed = parseFloat(node.value);
434
+ }
435
+ else {
436
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Float can only represent integer or float value, but got a ${node.kind}.`);
437
+ }
438
+ if (!isFinite(parsed)) {
439
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Float cannot represent non numeric value ${parsed}.`);
440
+ }
441
+ return parsed;
442
+ }
443
+ if ((0, definitions_1.isBooleanType)(expectedType)) {
444
+ if (node.kind !== graphql_1.Kind.BOOLEAN) {
445
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Boolean cannot represent a non boolean value ${(0, graphql_1.print)(node)}.`);
446
+ }
447
+ return node.value;
448
+ }
449
+ if ((0, definitions_1.isStringType)(expectedType)) {
450
+ if (node.kind !== graphql_1.Kind.STRING) {
451
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`String cannot represent non string value ${(0, graphql_1.print)(node)}.`);
452
+ }
453
+ return node.value;
454
+ }
455
+ if ((0, definitions_1.isIDType)(expectedType)) {
456
+ if (node.kind !== graphql_1.Kind.STRING && node.kind !== graphql_1.Kind.INT) {
457
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`ID cannot represent value ${(0, graphql_1.print)(node)}.`);
458
+ }
459
+ return node.value;
460
+ }
461
+ if ((0, definitions_1.isScalarType)(expectedType)) {
462
+ return valueFromASTUntyped(node);
463
+ }
464
+ if ((0, definitions_1.isInputObjectType)(expectedType)) {
465
+ if (node.kind !== graphql_1.Kind.OBJECT) {
466
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Input Object Type ${expectedType} cannot represent non-object value ${(0, graphql_1.print)(node)}.`);
467
+ }
468
+ const obj = Object.create(null);
469
+ for (const f of node.fields) {
470
+ const name = f.name.value;
471
+ const field = expectedType.field(name);
472
+ if (!field) {
473
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Unknown field "${name}" found in value for Input Object Type "${expectedType}".`);
474
+ }
475
+ obj[name] = valueFromAST(f.value, field.type);
476
+ }
477
+ return obj;
478
+ }
479
+ if ((0, definitions_1.isEnumType)(expectedType)) {
480
+ if (node.kind !== graphql_1.Kind.STRING && node.kind !== graphql_1.Kind.ENUM) {
481
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Enum Type ${expectedType} cannot represent value ${(0, graphql_1.print)(node)}.`);
482
+ }
483
+ if (!expectedType.value(node.value)) {
484
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Enum Type ${expectedType} has no value ${node.value}.`);
485
+ }
486
+ return node.value;
487
+ }
488
+ (0, utils_1.assert)(false, () => `Unexpected input type ${expectedType} of kind ${expectedType.kind}.`);
489
+ }
490
+ exports.valueFromAST = valueFromAST;
491
+ function valueFromASTUntyped(node) {
492
+ switch (node.kind) {
493
+ case graphql_1.Kind.NULL:
494
+ return null;
495
+ case graphql_1.Kind.INT:
496
+ return parseInt(node.value, 10);
497
+ case graphql_1.Kind.FLOAT:
498
+ return parseFloat(node.value);
499
+ case graphql_1.Kind.STRING:
500
+ case graphql_1.Kind.ENUM:
501
+ case graphql_1.Kind.BOOLEAN:
502
+ return node.value;
503
+ case graphql_1.Kind.LIST:
504
+ return node.values.map(valueFromASTUntyped);
505
+ case graphql_1.Kind.OBJECT:
506
+ const obj = Object.create(null);
507
+ node.fields.forEach(f => obj[f.name.value] = valueFromASTUntyped(f.value));
508
+ return obj;
509
+ case graphql_1.Kind.VARIABLE:
510
+ return new definitions_1.Variable(node.name.value);
511
+ }
512
+ }
513
+ exports.valueFromASTUntyped = valueFromASTUntyped;
514
+ function isValidLeafValue(schema, value, type) {
515
+ if ((0, definitions_1.isCustomScalarType)(type)) {
516
+ return true;
517
+ }
518
+ if (typeof value === 'boolean') {
519
+ return type === schema.booleanType();
520
+ }
521
+ if (typeof value === 'number' && isFinite(value)) {
522
+ const stringNum = String(value);
523
+ if (type === schema.intType() || type === schema.idType()) {
524
+ return integerStringRegExp.test(stringNum);
525
+ }
526
+ return type === schema.floatType();
527
+ }
528
+ if (typeof value === 'string') {
529
+ if ((0, definitions_1.isEnumType)(type)) {
530
+ return type.value(value) !== undefined;
531
+ }
532
+ return type !== schema.booleanType()
533
+ && type !== schema.intType()
534
+ && type !== schema.floatType();
535
+ }
536
+ return false;
537
+ }
538
+ exports.isValidLeafValue = isValidLeafValue;
539
+ function argumentsFromAST(context, args, argsDefiner) {
540
+ var _a;
541
+ if (!args || args.length === 0) {
542
+ return undefined;
543
+ }
544
+ const values = Object.create(null);
545
+ for (const argNode of args) {
546
+ const name = argNode.name.value;
547
+ const expectedType = (_a = argsDefiner.argument(name)) === null || _a === void 0 ? void 0 : _a.type;
548
+ if (!expectedType) {
549
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Unknown argument "${name}" found in value: "${context}" has no argument named "${name}"`);
550
+ }
551
+ try {
552
+ values[name] = valueFromAST(argNode.value, expectedType);
553
+ }
554
+ catch (e) {
555
+ if (e instanceof graphql_1.GraphQLError) {
556
+ throw error_1.ERRORS.INVALID_GRAPHQL.err(`Invalid value for argument "${name}": ${e.message}`);
557
+ }
558
+ throw e;
559
+ }
560
+ }
561
+ return values;
562
+ }
563
+ exports.argumentsFromAST = argumentsFromAST;
564
+ function collectVariablesInValue(value, collector) {
565
+ if ((0, definitions_1.isVariable)(value)) {
566
+ collector.add(value);
567
+ return;
568
+ }
569
+ if (!value) {
570
+ return;
571
+ }
572
+ if (Array.isArray(value)) {
573
+ value.forEach(v => collectVariablesInValue(v, collector));
574
+ }
575
+ if (typeof value === 'object') {
576
+ Object.keys(value).forEach(k => collectVariablesInValue(value[k], collector));
577
+ }
578
+ }
579
+ exports.collectVariablesInValue = collectVariablesInValue;
580
+ //# sourceMappingURL=values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/federation-internals",
3
- "version": "2.4.4",
3
+ "version": "2.4.5",
4
4
  "description": "Apollo Federation internal utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",