@wundergraph/composition 0.36.1 → 0.37.1

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 (128) hide show
  1. package/README.md +41 -48
  2. package/dist/ast/utils.d.ts +0 -2
  3. package/dist/ast/utils.js +2 -33
  4. package/dist/ast/utils.js.map +1 -1
  5. package/dist/errors/errors.d.ts +10 -13
  6. package/dist/errors/errors.js +81 -74
  7. package/dist/errors/errors.js.map +1 -1
  8. package/dist/federation/federation.d.ts +6 -0
  9. package/dist/federation/federation.js +30 -0
  10. package/dist/federation/federation.js.map +1 -0
  11. package/dist/federation/types.d.ts +44 -0
  12. package/dist/federation/types.js +3 -0
  13. package/dist/federation/types.js.map +1 -0
  14. package/dist/index.d.ts +24 -14
  15. package/dist/index.js +25 -14
  16. package/dist/index.js.map +1 -1
  17. package/dist/normalization/normalization.d.ts +8 -0
  18. package/dist/normalization/normalization.js +29 -0
  19. package/dist/normalization/normalization.js.map +1 -0
  20. package/dist/normalization/types.d.ts +48 -0
  21. package/dist/normalization/types.js +3 -0
  22. package/dist/normalization/types.js.map +1 -0
  23. package/dist/resolvability-graph/graph-nodes.d.ts +1 -1
  24. package/dist/resolvability-graph/graph-nodes.js.map +1 -1
  25. package/dist/resolvability-graph/graph.d.ts +1 -2
  26. package/dist/resolvability-graph/graph.js +21 -21
  27. package/dist/resolvability-graph/graph.js.map +1 -1
  28. package/dist/resolvability-graph/utils.d.ts +1 -1
  29. package/dist/resolvability-graph/utils.js +2 -2
  30. package/dist/resolvability-graph/utils.js.map +1 -1
  31. package/dist/router-compatibility-version/router-compatibility-version.d.ts +4 -0
  32. package/dist/router-compatibility-version/router-compatibility-version.js +7 -0
  33. package/dist/router-compatibility-version/router-compatibility-version.js.map +1 -0
  34. package/dist/router-configuration/{router-configuration.d.ts → types.d.ts} +3 -4
  35. package/dist/router-configuration/types.js +3 -0
  36. package/dist/router-configuration/types.js.map +1 -0
  37. package/dist/router-configuration/utils.d.ts +3 -0
  38. package/dist/router-configuration/{router-configuration.js → utils.js} +9 -1
  39. package/dist/router-configuration/utils.js.map +1 -0
  40. package/dist/schema-building/ast.js.map +1 -1
  41. package/dist/schema-building/{type-definition-data.d.ts → types.d.ts} +52 -5
  42. package/dist/schema-building/{type-definition-data.js → types.js} +1 -1
  43. package/dist/schema-building/types.js.map +1 -0
  44. package/dist/schema-building/utils.d.ts +3 -11
  45. package/dist/schema-building/utils.js +16 -14
  46. package/dist/schema-building/utils.js.map +1 -1
  47. package/dist/subgraph/{subgraph.d.ts → types.d.ts} +6 -9
  48. package/dist/subgraph/types.js +3 -0
  49. package/dist/subgraph/types.js.map +1 -0
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/dist/utils/composition-version.js +1 -1
  52. package/dist/utils/integer-constants.d.ts +0 -1
  53. package/dist/utils/integer-constants.js +1 -2
  54. package/dist/utils/integer-constants.js.map +1 -1
  55. package/dist/utils/string-constants.d.ts +5 -9
  56. package/dist/utils/string-constants.js +7 -33
  57. package/dist/utils/string-constants.js.map +1 -1
  58. package/dist/utils/types.d.ts +39 -0
  59. package/dist/utils/types.js +3 -0
  60. package/dist/utils/types.js.map +1 -0
  61. package/dist/utils/utils.d.ts +2 -114
  62. package/dist/utils/utils.js +33 -396
  63. package/dist/utils/utils.js.map +1 -1
  64. package/dist/{federation → v1/federation}/federation-factory.d.ts +18 -17
  65. package/dist/{federation → v1/federation}/federation-factory.js +244 -230
  66. package/dist/v1/federation/federation-factory.js.map +1 -0
  67. package/dist/v1/federation/utils.d.ts +59 -0
  68. package/dist/{federation → v1/federation}/utils.js +25 -23
  69. package/dist/v1/federation/utils.js.map +1 -0
  70. package/dist/{federation → v1/federation}/walkers.d.ts +1 -1
  71. package/dist/{federation → v1/federation}/walkers.js +10 -10
  72. package/dist/v1/federation/walkers.js.map +1 -0
  73. package/dist/{normalization → v1/normalization}/directive-definition-data.d.ts +1 -1
  74. package/dist/{normalization → v1/normalization}/directive-definition-data.js +2 -2
  75. package/dist/v1/normalization/directive-definition-data.js.map +1 -0
  76. package/dist/{normalization → v1/normalization}/normalization-factory.d.ts +45 -73
  77. package/dist/{normalization → v1/normalization}/normalization-factory.js +763 -266
  78. package/dist/v1/normalization/normalization-factory.js.map +1 -0
  79. package/dist/v1/normalization/types.d.ts +49 -0
  80. package/dist/v1/normalization/types.js +3 -0
  81. package/dist/v1/normalization/types.js.map +1 -0
  82. package/dist/v1/normalization/utils.d.ts +14 -0
  83. package/dist/v1/normalization/utils.js +288 -0
  84. package/dist/v1/normalization/utils.js.map +1 -0
  85. package/dist/{normalization → v1/normalization}/walkers.js +69 -54
  86. package/dist/v1/normalization/walkers.js.map +1 -0
  87. package/dist/{schema-building → v1/schema-building}/type-merging.d.ts +1 -1
  88. package/dist/{schema-building → v1/schema-building}/type-merging.js +4 -4
  89. package/dist/v1/schema-building/type-merging.js.map +1 -0
  90. package/dist/v1/subgraph/subgraph.d.ts +1 -0
  91. package/dist/v1/subgraph/subgraph.js.map +1 -0
  92. package/dist/{utils → v1/utils}/constants.d.ts +1 -2
  93. package/dist/{utils → v1/utils}/constants.js +7 -8
  94. package/dist/v1/utils/constants.js.map +1 -0
  95. package/dist/v1/utils/integer-constants.d.ts +1 -0
  96. package/dist/v1/utils/integer-constants.js +5 -0
  97. package/dist/v1/utils/integer-constants.js.map +1 -0
  98. package/dist/v1/utils/string-constants.d.ts +5 -0
  99. package/dist/v1/utils/string-constants.js +32 -0
  100. package/dist/v1/utils/string-constants.js.map +1 -0
  101. package/dist/v1/utils/utils.d.ts +38 -0
  102. package/dist/v1/utils/utils.js +336 -0
  103. package/dist/v1/utils/utils.js.map +1 -0
  104. package/dist/{warnings → v1/warnings}/warnings.d.ts +4 -13
  105. package/dist/{warnings → v1/warnings}/warnings.js +48 -27
  106. package/dist/v1/warnings/warnings.js.map +1 -0
  107. package/dist/warnings/types.d.ts +11 -0
  108. package/dist/warnings/types.js +13 -0
  109. package/dist/warnings/types.js.map +1 -0
  110. package/package.json +2 -2
  111. package/dist/federation/federation-factory.js.map +0 -1
  112. package/dist/federation/utils.d.ts +0 -84
  113. package/dist/federation/utils.js.map +0 -1
  114. package/dist/federation/walkers.js.map +0 -1
  115. package/dist/normalization/directive-definition-data.js.map +0 -1
  116. package/dist/normalization/normalization-factory.js.map +0 -1
  117. package/dist/normalization/utils.d.ts +0 -49
  118. package/dist/normalization/utils.js +0 -612
  119. package/dist/normalization/utils.js.map +0 -1
  120. package/dist/normalization/walkers.js.map +0 -1
  121. package/dist/router-configuration/router-configuration.js.map +0 -1
  122. package/dist/schema-building/type-definition-data.js.map +0 -1
  123. package/dist/schema-building/type-merging.js.map +0 -1
  124. package/dist/subgraph/subgraph.js.map +0 -1
  125. package/dist/utils/constants.js.map +0 -1
  126. package/dist/warnings/warnings.js.map +0 -1
  127. /package/dist/{normalization → v1/normalization}/walkers.d.ts +0 -0
  128. /package/dist/{subgraph → v1/subgraph}/subgraph.js +0 -0
@@ -1,44 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maxOrScopes = void 0;
4
3
  exports.areSetsEqual = areSetsEqual;
5
- exports.getAllMutualEntries = getAllMutualEntries;
6
4
  exports.getOrThrowError = getOrThrowError;
7
5
  exports.getAllSetDisparities = getAllSetDisparities;
8
6
  exports.getEntriesNotInHashSet = getEntriesNotInHashSet;
9
- exports.doSetsIntersect = doSetsIntersect;
10
- exports.subtractSourceSetFromTargetSet = subtractSourceSetFromTargetSet;
11
- exports.mapToArrayOfValues = mapToArrayOfValues;
12
7
  exports.numberToOrdinal = numberToOrdinal;
13
8
  exports.addIterableValuesToSet = addIterableValuesToSet;
14
- exports.addSetsAndReturnMutationBoolean = addSetsAndReturnMutationBoolean;
15
9
  exports.kindToTypeString = kindToTypeString;
16
- exports.kindToConvertedTypeString = kindToConvertedTypeString;
17
- exports.fieldDatasToSimpleFieldDatas = fieldDatasToSimpleFieldDatas;
18
- exports.isNodeLeaf = isNodeLeaf;
19
- exports.newEntityInterfaceFederationData = newEntityInterfaceFederationData;
20
- exports.upsertEntityInterfaceFederationData = upsertEntityInterfaceFederationData;
21
10
  exports.getValueOrDefault = getValueOrDefault;
22
- exports.newEntityData = newEntityData;
23
- exports.upsertEntityDataProperties = upsertEntityDataProperties;
24
- exports.upsertEntityData = upsertEntityData;
25
- exports.newFieldAuthorizationData = newFieldAuthorizationData;
26
- exports.resetAuthorizationData = resetAuthorizationData;
27
- exports.getAuthorizationDataToUpdate = getAuthorizationDataToUpdate;
28
- exports.newAuthorizationData = newAuthorizationData;
29
- exports.mergeAuthorizationDataByAND = mergeAuthorizationDataByAND;
30
- exports.upsertFieldAuthorizationData = upsertFieldAuthorizationData;
31
- exports.upsertAuthorizationData = upsertAuthorizationData;
32
- exports.upsertAuthorizationConfiguration = upsertAuthorizationConfiguration;
33
- exports.setAndGetValue = setAndGetValue;
11
+ exports.add = add;
34
12
  exports.generateSimpleDirective = generateSimpleDirective;
35
13
  exports.generateRequiresScopesDirective = generateRequiresScopesDirective;
36
- exports.isNodeKindInterface = isNodeKindInterface;
37
- exports.isNodeKindObject = isNodeKindObject;
38
- exports.addMapEntries = addMapEntries;
39
- exports.getSingleSetEntry = getSingleSetEntry;
40
- exports.add = add;
41
- const graphql_1 = require("graphql");
14
+ const index_1 = require("graphql/index");
42
15
  const string_constants_1 = require("./string-constants");
43
16
  const errors_1 = require("../errors/errors");
44
17
  const utils_1 = require("../ast/utils");
@@ -53,15 +26,6 @@ function areSetsEqual(set, other) {
53
26
  }
54
27
  return true;
55
28
  }
56
- function getAllMutualEntries(set, other) {
57
- const mutualEntries = new Set();
58
- for (const entry of set) {
59
- if (other.has(entry)) {
60
- mutualEntries.add(entry);
61
- }
62
- }
63
- return mutualEntries;
64
- }
65
29
  function getOrThrowError(map, key, mapName) {
66
30
  const value = map.get(key);
67
31
  if (value === undefined) {
@@ -91,26 +55,6 @@ function getEntriesNotInHashSet(iterable, comparison) {
91
55
  }
92
56
  return disparities;
93
57
  }
94
- function doSetsIntersect(set, other) {
95
- for (const entry of set) {
96
- if (other.has(entry)) {
97
- return true;
98
- }
99
- }
100
- return false;
101
- }
102
- function subtractSourceSetFromTargetSet(source, target) {
103
- for (const entry of source) {
104
- target.delete(entry);
105
- }
106
- }
107
- function mapToArrayOfValues(map) {
108
- const output = [];
109
- for (const value of map.values()) {
110
- output.push(value);
111
- }
112
- return output;
113
- }
114
58
  function numberToOrdinal(num) {
115
59
  const numString = num.toString();
116
60
  const lastNumber = numString[numString.length - 1];
@@ -130,223 +74,76 @@ function addIterableValuesToSet(source, target) {
130
74
  target.add(value);
131
75
  }
132
76
  }
133
- function addSetsAndReturnMutationBoolean(source, target) {
134
- let wasMutated = false;
135
- for (const entry of source) {
136
- if (target.has(entry)) {
137
- continue;
138
- }
139
- wasMutated = true;
140
- target.add(entry);
141
- }
142
- return wasMutated;
143
- }
144
77
  function kindToTypeString(kind) {
145
78
  switch (kind) {
146
- case graphql_1.Kind.BOOLEAN: {
79
+ case index_1.Kind.BOOLEAN: {
147
80
  return string_constants_1.BOOLEAN_SCALAR;
148
81
  }
149
- case graphql_1.Kind.ENUM:
82
+ case index_1.Kind.ENUM:
150
83
  // intentional fallthrough
151
- case graphql_1.Kind.ENUM_TYPE_DEFINITION: {
84
+ case index_1.Kind.ENUM_TYPE_DEFINITION: {
152
85
  return string_constants_1.ENUM;
153
86
  }
154
- case graphql_1.Kind.ENUM_TYPE_EXTENSION: {
87
+ case index_1.Kind.ENUM_TYPE_EXTENSION: {
155
88
  return 'Enum extension';
156
89
  }
157
- case graphql_1.Kind.ENUM_VALUE_DEFINITION: {
90
+ case index_1.Kind.ENUM_VALUE_DEFINITION: {
158
91
  return string_constants_1.ENUM_VALUE;
159
92
  }
160
- case graphql_1.Kind.FIELD_DEFINITION: {
93
+ case index_1.Kind.FIELD_DEFINITION: {
161
94
  return string_constants_1.FIELD;
162
95
  }
163
- case graphql_1.Kind.FLOAT: {
96
+ case index_1.Kind.FLOAT: {
164
97
  return string_constants_1.FLOAT_SCALAR;
165
98
  }
166
- case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION: {
99
+ case index_1.Kind.INPUT_OBJECT_TYPE_DEFINITION: {
167
100
  return string_constants_1.INPUT_OBJECT;
168
101
  }
169
- case graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION: {
102
+ case index_1.Kind.INPUT_OBJECT_TYPE_EXTENSION: {
170
103
  return 'Input Object extension';
171
104
  }
172
- case graphql_1.Kind.INPUT_VALUE_DEFINITION: {
105
+ case index_1.Kind.INPUT_VALUE_DEFINITION: {
173
106
  return string_constants_1.INPUT_VALUE;
174
107
  }
175
- case graphql_1.Kind.INT: {
108
+ case index_1.Kind.INT: {
176
109
  return string_constants_1.INT_SCALAR;
177
110
  }
178
- case graphql_1.Kind.INTERFACE_TYPE_DEFINITION: {
111
+ case index_1.Kind.INTERFACE_TYPE_DEFINITION: {
179
112
  return string_constants_1.INTERFACE;
180
113
  }
181
- case graphql_1.Kind.INTERFACE_TYPE_EXTENSION: {
114
+ case index_1.Kind.INTERFACE_TYPE_EXTENSION: {
182
115
  return 'Interface extension';
183
116
  }
184
- case graphql_1.Kind.NULL: {
117
+ case index_1.Kind.NULL: {
185
118
  return string_constants_1.NULL;
186
119
  }
187
- case graphql_1.Kind.OBJECT:
120
+ case index_1.Kind.OBJECT:
188
121
  // intentional fallthrough
189
- case graphql_1.Kind.OBJECT_TYPE_DEFINITION: {
122
+ case index_1.Kind.OBJECT_TYPE_DEFINITION: {
190
123
  return string_constants_1.OBJECT;
191
124
  }
192
- case graphql_1.Kind.OBJECT_TYPE_EXTENSION: {
125
+ case index_1.Kind.OBJECT_TYPE_EXTENSION: {
193
126
  return 'Object extension';
194
127
  }
195
- case graphql_1.Kind.STRING: {
128
+ case index_1.Kind.STRING: {
196
129
  return string_constants_1.STRING_SCALAR;
197
130
  }
198
- case graphql_1.Kind.SCALAR_TYPE_DEFINITION: {
131
+ case index_1.Kind.SCALAR_TYPE_DEFINITION: {
199
132
  return string_constants_1.SCALAR;
200
133
  }
201
- case graphql_1.Kind.SCALAR_TYPE_EXTENSION: {
134
+ case index_1.Kind.SCALAR_TYPE_EXTENSION: {
202
135
  return 'Scalar extension';
203
136
  }
204
- case graphql_1.Kind.UNION_TYPE_DEFINITION: {
137
+ case index_1.Kind.UNION_TYPE_DEFINITION: {
205
138
  return string_constants_1.UNION;
206
139
  }
207
- case graphql_1.Kind.UNION_TYPE_EXTENSION: {
140
+ case index_1.Kind.UNION_TYPE_EXTENSION: {
208
141
  return 'Union extension';
209
142
  }
210
143
  default:
211
144
  return kind;
212
145
  }
213
146
  }
214
- function kindToConvertedTypeString(kind) {
215
- switch (kind) {
216
- case graphql_1.Kind.BOOLEAN: {
217
- return string_constants_1.BOOLEAN_SCALAR;
218
- }
219
- case graphql_1.Kind.ENUM:
220
- // intentional fallthrough
221
- case graphql_1.Kind.ENUM_TYPE_DEFINITION:
222
- // intentional fallthrough
223
- case graphql_1.Kind.ENUM_TYPE_EXTENSION: {
224
- return string_constants_1.ENUM;
225
- }
226
- case graphql_1.Kind.ENUM_VALUE_DEFINITION: {
227
- return string_constants_1.ENUM_VALUE;
228
- }
229
- case graphql_1.Kind.FIELD_DEFINITION: {
230
- return string_constants_1.FIELD;
231
- }
232
- case graphql_1.Kind.FLOAT: {
233
- return string_constants_1.FLOAT_SCALAR;
234
- }
235
- case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
236
- // intentional fallthrough
237
- case graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION: {
238
- return string_constants_1.INPUT_OBJECT;
239
- }
240
- case graphql_1.Kind.INPUT_VALUE_DEFINITION: {
241
- return string_constants_1.INPUT_VALUE;
242
- }
243
- case graphql_1.Kind.INT: {
244
- return string_constants_1.INT_SCALAR;
245
- }
246
- case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
247
- // intentional fallthrough
248
- case graphql_1.Kind.INTERFACE_TYPE_EXTENSION: {
249
- return string_constants_1.INTERFACE;
250
- }
251
- case graphql_1.Kind.NULL: {
252
- return string_constants_1.NULL;
253
- }
254
- case graphql_1.Kind.OBJECT:
255
- // intentional fallthrough
256
- case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
257
- // intentional fallthrough
258
- case graphql_1.Kind.OBJECT_TYPE_EXTENSION: {
259
- return string_constants_1.OBJECT;
260
- }
261
- case graphql_1.Kind.STRING: {
262
- return string_constants_1.STRING_SCALAR;
263
- }
264
- case graphql_1.Kind.SCALAR_TYPE_DEFINITION:
265
- // intentional fallthrough
266
- case graphql_1.Kind.SCALAR_TYPE_EXTENSION: {
267
- return string_constants_1.SCALAR;
268
- }
269
- case graphql_1.Kind.UNION_TYPE_DEFINITION:
270
- // intentional fallthrough
271
- case graphql_1.Kind.UNION_TYPE_EXTENSION: {
272
- return string_constants_1.UNION;
273
- }
274
- default:
275
- return kind;
276
- }
277
- }
278
- function fieldDatasToSimpleFieldDatas(fieldDatas) {
279
- const simpleFieldDatas = [];
280
- for (const { name, namedTypeName } of fieldDatas) {
281
- simpleFieldDatas.push({ name, namedTypeName });
282
- }
283
- return simpleFieldDatas;
284
- }
285
- // Only used to assess the output type of field definitions for graph selection set rendering
286
- function isNodeLeaf(kind) {
287
- // Base scalars are not added to parent definition data
288
- if (!kind) {
289
- return true;
290
- }
291
- switch (kind) {
292
- case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
293
- case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
294
- case graphql_1.Kind.UNION_TYPE_DEFINITION:
295
- return false;
296
- default:
297
- return true;
298
- }
299
- }
300
- function newEntityInterfaceFederationData(entityInterfaceData, subgraphName) {
301
- return {
302
- fieldDatasBySubgraphName: new Map().set(subgraphName, entityInterfaceData.fieldDatas),
303
- interfaceFieldNames: new Set(entityInterfaceData.interfaceFieldNames),
304
- interfaceObjectFieldNames: new Set(entityInterfaceData.interfaceObjectFieldNames),
305
- interfaceObjectSubgraphs: new Set(entityInterfaceData.isInterfaceObject ? [subgraphName] : []),
306
- typeName: entityInterfaceData.typeName,
307
- ...(entityInterfaceData.isInterfaceObject
308
- ? {}
309
- : { concreteTypeNames: new Set(entityInterfaceData.concreteTypeNames) }),
310
- };
311
- }
312
- // Returns true if the federation data concrete types set was mutated and false otherwise
313
- function upsertEntityInterfaceFederationData(federationData, subgraphData, subgraphName) {
314
- federationData.fieldDatasBySubgraphName.set(subgraphName, subgraphData.fieldDatas);
315
- addIterableValuesToSet(subgraphData.interfaceFieldNames, federationData.interfaceFieldNames);
316
- addIterableValuesToSet(subgraphData.interfaceObjectFieldNames, federationData.interfaceObjectFieldNames);
317
- // interface objects should not define any concrete types
318
- if (subgraphData.isInterfaceObject) {
319
- federationData.interfaceObjectSubgraphs.add(subgraphName);
320
- return false;
321
- }
322
- // the concreteTypeNames set is null if only interfaceObjects have been encountered
323
- if (!federationData.concreteTypeNames) {
324
- federationData.concreteTypeNames = new Set(subgraphData.concreteTypeNames);
325
- return false;
326
- }
327
- // entity interface concrete types should be consistent
328
- return addSetsAndReturnMutationBoolean(subgraphData.concreteTypeNames || new Set(), federationData.concreteTypeNames);
329
- }
330
- class StackSet {
331
- set = new Set();
332
- stack = [];
333
- constructor(value) {
334
- this.push(value);
335
- }
336
- has(value) {
337
- return this.set.has(value);
338
- }
339
- push(value) {
340
- this.stack.push(value);
341
- this.set.add(value);
342
- }
343
- pop() {
344
- const value = this.stack.pop();
345
- if (value) {
346
- this.set.delete(value);
347
- }
348
- }
349
- }
350
147
  function getValueOrDefault(map, key, constructor) {
351
148
  const existingValue = map.get(key);
352
149
  if (existingValue) {
@@ -356,153 +153,16 @@ function getValueOrDefault(map, key, constructor) {
356
153
  map.set(key, value);
357
154
  return value;
358
155
  }
359
- function newEntityData(params) {
360
- return {
361
- fieldNames: new Set(params.fieldNames),
362
- keyFieldSets: new Set(params.keyFieldSets),
363
- subgraphNames: new Set(params.subgraphNames),
364
- typeName: params.typeName,
365
- };
366
- }
367
- function addEntityDataProperties(source, target) {
368
- addIterableValuesToSet(source.fieldNames || [], target.fieldNames);
369
- addIterableValuesToSet(source.keyFieldSets || [], target.keyFieldSets);
370
- addIterableValuesToSet(source.subgraphNames || [], target.subgraphNames);
371
- }
372
- function upsertEntityDataProperties(entityDataByTypeName, params) {
373
- const existingData = entityDataByTypeName.get(params.typeName);
374
- existingData
375
- ? addEntityDataProperties(params, existingData)
376
- : entityDataByTypeName.set(params.typeName, newEntityData(params));
377
- }
378
- function upsertEntityData(entityDataByTypeName, incomingData) {
379
- const existingData = entityDataByTypeName.get(incomingData.typeName);
380
- existingData
381
- ? addEntityDataProperties(incomingData, existingData)
382
- : entityDataByTypeName.set(incomingData.typeName, incomingData);
383
- }
384
- function newFieldAuthorizationData(fieldName) {
385
- return {
386
- fieldName,
387
- requiresAuthentication: false,
388
- requiredScopes: [],
389
- };
390
- }
391
- function resetAuthorizationData(authorizationData) {
392
- if (!authorizationData) {
393
- return;
394
- }
395
- authorizationData.requiresAuthentication = false;
396
- authorizationData.requiredScopes = [];
397
- authorizationData.hasParentLevelAuthorization = false;
398
- }
399
- function getAuthorizationDataToUpdate(authorizationContainer, node) {
400
- if (node.kind === graphql_1.Kind.FIELD_DEFINITION) {
401
- const name = node.name.value;
402
- return getValueOrDefault(authorizationContainer.fieldAuthorizationDataByFieldName, name, () => newFieldAuthorizationData(name));
403
- }
404
- authorizationContainer.hasParentLevelAuthorization = true;
405
- return authorizationContainer;
406
- }
407
- function newAuthorizationData(typeName) {
408
- return {
409
- fieldAuthorizationDataByFieldName: new Map(),
410
- hasParentLevelAuthorization: false,
411
- requiresAuthentication: false,
412
- requiredScopes: [],
413
- typeName,
414
- };
415
- }
416
- exports.maxOrScopes = 16;
417
- function mergeAuthorizationDataByAND(source, target) {
418
- target.requiresAuthentication ||= source.requiresAuthentication;
419
- const sourceScopesLength = source.requiredScopes.length;
420
- if (sourceScopesLength < 1) {
421
- return true;
422
- }
423
- const targetScopesLength = target.requiredScopes.length;
424
- if (targetScopesLength < 1) {
425
- if (sourceScopesLength > exports.maxOrScopes) {
426
- return false;
427
- }
428
- for (const andScopes of source.requiredScopes) {
429
- target.requiredScopes.push(new Set(andScopes));
430
- }
431
- return true;
432
- }
433
- if (sourceScopesLength * targetScopesLength > exports.maxOrScopes) {
156
+ function add(set, key) {
157
+ if (set.has(key)) {
434
158
  return false;
435
159
  }
436
- const mergedOrScopes = [];
437
- for (const existingAndScopes of target.requiredScopes) {
438
- for (const incomingAndScopes of source.requiredScopes) {
439
- const newAndScopes = new Set(existingAndScopes);
440
- addIterableValuesToSet(incomingAndScopes, newAndScopes);
441
- mergedOrScopes.push(newAndScopes);
442
- }
443
- }
444
- target.requiredScopes = mergedOrScopes;
160
+ set.add(key);
445
161
  return true;
446
162
  }
447
- function upsertFieldAuthorizationData(fieldAuthorizationDataByFieldName, incomingFieldAuthorizationData) {
448
- const fieldName = incomingFieldAuthorizationData.fieldName;
449
- const existingFieldAuthorizationData = fieldAuthorizationDataByFieldName.get(fieldName);
450
- if (!existingFieldAuthorizationData) {
451
- if (incomingFieldAuthorizationData.requiredScopes.length > exports.maxOrScopes) {
452
- return false;
453
- }
454
- const fieldAuthorizationData = newFieldAuthorizationData(fieldName);
455
- fieldAuthorizationData.requiresAuthentication ||= incomingFieldAuthorizationData.requiresAuthentication;
456
- for (const andScopes of incomingFieldAuthorizationData.requiredScopes) {
457
- fieldAuthorizationData.requiredScopes.push(new Set(andScopes));
458
- }
459
- fieldAuthorizationDataByFieldName.set(fieldName, fieldAuthorizationData);
460
- return true;
461
- }
462
- existingFieldAuthorizationData.requiresAuthentication ||= incomingFieldAuthorizationData.requiresAuthentication;
463
- return mergeAuthorizationDataByAND(incomingFieldAuthorizationData, existingFieldAuthorizationData);
464
- }
465
- function upsertAuthorizationData(authorizationDataByParentTypeName, incomingAuthorizationData, invalidOrScopesFieldPaths) {
466
- const existingAuthorizationData = authorizationDataByParentTypeName.get(incomingAuthorizationData.typeName);
467
- if (!existingAuthorizationData) {
468
- authorizationDataByParentTypeName.set(incomingAuthorizationData.typeName, incomingAuthorizationData);
469
- return;
470
- }
471
- for (const [fieldName, fieldAuthorizationData] of incomingAuthorizationData.fieldAuthorizationDataByFieldName) {
472
- if (!upsertFieldAuthorizationData(existingAuthorizationData.fieldAuthorizationDataByFieldName, fieldAuthorizationData)) {
473
- invalidOrScopesFieldPaths.add(`${incomingAuthorizationData.typeName}.${fieldName}`);
474
- }
475
- }
476
- }
477
- function upsertAuthorizationConfiguration(fieldConfigurationByFieldPath, authorizationData) {
478
- const typeName = authorizationData.typeName;
479
- for (const [fieldName, fieldAuthorizationData] of authorizationData.fieldAuthorizationDataByFieldName) {
480
- const fieldPath = `${typeName}.${fieldName}`;
481
- const existingFieldConfiguration = fieldConfigurationByFieldPath.get(fieldPath);
482
- if (existingFieldConfiguration) {
483
- existingFieldConfiguration.requiresAuthentication = fieldAuthorizationData.requiresAuthentication;
484
- existingFieldConfiguration.requiredScopes = fieldAuthorizationData.requiredScopes.map((orScopes) => [
485
- ...orScopes,
486
- ]);
487
- }
488
- else {
489
- fieldConfigurationByFieldPath.set(fieldPath, {
490
- argumentNames: [],
491
- typeName,
492
- fieldName,
493
- requiresAuthentication: fieldAuthorizationData.requiresAuthentication,
494
- requiredScopes: fieldAuthorizationData.requiredScopes.map((orScopes) => [...orScopes]),
495
- });
496
- }
497
- }
498
- }
499
- function setAndGetValue(map, key, value) {
500
- map.set(key, value);
501
- return value;
502
- }
503
163
  function generateSimpleDirective(name) {
504
164
  return {
505
- kind: graphql_1.Kind.DIRECTIVE,
165
+ kind: index_1.Kind.DIRECTIVE,
506
166
  name: (0, utils_1.stringToNameNode)(name),
507
167
  };
508
168
  }
@@ -512,48 +172,25 @@ function generateRequiresScopesDirective(orScopes) {
512
172
  const scopes = [];
513
173
  for (const scope of andScopes) {
514
174
  scopes.push({
515
- kind: graphql_1.Kind.STRING,
175
+ kind: index_1.Kind.STRING,
516
176
  value: scope,
517
177
  });
518
178
  }
519
- values.push({ kind: graphql_1.Kind.LIST, values: scopes });
179
+ values.push({ kind: index_1.Kind.LIST, values: scopes });
520
180
  }
521
181
  return {
522
- kind: graphql_1.Kind.DIRECTIVE,
182
+ kind: index_1.Kind.DIRECTIVE,
523
183
  name: (0, utils_1.stringToNameNode)(string_constants_1.REQUIRES_SCOPES),
524
184
  arguments: [
525
185
  {
526
- kind: graphql_1.Kind.ARGUMENT,
186
+ kind: index_1.Kind.ARGUMENT,
527
187
  name: (0, utils_1.stringToNameNode)(string_constants_1.SCOPES),
528
188
  value: {
529
- kind: graphql_1.Kind.LIST,
189
+ kind: index_1.Kind.LIST,
530
190
  values,
531
191
  },
532
192
  },
533
193
  ],
534
194
  };
535
195
  }
536
- function isNodeKindInterface(kind) {
537
- return kind === graphql_1.Kind.INTERFACE_TYPE_DEFINITION || kind === graphql_1.Kind.INTERFACE_TYPE_EXTENSION;
538
- }
539
- function isNodeKindObject(kind) {
540
- return kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION || kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION;
541
- }
542
- function addMapEntries(source, target) {
543
- for (const [key, value] of source) {
544
- target.set(key, value);
545
- }
546
- }
547
- function getSingleSetEntry(set) {
548
- for (const entry of set) {
549
- return entry;
550
- }
551
- }
552
- function add(set, key) {
553
- if (set.has(key)) {
554
- return false;
555
- }
556
- set.add(key);
557
- return true;
558
- }
559
196
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  import { DirectiveDefinitionNode, NamedTypeNode, StringValueNode } from 'graphql';
2
- import { MutableFieldNode, MutableInputValueNode, MutableTypeDefinitionNode, MutableTypeNode } from '../schema-building/ast';
3
- import { ChildTagData, ContractTagOptions, FederationFactoryOptions, FederationResultContainer, FederationResultContainerWithContracts, InterfaceImplementationData, InterfaceObjectForInternalGraphOptions, ParentTagData, SubscriptionFilterData } from './utils';
4
- import { InternalSubgraph, Subgraph } from '../subgraph/subgraph';
5
- import { AuthorizationData, EntityData, EntityInterfaceFederationData, GraphFieldData } from '../utils/utils';
6
- import { FieldConfiguration, SubscriptionCondition, SubscriptionFieldCondition } from '../router-configuration/router-configuration';
7
- import { ChildData, CompositeOutputData, EnumValueData, FieldData, InputObjectDefinitionData, InputValueData, InterfaceDefinitionData, NodeData, ObjectDefinitionData, ParentDefinitionData, PersistedDirectiveDefinitionData, UnionDefinitionData } from '../schema-building/type-definition-data';
8
- import { MergeMethod } from '../schema-building/utils';
2
+ import { MutableFieldNode, MutableInputValueNode, MutableTypeDefinitionNode, MutableTypeNode } from '../../schema-building/ast';
3
+ import { ChildTagData, FederationFactoryParams, InterfaceImplementationData, InterfaceObjectForInternalGraphOptions, ParentTagData, SubscriptionFilterData } from './utils';
4
+ import { FieldConfiguration, SubscriptionCondition, SubscriptionFieldCondition } from '../../router-configuration/types';
5
+ import { AuthorizationData, ChildData, CompositeOutputData, EntityData, EntityInterfaceFederationData, EnumValueData, FieldData, InputObjectDefinitionData, InputValueData, InterfaceDefinitionData, NodeData, ObjectDefinitionData, ParentDefinitionData, PersistedDirectiveDefinitionData, UnionDefinitionData } from '../../schema-building/types';
6
+ import { MergeMethod } from '../../schema-building/utils';
9
7
  import { FederateTypeOptions, FederateTypeResult } from '../schema-building/type-merging';
10
8
  import { ConstDirectiveNode, ConstObjectValueNode } from 'graphql/index';
11
- import { Graph } from '../resolvability-graph/graph';
12
- import { GraphNode } from '../resolvability-graph/graph-nodes';
13
- import { Warning } from '../warnings/warnings';
9
+ import { Graph } from '../../resolvability-graph/graph';
10
+ import { GraphNode } from '../../resolvability-graph/graph-nodes';
11
+ import { InternalSubgraph, Subgraph } from '../../subgraph/types';
12
+ import { Warning } from '../../warnings/types';
13
+ import { ContractTagOptions, FederationResult, FederationResultWithContracts } from '../../federation/types';
14
+ import { GraphFieldData } from '../../utils/types';
14
15
  export declare class FederationFactory {
15
16
  authorizationDataByParentTypeName: Map<string, AuthorizationData>;
16
17
  concreteTypeNamesByAbstractTypeName: Map<string, Set<string>>;
@@ -40,7 +41,7 @@ export declare class FederationFactory {
40
41
  subscriptionFilterDataByFieldPath: Map<string, SubscriptionFilterData>;
41
42
  tagNamesByPath: Map<string, Set<string>>;
42
43
  warnings: Warning[];
43
- constructor(options: FederationFactoryOptions);
44
+ constructor(params: FederationFactoryParams);
44
45
  getValidImplementedInterfaces(data: CompositeOutputData): NamedTypeNode[];
45
46
  addValidPrimaryKeyTargetsToEntityData(typeName: string): void;
46
47
  addValidPrimaryKeyTargetsFromInterfaceObject(internalSubgraph: InternalSubgraph, interfaceObjectTypeName: string, entityData: EntityData, graphNode: GraphNode): void;
@@ -85,7 +86,7 @@ export declare class FederationFactory {
85
86
  validateSubscriptionFilterCondition(objectValueNode: ConstObjectValueNode, configuration: SubscriptionCondition, objectData: ObjectDefinitionData, depth: number, inputPath: string, directiveSubgraphName: string, errorMessages: string[]): boolean;
86
87
  validateSubscriptionFilterAndGenerateConfiguration(directiveNode: ConstDirectiveNode, objectData: ObjectDefinitionData, fieldPath: string, fieldName: string, parentTypeName: string, directiveSubgraphName: string): void;
87
88
  validateSubscriptionFiltersAndGenerateConfiguration(): void;
88
- buildFederationResult(): FederationResultContainer;
89
+ buildFederationResult(): FederationResult;
89
90
  getClientSchemaObjectBoolean(): {
90
91
  shouldIncludeClientSchema?: undefined;
91
92
  } | {
@@ -93,9 +94,9 @@ export declare class FederationFactory {
93
94
  };
94
95
  handleChildTagExclusions(parentDefinitionData: ParentDefinitionData, children: Map<string, ChildData>, childTagDataByChildName: Map<string, ChildTagData>, tagNames: Set<string>): void;
95
96
  handleChildTagInclusions(parentDefinitionData: ParentDefinitionData, children: Map<string, ChildData>, childTagDataByChildName: Map<string, ChildTagData>, tagNames: Set<string>): void;
96
- buildFederationContractResult(contractTagOptions: ContractTagOptions): FederationResultContainer;
97
- federateSubgraphsInternal(): FederationResultContainer;
97
+ buildFederationContractResult(contractTagOptions: ContractTagOptions): FederationResult;
98
+ federateSubgraphsInternal(): FederationResult;
98
99
  }
99
- export declare function federateSubgraphs(subgraphs: Subgraph[]): FederationResultContainer;
100
- export declare function federateSubgraphsWithContracts(subgraphs: Subgraph[], tagOptionsByContractName: Map<string, ContractTagOptions>): FederationResultContainerWithContracts;
101
- export declare function federateSubgraphsContract(subgraphs: Subgraph[], contractTagOptions: ContractTagOptions): FederationResultContainer;
100
+ export declare function federateSubgraphs(subgraphs: Subgraph[]): FederationResult;
101
+ export declare function federateSubgraphsWithContracts(subgraphs: Subgraph[], tagOptionsByContractName: Map<string, ContractTagOptions>): FederationResultWithContracts;
102
+ export declare function federateSubgraphsContract(subgraphs: Subgraph[], contractTagOptions: ContractTagOptions): FederationResult;