@apollo/federation-internals 2.5.0 → 2.5.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.
@@ -7,7 +7,11 @@ declare abstract class AbstractOperationElement<T extends AbstractOperationEleme
7
7
  collectVariables(collector: VariableCollector): void;
8
8
  abstract key(): string;
9
9
  abstract asPathElement(): string | undefined;
10
- abstract rebaseOn(parentType: CompositeType): T;
10
+ abstract rebaseOn(args: {
11
+ parentType: CompositeType;
12
+ errorIfCannotRebase: boolean;
13
+ }): T | undefined;
14
+ rebaseOnOrError(parentType: CompositeType): T;
11
15
  abstract withUpdatedDirectives(newDirectives: readonly Directive<any>[]): T;
12
16
  protected abstract collectVariablesInElement(collector: VariableCollector): void;
13
17
  addAttachement(key: string, value: string): void;
@@ -40,7 +44,10 @@ export declare class Field<TArgs extends {
40
44
  appliesTo(type: ObjectType | InterfaceType): boolean;
41
45
  selects(definition: FieldDefinition<any>, assumeValid?: boolean, variableDefinitions?: VariableDefinitions): boolean;
42
46
  validate(variableDefinitions: VariableDefinitions): void;
43
- rebaseOn(parentType: CompositeType): Field<TArgs>;
47
+ rebaseOn({ parentType, errorIfCannotRebase }: {
48
+ parentType: CompositeType;
49
+ errorIfCannotRebase: boolean;
50
+ }): Field<TArgs> | undefined;
44
51
  private canRebaseOn;
45
52
  typeIfAddedTo(parentType: CompositeType): Type | undefined;
46
53
  hasDefer(): boolean;
@@ -64,7 +71,10 @@ export declare class FragmentElement extends AbstractOperationElement<FragmentEl
64
71
  withUpdatedCondition(newCondition: CompositeType | undefined): FragmentElement;
65
72
  withUpdatedTypes(newSourceType: CompositeType, newCondition: CompositeType | undefined): FragmentElement;
66
73
  withUpdatedDirectives(newDirectives: Directive<OperationElement>[]): FragmentElement;
67
- rebaseOn(parentType: CompositeType): FragmentElement;
74
+ rebaseOn({ parentType, errorIfCannotRebase }: {
75
+ parentType: CompositeType;
76
+ errorIfCannotRebase: boolean;
77
+ }): FragmentElement | undefined;
68
78
  private canRebaseOn;
69
79
  castedTypeIfAddedTo(parentType: CompositeType): CompositeType | undefined;
70
80
  hasDefer(): boolean;
@@ -150,6 +160,7 @@ export declare class NamedFragments {
150
160
  map(mapper: (def: NamedFragmentDefinition) => NamedFragmentDefinition): NamedFragments;
151
161
  mapInDependencyOrder(mapper: (fragment: NamedFragmentDefinition, newFragments: NamedFragments) => NamedFragmentDefinition | undefined): NamedFragments | undefined;
152
162
  mapToExpandedSelectionSets(mapper: (selectionSet: SelectionSet) => SelectionSet | undefined): NamedFragments | undefined;
163
+ private selectionSetIsWorthUsing;
153
164
  rebaseOn(schema: Schema): NamedFragments | undefined;
154
165
  filter(predicate: (fragment: NamedFragmentDefinition) => boolean): NamedFragments | undefined;
155
166
  validate(variableDefinitions: VariableDefinitions): void;
@@ -186,6 +197,7 @@ export declare class SelectionSet {
186
197
  selectionsInReverseOrder(): readonly Selection[];
187
198
  selections(): readonly Selection[];
188
199
  hasTopLevelTypenameField(): boolean;
200
+ withoutTopLevelTypenameField(): SelectionSet;
189
201
  fieldsInSet(): CollectedFieldsInSet;
190
202
  fieldsByResponseName(): MultiMap<string, FieldSelection>;
191
203
  private collectFieldsByResponseName;
@@ -208,9 +220,15 @@ export declare class SelectionSet {
208
220
  filter(predicate: (selection: Selection) => boolean): SelectionSet;
209
221
  filterRecursiveDepthFirst(predicate: (selection: Selection) => boolean): SelectionSet;
210
222
  withoutEmptyBranches(): SelectionSet | undefined;
211
- rebaseOn(parentType: CompositeType, fragments: NamedFragments | undefined): SelectionSet;
223
+ rebaseOn({ parentType, fragments, errorIfCannotRebase, }: {
224
+ parentType: CompositeType;
225
+ fragments: NamedFragments | undefined;
226
+ errorIfCannotRebase: boolean;
227
+ }): SelectionSet;
212
228
  equals(that: SelectionSet): boolean;
213
- contains(that: SelectionSet): ContainsResult;
229
+ contains(that: SelectionSet, options?: {
230
+ ignoreMissingTypename?: boolean;
231
+ }): ContainsResult;
214
232
  containsTopLevelField(field: Field): boolean;
215
233
  minus(that: SelectionSet): SelectionSet;
216
234
  intersectionWith(that: SelectionSet): SelectionSet;
@@ -275,7 +293,15 @@ declare abstract class AbstractSelection<TElement extends OperationElement, TIsL
275
293
  abstract optimize(fragments: NamedFragments, validator: FieldsConflictMultiBranchValidator): Selection;
276
294
  abstract toSelectionNode(): SelectionNode;
277
295
  abstract validate(variableDefinitions: VariableDefinitions): void;
278
- abstract rebaseOn(parentType: CompositeType, fragments: NamedFragments | undefined): TOwnType;
296
+ abstract rebaseOn(args: {
297
+ parentType: CompositeType;
298
+ fragments: NamedFragments | undefined;
299
+ errorIfCannotRebase: boolean;
300
+ }): TOwnType | undefined;
301
+ rebaseOnOrError({ parentType, fragments }: {
302
+ parentType: CompositeType;
303
+ fragments: NamedFragments | undefined;
304
+ }): TOwnType;
279
305
  get parentType(): CompositeType;
280
306
  isTypenameField(): boolean;
281
307
  collectVariables(collector: VariableCollector): void;
@@ -333,7 +359,11 @@ export declare class FieldSelection extends AbstractSelection<Field<any>, undefi
333
359
  optimize(fragments: NamedFragments, validator: FieldsConflictMultiBranchValidator): Selection;
334
360
  filterRecursiveDepthFirst(predicate: (selection: Selection) => boolean): FieldSelection | undefined;
335
361
  validate(variableDefinitions: VariableDefinitions): void;
336
- rebaseOn(parentType: CompositeType, fragments: NamedFragments | undefined): FieldSelection;
362
+ rebaseOn({ parentType, fragments, errorIfCannotRebase, }: {
363
+ parentType: CompositeType;
364
+ fragments: NamedFragments | undefined;
365
+ errorIfCannotRebase: boolean;
366
+ }): FieldSelection | undefined;
337
367
  canAddTo(parentType: CompositeType): boolean;
338
368
  toSelectionNode(): FieldNode;
339
369
  withoutDefer(labelsToRemove?: Set<string>): FieldSelection;
@@ -345,7 +375,9 @@ export declare class FieldSelection extends AbstractSelection<Field<any>, undefi
345
375
  }): FieldSelection;
346
376
  expandFragments(updatedFragments?: NamedFragments): FieldSelection;
347
377
  equals(that: Selection): boolean;
348
- contains(that: Selection): ContainsResult;
378
+ contains(that: Selection, options?: {
379
+ ignoreMissingTypename?: boolean;
380
+ }): ContainsResult;
349
381
  toString(expandFragments?: boolean, indent?: string): string;
350
382
  }
351
383
  export declare abstract class FragmentSelection extends AbstractSelection<FragmentElement, never, FragmentSelection> {
@@ -356,7 +388,9 @@ export declare abstract class FragmentSelection extends AbstractSelection<Fragme
356
388
  filterRecursiveDepthFirst(predicate: (selection: Selection) => boolean): FragmentSelection | undefined;
357
389
  hasDefer(): boolean;
358
390
  abstract equals(that: Selection): boolean;
359
- abstract contains(that: Selection): ContainsResult;
391
+ abstract contains(that: Selection, options?: {
392
+ ignoreMissingTypename?: boolean;
393
+ }): ContainsResult;
360
394
  normalize({ parentType, recursive }: {
361
395
  parentType: CompositeType;
362
396
  recursive?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,9 @@ class AbstractOperationElement extends definitions_1.DirectiveTargetElement {
25
25
  this.collectVariablesInElement(collector);
26
26
  this.collectVariablesInAppliedDirectives(collector);
27
27
  }
28
+ rebaseOnOrError(parentType) {
29
+ return this.rebaseOn({ parentType, errorIfCannotRebase: true });
30
+ }
28
31
  addAttachement(key, value) {
29
32
  if (!this.attachements) {
30
33
  this.attachements = new Map();
@@ -162,7 +165,7 @@ class Field extends AbstractOperationElement {
162
165
  }
163
166
  }
164
167
  }
165
- rebaseOn(parentType) {
168
+ rebaseOn({ parentType, errorIfCannotRebase }) {
166
169
  const fieldParent = this.definition.parent;
167
170
  if (parentType === fieldParent) {
168
171
  return this;
@@ -170,9 +173,12 @@ class Field extends AbstractOperationElement {
170
173
  if (this.name === definitions_1.typenameFieldName) {
171
174
  return this.withUpdatedDefinition(parentType.typenameField());
172
175
  }
173
- validate(this.canRebaseOn(parentType), () => `Cannot add selection of field "${this.definition.coordinate}" to selection set of parent type "${parentType}"`);
174
176
  const fieldDef = parentType.field(this.name);
175
- validate(fieldDef, () => `Cannot add selection of field "${this.definition.coordinate}" to selection set of parent type "${parentType}" (that does not declare that field)`);
177
+ const canRebase = this.canRebaseOn(parentType) && fieldDef;
178
+ if (!canRebase) {
179
+ validate(!errorIfCannotRebase, () => `Cannot add selection of field "${this.definition.coordinate}" to selection set of parent type "${parentType}"`);
180
+ return undefined;
181
+ }
176
182
  return this.withUpdatedDefinition(fieldDef);
177
183
  }
178
184
  canRebaseOn(parentType) {
@@ -276,14 +282,17 @@ class FragmentElement extends AbstractOperationElement {
276
282
  this.copyAttachementsTo(newFragment);
277
283
  return newFragment;
278
284
  }
279
- rebaseOn(parentType) {
285
+ rebaseOn({ parentType, errorIfCannotRebase }) {
280
286
  const fragmentParent = this.parentType;
281
287
  const typeCondition = this.typeCondition;
282
288
  if (parentType === fragmentParent) {
283
289
  return this;
284
290
  }
285
291
  const { canRebase, rebasedCondition } = this.canRebaseOn(parentType);
286
- validate(canRebase, () => `Cannot add fragment of condition "${typeCondition}" (runtimes: [${(0, definitions_1.possibleRuntimeTypes)(typeCondition)}]) to parent type "${parentType}" (runtimes: ${(0, definitions_1.possibleRuntimeTypes)(parentType)})`);
292
+ if (!canRebase) {
293
+ validate(!errorIfCannotRebase, () => `Cannot add fragment of condition "${typeCondition}" (runtimes: [${(0, definitions_1.possibleRuntimeTypes)(typeCondition)}]) to parent type "${parentType}" (runtimes: ${(0, definitions_1.possibleRuntimeTypes)(parentType)})`);
294
+ return undefined;
295
+ }
287
296
  return this.withUpdatedTypes(parentType, rebasedCondition);
288
297
  }
289
298
  canRebaseOn(parentType) {
@@ -712,7 +721,7 @@ class NamedFragmentDefinition extends definitions_1.DirectiveTargetElement {
712
721
  return included;
713
722
  }
714
723
  toString(indent) {
715
- return (indent !== null && indent !== void 0 ? indent : '') + `fragment ${this.name} on ${this.typeCondition}${this.appliedDirectivesToString()} ${this.selectionSet.toString(false, true, indent)}`;
724
+ return `fragment ${this.name} on ${this.typeCondition}${this.appliedDirectivesToString()} ${this.selectionSet.toString(false, true, indent)}`;
716
725
  }
717
726
  }
718
727
  exports.NamedFragmentDefinition = NamedFragmentDefinition;
@@ -801,19 +810,27 @@ class NamedFragments {
801
810
  return fragment.withUpdatedSelectionSet(reoptimizedSelectionSet);
802
811
  });
803
812
  }
813
+ selectionSetIsWorthUsing(selectionSet) {
814
+ const selections = selectionSet.selections();
815
+ if (selections.length === 0) {
816
+ return false;
817
+ }
818
+ if (selections.length === 1) {
819
+ const s = selections[0];
820
+ return !(s.kind === 'FieldSelection' && s.element.isLeafField());
821
+ }
822
+ return true;
823
+ }
804
824
  rebaseOn(schema) {
805
825
  return this.mapInDependencyOrder((fragment, newFragments) => {
806
826
  const rebasedType = schema.type(fragment.selectionSet.parentType.name);
807
- try {
808
- if (!rebasedType || !(0, definitions_1.isCompositeType)(rebasedType)) {
809
- return undefined;
810
- }
811
- const rebasedSelection = fragment.selectionSet.rebaseOn(rebasedType, newFragments);
812
- return new NamedFragmentDefinition(schema, fragment.name, rebasedType).setSelectionSet(rebasedSelection);
813
- }
814
- catch (e) {
827
+ if (!rebasedType || !(0, definitions_1.isCompositeType)(rebasedType)) {
815
828
  return undefined;
816
829
  }
830
+ const rebasedSelection = fragment.selectionSet.rebaseOn({ parentType: rebasedType, fragments: newFragments, errorIfCannotRebase: false });
831
+ return this.selectionSetIsWorthUsing(rebasedSelection)
832
+ ? new NamedFragmentDefinition(schema, fragment.name, rebasedType).setSelectionSet(rebasedSelection)
833
+ : undefined;
817
834
  });
818
835
  }
819
836
  filter(predicate) {
@@ -914,6 +931,18 @@ class SelectionSet {
914
931
  hasTopLevelTypenameField() {
915
932
  return this._keyedSelections.has(definitions_1.typenameFieldName);
916
933
  }
934
+ withoutTopLevelTypenameField() {
935
+ if (!this.hasTopLevelTypenameField) {
936
+ return this;
937
+ }
938
+ const newKeyedSelections = new Map();
939
+ for (const [key, selection] of this._keyedSelections) {
940
+ if (key !== definitions_1.typenameFieldName) {
941
+ newKeyedSelections.set(key, selection);
942
+ }
943
+ }
944
+ return new SelectionSet(this.parentType, newKeyedSelections);
945
+ }
917
946
  fieldsInSet() {
918
947
  const fields = new Array();
919
948
  for (const selection of this.selections()) {
@@ -1021,13 +1050,16 @@ class SelectionSet {
1021
1050
  const updated = this.filterRecursiveDepthFirst((selection) => { var _a; return ((_a = selection.selectionSet) === null || _a === void 0 ? void 0 : _a.isEmpty()) !== true; });
1022
1051
  return updated.isEmpty() ? undefined : updated;
1023
1052
  }
1024
- rebaseOn(parentType, fragments) {
1053
+ rebaseOn({ parentType, fragments, errorIfCannotRebase, }) {
1025
1054
  if (this.parentType === parentType) {
1026
1055
  return this;
1027
1056
  }
1028
1057
  const newSelections = new Map();
1029
1058
  for (const selection of this.selections()) {
1030
- newSelections.set(selection.key(), selection.rebaseOn(parentType, fragments));
1059
+ const rebasedSelection = selection.rebaseOn({ parentType, fragments, errorIfCannotRebase });
1060
+ if (rebasedSelection) {
1061
+ newSelections.set(selection.key(), rebasedSelection);
1062
+ }
1031
1063
  }
1032
1064
  return new SelectionSet(parentType, newSelections);
1033
1065
  }
@@ -1046,20 +1078,31 @@ class SelectionSet {
1046
1078
  }
1047
1079
  return true;
1048
1080
  }
1049
- contains(that) {
1081
+ contains(that, options) {
1082
+ var _a;
1083
+ const ignoreMissingTypename = (_a = options === null || options === void 0 ? void 0 : options.ignoreMissingTypename) !== null && _a !== void 0 ? _a : false;
1050
1084
  if (that._selections.length > this._selections.length) {
1051
- return ContainsResult.NOT_CONTAINED;
1085
+ if (!ignoreMissingTypename || that._selections.length > this._selections.length + 1 || this.hasTopLevelTypenameField() || !that.hasTopLevelTypenameField()) {
1086
+ return ContainsResult.NOT_CONTAINED;
1087
+ }
1052
1088
  }
1053
1089
  let isEqual = true;
1090
+ let didIgnoreTypename = false;
1054
1091
  for (const [key, thatSelection] of that._keyedSelections) {
1092
+ if (key === definitions_1.typenameFieldName && ignoreMissingTypename) {
1093
+ if (!this._keyedSelections.has(definitions_1.typenameFieldName)) {
1094
+ didIgnoreTypename = true;
1095
+ }
1096
+ continue;
1097
+ }
1055
1098
  const thisSelection = this._keyedSelections.get(key);
1056
- const selectionResult = thisSelection === null || thisSelection === void 0 ? void 0 : thisSelection.contains(thatSelection);
1099
+ const selectionResult = thisSelection === null || thisSelection === void 0 ? void 0 : thisSelection.contains(thatSelection, options);
1057
1100
  if (selectionResult === undefined || selectionResult === ContainsResult.NOT_CONTAINED) {
1058
1101
  return ContainsResult.NOT_CONTAINED;
1059
1102
  }
1060
1103
  isEqual && (isEqual = selectionResult === ContainsResult.EQUAL);
1061
1104
  }
1062
- return isEqual && that._selections.length === this._selections.length
1105
+ return isEqual && that._selections.length === (this._selections.length + (didIgnoreTypename ? 1 : 0))
1063
1106
  ? ContainsResult.EQUAL
1064
1107
  : ContainsResult.STRICTLY_CONTAINED;
1065
1108
  }
@@ -1318,9 +1361,9 @@ function makeSelection(parentType, updates, fragments) {
1318
1361
  (0, utils_1.assert)(updates.length > 0, 'Should not be called without any updates');
1319
1362
  const first = updates[0];
1320
1363
  if (updates.length === 1 && first instanceof AbstractSelection) {
1321
- return first.rebaseOn(parentType, fragments);
1364
+ return first.rebaseOnOrError({ parentType, fragments });
1322
1365
  }
1323
- const element = updateElement(first).rebaseOn(parentType);
1366
+ const element = updateElement(first).rebaseOnOrError(parentType);
1324
1367
  const subSelectionParentType = element.kind === 'Field' ? element.baseType() : element.castedType();
1325
1368
  if (!(0, definitions_1.isCompositeType)(subSelectionParentType)) {
1326
1369
  return selectionOfElement(element);
@@ -1451,6 +1494,9 @@ class AbstractSelection {
1451
1494
  constructor(element) {
1452
1495
  this.element = element;
1453
1496
  }
1497
+ rebaseOnOrError({ parentType, fragments }) {
1498
+ return this.rebaseOn({ parentType, fragments, errorIfCannotRebase: true });
1499
+ }
1454
1500
  get parentType() {
1455
1501
  return this.element.parentType;
1456
1502
  }
@@ -1515,11 +1561,10 @@ class AbstractSelection {
1515
1561
  const applyingFragments = [];
1516
1562
  for (const candidate of candidates) {
1517
1563
  const atType = candidate.expandedSelectionSetAtType(parentType);
1518
- const selectionSetAtType = atType.selectionSet;
1519
- if (selectionSetAtType.isEmpty() || (selectionSetAtType.selections().length === 1 && selectionSetAtType.selections()[0].isTypenameField())) {
1564
+ if (atType.selectionSet.isEmpty() || (atType.selectionSet.selections().length === 1 && atType.selectionSet.selections()[0].isTypenameField())) {
1520
1565
  continue;
1521
1566
  }
1522
- const res = subSelection.contains(selectionSetAtType);
1567
+ const res = subSelection.contains(atType.selectionSet, { ignoreMissingTypename: true });
1523
1568
  if (res === ContainsResult.EQUAL) {
1524
1569
  if (canUseFullMatchingFragment(candidate)) {
1525
1570
  if (!validator.checkCanReuseFragmentAndTrackIt(atType)) {
@@ -1753,11 +1798,14 @@ class FieldSelection extends AbstractSelection {
1753
1798
  validate(this.element.isLeafField() || (this.selectionSet && !this.selectionSet.isEmpty()), () => `Invalid empty selection set for field "${this.element.definition.coordinate}" of non-leaf type ${this.element.definition.type}`, this.element.definition.sourceAST);
1754
1799
  (_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.validate(variableDefinitions);
1755
1800
  }
1756
- rebaseOn(parentType, fragments) {
1801
+ rebaseOn({ parentType, fragments, errorIfCannotRebase, }) {
1757
1802
  if (this.element.parentType === parentType) {
1758
1803
  return this;
1759
1804
  }
1760
- const rebasedElement = this.element.rebaseOn(parentType);
1805
+ const rebasedElement = this.element.rebaseOn({ parentType, errorIfCannotRebase });
1806
+ if (!rebasedElement) {
1807
+ return undefined;
1808
+ }
1761
1809
  if (!this.selectionSet) {
1762
1810
  return this.withUpdatedElement(rebasedElement);
1763
1811
  }
@@ -1766,7 +1814,8 @@ class FieldSelection extends AbstractSelection {
1766
1814
  return this.withUpdatedElement(rebasedElement);
1767
1815
  }
1768
1816
  validate((0, definitions_1.isCompositeType)(rebasedBase), () => `Cannot rebase field selection ${this} on ${parentType}: rebased field base return type ${rebasedBase} is not composite`);
1769
- return this.withUpdatedComponents(rebasedElement, this.selectionSet.rebaseOn(rebasedBase, fragments));
1817
+ const rebasedSelectionSet = this.selectionSet.rebaseOn({ parentType: rebasedBase, fragments, errorIfCannotRebase });
1818
+ return rebasedSelectionSet.isEmpty() ? undefined : this.withUpdatedComponents(rebasedElement, rebasedSelectionSet);
1770
1819
  }
1771
1820
  canAddTo(parentType) {
1772
1821
  if (this.element.parentType === parentType) {
@@ -1842,7 +1891,7 @@ class FieldSelection extends AbstractSelection {
1842
1891
  }
1843
1892
  return !!that.selectionSet && this.selectionSet.equals(that.selectionSet);
1844
1893
  }
1845
- contains(that) {
1894
+ contains(that, options) {
1846
1895
  if (!(that instanceof FieldSelection) || !this.element.equals(that.element)) {
1847
1896
  return ContainsResult.NOT_CONTAINED;
1848
1897
  }
@@ -1851,7 +1900,7 @@ class FieldSelection extends AbstractSelection {
1851
1900
  return ContainsResult.EQUAL;
1852
1901
  }
1853
1902
  (0, utils_1.assert)(that.selectionSet, '`this` and `that` have the same element, so if one has sub-selection, the other one should too');
1854
- return this.selectionSet.contains(that.selectionSet);
1903
+ return this.selectionSet.contains(that.selectionSet, options);
1855
1904
  }
1856
1905
  toString(expandFragments = true, indent) {
1857
1906
  return (indent !== null && indent !== void 0 ? indent : '') + this.element + (this.selectionSet ? ' ' + this.selectionSet.toString(expandFragments, true, indent) : '');
@@ -1918,16 +1967,20 @@ class InlineFragmentSelection extends FragmentSelection {
1918
1967
  validate(!this.selectionSet.isEmpty(), () => `Invalid empty selection set for fragment "${this.element}"`);
1919
1968
  this.selectionSet.validate(variableDefinitions);
1920
1969
  }
1921
- rebaseOn(parentType, fragments) {
1970
+ rebaseOn({ parentType, fragments, errorIfCannotRebase, }) {
1922
1971
  if (this.parentType === parentType) {
1923
1972
  return this;
1924
1973
  }
1925
- const rebasedFragment = this.element.rebaseOn(parentType);
1974
+ const rebasedFragment = this.element.rebaseOn({ parentType, errorIfCannotRebase });
1975
+ if (!rebasedFragment) {
1976
+ return undefined;
1977
+ }
1926
1978
  const rebasedCastedType = rebasedFragment.castedType();
1927
1979
  if (rebasedCastedType === this.selectionSet.parentType) {
1928
1980
  return this.withUpdatedElement(rebasedFragment);
1929
1981
  }
1930
- return this.withUpdatedComponents(rebasedFragment, this.selectionSet.rebaseOn(rebasedCastedType, fragments));
1982
+ const rebasedSelectionSet = this.selectionSet.rebaseOn({ parentType: rebasedCastedType, fragments, errorIfCannotRebase });
1983
+ return rebasedSelectionSet.isEmpty() ? undefined : this.withUpdatedComponents(rebasedFragment, rebasedSelectionSet);
1931
1984
  }
1932
1985
  canAddTo(parentType) {
1933
1986
  if (this.element.parentType === parentType) {
@@ -2035,7 +2088,7 @@ class InlineFragmentSelection extends FragmentSelection {
2035
2088
  return undefined;
2036
2089
  }
2037
2090
  else {
2038
- return this.withUpdatedComponents(this.element.rebaseOn(parentType), selectionSetOfElement(new Field(((_a = this.element.typeCondition) !== null && _a !== void 0 ? _a : parentType).typenameField(), undefined, [new definitions_1.Directive('include', { 'if': false })])));
2091
+ return this.withUpdatedComponents(this.element.rebaseOnOrError(parentType), selectionSetOfElement(new Field(((_a = this.element.typeCondition) !== null && _a !== void 0 ? _a : parentType).typenameField(), undefined, [new definitions_1.Directive('include', { 'if': false })])));
2039
2092
  }
2040
2093
  }
2041
2094
  }
@@ -2066,7 +2119,7 @@ class InlineFragmentSelection extends FragmentSelection {
2066
2119
  }
2067
2120
  return this.parentType === parentType && this.selectionSet === normalizedSelectionSet
2068
2121
  ? this
2069
- : this.withUpdatedComponents(this.element.rebaseOn(parentType), normalizedSelectionSet);
2122
+ : this.withUpdatedComponents(this.element.rebaseOnOrError(parentType), normalizedSelectionSet);
2070
2123
  }
2071
2124
  expandFragments(updatedFragments) {
2072
2125
  return this.mapToSelectionSet((s) => s.expandFragments(updatedFragments));
@@ -2079,11 +2132,11 @@ class InlineFragmentSelection extends FragmentSelection {
2079
2132
  && this.element.equals(that.element)
2080
2133
  && this.selectionSet.equals(that.selectionSet);
2081
2134
  }
2082
- contains(that) {
2135
+ contains(that, options) {
2083
2136
  if (!(that instanceof FragmentSelection) || !this.element.equals(that.element)) {
2084
2137
  return ContainsResult.NOT_CONTAINED;
2085
2138
  }
2086
- return this.selectionSet.contains(that.selectionSet);
2139
+ return this.selectionSet.contains(that.selectionSet, options);
2087
2140
  }
2088
2141
  toString(expandFragments = true, indent) {
2089
2142
  return (indent !== null && indent !== void 0 ? indent : '') + this.element + ' ' + this.selectionSet.toString(expandFragments, true, indent);
@@ -2113,7 +2166,7 @@ class FragmentSpreadSelection extends FragmentSelection {
2113
2166
  }
2114
2167
  normalizeKnowingItIntersects({ parentType }) {
2115
2168
  (0, utils_1.assert)(parentType.schema() === this.parentType.schema(), 'Should not try to normalize using a type from another schema');
2116
- return this.rebaseOn(parentType, this.fragments);
2169
+ return this.rebaseOnOrError({ parentType, fragments: this.fragments });
2117
2170
  }
2118
2171
  validate() {
2119
2172
  this.validateDeferAndStream();
@@ -2141,14 +2194,17 @@ class FragmentSpreadSelection extends FragmentSelection {
2141
2194
  optimize(_1, _2) {
2142
2195
  return this;
2143
2196
  }
2144
- rebaseOn(parentType, fragments) {
2197
+ rebaseOn({ parentType, fragments, errorIfCannotRebase, }) {
2145
2198
  if (this.parentType === parentType) {
2146
2199
  return this;
2147
2200
  }
2148
2201
  (0, utils_1.assert)(fragments || this.parentType.schema() === parentType.schema(), `Must provide fragments is rebasing on other schema`);
2149
2202
  const newFragments = fragments !== null && fragments !== void 0 ? fragments : this.fragments;
2150
2203
  const namedFragment = newFragments.get(this.namedFragment.name);
2151
- (0, utils_1.assert)(namedFragment, () => `Cannot rebase ${this} if it isn't part of the provided fragments`);
2204
+ if (!namedFragment) {
2205
+ validate(!errorIfCannotRebase, () => `Cannot rebase ${this.toString(false)} if it isn't part of the provided fragments`);
2206
+ return undefined;
2207
+ }
2152
2208
  return new FragmentSpreadSelection(parentType, newFragments, namedFragment, this.spreadDirectives);
2153
2209
  }
2154
2210
  canAddTo(_) {
@@ -2185,14 +2241,14 @@ class FragmentSpreadSelection extends FragmentSelection {
2185
2241
  && this.namedFragment.name === that.namedFragment.name
2186
2242
  && (0, definitions_1.sameDirectiveApplications)(this.spreadDirectives, that.spreadDirectives);
2187
2243
  }
2188
- contains(that) {
2244
+ contains(that, options) {
2189
2245
  if (this.equals(that)) {
2190
2246
  return ContainsResult.EQUAL;
2191
2247
  }
2192
2248
  if (!(that instanceof FragmentSelection) || !this.element.equals(that.element)) {
2193
2249
  return ContainsResult.NOT_CONTAINED;
2194
2250
  }
2195
- return this.selectionSet.contains(that.selectionSet);
2251
+ return this.selectionSet.contains(that.selectionSet, options);
2196
2252
  }
2197
2253
  toString(expandFragments = true, indent) {
2198
2254
  if (expandFragments) {