@salesforce/lds-adapters-uiapi 1.114.5 → 1.115.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.
@@ -5756,6 +5756,10 @@ function createPageInfo(edges, startOffset, endOffset, maxOffset, metadata) {
5756
5756
  function findMaxOffset(metadata) {
5757
5757
  if (metadata === undefined)
5758
5758
  return -1;
5759
+ const endOfList = metadata["__END__"];
5760
+ if (endOfList !== undefined) {
5761
+ return endOfList > 0 ? endOfList - 1 : 0; // Cursor based pagination in gql is off by one :)
5762
+ }
5759
5763
  const { __END__: _, ...cursorMetadata } = metadata;
5760
5764
  const values = Object.values(cursorMetadata).filter((value) => value !== undefined);
5761
5765
  return Math.max(...values);
@@ -31657,93 +31661,6 @@ const getKeywordSearchResultsAdapterFactory = (luvio) => function UiApi__getKeyw
31657
31661
  buildCachedSnapshotCachePolicy$6, buildNetworkSnapshotCachePolicy$7);
31658
31662
  };
31659
31663
 
31660
- function applyToSelection$6(selection, directive, variables) {
31661
- return selection;
31662
- }
31663
-
31664
- function applyToSelection$5(selection, directive, variables) {
31665
- return selection;
31666
- }
31667
-
31668
- function applyToSelection$4(selection, directive, variables) {
31669
- return selection;
31670
- }
31671
-
31672
- function applyToSelection$3(selection, directive, variables) {
31673
- var _a;
31674
- const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
31675
- if (ifArg && ifArg.value) {
31676
- if (ifArg.value.kind === "BooleanValue") {
31677
- return ifArg.value.value ? selection : undefined;
31678
- }
31679
- if (ifArg.value.kind === "Variable") {
31680
- return variables[ifArg.value.name.value] ? selection : undefined;
31681
- }
31682
- }
31683
- return selection;
31684
- }
31685
-
31686
- function applyToSelection$2(selection, directive, variables) {
31687
- var _a;
31688
- const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
31689
- if (ifArg && ifArg.value) {
31690
- if (ifArg.value.kind === "BooleanValue") {
31691
- return ifArg.value.value ? undefined : selection;
31692
- }
31693
- if (ifArg.value.kind === "Variable") {
31694
- return variables[ifArg.value.name.value] ? undefined : selection;
31695
- }
31696
- }
31697
- return selection;
31698
- }
31699
-
31700
- function applyToSelection$1(selection, directive, variables) {
31701
- return selection;
31702
- }
31703
-
31704
- function applyToSelection(selection, directive, variables) {
31705
- return selection;
31706
- }
31707
-
31708
- function applyDirectivesForSelection(selection, variables) {
31709
- let result = selection;
31710
- if (selection && selection.directives) {
31711
- // iterate through directives in order. Directives _can_ be stacked.
31712
- for (var i = 0; i < selection.directives.length; i++) {
31713
- const directive = selection.directives[i];
31714
- switch (directive.name.value) {
31715
- // Generate Case for each directive in the schema that supports SelectionNodes
31716
- case ("generic"):
31717
- result = applyToSelection$6(selection);
31718
- break;
31719
- case ("fieldCategory"):
31720
- result = applyToSelection$5(selection);
31721
- break;
31722
- case ("category"):
31723
- result = applyToSelection$4(selection);
31724
- break;
31725
- case ("include"):
31726
- result = applyToSelection$3(selection, directive, variables);
31727
- break;
31728
- case ("skip"):
31729
- result = applyToSelection$2(selection, directive, variables);
31730
- break;
31731
- case ("deprecated"):
31732
- result = applyToSelection$1(selection);
31733
- break;
31734
- case ("specifiedBy"):
31735
- result = applyToSelection(selection);
31736
- break;
31737
- }
31738
- if (result === undefined) {
31739
- // Selection was removed.
31740
- break;
31741
- }
31742
- }
31743
- }
31744
- return result;
31745
- }
31746
-
31747
31664
  const name$G = 'DoubleValue';
31748
31665
  const VERSION$T = 'de69c0962aca45d77a5bc8d9abacfa7d';
31749
31666
  function keyBuilder$U(luvio, path, data) {
@@ -31803,79 +31720,18 @@ function selectType$H(typename, sel, fieldData, reader, key, sink, variables, fr
31803
31720
  }
31804
31721
  return sink;
31805
31722
  }
31806
- function buildSelectionForField$G(source, reader, sel, variables, fragments) {
31807
- const sink = {};
31808
- const fieldData = getFieldData$G(source, sel, variables);
31809
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
31810
- reader.enterPath(requestedFieldName);
31811
- if (fieldData === undefined) {
31812
- reader.markMissing();
31813
- reader.exitPath();
31814
- return;
31815
- }
31816
- if (fieldData === null) {
31817
- reader.assignScalar(requestedFieldName, sink, fieldData);
31818
- return sink;
31819
- }
31820
- const fieldType = getFieldType$11(sel);
31821
- if (fieldType === undefined) {
31822
- // This field's type is unknown to us. This breaks normalization.
31823
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
31824
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
31825
- }
31826
- else if (fieldType.isArray) {
31827
- const arraySink = [];
31828
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
31829
- reader.enterPath(i);
31830
- selectType$H(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
31831
- reader.exitPath();
31832
- }
31833
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
31834
- }
31835
- else {
31836
- selectType$H(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
31837
- }
31838
- reader.exitPath();
31839
- return sink;
31723
+ function buildSelectionForField$H(source, reader, sel, variables, fragments) {
31724
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$G, getFieldType$11, selectType$H);
31840
31725
  }
31841
- function buildSelectionForNode$G(source, reader, parentNode, selectionNode, variables, fragments) {
31842
- const sink = {};
31843
- if (selectionNode.directives) {
31844
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
31845
- if (selectionWithDirectives === undefined) {
31846
- return;
31847
- }
31848
- selectionNode = selectionWithDirectives;
31849
- }
31850
- if (selectionNode.kind === "InlineFragment") {
31851
- if (isFragmentApplicable$H(selectionNode, source.data.__typename)) {
31852
- // Get selections out of the inline fragment
31853
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
31854
- // Call into field handling with selections
31855
- Object.assign(sink, buildSelectionForNode$G(source, reader, parentNode, fragmentSelection, variables, fragments));
31856
- });
31857
- }
31858
- }
31859
- if (selectionNode.kind === "FragmentSpread") {
31860
- const namedFragment = fragments[selectionNode.name.value];
31861
- if (namedFragment && isFragmentApplicable$H(namedFragment, source.data.__typename)) {
31862
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
31863
- // Call into field handling with selections
31864
- Object.assign(sink, buildSelectionForNode$G(source, reader, parentNode, fragmentSelection, variables, fragments));
31865
- });
31866
- }
31867
- }
31868
- if (selectionNode.kind === "Field") {
31869
- Object.assign(sink, buildSelectionForField$G(source, reader, selectionNode, variables));
31870
- }
31871
- return sink;
31726
+ function buildSelectionForNode$H(source, reader, parentNode, selectionNode, variables, fragments) {
31727
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$H, buildSelectionForField$H);
31872
31728
  }
31873
31729
  function select$Q(field, variables, fragments) {
31874
31730
  return (source, reader) => {
31875
31731
  var _a;
31876
31732
  const sink = {};
31877
31733
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
31878
- const builtSelection = buildSelectionForNode$G(source, reader, field, sel, variables, fragments);
31734
+ const builtSelection = buildSelectionForNode$H(source, reader, field, sel, variables, fragments);
31879
31735
  if (builtSelection !== undefined) {
31880
31736
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
31881
31737
  Object.keys(builtSelection).forEach((key, value) => {
@@ -32023,79 +31879,18 @@ function selectType$G(typename, sel, fieldData, reader, key, sink, variables, fr
32023
31879
  }
32024
31880
  return sink;
32025
31881
  }
32026
- function buildSelectionForField$F(source, reader, sel, variables, fragments) {
32027
- const sink = {};
32028
- const fieldData = getFieldData$F(source, sel, variables);
32029
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
32030
- reader.enterPath(requestedFieldName);
32031
- if (fieldData === undefined) {
32032
- reader.markMissing();
32033
- reader.exitPath();
32034
- return;
32035
- }
32036
- if (fieldData === null) {
32037
- reader.assignScalar(requestedFieldName, sink, fieldData);
32038
- return sink;
32039
- }
32040
- const fieldType = getFieldType$10(sel);
32041
- if (fieldType === undefined) {
32042
- // This field's type is unknown to us. This breaks normalization.
32043
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
32044
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
32045
- }
32046
- else if (fieldType.isArray) {
32047
- const arraySink = [];
32048
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
32049
- reader.enterPath(i);
32050
- selectType$G(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
32051
- reader.exitPath();
32052
- }
32053
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
32054
- }
32055
- else {
32056
- selectType$G(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
32057
- }
32058
- reader.exitPath();
32059
- return sink;
31882
+ function buildSelectionForField$G(source, reader, sel, variables, fragments) {
31883
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$F, getFieldType$10, selectType$G);
32060
31884
  }
32061
- function buildSelectionForNode$F(source, reader, parentNode, selectionNode, variables, fragments) {
32062
- const sink = {};
32063
- if (selectionNode.directives) {
32064
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
32065
- if (selectionWithDirectives === undefined) {
32066
- return;
32067
- }
32068
- selectionNode = selectionWithDirectives;
32069
- }
32070
- if (selectionNode.kind === "InlineFragment") {
32071
- if (isFragmentApplicable$G(selectionNode, source.data.__typename)) {
32072
- // Get selections out of the inline fragment
32073
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
32074
- // Call into field handling with selections
32075
- Object.assign(sink, buildSelectionForNode$F(source, reader, parentNode, fragmentSelection, variables, fragments));
32076
- });
32077
- }
32078
- }
32079
- if (selectionNode.kind === "FragmentSpread") {
32080
- const namedFragment = fragments[selectionNode.name.value];
32081
- if (namedFragment && isFragmentApplicable$G(namedFragment, source.data.__typename)) {
32082
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
32083
- // Call into field handling with selections
32084
- Object.assign(sink, buildSelectionForNode$F(source, reader, parentNode, fragmentSelection, variables, fragments));
32085
- });
32086
- }
32087
- }
32088
- if (selectionNode.kind === "Field") {
32089
- Object.assign(sink, buildSelectionForField$F(source, reader, selectionNode, variables));
32090
- }
32091
- return sink;
31885
+ function buildSelectionForNode$G(source, reader, parentNode, selectionNode, variables, fragments) {
31886
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$G, buildSelectionForField$G);
32092
31887
  }
32093
31888
  function select$P(field, variables, fragments) {
32094
31889
  return (source, reader) => {
32095
31890
  var _a;
32096
31891
  const sink = {};
32097
31892
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
32098
- const builtSelection = buildSelectionForNode$F(source, reader, field, sel, variables, fragments);
31893
+ const builtSelection = buildSelectionForNode$G(source, reader, field, sel, variables, fragments);
32099
31894
  if (builtSelection !== undefined) {
32100
31895
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
32101
31896
  Object.keys(builtSelection).forEach((key, value) => {
@@ -32243,79 +32038,18 @@ function selectType$F(typename, sel, fieldData, reader, key, sink, variables, fr
32243
32038
  }
32244
32039
  return sink;
32245
32040
  }
32246
- function buildSelectionForField$E(source, reader, sel, variables, fragments) {
32247
- const sink = {};
32248
- const fieldData = getFieldData$E(source, sel, variables);
32249
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
32250
- reader.enterPath(requestedFieldName);
32251
- if (fieldData === undefined) {
32252
- reader.markMissing();
32253
- reader.exitPath();
32254
- return;
32255
- }
32256
- if (fieldData === null) {
32257
- reader.assignScalar(requestedFieldName, sink, fieldData);
32258
- return sink;
32259
- }
32260
- const fieldType = getFieldType$$(sel);
32261
- if (fieldType === undefined) {
32262
- // This field's type is unknown to us. This breaks normalization.
32263
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
32264
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
32265
- }
32266
- else if (fieldType.isArray) {
32267
- const arraySink = [];
32268
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
32269
- reader.enterPath(i);
32270
- selectType$F(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
32271
- reader.exitPath();
32272
- }
32273
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
32274
- }
32275
- else {
32276
- selectType$F(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
32277
- }
32278
- reader.exitPath();
32279
- return sink;
32041
+ function buildSelectionForField$F(source, reader, sel, variables, fragments) {
32042
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$E, getFieldType$$, selectType$F);
32280
32043
  }
32281
- function buildSelectionForNode$E(source, reader, parentNode, selectionNode, variables, fragments) {
32282
- const sink = {};
32283
- if (selectionNode.directives) {
32284
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
32285
- if (selectionWithDirectives === undefined) {
32286
- return;
32287
- }
32288
- selectionNode = selectionWithDirectives;
32289
- }
32290
- if (selectionNode.kind === "InlineFragment") {
32291
- if (isFragmentApplicable$F(selectionNode, source.data.__typename)) {
32292
- // Get selections out of the inline fragment
32293
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
32294
- // Call into field handling with selections
32295
- Object.assign(sink, buildSelectionForNode$E(source, reader, parentNode, fragmentSelection, variables, fragments));
32296
- });
32297
- }
32298
- }
32299
- if (selectionNode.kind === "FragmentSpread") {
32300
- const namedFragment = fragments[selectionNode.name.value];
32301
- if (namedFragment && isFragmentApplicable$F(namedFragment, source.data.__typename)) {
32302
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
32303
- // Call into field handling with selections
32304
- Object.assign(sink, buildSelectionForNode$E(source, reader, parentNode, fragmentSelection, variables, fragments));
32305
- });
32306
- }
32307
- }
32308
- if (selectionNode.kind === "Field") {
32309
- Object.assign(sink, buildSelectionForField$E(source, reader, selectionNode, variables));
32310
- }
32311
- return sink;
32044
+ function buildSelectionForNode$F(source, reader, parentNode, selectionNode, variables, fragments) {
32045
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$F, buildSelectionForField$F);
32312
32046
  }
32313
32047
  function select$O(field, variables, fragments) {
32314
32048
  return (source, reader) => {
32315
32049
  var _a;
32316
32050
  const sink = {};
32317
32051
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
32318
- const builtSelection = buildSelectionForNode$E(source, reader, field, sel, variables, fragments);
32052
+ const builtSelection = buildSelectionForNode$F(source, reader, field, sel, variables, fragments);
32319
32053
  if (builtSelection !== undefined) {
32320
32054
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
32321
32055
  Object.keys(builtSelection).forEach((key, value) => {
@@ -32545,79 +32279,18 @@ function selectType$E(typename, sel, fieldData, reader, key, sink, variables, fr
32545
32279
  }
32546
32280
  return sink;
32547
32281
  }
32548
- function buildSelectionForField$D(source, reader, sel, variables, fragments) {
32549
- const sink = {};
32550
- const fieldData = getFieldData$D(source, sel, variables);
32551
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
32552
- reader.enterPath(requestedFieldName);
32553
- if (fieldData === undefined) {
32554
- reader.markMissing();
32555
- reader.exitPath();
32556
- return;
32557
- }
32558
- if (fieldData === null) {
32559
- reader.assignScalar(requestedFieldName, sink, fieldData);
32560
- return sink;
32561
- }
32562
- const fieldType = getFieldType$Z(sel);
32563
- if (fieldType === undefined) {
32564
- // This field's type is unknown to us. This breaks normalization.
32565
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
32566
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
32567
- }
32568
- else if (fieldType.isArray) {
32569
- const arraySink = [];
32570
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
32571
- reader.enterPath(i);
32572
- selectType$E(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
32573
- reader.exitPath();
32574
- }
32575
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
32576
- }
32577
- else {
32578
- selectType$E(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
32579
- }
32580
- reader.exitPath();
32581
- return sink;
32282
+ function buildSelectionForField$E(source, reader, sel, variables, fragments) {
32283
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$D, getFieldType$Z, selectType$E);
32582
32284
  }
32583
- function buildSelectionForNode$D(source, reader, parentNode, selectionNode, variables, fragments) {
32584
- const sink = {};
32585
- if (selectionNode.directives) {
32586
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
32587
- if (selectionWithDirectives === undefined) {
32588
- return;
32589
- }
32590
- selectionNode = selectionWithDirectives;
32591
- }
32592
- if (selectionNode.kind === "InlineFragment") {
32593
- if (isFragmentApplicable$E(selectionNode, source.data.__typename)) {
32594
- // Get selections out of the inline fragment
32595
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
32596
- // Call into field handling with selections
32597
- Object.assign(sink, buildSelectionForNode$D(source, reader, parentNode, fragmentSelection, variables, fragments));
32598
- });
32599
- }
32600
- }
32601
- if (selectionNode.kind === "FragmentSpread") {
32602
- const namedFragment = fragments[selectionNode.name.value];
32603
- if (namedFragment && isFragmentApplicable$E(namedFragment, source.data.__typename)) {
32604
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
32605
- // Call into field handling with selections
32606
- Object.assign(sink, buildSelectionForNode$D(source, reader, parentNode, fragmentSelection, variables, fragments));
32607
- });
32608
- }
32609
- }
32610
- if (selectionNode.kind === "Field") {
32611
- Object.assign(sink, buildSelectionForField$D(source, reader, selectionNode, variables));
32612
- }
32613
- return sink;
32285
+ function buildSelectionForNode$E(source, reader, parentNode, selectionNode, variables, fragments) {
32286
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$E, buildSelectionForField$E);
32614
32287
  }
32615
32288
  function select$N(field, variables, fragments) {
32616
32289
  return (source, reader) => {
32617
32290
  var _a;
32618
32291
  const sink = {};
32619
32292
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
32620
- const builtSelection = buildSelectionForNode$D(source, reader, field, sel, variables, fragments);
32293
+ const builtSelection = buildSelectionForNode$E(source, reader, field, sel, variables, fragments);
32621
32294
  if (builtSelection !== undefined) {
32622
32295
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
32623
32296
  Object.keys(builtSelection).forEach((key, value) => {
@@ -32761,79 +32434,18 @@ function selectType$D(typename, sel, fieldData, reader, key, sink, variables, fr
32761
32434
  }
32762
32435
  return sink;
32763
32436
  }
32764
- function buildSelectionForField$C(source, reader, sel, variables, fragments) {
32765
- const sink = {};
32766
- const fieldData = getFieldData$C(source, sel, variables);
32767
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
32768
- reader.enterPath(requestedFieldName);
32769
- if (fieldData === undefined) {
32770
- reader.markMissing();
32771
- reader.exitPath();
32772
- return;
32773
- }
32774
- if (fieldData === null) {
32775
- reader.assignScalar(requestedFieldName, sink, fieldData);
32776
- return sink;
32777
- }
32778
- const fieldType = getFieldType$Y(sel);
32779
- if (fieldType === undefined) {
32780
- // This field's type is unknown to us. This breaks normalization.
32781
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
32782
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
32783
- }
32784
- else if (fieldType.isArray) {
32785
- const arraySink = [];
32786
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
32787
- reader.enterPath(i);
32788
- selectType$D(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
32789
- reader.exitPath();
32790
- }
32791
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
32792
- }
32793
- else {
32794
- selectType$D(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
32795
- }
32796
- reader.exitPath();
32797
- return sink;
32437
+ function buildSelectionForField$D(source, reader, sel, variables, fragments) {
32438
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$C, getFieldType$Y, selectType$D);
32798
32439
  }
32799
- function buildSelectionForNode$C(source, reader, parentNode, selectionNode, variables, fragments) {
32800
- const sink = {};
32801
- if (selectionNode.directives) {
32802
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
32803
- if (selectionWithDirectives === undefined) {
32804
- return;
32805
- }
32806
- selectionNode = selectionWithDirectives;
32807
- }
32808
- if (selectionNode.kind === "InlineFragment") {
32809
- if (isFragmentApplicable$D(selectionNode, source.data.__typename)) {
32810
- // Get selections out of the inline fragment
32811
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
32812
- // Call into field handling with selections
32813
- Object.assign(sink, buildSelectionForNode$C(source, reader, parentNode, fragmentSelection, variables, fragments));
32814
- });
32815
- }
32816
- }
32817
- if (selectionNode.kind === "FragmentSpread") {
32818
- const namedFragment = fragments[selectionNode.name.value];
32819
- if (namedFragment && isFragmentApplicable$D(namedFragment, source.data.__typename)) {
32820
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
32821
- // Call into field handling with selections
32822
- Object.assign(sink, buildSelectionForNode$C(source, reader, parentNode, fragmentSelection, variables, fragments));
32823
- });
32824
- }
32825
- }
32826
- if (selectionNode.kind === "Field") {
32827
- Object.assign(sink, buildSelectionForField$C(source, reader, selectionNode, variables));
32828
- }
32829
- return sink;
32440
+ function buildSelectionForNode$D(source, reader, parentNode, selectionNode, variables, fragments) {
32441
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$D, buildSelectionForField$D);
32830
32442
  }
32831
32443
  function select$M(field, variables, fragments) {
32832
32444
  return (source, reader) => {
32833
32445
  var _a;
32834
32446
  const sink = {};
32835
32447
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
32836
- const builtSelection = buildSelectionForNode$C(source, reader, field, sel, variables, fragments);
32448
+ const builtSelection = buildSelectionForNode$D(source, reader, field, sel, variables, fragments);
32837
32449
  if (builtSelection !== undefined) {
32838
32450
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
32839
32451
  Object.keys(builtSelection).forEach((key, value) => {
@@ -33053,79 +32665,18 @@ function selectType$C(typename, sel, fieldData, reader, key, sink, variables, fr
33053
32665
  }
33054
32666
  return sink;
33055
32667
  }
33056
- function buildSelectionForField$B(source, reader, sel, variables, fragments) {
33057
- const sink = {};
33058
- const fieldData = getFieldData$B(source, sel, variables);
33059
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
33060
- reader.enterPath(requestedFieldName);
33061
- if (fieldData === undefined) {
33062
- reader.markMissing();
33063
- reader.exitPath();
33064
- return;
33065
- }
33066
- if (fieldData === null) {
33067
- reader.assignScalar(requestedFieldName, sink, fieldData);
33068
- return sink;
33069
- }
33070
- const fieldType = getFieldType$W(sel);
33071
- if (fieldType === undefined) {
33072
- // This field's type is unknown to us. This breaks normalization.
33073
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
33074
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
33075
- }
33076
- else if (fieldType.isArray) {
33077
- const arraySink = [];
33078
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
33079
- reader.enterPath(i);
33080
- selectType$C(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
33081
- reader.exitPath();
33082
- }
33083
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
33084
- }
33085
- else {
33086
- selectType$C(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
33087
- }
33088
- reader.exitPath();
33089
- return sink;
32668
+ function buildSelectionForField$C(source, reader, sel, variables, fragments) {
32669
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$B, getFieldType$W, selectType$C);
33090
32670
  }
33091
- function buildSelectionForNode$B(source, reader, parentNode, selectionNode, variables, fragments) {
33092
- const sink = {};
33093
- if (selectionNode.directives) {
33094
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
33095
- if (selectionWithDirectives === undefined) {
33096
- return;
33097
- }
33098
- selectionNode = selectionWithDirectives;
33099
- }
33100
- if (selectionNode.kind === "InlineFragment") {
33101
- if (isFragmentApplicable$C(selectionNode, source.data.__typename)) {
33102
- // Get selections out of the inline fragment
33103
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
33104
- // Call into field handling with selections
33105
- Object.assign(sink, buildSelectionForNode$B(source, reader, parentNode, fragmentSelection, variables, fragments));
33106
- });
33107
- }
33108
- }
33109
- if (selectionNode.kind === "FragmentSpread") {
33110
- const namedFragment = fragments[selectionNode.name.value];
33111
- if (namedFragment && isFragmentApplicable$C(namedFragment, source.data.__typename)) {
33112
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
33113
- // Call into field handling with selections
33114
- Object.assign(sink, buildSelectionForNode$B(source, reader, parentNode, fragmentSelection, variables, fragments));
33115
- });
33116
- }
33117
- }
33118
- if (selectionNode.kind === "Field") {
33119
- Object.assign(sink, buildSelectionForField$B(source, reader, selectionNode, variables));
33120
- }
33121
- return sink;
32671
+ function buildSelectionForNode$C(source, reader, parentNode, selectionNode, variables, fragments) {
32672
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$C, buildSelectionForField$C);
33122
32673
  }
33123
32674
  function select$L(field, variables, fragments) {
33124
32675
  return (source, reader) => {
33125
32676
  var _a;
33126
32677
  const sink = {};
33127
32678
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
33128
- const builtSelection = buildSelectionForNode$B(source, reader, field, sel, variables, fragments);
32679
+ const builtSelection = buildSelectionForNode$C(source, reader, field, sel, variables, fragments);
33129
32680
  if (builtSelection !== undefined) {
33130
32681
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
33131
32682
  Object.keys(builtSelection).forEach((key, value) => {
@@ -33267,79 +32818,18 @@ function selectType$B(typename, sel, fieldData, reader, key, sink, variables, fr
33267
32818
  }
33268
32819
  return sink;
33269
32820
  }
33270
- function buildSelectionForField$A(source, reader, sel, variables, fragments) {
33271
- const sink = {};
33272
- const fieldData = getFieldData$A(source, sel, variables);
33273
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
33274
- reader.enterPath(requestedFieldName);
33275
- if (fieldData === undefined) {
33276
- reader.markMissing();
33277
- reader.exitPath();
33278
- return;
33279
- }
33280
- if (fieldData === null) {
33281
- reader.assignScalar(requestedFieldName, sink, fieldData);
33282
- return sink;
33283
- }
33284
- const fieldType = getFieldType$V(sel);
33285
- if (fieldType === undefined) {
33286
- // This field's type is unknown to us. This breaks normalization.
33287
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
33288
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
33289
- }
33290
- else if (fieldType.isArray) {
33291
- const arraySink = [];
33292
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
33293
- reader.enterPath(i);
33294
- selectType$B(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
33295
- reader.exitPath();
33296
- }
33297
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
33298
- }
33299
- else {
33300
- selectType$B(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
33301
- }
33302
- reader.exitPath();
33303
- return sink;
32821
+ function buildSelectionForField$B(source, reader, sel, variables, fragments) {
32822
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$A, getFieldType$V, selectType$B);
33304
32823
  }
33305
- function buildSelectionForNode$A(source, reader, parentNode, selectionNode, variables, fragments) {
33306
- const sink = {};
33307
- if (selectionNode.directives) {
33308
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
33309
- if (selectionWithDirectives === undefined) {
33310
- return;
33311
- }
33312
- selectionNode = selectionWithDirectives;
33313
- }
33314
- if (selectionNode.kind === "InlineFragment") {
33315
- if (isFragmentApplicable$B(selectionNode, source.data.__typename)) {
33316
- // Get selections out of the inline fragment
33317
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
33318
- // Call into field handling with selections
33319
- Object.assign(sink, buildSelectionForNode$A(source, reader, parentNode, fragmentSelection, variables, fragments));
33320
- });
33321
- }
33322
- }
33323
- if (selectionNode.kind === "FragmentSpread") {
33324
- const namedFragment = fragments[selectionNode.name.value];
33325
- if (namedFragment && isFragmentApplicable$B(namedFragment, source.data.__typename)) {
33326
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
33327
- // Call into field handling with selections
33328
- Object.assign(sink, buildSelectionForNode$A(source, reader, parentNode, fragmentSelection, variables, fragments));
33329
- });
33330
- }
33331
- }
33332
- if (selectionNode.kind === "Field") {
33333
- Object.assign(sink, buildSelectionForField$A(source, reader, selectionNode, variables));
33334
- }
33335
- return sink;
32824
+ function buildSelectionForNode$B(source, reader, parentNode, selectionNode, variables, fragments) {
32825
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$B, buildSelectionForField$B);
33336
32826
  }
33337
32827
  function select$K(field, variables, fragments) {
33338
32828
  return (source, reader) => {
33339
32829
  var _a;
33340
32830
  const sink = {};
33341
32831
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
33342
- const builtSelection = buildSelectionForNode$A(source, reader, field, sel, variables, fragments);
32832
+ const builtSelection = buildSelectionForNode$B(source, reader, field, sel, variables, fragments);
33343
32833
  if (builtSelection !== undefined) {
33344
32834
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
33345
32835
  Object.keys(builtSelection).forEach((key, value) => {
@@ -33487,79 +32977,18 @@ function selectType$A(typename, sel, fieldData, reader, key, sink, variables, fr
33487
32977
  }
33488
32978
  return sink;
33489
32979
  }
33490
- function buildSelectionForField$z(source, reader, sel, variables, fragments) {
33491
- const sink = {};
33492
- const fieldData = getFieldData$z(source, sel, variables);
33493
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
33494
- reader.enterPath(requestedFieldName);
33495
- if (fieldData === undefined) {
33496
- reader.markMissing();
33497
- reader.exitPath();
33498
- return;
33499
- }
33500
- if (fieldData === null) {
33501
- reader.assignScalar(requestedFieldName, sink, fieldData);
33502
- return sink;
33503
- }
33504
- const fieldType = getFieldType$U(sel);
33505
- if (fieldType === undefined) {
33506
- // This field's type is unknown to us. This breaks normalization.
33507
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
33508
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
33509
- }
33510
- else if (fieldType.isArray) {
33511
- const arraySink = [];
33512
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
33513
- reader.enterPath(i);
33514
- selectType$A(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
33515
- reader.exitPath();
33516
- }
33517
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
33518
- }
33519
- else {
33520
- selectType$A(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
33521
- }
33522
- reader.exitPath();
33523
- return sink;
32980
+ function buildSelectionForField$A(source, reader, sel, variables, fragments) {
32981
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$z, getFieldType$U, selectType$A);
33524
32982
  }
33525
- function buildSelectionForNode$z(source, reader, parentNode, selectionNode, variables, fragments) {
33526
- const sink = {};
33527
- if (selectionNode.directives) {
33528
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
33529
- if (selectionWithDirectives === undefined) {
33530
- return;
33531
- }
33532
- selectionNode = selectionWithDirectives;
33533
- }
33534
- if (selectionNode.kind === "InlineFragment") {
33535
- if (isFragmentApplicable$A(selectionNode, source.data.__typename)) {
33536
- // Get selections out of the inline fragment
33537
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
33538
- // Call into field handling with selections
33539
- Object.assign(sink, buildSelectionForNode$z(source, reader, parentNode, fragmentSelection, variables, fragments));
33540
- });
33541
- }
33542
- }
33543
- if (selectionNode.kind === "FragmentSpread") {
33544
- const namedFragment = fragments[selectionNode.name.value];
33545
- if (namedFragment && isFragmentApplicable$A(namedFragment, source.data.__typename)) {
33546
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
33547
- // Call into field handling with selections
33548
- Object.assign(sink, buildSelectionForNode$z(source, reader, parentNode, fragmentSelection, variables, fragments));
33549
- });
33550
- }
33551
- }
33552
- if (selectionNode.kind === "Field") {
33553
- Object.assign(sink, buildSelectionForField$z(source, reader, selectionNode, variables));
33554
- }
33555
- return sink;
32983
+ function buildSelectionForNode$A(source, reader, parentNode, selectionNode, variables, fragments) {
32984
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$A, buildSelectionForField$A);
33556
32985
  }
33557
32986
  function select$J(field, variables, fragments) {
33558
32987
  return (source, reader) => {
33559
32988
  var _a;
33560
32989
  const sink = {};
33561
32990
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
33562
- const builtSelection = buildSelectionForNode$z(source, reader, field, sel, variables, fragments);
32991
+ const builtSelection = buildSelectionForNode$A(source, reader, field, sel, variables, fragments);
33563
32992
  if (builtSelection !== undefined) {
33564
32993
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
33565
32994
  Object.keys(builtSelection).forEach((key, value) => {
@@ -33701,79 +33130,18 @@ function selectType$z(typename, sel, fieldData, reader, key, sink, variables, fr
33701
33130
  }
33702
33131
  return sink;
33703
33132
  }
33704
- function buildSelectionForField$y(source, reader, sel, variables, fragments) {
33705
- const sink = {};
33706
- const fieldData = getFieldData$y(source, sel, variables);
33707
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
33708
- reader.enterPath(requestedFieldName);
33709
- if (fieldData === undefined) {
33710
- reader.markMissing();
33711
- reader.exitPath();
33712
- return;
33713
- }
33714
- if (fieldData === null) {
33715
- reader.assignScalar(requestedFieldName, sink, fieldData);
33716
- return sink;
33717
- }
33718
- const fieldType = getFieldType$T(sel);
33719
- if (fieldType === undefined) {
33720
- // This field's type is unknown to us. This breaks normalization.
33721
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
33722
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
33723
- }
33724
- else if (fieldType.isArray) {
33725
- const arraySink = [];
33726
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
33727
- reader.enterPath(i);
33728
- selectType$z(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
33729
- reader.exitPath();
33730
- }
33731
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
33732
- }
33733
- else {
33734
- selectType$z(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
33735
- }
33736
- reader.exitPath();
33737
- return sink;
33133
+ function buildSelectionForField$z(source, reader, sel, variables, fragments) {
33134
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$y, getFieldType$T, selectType$z);
33738
33135
  }
33739
- function buildSelectionForNode$y(source, reader, parentNode, selectionNode, variables, fragments) {
33740
- const sink = {};
33741
- if (selectionNode.directives) {
33742
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
33743
- if (selectionWithDirectives === undefined) {
33744
- return;
33745
- }
33746
- selectionNode = selectionWithDirectives;
33747
- }
33748
- if (selectionNode.kind === "InlineFragment") {
33749
- if (isFragmentApplicable$z(selectionNode, source.data.__typename)) {
33750
- // Get selections out of the inline fragment
33751
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
33752
- // Call into field handling with selections
33753
- Object.assign(sink, buildSelectionForNode$y(source, reader, parentNode, fragmentSelection, variables, fragments));
33754
- });
33755
- }
33756
- }
33757
- if (selectionNode.kind === "FragmentSpread") {
33758
- const namedFragment = fragments[selectionNode.name.value];
33759
- if (namedFragment && isFragmentApplicable$z(namedFragment, source.data.__typename)) {
33760
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
33761
- // Call into field handling with selections
33762
- Object.assign(sink, buildSelectionForNode$y(source, reader, parentNode, fragmentSelection, variables, fragments));
33763
- });
33764
- }
33765
- }
33766
- if (selectionNode.kind === "Field") {
33767
- Object.assign(sink, buildSelectionForField$y(source, reader, selectionNode, variables));
33768
- }
33769
- return sink;
33136
+ function buildSelectionForNode$z(source, reader, parentNode, selectionNode, variables, fragments) {
33137
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$z, buildSelectionForField$z);
33770
33138
  }
33771
33139
  function select$I(field, variables, fragments) {
33772
33140
  return (source, reader) => {
33773
33141
  var _a;
33774
33142
  const sink = {};
33775
33143
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
33776
- const builtSelection = buildSelectionForNode$y(source, reader, field, sel, variables, fragments);
33144
+ const builtSelection = buildSelectionForNode$z(source, reader, field, sel, variables, fragments);
33777
33145
  if (builtSelection !== undefined) {
33778
33146
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
33779
33147
  Object.keys(builtSelection).forEach((key, value) => {
@@ -33921,79 +33289,18 @@ function selectType$y(typename, sel, fieldData, reader, key, sink, variables, fr
33921
33289
  }
33922
33290
  return sink;
33923
33291
  }
33924
- function buildSelectionForField$x(source, reader, sel, variables, fragments) {
33925
- const sink = {};
33926
- const fieldData = getFieldData$x(source, sel, variables);
33927
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
33928
- reader.enterPath(requestedFieldName);
33929
- if (fieldData === undefined) {
33930
- reader.markMissing();
33931
- reader.exitPath();
33932
- return;
33933
- }
33934
- if (fieldData === null) {
33935
- reader.assignScalar(requestedFieldName, sink, fieldData);
33936
- return sink;
33937
- }
33938
- const fieldType = getFieldType$S(sel);
33939
- if (fieldType === undefined) {
33940
- // This field's type is unknown to us. This breaks normalization.
33941
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
33942
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
33943
- }
33944
- else if (fieldType.isArray) {
33945
- const arraySink = [];
33946
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
33947
- reader.enterPath(i);
33948
- selectType$y(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
33949
- reader.exitPath();
33950
- }
33951
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
33952
- }
33953
- else {
33954
- selectType$y(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
33955
- }
33956
- reader.exitPath();
33957
- return sink;
33292
+ function buildSelectionForField$y(source, reader, sel, variables, fragments) {
33293
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$x, getFieldType$S, selectType$y);
33958
33294
  }
33959
- function buildSelectionForNode$x(source, reader, parentNode, selectionNode, variables, fragments) {
33960
- const sink = {};
33961
- if (selectionNode.directives) {
33962
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
33963
- if (selectionWithDirectives === undefined) {
33964
- return;
33965
- }
33966
- selectionNode = selectionWithDirectives;
33967
- }
33968
- if (selectionNode.kind === "InlineFragment") {
33969
- if (isFragmentApplicable$y(selectionNode, source.data.__typename)) {
33970
- // Get selections out of the inline fragment
33971
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
33972
- // Call into field handling with selections
33973
- Object.assign(sink, buildSelectionForNode$x(source, reader, parentNode, fragmentSelection, variables, fragments));
33974
- });
33975
- }
33976
- }
33977
- if (selectionNode.kind === "FragmentSpread") {
33978
- const namedFragment = fragments[selectionNode.name.value];
33979
- if (namedFragment && isFragmentApplicable$y(namedFragment, source.data.__typename)) {
33980
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
33981
- // Call into field handling with selections
33982
- Object.assign(sink, buildSelectionForNode$x(source, reader, parentNode, fragmentSelection, variables, fragments));
33983
- });
33984
- }
33985
- }
33986
- if (selectionNode.kind === "Field") {
33987
- Object.assign(sink, buildSelectionForField$x(source, reader, selectionNode, variables));
33988
- }
33989
- return sink;
33295
+ function buildSelectionForNode$y(source, reader, parentNode, selectionNode, variables, fragments) {
33296
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$y, buildSelectionForField$y);
33990
33297
  }
33991
33298
  function select$H(field, variables, fragments) {
33992
33299
  return (source, reader) => {
33993
33300
  var _a;
33994
33301
  const sink = {};
33995
33302
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
33996
- const builtSelection = buildSelectionForNode$x(source, reader, field, sel, variables, fragments);
33303
+ const builtSelection = buildSelectionForNode$y(source, reader, field, sel, variables, fragments);
33997
33304
  if (builtSelection !== undefined) {
33998
33305
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
33999
33306
  Object.keys(builtSelection).forEach((key, value) => {
@@ -34141,79 +33448,18 @@ function selectType$x(typename, sel, fieldData, reader, key, sink, variables, fr
34141
33448
  }
34142
33449
  return sink;
34143
33450
  }
34144
- function buildSelectionForField$w(source, reader, sel, variables, fragments) {
34145
- const sink = {};
34146
- const fieldData = getFieldData$w(source, sel, variables);
34147
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
34148
- reader.enterPath(requestedFieldName);
34149
- if (fieldData === undefined) {
34150
- reader.markMissing();
34151
- reader.exitPath();
34152
- return;
34153
- }
34154
- if (fieldData === null) {
34155
- reader.assignScalar(requestedFieldName, sink, fieldData);
34156
- return sink;
34157
- }
34158
- const fieldType = getFieldType$R(sel);
34159
- if (fieldType === undefined) {
34160
- // This field's type is unknown to us. This breaks normalization.
34161
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
34162
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
34163
- }
34164
- else if (fieldType.isArray) {
34165
- const arraySink = [];
34166
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
34167
- reader.enterPath(i);
34168
- selectType$x(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
34169
- reader.exitPath();
34170
- }
34171
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
34172
- }
34173
- else {
34174
- selectType$x(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
34175
- }
34176
- reader.exitPath();
34177
- return sink;
33451
+ function buildSelectionForField$x(source, reader, sel, variables, fragments) {
33452
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$w, getFieldType$R, selectType$x);
34178
33453
  }
34179
- function buildSelectionForNode$w(source, reader, parentNode, selectionNode, variables, fragments) {
34180
- const sink = {};
34181
- if (selectionNode.directives) {
34182
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
34183
- if (selectionWithDirectives === undefined) {
34184
- return;
34185
- }
34186
- selectionNode = selectionWithDirectives;
34187
- }
34188
- if (selectionNode.kind === "InlineFragment") {
34189
- if (isFragmentApplicable$x(selectionNode, source.data.__typename)) {
34190
- // Get selections out of the inline fragment
34191
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
34192
- // Call into field handling with selections
34193
- Object.assign(sink, buildSelectionForNode$w(source, reader, parentNode, fragmentSelection, variables, fragments));
34194
- });
34195
- }
34196
- }
34197
- if (selectionNode.kind === "FragmentSpread") {
34198
- const namedFragment = fragments[selectionNode.name.value];
34199
- if (namedFragment && isFragmentApplicable$x(namedFragment, source.data.__typename)) {
34200
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
34201
- // Call into field handling with selections
34202
- Object.assign(sink, buildSelectionForNode$w(source, reader, parentNode, fragmentSelection, variables, fragments));
34203
- });
34204
- }
34205
- }
34206
- if (selectionNode.kind === "Field") {
34207
- Object.assign(sink, buildSelectionForField$w(source, reader, selectionNode, variables));
34208
- }
34209
- return sink;
33454
+ function buildSelectionForNode$x(source, reader, parentNode, selectionNode, variables, fragments) {
33455
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$x, buildSelectionForField$x);
34210
33456
  }
34211
33457
  function select$G(field, variables, fragments) {
34212
33458
  return (source, reader) => {
34213
33459
  var _a;
34214
33460
  const sink = {};
34215
33461
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
34216
- const builtSelection = buildSelectionForNode$w(source, reader, field, sel, variables, fragments);
33462
+ const builtSelection = buildSelectionForNode$x(source, reader, field, sel, variables, fragments);
34217
33463
  if (builtSelection !== undefined) {
34218
33464
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
34219
33465
  Object.keys(builtSelection).forEach((key, value) => {
@@ -34355,79 +33601,18 @@ function selectType$w(typename, sel, fieldData, reader, key, sink, variables, fr
34355
33601
  }
34356
33602
  return sink;
34357
33603
  }
34358
- function buildSelectionForField$v(source, reader, sel, variables, fragments) {
34359
- const sink = {};
34360
- const fieldData = getFieldData$v(source, sel, variables);
34361
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
34362
- reader.enterPath(requestedFieldName);
34363
- if (fieldData === undefined) {
34364
- reader.markMissing();
34365
- reader.exitPath();
34366
- return;
34367
- }
34368
- if (fieldData === null) {
34369
- reader.assignScalar(requestedFieldName, sink, fieldData);
34370
- return sink;
34371
- }
34372
- const fieldType = getFieldType$Q(sel);
34373
- if (fieldType === undefined) {
34374
- // This field's type is unknown to us. This breaks normalization.
34375
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
34376
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
34377
- }
34378
- else if (fieldType.isArray) {
34379
- const arraySink = [];
34380
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
34381
- reader.enterPath(i);
34382
- selectType$w(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
34383
- reader.exitPath();
34384
- }
34385
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
34386
- }
34387
- else {
34388
- selectType$w(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
34389
- }
34390
- reader.exitPath();
34391
- return sink;
33604
+ function buildSelectionForField$w(source, reader, sel, variables, fragments) {
33605
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$v, getFieldType$Q, selectType$w);
34392
33606
  }
34393
- function buildSelectionForNode$v(source, reader, parentNode, selectionNode, variables, fragments) {
34394
- const sink = {};
34395
- if (selectionNode.directives) {
34396
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
34397
- if (selectionWithDirectives === undefined) {
34398
- return;
34399
- }
34400
- selectionNode = selectionWithDirectives;
34401
- }
34402
- if (selectionNode.kind === "InlineFragment") {
34403
- if (isFragmentApplicable$w(selectionNode, source.data.__typename)) {
34404
- // Get selections out of the inline fragment
34405
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
34406
- // Call into field handling with selections
34407
- Object.assign(sink, buildSelectionForNode$v(source, reader, parentNode, fragmentSelection, variables, fragments));
34408
- });
34409
- }
34410
- }
34411
- if (selectionNode.kind === "FragmentSpread") {
34412
- const namedFragment = fragments[selectionNode.name.value];
34413
- if (namedFragment && isFragmentApplicable$w(namedFragment, source.data.__typename)) {
34414
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
34415
- // Call into field handling with selections
34416
- Object.assign(sink, buildSelectionForNode$v(source, reader, parentNode, fragmentSelection, variables, fragments));
34417
- });
34418
- }
34419
- }
34420
- if (selectionNode.kind === "Field") {
34421
- Object.assign(sink, buildSelectionForField$v(source, reader, selectionNode, variables));
34422
- }
34423
- return sink;
33607
+ function buildSelectionForNode$w(source, reader, parentNode, selectionNode, variables, fragments) {
33608
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$w, buildSelectionForField$w);
34424
33609
  }
34425
33610
  function select$F(field, variables, fragments) {
34426
33611
  return (source, reader) => {
34427
33612
  var _a;
34428
33613
  const sink = {};
34429
33614
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
34430
- const builtSelection = buildSelectionForNode$v(source, reader, field, sel, variables, fragments);
33615
+ const builtSelection = buildSelectionForNode$w(source, reader, field, sel, variables, fragments);
34431
33616
  if (builtSelection !== undefined) {
34432
33617
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
34433
33618
  Object.keys(builtSelection).forEach((key, value) => {
@@ -34569,79 +33754,18 @@ function selectType$v(typename, sel, fieldData, reader, key, sink, variables, fr
34569
33754
  }
34570
33755
  return sink;
34571
33756
  }
34572
- function buildSelectionForField$u(source, reader, sel, variables, fragments) {
34573
- const sink = {};
34574
- const fieldData = getFieldData$u(source, sel, variables);
34575
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
34576
- reader.enterPath(requestedFieldName);
34577
- if (fieldData === undefined) {
34578
- reader.markMissing();
34579
- reader.exitPath();
34580
- return;
34581
- }
34582
- if (fieldData === null) {
34583
- reader.assignScalar(requestedFieldName, sink, fieldData);
34584
- return sink;
34585
- }
34586
- const fieldType = getFieldType$P(sel);
34587
- if (fieldType === undefined) {
34588
- // This field's type is unknown to us. This breaks normalization.
34589
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
34590
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
34591
- }
34592
- else if (fieldType.isArray) {
34593
- const arraySink = [];
34594
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
34595
- reader.enterPath(i);
34596
- selectType$v(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
34597
- reader.exitPath();
34598
- }
34599
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
34600
- }
34601
- else {
34602
- selectType$v(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
34603
- }
34604
- reader.exitPath();
34605
- return sink;
33757
+ function buildSelectionForField$v(source, reader, sel, variables, fragments) {
33758
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$u, getFieldType$P, selectType$v);
34606
33759
  }
34607
- function buildSelectionForNode$u(source, reader, parentNode, selectionNode, variables, fragments) {
34608
- const sink = {};
34609
- if (selectionNode.directives) {
34610
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
34611
- if (selectionWithDirectives === undefined) {
34612
- return;
34613
- }
34614
- selectionNode = selectionWithDirectives;
34615
- }
34616
- if (selectionNode.kind === "InlineFragment") {
34617
- if (isFragmentApplicable$v(selectionNode, source.data.__typename)) {
34618
- // Get selections out of the inline fragment
34619
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
34620
- // Call into field handling with selections
34621
- Object.assign(sink, buildSelectionForNode$u(source, reader, parentNode, fragmentSelection, variables, fragments));
34622
- });
34623
- }
34624
- }
34625
- if (selectionNode.kind === "FragmentSpread") {
34626
- const namedFragment = fragments[selectionNode.name.value];
34627
- if (namedFragment && isFragmentApplicable$v(namedFragment, source.data.__typename)) {
34628
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
34629
- // Call into field handling with selections
34630
- Object.assign(sink, buildSelectionForNode$u(source, reader, parentNode, fragmentSelection, variables, fragments));
34631
- });
34632
- }
34633
- }
34634
- if (selectionNode.kind === "Field") {
34635
- Object.assign(sink, buildSelectionForField$u(source, reader, selectionNode, variables));
34636
- }
34637
- return sink;
33760
+ function buildSelectionForNode$v(source, reader, parentNode, selectionNode, variables, fragments) {
33761
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$v, buildSelectionForField$v);
34638
33762
  }
34639
33763
  function select$E(field, variables, fragments) {
34640
33764
  return (source, reader) => {
34641
33765
  var _a;
34642
33766
  const sink = {};
34643
33767
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
34644
- const builtSelection = buildSelectionForNode$u(source, reader, field, sel, variables, fragments);
33768
+ const builtSelection = buildSelectionForNode$v(source, reader, field, sel, variables, fragments);
34645
33769
  if (builtSelection !== undefined) {
34646
33770
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
34647
33771
  Object.keys(builtSelection).forEach((key, value) => {
@@ -34783,79 +33907,18 @@ function selectType$u(typename, sel, fieldData, reader, key, sink, variables, fr
34783
33907
  }
34784
33908
  return sink;
34785
33909
  }
34786
- function buildSelectionForField$t(source, reader, sel, variables, fragments) {
34787
- const sink = {};
34788
- const fieldData = getFieldData$t(source, sel, variables);
34789
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
34790
- reader.enterPath(requestedFieldName);
34791
- if (fieldData === undefined) {
34792
- reader.markMissing();
34793
- reader.exitPath();
34794
- return;
34795
- }
34796
- if (fieldData === null) {
34797
- reader.assignScalar(requestedFieldName, sink, fieldData);
34798
- return sink;
34799
- }
34800
- const fieldType = getFieldType$O(sel);
34801
- if (fieldType === undefined) {
34802
- // This field's type is unknown to us. This breaks normalization.
34803
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
34804
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
34805
- }
34806
- else if (fieldType.isArray) {
34807
- const arraySink = [];
34808
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
34809
- reader.enterPath(i);
34810
- selectType$u(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
34811
- reader.exitPath();
34812
- }
34813
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
34814
- }
34815
- else {
34816
- selectType$u(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
34817
- }
34818
- reader.exitPath();
34819
- return sink;
33910
+ function buildSelectionForField$u(source, reader, sel, variables, fragments) {
33911
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$t, getFieldType$O, selectType$u);
34820
33912
  }
34821
- function buildSelectionForNode$t(source, reader, parentNode, selectionNode, variables, fragments) {
34822
- const sink = {};
34823
- if (selectionNode.directives) {
34824
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
34825
- if (selectionWithDirectives === undefined) {
34826
- return;
34827
- }
34828
- selectionNode = selectionWithDirectives;
34829
- }
34830
- if (selectionNode.kind === "InlineFragment") {
34831
- if (isFragmentApplicable$u(selectionNode, source.data.__typename)) {
34832
- // Get selections out of the inline fragment
34833
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
34834
- // Call into field handling with selections
34835
- Object.assign(sink, buildSelectionForNode$t(source, reader, parentNode, fragmentSelection, variables, fragments));
34836
- });
34837
- }
34838
- }
34839
- if (selectionNode.kind === "FragmentSpread") {
34840
- const namedFragment = fragments[selectionNode.name.value];
34841
- if (namedFragment && isFragmentApplicable$u(namedFragment, source.data.__typename)) {
34842
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
34843
- // Call into field handling with selections
34844
- Object.assign(sink, buildSelectionForNode$t(source, reader, parentNode, fragmentSelection, variables, fragments));
34845
- });
34846
- }
34847
- }
34848
- if (selectionNode.kind === "Field") {
34849
- Object.assign(sink, buildSelectionForField$t(source, reader, selectionNode, variables));
34850
- }
34851
- return sink;
33913
+ function buildSelectionForNode$u(source, reader, parentNode, selectionNode, variables, fragments) {
33914
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$u, buildSelectionForField$u);
34852
33915
  }
34853
33916
  function select$D(field, variables, fragments) {
34854
33917
  return (source, reader) => {
34855
33918
  var _a;
34856
33919
  const sink = {};
34857
33920
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
34858
- const builtSelection = buildSelectionForNode$t(source, reader, field, sel, variables, fragments);
33921
+ const builtSelection = buildSelectionForNode$u(source, reader, field, sel, variables, fragments);
34859
33922
  if (builtSelection !== undefined) {
34860
33923
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
34861
33924
  Object.keys(builtSelection).forEach((key, value) => {
@@ -34997,79 +34060,18 @@ function selectType$t(typename, sel, fieldData, reader, key, sink, variables, fr
34997
34060
  }
34998
34061
  return sink;
34999
34062
  }
35000
- function buildSelectionForField$s(source, reader, sel, variables, fragments) {
35001
- const sink = {};
35002
- const fieldData = getFieldData$s(source, sel, variables);
35003
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
35004
- reader.enterPath(requestedFieldName);
35005
- if (fieldData === undefined) {
35006
- reader.markMissing();
35007
- reader.exitPath();
35008
- return;
35009
- }
35010
- if (fieldData === null) {
35011
- reader.assignScalar(requestedFieldName, sink, fieldData);
35012
- return sink;
35013
- }
35014
- const fieldType = getFieldType$N(sel);
35015
- if (fieldType === undefined) {
35016
- // This field's type is unknown to us. This breaks normalization.
35017
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
35018
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
35019
- }
35020
- else if (fieldType.isArray) {
35021
- const arraySink = [];
35022
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
35023
- reader.enterPath(i);
35024
- selectType$t(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
35025
- reader.exitPath();
35026
- }
35027
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
35028
- }
35029
- else {
35030
- selectType$t(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
35031
- }
35032
- reader.exitPath();
35033
- return sink;
34063
+ function buildSelectionForField$t(source, reader, sel, variables, fragments) {
34064
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$s, getFieldType$N, selectType$t);
35034
34065
  }
35035
- function buildSelectionForNode$s(source, reader, parentNode, selectionNode, variables, fragments) {
35036
- const sink = {};
35037
- if (selectionNode.directives) {
35038
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
35039
- if (selectionWithDirectives === undefined) {
35040
- return;
35041
- }
35042
- selectionNode = selectionWithDirectives;
35043
- }
35044
- if (selectionNode.kind === "InlineFragment") {
35045
- if (isFragmentApplicable$t(selectionNode, source.data.__typename)) {
35046
- // Get selections out of the inline fragment
35047
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
35048
- // Call into field handling with selections
35049
- Object.assign(sink, buildSelectionForNode$s(source, reader, parentNode, fragmentSelection, variables, fragments));
35050
- });
35051
- }
35052
- }
35053
- if (selectionNode.kind === "FragmentSpread") {
35054
- const namedFragment = fragments[selectionNode.name.value];
35055
- if (namedFragment && isFragmentApplicable$t(namedFragment, source.data.__typename)) {
35056
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
35057
- // Call into field handling with selections
35058
- Object.assign(sink, buildSelectionForNode$s(source, reader, parentNode, fragmentSelection, variables, fragments));
35059
- });
35060
- }
35061
- }
35062
- if (selectionNode.kind === "Field") {
35063
- Object.assign(sink, buildSelectionForField$s(source, reader, selectionNode, variables));
35064
- }
35065
- return sink;
34066
+ function buildSelectionForNode$t(source, reader, parentNode, selectionNode, variables, fragments) {
34067
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$t, buildSelectionForField$t);
35066
34068
  }
35067
34069
  function select$C(field, variables, fragments) {
35068
34070
  return (source, reader) => {
35069
34071
  var _a;
35070
34072
  const sink = {};
35071
34073
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
35072
- const builtSelection = buildSelectionForNode$s(source, reader, field, sel, variables, fragments);
34074
+ const builtSelection = buildSelectionForNode$t(source, reader, field, sel, variables, fragments);
35073
34075
  if (builtSelection !== undefined) {
35074
34076
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
35075
34077
  Object.keys(builtSelection).forEach((key, value) => {
@@ -35211,79 +34213,18 @@ function selectType$s(typename, sel, fieldData, reader, key, sink, variables, fr
35211
34213
  }
35212
34214
  return sink;
35213
34215
  }
35214
- function buildSelectionForField$r(source, reader, sel, variables, fragments) {
35215
- const sink = {};
35216
- const fieldData = getFieldData$r(source, sel, variables);
35217
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
35218
- reader.enterPath(requestedFieldName);
35219
- if (fieldData === undefined) {
35220
- reader.markMissing();
35221
- reader.exitPath();
35222
- return;
35223
- }
35224
- if (fieldData === null) {
35225
- reader.assignScalar(requestedFieldName, sink, fieldData);
35226
- return sink;
35227
- }
35228
- const fieldType = getFieldType$M(sel);
35229
- if (fieldType === undefined) {
35230
- // This field's type is unknown to us. This breaks normalization.
35231
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
35232
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
35233
- }
35234
- else if (fieldType.isArray) {
35235
- const arraySink = [];
35236
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
35237
- reader.enterPath(i);
35238
- selectType$s(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
35239
- reader.exitPath();
35240
- }
35241
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
35242
- }
35243
- else {
35244
- selectType$s(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
35245
- }
35246
- reader.exitPath();
35247
- return sink;
34216
+ function buildSelectionForField$s(source, reader, sel, variables, fragments) {
34217
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$r, getFieldType$M, selectType$s);
35248
34218
  }
35249
- function buildSelectionForNode$r(source, reader, parentNode, selectionNode, variables, fragments) {
35250
- const sink = {};
35251
- if (selectionNode.directives) {
35252
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
35253
- if (selectionWithDirectives === undefined) {
35254
- return;
35255
- }
35256
- selectionNode = selectionWithDirectives;
35257
- }
35258
- if (selectionNode.kind === "InlineFragment") {
35259
- if (isFragmentApplicable$s(selectionNode, source.data.__typename)) {
35260
- // Get selections out of the inline fragment
35261
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
35262
- // Call into field handling with selections
35263
- Object.assign(sink, buildSelectionForNode$r(source, reader, parentNode, fragmentSelection, variables, fragments));
35264
- });
35265
- }
35266
- }
35267
- if (selectionNode.kind === "FragmentSpread") {
35268
- const namedFragment = fragments[selectionNode.name.value];
35269
- if (namedFragment && isFragmentApplicable$s(namedFragment, source.data.__typename)) {
35270
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
35271
- // Call into field handling with selections
35272
- Object.assign(sink, buildSelectionForNode$r(source, reader, parentNode, fragmentSelection, variables, fragments));
35273
- });
35274
- }
35275
- }
35276
- if (selectionNode.kind === "Field") {
35277
- Object.assign(sink, buildSelectionForField$r(source, reader, selectionNode, variables));
35278
- }
35279
- return sink;
34219
+ function buildSelectionForNode$s(source, reader, parentNode, selectionNode, variables, fragments) {
34220
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$s, buildSelectionForField$s);
35280
34221
  }
35281
34222
  function select$B(field, variables, fragments) {
35282
34223
  return (source, reader) => {
35283
34224
  var _a;
35284
34225
  const sink = {};
35285
34226
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
35286
- const builtSelection = buildSelectionForNode$r(source, reader, field, sel, variables, fragments);
34227
+ const builtSelection = buildSelectionForNode$s(source, reader, field, sel, variables, fragments);
35287
34228
  if (builtSelection !== undefined) {
35288
34229
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
35289
34230
  Object.keys(builtSelection).forEach((key, value) => {
@@ -35425,79 +34366,18 @@ function selectType$r(typename, sel, fieldData, reader, key, sink, variables, fr
35425
34366
  }
35426
34367
  return sink;
35427
34368
  }
35428
- function buildSelectionForField$q(source, reader, sel, variables, fragments) {
35429
- const sink = {};
35430
- const fieldData = getFieldData$q(source, sel, variables);
35431
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
35432
- reader.enterPath(requestedFieldName);
35433
- if (fieldData === undefined) {
35434
- reader.markMissing();
35435
- reader.exitPath();
35436
- return;
35437
- }
35438
- if (fieldData === null) {
35439
- reader.assignScalar(requestedFieldName, sink, fieldData);
35440
- return sink;
35441
- }
35442
- const fieldType = getFieldType$L(sel);
35443
- if (fieldType === undefined) {
35444
- // This field's type is unknown to us. This breaks normalization.
35445
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
35446
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
35447
- }
35448
- else if (fieldType.isArray) {
35449
- const arraySink = [];
35450
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
35451
- reader.enterPath(i);
35452
- selectType$r(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
35453
- reader.exitPath();
35454
- }
35455
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
35456
- }
35457
- else {
35458
- selectType$r(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
35459
- }
35460
- reader.exitPath();
35461
- return sink;
34369
+ function buildSelectionForField$r(source, reader, sel, variables, fragments) {
34370
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$q, getFieldType$L, selectType$r);
35462
34371
  }
35463
- function buildSelectionForNode$q(source, reader, parentNode, selectionNode, variables, fragments) {
35464
- const sink = {};
35465
- if (selectionNode.directives) {
35466
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
35467
- if (selectionWithDirectives === undefined) {
35468
- return;
35469
- }
35470
- selectionNode = selectionWithDirectives;
35471
- }
35472
- if (selectionNode.kind === "InlineFragment") {
35473
- if (isFragmentApplicable$r(selectionNode, source.data.__typename)) {
35474
- // Get selections out of the inline fragment
35475
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
35476
- // Call into field handling with selections
35477
- Object.assign(sink, buildSelectionForNode$q(source, reader, parentNode, fragmentSelection, variables, fragments));
35478
- });
35479
- }
35480
- }
35481
- if (selectionNode.kind === "FragmentSpread") {
35482
- const namedFragment = fragments[selectionNode.name.value];
35483
- if (namedFragment && isFragmentApplicable$r(namedFragment, source.data.__typename)) {
35484
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
35485
- // Call into field handling with selections
35486
- Object.assign(sink, buildSelectionForNode$q(source, reader, parentNode, fragmentSelection, variables, fragments));
35487
- });
35488
- }
35489
- }
35490
- if (selectionNode.kind === "Field") {
35491
- Object.assign(sink, buildSelectionForField$q(source, reader, selectionNode, variables));
35492
- }
35493
- return sink;
34372
+ function buildSelectionForNode$r(source, reader, parentNode, selectionNode, variables, fragments) {
34373
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$r, buildSelectionForField$r);
35494
34374
  }
35495
34375
  function select$A(field, variables, fragments) {
35496
34376
  return (source, reader) => {
35497
34377
  var _a;
35498
34378
  const sink = {};
35499
34379
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
35500
- const builtSelection = buildSelectionForNode$q(source, reader, field, sel, variables, fragments);
34380
+ const builtSelection = buildSelectionForNode$r(source, reader, field, sel, variables, fragments);
35501
34381
  if (builtSelection !== undefined) {
35502
34382
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
35503
34383
  Object.keys(builtSelection).forEach((key, value) => {
@@ -35639,79 +34519,18 @@ function selectType$q(typename, sel, fieldData, reader, key, sink, variables, fr
35639
34519
  }
35640
34520
  return sink;
35641
34521
  }
35642
- function buildSelectionForField$p(source, reader, sel, variables, fragments) {
35643
- const sink = {};
35644
- const fieldData = getFieldData$p(source, sel, variables);
35645
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
35646
- reader.enterPath(requestedFieldName);
35647
- if (fieldData === undefined) {
35648
- reader.markMissing();
35649
- reader.exitPath();
35650
- return;
35651
- }
35652
- if (fieldData === null) {
35653
- reader.assignScalar(requestedFieldName, sink, fieldData);
35654
- return sink;
35655
- }
35656
- const fieldType = getFieldType$K(sel);
35657
- if (fieldType === undefined) {
35658
- // This field's type is unknown to us. This breaks normalization.
35659
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
35660
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
35661
- }
35662
- else if (fieldType.isArray) {
35663
- const arraySink = [];
35664
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
35665
- reader.enterPath(i);
35666
- selectType$q(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
35667
- reader.exitPath();
35668
- }
35669
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
35670
- }
35671
- else {
35672
- selectType$q(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
35673
- }
35674
- reader.exitPath();
35675
- return sink;
34522
+ function buildSelectionForField$q(source, reader, sel, variables, fragments) {
34523
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$p, getFieldType$K, selectType$q);
35676
34524
  }
35677
- function buildSelectionForNode$p(source, reader, parentNode, selectionNode, variables, fragments) {
35678
- const sink = {};
35679
- if (selectionNode.directives) {
35680
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
35681
- if (selectionWithDirectives === undefined) {
35682
- return;
35683
- }
35684
- selectionNode = selectionWithDirectives;
35685
- }
35686
- if (selectionNode.kind === "InlineFragment") {
35687
- if (isFragmentApplicable$q(selectionNode, source.data.__typename)) {
35688
- // Get selections out of the inline fragment
35689
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
35690
- // Call into field handling with selections
35691
- Object.assign(sink, buildSelectionForNode$p(source, reader, parentNode, fragmentSelection, variables, fragments));
35692
- });
35693
- }
35694
- }
35695
- if (selectionNode.kind === "FragmentSpread") {
35696
- const namedFragment = fragments[selectionNode.name.value];
35697
- if (namedFragment && isFragmentApplicable$q(namedFragment, source.data.__typename)) {
35698
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
35699
- // Call into field handling with selections
35700
- Object.assign(sink, buildSelectionForNode$p(source, reader, parentNode, fragmentSelection, variables, fragments));
35701
- });
35702
- }
35703
- }
35704
- if (selectionNode.kind === "Field") {
35705
- Object.assign(sink, buildSelectionForField$p(source, reader, selectionNode, variables));
35706
- }
35707
- return sink;
34525
+ function buildSelectionForNode$q(source, reader, parentNode, selectionNode, variables, fragments) {
34526
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$q, buildSelectionForField$q);
35708
34527
  }
35709
34528
  function select$z(field, variables, fragments) {
35710
34529
  return (source, reader) => {
35711
34530
  var _a;
35712
34531
  const sink = {};
35713
34532
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
35714
- const builtSelection = buildSelectionForNode$p(source, reader, field, sel, variables, fragments);
34533
+ const builtSelection = buildSelectionForNode$q(source, reader, field, sel, variables, fragments);
35715
34534
  if (builtSelection !== undefined) {
35716
34535
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
35717
34536
  Object.keys(builtSelection).forEach((key, value) => {
@@ -35859,79 +34678,18 @@ function selectType$p(typename, sel, fieldData, reader, key, sink, variables, fr
35859
34678
  }
35860
34679
  return sink;
35861
34680
  }
35862
- function buildSelectionForField$o(source, reader, sel, variables, fragments) {
35863
- const sink = {};
35864
- const fieldData = getFieldData$o(source, sel, variables);
35865
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
35866
- reader.enterPath(requestedFieldName);
35867
- if (fieldData === undefined) {
35868
- reader.markMissing();
35869
- reader.exitPath();
35870
- return;
35871
- }
35872
- if (fieldData === null) {
35873
- reader.assignScalar(requestedFieldName, sink, fieldData);
35874
- return sink;
35875
- }
35876
- const fieldType = getFieldType$J(sel);
35877
- if (fieldType === undefined) {
35878
- // This field's type is unknown to us. This breaks normalization.
35879
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
35880
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
35881
- }
35882
- else if (fieldType.isArray) {
35883
- const arraySink = [];
35884
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
35885
- reader.enterPath(i);
35886
- selectType$p(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
35887
- reader.exitPath();
35888
- }
35889
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
35890
- }
35891
- else {
35892
- selectType$p(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
35893
- }
35894
- reader.exitPath();
35895
- return sink;
34681
+ function buildSelectionForField$p(source, reader, sel, variables, fragments) {
34682
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$o, getFieldType$J, selectType$p);
35896
34683
  }
35897
- function buildSelectionForNode$o(source, reader, parentNode, selectionNode, variables, fragments) {
35898
- const sink = {};
35899
- if (selectionNode.directives) {
35900
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
35901
- if (selectionWithDirectives === undefined) {
35902
- return;
35903
- }
35904
- selectionNode = selectionWithDirectives;
35905
- }
35906
- if (selectionNode.kind === "InlineFragment") {
35907
- if (isFragmentApplicable$p(selectionNode, source.data.__typename)) {
35908
- // Get selections out of the inline fragment
35909
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
35910
- // Call into field handling with selections
35911
- Object.assign(sink, buildSelectionForNode$o(source, reader, parentNode, fragmentSelection, variables, fragments));
35912
- });
35913
- }
35914
- }
35915
- if (selectionNode.kind === "FragmentSpread") {
35916
- const namedFragment = fragments[selectionNode.name.value];
35917
- if (namedFragment && isFragmentApplicable$p(namedFragment, source.data.__typename)) {
35918
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
35919
- // Call into field handling with selections
35920
- Object.assign(sink, buildSelectionForNode$o(source, reader, parentNode, fragmentSelection, variables, fragments));
35921
- });
35922
- }
35923
- }
35924
- if (selectionNode.kind === "Field") {
35925
- Object.assign(sink, buildSelectionForField$o(source, reader, selectionNode, variables));
35926
- }
35927
- return sink;
34684
+ function buildSelectionForNode$p(source, reader, parentNode, selectionNode, variables, fragments) {
34685
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$p, buildSelectionForField$p);
35928
34686
  }
35929
34687
  function select$y(field, variables, fragments) {
35930
34688
  return (source, reader) => {
35931
34689
  var _a;
35932
34690
  const sink = {};
35933
34691
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
35934
- const builtSelection = buildSelectionForNode$o(source, reader, field, sel, variables, fragments);
34692
+ const builtSelection = buildSelectionForNode$p(source, reader, field, sel, variables, fragments);
35935
34693
  if (builtSelection !== undefined) {
35936
34694
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
35937
34695
  Object.keys(builtSelection).forEach((key, value) => {
@@ -36073,79 +34831,18 @@ function selectType$o(typename, sel, fieldData, reader, key, sink, variables, fr
36073
34831
  }
36074
34832
  return sink;
36075
34833
  }
36076
- function buildSelectionForField$n(source, reader, sel, variables, fragments) {
36077
- const sink = {};
36078
- const fieldData = getFieldData$n(source, sel, variables);
36079
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
36080
- reader.enterPath(requestedFieldName);
36081
- if (fieldData === undefined) {
36082
- reader.markMissing();
36083
- reader.exitPath();
36084
- return;
36085
- }
36086
- if (fieldData === null) {
36087
- reader.assignScalar(requestedFieldName, sink, fieldData);
36088
- return sink;
36089
- }
36090
- const fieldType = getFieldType$I(sel);
36091
- if (fieldType === undefined) {
36092
- // This field's type is unknown to us. This breaks normalization.
36093
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
36094
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
36095
- }
36096
- else if (fieldType.isArray) {
36097
- const arraySink = [];
36098
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
36099
- reader.enterPath(i);
36100
- selectType$o(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
36101
- reader.exitPath();
36102
- }
36103
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
36104
- }
36105
- else {
36106
- selectType$o(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
36107
- }
36108
- reader.exitPath();
36109
- return sink;
34834
+ function buildSelectionForField$o(source, reader, sel, variables, fragments) {
34835
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$n, getFieldType$I, selectType$o);
36110
34836
  }
36111
- function buildSelectionForNode$n(source, reader, parentNode, selectionNode, variables, fragments) {
36112
- const sink = {};
36113
- if (selectionNode.directives) {
36114
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
36115
- if (selectionWithDirectives === undefined) {
36116
- return;
36117
- }
36118
- selectionNode = selectionWithDirectives;
36119
- }
36120
- if (selectionNode.kind === "InlineFragment") {
36121
- if (isFragmentApplicable$o(selectionNode, source.data.__typename)) {
36122
- // Get selections out of the inline fragment
36123
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
36124
- // Call into field handling with selections
36125
- Object.assign(sink, buildSelectionForNode$n(source, reader, parentNode, fragmentSelection, variables, fragments));
36126
- });
36127
- }
36128
- }
36129
- if (selectionNode.kind === "FragmentSpread") {
36130
- const namedFragment = fragments[selectionNode.name.value];
36131
- if (namedFragment && isFragmentApplicable$o(namedFragment, source.data.__typename)) {
36132
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
36133
- // Call into field handling with selections
36134
- Object.assign(sink, buildSelectionForNode$n(source, reader, parentNode, fragmentSelection, variables, fragments));
36135
- });
36136
- }
36137
- }
36138
- if (selectionNode.kind === "Field") {
36139
- Object.assign(sink, buildSelectionForField$n(source, reader, selectionNode, variables));
36140
- }
36141
- return sink;
34837
+ function buildSelectionForNode$o(source, reader, parentNode, selectionNode, variables, fragments) {
34838
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$o, buildSelectionForField$o);
36142
34839
  }
36143
34840
  function select$x(field, variables, fragments) {
36144
34841
  return (source, reader) => {
36145
34842
  var _a;
36146
34843
  const sink = {};
36147
34844
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
36148
- const builtSelection = buildSelectionForNode$n(source, reader, field, sel, variables, fragments);
34845
+ const builtSelection = buildSelectionForNode$o(source, reader, field, sel, variables, fragments);
36149
34846
  if (builtSelection !== undefined) {
36150
34847
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
36151
34848
  Object.keys(builtSelection).forEach((key, value) => {
@@ -36287,79 +34984,18 @@ function selectType$n(typename, sel, fieldData, reader, key, sink, variables, fr
36287
34984
  }
36288
34985
  return sink;
36289
34986
  }
36290
- function buildSelectionForField$m(source, reader, sel, variables, fragments) {
36291
- const sink = {};
36292
- const fieldData = getFieldData$m(source, sel, variables);
36293
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
36294
- reader.enterPath(requestedFieldName);
36295
- if (fieldData === undefined) {
36296
- reader.markMissing();
36297
- reader.exitPath();
36298
- return;
36299
- }
36300
- if (fieldData === null) {
36301
- reader.assignScalar(requestedFieldName, sink, fieldData);
36302
- return sink;
36303
- }
36304
- const fieldType = getFieldType$H(sel);
36305
- if (fieldType === undefined) {
36306
- // This field's type is unknown to us. This breaks normalization.
36307
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
36308
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
36309
- }
36310
- else if (fieldType.isArray) {
36311
- const arraySink = [];
36312
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
36313
- reader.enterPath(i);
36314
- selectType$n(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
36315
- reader.exitPath();
36316
- }
36317
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
36318
- }
36319
- else {
36320
- selectType$n(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
36321
- }
36322
- reader.exitPath();
36323
- return sink;
34987
+ function buildSelectionForField$n(source, reader, sel, variables, fragments) {
34988
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$m, getFieldType$H, selectType$n);
36324
34989
  }
36325
- function buildSelectionForNode$m(source, reader, parentNode, selectionNode, variables, fragments) {
36326
- const sink = {};
36327
- if (selectionNode.directives) {
36328
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
36329
- if (selectionWithDirectives === undefined) {
36330
- return;
36331
- }
36332
- selectionNode = selectionWithDirectives;
36333
- }
36334
- if (selectionNode.kind === "InlineFragment") {
36335
- if (isFragmentApplicable$n(selectionNode, source.data.__typename)) {
36336
- // Get selections out of the inline fragment
36337
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
36338
- // Call into field handling with selections
36339
- Object.assign(sink, buildSelectionForNode$m(source, reader, parentNode, fragmentSelection, variables, fragments));
36340
- });
36341
- }
36342
- }
36343
- if (selectionNode.kind === "FragmentSpread") {
36344
- const namedFragment = fragments[selectionNode.name.value];
36345
- if (namedFragment && isFragmentApplicable$n(namedFragment, source.data.__typename)) {
36346
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
36347
- // Call into field handling with selections
36348
- Object.assign(sink, buildSelectionForNode$m(source, reader, parentNode, fragmentSelection, variables, fragments));
36349
- });
36350
- }
36351
- }
36352
- if (selectionNode.kind === "Field") {
36353
- Object.assign(sink, buildSelectionForField$m(source, reader, selectionNode, variables));
36354
- }
36355
- return sink;
34990
+ function buildSelectionForNode$n(source, reader, parentNode, selectionNode, variables, fragments) {
34991
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$n, buildSelectionForField$n);
36356
34992
  }
36357
34993
  function select$w(field, variables, fragments) {
36358
34994
  return (source, reader) => {
36359
34995
  var _a;
36360
34996
  const sink = {};
36361
34997
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
36362
- const builtSelection = buildSelectionForNode$m(source, reader, field, sel, variables, fragments);
34998
+ const builtSelection = buildSelectionForNode$n(source, reader, field, sel, variables, fragments);
36363
34999
  if (builtSelection !== undefined) {
36364
35000
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
36365
35001
  Object.keys(builtSelection).forEach((key, value) => {
@@ -36507,79 +35143,18 @@ function selectType$m(typename, sel, fieldData, reader, key, sink, variables, fr
36507
35143
  }
36508
35144
  return sink;
36509
35145
  }
36510
- function buildSelectionForField$l(source, reader, sel, variables, fragments) {
36511
- const sink = {};
36512
- const fieldData = getFieldData$l(source, sel, variables);
36513
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
36514
- reader.enterPath(requestedFieldName);
36515
- if (fieldData === undefined) {
36516
- reader.markMissing();
36517
- reader.exitPath();
36518
- return;
36519
- }
36520
- if (fieldData === null) {
36521
- reader.assignScalar(requestedFieldName, sink, fieldData);
36522
- return sink;
36523
- }
36524
- const fieldType = getFieldType$G(sel);
36525
- if (fieldType === undefined) {
36526
- // This field's type is unknown to us. This breaks normalization.
36527
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
36528
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
36529
- }
36530
- else if (fieldType.isArray) {
36531
- const arraySink = [];
36532
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
36533
- reader.enterPath(i);
36534
- selectType$m(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
36535
- reader.exitPath();
36536
- }
36537
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
36538
- }
36539
- else {
36540
- selectType$m(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
36541
- }
36542
- reader.exitPath();
36543
- return sink;
35146
+ function buildSelectionForField$m(source, reader, sel, variables, fragments) {
35147
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$l, getFieldType$G, selectType$m);
36544
35148
  }
36545
- function buildSelectionForNode$l(source, reader, parentNode, selectionNode, variables, fragments) {
36546
- const sink = {};
36547
- if (selectionNode.directives) {
36548
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
36549
- if (selectionWithDirectives === undefined) {
36550
- return;
36551
- }
36552
- selectionNode = selectionWithDirectives;
36553
- }
36554
- if (selectionNode.kind === "InlineFragment") {
36555
- if (isFragmentApplicable$m(selectionNode, source.data.__typename)) {
36556
- // Get selections out of the inline fragment
36557
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
36558
- // Call into field handling with selections
36559
- Object.assign(sink, buildSelectionForNode$l(source, reader, parentNode, fragmentSelection, variables, fragments));
36560
- });
36561
- }
36562
- }
36563
- if (selectionNode.kind === "FragmentSpread") {
36564
- const namedFragment = fragments[selectionNode.name.value];
36565
- if (namedFragment && isFragmentApplicable$m(namedFragment, source.data.__typename)) {
36566
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
36567
- // Call into field handling with selections
36568
- Object.assign(sink, buildSelectionForNode$l(source, reader, parentNode, fragmentSelection, variables, fragments));
36569
- });
36570
- }
36571
- }
36572
- if (selectionNode.kind === "Field") {
36573
- Object.assign(sink, buildSelectionForField$l(source, reader, selectionNode, variables));
36574
- }
36575
- return sink;
35149
+ function buildSelectionForNode$m(source, reader, parentNode, selectionNode, variables, fragments) {
35150
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$m, buildSelectionForField$m);
36576
35151
  }
36577
35152
  function select$v(field, variables, fragments) {
36578
35153
  return (source, reader) => {
36579
35154
  var _a;
36580
35155
  const sink = {};
36581
35156
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
36582
- const builtSelection = buildSelectionForNode$l(source, reader, field, sel, variables, fragments);
35157
+ const builtSelection = buildSelectionForNode$m(source, reader, field, sel, variables, fragments);
36583
35158
  if (builtSelection !== undefined) {
36584
35159
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
36585
35160
  Object.keys(builtSelection).forEach((key, value) => {
@@ -36727,79 +35302,18 @@ function selectType$l(typename, sel, fieldData, reader, key, sink, variables, fr
36727
35302
  }
36728
35303
  return sink;
36729
35304
  }
36730
- function buildSelectionForField$k(source, reader, sel, variables, fragments) {
36731
- const sink = {};
36732
- const fieldData = getFieldData$k(source, sel, variables);
36733
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
36734
- reader.enterPath(requestedFieldName);
36735
- if (fieldData === undefined) {
36736
- reader.markMissing();
36737
- reader.exitPath();
36738
- return;
36739
- }
36740
- if (fieldData === null) {
36741
- reader.assignScalar(requestedFieldName, sink, fieldData);
36742
- return sink;
36743
- }
36744
- const fieldType = getFieldType$F(sel);
36745
- if (fieldType === undefined) {
36746
- // This field's type is unknown to us. This breaks normalization.
36747
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
36748
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
36749
- }
36750
- else if (fieldType.isArray) {
36751
- const arraySink = [];
36752
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
36753
- reader.enterPath(i);
36754
- selectType$l(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
36755
- reader.exitPath();
36756
- }
36757
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
36758
- }
36759
- else {
36760
- selectType$l(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
36761
- }
36762
- reader.exitPath();
36763
- return sink;
35305
+ function buildSelectionForField$l(source, reader, sel, variables, fragments) {
35306
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$k, getFieldType$F, selectType$l);
36764
35307
  }
36765
- function buildSelectionForNode$k(source, reader, parentNode, selectionNode, variables, fragments) {
36766
- const sink = {};
36767
- if (selectionNode.directives) {
36768
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
36769
- if (selectionWithDirectives === undefined) {
36770
- return;
36771
- }
36772
- selectionNode = selectionWithDirectives;
36773
- }
36774
- if (selectionNode.kind === "InlineFragment") {
36775
- if (isFragmentApplicable$l(selectionNode, source.data.__typename)) {
36776
- // Get selections out of the inline fragment
36777
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
36778
- // Call into field handling with selections
36779
- Object.assign(sink, buildSelectionForNode$k(source, reader, parentNode, fragmentSelection, variables, fragments));
36780
- });
36781
- }
36782
- }
36783
- if (selectionNode.kind === "FragmentSpread") {
36784
- const namedFragment = fragments[selectionNode.name.value];
36785
- if (namedFragment && isFragmentApplicable$l(namedFragment, source.data.__typename)) {
36786
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
36787
- // Call into field handling with selections
36788
- Object.assign(sink, buildSelectionForNode$k(source, reader, parentNode, fragmentSelection, variables, fragments));
36789
- });
36790
- }
36791
- }
36792
- if (selectionNode.kind === "Field") {
36793
- Object.assign(sink, buildSelectionForField$k(source, reader, selectionNode, variables));
36794
- }
36795
- return sink;
35308
+ function buildSelectionForNode$l(source, reader, parentNode, selectionNode, variables, fragments) {
35309
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$l, buildSelectionForField$l);
36796
35310
  }
36797
35311
  function select$u(field, variables, fragments) {
36798
35312
  return (source, reader) => {
36799
35313
  var _a;
36800
35314
  const sink = {};
36801
35315
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
36802
- const builtSelection = buildSelectionForNode$k(source, reader, field, sel, variables, fragments);
35316
+ const builtSelection = buildSelectionForNode$l(source, reader, field, sel, variables, fragments);
36803
35317
  if (builtSelection !== undefined) {
36804
35318
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
36805
35319
  Object.keys(builtSelection).forEach((key, value) => {
@@ -36941,79 +35455,18 @@ function selectType$k(typename, sel, fieldData, reader, key, sink, variables, fr
36941
35455
  }
36942
35456
  return sink;
36943
35457
  }
36944
- function buildSelectionForField$j(source, reader, sel, variables, fragments) {
36945
- const sink = {};
36946
- const fieldData = getFieldData$j(source, sel, variables);
36947
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
36948
- reader.enterPath(requestedFieldName);
36949
- if (fieldData === undefined) {
36950
- reader.markMissing();
36951
- reader.exitPath();
36952
- return;
36953
- }
36954
- if (fieldData === null) {
36955
- reader.assignScalar(requestedFieldName, sink, fieldData);
36956
- return sink;
36957
- }
36958
- const fieldType = getFieldType$E(sel);
36959
- if (fieldType === undefined) {
36960
- // This field's type is unknown to us. This breaks normalization.
36961
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
36962
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
36963
- }
36964
- else if (fieldType.isArray) {
36965
- const arraySink = [];
36966
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
36967
- reader.enterPath(i);
36968
- selectType$k(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
36969
- reader.exitPath();
36970
- }
36971
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
36972
- }
36973
- else {
36974
- selectType$k(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
36975
- }
36976
- reader.exitPath();
36977
- return sink;
35458
+ function buildSelectionForField$k(source, reader, sel, variables, fragments) {
35459
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$j, getFieldType$E, selectType$k);
36978
35460
  }
36979
- function buildSelectionForNode$j(source, reader, parentNode, selectionNode, variables, fragments) {
36980
- const sink = {};
36981
- if (selectionNode.directives) {
36982
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
36983
- if (selectionWithDirectives === undefined) {
36984
- return;
36985
- }
36986
- selectionNode = selectionWithDirectives;
36987
- }
36988
- if (selectionNode.kind === "InlineFragment") {
36989
- if (isFragmentApplicable$k(selectionNode, source.data.__typename)) {
36990
- // Get selections out of the inline fragment
36991
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
36992
- // Call into field handling with selections
36993
- Object.assign(sink, buildSelectionForNode$j(source, reader, parentNode, fragmentSelection, variables, fragments));
36994
- });
36995
- }
36996
- }
36997
- if (selectionNode.kind === "FragmentSpread") {
36998
- const namedFragment = fragments[selectionNode.name.value];
36999
- if (namedFragment && isFragmentApplicable$k(namedFragment, source.data.__typename)) {
37000
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
37001
- // Call into field handling with selections
37002
- Object.assign(sink, buildSelectionForNode$j(source, reader, parentNode, fragmentSelection, variables, fragments));
37003
- });
37004
- }
37005
- }
37006
- if (selectionNode.kind === "Field") {
37007
- Object.assign(sink, buildSelectionForField$j(source, reader, selectionNode, variables));
37008
- }
37009
- return sink;
35461
+ function buildSelectionForNode$k(source, reader, parentNode, selectionNode, variables, fragments) {
35462
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$k, buildSelectionForField$k);
37010
35463
  }
37011
35464
  function select$t(field, variables, fragments) {
37012
35465
  return (source, reader) => {
37013
35466
  var _a;
37014
35467
  const sink = {};
37015
35468
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
37016
- const builtSelection = buildSelectionForNode$j(source, reader, field, sel, variables, fragments);
35469
+ const builtSelection = buildSelectionForNode$k(source, reader, field, sel, variables, fragments);
37017
35470
  if (builtSelection !== undefined) {
37018
35471
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
37019
35472
  Object.keys(builtSelection).forEach((key, value) => {
@@ -37936,79 +36389,18 @@ function selectType$i(typename, sel, fieldData, reader, key, sink, variables, fr
37936
36389
  }
37937
36390
  return sink;
37938
36391
  }
37939
- function buildSelectionForField$i(source, reader, sel, variables, fragments) {
37940
- const sink = {};
37941
- const fieldData = getFieldData$h(source, sel, variables);
37942
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
37943
- reader.enterPath(requestedFieldName);
37944
- if (fieldData === undefined) {
37945
- reader.markMissing();
37946
- reader.exitPath();
37947
- return;
37948
- }
37949
- if (fieldData === null) {
37950
- reader.assignScalar(requestedFieldName, sink, fieldData);
37951
- return sink;
37952
- }
37953
- const fieldType = getFieldType$B(sel);
37954
- if (fieldType === undefined) {
37955
- // This field's type is unknown to us. This breaks normalization.
37956
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
37957
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
37958
- }
37959
- else if (fieldType.isArray) {
37960
- const arraySink = [];
37961
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
37962
- reader.enterPath(i);
37963
- selectType$i(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
37964
- reader.exitPath();
37965
- }
37966
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
37967
- }
37968
- else {
37969
- selectType$i(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
37970
- }
37971
- reader.exitPath();
37972
- return sink;
36392
+ function buildSelectionForField$j(source, reader, sel, variables, fragments) {
36393
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$h, getFieldType$B, selectType$i);
37973
36394
  }
37974
- function buildSelectionForNode$i(source, reader, parentNode, selectionNode, variables, fragments) {
37975
- const sink = {};
37976
- if (selectionNode.directives) {
37977
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
37978
- if (selectionWithDirectives === undefined) {
37979
- return;
37980
- }
37981
- selectionNode = selectionWithDirectives;
37982
- }
37983
- if (selectionNode.kind === "InlineFragment") {
37984
- if (isFragmentApplicable$j(selectionNode, source.data.__typename)) {
37985
- // Get selections out of the inline fragment
37986
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
37987
- // Call into field handling with selections
37988
- Object.assign(sink, buildSelectionForNode$i(source, reader, parentNode, fragmentSelection, variables, fragments));
37989
- });
37990
- }
37991
- }
37992
- if (selectionNode.kind === "FragmentSpread") {
37993
- const namedFragment = fragments[selectionNode.name.value];
37994
- if (namedFragment && isFragmentApplicable$j(namedFragment, source.data.__typename)) {
37995
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
37996
- // Call into field handling with selections
37997
- Object.assign(sink, buildSelectionForNode$i(source, reader, parentNode, fragmentSelection, variables, fragments));
37998
- });
37999
- }
38000
- }
38001
- if (selectionNode.kind === "Field") {
38002
- Object.assign(sink, buildSelectionForField$i(source, reader, selectionNode, variables));
38003
- }
38004
- return sink;
36395
+ function buildSelectionForNode$j(source, reader, parentNode, selectionNode, variables, fragments) {
36396
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$j, buildSelectionForField$j);
38005
36397
  }
38006
36398
  function select$r(field, variables, fragments) {
38007
36399
  return (source, reader) => {
38008
36400
  var _a;
38009
36401
  const sink = {};
38010
36402
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
38011
- const builtSelection = buildSelectionForNode$i(source, reader, field, sel, variables, fragments);
36403
+ const builtSelection = buildSelectionForNode$j(source, reader, field, sel, variables, fragments);
38012
36404
  if (builtSelection !== undefined) {
38013
36405
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
38014
36406
  Object.keys(builtSelection).forEach((key, value) => {
@@ -38858,7 +37250,7 @@ function selectType$h(typename, sel, fieldData, reader, key, sink, variables, fr
38858
37250
  }
38859
37251
  else {
38860
37252
  trimmedEdges = trimEdges(source.edges, startOffset, endOffset);
38861
- maxOffset = !listIsComplete ? findMaxOffset(metadata) : Object.keys(metadata).length - 2;
37253
+ maxOffset = findMaxOffset(metadata);
38862
37254
  const listHasEnoughItems = (endOffset - 1 <= maxOffset);
38863
37255
  if (trimmedEdges === undefined || !listHasEnoughItems) {
38864
37256
  reader.markMissingLink(fieldData.__ref);
@@ -38896,72 +37288,11 @@ function selectType$h(typename, sel, fieldData, reader, key, sink, variables, fr
38896
37288
  }
38897
37289
  return sink;
38898
37290
  }
38899
- function buildSelectionForField$h(source, reader, sel, variables, fragments) {
38900
- const sink = {};
38901
- const fieldData = getFieldData$i(source, sel, variables);
38902
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
38903
- reader.enterPath(requestedFieldName);
38904
- if (fieldData === undefined) {
38905
- reader.markMissing();
38906
- reader.exitPath();
38907
- return;
38908
- }
38909
- if (fieldData === null) {
38910
- reader.assignScalar(requestedFieldName, sink, fieldData);
38911
- return sink;
38912
- }
38913
- const fieldType = getFieldType$C(sel);
38914
- if (fieldType === undefined) {
38915
- // This field's type is unknown to us. This breaks normalization.
38916
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
38917
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
38918
- }
38919
- else if (fieldType.isArray) {
38920
- const arraySink = [];
38921
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
38922
- reader.enterPath(i);
38923
- selectType$j(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
38924
- reader.exitPath();
38925
- }
38926
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
38927
- }
38928
- else {
38929
- selectType$j(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
38930
- }
38931
- reader.exitPath();
38932
- return sink;
37291
+ function buildSelectionForField$i(source, reader, sel, variables, fragments) {
37292
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$i, getFieldType$C, selectType$j);
38933
37293
  }
38934
- function buildSelectionForNode$h(source, reader, parentNode, selectionNode, variables, fragments) {
38935
- const sink = {};
38936
- if (selectionNode.directives) {
38937
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
38938
- if (selectionWithDirectives === undefined) {
38939
- return;
38940
- }
38941
- selectionNode = selectionWithDirectives;
38942
- }
38943
- if (selectionNode.kind === "InlineFragment") {
38944
- if (isFragmentApplicable$i(selectionNode, source.data.__typename)) {
38945
- // Get selections out of the inline fragment
38946
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
38947
- // Call into field handling with selections
38948
- Object.assign(sink, buildSelectionForNode$h(source, reader, parentNode, fragmentSelection, variables, fragments));
38949
- });
38950
- }
38951
- }
38952
- if (selectionNode.kind === "FragmentSpread") {
38953
- const namedFragment = fragments[selectionNode.name.value];
38954
- if (namedFragment && isFragmentApplicable$i(namedFragment, source.data.__typename)) {
38955
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
38956
- // Call into field handling with selections
38957
- Object.assign(sink, buildSelectionForNode$h(source, reader, parentNode, fragmentSelection, variables, fragments));
38958
- });
38959
- }
38960
- }
38961
- if (selectionNode.kind === "Field") {
38962
- Object.assign(sink, buildSelectionForField$h(source, reader, selectionNode, variables, fragments));
38963
- }
38964
- return sink;
37294
+ function buildSelectionForNode$i(source, reader, parentNode, selectionNode, variables, fragments) {
37295
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$i, buildSelectionForField$i);
38965
37296
  }
38966
37297
  function select$q(field, variables, fragments) {
38967
37298
  return (source, reader) => {
@@ -38969,7 +37300,7 @@ function select$q(field, variables, fragments) {
38969
37300
  const sink = {};
38970
37301
  source = attachMappedData(source, reader);
38971
37302
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
38972
- const builtSelection = buildSelectionForNode$h(source, reader, field, sel, variables, fragments);
37303
+ const builtSelection = buildSelectionForNode$i(source, reader, field, sel, variables, fragments);
38973
37304
  if (builtSelection !== undefined) {
38974
37305
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
38975
37306
  Object.keys(builtSelection).forEach((key, value) => {
@@ -39905,79 +38236,18 @@ function selectType$g(typename, sel, fieldData, reader, key, sink, variables, fr
39905
38236
  }
39906
38237
  return sink;
39907
38238
  }
39908
- function buildSelectionForField$g(source, reader, sel, variables, fragments) {
39909
- const sink = {};
39910
- const fieldData = getFieldData$g(source, sel, variables);
39911
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
39912
- reader.enterPath(requestedFieldName);
39913
- if (fieldData === undefined) {
39914
- reader.markMissing();
39915
- reader.exitPath();
39916
- return;
39917
- }
39918
- if (fieldData === null) {
39919
- reader.assignScalar(requestedFieldName, sink, fieldData);
39920
- return sink;
39921
- }
39922
- const fieldType = getFieldType$A(sel);
39923
- if (fieldType === undefined) {
39924
- // This field's type is unknown to us. This breaks normalization.
39925
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
39926
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
39927
- }
39928
- else if (fieldType.isArray) {
39929
- const arraySink = [];
39930
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
39931
- reader.enterPath(i);
39932
- selectType$g(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
39933
- reader.exitPath();
39934
- }
39935
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
39936
- }
39937
- else {
39938
- selectType$g(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
39939
- }
39940
- reader.exitPath();
39941
- return sink;
38239
+ function buildSelectionForField$h(source, reader, sel, variables, fragments) {
38240
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$g, getFieldType$A, selectType$g);
39942
38241
  }
39943
- function buildSelectionForNode$g(source, reader, parentNode, selectionNode, variables, fragments) {
39944
- const sink = {};
39945
- if (selectionNode.directives) {
39946
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
39947
- if (selectionWithDirectives === undefined) {
39948
- return;
39949
- }
39950
- selectionNode = selectionWithDirectives;
39951
- }
39952
- if (selectionNode.kind === "InlineFragment") {
39953
- if (isFragmentApplicable$h(selectionNode, source.data.__typename)) {
39954
- // Get selections out of the inline fragment
39955
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
39956
- // Call into field handling with selections
39957
- Object.assign(sink, buildSelectionForNode$g(source, reader, parentNode, fragmentSelection, variables, fragments));
39958
- });
39959
- }
39960
- }
39961
- if (selectionNode.kind === "FragmentSpread") {
39962
- const namedFragment = fragments[selectionNode.name.value];
39963
- if (namedFragment && isFragmentApplicable$h(namedFragment, source.data.__typename)) {
39964
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
39965
- // Call into field handling with selections
39966
- Object.assign(sink, buildSelectionForNode$g(source, reader, parentNode, fragmentSelection, variables, fragments));
39967
- });
39968
- }
39969
- }
39970
- if (selectionNode.kind === "Field") {
39971
- Object.assign(sink, buildSelectionForField$g(source, reader, selectionNode, variables, fragments));
39972
- }
39973
- return sink;
38242
+ function buildSelectionForNode$h(source, reader, parentNode, selectionNode, variables, fragments) {
38243
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$h, buildSelectionForField$h);
39974
38244
  }
39975
38245
  function select$p(field, variables, fragments) {
39976
38246
  return (source, reader) => {
39977
38247
  var _a;
39978
38248
  const sink = {};
39979
38249
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
39980
- const builtSelection = buildSelectionForNode$g(source, reader, field, sel, variables, fragments);
38250
+ const builtSelection = buildSelectionForNode$h(source, reader, field, sel, variables, fragments);
39981
38251
  if (builtSelection !== undefined) {
39982
38252
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
39983
38253
  Object.keys(builtSelection).forEach((key, value) => {
@@ -40264,81 +38534,18 @@ function selectType$f(typename, sel, fieldData, reader, key, sink, variables, fr
40264
38534
  }
40265
38535
  return sink;
40266
38536
  }
40267
- function buildSelectionForField$f(source, reader, sel, variables, fragments) {
40268
- const sink = {};
40269
- const fieldData = getFieldData$f(source, sel, variables);
40270
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
40271
- if (requestedFieldName === 'pageInfo')
40272
- return;
40273
- reader.enterPath(requestedFieldName);
40274
- if (fieldData === undefined) {
40275
- reader.markMissing();
40276
- reader.exitPath();
40277
- return;
40278
- }
40279
- if (fieldData === null) {
40280
- reader.assignScalar(requestedFieldName, sink, fieldData);
40281
- return sink;
40282
- }
40283
- const fieldType = getFieldType$z(sel);
40284
- if (fieldType === undefined) {
40285
- // This field's type is unknown to us. This breaks normalization.
40286
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
40287
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
40288
- }
40289
- else if (fieldType.isArray) {
40290
- const arraySink = [];
40291
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
40292
- reader.enterPath(i);
40293
- selectType$f(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
40294
- reader.exitPath();
40295
- }
40296
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
40297
- }
40298
- else {
40299
- selectType$f(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
40300
- }
40301
- reader.exitPath();
40302
- return sink;
38537
+ function buildSelectionForField$g(source, reader, sel, variables, fragments) {
38538
+ return buildSelectionForField(source, reader, sel, variables, fragments, true, getFieldData$f, getFieldType$z, selectType$f);
40303
38539
  }
40304
- function buildSelectionForNode$f(source, reader, parentNode, selectionNode, variables, fragments) {
40305
- const sink = {};
40306
- if (selectionNode.directives) {
40307
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
40308
- if (selectionWithDirectives === undefined) {
40309
- return;
40310
- }
40311
- selectionNode = selectionWithDirectives;
40312
- }
40313
- if (selectionNode.kind === "InlineFragment") {
40314
- if (isFragmentApplicable$g(selectionNode, source.data.__typename)) {
40315
- // Get selections out of the inline fragment
40316
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40317
- // Call into field handling with selections
40318
- Object.assign(sink, buildSelectionForNode$f(source, reader, parentNode, fragmentSelection, variables, fragments));
40319
- });
40320
- }
40321
- }
40322
- if (selectionNode.kind === "FragmentSpread") {
40323
- const namedFragment = fragments[selectionNode.name.value];
40324
- if (namedFragment && isFragmentApplicable$g(namedFragment, source.data.__typename)) {
40325
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40326
- // Call into field handling with selections
40327
- Object.assign(sink, buildSelectionForNode$f(source, reader, parentNode, fragmentSelection, variables, fragments));
40328
- });
40329
- }
40330
- }
40331
- if (selectionNode.kind === "Field") {
40332
- Object.assign(sink, buildSelectionForField$f(source, reader, selectionNode, variables, fragments));
40333
- }
40334
- return sink;
38540
+ function buildSelectionForNode$g(source, reader, parentNode, selectionNode, variables, fragments) {
38541
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$g, buildSelectionForField$g);
40335
38542
  }
40336
38543
  function select$o(field, variables, fragments) {
40337
38544
  return (source, reader) => {
40338
38545
  var _a;
40339
38546
  const sink = {};
40340
38547
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40341
- const builtSelection = buildSelectionForNode$f(source, reader, field, sel, variables, fragments);
38548
+ const builtSelection = buildSelectionForNode$g(source, reader, field, sel, variables, fragments);
40342
38549
  if (builtSelection !== undefined) {
40343
38550
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
40344
38551
  Object.keys(builtSelection).forEach((key, value) => {
@@ -40596,7 +38803,7 @@ function selectType$e(typename, sel, fieldData, reader, key, sink, variables, fr
40596
38803
  }
40597
38804
  else {
40598
38805
  trimmedEdges = trimEdges(source.edges, startOffset, endOffset);
40599
- maxOffset = !listIsComplete ? findMaxOffset(metadata) : Object.keys(metadata).length - 2;
38806
+ maxOffset = findMaxOffset(metadata);
40600
38807
  const listHasEnoughItems = (endOffset - 1 <= maxOffset);
40601
38808
  if (trimmedEdges === undefined || !listHasEnoughItems) {
40602
38809
  reader.markMissingLink(fieldData.__ref);
@@ -40634,79 +38841,18 @@ function selectType$e(typename, sel, fieldData, reader, key, sink, variables, fr
40634
38841
  }
40635
38842
  return sink;
40636
38843
  }
40637
- function buildSelectionForField$e(source, reader, sel, variables, fragments) {
40638
- const sink = {};
40639
- const fieldData = getFieldData$e(source, sel, variables);
40640
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
40641
- reader.enterPath(requestedFieldName);
40642
- if (fieldData === undefined) {
40643
- reader.markMissing();
40644
- reader.exitPath();
40645
- return;
40646
- }
40647
- if (fieldData === null) {
40648
- reader.assignScalar(requestedFieldName, sink, fieldData);
40649
- return sink;
40650
- }
40651
- const fieldType = getFieldType$y(sel);
40652
- if (fieldType === undefined) {
40653
- // This field's type is unknown to us. This breaks normalization.
40654
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
40655
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
40656
- }
40657
- else if (fieldType.isArray) {
40658
- const arraySink = [];
40659
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
40660
- reader.enterPath(i);
40661
- selectType$e(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
40662
- reader.exitPath();
40663
- }
40664
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
40665
- }
40666
- else {
40667
- selectType$e(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
40668
- }
40669
- reader.exitPath();
40670
- return sink;
38844
+ function buildSelectionForField$f(source, reader, sel, variables, fragments) {
38845
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$e, getFieldType$y, selectType$e);
40671
38846
  }
40672
- function buildSelectionForNode$e(source, reader, parentNode, selectionNode, variables, fragments) {
40673
- const sink = {};
40674
- if (selectionNode.directives) {
40675
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
40676
- if (selectionWithDirectives === undefined) {
40677
- return;
40678
- }
40679
- selectionNode = selectionWithDirectives;
40680
- }
40681
- if (selectionNode.kind === "InlineFragment") {
40682
- if (isFragmentApplicable$f(selectionNode, source.data.__typename)) {
40683
- // Get selections out of the inline fragment
40684
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40685
- // Call into field handling with selections
40686
- Object.assign(sink, buildSelectionForNode$e(source, reader, parentNode, fragmentSelection, variables, fragments));
40687
- });
40688
- }
40689
- }
40690
- if (selectionNode.kind === "FragmentSpread") {
40691
- const namedFragment = fragments[selectionNode.name.value];
40692
- if (namedFragment && isFragmentApplicable$f(namedFragment, source.data.__typename)) {
40693
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40694
- // Call into field handling with selections
40695
- Object.assign(sink, buildSelectionForNode$e(source, reader, parentNode, fragmentSelection, variables, fragments));
40696
- });
40697
- }
40698
- }
40699
- if (selectionNode.kind === "Field") {
40700
- Object.assign(sink, buildSelectionForField$e(source, reader, selectionNode, variables, fragments));
40701
- }
40702
- return sink;
38847
+ function buildSelectionForNode$f(source, reader, parentNode, selectionNode, variables, fragments) {
38848
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$f, buildSelectionForField$f);
40703
38849
  }
40704
38850
  function select$n(field, variables, fragments) {
40705
38851
  return (source, reader) => {
40706
38852
  var _a;
40707
38853
  const sink = {};
40708
38854
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40709
- const builtSelection = buildSelectionForNode$e(source, reader, field, sel, variables, fragments);
38855
+ const builtSelection = buildSelectionForNode$f(source, reader, field, sel, variables, fragments);
40710
38856
  if (builtSelection !== undefined) {
40711
38857
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
40712
38858
  Object.keys(builtSelection).forEach((key, value) => {
@@ -40923,79 +39069,18 @@ function selectType$d(typename, sel, fieldData, reader, key, sink, variables, fr
40923
39069
  }
40924
39070
  return sink;
40925
39071
  }
40926
- function buildSelectionForField$d(source, reader, sel, variables, fragments) {
40927
- const sink = {};
40928
- const fieldData = getFieldData$d(source, sel, variables);
40929
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
40930
- reader.enterPath(requestedFieldName);
40931
- if (fieldData === undefined) {
40932
- reader.markMissing();
40933
- reader.exitPath();
40934
- return;
40935
- }
40936
- if (fieldData === null) {
40937
- reader.assignScalar(requestedFieldName, sink, fieldData);
40938
- return sink;
40939
- }
40940
- const fieldType = getFieldType$x(sel);
40941
- if (fieldType === undefined) {
40942
- // This field's type is unknown to us. This breaks normalization.
40943
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
40944
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
40945
- }
40946
- else if (fieldType.isArray) {
40947
- const arraySink = [];
40948
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
40949
- reader.enterPath(i);
40950
- selectType$d(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
40951
- reader.exitPath();
40952
- }
40953
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
40954
- }
40955
- else {
40956
- selectType$d(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
40957
- }
40958
- reader.exitPath();
40959
- return sink;
39072
+ function buildSelectionForField$e(source, reader, sel, variables, fragments) {
39073
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$d, getFieldType$x, selectType$d);
40960
39074
  }
40961
- function buildSelectionForNode$d(source, reader, parentNode, selectionNode, variables, fragments) {
40962
- const sink = {};
40963
- if (selectionNode.directives) {
40964
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
40965
- if (selectionWithDirectives === undefined) {
40966
- return;
40967
- }
40968
- selectionNode = selectionWithDirectives;
40969
- }
40970
- if (selectionNode.kind === "InlineFragment") {
40971
- if (isFragmentApplicable$e(selectionNode, source.data.__typename)) {
40972
- // Get selections out of the inline fragment
40973
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40974
- // Call into field handling with selections
40975
- Object.assign(sink, buildSelectionForNode$d(source, reader, parentNode, fragmentSelection, variables, fragments));
40976
- });
40977
- }
40978
- }
40979
- if (selectionNode.kind === "FragmentSpread") {
40980
- const namedFragment = fragments[selectionNode.name.value];
40981
- if (namedFragment && isFragmentApplicable$e(namedFragment, source.data.__typename)) {
40982
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40983
- // Call into field handling with selections
40984
- Object.assign(sink, buildSelectionForNode$d(source, reader, parentNode, fragmentSelection, variables, fragments));
40985
- });
40986
- }
40987
- }
40988
- if (selectionNode.kind === "Field") {
40989
- Object.assign(sink, buildSelectionForField$d(source, reader, selectionNode, variables, fragments));
40990
- }
40991
- return sink;
39075
+ function buildSelectionForNode$e(source, reader, parentNode, selectionNode, variables, fragments) {
39076
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$e, buildSelectionForField$e);
40992
39077
  }
40993
39078
  function select$m(field, variables, fragments) {
40994
39079
  return (source, reader) => {
40995
39080
  var _a;
40996
39081
  const sink = {};
40997
39082
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40998
- const builtSelection = buildSelectionForNode$d(source, reader, field, sel, variables, fragments);
39083
+ const builtSelection = buildSelectionForNode$e(source, reader, field, sel, variables, fragments);
40999
39084
  if (builtSelection !== undefined) {
41000
39085
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41001
39086
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41206,79 +39291,18 @@ function selectType$c(typename, sel, fieldData, reader, key, sink, variables, fr
41206
39291
  }
41207
39292
  return sink;
41208
39293
  }
41209
- function buildSelectionForField$c(source, reader, sel, variables, fragments) {
41210
- const sink = {};
41211
- const fieldData = getFieldData$c(source, sel, variables);
41212
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41213
- reader.enterPath(requestedFieldName);
41214
- if (fieldData === undefined) {
41215
- reader.markMissing();
41216
- reader.exitPath();
41217
- return;
41218
- }
41219
- if (fieldData === null) {
41220
- reader.assignScalar(requestedFieldName, sink, fieldData);
41221
- return sink;
41222
- }
41223
- const fieldType = getFieldType$w(sel);
41224
- if (fieldType === undefined) {
41225
- // This field's type is unknown to us. This breaks normalization.
41226
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41227
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41228
- }
41229
- else if (fieldType.isArray) {
41230
- const arraySink = [];
41231
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41232
- reader.enterPath(i);
41233
- selectType$c(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
41234
- reader.exitPath();
41235
- }
41236
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41237
- }
41238
- else {
41239
- selectType$c(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
41240
- }
41241
- reader.exitPath();
41242
- return sink;
39294
+ function buildSelectionForField$d(source, reader, sel, variables, fragments) {
39295
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$c, getFieldType$w, selectType$c);
41243
39296
  }
41244
- function buildSelectionForNode$c(source, reader, parentNode, selectionNode, variables, fragments) {
41245
- const sink = {};
41246
- if (selectionNode.directives) {
41247
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41248
- if (selectionWithDirectives === undefined) {
41249
- return;
41250
- }
41251
- selectionNode = selectionWithDirectives;
41252
- }
41253
- if (selectionNode.kind === "InlineFragment") {
41254
- if (isFragmentApplicable$d(selectionNode, source.data.__typename)) {
41255
- // Get selections out of the inline fragment
41256
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41257
- // Call into field handling with selections
41258
- Object.assign(sink, buildSelectionForNode$c(source, reader, parentNode, fragmentSelection, variables, fragments));
41259
- });
41260
- }
41261
- }
41262
- if (selectionNode.kind === "FragmentSpread") {
41263
- const namedFragment = fragments[selectionNode.name.value];
41264
- if (namedFragment && isFragmentApplicable$d(namedFragment, source.data.__typename)) {
41265
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41266
- // Call into field handling with selections
41267
- Object.assign(sink, buildSelectionForNode$c(source, reader, parentNode, fragmentSelection, variables, fragments));
41268
- });
41269
- }
41270
- }
41271
- if (selectionNode.kind === "Field") {
41272
- Object.assign(sink, buildSelectionForField$c(source, reader, selectionNode, variables));
41273
- }
41274
- return sink;
39297
+ function buildSelectionForNode$d(source, reader, parentNode, selectionNode, variables, fragments) {
39298
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$d, buildSelectionForField$d);
41275
39299
  }
41276
39300
  function select$l(field, variables, fragments) {
41277
39301
  return (source, reader) => {
41278
39302
  var _a;
41279
39303
  const sink = {};
41280
39304
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41281
- const builtSelection = buildSelectionForNode$c(source, reader, field, sel, variables, fragments);
39305
+ const builtSelection = buildSelectionForNode$d(source, reader, field, sel, variables, fragments);
41282
39306
  if (builtSelection !== undefined) {
41283
39307
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41284
39308
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41428,79 +39452,18 @@ function selectType$b(typename, sel, fieldData, reader, key, sink, variables, fr
41428
39452
  }
41429
39453
  return sink;
41430
39454
  }
41431
- function buildSelectionForField$b(source, reader, sel, variables, fragments) {
41432
- const sink = {};
41433
- const fieldData = getFieldData$b(source, sel, variables);
41434
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41435
- reader.enterPath(requestedFieldName);
41436
- if (fieldData === undefined) {
41437
- reader.markMissing();
41438
- reader.exitPath();
41439
- return;
41440
- }
41441
- if (fieldData === null) {
41442
- reader.assignScalar(requestedFieldName, sink, fieldData);
41443
- return sink;
41444
- }
41445
- const fieldType = getFieldType$v(sel);
41446
- if (fieldType === undefined) {
41447
- // This field's type is unknown to us. This breaks normalization.
41448
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41449
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41450
- }
41451
- else if (fieldType.isArray) {
41452
- const arraySink = [];
41453
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41454
- reader.enterPath(i);
41455
- selectType$b(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
41456
- reader.exitPath();
41457
- }
41458
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41459
- }
41460
- else {
41461
- selectType$b(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
41462
- }
41463
- reader.exitPath();
41464
- return sink;
39455
+ function buildSelectionForField$c(source, reader, sel, variables, fragments) {
39456
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$b, getFieldType$v, selectType$b);
41465
39457
  }
41466
- function buildSelectionForNode$b(source, reader, parentNode, selectionNode, variables, fragments) {
41467
- const sink = {};
41468
- if (selectionNode.directives) {
41469
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41470
- if (selectionWithDirectives === undefined) {
41471
- return;
41472
- }
41473
- selectionNode = selectionWithDirectives;
41474
- }
41475
- if (selectionNode.kind === "InlineFragment") {
41476
- if (isFragmentApplicable$c(selectionNode, source.data.__typename)) {
41477
- // Get selections out of the inline fragment
41478
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41479
- // Call into field handling with selections
41480
- Object.assign(sink, buildSelectionForNode$b(source, reader, parentNode, fragmentSelection, variables, fragments));
41481
- });
41482
- }
41483
- }
41484
- if (selectionNode.kind === "FragmentSpread") {
41485
- const namedFragment = fragments[selectionNode.name.value];
41486
- if (namedFragment && isFragmentApplicable$c(namedFragment, source.data.__typename)) {
41487
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41488
- // Call into field handling with selections
41489
- Object.assign(sink, buildSelectionForNode$b(source, reader, parentNode, fragmentSelection, variables, fragments));
41490
- });
41491
- }
41492
- }
41493
- if (selectionNode.kind === "Field") {
41494
- Object.assign(sink, buildSelectionForField$b(source, reader, selectionNode, variables));
41495
- }
41496
- return sink;
39458
+ function buildSelectionForNode$c(source, reader, parentNode, selectionNode, variables, fragments) {
39459
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$c, buildSelectionForField$c);
41497
39460
  }
41498
39461
  function select$k(field, variables, fragments) {
41499
39462
  return (source, reader) => {
41500
39463
  var _a;
41501
39464
  const sink = {};
41502
39465
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41503
- const builtSelection = buildSelectionForNode$b(source, reader, field, sel, variables, fragments);
39466
+ const builtSelection = buildSelectionForNode$c(source, reader, field, sel, variables, fragments);
41504
39467
  if (builtSelection !== undefined) {
41505
39468
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41506
39469
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41678,79 +39641,18 @@ function selectType$a(typename, sel, fieldData, reader, key, sink, variables, fr
41678
39641
  }
41679
39642
  return sink;
41680
39643
  }
41681
- function buildSelectionForField$a(source, reader, sel, variables, fragments) {
41682
- const sink = {};
41683
- const fieldData = getFieldData$a(source, sel, variables);
41684
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41685
- reader.enterPath(requestedFieldName);
41686
- if (fieldData === undefined) {
41687
- reader.markMissing();
41688
- reader.exitPath();
41689
- return;
41690
- }
41691
- if (fieldData === null) {
41692
- reader.assignScalar(requestedFieldName, sink, fieldData);
41693
- return sink;
41694
- }
41695
- const fieldType = getFieldType$u(sel);
41696
- if (fieldType === undefined) {
41697
- // This field's type is unknown to us. This breaks normalization.
41698
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41699
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41700
- }
41701
- else if (fieldType.isArray) {
41702
- const arraySink = [];
41703
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41704
- reader.enterPath(i);
41705
- selectType$a(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
41706
- reader.exitPath();
41707
- }
41708
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41709
- }
41710
- else {
41711
- selectType$a(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
41712
- }
41713
- reader.exitPath();
41714
- return sink;
39644
+ function buildSelectionForField$b(source, reader, sel, variables, fragments) {
39645
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$a, getFieldType$u, selectType$a);
41715
39646
  }
41716
- function buildSelectionForNode$a(source, reader, parentNode, selectionNode, variables, fragments) {
41717
- const sink = {};
41718
- if (selectionNode.directives) {
41719
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41720
- if (selectionWithDirectives === undefined) {
41721
- return;
41722
- }
41723
- selectionNode = selectionWithDirectives;
41724
- }
41725
- if (selectionNode.kind === "InlineFragment") {
41726
- if (isFragmentApplicable$b(selectionNode, source.data.__typename)) {
41727
- // Get selections out of the inline fragment
41728
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41729
- // Call into field handling with selections
41730
- Object.assign(sink, buildSelectionForNode$a(source, reader, parentNode, fragmentSelection, variables, fragments));
41731
- });
41732
- }
41733
- }
41734
- if (selectionNode.kind === "FragmentSpread") {
41735
- const namedFragment = fragments[selectionNode.name.value];
41736
- if (namedFragment && isFragmentApplicable$b(namedFragment, source.data.__typename)) {
41737
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41738
- // Call into field handling with selections
41739
- Object.assign(sink, buildSelectionForNode$a(source, reader, parentNode, fragmentSelection, variables, fragments));
41740
- });
41741
- }
41742
- }
41743
- if (selectionNode.kind === "Field") {
41744
- Object.assign(sink, buildSelectionForField$a(source, reader, selectionNode, variables, fragments));
41745
- }
41746
- return sink;
39647
+ function buildSelectionForNode$b(source, reader, parentNode, selectionNode, variables, fragments) {
39648
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$b, buildSelectionForField$b);
41747
39649
  }
41748
39650
  function select$j(field, variables, fragments) {
41749
39651
  return (source, reader) => {
41750
39652
  var _a;
41751
39653
  const sink = {};
41752
39654
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41753
- const builtSelection = buildSelectionForNode$a(source, reader, field, sel, variables, fragments);
39655
+ const builtSelection = buildSelectionForNode$b(source, reader, field, sel, variables, fragments);
41754
39656
  if (builtSelection !== undefined) {
41755
39657
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41756
39658
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42003,79 +39905,18 @@ function selectType$9(typename, sel, fieldData, reader, key, sink, variables, fr
42003
39905
  }
42004
39906
  return sink;
42005
39907
  }
42006
- function buildSelectionForField$9(source, reader, sel, variables, fragments) {
42007
- const sink = {};
42008
- const fieldData = getFieldData$9(source, sel, variables);
42009
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42010
- reader.enterPath(requestedFieldName);
42011
- if (fieldData === undefined) {
42012
- reader.markMissing();
42013
- reader.exitPath();
42014
- return;
42015
- }
42016
- if (fieldData === null) {
42017
- reader.assignScalar(requestedFieldName, sink, fieldData);
42018
- return sink;
42019
- }
42020
- const fieldType = getFieldType$t(sel);
42021
- if (fieldType === undefined) {
42022
- // This field's type is unknown to us. This breaks normalization.
42023
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42024
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42025
- }
42026
- else if (fieldType.isArray) {
42027
- const arraySink = [];
42028
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42029
- reader.enterPath(i);
42030
- selectType$9(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
42031
- reader.exitPath();
42032
- }
42033
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
42034
- }
42035
- else {
42036
- selectType$9(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
42037
- }
42038
- reader.exitPath();
42039
- return sink;
39908
+ function buildSelectionForField$a(source, reader, sel, variables, fragments) {
39909
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$9, getFieldType$t, selectType$9);
42040
39910
  }
42041
- function buildSelectionForNode$9(source, reader, parentNode, selectionNode, variables, fragments) {
42042
- const sink = {};
42043
- if (selectionNode.directives) {
42044
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
42045
- if (selectionWithDirectives === undefined) {
42046
- return;
42047
- }
42048
- selectionNode = selectionWithDirectives;
42049
- }
42050
- if (selectionNode.kind === "InlineFragment") {
42051
- if (isFragmentApplicable$a(selectionNode, source.data.__typename)) {
42052
- // Get selections out of the inline fragment
42053
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
42054
- // Call into field handling with selections
42055
- Object.assign(sink, buildSelectionForNode$9(source, reader, parentNode, fragmentSelection, variables, fragments));
42056
- });
42057
- }
42058
- }
42059
- if (selectionNode.kind === "FragmentSpread") {
42060
- const namedFragment = fragments[selectionNode.name.value];
42061
- if (namedFragment && isFragmentApplicable$a(namedFragment, source.data.__typename)) {
42062
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
42063
- // Call into field handling with selections
42064
- Object.assign(sink, buildSelectionForNode$9(source, reader, parentNode, fragmentSelection, variables, fragments));
42065
- });
42066
- }
42067
- }
42068
- if (selectionNode.kind === "Field") {
42069
- Object.assign(sink, buildSelectionForField$9(source, reader, selectionNode, variables, fragments));
42070
- }
42071
- return sink;
39911
+ function buildSelectionForNode$a(source, reader, parentNode, selectionNode, variables, fragments) {
39912
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$a, buildSelectionForField$a);
42072
39913
  }
42073
39914
  function select$i(field, variables, fragments) {
42074
39915
  return (source, reader) => {
42075
39916
  var _a;
42076
39917
  const sink = {};
42077
39918
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
42078
- const builtSelection = buildSelectionForNode$9(source, reader, field, sel, variables, fragments);
39919
+ const builtSelection = buildSelectionForNode$a(source, reader, field, sel, variables, fragments);
42079
39920
  if (builtSelection !== undefined) {
42080
39921
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
42081
39922
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42478,79 +40319,18 @@ function selectType$8(typename, sel, fieldData, reader, key, sink, variables, fr
42478
40319
  }
42479
40320
  return sink;
42480
40321
  }
42481
- function buildSelectionForField$8(source, reader, sel, variables, fragments) {
42482
- const sink = {};
42483
- const fieldData = getFieldData$8(source, sel, variables);
42484
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42485
- reader.enterPath(requestedFieldName);
42486
- if (fieldData === undefined) {
42487
- reader.markMissing();
42488
- reader.exitPath();
42489
- return;
42490
- }
42491
- if (fieldData === null) {
42492
- reader.assignScalar(requestedFieldName, sink, fieldData);
42493
- return sink;
42494
- }
42495
- const fieldType = getFieldType$s(sel);
42496
- if (fieldType === undefined) {
42497
- // This field's type is unknown to us. This breaks normalization.
42498
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42499
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42500
- }
42501
- else if (fieldType.isArray) {
42502
- const arraySink = [];
42503
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42504
- reader.enterPath(i);
42505
- selectType$8(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
42506
- reader.exitPath();
42507
- }
42508
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
42509
- }
42510
- else {
42511
- selectType$8(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
42512
- }
42513
- reader.exitPath();
42514
- return sink;
40322
+ function buildSelectionForField$9(source, reader, sel, variables, fragments) {
40323
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$8, getFieldType$s, selectType$8);
42515
40324
  }
42516
- function buildSelectionForNode$8(source, reader, parentNode, selectionNode, variables, fragments) {
42517
- const sink = {};
42518
- if (selectionNode.directives) {
42519
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
42520
- if (selectionWithDirectives === undefined) {
42521
- return;
42522
- }
42523
- selectionNode = selectionWithDirectives;
42524
- }
42525
- if (selectionNode.kind === "InlineFragment") {
42526
- if (isFragmentApplicable$9(selectionNode, source.data.__typename)) {
42527
- // Get selections out of the inline fragment
42528
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
42529
- // Call into field handling with selections
42530
- Object.assign(sink, buildSelectionForNode$8(source, reader, parentNode, fragmentSelection, variables, fragments));
42531
- });
42532
- }
42533
- }
42534
- if (selectionNode.kind === "FragmentSpread") {
42535
- const namedFragment = fragments[selectionNode.name.value];
42536
- if (namedFragment && isFragmentApplicable$9(namedFragment, source.data.__typename)) {
42537
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
42538
- // Call into field handling with selections
42539
- Object.assign(sink, buildSelectionForNode$8(source, reader, parentNode, fragmentSelection, variables, fragments));
42540
- });
42541
- }
42542
- }
42543
- if (selectionNode.kind === "Field") {
42544
- Object.assign(sink, buildSelectionForField$8(source, reader, selectionNode, variables));
42545
- }
42546
- return sink;
40325
+ function buildSelectionForNode$9(source, reader, parentNode, selectionNode, variables, fragments) {
40326
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$9, buildSelectionForField$9);
42547
40327
  }
42548
40328
  function select$h(field, variables, fragments) {
42549
40329
  return (source, reader) => {
42550
40330
  var _a;
42551
40331
  const sink = {};
42552
40332
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
42553
- const builtSelection = buildSelectionForNode$8(source, reader, field, sel, variables, fragments);
40333
+ const builtSelection = buildSelectionForNode$9(source, reader, field, sel, variables, fragments);
42554
40334
  if (builtSelection !== undefined) {
42555
40335
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
42556
40336
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42722,79 +40502,18 @@ function selectType$7(typename, sel, fieldData, reader, key, sink, variables, fr
42722
40502
  }
42723
40503
  return sink;
42724
40504
  }
42725
- function buildSelectionForField$7(source, reader, sel, variables, fragments) {
42726
- const sink = {};
42727
- const fieldData = getFieldData$7(source, sel, variables);
42728
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42729
- reader.enterPath(requestedFieldName);
42730
- if (fieldData === undefined) {
42731
- reader.markMissing();
42732
- reader.exitPath();
42733
- return;
42734
- }
42735
- if (fieldData === null) {
42736
- reader.assignScalar(requestedFieldName, sink, fieldData);
42737
- return sink;
42738
- }
42739
- const fieldType = getFieldType$r(sel);
42740
- if (fieldType === undefined) {
42741
- // This field's type is unknown to us. This breaks normalization.
42742
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42743
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42744
- }
42745
- else if (fieldType.isArray) {
42746
- const arraySink = [];
42747
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42748
- reader.enterPath(i);
42749
- selectType$7(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
42750
- reader.exitPath();
42751
- }
42752
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
42753
- }
42754
- else {
42755
- selectType$7(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
42756
- }
42757
- reader.exitPath();
42758
- return sink;
40505
+ function buildSelectionForField$8(source, reader, sel, variables, fragments) {
40506
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$7, getFieldType$r, selectType$7);
42759
40507
  }
42760
- function buildSelectionForNode$7(source, reader, parentNode, selectionNode, variables, fragments) {
42761
- const sink = {};
42762
- if (selectionNode.directives) {
42763
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
42764
- if (selectionWithDirectives === undefined) {
42765
- return;
42766
- }
42767
- selectionNode = selectionWithDirectives;
42768
- }
42769
- if (selectionNode.kind === "InlineFragment") {
42770
- if (isFragmentApplicable$8(selectionNode, source.data.__typename)) {
42771
- // Get selections out of the inline fragment
42772
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
42773
- // Call into field handling with selections
42774
- Object.assign(sink, buildSelectionForNode$7(source, reader, parentNode, fragmentSelection, variables, fragments));
42775
- });
42776
- }
42777
- }
42778
- if (selectionNode.kind === "FragmentSpread") {
42779
- const namedFragment = fragments[selectionNode.name.value];
42780
- if (namedFragment && isFragmentApplicable$8(namedFragment, source.data.__typename)) {
42781
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
42782
- // Call into field handling with selections
42783
- Object.assign(sink, buildSelectionForNode$7(source, reader, parentNode, fragmentSelection, variables, fragments));
42784
- });
42785
- }
42786
- }
42787
- if (selectionNode.kind === "Field") {
42788
- Object.assign(sink, buildSelectionForField$7(source, reader, selectionNode, variables));
42789
- }
42790
- return sink;
40508
+ function buildSelectionForNode$8(source, reader, parentNode, selectionNode, variables, fragments) {
40509
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$8, buildSelectionForField$8);
42791
40510
  }
42792
40511
  function select$g(field, variables, fragments) {
42793
40512
  return (source, reader) => {
42794
40513
  var _a;
42795
40514
  const sink = {};
42796
40515
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
42797
- const builtSelection = buildSelectionForNode$7(source, reader, field, sel, variables, fragments);
40516
+ const builtSelection = buildSelectionForNode$8(source, reader, field, sel, variables, fragments);
42798
40517
  if (builtSelection !== undefined) {
42799
40518
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
42800
40519
  Object.keys(builtSelection).forEach((key, value) => {
@@ -43059,79 +40778,18 @@ function selectType$6(typename, sel, fieldData, reader, key, sink, variables, fr
43059
40778
  }
43060
40779
  return sink;
43061
40780
  }
43062
- function buildSelectionForField$6(source, reader, sel, variables, fragments) {
43063
- const sink = {};
43064
- const fieldData = getFieldData$6(source, sel, variables);
43065
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
43066
- reader.enterPath(requestedFieldName);
43067
- if (fieldData === undefined) {
43068
- reader.markMissing();
43069
- reader.exitPath();
43070
- return;
43071
- }
43072
- if (fieldData === null) {
43073
- reader.assignScalar(requestedFieldName, sink, fieldData);
43074
- return sink;
43075
- }
43076
- const fieldType = getFieldType$q(sel);
43077
- if (fieldType === undefined) {
43078
- // This field's type is unknown to us. This breaks normalization.
43079
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
43080
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
43081
- }
43082
- else if (fieldType.isArray) {
43083
- const arraySink = [];
43084
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
43085
- reader.enterPath(i);
43086
- selectType$6(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
43087
- reader.exitPath();
43088
- }
43089
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
43090
- }
43091
- else {
43092
- selectType$6(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
43093
- }
43094
- reader.exitPath();
43095
- return sink;
40781
+ function buildSelectionForField$7(source, reader, sel, variables, fragments) {
40782
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$6, getFieldType$q, selectType$6);
43096
40783
  }
43097
- function buildSelectionForNode$6(source, reader, parentNode, selectionNode, variables, fragments) {
43098
- const sink = {};
43099
- if (selectionNode.directives) {
43100
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
43101
- if (selectionWithDirectives === undefined) {
43102
- return;
43103
- }
43104
- selectionNode = selectionWithDirectives;
43105
- }
43106
- if (selectionNode.kind === "InlineFragment") {
43107
- if (isFragmentApplicable$7(selectionNode, source.data.__typename)) {
43108
- // Get selections out of the inline fragment
43109
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
43110
- // Call into field handling with selections
43111
- Object.assign(sink, buildSelectionForNode$6(source, reader, parentNode, fragmentSelection, variables, fragments));
43112
- });
43113
- }
43114
- }
43115
- if (selectionNode.kind === "FragmentSpread") {
43116
- const namedFragment = fragments[selectionNode.name.value];
43117
- if (namedFragment && isFragmentApplicable$7(namedFragment, source.data.__typename)) {
43118
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
43119
- // Call into field handling with selections
43120
- Object.assign(sink, buildSelectionForNode$6(source, reader, parentNode, fragmentSelection, variables, fragments));
43121
- });
43122
- }
43123
- }
43124
- if (selectionNode.kind === "Field") {
43125
- Object.assign(sink, buildSelectionForField$6(source, reader, selectionNode, variables, fragments));
43126
- }
43127
- return sink;
40784
+ function buildSelectionForNode$7(source, reader, parentNode, selectionNode, variables, fragments) {
40785
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$7, buildSelectionForField$7);
43128
40786
  }
43129
40787
  function select$f(field, variables, fragments) {
43130
40788
  return (source, reader) => {
43131
40789
  var _a;
43132
40790
  const sink = {};
43133
40791
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
43134
- const builtSelection = buildSelectionForNode$6(source, reader, field, sel, variables, fragments);
40792
+ const builtSelection = buildSelectionForNode$7(source, reader, field, sel, variables, fragments);
43135
40793
  if (builtSelection !== undefined) {
43136
40794
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
43137
40795
  Object.keys(builtSelection).forEach((key, value) => {
@@ -43558,79 +41216,18 @@ function selectType$5(typename, sel, fieldData, reader, key, sink, variables, fr
43558
41216
  }
43559
41217
  return sink;
43560
41218
  }
43561
- function buildSelectionForField$5(source, reader, sel, variables, fragments) {
43562
- const sink = {};
43563
- const fieldData = getFieldData$5(source, sel, variables);
43564
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
43565
- reader.enterPath(requestedFieldName);
43566
- if (fieldData === undefined) {
43567
- reader.markMissing();
43568
- reader.exitPath();
43569
- return;
43570
- }
43571
- if (fieldData === null) {
43572
- reader.assignScalar(requestedFieldName, sink, fieldData);
43573
- return sink;
43574
- }
43575
- const fieldType = getFieldType$p(sel);
43576
- if (fieldType === undefined) {
43577
- // This field's type is unknown to us. This breaks normalization.
43578
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
43579
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
43580
- }
43581
- else if (fieldType.isArray) {
43582
- const arraySink = [];
43583
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
43584
- reader.enterPath(i);
43585
- selectType$5(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
43586
- reader.exitPath();
43587
- }
43588
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
43589
- }
43590
- else {
43591
- selectType$5(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
43592
- }
43593
- reader.exitPath();
43594
- return sink;
41219
+ function buildSelectionForField$6(source, reader, sel, variables, fragments) {
41220
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$5, getFieldType$p, selectType$5);
43595
41221
  }
43596
- function buildSelectionForNode$5(source, reader, parentNode, selectionNode, variables, fragments) {
43597
- const sink = {};
43598
- if (selectionNode.directives) {
43599
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
43600
- if (selectionWithDirectives === undefined) {
43601
- return;
43602
- }
43603
- selectionNode = selectionWithDirectives;
43604
- }
43605
- if (selectionNode.kind === "InlineFragment") {
43606
- if (isFragmentApplicable$6(selectionNode, source.data.__typename)) {
43607
- // Get selections out of the inline fragment
43608
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
43609
- // Call into field handling with selections
43610
- Object.assign(sink, buildSelectionForNode$5(source, reader, parentNode, fragmentSelection, variables, fragments));
43611
- });
43612
- }
43613
- }
43614
- if (selectionNode.kind === "FragmentSpread") {
43615
- const namedFragment = fragments[selectionNode.name.value];
43616
- if (namedFragment && isFragmentApplicable$6(namedFragment, source.data.__typename)) {
43617
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
43618
- // Call into field handling with selections
43619
- Object.assign(sink, buildSelectionForNode$5(source, reader, parentNode, fragmentSelection, variables, fragments));
43620
- });
43621
- }
43622
- }
43623
- if (selectionNode.kind === "Field") {
43624
- Object.assign(sink, buildSelectionForField$5(source, reader, selectionNode, variables));
43625
- }
43626
- return sink;
41222
+ function buildSelectionForNode$6(source, reader, parentNode, selectionNode, variables, fragments) {
41223
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$6, buildSelectionForField$6);
43627
41224
  }
43628
41225
  function select$e(field, variables, fragments) {
43629
41226
  return (source, reader) => {
43630
41227
  var _a;
43631
41228
  const sink = {};
43632
41229
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
43633
- const builtSelection = buildSelectionForNode$5(source, reader, field, sel, variables, fragments);
41230
+ const builtSelection = buildSelectionForNode$6(source, reader, field, sel, variables, fragments);
43634
41231
  if (builtSelection !== undefined) {
43635
41232
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
43636
41233
  Object.keys(builtSelection).forEach((key, value) => {
@@ -43796,79 +41393,18 @@ function selectType$4(typename, sel, fieldData, reader, key, sink, variables, fr
43796
41393
  }
43797
41394
  return sink;
43798
41395
  }
43799
- function buildSelectionForField$4(source, reader, sel, variables, fragments) {
43800
- const sink = {};
43801
- const fieldData = getFieldData$4(source, sel, variables);
43802
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
43803
- reader.enterPath(requestedFieldName);
43804
- if (fieldData === undefined) {
43805
- reader.markMissing();
43806
- reader.exitPath();
43807
- return;
43808
- }
43809
- if (fieldData === null) {
43810
- reader.assignScalar(requestedFieldName, sink, fieldData);
43811
- return sink;
43812
- }
43813
- const fieldType = getFieldType$o(sel);
43814
- if (fieldType === undefined) {
43815
- // This field's type is unknown to us. This breaks normalization.
43816
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
43817
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
43818
- }
43819
- else if (fieldType.isArray) {
43820
- const arraySink = [];
43821
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
43822
- reader.enterPath(i);
43823
- selectType$4(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
43824
- reader.exitPath();
43825
- }
43826
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
43827
- }
43828
- else {
43829
- selectType$4(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
43830
- }
43831
- reader.exitPath();
43832
- return sink;
41396
+ function buildSelectionForField$5(source, reader, sel, variables, fragments) {
41397
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$4, getFieldType$o, selectType$4);
43833
41398
  }
43834
- function buildSelectionForNode$4(source, reader, parentNode, selectionNode, variables, fragments) {
43835
- const sink = {};
43836
- if (selectionNode.directives) {
43837
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
43838
- if (selectionWithDirectives === undefined) {
43839
- return;
43840
- }
43841
- selectionNode = selectionWithDirectives;
43842
- }
43843
- if (selectionNode.kind === "InlineFragment") {
43844
- if (isFragmentApplicable$5(selectionNode, source.data.__typename)) {
43845
- // Get selections out of the inline fragment
43846
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
43847
- // Call into field handling with selections
43848
- Object.assign(sink, buildSelectionForNode$4(source, reader, parentNode, fragmentSelection, variables, fragments));
43849
- });
43850
- }
43851
- }
43852
- if (selectionNode.kind === "FragmentSpread") {
43853
- const namedFragment = fragments[selectionNode.name.value];
43854
- if (namedFragment && isFragmentApplicable$5(namedFragment, source.data.__typename)) {
43855
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
43856
- // Call into field handling with selections
43857
- Object.assign(sink, buildSelectionForNode$4(source, reader, parentNode, fragmentSelection, variables, fragments));
43858
- });
43859
- }
43860
- }
43861
- if (selectionNode.kind === "Field") {
43862
- Object.assign(sink, buildSelectionForField$4(source, reader, selectionNode, variables));
43863
- }
43864
- return sink;
41399
+ function buildSelectionForNode$5(source, reader, parentNode, selectionNode, variables, fragments) {
41400
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$5, buildSelectionForField$5);
43865
41401
  }
43866
41402
  function select$d(field, variables, fragments) {
43867
41403
  return (source, reader) => {
43868
41404
  var _a;
43869
41405
  const sink = {};
43870
41406
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
43871
- const builtSelection = buildSelectionForNode$4(source, reader, field, sel, variables, fragments);
41407
+ const builtSelection = buildSelectionForNode$5(source, reader, field, sel, variables, fragments);
43872
41408
  if (builtSelection !== undefined) {
43873
41409
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
43874
41410
  Object.keys(builtSelection).forEach((key, value) => {
@@ -44063,79 +41599,18 @@ function selectType$3(typename, sel, fieldData, reader, key, sink, variables, fr
44063
41599
  }
44064
41600
  return sink;
44065
41601
  }
44066
- function buildSelectionForField$3(source, reader, sel, variables, fragments) {
44067
- const sink = {};
44068
- const fieldData = getFieldData$3(source, sel, variables);
44069
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
44070
- reader.enterPath(requestedFieldName);
44071
- if (fieldData === undefined) {
44072
- reader.markMissing();
44073
- reader.exitPath();
44074
- return;
44075
- }
44076
- if (fieldData === null) {
44077
- reader.assignScalar(requestedFieldName, sink, fieldData);
44078
- return sink;
44079
- }
44080
- const fieldType = getFieldType$n(sel);
44081
- if (fieldType === undefined) {
44082
- // This field's type is unknown to us. This breaks normalization.
44083
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
44084
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
44085
- }
44086
- else if (fieldType.isArray) {
44087
- const arraySink = [];
44088
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
44089
- reader.enterPath(i);
44090
- selectType$3(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
44091
- reader.exitPath();
44092
- }
44093
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
44094
- }
44095
- else {
44096
- selectType$3(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
44097
- }
44098
- reader.exitPath();
44099
- return sink;
41602
+ function buildSelectionForField$4(source, reader, sel, variables, fragments) {
41603
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$3, getFieldType$n, selectType$3);
44100
41604
  }
44101
- function buildSelectionForNode$3(source, reader, parentNode, selectionNode, variables, fragments) {
44102
- const sink = {};
44103
- if (selectionNode.directives) {
44104
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
44105
- if (selectionWithDirectives === undefined) {
44106
- return;
44107
- }
44108
- selectionNode = selectionWithDirectives;
44109
- }
44110
- if (selectionNode.kind === "InlineFragment") {
44111
- if (isFragmentApplicable$4(selectionNode, source.data.__typename)) {
44112
- // Get selections out of the inline fragment
44113
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
44114
- // Call into field handling with selections
44115
- Object.assign(sink, buildSelectionForNode$3(source, reader, parentNode, fragmentSelection, variables, fragments));
44116
- });
44117
- }
44118
- }
44119
- if (selectionNode.kind === "FragmentSpread") {
44120
- const namedFragment = fragments[selectionNode.name.value];
44121
- if (namedFragment && isFragmentApplicable$4(namedFragment, source.data.__typename)) {
44122
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
44123
- // Call into field handling with selections
44124
- Object.assign(sink, buildSelectionForNode$3(source, reader, parentNode, fragmentSelection, variables, fragments));
44125
- });
44126
- }
44127
- }
44128
- if (selectionNode.kind === "Field") {
44129
- Object.assign(sink, buildSelectionForField$3(source, reader, selectionNode, variables, fragments));
44130
- }
44131
- return sink;
41605
+ function buildSelectionForNode$4(source, reader, parentNode, selectionNode, variables, fragments) {
41606
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$4, buildSelectionForField$4);
44132
41607
  }
44133
41608
  function select$c(field, variables, fragments) {
44134
41609
  return (source, reader) => {
44135
41610
  var _a;
44136
41611
  const sink = {};
44137
41612
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
44138
- const builtSelection = buildSelectionForNode$3(source, reader, field, sel, variables, fragments);
41613
+ const builtSelection = buildSelectionForNode$4(source, reader, field, sel, variables, fragments);
44139
41614
  if (builtSelection !== undefined) {
44140
41615
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
44141
41616
  Object.keys(builtSelection).forEach((key, value) => {
@@ -44452,79 +41927,18 @@ function selectType$2(typename, sel, fieldData, reader, key, sink, variables, fr
44452
41927
  }
44453
41928
  return sink;
44454
41929
  }
44455
- function buildSelectionForField$2(source, reader, sel, variables, fragments) {
44456
- const sink = {};
44457
- const fieldData = getFieldData$2(source, sel, variables);
44458
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
44459
- reader.enterPath(requestedFieldName);
44460
- if (fieldData === undefined) {
44461
- reader.markMissing();
44462
- reader.exitPath();
44463
- return;
44464
- }
44465
- if (fieldData === null) {
44466
- reader.assignScalar(requestedFieldName, sink, fieldData);
44467
- return sink;
44468
- }
44469
- const fieldType = getFieldType$m(sel);
44470
- if (fieldType === undefined) {
44471
- // This field's type is unknown to us. This breaks normalization.
44472
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
44473
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
44474
- }
44475
- else if (fieldType.isArray) {
44476
- const arraySink = [];
44477
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
44478
- reader.enterPath(i);
44479
- selectType$2(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
44480
- reader.exitPath();
44481
- }
44482
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
44483
- }
44484
- else {
44485
- selectType$2(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
44486
- }
44487
- reader.exitPath();
44488
- return sink;
41930
+ function buildSelectionForField$3(source, reader, sel, variables, fragments) {
41931
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$2, getFieldType$m, selectType$2);
44489
41932
  }
44490
- function buildSelectionForNode$2(source, reader, parentNode, selectionNode, variables, fragments) {
44491
- const sink = {};
44492
- if (selectionNode.directives) {
44493
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
44494
- if (selectionWithDirectives === undefined) {
44495
- return;
44496
- }
44497
- selectionNode = selectionWithDirectives;
44498
- }
44499
- if (selectionNode.kind === "InlineFragment") {
44500
- if (isFragmentApplicable$3(selectionNode, source.data.__typename)) {
44501
- // Get selections out of the inline fragment
44502
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
44503
- // Call into field handling with selections
44504
- Object.assign(sink, buildSelectionForNode$2(source, reader, parentNode, fragmentSelection, variables, fragments));
44505
- });
44506
- }
44507
- }
44508
- if (selectionNode.kind === "FragmentSpread") {
44509
- const namedFragment = fragments[selectionNode.name.value];
44510
- if (namedFragment && isFragmentApplicable$3(namedFragment, source.data.__typename)) {
44511
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
44512
- // Call into field handling with selections
44513
- Object.assign(sink, buildSelectionForNode$2(source, reader, parentNode, fragmentSelection, variables, fragments));
44514
- });
44515
- }
44516
- }
44517
- if (selectionNode.kind === "Field") {
44518
- Object.assign(sink, buildSelectionForField$2(source, reader, selectionNode, variables, fragments));
44519
- }
44520
- return sink;
41933
+ function buildSelectionForNode$3(source, reader, parentNode, selectionNode, variables, fragments) {
41934
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$3, buildSelectionForField$3);
44521
41935
  }
44522
41936
  function select$b(field, variables, fragments) {
44523
41937
  return (source, reader) => {
44524
41938
  var _a;
44525
41939
  const sink = {};
44526
41940
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
44527
- const builtSelection = buildSelectionForNode$2(source, reader, field, sel, variables, fragments);
41941
+ const builtSelection = buildSelectionForNode$3(source, reader, field, sel, variables, fragments);
44528
41942
  if (builtSelection !== undefined) {
44529
41943
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
44530
41944
  Object.keys(builtSelection).forEach((key, value) => {
@@ -44781,79 +42195,18 @@ function selectType$1(typename, sel, fieldData, reader, key, sink, variables, fr
44781
42195
  }
44782
42196
  return sink;
44783
42197
  }
44784
- function buildSelectionForField$1(source, reader, sel, variables, fragments) {
44785
- const sink = {};
44786
- const fieldData = getFieldData$1(source, sel, variables);
44787
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
44788
- reader.enterPath(requestedFieldName);
44789
- if (fieldData === undefined) {
44790
- reader.markMissing();
44791
- reader.exitPath();
44792
- return;
44793
- }
44794
- if (fieldData === null) {
44795
- reader.assignScalar(requestedFieldName, sink, fieldData);
44796
- return sink;
44797
- }
44798
- const fieldType = getFieldType$l(sel);
44799
- if (fieldType === undefined) {
44800
- // This field's type is unknown to us. This breaks normalization.
44801
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
44802
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
44803
- }
44804
- else if (fieldType.isArray) {
44805
- const arraySink = [];
44806
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
44807
- reader.enterPath(i);
44808
- selectType$1(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
44809
- reader.exitPath();
44810
- }
44811
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
44812
- }
44813
- else {
44814
- selectType$1(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
44815
- }
44816
- reader.exitPath();
44817
- return sink;
42198
+ function buildSelectionForField$2(source, reader, sel, variables, fragments) {
42199
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$1, getFieldType$l, selectType$1);
44818
42200
  }
44819
- function buildSelectionForNode$1(source, reader, parentNode, selectionNode, variables, fragments) {
44820
- const sink = {};
44821
- if (selectionNode.directives) {
44822
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
44823
- if (selectionWithDirectives === undefined) {
44824
- return;
44825
- }
44826
- selectionNode = selectionWithDirectives;
44827
- }
44828
- if (selectionNode.kind === "InlineFragment") {
44829
- if (isFragmentApplicable$2(selectionNode, source.data.__typename)) {
44830
- // Get selections out of the inline fragment
44831
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
44832
- // Call into field handling with selections
44833
- Object.assign(sink, buildSelectionForNode$1(source, reader, parentNode, fragmentSelection, variables, fragments));
44834
- });
44835
- }
44836
- }
44837
- if (selectionNode.kind === "FragmentSpread") {
44838
- const namedFragment = fragments[selectionNode.name.value];
44839
- if (namedFragment && isFragmentApplicable$2(namedFragment, source.data.__typename)) {
44840
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
44841
- // Call into field handling with selections
44842
- Object.assign(sink, buildSelectionForNode$1(source, reader, parentNode, fragmentSelection, variables, fragments));
44843
- });
44844
- }
44845
- }
44846
- if (selectionNode.kind === "Field") {
44847
- Object.assign(sink, buildSelectionForField$1(source, reader, selectionNode, variables));
44848
- }
44849
- return sink;
42201
+ function buildSelectionForNode$2(source, reader, parentNode, selectionNode, variables, fragments) {
42202
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$2, buildSelectionForField$2);
44850
42203
  }
44851
42204
  function select$a(field, variables, fragments) {
44852
42205
  return (source, reader) => {
44853
42206
  var _a;
44854
42207
  const sink = {};
44855
42208
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
44856
- const builtSelection = buildSelectionForNode$1(source, reader, field, sel, variables, fragments);
42209
+ const builtSelection = buildSelectionForNode$2(source, reader, field, sel, variables, fragments);
44857
42210
  if (builtSelection !== undefined) {
44858
42211
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
44859
42212
  Object.keys(builtSelection).forEach((key, value) => {
@@ -45063,79 +42416,18 @@ function selectType(typename, sel, fieldData, reader, key, sink, variables, frag
45063
42416
  }
45064
42417
  return sink;
45065
42418
  }
45066
- function buildSelectionForField(source, reader, sel, variables, fragments) {
45067
- const sink = {};
45068
- const fieldData = getFieldData(source, sel, variables);
45069
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
45070
- reader.enterPath(requestedFieldName);
45071
- if (fieldData === undefined) {
45072
- reader.markMissing();
45073
- reader.exitPath();
45074
- return;
45075
- }
45076
- if (fieldData === null) {
45077
- reader.assignScalar(requestedFieldName, sink, fieldData);
45078
- return sink;
45079
- }
45080
- const fieldType = getFieldType$k(sel);
45081
- if (fieldType === undefined) {
45082
- // This field's type is unknown to us. This breaks normalization.
45083
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
45084
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
45085
- }
45086
- else if (fieldType.isArray) {
45087
- const arraySink = [];
45088
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
45089
- reader.enterPath(i);
45090
- selectType(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
45091
- reader.exitPath();
45092
- }
45093
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
45094
- }
45095
- else {
45096
- selectType(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
45097
- }
45098
- reader.exitPath();
45099
- return sink;
42419
+ function buildSelectionForField$1(source, reader, sel, variables, fragments) {
42420
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData, getFieldType$k, selectType);
45100
42421
  }
45101
- function buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments) {
45102
- const sink = {};
45103
- if (selectionNode.directives) {
45104
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
45105
- if (selectionWithDirectives === undefined) {
45106
- return;
45107
- }
45108
- selectionNode = selectionWithDirectives;
45109
- }
45110
- if (selectionNode.kind === "InlineFragment") {
45111
- if (isFragmentApplicable$1(selectionNode, source.data.__typename)) {
45112
- // Get selections out of the inline fragment
45113
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
45114
- // Call into field handling with selections
45115
- Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments));
45116
- });
45117
- }
45118
- }
45119
- if (selectionNode.kind === "FragmentSpread") {
45120
- const namedFragment = fragments[selectionNode.name.value];
45121
- if (namedFragment && isFragmentApplicable$1(namedFragment, source.data.__typename)) {
45122
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
45123
- // Call into field handling with selections
45124
- Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments));
45125
- });
45126
- }
45127
- }
45128
- if (selectionNode.kind === "Field") {
45129
- Object.assign(sink, buildSelectionForField(source, reader, selectionNode, variables, fragments));
45130
- }
45131
- return sink;
42422
+ function buildSelectionForNode$1(source, reader, parentNode, selectionNode, variables, fragments) {
42423
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$1, buildSelectionForField$1);
45132
42424
  }
45133
42425
  function select$9(field, variables, fragments) {
45134
42426
  return (source, reader) => {
45135
42427
  var _a;
45136
42428
  const sink = {};
45137
42429
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
45138
- const builtSelection = buildSelectionForNode(source, reader, field, sel, variables, fragments);
42430
+ const builtSelection = buildSelectionForNode$1(source, reader, field, sel, variables, fragments);
45139
42431
  if (builtSelection !== undefined) {
45140
42432
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
45141
42433
  Object.keys(builtSelection).forEach((key, value) => {
@@ -46908,6 +44200,93 @@ function getInContextFragmentType(fragment, fragmentMap) {
46908
44200
  return sharedGetFragmentType(fragment, fragmentMap);
46909
44201
  }
46910
44202
 
44203
+ function applyToSelection$6(selection, directive, variables) {
44204
+ return selection;
44205
+ }
44206
+
44207
+ function applyToSelection$5(selection, directive, variables) {
44208
+ return selection;
44209
+ }
44210
+
44211
+ function applyToSelection$4(selection, directive, variables) {
44212
+ return selection;
44213
+ }
44214
+
44215
+ function applyToSelection$3(selection, directive, variables) {
44216
+ var _a;
44217
+ const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
44218
+ if (ifArg && ifArg.value) {
44219
+ if (ifArg.value.kind === "BooleanValue") {
44220
+ return ifArg.value.value ? selection : undefined;
44221
+ }
44222
+ if (ifArg.value.kind === "Variable") {
44223
+ return variables[ifArg.value.name.value] ? selection : undefined;
44224
+ }
44225
+ }
44226
+ return selection;
44227
+ }
44228
+
44229
+ function applyToSelection$2(selection, directive, variables) {
44230
+ var _a;
44231
+ const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
44232
+ if (ifArg && ifArg.value) {
44233
+ if (ifArg.value.kind === "BooleanValue") {
44234
+ return ifArg.value.value ? undefined : selection;
44235
+ }
44236
+ if (ifArg.value.kind === "Variable") {
44237
+ return variables[ifArg.value.name.value] ? undefined : selection;
44238
+ }
44239
+ }
44240
+ return selection;
44241
+ }
44242
+
44243
+ function applyToSelection$1(selection, directive, variables) {
44244
+ return selection;
44245
+ }
44246
+
44247
+ function applyToSelection(selection, directive, variables) {
44248
+ return selection;
44249
+ }
44250
+
44251
+ function applyDirectivesForSelection(selection, variables) {
44252
+ let result = selection;
44253
+ if (selection && selection.directives) {
44254
+ // iterate through directives in order. Directives _can_ be stacked.
44255
+ for (var i = 0; i < selection.directives.length; i++) {
44256
+ const directive = selection.directives[i];
44257
+ switch (directive.name.value) {
44258
+ // Generate Case for each directive in the schema that supports SelectionNodes
44259
+ case ("generic"):
44260
+ result = applyToSelection$6(selection);
44261
+ break;
44262
+ case ("fieldCategory"):
44263
+ result = applyToSelection$5(selection);
44264
+ break;
44265
+ case ("category"):
44266
+ result = applyToSelection$4(selection);
44267
+ break;
44268
+ case ("include"):
44269
+ result = applyToSelection$3(selection, directive, variables);
44270
+ break;
44271
+ case ("skip"):
44272
+ result = applyToSelection$2(selection, directive, variables);
44273
+ break;
44274
+ case ("deprecated"):
44275
+ result = applyToSelection$1(selection);
44276
+ break;
44277
+ case ("specifiedBy"):
44278
+ result = applyToSelection(selection);
44279
+ break;
44280
+ }
44281
+ if (result === undefined) {
44282
+ // Selection was removed.
44283
+ break;
44284
+ }
44285
+ }
44286
+ }
44287
+ return result;
44288
+ }
44289
+
46911
44290
  function createLink(ref) {
46912
44291
  return {
46913
44292
  __ref: serializeStructuredKey(ref),
@@ -47672,6 +45051,76 @@ function isFragmentApplicable(fragmentNode, implementedInterfaces, graphqlTypeNa
47672
45051
  const doesImplementInterface = !isUntypedInlineFragment && implementedInterfaces.includes(fragmentNode.typeCondition.name.value);
47673
45052
  const typenameMatchesCondition = typename !== undefined && !isUntypedInlineFragment && typename === fragmentNode.typeCondition.name.value;
47674
45053
  return isUntypedInlineFragment || matchesTypeCondition || doesImplementInterface || typenameMatchesCondition;
45054
+ }
45055
+ function buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable, buildSelectionForField) {
45056
+ const sink = {};
45057
+ if (selectionNode.directives) {
45058
+ const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
45059
+ if (selectionWithDirectives === undefined) {
45060
+ return;
45061
+ }
45062
+ selectionNode = selectionWithDirectives;
45063
+ }
45064
+ if (selectionNode.kind === "InlineFragment") {
45065
+ if (isFragmentApplicable(selectionNode, source.data.__typename)) {
45066
+ // Get selections out of the inline fragment
45067
+ selectionNode.selectionSet.selections.forEach(fragmentSelection => {
45068
+ // Call into field handling with selections
45069
+ Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments, isFragmentApplicable, buildSelectionForField));
45070
+ });
45071
+ }
45072
+ }
45073
+ if (selectionNode.kind === "FragmentSpread") {
45074
+ const namedFragment = fragments[selectionNode.name.value];
45075
+ if (namedFragment && isFragmentApplicable(namedFragment, source.data.__typename)) {
45076
+ namedFragment.selectionSet.selections.forEach(fragmentSelection => {
45077
+ // Call into field handling with selections
45078
+ Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments, isFragmentApplicable, buildSelectionForField));
45079
+ });
45080
+ }
45081
+ }
45082
+ if (selectionNode.kind === "Field") {
45083
+ Object.assign(sink, buildSelectionForField(source, reader, selectionNode, variables, fragments));
45084
+ }
45085
+ return sink;
45086
+ }
45087
+ function buildSelectionForField(source, reader, sel, variables, fragments, isCursorConnectionType, getFieldData, getFieldType, selectType) {
45088
+ const sink = {};
45089
+ const fieldData = getFieldData(source, sel, variables);
45090
+ const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
45091
+ if (isCursorConnectionType && requestedFieldName === 'pageInfo') {
45092
+ return;
45093
+ }
45094
+ reader.enterPath(requestedFieldName);
45095
+ if (fieldData === undefined) {
45096
+ reader.markMissing();
45097
+ reader.exitPath();
45098
+ return;
45099
+ }
45100
+ if (fieldData === null) {
45101
+ reader.assignScalar(requestedFieldName, sink, fieldData);
45102
+ return sink;
45103
+ }
45104
+ const fieldType = getFieldType(sel);
45105
+ if (fieldType === undefined) {
45106
+ // This field's type is unknown to us. This breaks normalization.
45107
+ console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
45108
+ reader.assignNonScalar(sink, requestedFieldName, fieldData);
45109
+ }
45110
+ else if (fieldType.isArray) {
45111
+ const arraySink = [];
45112
+ for (let i = 0, len = fieldData.length; i < len; i += 1) {
45113
+ reader.enterPath(i);
45114
+ selectType(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
45115
+ reader.exitPath();
45116
+ }
45117
+ reader.assignNonScalar(sink, requestedFieldName, arraySink);
45118
+ }
45119
+ else {
45120
+ selectType(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
45121
+ }
45122
+ reader.exitPath();
45123
+ return sink;
47675
45124
  }
47676
45125
 
47677
45126
  const TTL$5 = 900000;