@apollo/federation-internals 2.1.0-alpha.2 → 2.1.0

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 (66) hide show
  1. package/CHANGELOG.md +5 -4
  2. package/dist/buildSchema.d.ts.map +1 -1
  3. package/dist/buildSchema.js +14 -4
  4. package/dist/buildSchema.js.map +1 -1
  5. package/dist/coreSpec.d.ts +1 -4
  6. package/dist/coreSpec.d.ts.map +1 -1
  7. package/dist/coreSpec.js +1 -5
  8. package/dist/coreSpec.js.map +1 -1
  9. package/dist/definitions.d.ts +66 -34
  10. package/dist/definitions.d.ts.map +1 -1
  11. package/dist/definitions.js +309 -165
  12. package/dist/definitions.js.map +1 -1
  13. package/dist/error.d.ts +5 -0
  14. package/dist/error.d.ts.map +1 -1
  15. package/dist/error.js +47 -1
  16. package/dist/error.js.map +1 -1
  17. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
  18. package/dist/extractSubgraphsFromSupergraph.js +135 -5
  19. package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
  20. package/dist/federation.d.ts +3 -2
  21. package/dist/federation.d.ts.map +1 -1
  22. package/dist/federation.js +12 -7
  23. package/dist/federation.js.map +1 -1
  24. package/dist/inaccessibleSpec.js +1 -2
  25. package/dist/inaccessibleSpec.js.map +1 -1
  26. package/dist/operations.d.ts +44 -20
  27. package/dist/operations.d.ts.map +1 -1
  28. package/dist/operations.js +287 -27
  29. package/dist/operations.js.map +1 -1
  30. package/dist/print.d.ts +1 -1
  31. package/dist/print.d.ts.map +1 -1
  32. package/dist/print.js +1 -1
  33. package/dist/print.js.map +1 -1
  34. package/dist/schemaUpgrader.d.ts.map +1 -1
  35. package/dist/schemaUpgrader.js +6 -6
  36. package/dist/schemaUpgrader.js.map +1 -1
  37. package/dist/supergraphs.d.ts +1 -3
  38. package/dist/supergraphs.d.ts.map +1 -1
  39. package/dist/supergraphs.js +9 -22
  40. package/dist/supergraphs.js.map +1 -1
  41. package/dist/utils.d.ts +10 -1
  42. package/dist/utils.d.ts.map +1 -1
  43. package/dist/utils.js +40 -1
  44. package/dist/utils.js.map +1 -1
  45. package/package.json +3 -4
  46. package/src/__tests__/coreSpec.test.ts +1 -1
  47. package/src/__tests__/definitions.test.ts +27 -0
  48. package/src/__tests__/extractSubgraphsFromSupergraph.test.ts +9 -5
  49. package/src/__tests__/operations.test.ts +36 -0
  50. package/src/__tests__/removeInaccessibleElements.test.ts +1 -3
  51. package/src/__tests__/schemaUpgrader.test.ts +0 -1
  52. package/src/__tests__/subgraphValidation.test.ts +1 -2
  53. package/src/buildSchema.ts +20 -7
  54. package/src/coreSpec.ts +2 -7
  55. package/src/definitions.ts +355 -155
  56. package/src/error.ts +62 -0
  57. package/src/extractSubgraphsFromSupergraph.ts +198 -7
  58. package/src/federation.ts +11 -4
  59. package/src/inaccessibleSpec.ts +2 -5
  60. package/src/operations.ts +428 -40
  61. package/src/print.ts +3 -3
  62. package/src/schemaUpgrader.ts +7 -6
  63. package/src/supergraphs.ts +16 -25
  64. package/src/utils.ts +49 -0
  65. package/tsconfig.test.tsbuildinfo +1 -1
  66. package/tsconfig.tsbuildinfo +1 -1
@@ -101,17 +101,27 @@ class Field extends AbstractOperationElement {
101
101
  updateForAddingTo(selectionSet) {
102
102
  const selectionParent = selectionSet.parentType;
103
103
  const fieldParent = this.definition.parent;
104
- if (selectionParent.name !== fieldParent.name) {
105
- if (this.name === definitions_1.typenameFieldName) {
106
- return this.withUpdatedDefinition(selectionParent.typenameField());
107
- }
108
- validate(!(0, definitions_1.isUnionType)(selectionParent)
109
- && (((0, definitions_1.isInterfaceType)(fieldParent) && fieldParent.allImplementations().some(i => i.name == selectionParent.name))
110
- || ((0, definitions_1.isObjectType)(fieldParent) && fieldParent.name == selectionParent.name)), () => `Cannot add selection of field "${this.definition.coordinate}" to selection set of parent type "${selectionSet.parentType}"`);
111
- const fieldDef = selectionParent.field(this.name);
112
- validate(fieldDef, () => `Cannot add selection of field "${this.definition.coordinate}" to selection set of parent type "${selectionParent} (that does not declare that type)"`);
113
- return this.withUpdatedDefinition(fieldDef);
104
+ if (selectionParent === fieldParent) {
105
+ return this;
106
+ }
107
+ if (this.name === definitions_1.typenameFieldName) {
108
+ return this.withUpdatedDefinition(selectionParent.typenameField());
114
109
  }
110
+ validate(selectionParent.name == fieldParent.name
111
+ || (!(0, definitions_1.isUnionType)(selectionParent)
112
+ && (((0, definitions_1.isInterfaceType)(fieldParent) && fieldParent.allImplementations().some(i => i.name == selectionParent.name))
113
+ || ((0, definitions_1.isObjectType)(fieldParent) && fieldParent.name == selectionParent.name))), () => `Cannot add selection of field "${this.definition.coordinate}" to selection set of parent type "${selectionSet.parentType}"`);
114
+ const fieldDef = selectionParent.field(this.name);
115
+ validate(fieldDef, () => `Cannot add selection of field "${this.definition.coordinate}" to selection set of parent type "${selectionParent}" (that does not declare that field)`);
116
+ return this.withUpdatedDefinition(fieldDef);
117
+ }
118
+ hasDefer() {
119
+ return false;
120
+ }
121
+ deferDirectiveArgs() {
122
+ return undefined;
123
+ }
124
+ withoutDefer() {
115
125
  return this;
116
126
  }
117
127
  equals(that) {
@@ -146,8 +156,12 @@ class FragmentElement extends AbstractOperationElement {
146
156
  get parentType() {
147
157
  return this.sourceType;
148
158
  }
159
+ castedType() {
160
+ return this.typeCondition ? this.typeCondition : this.sourceType;
161
+ }
149
162
  withUpdatedSourceType(newSourceType) {
150
- const newFragment = new FragmentElement(newSourceType, this.typeCondition);
163
+ var _a;
164
+ const newFragment = new FragmentElement(newSourceType, (_a = this.typeCondition) === null || _a === void 0 ? void 0 : _a.name);
151
165
  for (const directive of this.appliedDirectives) {
152
166
  newFragment.applyDirective(directive.definition, directive.arguments());
153
167
  }
@@ -163,6 +177,77 @@ class FragmentElement extends AbstractOperationElement {
163
177
  }
164
178
  return this;
165
179
  }
180
+ hasDefer() {
181
+ return this.hasAppliedDirective('defer');
182
+ }
183
+ hasStream() {
184
+ return this.hasAppliedDirective('stream');
185
+ }
186
+ deferDirectiveArgs() {
187
+ var _a;
188
+ return (_a = this.appliedDirectivesOf(this.schema().deferDirective())[0]) === null || _a === void 0 ? void 0 : _a.arguments();
189
+ }
190
+ withoutDefer() {
191
+ const deferName = this.schema().deferDirective().name;
192
+ const updatedDirectives = this.appliedDirectives.filter((d) => d.name !== deferName);
193
+ if (!this.typeCondition && updatedDirectives.length === 0) {
194
+ return undefined;
195
+ }
196
+ if (updatedDirectives.length === this.appliedDirectives.length) {
197
+ return this;
198
+ }
199
+ const updated = new FragmentElement(this.sourceType, this.typeCondition);
200
+ updatedDirectives.forEach((d) => updated.applyDirective(d.definition, d.arguments()));
201
+ return updated;
202
+ }
203
+ withNormalizedDefer(normalizer) {
204
+ const deferArgs = this.deferDirectiveArgs();
205
+ if (!deferArgs) {
206
+ return this;
207
+ }
208
+ let newDeferArgs = undefined;
209
+ let conditionVariable = undefined;
210
+ if (deferArgs.if !== undefined) {
211
+ if (typeof deferArgs.if === 'boolean') {
212
+ if (deferArgs.if) {
213
+ newDeferArgs = {
214
+ ...deferArgs,
215
+ if: undefined,
216
+ };
217
+ }
218
+ else {
219
+ return this.withoutDefer();
220
+ }
221
+ }
222
+ else {
223
+ conditionVariable = deferArgs.if;
224
+ }
225
+ }
226
+ let label = deferArgs.label;
227
+ if (!label) {
228
+ label = normalizer.newLabel();
229
+ if (newDeferArgs) {
230
+ newDeferArgs.label = label;
231
+ }
232
+ else {
233
+ newDeferArgs = {
234
+ ...deferArgs,
235
+ label,
236
+ };
237
+ }
238
+ }
239
+ if (conditionVariable) {
240
+ normalizer.registerCondition(label, conditionVariable);
241
+ }
242
+ if (!newDeferArgs) {
243
+ return this;
244
+ }
245
+ const updated = new FragmentElement(this.sourceType, this.typeCondition);
246
+ const deferDirective = this.schema().deferDirective();
247
+ this.appliedDirectives.filter((d) => d.name !== deferDirective.name).forEach((d) => updated.applyDirective(d.definition, d.arguments()));
248
+ updated.applyDirective(this.schema().deferDirective(), newDeferArgs);
249
+ return updated;
250
+ }
166
251
  equals(that) {
167
252
  var _a, _b;
168
253
  if (this === that) {
@@ -257,6 +342,29 @@ class Operation {
257
342
  }
258
343
  return new Operation(this.rootKind, expandedSelections, this.variableDefinitions, this.name);
259
344
  }
345
+ withoutDefer(labelsToRemove) {
346
+ (0, utils_1.assert)(!this.selectionSet.fragments || this.selectionSet.fragments.isEmpty(), 'Removing @defer currently only work on "expanded" selections (no named fragments)');
347
+ const updated = this.selectionSet.withoutDefer(labelsToRemove);
348
+ return updated == this.selectionSet
349
+ ? this
350
+ : new Operation(this.rootKind, updated, this.variableDefinitions, this.name);
351
+ }
352
+ withNormalizedDefer() {
353
+ (0, utils_1.assert)(!this.selectionSet.fragments || this.selectionSet.fragments.isEmpty(), 'Assigning @defer lables currently only work on "expanded" selections (no named fragments)');
354
+ const normalizer = new DeferNormalizer();
355
+ const { hasDefers, hasNonLabelledOrConditionalDefers } = normalizer.init(this.selectionSet);
356
+ let updatedOperation = this;
357
+ if (hasNonLabelledOrConditionalDefers) {
358
+ const updated = this.selectionSet.withNormalizedDefer(normalizer);
359
+ updatedOperation = new Operation(this.rootKind, updated, this.variableDefinitions, this.name);
360
+ }
361
+ return {
362
+ operation: updatedOperation,
363
+ hasDefers,
364
+ assignedDeferLabels: normalizer.assignedLabels,
365
+ deferConditions: normalizer.deferConditions,
366
+ };
367
+ }
260
368
  toString(expandFragments = false, prettyPrint = true) {
261
369
  return this.selectionSet.toOperationString(this.rootKind, this.variableDefinitions, this.name, expandFragments, prettyPrint);
262
370
  }
@@ -408,6 +516,52 @@ class Freezable {
408
516
  return this.isFrozen() ? this.clone() : this.us();
409
517
  }
410
518
  }
519
+ class DeferNormalizer {
520
+ constructor() {
521
+ this.index = 0;
522
+ this.assignedLabels = new Set();
523
+ this.deferConditions = new utils_1.SetMultiMap();
524
+ this.usedLabels = new Set();
525
+ }
526
+ init(selectionSet) {
527
+ let hasNonLabelledOrConditionalDefers = false;
528
+ let hasDefers = false;
529
+ const stack = selectionSet.selections().concat();
530
+ while (stack.length > 0) {
531
+ const selection = stack.pop();
532
+ if (selection.kind === 'FragmentSelection') {
533
+ const deferArgs = selection.element().deferDirectiveArgs();
534
+ if (deferArgs) {
535
+ hasDefers = true;
536
+ if (deferArgs.label) {
537
+ this.usedLabels.add(deferArgs.label);
538
+ }
539
+ else {
540
+ hasNonLabelledOrConditionalDefers = true;
541
+ }
542
+ }
543
+ }
544
+ if (selection.selectionSet) {
545
+ selection.selectionSet.selections().forEach((s) => stack.push(s));
546
+ }
547
+ }
548
+ return { hasDefers, hasNonLabelledOrConditionalDefers };
549
+ }
550
+ nextLabel() {
551
+ return `qp__${this.index++}`;
552
+ }
553
+ newLabel() {
554
+ let candidate = this.nextLabel();
555
+ while (this.usedLabels.has(candidate)) {
556
+ candidate = this.nextLabel();
557
+ }
558
+ this.assignedLabels.add(candidate);
559
+ return candidate;
560
+ }
561
+ registerCondition(label, condition) {
562
+ this.deferConditions.add(condition.name, label);
563
+ }
564
+ }
411
565
  class SelectionSet extends Freezable {
412
566
  constructor(parentType, fragments) {
413
567
  super();
@@ -493,15 +647,46 @@ class SelectionSet extends Freezable {
493
647
  }
494
648
  return withExpanded;
495
649
  }
496
- filter(predicate) {
497
- const filtered = new SelectionSet(this.parentType, this.fragments);
498
- for (const selection of this.selections()) {
499
- const filteredSelection = selection.filter(predicate);
500
- if (filteredSelection) {
501
- filtered.add(filteredSelection);
650
+ lazyMap(mapper) {
651
+ let updatedSelections = undefined;
652
+ const selections = this.selections();
653
+ for (let i = 0; i < selections.length; i++) {
654
+ const selection = selections[i];
655
+ const updated = mapper(selection);
656
+ if (updated !== selection && !updatedSelections) {
657
+ updatedSelections = [];
658
+ for (let j = 0; j < i; j++) {
659
+ updatedSelections.push(selections[j]);
660
+ }
661
+ }
662
+ if (!!updated && updatedSelections) {
663
+ if (updated instanceof SelectionSet) {
664
+ updated.selections().forEach((s) => updatedSelections.push(s));
665
+ }
666
+ else {
667
+ updatedSelections.push(updated);
668
+ }
502
669
  }
503
670
  }
504
- return filtered;
671
+ if (!updatedSelections) {
672
+ return this;
673
+ }
674
+ return new SelectionSet(this.parentType, this.fragments).addAll(updatedSelections);
675
+ }
676
+ withoutDefer(labelsToRemove) {
677
+ (0, utils_1.assert)(!this.fragments, 'Not yet supported');
678
+ return this.lazyMap((selection) => selection.withoutDefer(labelsToRemove));
679
+ }
680
+ withNormalizedDefer(normalizer) {
681
+ (0, utils_1.assert)(!this.fragments, 'Not yet supported');
682
+ return this.lazyMap((selection) => selection.withNormalizedDefer(normalizer));
683
+ }
684
+ filter(predicate) {
685
+ return this.lazyMap((selection) => selection.filter(predicate));
686
+ }
687
+ withoutEmptyBranches() {
688
+ const updated = this.filter((selection) => { var _a; return ((_a = selection.selectionSet) === null || _a === void 0 ? void 0 : _a.isEmpty()) !== true; });
689
+ return updated.isEmpty() ? undefined : updated;
505
690
  }
506
691
  freezeInternals() {
507
692
  for (const selection of this.selections()) {
@@ -787,7 +972,10 @@ class FieldSelection extends Freezable {
787
972
  if (!this.selectionSet) {
788
973
  return this;
789
974
  }
790
- return new FieldSelection(this.field, this.selectionSet.filter(predicate));
975
+ const updatedSelectionSet = this.selectionSet.filter(predicate);
976
+ return this.selectionSet === updatedSelectionSet
977
+ ? this
978
+ : new FieldSelection(this.field, updatedSelectionSet);
791
979
  }
792
980
  freezeInternals() {
793
981
  var _a;
@@ -877,6 +1065,20 @@ class FieldSelection extends Freezable {
877
1065
  var _a;
878
1066
  return (_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.fragments;
879
1067
  }
1068
+ withoutDefer(labelsToRemove) {
1069
+ var _a;
1070
+ const updatedSubSelections = (_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.withoutDefer(labelsToRemove);
1071
+ return updatedSubSelections === this.selectionSet
1072
+ ? this
1073
+ : new FieldSelection(this.field, updatedSubSelections);
1074
+ }
1075
+ withNormalizedDefer(normalizer) {
1076
+ var _a;
1077
+ const updatedSubSelections = (_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.withNormalizedDefer(normalizer);
1078
+ return updatedSubSelections === this.selectionSet
1079
+ ? this
1080
+ : new FieldSelection(this.field, updatedSubSelections);
1081
+ }
880
1082
  clone() {
881
1083
  if (!this.selectionSet) {
882
1084
  return this;
@@ -896,20 +1098,25 @@ class FragmentSelection extends Freezable {
896
1098
  us() {
897
1099
  return this;
898
1100
  }
1101
+ validateDeferAndStream() {
1102
+ if (this.element().hasDefer() || this.element().hasStream()) {
1103
+ const schemaDef = this.element().schema().schemaDefinition;
1104
+ const parentType = this.element().parentType;
1105
+ validate(schemaDef.rootType('mutation') !== parentType && schemaDef.rootType('subscription') !== parentType, () => { var _a; return `The @defer and @stream directives cannot be used on ${(_a = schemaDef.roots().filter((t) => t.type === parentType).pop()) === null || _a === void 0 ? void 0 : _a.rootKind} root type "${parentType}"`; });
1106
+ }
1107
+ }
899
1108
  usedVariables() {
900
1109
  return (0, definitions_1.mergeVariables)(this.element().variables(), this.selectionSet.usedVariables());
901
1110
  }
902
- updateForAddingTo(selectionSet) {
903
- const updatedFragment = this.element().updateForAddingTo(selectionSet);
904
- return this.element() === updatedFragment
905
- ? this.cloneIfFrozen()
906
- : new InlineFragmentSelection(updatedFragment, this.selectionSet.cloneIfFrozen());
907
- }
908
1111
  filter(predicate) {
909
1112
  if (!predicate(this)) {
910
1113
  return undefined;
911
1114
  }
912
- return new InlineFragmentSelection(this.element(), this.selectionSet.filter(predicate));
1115
+ const selectionSet = this.selectionSet;
1116
+ const updatedSelectionSet = selectionSet.filter(predicate);
1117
+ return updatedSelectionSet === selectionSet
1118
+ ? this
1119
+ : new InlineFragmentSelection(this.element(), updatedSelectionSet);
913
1120
  }
914
1121
  freezeInternals() {
915
1122
  this.selectionSet.freeze();
@@ -945,9 +1152,29 @@ class InlineFragmentSelection extends FragmentSelection {
945
1152
  return (_b = (_a = this.element().typeCondition) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '';
946
1153
  }
947
1154
  validate() {
1155
+ this.validateDeferAndStream();
948
1156
  validate(!this.selectionSet.isEmpty(), () => `Invalid empty selection set for fragment "${this.element()}"`);
949
1157
  this.selectionSet.validate();
950
1158
  }
1159
+ updateForAddingTo(selectionSet) {
1160
+ var _a;
1161
+ const updatedFragment = this.element().updateForAddingTo(selectionSet);
1162
+ if (this.element() === updatedFragment) {
1163
+ return this.cloneIfFrozen();
1164
+ }
1165
+ const updatedCastedType = updatedFragment.castedType();
1166
+ let updatedSelectionSet;
1167
+ if (this.selectionSet.parentType !== updatedCastedType) {
1168
+ updatedSelectionSet = new SelectionSet(updatedCastedType);
1169
+ for (const selection of this.selectionSet.selections()) {
1170
+ updatedSelectionSet.add(selection);
1171
+ }
1172
+ }
1173
+ else {
1174
+ updatedSelectionSet = (_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.cloneIfFrozen();
1175
+ }
1176
+ return new InlineFragmentSelection(updatedFragment, updatedSelectionSet);
1177
+ }
951
1178
  get selectionSet() {
952
1179
  return this._selectionSet;
953
1180
  }
@@ -1001,6 +1228,29 @@ class InlineFragmentSelection extends FragmentSelection {
1001
1228
  collectUsedFragmentNames(collector) {
1002
1229
  this.selectionSet.collectUsedFragmentNames(collector);
1003
1230
  }
1231
+ withoutDefer(labelsToRemove) {
1232
+ const updatedSubSelections = this.selectionSet.withoutDefer(labelsToRemove);
1233
+ const deferArgs = this.fragmentElement.deferDirectiveArgs();
1234
+ const hasDeferToRemove = deferArgs && (!labelsToRemove || (deferArgs.label && labelsToRemove.has(deferArgs.label)));
1235
+ if (updatedSubSelections === this.selectionSet && !hasDeferToRemove) {
1236
+ return this;
1237
+ }
1238
+ const newFragment = hasDeferToRemove ? this.fragmentElement.withoutDefer() : this.fragmentElement;
1239
+ if (!newFragment) {
1240
+ return updatedSubSelections;
1241
+ }
1242
+ return new InlineFragmentSelection(newFragment, updatedSubSelections);
1243
+ }
1244
+ withNormalizedDefer(normalizer) {
1245
+ const newFragment = this.fragmentElement.withNormalizedDefer(normalizer);
1246
+ const updatedSubSelections = this.selectionSet.withNormalizedDefer(normalizer);
1247
+ if (!newFragment) {
1248
+ return updatedSubSelections;
1249
+ }
1250
+ return newFragment === this.fragmentElement && updatedSubSelections === this.selectionSet
1251
+ ? this
1252
+ : new InlineFragmentSelection(newFragment, updatedSubSelections);
1253
+ }
1004
1254
  toString(expandFragments = true, indent) {
1005
1255
  return (indent !== null && indent !== void 0 ? indent : '') + this.fragmentElement + ' ' + this.selectionSet.toString(expandFragments, true, indent);
1006
1256
  }
@@ -1030,6 +1280,7 @@ class FragmentSpreadSelection extends FragmentSelection {
1030
1280
  return this.namedFragment.selectionSet;
1031
1281
  }
1032
1282
  validate() {
1283
+ this.validateDeferAndStream();
1033
1284
  }
1034
1285
  toSelectionNode() {
1035
1286
  const spreadDirectives = this.spreadDirectives();
@@ -1054,12 +1305,15 @@ class FragmentSpreadSelection extends FragmentSelection {
1054
1305
  optimize(_) {
1055
1306
  return this;
1056
1307
  }
1308
+ updateForAddingTo(_selectionSet) {
1309
+ return this;
1310
+ }
1057
1311
  expandFragments(names, updateSelectionSetFragments = true) {
1058
1312
  if (names && !names.includes(this.namedFragment.name)) {
1059
1313
  return this;
1060
1314
  }
1061
1315
  const expandedSubSelections = this.selectionSet.expandFragments(names, updateSelectionSetFragments);
1062
- return (0, types_1.sameType)(this._element.parentType, this.namedFragment.typeCondition)
1316
+ return (0, types_1.sameType)(this._element.parentType, this.namedFragment.typeCondition) && this._element.appliedDirectives.length === 0
1063
1317
  ? expandedSubSelections.selections()
1064
1318
  : new InlineFragmentSelection(this._element, expandedSubSelections);
1065
1319
  }
@@ -1068,6 +1322,12 @@ class FragmentSpreadSelection extends FragmentSelection {
1068
1322
  const usageCount = collector.get(this.namedFragment.name);
1069
1323
  collector.set(this.namedFragment.name, usageCount === undefined ? 1 : usageCount + 1);
1070
1324
  }
1325
+ withoutDefer(_labelsToRemove) {
1326
+ (0, utils_1.assert)(false, 'Unsupported, see `Operation.withoutDefer`');
1327
+ }
1328
+ withNormalizedDefer(_normalizezr) {
1329
+ (0, utils_1.assert)(false, 'Unsupported, see `Operation.withAllDeferLabelled`');
1330
+ }
1071
1331
  spreadDirectives() {
1072
1332
  return this._element.appliedDirectives.slice(this.namedFragment.appliedDirectives.length);
1073
1333
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}