@salesforce/lwc-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.
Files changed (2) hide show
  1. package/dist/main.js +379 -2930
  2. package/package.json +2 -2
package/dist/main.js CHANGED
@@ -345,7 +345,7 @@ var FragmentReadResultState;
345
345
  ({
346
346
  state: FragmentReadResultState.Missing,
347
347
  });
348
- // engine version: 0.137.1-cdbdc5cd
348
+ // engine version: 0.137.4-ec6f5c6d
349
349
 
350
350
  /**
351
351
  * Returns true if the value acts like a Promise, i.e. has a "then" function,
@@ -13203,6 +13203,10 @@ function createPageInfo(edges, startOffset, endOffset, maxOffset, metadata) {
13203
13203
  function findMaxOffset(metadata) {
13204
13204
  if (metadata === undefined)
13205
13205
  return -1;
13206
+ const endOfList = metadata["__END__"];
13207
+ if (endOfList !== undefined) {
13208
+ return endOfList > 0 ? endOfList - 1 : 0; // Cursor based pagination in gql is off by one :)
13209
+ }
13206
13210
  const { __END__: _, ...cursorMetadata } = metadata;
13207
13211
  const values = Object.values(cursorMetadata).filter((value) => value !== undefined);
13208
13212
  return Math.max(...values);
@@ -38341,93 +38345,6 @@ const getKeywordSearchResultsAdapterFactory = (luvio) => function UiApi__getKeyw
38341
38345
  buildCachedSnapshotCachePolicy$6, buildNetworkSnapshotCachePolicy$7);
38342
38346
  };
38343
38347
 
38344
- function applyToSelection$6(selection, directive, variables) {
38345
- return selection;
38346
- }
38347
-
38348
- function applyToSelection$5(selection, directive, variables) {
38349
- return selection;
38350
- }
38351
-
38352
- function applyToSelection$4(selection, directive, variables) {
38353
- return selection;
38354
- }
38355
-
38356
- function applyToSelection$3(selection, directive, variables) {
38357
- var _a;
38358
- const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
38359
- if (ifArg && ifArg.value) {
38360
- if (ifArg.value.kind === "BooleanValue") {
38361
- return ifArg.value.value ? selection : undefined;
38362
- }
38363
- if (ifArg.value.kind === "Variable") {
38364
- return variables[ifArg.value.name.value] ? selection : undefined;
38365
- }
38366
- }
38367
- return selection;
38368
- }
38369
-
38370
- function applyToSelection$2(selection, directive, variables) {
38371
- var _a;
38372
- const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
38373
- if (ifArg && ifArg.value) {
38374
- if (ifArg.value.kind === "BooleanValue") {
38375
- return ifArg.value.value ? undefined : selection;
38376
- }
38377
- if (ifArg.value.kind === "Variable") {
38378
- return variables[ifArg.value.name.value] ? undefined : selection;
38379
- }
38380
- }
38381
- return selection;
38382
- }
38383
-
38384
- function applyToSelection$1(selection, directive, variables) {
38385
- return selection;
38386
- }
38387
-
38388
- function applyToSelection(selection, directive, variables) {
38389
- return selection;
38390
- }
38391
-
38392
- function applyDirectivesForSelection(selection, variables) {
38393
- let result = selection;
38394
- if (selection && selection.directives) {
38395
- // iterate through directives in order. Directives _can_ be stacked.
38396
- for (var i = 0; i < selection.directives.length; i++) {
38397
- const directive = selection.directives[i];
38398
- switch (directive.name.value) {
38399
- // Generate Case for each directive in the schema that supports SelectionNodes
38400
- case ("generic"):
38401
- result = applyToSelection$6(selection);
38402
- break;
38403
- case ("fieldCategory"):
38404
- result = applyToSelection$5(selection);
38405
- break;
38406
- case ("category"):
38407
- result = applyToSelection$4(selection);
38408
- break;
38409
- case ("include"):
38410
- result = applyToSelection$3(selection, directive, variables);
38411
- break;
38412
- case ("skip"):
38413
- result = applyToSelection$2(selection, directive, variables);
38414
- break;
38415
- case ("deprecated"):
38416
- result = applyToSelection$1(selection);
38417
- break;
38418
- case ("specifiedBy"):
38419
- result = applyToSelection(selection);
38420
- break;
38421
- }
38422
- if (result === undefined) {
38423
- // Selection was removed.
38424
- break;
38425
- }
38426
- }
38427
- }
38428
- return result;
38429
- }
38430
-
38431
38348
  const name$G = 'DoubleValue';
38432
38349
  const VERSION$T = 'de69c0962aca45d77a5bc8d9abacfa7d';
38433
38350
  function keyBuilder$U(luvio, path, data) {
@@ -38487,79 +38404,18 @@ function selectType$H(typename, sel, fieldData, reader, key, sink, variables, fr
38487
38404
  }
38488
38405
  return sink;
38489
38406
  }
38490
- function buildSelectionForField$G(source, reader, sel, variables, fragments) {
38491
- const sink = {};
38492
- const fieldData = getFieldData$G(source, sel, variables);
38493
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
38494
- reader.enterPath(requestedFieldName);
38495
- if (fieldData === undefined) {
38496
- reader.markMissing();
38497
- reader.exitPath();
38498
- return;
38499
- }
38500
- if (fieldData === null) {
38501
- reader.assignScalar(requestedFieldName, sink, fieldData);
38502
- return sink;
38503
- }
38504
- const fieldType = getFieldType$11(sel);
38505
- if (fieldType === undefined) {
38506
- // This field's type is unknown to us. This breaks normalization.
38507
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
38508
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
38509
- }
38510
- else if (fieldType.isArray) {
38511
- const arraySink = [];
38512
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
38513
- reader.enterPath(i);
38514
- selectType$H(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
38515
- reader.exitPath();
38516
- }
38517
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
38518
- }
38519
- else {
38520
- selectType$H(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
38521
- }
38522
- reader.exitPath();
38523
- return sink;
38407
+ function buildSelectionForField$H(source, reader, sel, variables, fragments) {
38408
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$G, getFieldType$11, selectType$H);
38524
38409
  }
38525
- function buildSelectionForNode$G(source, reader, parentNode, selectionNode, variables, fragments) {
38526
- const sink = {};
38527
- if (selectionNode.directives) {
38528
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
38529
- if (selectionWithDirectives === undefined) {
38530
- return;
38531
- }
38532
- selectionNode = selectionWithDirectives;
38533
- }
38534
- if (selectionNode.kind === "InlineFragment") {
38535
- if (isFragmentApplicable$H(selectionNode, source.data.__typename)) {
38536
- // Get selections out of the inline fragment
38537
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
38538
- // Call into field handling with selections
38539
- Object.assign(sink, buildSelectionForNode$G(source, reader, parentNode, fragmentSelection, variables, fragments));
38540
- });
38541
- }
38542
- }
38543
- if (selectionNode.kind === "FragmentSpread") {
38544
- const namedFragment = fragments[selectionNode.name.value];
38545
- if (namedFragment && isFragmentApplicable$H(namedFragment, source.data.__typename)) {
38546
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
38547
- // Call into field handling with selections
38548
- Object.assign(sink, buildSelectionForNode$G(source, reader, parentNode, fragmentSelection, variables, fragments));
38549
- });
38550
- }
38551
- }
38552
- if (selectionNode.kind === "Field") {
38553
- Object.assign(sink, buildSelectionForField$G(source, reader, selectionNode, variables));
38554
- }
38555
- return sink;
38410
+ function buildSelectionForNode$H(source, reader, parentNode, selectionNode, variables, fragments) {
38411
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$H, buildSelectionForField$H);
38556
38412
  }
38557
38413
  function select$Q(field, variables, fragments) {
38558
38414
  return (source, reader) => {
38559
38415
  var _a;
38560
38416
  const sink = {};
38561
38417
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
38562
- const builtSelection = buildSelectionForNode$G(source, reader, field, sel, variables, fragments);
38418
+ const builtSelection = buildSelectionForNode$H(source, reader, field, sel, variables, fragments);
38563
38419
  if (builtSelection !== undefined) {
38564
38420
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
38565
38421
  Object.keys(builtSelection).forEach((key, value) => {
@@ -38707,79 +38563,18 @@ function selectType$G(typename, sel, fieldData, reader, key, sink, variables, fr
38707
38563
  }
38708
38564
  return sink;
38709
38565
  }
38710
- function buildSelectionForField$F(source, reader, sel, variables, fragments) {
38711
- const sink = {};
38712
- const fieldData = getFieldData$F(source, sel, variables);
38713
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
38714
- reader.enterPath(requestedFieldName);
38715
- if (fieldData === undefined) {
38716
- reader.markMissing();
38717
- reader.exitPath();
38718
- return;
38719
- }
38720
- if (fieldData === null) {
38721
- reader.assignScalar(requestedFieldName, sink, fieldData);
38722
- return sink;
38723
- }
38724
- const fieldType = getFieldType$10(sel);
38725
- if (fieldType === undefined) {
38726
- // This field's type is unknown to us. This breaks normalization.
38727
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
38728
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
38729
- }
38730
- else if (fieldType.isArray) {
38731
- const arraySink = [];
38732
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
38733
- reader.enterPath(i);
38734
- selectType$G(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
38735
- reader.exitPath();
38736
- }
38737
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
38738
- }
38739
- else {
38740
- selectType$G(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
38741
- }
38742
- reader.exitPath();
38743
- return sink;
38566
+ function buildSelectionForField$G(source, reader, sel, variables, fragments) {
38567
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$F, getFieldType$10, selectType$G);
38744
38568
  }
38745
- function buildSelectionForNode$F(source, reader, parentNode, selectionNode, variables, fragments) {
38746
- const sink = {};
38747
- if (selectionNode.directives) {
38748
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
38749
- if (selectionWithDirectives === undefined) {
38750
- return;
38751
- }
38752
- selectionNode = selectionWithDirectives;
38753
- }
38754
- if (selectionNode.kind === "InlineFragment") {
38755
- if (isFragmentApplicable$G(selectionNode, source.data.__typename)) {
38756
- // Get selections out of the inline fragment
38757
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
38758
- // Call into field handling with selections
38759
- Object.assign(sink, buildSelectionForNode$F(source, reader, parentNode, fragmentSelection, variables, fragments));
38760
- });
38761
- }
38762
- }
38763
- if (selectionNode.kind === "FragmentSpread") {
38764
- const namedFragment = fragments[selectionNode.name.value];
38765
- if (namedFragment && isFragmentApplicable$G(namedFragment, source.data.__typename)) {
38766
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
38767
- // Call into field handling with selections
38768
- Object.assign(sink, buildSelectionForNode$F(source, reader, parentNode, fragmentSelection, variables, fragments));
38769
- });
38770
- }
38771
- }
38772
- if (selectionNode.kind === "Field") {
38773
- Object.assign(sink, buildSelectionForField$F(source, reader, selectionNode, variables));
38774
- }
38775
- return sink;
38569
+ function buildSelectionForNode$G(source, reader, parentNode, selectionNode, variables, fragments) {
38570
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$G, buildSelectionForField$G);
38776
38571
  }
38777
38572
  function select$P(field, variables, fragments) {
38778
38573
  return (source, reader) => {
38779
38574
  var _a;
38780
38575
  const sink = {};
38781
38576
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
38782
- const builtSelection = buildSelectionForNode$F(source, reader, field, sel, variables, fragments);
38577
+ const builtSelection = buildSelectionForNode$G(source, reader, field, sel, variables, fragments);
38783
38578
  if (builtSelection !== undefined) {
38784
38579
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
38785
38580
  Object.keys(builtSelection).forEach((key, value) => {
@@ -38927,79 +38722,18 @@ function selectType$F(typename, sel, fieldData, reader, key, sink, variables, fr
38927
38722
  }
38928
38723
  return sink;
38929
38724
  }
38930
- function buildSelectionForField$E(source, reader, sel, variables, fragments) {
38931
- const sink = {};
38932
- const fieldData = getFieldData$E(source, sel, variables);
38933
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
38934
- reader.enterPath(requestedFieldName);
38935
- if (fieldData === undefined) {
38936
- reader.markMissing();
38937
- reader.exitPath();
38938
- return;
38939
- }
38940
- if (fieldData === null) {
38941
- reader.assignScalar(requestedFieldName, sink, fieldData);
38942
- return sink;
38943
- }
38944
- const fieldType = getFieldType$$(sel);
38945
- if (fieldType === undefined) {
38946
- // This field's type is unknown to us. This breaks normalization.
38947
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
38948
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
38949
- }
38950
- else if (fieldType.isArray) {
38951
- const arraySink = [];
38952
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
38953
- reader.enterPath(i);
38954
- selectType$F(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
38955
- reader.exitPath();
38956
- }
38957
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
38958
- }
38959
- else {
38960
- selectType$F(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
38961
- }
38962
- reader.exitPath();
38963
- return sink;
38725
+ function buildSelectionForField$F(source, reader, sel, variables, fragments) {
38726
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$E, getFieldType$$, selectType$F);
38964
38727
  }
38965
- function buildSelectionForNode$E(source, reader, parentNode, selectionNode, variables, fragments) {
38966
- const sink = {};
38967
- if (selectionNode.directives) {
38968
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
38969
- if (selectionWithDirectives === undefined) {
38970
- return;
38971
- }
38972
- selectionNode = selectionWithDirectives;
38973
- }
38974
- if (selectionNode.kind === "InlineFragment") {
38975
- if (isFragmentApplicable$F(selectionNode, source.data.__typename)) {
38976
- // Get selections out of the inline fragment
38977
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
38978
- // Call into field handling with selections
38979
- Object.assign(sink, buildSelectionForNode$E(source, reader, parentNode, fragmentSelection, variables, fragments));
38980
- });
38981
- }
38982
- }
38983
- if (selectionNode.kind === "FragmentSpread") {
38984
- const namedFragment = fragments[selectionNode.name.value];
38985
- if (namedFragment && isFragmentApplicable$F(namedFragment, source.data.__typename)) {
38986
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
38987
- // Call into field handling with selections
38988
- Object.assign(sink, buildSelectionForNode$E(source, reader, parentNode, fragmentSelection, variables, fragments));
38989
- });
38990
- }
38991
- }
38992
- if (selectionNode.kind === "Field") {
38993
- Object.assign(sink, buildSelectionForField$E(source, reader, selectionNode, variables));
38994
- }
38995
- return sink;
38728
+ function buildSelectionForNode$F(source, reader, parentNode, selectionNode, variables, fragments) {
38729
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$F, buildSelectionForField$F);
38996
38730
  }
38997
38731
  function select$O(field, variables, fragments) {
38998
38732
  return (source, reader) => {
38999
38733
  var _a;
39000
38734
  const sink = {};
39001
38735
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
39002
- const builtSelection = buildSelectionForNode$E(source, reader, field, sel, variables, fragments);
38736
+ const builtSelection = buildSelectionForNode$F(source, reader, field, sel, variables, fragments);
39003
38737
  if (builtSelection !== undefined) {
39004
38738
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
39005
38739
  Object.keys(builtSelection).forEach((key, value) => {
@@ -39229,79 +38963,18 @@ function selectType$E(typename, sel, fieldData, reader, key, sink, variables, fr
39229
38963
  }
39230
38964
  return sink;
39231
38965
  }
39232
- function buildSelectionForField$D(source, reader, sel, variables, fragments) {
39233
- const sink = {};
39234
- const fieldData = getFieldData$D(source, sel, variables);
39235
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
39236
- reader.enterPath(requestedFieldName);
39237
- if (fieldData === undefined) {
39238
- reader.markMissing();
39239
- reader.exitPath();
39240
- return;
39241
- }
39242
- if (fieldData === null) {
39243
- reader.assignScalar(requestedFieldName, sink, fieldData);
39244
- return sink;
39245
- }
39246
- const fieldType = getFieldType$Z(sel);
39247
- if (fieldType === undefined) {
39248
- // This field's type is unknown to us. This breaks normalization.
39249
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
39250
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
39251
- }
39252
- else if (fieldType.isArray) {
39253
- const arraySink = [];
39254
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
39255
- reader.enterPath(i);
39256
- selectType$E(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
39257
- reader.exitPath();
39258
- }
39259
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
39260
- }
39261
- else {
39262
- selectType$E(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
39263
- }
39264
- reader.exitPath();
39265
- return sink;
38966
+ function buildSelectionForField$E(source, reader, sel, variables, fragments) {
38967
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$D, getFieldType$Z, selectType$E);
39266
38968
  }
39267
- function buildSelectionForNode$D(source, reader, parentNode, selectionNode, variables, fragments) {
39268
- const sink = {};
39269
- if (selectionNode.directives) {
39270
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
39271
- if (selectionWithDirectives === undefined) {
39272
- return;
39273
- }
39274
- selectionNode = selectionWithDirectives;
39275
- }
39276
- if (selectionNode.kind === "InlineFragment") {
39277
- if (isFragmentApplicable$E(selectionNode, source.data.__typename)) {
39278
- // Get selections out of the inline fragment
39279
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
39280
- // Call into field handling with selections
39281
- Object.assign(sink, buildSelectionForNode$D(source, reader, parentNode, fragmentSelection, variables, fragments));
39282
- });
39283
- }
39284
- }
39285
- if (selectionNode.kind === "FragmentSpread") {
39286
- const namedFragment = fragments[selectionNode.name.value];
39287
- if (namedFragment && isFragmentApplicable$E(namedFragment, source.data.__typename)) {
39288
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
39289
- // Call into field handling with selections
39290
- Object.assign(sink, buildSelectionForNode$D(source, reader, parentNode, fragmentSelection, variables, fragments));
39291
- });
39292
- }
39293
- }
39294
- if (selectionNode.kind === "Field") {
39295
- Object.assign(sink, buildSelectionForField$D(source, reader, selectionNode, variables));
39296
- }
39297
- return sink;
38969
+ function buildSelectionForNode$E(source, reader, parentNode, selectionNode, variables, fragments) {
38970
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$E, buildSelectionForField$E);
39298
38971
  }
39299
38972
  function select$N(field, variables, fragments) {
39300
38973
  return (source, reader) => {
39301
38974
  var _a;
39302
38975
  const sink = {};
39303
38976
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
39304
- const builtSelection = buildSelectionForNode$D(source, reader, field, sel, variables, fragments);
38977
+ const builtSelection = buildSelectionForNode$E(source, reader, field, sel, variables, fragments);
39305
38978
  if (builtSelection !== undefined) {
39306
38979
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
39307
38980
  Object.keys(builtSelection).forEach((key, value) => {
@@ -39445,79 +39118,18 @@ function selectType$D(typename, sel, fieldData, reader, key, sink, variables, fr
39445
39118
  }
39446
39119
  return sink;
39447
39120
  }
39448
- function buildSelectionForField$C(source, reader, sel, variables, fragments) {
39449
- const sink = {};
39450
- const fieldData = getFieldData$C(source, sel, variables);
39451
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
39452
- reader.enterPath(requestedFieldName);
39453
- if (fieldData === undefined) {
39454
- reader.markMissing();
39455
- reader.exitPath();
39456
- return;
39457
- }
39458
- if (fieldData === null) {
39459
- reader.assignScalar(requestedFieldName, sink, fieldData);
39460
- return sink;
39461
- }
39462
- const fieldType = getFieldType$Y(sel);
39463
- if (fieldType === undefined) {
39464
- // This field's type is unknown to us. This breaks normalization.
39465
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
39466
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
39467
- }
39468
- else if (fieldType.isArray) {
39469
- const arraySink = [];
39470
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
39471
- reader.enterPath(i);
39472
- selectType$D(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
39473
- reader.exitPath();
39474
- }
39475
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
39476
- }
39477
- else {
39478
- selectType$D(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
39479
- }
39480
- reader.exitPath();
39481
- return sink;
39121
+ function buildSelectionForField$D(source, reader, sel, variables, fragments) {
39122
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$C, getFieldType$Y, selectType$D);
39482
39123
  }
39483
- function buildSelectionForNode$C(source, reader, parentNode, selectionNode, variables, fragments) {
39484
- const sink = {};
39485
- if (selectionNode.directives) {
39486
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
39487
- if (selectionWithDirectives === undefined) {
39488
- return;
39489
- }
39490
- selectionNode = selectionWithDirectives;
39491
- }
39492
- if (selectionNode.kind === "InlineFragment") {
39493
- if (isFragmentApplicable$D(selectionNode, source.data.__typename)) {
39494
- // Get selections out of the inline fragment
39495
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
39496
- // Call into field handling with selections
39497
- Object.assign(sink, buildSelectionForNode$C(source, reader, parentNode, fragmentSelection, variables, fragments));
39498
- });
39499
- }
39500
- }
39501
- if (selectionNode.kind === "FragmentSpread") {
39502
- const namedFragment = fragments[selectionNode.name.value];
39503
- if (namedFragment && isFragmentApplicable$D(namedFragment, source.data.__typename)) {
39504
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
39505
- // Call into field handling with selections
39506
- Object.assign(sink, buildSelectionForNode$C(source, reader, parentNode, fragmentSelection, variables, fragments));
39507
- });
39508
- }
39509
- }
39510
- if (selectionNode.kind === "Field") {
39511
- Object.assign(sink, buildSelectionForField$C(source, reader, selectionNode, variables));
39512
- }
39513
- return sink;
39124
+ function buildSelectionForNode$D(source, reader, parentNode, selectionNode, variables, fragments) {
39125
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$D, buildSelectionForField$D);
39514
39126
  }
39515
39127
  function select$M(field, variables, fragments) {
39516
39128
  return (source, reader) => {
39517
39129
  var _a;
39518
39130
  const sink = {};
39519
39131
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
39520
- const builtSelection = buildSelectionForNode$C(source, reader, field, sel, variables, fragments);
39132
+ const builtSelection = buildSelectionForNode$D(source, reader, field, sel, variables, fragments);
39521
39133
  if (builtSelection !== undefined) {
39522
39134
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
39523
39135
  Object.keys(builtSelection).forEach((key, value) => {
@@ -39737,79 +39349,18 @@ function selectType$C(typename, sel, fieldData, reader, key, sink, variables, fr
39737
39349
  }
39738
39350
  return sink;
39739
39351
  }
39740
- function buildSelectionForField$B(source, reader, sel, variables, fragments) {
39741
- const sink = {};
39742
- const fieldData = getFieldData$B(source, sel, variables);
39743
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
39744
- reader.enterPath(requestedFieldName);
39745
- if (fieldData === undefined) {
39746
- reader.markMissing();
39747
- reader.exitPath();
39748
- return;
39749
- }
39750
- if (fieldData === null) {
39751
- reader.assignScalar(requestedFieldName, sink, fieldData);
39752
- return sink;
39753
- }
39754
- const fieldType = getFieldType$W(sel);
39755
- if (fieldType === undefined) {
39756
- // This field's type is unknown to us. This breaks normalization.
39757
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
39758
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
39759
- }
39760
- else if (fieldType.isArray) {
39761
- const arraySink = [];
39762
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
39763
- reader.enterPath(i);
39764
- selectType$C(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
39765
- reader.exitPath();
39766
- }
39767
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
39768
- }
39769
- else {
39770
- selectType$C(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
39771
- }
39772
- reader.exitPath();
39773
- return sink;
39352
+ function buildSelectionForField$C(source, reader, sel, variables, fragments) {
39353
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$B, getFieldType$W, selectType$C);
39774
39354
  }
39775
- function buildSelectionForNode$B(source, reader, parentNode, selectionNode, variables, fragments) {
39776
- const sink = {};
39777
- if (selectionNode.directives) {
39778
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
39779
- if (selectionWithDirectives === undefined) {
39780
- return;
39781
- }
39782
- selectionNode = selectionWithDirectives;
39783
- }
39784
- if (selectionNode.kind === "InlineFragment") {
39785
- if (isFragmentApplicable$C(selectionNode, source.data.__typename)) {
39786
- // Get selections out of the inline fragment
39787
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
39788
- // Call into field handling with selections
39789
- Object.assign(sink, buildSelectionForNode$B(source, reader, parentNode, fragmentSelection, variables, fragments));
39790
- });
39791
- }
39792
- }
39793
- if (selectionNode.kind === "FragmentSpread") {
39794
- const namedFragment = fragments[selectionNode.name.value];
39795
- if (namedFragment && isFragmentApplicable$C(namedFragment, source.data.__typename)) {
39796
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
39797
- // Call into field handling with selections
39798
- Object.assign(sink, buildSelectionForNode$B(source, reader, parentNode, fragmentSelection, variables, fragments));
39799
- });
39800
- }
39801
- }
39802
- if (selectionNode.kind === "Field") {
39803
- Object.assign(sink, buildSelectionForField$B(source, reader, selectionNode, variables));
39804
- }
39805
- return sink;
39355
+ function buildSelectionForNode$C(source, reader, parentNode, selectionNode, variables, fragments) {
39356
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$C, buildSelectionForField$C);
39806
39357
  }
39807
39358
  function select$L(field, variables, fragments) {
39808
39359
  return (source, reader) => {
39809
39360
  var _a;
39810
39361
  const sink = {};
39811
39362
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
39812
- const builtSelection = buildSelectionForNode$B(source, reader, field, sel, variables, fragments);
39363
+ const builtSelection = buildSelectionForNode$C(source, reader, field, sel, variables, fragments);
39813
39364
  if (builtSelection !== undefined) {
39814
39365
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
39815
39366
  Object.keys(builtSelection).forEach((key, value) => {
@@ -39951,79 +39502,18 @@ function selectType$B(typename, sel, fieldData, reader, key, sink, variables, fr
39951
39502
  }
39952
39503
  return sink;
39953
39504
  }
39954
- function buildSelectionForField$A(source, reader, sel, variables, fragments) {
39955
- const sink = {};
39956
- const fieldData = getFieldData$A(source, sel, variables);
39957
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
39958
- reader.enterPath(requestedFieldName);
39959
- if (fieldData === undefined) {
39960
- reader.markMissing();
39961
- reader.exitPath();
39962
- return;
39963
- }
39964
- if (fieldData === null) {
39965
- reader.assignScalar(requestedFieldName, sink, fieldData);
39966
- return sink;
39967
- }
39968
- const fieldType = getFieldType$V(sel);
39969
- if (fieldType === undefined) {
39970
- // This field's type is unknown to us. This breaks normalization.
39971
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
39972
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
39973
- }
39974
- else if (fieldType.isArray) {
39975
- const arraySink = [];
39976
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
39977
- reader.enterPath(i);
39978
- selectType$B(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
39979
- reader.exitPath();
39980
- }
39981
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
39982
- }
39983
- else {
39984
- selectType$B(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
39985
- }
39986
- reader.exitPath();
39987
- return sink;
39505
+ function buildSelectionForField$B(source, reader, sel, variables, fragments) {
39506
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$A, getFieldType$V, selectType$B);
39988
39507
  }
39989
- function buildSelectionForNode$A(source, reader, parentNode, selectionNode, variables, fragments) {
39990
- const sink = {};
39991
- if (selectionNode.directives) {
39992
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
39993
- if (selectionWithDirectives === undefined) {
39994
- return;
39995
- }
39996
- selectionNode = selectionWithDirectives;
39997
- }
39998
- if (selectionNode.kind === "InlineFragment") {
39999
- if (isFragmentApplicable$B(selectionNode, source.data.__typename)) {
40000
- // Get selections out of the inline fragment
40001
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40002
- // Call into field handling with selections
40003
- Object.assign(sink, buildSelectionForNode$A(source, reader, parentNode, fragmentSelection, variables, fragments));
40004
- });
40005
- }
40006
- }
40007
- if (selectionNode.kind === "FragmentSpread") {
40008
- const namedFragment = fragments[selectionNode.name.value];
40009
- if (namedFragment && isFragmentApplicable$B(namedFragment, source.data.__typename)) {
40010
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40011
- // Call into field handling with selections
40012
- Object.assign(sink, buildSelectionForNode$A(source, reader, parentNode, fragmentSelection, variables, fragments));
40013
- });
40014
- }
40015
- }
40016
- if (selectionNode.kind === "Field") {
40017
- Object.assign(sink, buildSelectionForField$A(source, reader, selectionNode, variables));
40018
- }
40019
- return sink;
39508
+ function buildSelectionForNode$B(source, reader, parentNode, selectionNode, variables, fragments) {
39509
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$B, buildSelectionForField$B);
40020
39510
  }
40021
39511
  function select$K(field, variables, fragments) {
40022
39512
  return (source, reader) => {
40023
39513
  var _a;
40024
39514
  const sink = {};
40025
39515
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40026
- const builtSelection = buildSelectionForNode$A(source, reader, field, sel, variables, fragments);
39516
+ const builtSelection = buildSelectionForNode$B(source, reader, field, sel, variables, fragments);
40027
39517
  if (builtSelection !== undefined) {
40028
39518
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
40029
39519
  Object.keys(builtSelection).forEach((key, value) => {
@@ -40171,79 +39661,18 @@ function selectType$A(typename, sel, fieldData, reader, key, sink, variables, fr
40171
39661
  }
40172
39662
  return sink;
40173
39663
  }
40174
- function buildSelectionForField$z(source, reader, sel, variables, fragments) {
40175
- const sink = {};
40176
- const fieldData = getFieldData$z(source, sel, variables);
40177
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
40178
- reader.enterPath(requestedFieldName);
40179
- if (fieldData === undefined) {
40180
- reader.markMissing();
40181
- reader.exitPath();
40182
- return;
40183
- }
40184
- if (fieldData === null) {
40185
- reader.assignScalar(requestedFieldName, sink, fieldData);
40186
- return sink;
40187
- }
40188
- const fieldType = getFieldType$U(sel);
40189
- if (fieldType === undefined) {
40190
- // This field's type is unknown to us. This breaks normalization.
40191
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
40192
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
40193
- }
40194
- else if (fieldType.isArray) {
40195
- const arraySink = [];
40196
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
40197
- reader.enterPath(i);
40198
- selectType$A(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
40199
- reader.exitPath();
40200
- }
40201
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
40202
- }
40203
- else {
40204
- selectType$A(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
40205
- }
40206
- reader.exitPath();
40207
- return sink;
39664
+ function buildSelectionForField$A(source, reader, sel, variables, fragments) {
39665
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$z, getFieldType$U, selectType$A);
40208
39666
  }
40209
- function buildSelectionForNode$z(source, reader, parentNode, selectionNode, variables, fragments) {
40210
- const sink = {};
40211
- if (selectionNode.directives) {
40212
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
40213
- if (selectionWithDirectives === undefined) {
40214
- return;
40215
- }
40216
- selectionNode = selectionWithDirectives;
40217
- }
40218
- if (selectionNode.kind === "InlineFragment") {
40219
- if (isFragmentApplicable$A(selectionNode, source.data.__typename)) {
40220
- // Get selections out of the inline fragment
40221
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40222
- // Call into field handling with selections
40223
- Object.assign(sink, buildSelectionForNode$z(source, reader, parentNode, fragmentSelection, variables, fragments));
40224
- });
40225
- }
40226
- }
40227
- if (selectionNode.kind === "FragmentSpread") {
40228
- const namedFragment = fragments[selectionNode.name.value];
40229
- if (namedFragment && isFragmentApplicable$A(namedFragment, source.data.__typename)) {
40230
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40231
- // Call into field handling with selections
40232
- Object.assign(sink, buildSelectionForNode$z(source, reader, parentNode, fragmentSelection, variables, fragments));
40233
- });
40234
- }
40235
- }
40236
- if (selectionNode.kind === "Field") {
40237
- Object.assign(sink, buildSelectionForField$z(source, reader, selectionNode, variables));
40238
- }
40239
- return sink;
39667
+ function buildSelectionForNode$A(source, reader, parentNode, selectionNode, variables, fragments) {
39668
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$A, buildSelectionForField$A);
40240
39669
  }
40241
39670
  function select$J(field, variables, fragments) {
40242
39671
  return (source, reader) => {
40243
39672
  var _a;
40244
39673
  const sink = {};
40245
39674
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40246
- const builtSelection = buildSelectionForNode$z(source, reader, field, sel, variables, fragments);
39675
+ const builtSelection = buildSelectionForNode$A(source, reader, field, sel, variables, fragments);
40247
39676
  if (builtSelection !== undefined) {
40248
39677
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
40249
39678
  Object.keys(builtSelection).forEach((key, value) => {
@@ -40385,79 +39814,18 @@ function selectType$z(typename, sel, fieldData, reader, key, sink, variables, fr
40385
39814
  }
40386
39815
  return sink;
40387
39816
  }
40388
- function buildSelectionForField$y(source, reader, sel, variables, fragments) {
40389
- const sink = {};
40390
- const fieldData = getFieldData$y(source, sel, variables);
40391
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
40392
- reader.enterPath(requestedFieldName);
40393
- if (fieldData === undefined) {
40394
- reader.markMissing();
40395
- reader.exitPath();
40396
- return;
40397
- }
40398
- if (fieldData === null) {
40399
- reader.assignScalar(requestedFieldName, sink, fieldData);
40400
- return sink;
40401
- }
40402
- const fieldType = getFieldType$T(sel);
40403
- if (fieldType === undefined) {
40404
- // This field's type is unknown to us. This breaks normalization.
40405
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
40406
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
40407
- }
40408
- else if (fieldType.isArray) {
40409
- const arraySink = [];
40410
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
40411
- reader.enterPath(i);
40412
- selectType$z(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
40413
- reader.exitPath();
40414
- }
40415
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
40416
- }
40417
- else {
40418
- selectType$z(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
40419
- }
40420
- reader.exitPath();
40421
- return sink;
39817
+ function buildSelectionForField$z(source, reader, sel, variables, fragments) {
39818
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$y, getFieldType$T, selectType$z);
40422
39819
  }
40423
- function buildSelectionForNode$y(source, reader, parentNode, selectionNode, variables, fragments) {
40424
- const sink = {};
40425
- if (selectionNode.directives) {
40426
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
40427
- if (selectionWithDirectives === undefined) {
40428
- return;
40429
- }
40430
- selectionNode = selectionWithDirectives;
40431
- }
40432
- if (selectionNode.kind === "InlineFragment") {
40433
- if (isFragmentApplicable$z(selectionNode, source.data.__typename)) {
40434
- // Get selections out of the inline fragment
40435
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40436
- // Call into field handling with selections
40437
- Object.assign(sink, buildSelectionForNode$y(source, reader, parentNode, fragmentSelection, variables, fragments));
40438
- });
40439
- }
40440
- }
40441
- if (selectionNode.kind === "FragmentSpread") {
40442
- const namedFragment = fragments[selectionNode.name.value];
40443
- if (namedFragment && isFragmentApplicable$z(namedFragment, source.data.__typename)) {
40444
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40445
- // Call into field handling with selections
40446
- Object.assign(sink, buildSelectionForNode$y(source, reader, parentNode, fragmentSelection, variables, fragments));
40447
- });
40448
- }
40449
- }
40450
- if (selectionNode.kind === "Field") {
40451
- Object.assign(sink, buildSelectionForField$y(source, reader, selectionNode, variables));
40452
- }
40453
- return sink;
39820
+ function buildSelectionForNode$z(source, reader, parentNode, selectionNode, variables, fragments) {
39821
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$z, buildSelectionForField$z);
40454
39822
  }
40455
39823
  function select$I(field, variables, fragments) {
40456
39824
  return (source, reader) => {
40457
39825
  var _a;
40458
39826
  const sink = {};
40459
39827
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40460
- const builtSelection = buildSelectionForNode$y(source, reader, field, sel, variables, fragments);
39828
+ const builtSelection = buildSelectionForNode$z(source, reader, field, sel, variables, fragments);
40461
39829
  if (builtSelection !== undefined) {
40462
39830
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
40463
39831
  Object.keys(builtSelection).forEach((key, value) => {
@@ -40605,79 +39973,18 @@ function selectType$y(typename, sel, fieldData, reader, key, sink, variables, fr
40605
39973
  }
40606
39974
  return sink;
40607
39975
  }
40608
- function buildSelectionForField$x(source, reader, sel, variables, fragments) {
40609
- const sink = {};
40610
- const fieldData = getFieldData$x(source, sel, variables);
40611
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
40612
- reader.enterPath(requestedFieldName);
40613
- if (fieldData === undefined) {
40614
- reader.markMissing();
40615
- reader.exitPath();
40616
- return;
40617
- }
40618
- if (fieldData === null) {
40619
- reader.assignScalar(requestedFieldName, sink, fieldData);
40620
- return sink;
40621
- }
40622
- const fieldType = getFieldType$S(sel);
40623
- if (fieldType === undefined) {
40624
- // This field's type is unknown to us. This breaks normalization.
40625
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
40626
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
40627
- }
40628
- else if (fieldType.isArray) {
40629
- const arraySink = [];
40630
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
40631
- reader.enterPath(i);
40632
- selectType$y(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
40633
- reader.exitPath();
40634
- }
40635
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
40636
- }
40637
- else {
40638
- selectType$y(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
40639
- }
40640
- reader.exitPath();
40641
- return sink;
39976
+ function buildSelectionForField$y(source, reader, sel, variables, fragments) {
39977
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$x, getFieldType$S, selectType$y);
40642
39978
  }
40643
- function buildSelectionForNode$x(source, reader, parentNode, selectionNode, variables, fragments) {
40644
- const sink = {};
40645
- if (selectionNode.directives) {
40646
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
40647
- if (selectionWithDirectives === undefined) {
40648
- return;
40649
- }
40650
- selectionNode = selectionWithDirectives;
40651
- }
40652
- if (selectionNode.kind === "InlineFragment") {
40653
- if (isFragmentApplicable$y(selectionNode, source.data.__typename)) {
40654
- // Get selections out of the inline fragment
40655
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40656
- // Call into field handling with selections
40657
- Object.assign(sink, buildSelectionForNode$x(source, reader, parentNode, fragmentSelection, variables, fragments));
40658
- });
40659
- }
40660
- }
40661
- if (selectionNode.kind === "FragmentSpread") {
40662
- const namedFragment = fragments[selectionNode.name.value];
40663
- if (namedFragment && isFragmentApplicable$y(namedFragment, source.data.__typename)) {
40664
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40665
- // Call into field handling with selections
40666
- Object.assign(sink, buildSelectionForNode$x(source, reader, parentNode, fragmentSelection, variables, fragments));
40667
- });
40668
- }
40669
- }
40670
- if (selectionNode.kind === "Field") {
40671
- Object.assign(sink, buildSelectionForField$x(source, reader, selectionNode, variables));
40672
- }
40673
- return sink;
39979
+ function buildSelectionForNode$y(source, reader, parentNode, selectionNode, variables, fragments) {
39980
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$y, buildSelectionForField$y);
40674
39981
  }
40675
39982
  function select$H(field, variables, fragments) {
40676
39983
  return (source, reader) => {
40677
39984
  var _a;
40678
39985
  const sink = {};
40679
39986
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40680
- const builtSelection = buildSelectionForNode$x(source, reader, field, sel, variables, fragments);
39987
+ const builtSelection = buildSelectionForNode$y(source, reader, field, sel, variables, fragments);
40681
39988
  if (builtSelection !== undefined) {
40682
39989
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
40683
39990
  Object.keys(builtSelection).forEach((key, value) => {
@@ -40825,79 +40132,18 @@ function selectType$x(typename, sel, fieldData, reader, key, sink, variables, fr
40825
40132
  }
40826
40133
  return sink;
40827
40134
  }
40828
- function buildSelectionForField$w(source, reader, sel, variables, fragments) {
40829
- const sink = {};
40830
- const fieldData = getFieldData$w(source, sel, variables);
40831
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
40832
- reader.enterPath(requestedFieldName);
40833
- if (fieldData === undefined) {
40834
- reader.markMissing();
40835
- reader.exitPath();
40836
- return;
40837
- }
40838
- if (fieldData === null) {
40839
- reader.assignScalar(requestedFieldName, sink, fieldData);
40840
- return sink;
40841
- }
40842
- const fieldType = getFieldType$R(sel);
40843
- if (fieldType === undefined) {
40844
- // This field's type is unknown to us. This breaks normalization.
40845
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
40846
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
40847
- }
40848
- else if (fieldType.isArray) {
40849
- const arraySink = [];
40850
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
40851
- reader.enterPath(i);
40852
- selectType$x(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
40853
- reader.exitPath();
40854
- }
40855
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
40856
- }
40857
- else {
40858
- selectType$x(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
40859
- }
40860
- reader.exitPath();
40861
- return sink;
40135
+ function buildSelectionForField$x(source, reader, sel, variables, fragments) {
40136
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$w, getFieldType$R, selectType$x);
40862
40137
  }
40863
- function buildSelectionForNode$w(source, reader, parentNode, selectionNode, variables, fragments) {
40864
- const sink = {};
40865
- if (selectionNode.directives) {
40866
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
40867
- if (selectionWithDirectives === undefined) {
40868
- return;
40869
- }
40870
- selectionNode = selectionWithDirectives;
40871
- }
40872
- if (selectionNode.kind === "InlineFragment") {
40873
- if (isFragmentApplicable$x(selectionNode, source.data.__typename)) {
40874
- // Get selections out of the inline fragment
40875
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
40876
- // Call into field handling with selections
40877
- Object.assign(sink, buildSelectionForNode$w(source, reader, parentNode, fragmentSelection, variables, fragments));
40878
- });
40879
- }
40880
- }
40881
- if (selectionNode.kind === "FragmentSpread") {
40882
- const namedFragment = fragments[selectionNode.name.value];
40883
- if (namedFragment && isFragmentApplicable$x(namedFragment, source.data.__typename)) {
40884
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
40885
- // Call into field handling with selections
40886
- Object.assign(sink, buildSelectionForNode$w(source, reader, parentNode, fragmentSelection, variables, fragments));
40887
- });
40888
- }
40889
- }
40890
- if (selectionNode.kind === "Field") {
40891
- Object.assign(sink, buildSelectionForField$w(source, reader, selectionNode, variables));
40892
- }
40893
- return sink;
40138
+ function buildSelectionForNode$x(source, reader, parentNode, selectionNode, variables, fragments) {
40139
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$x, buildSelectionForField$x);
40894
40140
  }
40895
40141
  function select$G(field, variables, fragments) {
40896
40142
  return (source, reader) => {
40897
40143
  var _a;
40898
40144
  const sink = {};
40899
40145
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
40900
- const builtSelection = buildSelectionForNode$w(source, reader, field, sel, variables, fragments);
40146
+ const builtSelection = buildSelectionForNode$x(source, reader, field, sel, variables, fragments);
40901
40147
  if (builtSelection !== undefined) {
40902
40148
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
40903
40149
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41039,79 +40285,18 @@ function selectType$w(typename, sel, fieldData, reader, key, sink, variables, fr
41039
40285
  }
41040
40286
  return sink;
41041
40287
  }
41042
- function buildSelectionForField$v(source, reader, sel, variables, fragments) {
41043
- const sink = {};
41044
- const fieldData = getFieldData$v(source, sel, variables);
41045
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41046
- reader.enterPath(requestedFieldName);
41047
- if (fieldData === undefined) {
41048
- reader.markMissing();
41049
- reader.exitPath();
41050
- return;
41051
- }
41052
- if (fieldData === null) {
41053
- reader.assignScalar(requestedFieldName, sink, fieldData);
41054
- return sink;
41055
- }
41056
- const fieldType = getFieldType$Q(sel);
41057
- if (fieldType === undefined) {
41058
- // This field's type is unknown to us. This breaks normalization.
41059
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41060
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41061
- }
41062
- else if (fieldType.isArray) {
41063
- const arraySink = [];
41064
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41065
- reader.enterPath(i);
41066
- selectType$w(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
41067
- reader.exitPath();
41068
- }
41069
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41070
- }
41071
- else {
41072
- selectType$w(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
41073
- }
41074
- reader.exitPath();
41075
- return sink;
40288
+ function buildSelectionForField$w(source, reader, sel, variables, fragments) {
40289
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$v, getFieldType$Q, selectType$w);
41076
40290
  }
41077
- function buildSelectionForNode$v(source, reader, parentNode, selectionNode, variables, fragments) {
41078
- const sink = {};
41079
- if (selectionNode.directives) {
41080
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41081
- if (selectionWithDirectives === undefined) {
41082
- return;
41083
- }
41084
- selectionNode = selectionWithDirectives;
41085
- }
41086
- if (selectionNode.kind === "InlineFragment") {
41087
- if (isFragmentApplicable$w(selectionNode, source.data.__typename)) {
41088
- // Get selections out of the inline fragment
41089
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41090
- // Call into field handling with selections
41091
- Object.assign(sink, buildSelectionForNode$v(source, reader, parentNode, fragmentSelection, variables, fragments));
41092
- });
41093
- }
41094
- }
41095
- if (selectionNode.kind === "FragmentSpread") {
41096
- const namedFragment = fragments[selectionNode.name.value];
41097
- if (namedFragment && isFragmentApplicable$w(namedFragment, source.data.__typename)) {
41098
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41099
- // Call into field handling with selections
41100
- Object.assign(sink, buildSelectionForNode$v(source, reader, parentNode, fragmentSelection, variables, fragments));
41101
- });
41102
- }
41103
- }
41104
- if (selectionNode.kind === "Field") {
41105
- Object.assign(sink, buildSelectionForField$v(source, reader, selectionNode, variables));
41106
- }
41107
- return sink;
40291
+ function buildSelectionForNode$w(source, reader, parentNode, selectionNode, variables, fragments) {
40292
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$w, buildSelectionForField$w);
41108
40293
  }
41109
40294
  function select$F(field, variables, fragments) {
41110
40295
  return (source, reader) => {
41111
40296
  var _a;
41112
40297
  const sink = {};
41113
40298
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41114
- const builtSelection = buildSelectionForNode$v(source, reader, field, sel, variables, fragments);
40299
+ const builtSelection = buildSelectionForNode$w(source, reader, field, sel, variables, fragments);
41115
40300
  if (builtSelection !== undefined) {
41116
40301
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41117
40302
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41253,79 +40438,18 @@ function selectType$v(typename, sel, fieldData, reader, key, sink, variables, fr
41253
40438
  }
41254
40439
  return sink;
41255
40440
  }
41256
- function buildSelectionForField$u(source, reader, sel, variables, fragments) {
41257
- const sink = {};
41258
- const fieldData = getFieldData$u(source, sel, variables);
41259
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41260
- reader.enterPath(requestedFieldName);
41261
- if (fieldData === undefined) {
41262
- reader.markMissing();
41263
- reader.exitPath();
41264
- return;
41265
- }
41266
- if (fieldData === null) {
41267
- reader.assignScalar(requestedFieldName, sink, fieldData);
41268
- return sink;
41269
- }
41270
- const fieldType = getFieldType$P(sel);
41271
- if (fieldType === undefined) {
41272
- // This field's type is unknown to us. This breaks normalization.
41273
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41274
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41275
- }
41276
- else if (fieldType.isArray) {
41277
- const arraySink = [];
41278
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41279
- reader.enterPath(i);
41280
- selectType$v(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
41281
- reader.exitPath();
41282
- }
41283
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41284
- }
41285
- else {
41286
- selectType$v(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
41287
- }
41288
- reader.exitPath();
41289
- return sink;
40441
+ function buildSelectionForField$v(source, reader, sel, variables, fragments) {
40442
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$u, getFieldType$P, selectType$v);
41290
40443
  }
41291
- function buildSelectionForNode$u(source, reader, parentNode, selectionNode, variables, fragments) {
41292
- const sink = {};
41293
- if (selectionNode.directives) {
41294
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41295
- if (selectionWithDirectives === undefined) {
41296
- return;
41297
- }
41298
- selectionNode = selectionWithDirectives;
41299
- }
41300
- if (selectionNode.kind === "InlineFragment") {
41301
- if (isFragmentApplicable$v(selectionNode, source.data.__typename)) {
41302
- // Get selections out of the inline fragment
41303
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41304
- // Call into field handling with selections
41305
- Object.assign(sink, buildSelectionForNode$u(source, reader, parentNode, fragmentSelection, variables, fragments));
41306
- });
41307
- }
41308
- }
41309
- if (selectionNode.kind === "FragmentSpread") {
41310
- const namedFragment = fragments[selectionNode.name.value];
41311
- if (namedFragment && isFragmentApplicable$v(namedFragment, source.data.__typename)) {
41312
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41313
- // Call into field handling with selections
41314
- Object.assign(sink, buildSelectionForNode$u(source, reader, parentNode, fragmentSelection, variables, fragments));
41315
- });
41316
- }
41317
- }
41318
- if (selectionNode.kind === "Field") {
41319
- Object.assign(sink, buildSelectionForField$u(source, reader, selectionNode, variables));
41320
- }
41321
- return sink;
40444
+ function buildSelectionForNode$v(source, reader, parentNode, selectionNode, variables, fragments) {
40445
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$v, buildSelectionForField$v);
41322
40446
  }
41323
40447
  function select$E(field, variables, fragments) {
41324
40448
  return (source, reader) => {
41325
40449
  var _a;
41326
40450
  const sink = {};
41327
40451
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41328
- const builtSelection = buildSelectionForNode$u(source, reader, field, sel, variables, fragments);
40452
+ const builtSelection = buildSelectionForNode$v(source, reader, field, sel, variables, fragments);
41329
40453
  if (builtSelection !== undefined) {
41330
40454
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41331
40455
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41467,79 +40591,18 @@ function selectType$u(typename, sel, fieldData, reader, key, sink, variables, fr
41467
40591
  }
41468
40592
  return sink;
41469
40593
  }
41470
- function buildSelectionForField$t(source, reader, sel, variables, fragments) {
41471
- const sink = {};
41472
- const fieldData = getFieldData$t(source, sel, variables);
41473
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41474
- reader.enterPath(requestedFieldName);
41475
- if (fieldData === undefined) {
41476
- reader.markMissing();
41477
- reader.exitPath();
41478
- return;
41479
- }
41480
- if (fieldData === null) {
41481
- reader.assignScalar(requestedFieldName, sink, fieldData);
41482
- return sink;
41483
- }
41484
- const fieldType = getFieldType$O(sel);
41485
- if (fieldType === undefined) {
41486
- // This field's type is unknown to us. This breaks normalization.
41487
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41488
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41489
- }
41490
- else if (fieldType.isArray) {
41491
- const arraySink = [];
41492
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41493
- reader.enterPath(i);
41494
- selectType$u(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
41495
- reader.exitPath();
41496
- }
41497
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41498
- }
41499
- else {
41500
- selectType$u(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
41501
- }
41502
- reader.exitPath();
41503
- return sink;
40594
+ function buildSelectionForField$u(source, reader, sel, variables, fragments) {
40595
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$t, getFieldType$O, selectType$u);
41504
40596
  }
41505
- function buildSelectionForNode$t(source, reader, parentNode, selectionNode, variables, fragments) {
41506
- const sink = {};
41507
- if (selectionNode.directives) {
41508
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41509
- if (selectionWithDirectives === undefined) {
41510
- return;
41511
- }
41512
- selectionNode = selectionWithDirectives;
41513
- }
41514
- if (selectionNode.kind === "InlineFragment") {
41515
- if (isFragmentApplicable$u(selectionNode, source.data.__typename)) {
41516
- // Get selections out of the inline fragment
41517
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41518
- // Call into field handling with selections
41519
- Object.assign(sink, buildSelectionForNode$t(source, reader, parentNode, fragmentSelection, variables, fragments));
41520
- });
41521
- }
41522
- }
41523
- if (selectionNode.kind === "FragmentSpread") {
41524
- const namedFragment = fragments[selectionNode.name.value];
41525
- if (namedFragment && isFragmentApplicable$u(namedFragment, source.data.__typename)) {
41526
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41527
- // Call into field handling with selections
41528
- Object.assign(sink, buildSelectionForNode$t(source, reader, parentNode, fragmentSelection, variables, fragments));
41529
- });
41530
- }
41531
- }
41532
- if (selectionNode.kind === "Field") {
41533
- Object.assign(sink, buildSelectionForField$t(source, reader, selectionNode, variables));
41534
- }
41535
- return sink;
40597
+ function buildSelectionForNode$u(source, reader, parentNode, selectionNode, variables, fragments) {
40598
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$u, buildSelectionForField$u);
41536
40599
  }
41537
40600
  function select$D(field, variables, fragments) {
41538
40601
  return (source, reader) => {
41539
40602
  var _a;
41540
40603
  const sink = {};
41541
40604
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41542
- const builtSelection = buildSelectionForNode$t(source, reader, field, sel, variables, fragments);
40605
+ const builtSelection = buildSelectionForNode$u(source, reader, field, sel, variables, fragments);
41543
40606
  if (builtSelection !== undefined) {
41544
40607
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41545
40608
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41681,79 +40744,18 @@ function selectType$t(typename, sel, fieldData, reader, key, sink, variables, fr
41681
40744
  }
41682
40745
  return sink;
41683
40746
  }
41684
- function buildSelectionForField$s(source, reader, sel, variables, fragments) {
41685
- const sink = {};
41686
- const fieldData = getFieldData$s(source, sel, variables);
41687
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41688
- reader.enterPath(requestedFieldName);
41689
- if (fieldData === undefined) {
41690
- reader.markMissing();
41691
- reader.exitPath();
41692
- return;
41693
- }
41694
- if (fieldData === null) {
41695
- reader.assignScalar(requestedFieldName, sink, fieldData);
41696
- return sink;
41697
- }
41698
- const fieldType = getFieldType$N(sel);
41699
- if (fieldType === undefined) {
41700
- // This field's type is unknown to us. This breaks normalization.
41701
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41702
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41703
- }
41704
- else if (fieldType.isArray) {
41705
- const arraySink = [];
41706
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41707
- reader.enterPath(i);
41708
- selectType$t(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
41709
- reader.exitPath();
41710
- }
41711
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41712
- }
41713
- else {
41714
- selectType$t(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
41715
- }
41716
- reader.exitPath();
41717
- return sink;
40747
+ function buildSelectionForField$t(source, reader, sel, variables, fragments) {
40748
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$s, getFieldType$N, selectType$t);
41718
40749
  }
41719
- function buildSelectionForNode$s(source, reader, parentNode, selectionNode, variables, fragments) {
41720
- const sink = {};
41721
- if (selectionNode.directives) {
41722
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41723
- if (selectionWithDirectives === undefined) {
41724
- return;
41725
- }
41726
- selectionNode = selectionWithDirectives;
41727
- }
41728
- if (selectionNode.kind === "InlineFragment") {
41729
- if (isFragmentApplicable$t(selectionNode, source.data.__typename)) {
41730
- // Get selections out of the inline fragment
41731
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41732
- // Call into field handling with selections
41733
- Object.assign(sink, buildSelectionForNode$s(source, reader, parentNode, fragmentSelection, variables, fragments));
41734
- });
41735
- }
41736
- }
41737
- if (selectionNode.kind === "FragmentSpread") {
41738
- const namedFragment = fragments[selectionNode.name.value];
41739
- if (namedFragment && isFragmentApplicable$t(namedFragment, source.data.__typename)) {
41740
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41741
- // Call into field handling with selections
41742
- Object.assign(sink, buildSelectionForNode$s(source, reader, parentNode, fragmentSelection, variables, fragments));
41743
- });
41744
- }
41745
- }
41746
- if (selectionNode.kind === "Field") {
41747
- Object.assign(sink, buildSelectionForField$s(source, reader, selectionNode, variables));
41748
- }
41749
- return sink;
40750
+ function buildSelectionForNode$t(source, reader, parentNode, selectionNode, variables, fragments) {
40751
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$t, buildSelectionForField$t);
41750
40752
  }
41751
40753
  function select$C(field, variables, fragments) {
41752
40754
  return (source, reader) => {
41753
40755
  var _a;
41754
40756
  const sink = {};
41755
40757
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41756
- const builtSelection = buildSelectionForNode$s(source, reader, field, sel, variables, fragments);
40758
+ const builtSelection = buildSelectionForNode$t(source, reader, field, sel, variables, fragments);
41757
40759
  if (builtSelection !== undefined) {
41758
40760
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41759
40761
  Object.keys(builtSelection).forEach((key, value) => {
@@ -41895,79 +40897,18 @@ function selectType$s(typename, sel, fieldData, reader, key, sink, variables, fr
41895
40897
  }
41896
40898
  return sink;
41897
40899
  }
41898
- function buildSelectionForField$r(source, reader, sel, variables, fragments) {
41899
- const sink = {};
41900
- const fieldData = getFieldData$r(source, sel, variables);
41901
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
41902
- reader.enterPath(requestedFieldName);
41903
- if (fieldData === undefined) {
41904
- reader.markMissing();
41905
- reader.exitPath();
41906
- return;
41907
- }
41908
- if (fieldData === null) {
41909
- reader.assignScalar(requestedFieldName, sink, fieldData);
41910
- return sink;
41911
- }
41912
- const fieldType = getFieldType$M(sel);
41913
- if (fieldType === undefined) {
41914
- // This field's type is unknown to us. This breaks normalization.
41915
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
41916
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
41917
- }
41918
- else if (fieldType.isArray) {
41919
- const arraySink = [];
41920
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
41921
- reader.enterPath(i);
41922
- selectType$s(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
41923
- reader.exitPath();
41924
- }
41925
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
41926
- }
41927
- else {
41928
- selectType$s(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
41929
- }
41930
- reader.exitPath();
41931
- return sink;
40900
+ function buildSelectionForField$s(source, reader, sel, variables, fragments) {
40901
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$r, getFieldType$M, selectType$s);
41932
40902
  }
41933
- function buildSelectionForNode$r(source, reader, parentNode, selectionNode, variables, fragments) {
41934
- const sink = {};
41935
- if (selectionNode.directives) {
41936
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
41937
- if (selectionWithDirectives === undefined) {
41938
- return;
41939
- }
41940
- selectionNode = selectionWithDirectives;
41941
- }
41942
- if (selectionNode.kind === "InlineFragment") {
41943
- if (isFragmentApplicable$s(selectionNode, source.data.__typename)) {
41944
- // Get selections out of the inline fragment
41945
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
41946
- // Call into field handling with selections
41947
- Object.assign(sink, buildSelectionForNode$r(source, reader, parentNode, fragmentSelection, variables, fragments));
41948
- });
41949
- }
41950
- }
41951
- if (selectionNode.kind === "FragmentSpread") {
41952
- const namedFragment = fragments[selectionNode.name.value];
41953
- if (namedFragment && isFragmentApplicable$s(namedFragment, source.data.__typename)) {
41954
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
41955
- // Call into field handling with selections
41956
- Object.assign(sink, buildSelectionForNode$r(source, reader, parentNode, fragmentSelection, variables, fragments));
41957
- });
41958
- }
41959
- }
41960
- if (selectionNode.kind === "Field") {
41961
- Object.assign(sink, buildSelectionForField$r(source, reader, selectionNode, variables));
41962
- }
41963
- return sink;
40903
+ function buildSelectionForNode$s(source, reader, parentNode, selectionNode, variables, fragments) {
40904
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$s, buildSelectionForField$s);
41964
40905
  }
41965
40906
  function select$B(field, variables, fragments) {
41966
40907
  return (source, reader) => {
41967
40908
  var _a;
41968
40909
  const sink = {};
41969
40910
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
41970
- const builtSelection = buildSelectionForNode$r(source, reader, field, sel, variables, fragments);
40911
+ const builtSelection = buildSelectionForNode$s(source, reader, field, sel, variables, fragments);
41971
40912
  if (builtSelection !== undefined) {
41972
40913
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
41973
40914
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42109,79 +41050,18 @@ function selectType$r(typename, sel, fieldData, reader, key, sink, variables, fr
42109
41050
  }
42110
41051
  return sink;
42111
41052
  }
42112
- function buildSelectionForField$q(source, reader, sel, variables, fragments) {
42113
- const sink = {};
42114
- const fieldData = getFieldData$q(source, sel, variables);
42115
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42116
- reader.enterPath(requestedFieldName);
42117
- if (fieldData === undefined) {
42118
- reader.markMissing();
42119
- reader.exitPath();
42120
- return;
42121
- }
42122
- if (fieldData === null) {
42123
- reader.assignScalar(requestedFieldName, sink, fieldData);
42124
- return sink;
42125
- }
42126
- const fieldType = getFieldType$L(sel);
42127
- if (fieldType === undefined) {
42128
- // This field's type is unknown to us. This breaks normalization.
42129
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42130
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42131
- }
42132
- else if (fieldType.isArray) {
42133
- const arraySink = [];
42134
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42135
- reader.enterPath(i);
42136
- selectType$r(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
42137
- reader.exitPath();
42138
- }
42139
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
42140
- }
42141
- else {
42142
- selectType$r(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
42143
- }
42144
- reader.exitPath();
42145
- return sink;
41053
+ function buildSelectionForField$r(source, reader, sel, variables, fragments) {
41054
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$q, getFieldType$L, selectType$r);
42146
41055
  }
42147
- function buildSelectionForNode$q(source, reader, parentNode, selectionNode, variables, fragments) {
42148
- const sink = {};
42149
- if (selectionNode.directives) {
42150
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
42151
- if (selectionWithDirectives === undefined) {
42152
- return;
42153
- }
42154
- selectionNode = selectionWithDirectives;
42155
- }
42156
- if (selectionNode.kind === "InlineFragment") {
42157
- if (isFragmentApplicable$r(selectionNode, source.data.__typename)) {
42158
- // Get selections out of the inline fragment
42159
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
42160
- // Call into field handling with selections
42161
- Object.assign(sink, buildSelectionForNode$q(source, reader, parentNode, fragmentSelection, variables, fragments));
42162
- });
42163
- }
42164
- }
42165
- if (selectionNode.kind === "FragmentSpread") {
42166
- const namedFragment = fragments[selectionNode.name.value];
42167
- if (namedFragment && isFragmentApplicable$r(namedFragment, source.data.__typename)) {
42168
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
42169
- // Call into field handling with selections
42170
- Object.assign(sink, buildSelectionForNode$q(source, reader, parentNode, fragmentSelection, variables, fragments));
42171
- });
42172
- }
42173
- }
42174
- if (selectionNode.kind === "Field") {
42175
- Object.assign(sink, buildSelectionForField$q(source, reader, selectionNode, variables));
42176
- }
42177
- return sink;
41056
+ function buildSelectionForNode$r(source, reader, parentNode, selectionNode, variables, fragments) {
41057
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$r, buildSelectionForField$r);
42178
41058
  }
42179
41059
  function select$A(field, variables, fragments) {
42180
41060
  return (source, reader) => {
42181
41061
  var _a;
42182
41062
  const sink = {};
42183
41063
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
42184
- const builtSelection = buildSelectionForNode$q(source, reader, field, sel, variables, fragments);
41064
+ const builtSelection = buildSelectionForNode$r(source, reader, field, sel, variables, fragments);
42185
41065
  if (builtSelection !== undefined) {
42186
41066
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
42187
41067
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42323,79 +41203,18 @@ function selectType$q(typename, sel, fieldData, reader, key, sink, variables, fr
42323
41203
  }
42324
41204
  return sink;
42325
41205
  }
42326
- function buildSelectionForField$p(source, reader, sel, variables, fragments) {
42327
- const sink = {};
42328
- const fieldData = getFieldData$p(source, sel, variables);
42329
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42330
- reader.enterPath(requestedFieldName);
42331
- if (fieldData === undefined) {
42332
- reader.markMissing();
42333
- reader.exitPath();
42334
- return;
42335
- }
42336
- if (fieldData === null) {
42337
- reader.assignScalar(requestedFieldName, sink, fieldData);
42338
- return sink;
42339
- }
42340
- const fieldType = getFieldType$K(sel);
42341
- if (fieldType === undefined) {
42342
- // This field's type is unknown to us. This breaks normalization.
42343
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42344
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42345
- }
42346
- else if (fieldType.isArray) {
42347
- const arraySink = [];
42348
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42349
- reader.enterPath(i);
42350
- selectType$q(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
42351
- reader.exitPath();
42352
- }
42353
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
42354
- }
42355
- else {
42356
- selectType$q(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
42357
- }
42358
- reader.exitPath();
42359
- return sink;
41206
+ function buildSelectionForField$q(source, reader, sel, variables, fragments) {
41207
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$p, getFieldType$K, selectType$q);
42360
41208
  }
42361
- function buildSelectionForNode$p(source, reader, parentNode, selectionNode, variables, fragments) {
42362
- const sink = {};
42363
- if (selectionNode.directives) {
42364
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
42365
- if (selectionWithDirectives === undefined) {
42366
- return;
42367
- }
42368
- selectionNode = selectionWithDirectives;
42369
- }
42370
- if (selectionNode.kind === "InlineFragment") {
42371
- if (isFragmentApplicable$q(selectionNode, source.data.__typename)) {
42372
- // Get selections out of the inline fragment
42373
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
42374
- // Call into field handling with selections
42375
- Object.assign(sink, buildSelectionForNode$p(source, reader, parentNode, fragmentSelection, variables, fragments));
42376
- });
42377
- }
42378
- }
42379
- if (selectionNode.kind === "FragmentSpread") {
42380
- const namedFragment = fragments[selectionNode.name.value];
42381
- if (namedFragment && isFragmentApplicable$q(namedFragment, source.data.__typename)) {
42382
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
42383
- // Call into field handling with selections
42384
- Object.assign(sink, buildSelectionForNode$p(source, reader, parentNode, fragmentSelection, variables, fragments));
42385
- });
42386
- }
42387
- }
42388
- if (selectionNode.kind === "Field") {
42389
- Object.assign(sink, buildSelectionForField$p(source, reader, selectionNode, variables));
42390
- }
42391
- return sink;
41209
+ function buildSelectionForNode$q(source, reader, parentNode, selectionNode, variables, fragments) {
41210
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$q, buildSelectionForField$q);
42392
41211
  }
42393
41212
  function select$z(field, variables, fragments) {
42394
41213
  return (source, reader) => {
42395
41214
  var _a;
42396
41215
  const sink = {};
42397
41216
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
42398
- const builtSelection = buildSelectionForNode$p(source, reader, field, sel, variables, fragments);
41217
+ const builtSelection = buildSelectionForNode$q(source, reader, field, sel, variables, fragments);
42399
41218
  if (builtSelection !== undefined) {
42400
41219
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
42401
41220
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42543,79 +41362,18 @@ function selectType$p(typename, sel, fieldData, reader, key, sink, variables, fr
42543
41362
  }
42544
41363
  return sink;
42545
41364
  }
42546
- function buildSelectionForField$o(source, reader, sel, variables, fragments) {
42547
- const sink = {};
42548
- const fieldData = getFieldData$o(source, sel, variables);
42549
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42550
- reader.enterPath(requestedFieldName);
42551
- if (fieldData === undefined) {
42552
- reader.markMissing();
42553
- reader.exitPath();
42554
- return;
42555
- }
42556
- if (fieldData === null) {
42557
- reader.assignScalar(requestedFieldName, sink, fieldData);
42558
- return sink;
42559
- }
42560
- const fieldType = getFieldType$J(sel);
42561
- if (fieldType === undefined) {
42562
- // This field's type is unknown to us. This breaks normalization.
42563
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42564
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42565
- }
42566
- else if (fieldType.isArray) {
42567
- const arraySink = [];
42568
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42569
- reader.enterPath(i);
42570
- selectType$p(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
42571
- reader.exitPath();
42572
- }
42573
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
42574
- }
42575
- else {
42576
- selectType$p(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
42577
- }
42578
- reader.exitPath();
42579
- return sink;
41365
+ function buildSelectionForField$p(source, reader, sel, variables, fragments) {
41366
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$o, getFieldType$J, selectType$p);
42580
41367
  }
42581
- function buildSelectionForNode$o(source, reader, parentNode, selectionNode, variables, fragments) {
42582
- const sink = {};
42583
- if (selectionNode.directives) {
42584
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
42585
- if (selectionWithDirectives === undefined) {
42586
- return;
42587
- }
42588
- selectionNode = selectionWithDirectives;
42589
- }
42590
- if (selectionNode.kind === "InlineFragment") {
42591
- if (isFragmentApplicable$p(selectionNode, source.data.__typename)) {
42592
- // Get selections out of the inline fragment
42593
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
42594
- // Call into field handling with selections
42595
- Object.assign(sink, buildSelectionForNode$o(source, reader, parentNode, fragmentSelection, variables, fragments));
42596
- });
42597
- }
42598
- }
42599
- if (selectionNode.kind === "FragmentSpread") {
42600
- const namedFragment = fragments[selectionNode.name.value];
42601
- if (namedFragment && isFragmentApplicable$p(namedFragment, source.data.__typename)) {
42602
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
42603
- // Call into field handling with selections
42604
- Object.assign(sink, buildSelectionForNode$o(source, reader, parentNode, fragmentSelection, variables, fragments));
42605
- });
42606
- }
42607
- }
42608
- if (selectionNode.kind === "Field") {
42609
- Object.assign(sink, buildSelectionForField$o(source, reader, selectionNode, variables));
42610
- }
42611
- return sink;
41368
+ function buildSelectionForNode$p(source, reader, parentNode, selectionNode, variables, fragments) {
41369
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$p, buildSelectionForField$p);
42612
41370
  }
42613
41371
  function select$y(field, variables, fragments) {
42614
41372
  return (source, reader) => {
42615
41373
  var _a;
42616
41374
  const sink = {};
42617
41375
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
42618
- const builtSelection = buildSelectionForNode$o(source, reader, field, sel, variables, fragments);
41376
+ const builtSelection = buildSelectionForNode$p(source, reader, field, sel, variables, fragments);
42619
41377
  if (builtSelection !== undefined) {
42620
41378
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
42621
41379
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42757,79 +41515,18 @@ function selectType$o(typename, sel, fieldData, reader, key, sink, variables, fr
42757
41515
  }
42758
41516
  return sink;
42759
41517
  }
42760
- function buildSelectionForField$n(source, reader, sel, variables, fragments) {
42761
- const sink = {};
42762
- const fieldData = getFieldData$n(source, sel, variables);
42763
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42764
- reader.enterPath(requestedFieldName);
42765
- if (fieldData === undefined) {
42766
- reader.markMissing();
42767
- reader.exitPath();
42768
- return;
42769
- }
42770
- if (fieldData === null) {
42771
- reader.assignScalar(requestedFieldName, sink, fieldData);
42772
- return sink;
42773
- }
42774
- const fieldType = getFieldType$I(sel);
42775
- if (fieldType === undefined) {
42776
- // This field's type is unknown to us. This breaks normalization.
42777
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42778
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42779
- }
42780
- else if (fieldType.isArray) {
42781
- const arraySink = [];
42782
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42783
- reader.enterPath(i);
42784
- selectType$o(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
42785
- reader.exitPath();
42786
- }
42787
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
42788
- }
42789
- else {
42790
- selectType$o(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
42791
- }
42792
- reader.exitPath();
42793
- return sink;
41518
+ function buildSelectionForField$o(source, reader, sel, variables, fragments) {
41519
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$n, getFieldType$I, selectType$o);
42794
41520
  }
42795
- function buildSelectionForNode$n(source, reader, parentNode, selectionNode, variables, fragments) {
42796
- const sink = {};
42797
- if (selectionNode.directives) {
42798
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
42799
- if (selectionWithDirectives === undefined) {
42800
- return;
42801
- }
42802
- selectionNode = selectionWithDirectives;
42803
- }
42804
- if (selectionNode.kind === "InlineFragment") {
42805
- if (isFragmentApplicable$o(selectionNode, source.data.__typename)) {
42806
- // Get selections out of the inline fragment
42807
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
42808
- // Call into field handling with selections
42809
- Object.assign(sink, buildSelectionForNode$n(source, reader, parentNode, fragmentSelection, variables, fragments));
42810
- });
42811
- }
42812
- }
42813
- if (selectionNode.kind === "FragmentSpread") {
42814
- const namedFragment = fragments[selectionNode.name.value];
42815
- if (namedFragment && isFragmentApplicable$o(namedFragment, source.data.__typename)) {
42816
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
42817
- // Call into field handling with selections
42818
- Object.assign(sink, buildSelectionForNode$n(source, reader, parentNode, fragmentSelection, variables, fragments));
42819
- });
42820
- }
42821
- }
42822
- if (selectionNode.kind === "Field") {
42823
- Object.assign(sink, buildSelectionForField$n(source, reader, selectionNode, variables));
42824
- }
42825
- return sink;
41521
+ function buildSelectionForNode$o(source, reader, parentNode, selectionNode, variables, fragments) {
41522
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$o, buildSelectionForField$o);
42826
41523
  }
42827
41524
  function select$x(field, variables, fragments) {
42828
41525
  return (source, reader) => {
42829
41526
  var _a;
42830
41527
  const sink = {};
42831
41528
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
42832
- const builtSelection = buildSelectionForNode$n(source, reader, field, sel, variables, fragments);
41529
+ const builtSelection = buildSelectionForNode$o(source, reader, field, sel, variables, fragments);
42833
41530
  if (builtSelection !== undefined) {
42834
41531
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
42835
41532
  Object.keys(builtSelection).forEach((key, value) => {
@@ -42971,79 +41668,18 @@ function selectType$n(typename, sel, fieldData, reader, key, sink, variables, fr
42971
41668
  }
42972
41669
  return sink;
42973
41670
  }
42974
- function buildSelectionForField$m(source, reader, sel, variables, fragments) {
42975
- const sink = {};
42976
- const fieldData = getFieldData$m(source, sel, variables);
42977
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
42978
- reader.enterPath(requestedFieldName);
42979
- if (fieldData === undefined) {
42980
- reader.markMissing();
42981
- reader.exitPath();
42982
- return;
42983
- }
42984
- if (fieldData === null) {
42985
- reader.assignScalar(requestedFieldName, sink, fieldData);
42986
- return sink;
42987
- }
42988
- const fieldType = getFieldType$H(sel);
42989
- if (fieldType === undefined) {
42990
- // This field's type is unknown to us. This breaks normalization.
42991
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
42992
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
42993
- }
42994
- else if (fieldType.isArray) {
42995
- const arraySink = [];
42996
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
42997
- reader.enterPath(i);
42998
- selectType$n(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
42999
- reader.exitPath();
43000
- }
43001
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
43002
- }
43003
- else {
43004
- selectType$n(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
43005
- }
43006
- reader.exitPath();
43007
- return sink;
41671
+ function buildSelectionForField$n(source, reader, sel, variables, fragments) {
41672
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$m, getFieldType$H, selectType$n);
43008
41673
  }
43009
- function buildSelectionForNode$m(source, reader, parentNode, selectionNode, variables, fragments) {
43010
- const sink = {};
43011
- if (selectionNode.directives) {
43012
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
43013
- if (selectionWithDirectives === undefined) {
43014
- return;
43015
- }
43016
- selectionNode = selectionWithDirectives;
43017
- }
43018
- if (selectionNode.kind === "InlineFragment") {
43019
- if (isFragmentApplicable$n(selectionNode, source.data.__typename)) {
43020
- // Get selections out of the inline fragment
43021
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
43022
- // Call into field handling with selections
43023
- Object.assign(sink, buildSelectionForNode$m(source, reader, parentNode, fragmentSelection, variables, fragments));
43024
- });
43025
- }
43026
- }
43027
- if (selectionNode.kind === "FragmentSpread") {
43028
- const namedFragment = fragments[selectionNode.name.value];
43029
- if (namedFragment && isFragmentApplicable$n(namedFragment, source.data.__typename)) {
43030
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
43031
- // Call into field handling with selections
43032
- Object.assign(sink, buildSelectionForNode$m(source, reader, parentNode, fragmentSelection, variables, fragments));
43033
- });
43034
- }
43035
- }
43036
- if (selectionNode.kind === "Field") {
43037
- Object.assign(sink, buildSelectionForField$m(source, reader, selectionNode, variables));
43038
- }
43039
- return sink;
41674
+ function buildSelectionForNode$n(source, reader, parentNode, selectionNode, variables, fragments) {
41675
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$n, buildSelectionForField$n);
43040
41676
  }
43041
41677
  function select$w(field, variables, fragments) {
43042
41678
  return (source, reader) => {
43043
41679
  var _a;
43044
41680
  const sink = {};
43045
41681
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
43046
- const builtSelection = buildSelectionForNode$m(source, reader, field, sel, variables, fragments);
41682
+ const builtSelection = buildSelectionForNode$n(source, reader, field, sel, variables, fragments);
43047
41683
  if (builtSelection !== undefined) {
43048
41684
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
43049
41685
  Object.keys(builtSelection).forEach((key, value) => {
@@ -43191,79 +41827,18 @@ function selectType$m(typename, sel, fieldData, reader, key, sink, variables, fr
43191
41827
  }
43192
41828
  return sink;
43193
41829
  }
43194
- function buildSelectionForField$l(source, reader, sel, variables, fragments) {
43195
- const sink = {};
43196
- const fieldData = getFieldData$l(source, sel, variables);
43197
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
43198
- reader.enterPath(requestedFieldName);
43199
- if (fieldData === undefined) {
43200
- reader.markMissing();
43201
- reader.exitPath();
43202
- return;
43203
- }
43204
- if (fieldData === null) {
43205
- reader.assignScalar(requestedFieldName, sink, fieldData);
43206
- return sink;
43207
- }
43208
- const fieldType = getFieldType$G(sel);
43209
- if (fieldType === undefined) {
43210
- // This field's type is unknown to us. This breaks normalization.
43211
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
43212
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
43213
- }
43214
- else if (fieldType.isArray) {
43215
- const arraySink = [];
43216
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
43217
- reader.enterPath(i);
43218
- selectType$m(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
43219
- reader.exitPath();
43220
- }
43221
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
43222
- }
43223
- else {
43224
- selectType$m(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
43225
- }
43226
- reader.exitPath();
43227
- return sink;
41830
+ function buildSelectionForField$m(source, reader, sel, variables, fragments) {
41831
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$l, getFieldType$G, selectType$m);
43228
41832
  }
43229
- function buildSelectionForNode$l(source, reader, parentNode, selectionNode, variables, fragments) {
43230
- const sink = {};
43231
- if (selectionNode.directives) {
43232
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
43233
- if (selectionWithDirectives === undefined) {
43234
- return;
43235
- }
43236
- selectionNode = selectionWithDirectives;
43237
- }
43238
- if (selectionNode.kind === "InlineFragment") {
43239
- if (isFragmentApplicable$m(selectionNode, source.data.__typename)) {
43240
- // Get selections out of the inline fragment
43241
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
43242
- // Call into field handling with selections
43243
- Object.assign(sink, buildSelectionForNode$l(source, reader, parentNode, fragmentSelection, variables, fragments));
43244
- });
43245
- }
43246
- }
43247
- if (selectionNode.kind === "FragmentSpread") {
43248
- const namedFragment = fragments[selectionNode.name.value];
43249
- if (namedFragment && isFragmentApplicable$m(namedFragment, source.data.__typename)) {
43250
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
43251
- // Call into field handling with selections
43252
- Object.assign(sink, buildSelectionForNode$l(source, reader, parentNode, fragmentSelection, variables, fragments));
43253
- });
43254
- }
43255
- }
43256
- if (selectionNode.kind === "Field") {
43257
- Object.assign(sink, buildSelectionForField$l(source, reader, selectionNode, variables));
43258
- }
43259
- return sink;
41833
+ function buildSelectionForNode$m(source, reader, parentNode, selectionNode, variables, fragments) {
41834
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$m, buildSelectionForField$m);
43260
41835
  }
43261
41836
  function select$v(field, variables, fragments) {
43262
41837
  return (source, reader) => {
43263
41838
  var _a;
43264
41839
  const sink = {};
43265
41840
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
43266
- const builtSelection = buildSelectionForNode$l(source, reader, field, sel, variables, fragments);
41841
+ const builtSelection = buildSelectionForNode$m(source, reader, field, sel, variables, fragments);
43267
41842
  if (builtSelection !== undefined) {
43268
41843
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
43269
41844
  Object.keys(builtSelection).forEach((key, value) => {
@@ -43411,79 +41986,18 @@ function selectType$l(typename, sel, fieldData, reader, key, sink, variables, fr
43411
41986
  }
43412
41987
  return sink;
43413
41988
  }
43414
- function buildSelectionForField$k(source, reader, sel, variables, fragments) {
43415
- const sink = {};
43416
- const fieldData = getFieldData$k(source, sel, variables);
43417
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
43418
- reader.enterPath(requestedFieldName);
43419
- if (fieldData === undefined) {
43420
- reader.markMissing();
43421
- reader.exitPath();
43422
- return;
43423
- }
43424
- if (fieldData === null) {
43425
- reader.assignScalar(requestedFieldName, sink, fieldData);
43426
- return sink;
43427
- }
43428
- const fieldType = getFieldType$F(sel);
43429
- if (fieldType === undefined) {
43430
- // This field's type is unknown to us. This breaks normalization.
43431
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
43432
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
43433
- }
43434
- else if (fieldType.isArray) {
43435
- const arraySink = [];
43436
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
43437
- reader.enterPath(i);
43438
- selectType$l(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
43439
- reader.exitPath();
43440
- }
43441
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
43442
- }
43443
- else {
43444
- selectType$l(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
43445
- }
43446
- reader.exitPath();
43447
- return sink;
41989
+ function buildSelectionForField$l(source, reader, sel, variables, fragments) {
41990
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$k, getFieldType$F, selectType$l);
43448
41991
  }
43449
- function buildSelectionForNode$k(source, reader, parentNode, selectionNode, variables, fragments) {
43450
- const sink = {};
43451
- if (selectionNode.directives) {
43452
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
43453
- if (selectionWithDirectives === undefined) {
43454
- return;
43455
- }
43456
- selectionNode = selectionWithDirectives;
43457
- }
43458
- if (selectionNode.kind === "InlineFragment") {
43459
- if (isFragmentApplicable$l(selectionNode, source.data.__typename)) {
43460
- // Get selections out of the inline fragment
43461
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
43462
- // Call into field handling with selections
43463
- Object.assign(sink, buildSelectionForNode$k(source, reader, parentNode, fragmentSelection, variables, fragments));
43464
- });
43465
- }
43466
- }
43467
- if (selectionNode.kind === "FragmentSpread") {
43468
- const namedFragment = fragments[selectionNode.name.value];
43469
- if (namedFragment && isFragmentApplicable$l(namedFragment, source.data.__typename)) {
43470
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
43471
- // Call into field handling with selections
43472
- Object.assign(sink, buildSelectionForNode$k(source, reader, parentNode, fragmentSelection, variables, fragments));
43473
- });
43474
- }
43475
- }
43476
- if (selectionNode.kind === "Field") {
43477
- Object.assign(sink, buildSelectionForField$k(source, reader, selectionNode, variables));
43478
- }
43479
- return sink;
41992
+ function buildSelectionForNode$l(source, reader, parentNode, selectionNode, variables, fragments) {
41993
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$l, buildSelectionForField$l);
43480
41994
  }
43481
41995
  function select$u(field, variables, fragments) {
43482
41996
  return (source, reader) => {
43483
41997
  var _a;
43484
41998
  const sink = {};
43485
41999
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
43486
- const builtSelection = buildSelectionForNode$k(source, reader, field, sel, variables, fragments);
42000
+ const builtSelection = buildSelectionForNode$l(source, reader, field, sel, variables, fragments);
43487
42001
  if (builtSelection !== undefined) {
43488
42002
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
43489
42003
  Object.keys(builtSelection).forEach((key, value) => {
@@ -43625,79 +42139,18 @@ function selectType$k(typename, sel, fieldData, reader, key, sink, variables, fr
43625
42139
  }
43626
42140
  return sink;
43627
42141
  }
43628
- function buildSelectionForField$j(source, reader, sel, variables, fragments) {
43629
- const sink = {};
43630
- const fieldData = getFieldData$j(source, sel, variables);
43631
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
43632
- reader.enterPath(requestedFieldName);
43633
- if (fieldData === undefined) {
43634
- reader.markMissing();
43635
- reader.exitPath();
43636
- return;
43637
- }
43638
- if (fieldData === null) {
43639
- reader.assignScalar(requestedFieldName, sink, fieldData);
43640
- return sink;
43641
- }
43642
- const fieldType = getFieldType$E(sel);
43643
- if (fieldType === undefined) {
43644
- // This field's type is unknown to us. This breaks normalization.
43645
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
43646
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
43647
- }
43648
- else if (fieldType.isArray) {
43649
- const arraySink = [];
43650
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
43651
- reader.enterPath(i);
43652
- selectType$k(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
43653
- reader.exitPath();
43654
- }
43655
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
43656
- }
43657
- else {
43658
- selectType$k(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
43659
- }
43660
- reader.exitPath();
43661
- return sink;
42142
+ function buildSelectionForField$k(source, reader, sel, variables, fragments) {
42143
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$j, getFieldType$E, selectType$k);
43662
42144
  }
43663
- function buildSelectionForNode$j(source, reader, parentNode, selectionNode, variables, fragments) {
43664
- const sink = {};
43665
- if (selectionNode.directives) {
43666
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
43667
- if (selectionWithDirectives === undefined) {
43668
- return;
43669
- }
43670
- selectionNode = selectionWithDirectives;
43671
- }
43672
- if (selectionNode.kind === "InlineFragment") {
43673
- if (isFragmentApplicable$k(selectionNode, source.data.__typename)) {
43674
- // Get selections out of the inline fragment
43675
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
43676
- // Call into field handling with selections
43677
- Object.assign(sink, buildSelectionForNode$j(source, reader, parentNode, fragmentSelection, variables, fragments));
43678
- });
43679
- }
43680
- }
43681
- if (selectionNode.kind === "FragmentSpread") {
43682
- const namedFragment = fragments[selectionNode.name.value];
43683
- if (namedFragment && isFragmentApplicable$k(namedFragment, source.data.__typename)) {
43684
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
43685
- // Call into field handling with selections
43686
- Object.assign(sink, buildSelectionForNode$j(source, reader, parentNode, fragmentSelection, variables, fragments));
43687
- });
43688
- }
43689
- }
43690
- if (selectionNode.kind === "Field") {
43691
- Object.assign(sink, buildSelectionForField$j(source, reader, selectionNode, variables));
43692
- }
43693
- return sink;
42145
+ function buildSelectionForNode$k(source, reader, parentNode, selectionNode, variables, fragments) {
42146
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$k, buildSelectionForField$k);
43694
42147
  }
43695
42148
  function select$t(field, variables, fragments) {
43696
42149
  return (source, reader) => {
43697
42150
  var _a;
43698
42151
  const sink = {};
43699
42152
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
43700
- const builtSelection = buildSelectionForNode$j(source, reader, field, sel, variables, fragments);
42153
+ const builtSelection = buildSelectionForNode$k(source, reader, field, sel, variables, fragments);
43701
42154
  if (builtSelection !== undefined) {
43702
42155
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
43703
42156
  Object.keys(builtSelection).forEach((key, value) => {
@@ -44620,79 +43073,18 @@ function selectType$i(typename, sel, fieldData, reader, key, sink, variables, fr
44620
43073
  }
44621
43074
  return sink;
44622
43075
  }
44623
- function buildSelectionForField$i(source, reader, sel, variables, fragments) {
44624
- const sink = {};
44625
- const fieldData = getFieldData$h(source, sel, variables);
44626
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
44627
- reader.enterPath(requestedFieldName);
44628
- if (fieldData === undefined) {
44629
- reader.markMissing();
44630
- reader.exitPath();
44631
- return;
44632
- }
44633
- if (fieldData === null) {
44634
- reader.assignScalar(requestedFieldName, sink, fieldData);
44635
- return sink;
44636
- }
44637
- const fieldType = getFieldType$B(sel);
44638
- if (fieldType === undefined) {
44639
- // This field's type is unknown to us. This breaks normalization.
44640
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
44641
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
44642
- }
44643
- else if (fieldType.isArray) {
44644
- const arraySink = [];
44645
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
44646
- reader.enterPath(i);
44647
- selectType$i(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
44648
- reader.exitPath();
44649
- }
44650
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
44651
- }
44652
- else {
44653
- selectType$i(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
44654
- }
44655
- reader.exitPath();
44656
- return sink;
43076
+ function buildSelectionForField$j(source, reader, sel, variables, fragments) {
43077
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$h, getFieldType$B, selectType$i);
44657
43078
  }
44658
- function buildSelectionForNode$i(source, reader, parentNode, selectionNode, variables, fragments) {
44659
- const sink = {};
44660
- if (selectionNode.directives) {
44661
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
44662
- if (selectionWithDirectives === undefined) {
44663
- return;
44664
- }
44665
- selectionNode = selectionWithDirectives;
44666
- }
44667
- if (selectionNode.kind === "InlineFragment") {
44668
- if (isFragmentApplicable$j(selectionNode, source.data.__typename)) {
44669
- // Get selections out of the inline fragment
44670
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
44671
- // Call into field handling with selections
44672
- Object.assign(sink, buildSelectionForNode$i(source, reader, parentNode, fragmentSelection, variables, fragments));
44673
- });
44674
- }
44675
- }
44676
- if (selectionNode.kind === "FragmentSpread") {
44677
- const namedFragment = fragments[selectionNode.name.value];
44678
- if (namedFragment && isFragmentApplicable$j(namedFragment, source.data.__typename)) {
44679
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
44680
- // Call into field handling with selections
44681
- Object.assign(sink, buildSelectionForNode$i(source, reader, parentNode, fragmentSelection, variables, fragments));
44682
- });
44683
- }
44684
- }
44685
- if (selectionNode.kind === "Field") {
44686
- Object.assign(sink, buildSelectionForField$i(source, reader, selectionNode, variables));
44687
- }
44688
- return sink;
43079
+ function buildSelectionForNode$j(source, reader, parentNode, selectionNode, variables, fragments) {
43080
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$j, buildSelectionForField$j);
44689
43081
  }
44690
43082
  function select$r(field, variables, fragments) {
44691
43083
  return (source, reader) => {
44692
43084
  var _a;
44693
43085
  const sink = {};
44694
43086
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
44695
- const builtSelection = buildSelectionForNode$i(source, reader, field, sel, variables, fragments);
43087
+ const builtSelection = buildSelectionForNode$j(source, reader, field, sel, variables, fragments);
44696
43088
  if (builtSelection !== undefined) {
44697
43089
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
44698
43090
  Object.keys(builtSelection).forEach((key, value) => {
@@ -45542,7 +43934,7 @@ function selectType$h(typename, sel, fieldData, reader, key, sink, variables, fr
45542
43934
  }
45543
43935
  else {
45544
43936
  trimmedEdges = trimEdges(source.edges, startOffset, endOffset);
45545
- maxOffset = !listIsComplete ? findMaxOffset(metadata) : Object.keys(metadata).length - 2;
43937
+ maxOffset = findMaxOffset(metadata);
45546
43938
  const listHasEnoughItems = (endOffset - 1 <= maxOffset);
45547
43939
  if (trimmedEdges === undefined || !listHasEnoughItems) {
45548
43940
  reader.markMissingLink(fieldData.__ref);
@@ -45580,72 +43972,11 @@ function selectType$h(typename, sel, fieldData, reader, key, sink, variables, fr
45580
43972
  }
45581
43973
  return sink;
45582
43974
  }
45583
- function buildSelectionForField$h(source, reader, sel, variables, fragments) {
45584
- const sink = {};
45585
- const fieldData = getFieldData$i(source, sel, variables);
45586
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
45587
- reader.enterPath(requestedFieldName);
45588
- if (fieldData === undefined) {
45589
- reader.markMissing();
45590
- reader.exitPath();
45591
- return;
45592
- }
45593
- if (fieldData === null) {
45594
- reader.assignScalar(requestedFieldName, sink, fieldData);
45595
- return sink;
45596
- }
45597
- const fieldType = getFieldType$C(sel);
45598
- if (fieldType === undefined) {
45599
- // This field's type is unknown to us. This breaks normalization.
45600
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
45601
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
45602
- }
45603
- else if (fieldType.isArray) {
45604
- const arraySink = [];
45605
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
45606
- reader.enterPath(i);
45607
- selectType$j(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
45608
- reader.exitPath();
45609
- }
45610
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
45611
- }
45612
- else {
45613
- selectType$j(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
45614
- }
45615
- reader.exitPath();
45616
- return sink;
43975
+ function buildSelectionForField$i(source, reader, sel, variables, fragments) {
43976
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$i, getFieldType$C, selectType$j);
45617
43977
  }
45618
- function buildSelectionForNode$h(source, reader, parentNode, selectionNode, variables, fragments) {
45619
- const sink = {};
45620
- if (selectionNode.directives) {
45621
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
45622
- if (selectionWithDirectives === undefined) {
45623
- return;
45624
- }
45625
- selectionNode = selectionWithDirectives;
45626
- }
45627
- if (selectionNode.kind === "InlineFragment") {
45628
- if (isFragmentApplicable$i(selectionNode, source.data.__typename)) {
45629
- // Get selections out of the inline fragment
45630
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
45631
- // Call into field handling with selections
45632
- Object.assign(sink, buildSelectionForNode$h(source, reader, parentNode, fragmentSelection, variables, fragments));
45633
- });
45634
- }
45635
- }
45636
- if (selectionNode.kind === "FragmentSpread") {
45637
- const namedFragment = fragments[selectionNode.name.value];
45638
- if (namedFragment && isFragmentApplicable$i(namedFragment, source.data.__typename)) {
45639
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
45640
- // Call into field handling with selections
45641
- Object.assign(sink, buildSelectionForNode$h(source, reader, parentNode, fragmentSelection, variables, fragments));
45642
- });
45643
- }
45644
- }
45645
- if (selectionNode.kind === "Field") {
45646
- Object.assign(sink, buildSelectionForField$h(source, reader, selectionNode, variables, fragments));
45647
- }
45648
- return sink;
43978
+ function buildSelectionForNode$i(source, reader, parentNode, selectionNode, variables, fragments) {
43979
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$i, buildSelectionForField$i);
45649
43980
  }
45650
43981
  function select$q(field, variables, fragments) {
45651
43982
  return (source, reader) => {
@@ -45653,7 +43984,7 @@ function select$q(field, variables, fragments) {
45653
43984
  const sink = {};
45654
43985
  source = attachMappedData(source, reader);
45655
43986
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
45656
- const builtSelection = buildSelectionForNode$h(source, reader, field, sel, variables, fragments);
43987
+ const builtSelection = buildSelectionForNode$i(source, reader, field, sel, variables, fragments);
45657
43988
  if (builtSelection !== undefined) {
45658
43989
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
45659
43990
  Object.keys(builtSelection).forEach((key, value) => {
@@ -46589,79 +44920,18 @@ function selectType$g(typename, sel, fieldData, reader, key, sink, variables, fr
46589
44920
  }
46590
44921
  return sink;
46591
44922
  }
46592
- function buildSelectionForField$g(source, reader, sel, variables, fragments) {
46593
- const sink = {};
46594
- const fieldData = getFieldData$g(source, sel, variables);
46595
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
46596
- reader.enterPath(requestedFieldName);
46597
- if (fieldData === undefined) {
46598
- reader.markMissing();
46599
- reader.exitPath();
46600
- return;
46601
- }
46602
- if (fieldData === null) {
46603
- reader.assignScalar(requestedFieldName, sink, fieldData);
46604
- return sink;
46605
- }
46606
- const fieldType = getFieldType$A(sel);
46607
- if (fieldType === undefined) {
46608
- // This field's type is unknown to us. This breaks normalization.
46609
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
46610
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
46611
- }
46612
- else if (fieldType.isArray) {
46613
- const arraySink = [];
46614
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
46615
- reader.enterPath(i);
46616
- selectType$g(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
46617
- reader.exitPath();
46618
- }
46619
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
46620
- }
46621
- else {
46622
- selectType$g(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
46623
- }
46624
- reader.exitPath();
46625
- return sink;
44923
+ function buildSelectionForField$h(source, reader, sel, variables, fragments) {
44924
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$g, getFieldType$A, selectType$g);
46626
44925
  }
46627
- function buildSelectionForNode$g(source, reader, parentNode, selectionNode, variables, fragments) {
46628
- const sink = {};
46629
- if (selectionNode.directives) {
46630
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
46631
- if (selectionWithDirectives === undefined) {
46632
- return;
46633
- }
46634
- selectionNode = selectionWithDirectives;
46635
- }
46636
- if (selectionNode.kind === "InlineFragment") {
46637
- if (isFragmentApplicable$h(selectionNode, source.data.__typename)) {
46638
- // Get selections out of the inline fragment
46639
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
46640
- // Call into field handling with selections
46641
- Object.assign(sink, buildSelectionForNode$g(source, reader, parentNode, fragmentSelection, variables, fragments));
46642
- });
46643
- }
46644
- }
46645
- if (selectionNode.kind === "FragmentSpread") {
46646
- const namedFragment = fragments[selectionNode.name.value];
46647
- if (namedFragment && isFragmentApplicable$h(namedFragment, source.data.__typename)) {
46648
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
46649
- // Call into field handling with selections
46650
- Object.assign(sink, buildSelectionForNode$g(source, reader, parentNode, fragmentSelection, variables, fragments));
46651
- });
46652
- }
46653
- }
46654
- if (selectionNode.kind === "Field") {
46655
- Object.assign(sink, buildSelectionForField$g(source, reader, selectionNode, variables, fragments));
46656
- }
46657
- return sink;
44926
+ function buildSelectionForNode$h(source, reader, parentNode, selectionNode, variables, fragments) {
44927
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$h, buildSelectionForField$h);
46658
44928
  }
46659
44929
  function select$p(field, variables, fragments) {
46660
44930
  return (source, reader) => {
46661
44931
  var _a;
46662
44932
  const sink = {};
46663
44933
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
46664
- const builtSelection = buildSelectionForNode$g(source, reader, field, sel, variables, fragments);
44934
+ const builtSelection = buildSelectionForNode$h(source, reader, field, sel, variables, fragments);
46665
44935
  if (builtSelection !== undefined) {
46666
44936
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
46667
44937
  Object.keys(builtSelection).forEach((key, value) => {
@@ -46948,81 +45218,18 @@ function selectType$f(typename, sel, fieldData, reader, key, sink, variables, fr
46948
45218
  }
46949
45219
  return sink;
46950
45220
  }
46951
- function buildSelectionForField$f(source, reader, sel, variables, fragments) {
46952
- const sink = {};
46953
- const fieldData = getFieldData$f(source, sel, variables);
46954
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
46955
- if (requestedFieldName === 'pageInfo')
46956
- return;
46957
- reader.enterPath(requestedFieldName);
46958
- if (fieldData === undefined) {
46959
- reader.markMissing();
46960
- reader.exitPath();
46961
- return;
46962
- }
46963
- if (fieldData === null) {
46964
- reader.assignScalar(requestedFieldName, sink, fieldData);
46965
- return sink;
46966
- }
46967
- const fieldType = getFieldType$z(sel);
46968
- if (fieldType === undefined) {
46969
- // This field's type is unknown to us. This breaks normalization.
46970
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
46971
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
46972
- }
46973
- else if (fieldType.isArray) {
46974
- const arraySink = [];
46975
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
46976
- reader.enterPath(i);
46977
- selectType$f(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
46978
- reader.exitPath();
46979
- }
46980
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
46981
- }
46982
- else {
46983
- selectType$f(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
46984
- }
46985
- reader.exitPath();
46986
- return sink;
45221
+ function buildSelectionForField$g(source, reader, sel, variables, fragments) {
45222
+ return buildSelectionForField(source, reader, sel, variables, fragments, true, getFieldData$f, getFieldType$z, selectType$f);
46987
45223
  }
46988
- function buildSelectionForNode$f(source, reader, parentNode, selectionNode, variables, fragments) {
46989
- const sink = {};
46990
- if (selectionNode.directives) {
46991
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
46992
- if (selectionWithDirectives === undefined) {
46993
- return;
46994
- }
46995
- selectionNode = selectionWithDirectives;
46996
- }
46997
- if (selectionNode.kind === "InlineFragment") {
46998
- if (isFragmentApplicable$g(selectionNode, source.data.__typename)) {
46999
- // Get selections out of the inline fragment
47000
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
47001
- // Call into field handling with selections
47002
- Object.assign(sink, buildSelectionForNode$f(source, reader, parentNode, fragmentSelection, variables, fragments));
47003
- });
47004
- }
47005
- }
47006
- if (selectionNode.kind === "FragmentSpread") {
47007
- const namedFragment = fragments[selectionNode.name.value];
47008
- if (namedFragment && isFragmentApplicable$g(namedFragment, source.data.__typename)) {
47009
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
47010
- // Call into field handling with selections
47011
- Object.assign(sink, buildSelectionForNode$f(source, reader, parentNode, fragmentSelection, variables, fragments));
47012
- });
47013
- }
47014
- }
47015
- if (selectionNode.kind === "Field") {
47016
- Object.assign(sink, buildSelectionForField$f(source, reader, selectionNode, variables, fragments));
47017
- }
47018
- return sink;
45224
+ function buildSelectionForNode$g(source, reader, parentNode, selectionNode, variables, fragments) {
45225
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$g, buildSelectionForField$g);
47019
45226
  }
47020
45227
  function select$o(field, variables, fragments) {
47021
45228
  return (source, reader) => {
47022
45229
  var _a;
47023
45230
  const sink = {};
47024
45231
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
47025
- const builtSelection = buildSelectionForNode$f(source, reader, field, sel, variables, fragments);
45232
+ const builtSelection = buildSelectionForNode$g(source, reader, field, sel, variables, fragments);
47026
45233
  if (builtSelection !== undefined) {
47027
45234
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
47028
45235
  Object.keys(builtSelection).forEach((key, value) => {
@@ -47280,7 +45487,7 @@ function selectType$e(typename, sel, fieldData, reader, key, sink, variables, fr
47280
45487
  }
47281
45488
  else {
47282
45489
  trimmedEdges = trimEdges(source.edges, startOffset, endOffset);
47283
- maxOffset = !listIsComplete ? findMaxOffset(metadata) : Object.keys(metadata).length - 2;
45490
+ maxOffset = findMaxOffset(metadata);
47284
45491
  const listHasEnoughItems = (endOffset - 1 <= maxOffset);
47285
45492
  if (trimmedEdges === undefined || !listHasEnoughItems) {
47286
45493
  reader.markMissingLink(fieldData.__ref);
@@ -47318,79 +45525,18 @@ function selectType$e(typename, sel, fieldData, reader, key, sink, variables, fr
47318
45525
  }
47319
45526
  return sink;
47320
45527
  }
47321
- function buildSelectionForField$e(source, reader, sel, variables, fragments) {
47322
- const sink = {};
47323
- const fieldData = getFieldData$e(source, sel, variables);
47324
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
47325
- reader.enterPath(requestedFieldName);
47326
- if (fieldData === undefined) {
47327
- reader.markMissing();
47328
- reader.exitPath();
47329
- return;
47330
- }
47331
- if (fieldData === null) {
47332
- reader.assignScalar(requestedFieldName, sink, fieldData);
47333
- return sink;
47334
- }
47335
- const fieldType = getFieldType$y(sel);
47336
- if (fieldType === undefined) {
47337
- // This field's type is unknown to us. This breaks normalization.
47338
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
47339
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
47340
- }
47341
- else if (fieldType.isArray) {
47342
- const arraySink = [];
47343
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
47344
- reader.enterPath(i);
47345
- selectType$e(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
47346
- reader.exitPath();
47347
- }
47348
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
47349
- }
47350
- else {
47351
- selectType$e(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
47352
- }
47353
- reader.exitPath();
47354
- return sink;
45528
+ function buildSelectionForField$f(source, reader, sel, variables, fragments) {
45529
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$e, getFieldType$y, selectType$e);
47355
45530
  }
47356
- function buildSelectionForNode$e(source, reader, parentNode, selectionNode, variables, fragments) {
47357
- const sink = {};
47358
- if (selectionNode.directives) {
47359
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
47360
- if (selectionWithDirectives === undefined) {
47361
- return;
47362
- }
47363
- selectionNode = selectionWithDirectives;
47364
- }
47365
- if (selectionNode.kind === "InlineFragment") {
47366
- if (isFragmentApplicable$f(selectionNode, source.data.__typename)) {
47367
- // Get selections out of the inline fragment
47368
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
47369
- // Call into field handling with selections
47370
- Object.assign(sink, buildSelectionForNode$e(source, reader, parentNode, fragmentSelection, variables, fragments));
47371
- });
47372
- }
47373
- }
47374
- if (selectionNode.kind === "FragmentSpread") {
47375
- const namedFragment = fragments[selectionNode.name.value];
47376
- if (namedFragment && isFragmentApplicable$f(namedFragment, source.data.__typename)) {
47377
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
47378
- // Call into field handling with selections
47379
- Object.assign(sink, buildSelectionForNode$e(source, reader, parentNode, fragmentSelection, variables, fragments));
47380
- });
47381
- }
47382
- }
47383
- if (selectionNode.kind === "Field") {
47384
- Object.assign(sink, buildSelectionForField$e(source, reader, selectionNode, variables, fragments));
47385
- }
47386
- return sink;
45531
+ function buildSelectionForNode$f(source, reader, parentNode, selectionNode, variables, fragments) {
45532
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$f, buildSelectionForField$f);
47387
45533
  }
47388
45534
  function select$n(field, variables, fragments) {
47389
45535
  return (source, reader) => {
47390
45536
  var _a;
47391
45537
  const sink = {};
47392
45538
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
47393
- const builtSelection = buildSelectionForNode$e(source, reader, field, sel, variables, fragments);
45539
+ const builtSelection = buildSelectionForNode$f(source, reader, field, sel, variables, fragments);
47394
45540
  if (builtSelection !== undefined) {
47395
45541
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
47396
45542
  Object.keys(builtSelection).forEach((key, value) => {
@@ -47607,79 +45753,18 @@ function selectType$d(typename, sel, fieldData, reader, key, sink, variables, fr
47607
45753
  }
47608
45754
  return sink;
47609
45755
  }
47610
- function buildSelectionForField$d(source, reader, sel, variables, fragments) {
47611
- const sink = {};
47612
- const fieldData = getFieldData$d(source, sel, variables);
47613
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
47614
- reader.enterPath(requestedFieldName);
47615
- if (fieldData === undefined) {
47616
- reader.markMissing();
47617
- reader.exitPath();
47618
- return;
47619
- }
47620
- if (fieldData === null) {
47621
- reader.assignScalar(requestedFieldName, sink, fieldData);
47622
- return sink;
47623
- }
47624
- const fieldType = getFieldType$x(sel);
47625
- if (fieldType === undefined) {
47626
- // This field's type is unknown to us. This breaks normalization.
47627
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
47628
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
47629
- }
47630
- else if (fieldType.isArray) {
47631
- const arraySink = [];
47632
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
47633
- reader.enterPath(i);
47634
- selectType$d(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
47635
- reader.exitPath();
47636
- }
47637
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
47638
- }
47639
- else {
47640
- selectType$d(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
47641
- }
47642
- reader.exitPath();
47643
- return sink;
45756
+ function buildSelectionForField$e(source, reader, sel, variables, fragments) {
45757
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$d, getFieldType$x, selectType$d);
47644
45758
  }
47645
- function buildSelectionForNode$d(source, reader, parentNode, selectionNode, variables, fragments) {
47646
- const sink = {};
47647
- if (selectionNode.directives) {
47648
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
47649
- if (selectionWithDirectives === undefined) {
47650
- return;
47651
- }
47652
- selectionNode = selectionWithDirectives;
47653
- }
47654
- if (selectionNode.kind === "InlineFragment") {
47655
- if (isFragmentApplicable$e(selectionNode, source.data.__typename)) {
47656
- // Get selections out of the inline fragment
47657
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
47658
- // Call into field handling with selections
47659
- Object.assign(sink, buildSelectionForNode$d(source, reader, parentNode, fragmentSelection, variables, fragments));
47660
- });
47661
- }
47662
- }
47663
- if (selectionNode.kind === "FragmentSpread") {
47664
- const namedFragment = fragments[selectionNode.name.value];
47665
- if (namedFragment && isFragmentApplicable$e(namedFragment, source.data.__typename)) {
47666
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
47667
- // Call into field handling with selections
47668
- Object.assign(sink, buildSelectionForNode$d(source, reader, parentNode, fragmentSelection, variables, fragments));
47669
- });
47670
- }
47671
- }
47672
- if (selectionNode.kind === "Field") {
47673
- Object.assign(sink, buildSelectionForField$d(source, reader, selectionNode, variables, fragments));
47674
- }
47675
- return sink;
45759
+ function buildSelectionForNode$e(source, reader, parentNode, selectionNode, variables, fragments) {
45760
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$e, buildSelectionForField$e);
47676
45761
  }
47677
45762
  function select$m(field, variables, fragments) {
47678
45763
  return (source, reader) => {
47679
45764
  var _a;
47680
45765
  const sink = {};
47681
45766
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
47682
- const builtSelection = buildSelectionForNode$d(source, reader, field, sel, variables, fragments);
45767
+ const builtSelection = buildSelectionForNode$e(source, reader, field, sel, variables, fragments);
47683
45768
  if (builtSelection !== undefined) {
47684
45769
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
47685
45770
  Object.keys(builtSelection).forEach((key, value) => {
@@ -47890,79 +45975,18 @@ function selectType$c(typename, sel, fieldData, reader, key, sink, variables, fr
47890
45975
  }
47891
45976
  return sink;
47892
45977
  }
47893
- function buildSelectionForField$c(source, reader, sel, variables, fragments) {
47894
- const sink = {};
47895
- const fieldData = getFieldData$c(source, sel, variables);
47896
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
47897
- reader.enterPath(requestedFieldName);
47898
- if (fieldData === undefined) {
47899
- reader.markMissing();
47900
- reader.exitPath();
47901
- return;
47902
- }
47903
- if (fieldData === null) {
47904
- reader.assignScalar(requestedFieldName, sink, fieldData);
47905
- return sink;
47906
- }
47907
- const fieldType = getFieldType$w(sel);
47908
- if (fieldType === undefined) {
47909
- // This field's type is unknown to us. This breaks normalization.
47910
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
47911
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
47912
- }
47913
- else if (fieldType.isArray) {
47914
- const arraySink = [];
47915
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
47916
- reader.enterPath(i);
47917
- selectType$c(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
47918
- reader.exitPath();
47919
- }
47920
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
47921
- }
47922
- else {
47923
- selectType$c(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
47924
- }
47925
- reader.exitPath();
47926
- return sink;
45978
+ function buildSelectionForField$d(source, reader, sel, variables, fragments) {
45979
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$c, getFieldType$w, selectType$c);
47927
45980
  }
47928
- function buildSelectionForNode$c(source, reader, parentNode, selectionNode, variables, fragments) {
47929
- const sink = {};
47930
- if (selectionNode.directives) {
47931
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
47932
- if (selectionWithDirectives === undefined) {
47933
- return;
47934
- }
47935
- selectionNode = selectionWithDirectives;
47936
- }
47937
- if (selectionNode.kind === "InlineFragment") {
47938
- if (isFragmentApplicable$d(selectionNode, source.data.__typename)) {
47939
- // Get selections out of the inline fragment
47940
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
47941
- // Call into field handling with selections
47942
- Object.assign(sink, buildSelectionForNode$c(source, reader, parentNode, fragmentSelection, variables, fragments));
47943
- });
47944
- }
47945
- }
47946
- if (selectionNode.kind === "FragmentSpread") {
47947
- const namedFragment = fragments[selectionNode.name.value];
47948
- if (namedFragment && isFragmentApplicable$d(namedFragment, source.data.__typename)) {
47949
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
47950
- // Call into field handling with selections
47951
- Object.assign(sink, buildSelectionForNode$c(source, reader, parentNode, fragmentSelection, variables, fragments));
47952
- });
47953
- }
47954
- }
47955
- if (selectionNode.kind === "Field") {
47956
- Object.assign(sink, buildSelectionForField$c(source, reader, selectionNode, variables));
47957
- }
47958
- return sink;
45981
+ function buildSelectionForNode$d(source, reader, parentNode, selectionNode, variables, fragments) {
45982
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$d, buildSelectionForField$d);
47959
45983
  }
47960
45984
  function select$l(field, variables, fragments) {
47961
45985
  return (source, reader) => {
47962
45986
  var _a;
47963
45987
  const sink = {};
47964
45988
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
47965
- const builtSelection = buildSelectionForNode$c(source, reader, field, sel, variables, fragments);
45989
+ const builtSelection = buildSelectionForNode$d(source, reader, field, sel, variables, fragments);
47966
45990
  if (builtSelection !== undefined) {
47967
45991
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
47968
45992
  Object.keys(builtSelection).forEach((key, value) => {
@@ -48112,79 +46136,18 @@ function selectType$b(typename, sel, fieldData, reader, key, sink, variables, fr
48112
46136
  }
48113
46137
  return sink;
48114
46138
  }
48115
- function buildSelectionForField$b(source, reader, sel, variables, fragments) {
48116
- const sink = {};
48117
- const fieldData = getFieldData$b(source, sel, variables);
48118
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
48119
- reader.enterPath(requestedFieldName);
48120
- if (fieldData === undefined) {
48121
- reader.markMissing();
48122
- reader.exitPath();
48123
- return;
48124
- }
48125
- if (fieldData === null) {
48126
- reader.assignScalar(requestedFieldName, sink, fieldData);
48127
- return sink;
48128
- }
48129
- const fieldType = getFieldType$v(sel);
48130
- if (fieldType === undefined) {
48131
- // This field's type is unknown to us. This breaks normalization.
48132
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
48133
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
48134
- }
48135
- else if (fieldType.isArray) {
48136
- const arraySink = [];
48137
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
48138
- reader.enterPath(i);
48139
- selectType$b(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
48140
- reader.exitPath();
48141
- }
48142
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
48143
- }
48144
- else {
48145
- selectType$b(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
48146
- }
48147
- reader.exitPath();
48148
- return sink;
46139
+ function buildSelectionForField$c(source, reader, sel, variables, fragments) {
46140
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$b, getFieldType$v, selectType$b);
48149
46141
  }
48150
- function buildSelectionForNode$b(source, reader, parentNode, selectionNode, variables, fragments) {
48151
- const sink = {};
48152
- if (selectionNode.directives) {
48153
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
48154
- if (selectionWithDirectives === undefined) {
48155
- return;
48156
- }
48157
- selectionNode = selectionWithDirectives;
48158
- }
48159
- if (selectionNode.kind === "InlineFragment") {
48160
- if (isFragmentApplicable$c(selectionNode, source.data.__typename)) {
48161
- // Get selections out of the inline fragment
48162
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
48163
- // Call into field handling with selections
48164
- Object.assign(sink, buildSelectionForNode$b(source, reader, parentNode, fragmentSelection, variables, fragments));
48165
- });
48166
- }
48167
- }
48168
- if (selectionNode.kind === "FragmentSpread") {
48169
- const namedFragment = fragments[selectionNode.name.value];
48170
- if (namedFragment && isFragmentApplicable$c(namedFragment, source.data.__typename)) {
48171
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
48172
- // Call into field handling with selections
48173
- Object.assign(sink, buildSelectionForNode$b(source, reader, parentNode, fragmentSelection, variables, fragments));
48174
- });
48175
- }
48176
- }
48177
- if (selectionNode.kind === "Field") {
48178
- Object.assign(sink, buildSelectionForField$b(source, reader, selectionNode, variables));
48179
- }
48180
- return sink;
46142
+ function buildSelectionForNode$c(source, reader, parentNode, selectionNode, variables, fragments) {
46143
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$c, buildSelectionForField$c);
48181
46144
  }
48182
46145
  function select$k(field, variables, fragments) {
48183
46146
  return (source, reader) => {
48184
46147
  var _a;
48185
46148
  const sink = {};
48186
46149
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
48187
- const builtSelection = buildSelectionForNode$b(source, reader, field, sel, variables, fragments);
46150
+ const builtSelection = buildSelectionForNode$c(source, reader, field, sel, variables, fragments);
48188
46151
  if (builtSelection !== undefined) {
48189
46152
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
48190
46153
  Object.keys(builtSelection).forEach((key, value) => {
@@ -48362,79 +46325,18 @@ function selectType$a(typename, sel, fieldData, reader, key, sink, variables, fr
48362
46325
  }
48363
46326
  return sink;
48364
46327
  }
48365
- function buildSelectionForField$a(source, reader, sel, variables, fragments) {
48366
- const sink = {};
48367
- const fieldData = getFieldData$a(source, sel, variables);
48368
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
48369
- reader.enterPath(requestedFieldName);
48370
- if (fieldData === undefined) {
48371
- reader.markMissing();
48372
- reader.exitPath();
48373
- return;
48374
- }
48375
- if (fieldData === null) {
48376
- reader.assignScalar(requestedFieldName, sink, fieldData);
48377
- return sink;
48378
- }
48379
- const fieldType = getFieldType$u(sel);
48380
- if (fieldType === undefined) {
48381
- // This field's type is unknown to us. This breaks normalization.
48382
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
48383
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
48384
- }
48385
- else if (fieldType.isArray) {
48386
- const arraySink = [];
48387
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
48388
- reader.enterPath(i);
48389
- selectType$a(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
48390
- reader.exitPath();
48391
- }
48392
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
48393
- }
48394
- else {
48395
- selectType$a(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
48396
- }
48397
- reader.exitPath();
48398
- return sink;
46328
+ function buildSelectionForField$b(source, reader, sel, variables, fragments) {
46329
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$a, getFieldType$u, selectType$a);
48399
46330
  }
48400
- function buildSelectionForNode$a(source, reader, parentNode, selectionNode, variables, fragments) {
48401
- const sink = {};
48402
- if (selectionNode.directives) {
48403
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
48404
- if (selectionWithDirectives === undefined) {
48405
- return;
48406
- }
48407
- selectionNode = selectionWithDirectives;
48408
- }
48409
- if (selectionNode.kind === "InlineFragment") {
48410
- if (isFragmentApplicable$b(selectionNode, source.data.__typename)) {
48411
- // Get selections out of the inline fragment
48412
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
48413
- // Call into field handling with selections
48414
- Object.assign(sink, buildSelectionForNode$a(source, reader, parentNode, fragmentSelection, variables, fragments));
48415
- });
48416
- }
48417
- }
48418
- if (selectionNode.kind === "FragmentSpread") {
48419
- const namedFragment = fragments[selectionNode.name.value];
48420
- if (namedFragment && isFragmentApplicable$b(namedFragment, source.data.__typename)) {
48421
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
48422
- // Call into field handling with selections
48423
- Object.assign(sink, buildSelectionForNode$a(source, reader, parentNode, fragmentSelection, variables, fragments));
48424
- });
48425
- }
48426
- }
48427
- if (selectionNode.kind === "Field") {
48428
- Object.assign(sink, buildSelectionForField$a(source, reader, selectionNode, variables, fragments));
48429
- }
48430
- return sink;
46331
+ function buildSelectionForNode$b(source, reader, parentNode, selectionNode, variables, fragments) {
46332
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$b, buildSelectionForField$b);
48431
46333
  }
48432
46334
  function select$j(field, variables, fragments) {
48433
46335
  return (source, reader) => {
48434
46336
  var _a;
48435
46337
  const sink = {};
48436
46338
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
48437
- const builtSelection = buildSelectionForNode$a(source, reader, field, sel, variables, fragments);
46339
+ const builtSelection = buildSelectionForNode$b(source, reader, field, sel, variables, fragments);
48438
46340
  if (builtSelection !== undefined) {
48439
46341
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
48440
46342
  Object.keys(builtSelection).forEach((key, value) => {
@@ -48687,79 +46589,18 @@ function selectType$9(typename, sel, fieldData, reader, key, sink, variables, fr
48687
46589
  }
48688
46590
  return sink;
48689
46591
  }
48690
- function buildSelectionForField$9(source, reader, sel, variables, fragments) {
48691
- const sink = {};
48692
- const fieldData = getFieldData$9(source, sel, variables);
48693
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
48694
- reader.enterPath(requestedFieldName);
48695
- if (fieldData === undefined) {
48696
- reader.markMissing();
48697
- reader.exitPath();
48698
- return;
48699
- }
48700
- if (fieldData === null) {
48701
- reader.assignScalar(requestedFieldName, sink, fieldData);
48702
- return sink;
48703
- }
48704
- const fieldType = getFieldType$t(sel);
48705
- if (fieldType === undefined) {
48706
- // This field's type is unknown to us. This breaks normalization.
48707
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
48708
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
48709
- }
48710
- else if (fieldType.isArray) {
48711
- const arraySink = [];
48712
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
48713
- reader.enterPath(i);
48714
- selectType$9(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
48715
- reader.exitPath();
48716
- }
48717
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
48718
- }
48719
- else {
48720
- selectType$9(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
48721
- }
48722
- reader.exitPath();
48723
- return sink;
46592
+ function buildSelectionForField$a(source, reader, sel, variables, fragments) {
46593
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$9, getFieldType$t, selectType$9);
48724
46594
  }
48725
- function buildSelectionForNode$9(source, reader, parentNode, selectionNode, variables, fragments) {
48726
- const sink = {};
48727
- if (selectionNode.directives) {
48728
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
48729
- if (selectionWithDirectives === undefined) {
48730
- return;
48731
- }
48732
- selectionNode = selectionWithDirectives;
48733
- }
48734
- if (selectionNode.kind === "InlineFragment") {
48735
- if (isFragmentApplicable$a(selectionNode, source.data.__typename)) {
48736
- // Get selections out of the inline fragment
48737
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
48738
- // Call into field handling with selections
48739
- Object.assign(sink, buildSelectionForNode$9(source, reader, parentNode, fragmentSelection, variables, fragments));
48740
- });
48741
- }
48742
- }
48743
- if (selectionNode.kind === "FragmentSpread") {
48744
- const namedFragment = fragments[selectionNode.name.value];
48745
- if (namedFragment && isFragmentApplicable$a(namedFragment, source.data.__typename)) {
48746
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
48747
- // Call into field handling with selections
48748
- Object.assign(sink, buildSelectionForNode$9(source, reader, parentNode, fragmentSelection, variables, fragments));
48749
- });
48750
- }
48751
- }
48752
- if (selectionNode.kind === "Field") {
48753
- Object.assign(sink, buildSelectionForField$9(source, reader, selectionNode, variables, fragments));
48754
- }
48755
- return sink;
46595
+ function buildSelectionForNode$a(source, reader, parentNode, selectionNode, variables, fragments) {
46596
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$a, buildSelectionForField$a);
48756
46597
  }
48757
46598
  function select$i(field, variables, fragments) {
48758
46599
  return (source, reader) => {
48759
46600
  var _a;
48760
46601
  const sink = {};
48761
46602
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
48762
- const builtSelection = buildSelectionForNode$9(source, reader, field, sel, variables, fragments);
46603
+ const builtSelection = buildSelectionForNode$a(source, reader, field, sel, variables, fragments);
48763
46604
  if (builtSelection !== undefined) {
48764
46605
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
48765
46606
  Object.keys(builtSelection).forEach((key, value) => {
@@ -49162,79 +47003,18 @@ function selectType$8(typename, sel, fieldData, reader, key, sink, variables, fr
49162
47003
  }
49163
47004
  return sink;
49164
47005
  }
49165
- function buildSelectionForField$8(source, reader, sel, variables, fragments) {
49166
- const sink = {};
49167
- const fieldData = getFieldData$8(source, sel, variables);
49168
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
49169
- reader.enterPath(requestedFieldName);
49170
- if (fieldData === undefined) {
49171
- reader.markMissing();
49172
- reader.exitPath();
49173
- return;
49174
- }
49175
- if (fieldData === null) {
49176
- reader.assignScalar(requestedFieldName, sink, fieldData);
49177
- return sink;
49178
- }
49179
- const fieldType = getFieldType$s(sel);
49180
- if (fieldType === undefined) {
49181
- // This field's type is unknown to us. This breaks normalization.
49182
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
49183
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
49184
- }
49185
- else if (fieldType.isArray) {
49186
- const arraySink = [];
49187
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
49188
- reader.enterPath(i);
49189
- selectType$8(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
49190
- reader.exitPath();
49191
- }
49192
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
49193
- }
49194
- else {
49195
- selectType$8(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
49196
- }
49197
- reader.exitPath();
49198
- return sink;
47006
+ function buildSelectionForField$9(source, reader, sel, variables, fragments) {
47007
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$8, getFieldType$s, selectType$8);
49199
47008
  }
49200
- function buildSelectionForNode$8(source, reader, parentNode, selectionNode, variables, fragments) {
49201
- const sink = {};
49202
- if (selectionNode.directives) {
49203
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
49204
- if (selectionWithDirectives === undefined) {
49205
- return;
49206
- }
49207
- selectionNode = selectionWithDirectives;
49208
- }
49209
- if (selectionNode.kind === "InlineFragment") {
49210
- if (isFragmentApplicable$9(selectionNode, source.data.__typename)) {
49211
- // Get selections out of the inline fragment
49212
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
49213
- // Call into field handling with selections
49214
- Object.assign(sink, buildSelectionForNode$8(source, reader, parentNode, fragmentSelection, variables, fragments));
49215
- });
49216
- }
49217
- }
49218
- if (selectionNode.kind === "FragmentSpread") {
49219
- const namedFragment = fragments[selectionNode.name.value];
49220
- if (namedFragment && isFragmentApplicable$9(namedFragment, source.data.__typename)) {
49221
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
49222
- // Call into field handling with selections
49223
- Object.assign(sink, buildSelectionForNode$8(source, reader, parentNode, fragmentSelection, variables, fragments));
49224
- });
49225
- }
49226
- }
49227
- if (selectionNode.kind === "Field") {
49228
- Object.assign(sink, buildSelectionForField$8(source, reader, selectionNode, variables));
49229
- }
49230
- return sink;
47009
+ function buildSelectionForNode$9(source, reader, parentNode, selectionNode, variables, fragments) {
47010
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$9, buildSelectionForField$9);
49231
47011
  }
49232
47012
  function select$h(field, variables, fragments) {
49233
47013
  return (source, reader) => {
49234
47014
  var _a;
49235
47015
  const sink = {};
49236
47016
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
49237
- const builtSelection = buildSelectionForNode$8(source, reader, field, sel, variables, fragments);
47017
+ const builtSelection = buildSelectionForNode$9(source, reader, field, sel, variables, fragments);
49238
47018
  if (builtSelection !== undefined) {
49239
47019
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
49240
47020
  Object.keys(builtSelection).forEach((key, value) => {
@@ -49406,79 +47186,18 @@ function selectType$7(typename, sel, fieldData, reader, key, sink, variables, fr
49406
47186
  }
49407
47187
  return sink;
49408
47188
  }
49409
- function buildSelectionForField$7(source, reader, sel, variables, fragments) {
49410
- const sink = {};
49411
- const fieldData = getFieldData$7(source, sel, variables);
49412
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
49413
- reader.enterPath(requestedFieldName);
49414
- if (fieldData === undefined) {
49415
- reader.markMissing();
49416
- reader.exitPath();
49417
- return;
49418
- }
49419
- if (fieldData === null) {
49420
- reader.assignScalar(requestedFieldName, sink, fieldData);
49421
- return sink;
49422
- }
49423
- const fieldType = getFieldType$r(sel);
49424
- if (fieldType === undefined) {
49425
- // This field's type is unknown to us. This breaks normalization.
49426
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
49427
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
49428
- }
49429
- else if (fieldType.isArray) {
49430
- const arraySink = [];
49431
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
49432
- reader.enterPath(i);
49433
- selectType$7(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
49434
- reader.exitPath();
49435
- }
49436
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
49437
- }
49438
- else {
49439
- selectType$7(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
49440
- }
49441
- reader.exitPath();
49442
- return sink;
47189
+ function buildSelectionForField$8(source, reader, sel, variables, fragments) {
47190
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$7, getFieldType$r, selectType$7);
49443
47191
  }
49444
- function buildSelectionForNode$7(source, reader, parentNode, selectionNode, variables, fragments) {
49445
- const sink = {};
49446
- if (selectionNode.directives) {
49447
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
49448
- if (selectionWithDirectives === undefined) {
49449
- return;
49450
- }
49451
- selectionNode = selectionWithDirectives;
49452
- }
49453
- if (selectionNode.kind === "InlineFragment") {
49454
- if (isFragmentApplicable$8(selectionNode, source.data.__typename)) {
49455
- // Get selections out of the inline fragment
49456
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
49457
- // Call into field handling with selections
49458
- Object.assign(sink, buildSelectionForNode$7(source, reader, parentNode, fragmentSelection, variables, fragments));
49459
- });
49460
- }
49461
- }
49462
- if (selectionNode.kind === "FragmentSpread") {
49463
- const namedFragment = fragments[selectionNode.name.value];
49464
- if (namedFragment && isFragmentApplicable$8(namedFragment, source.data.__typename)) {
49465
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
49466
- // Call into field handling with selections
49467
- Object.assign(sink, buildSelectionForNode$7(source, reader, parentNode, fragmentSelection, variables, fragments));
49468
- });
49469
- }
49470
- }
49471
- if (selectionNode.kind === "Field") {
49472
- Object.assign(sink, buildSelectionForField$7(source, reader, selectionNode, variables));
49473
- }
49474
- return sink;
47192
+ function buildSelectionForNode$8(source, reader, parentNode, selectionNode, variables, fragments) {
47193
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$8, buildSelectionForField$8);
49475
47194
  }
49476
47195
  function select$g(field, variables, fragments) {
49477
47196
  return (source, reader) => {
49478
47197
  var _a;
49479
47198
  const sink = {};
49480
47199
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
49481
- const builtSelection = buildSelectionForNode$7(source, reader, field, sel, variables, fragments);
47200
+ const builtSelection = buildSelectionForNode$8(source, reader, field, sel, variables, fragments);
49482
47201
  if (builtSelection !== undefined) {
49483
47202
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
49484
47203
  Object.keys(builtSelection).forEach((key, value) => {
@@ -49743,79 +47462,18 @@ function selectType$6(typename, sel, fieldData, reader, key, sink, variables, fr
49743
47462
  }
49744
47463
  return sink;
49745
47464
  }
49746
- function buildSelectionForField$6(source, reader, sel, variables, fragments) {
49747
- const sink = {};
49748
- const fieldData = getFieldData$6(source, sel, variables);
49749
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
49750
- reader.enterPath(requestedFieldName);
49751
- if (fieldData === undefined) {
49752
- reader.markMissing();
49753
- reader.exitPath();
49754
- return;
49755
- }
49756
- if (fieldData === null) {
49757
- reader.assignScalar(requestedFieldName, sink, fieldData);
49758
- return sink;
49759
- }
49760
- const fieldType = getFieldType$q(sel);
49761
- if (fieldType === undefined) {
49762
- // This field's type is unknown to us. This breaks normalization.
49763
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
49764
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
49765
- }
49766
- else if (fieldType.isArray) {
49767
- const arraySink = [];
49768
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
49769
- reader.enterPath(i);
49770
- selectType$6(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
49771
- reader.exitPath();
49772
- }
49773
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
49774
- }
49775
- else {
49776
- selectType$6(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
49777
- }
49778
- reader.exitPath();
49779
- return sink;
47465
+ function buildSelectionForField$7(source, reader, sel, variables, fragments) {
47466
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$6, getFieldType$q, selectType$6);
49780
47467
  }
49781
- function buildSelectionForNode$6(source, reader, parentNode, selectionNode, variables, fragments) {
49782
- const sink = {};
49783
- if (selectionNode.directives) {
49784
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
49785
- if (selectionWithDirectives === undefined) {
49786
- return;
49787
- }
49788
- selectionNode = selectionWithDirectives;
49789
- }
49790
- if (selectionNode.kind === "InlineFragment") {
49791
- if (isFragmentApplicable$7(selectionNode, source.data.__typename)) {
49792
- // Get selections out of the inline fragment
49793
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
49794
- // Call into field handling with selections
49795
- Object.assign(sink, buildSelectionForNode$6(source, reader, parentNode, fragmentSelection, variables, fragments));
49796
- });
49797
- }
49798
- }
49799
- if (selectionNode.kind === "FragmentSpread") {
49800
- const namedFragment = fragments[selectionNode.name.value];
49801
- if (namedFragment && isFragmentApplicable$7(namedFragment, source.data.__typename)) {
49802
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
49803
- // Call into field handling with selections
49804
- Object.assign(sink, buildSelectionForNode$6(source, reader, parentNode, fragmentSelection, variables, fragments));
49805
- });
49806
- }
49807
- }
49808
- if (selectionNode.kind === "Field") {
49809
- Object.assign(sink, buildSelectionForField$6(source, reader, selectionNode, variables, fragments));
49810
- }
49811
- return sink;
47468
+ function buildSelectionForNode$7(source, reader, parentNode, selectionNode, variables, fragments) {
47469
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$7, buildSelectionForField$7);
49812
47470
  }
49813
47471
  function select$f(field, variables, fragments) {
49814
47472
  return (source, reader) => {
49815
47473
  var _a;
49816
47474
  const sink = {};
49817
47475
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
49818
- const builtSelection = buildSelectionForNode$6(source, reader, field, sel, variables, fragments);
47476
+ const builtSelection = buildSelectionForNode$7(source, reader, field, sel, variables, fragments);
49819
47477
  if (builtSelection !== undefined) {
49820
47478
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
49821
47479
  Object.keys(builtSelection).forEach((key, value) => {
@@ -50242,79 +47900,18 @@ function selectType$5(typename, sel, fieldData, reader, key, sink, variables, fr
50242
47900
  }
50243
47901
  return sink;
50244
47902
  }
50245
- function buildSelectionForField$5(source, reader, sel, variables, fragments) {
50246
- const sink = {};
50247
- const fieldData = getFieldData$5(source, sel, variables);
50248
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
50249
- reader.enterPath(requestedFieldName);
50250
- if (fieldData === undefined) {
50251
- reader.markMissing();
50252
- reader.exitPath();
50253
- return;
50254
- }
50255
- if (fieldData === null) {
50256
- reader.assignScalar(requestedFieldName, sink, fieldData);
50257
- return sink;
50258
- }
50259
- const fieldType = getFieldType$p(sel);
50260
- if (fieldType === undefined) {
50261
- // This field's type is unknown to us. This breaks normalization.
50262
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
50263
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
50264
- }
50265
- else if (fieldType.isArray) {
50266
- const arraySink = [];
50267
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
50268
- reader.enterPath(i);
50269
- selectType$5(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
50270
- reader.exitPath();
50271
- }
50272
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
50273
- }
50274
- else {
50275
- selectType$5(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
50276
- }
50277
- reader.exitPath();
50278
- return sink;
47903
+ function buildSelectionForField$6(source, reader, sel, variables, fragments) {
47904
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$5, getFieldType$p, selectType$5);
50279
47905
  }
50280
- function buildSelectionForNode$5(source, reader, parentNode, selectionNode, variables, fragments) {
50281
- const sink = {};
50282
- if (selectionNode.directives) {
50283
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
50284
- if (selectionWithDirectives === undefined) {
50285
- return;
50286
- }
50287
- selectionNode = selectionWithDirectives;
50288
- }
50289
- if (selectionNode.kind === "InlineFragment") {
50290
- if (isFragmentApplicable$6(selectionNode, source.data.__typename)) {
50291
- // Get selections out of the inline fragment
50292
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
50293
- // Call into field handling with selections
50294
- Object.assign(sink, buildSelectionForNode$5(source, reader, parentNode, fragmentSelection, variables, fragments));
50295
- });
50296
- }
50297
- }
50298
- if (selectionNode.kind === "FragmentSpread") {
50299
- const namedFragment = fragments[selectionNode.name.value];
50300
- if (namedFragment && isFragmentApplicable$6(namedFragment, source.data.__typename)) {
50301
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
50302
- // Call into field handling with selections
50303
- Object.assign(sink, buildSelectionForNode$5(source, reader, parentNode, fragmentSelection, variables, fragments));
50304
- });
50305
- }
50306
- }
50307
- if (selectionNode.kind === "Field") {
50308
- Object.assign(sink, buildSelectionForField$5(source, reader, selectionNode, variables));
50309
- }
50310
- return sink;
47906
+ function buildSelectionForNode$6(source, reader, parentNode, selectionNode, variables, fragments) {
47907
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$6, buildSelectionForField$6);
50311
47908
  }
50312
47909
  function select$e(field, variables, fragments) {
50313
47910
  return (source, reader) => {
50314
47911
  var _a;
50315
47912
  const sink = {};
50316
47913
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
50317
- const builtSelection = buildSelectionForNode$5(source, reader, field, sel, variables, fragments);
47914
+ const builtSelection = buildSelectionForNode$6(source, reader, field, sel, variables, fragments);
50318
47915
  if (builtSelection !== undefined) {
50319
47916
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
50320
47917
  Object.keys(builtSelection).forEach((key, value) => {
@@ -50480,79 +48077,18 @@ function selectType$4(typename, sel, fieldData, reader, key, sink, variables, fr
50480
48077
  }
50481
48078
  return sink;
50482
48079
  }
50483
- function buildSelectionForField$4(source, reader, sel, variables, fragments) {
50484
- const sink = {};
50485
- const fieldData = getFieldData$4(source, sel, variables);
50486
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
50487
- reader.enterPath(requestedFieldName);
50488
- if (fieldData === undefined) {
50489
- reader.markMissing();
50490
- reader.exitPath();
50491
- return;
50492
- }
50493
- if (fieldData === null) {
50494
- reader.assignScalar(requestedFieldName, sink, fieldData);
50495
- return sink;
50496
- }
50497
- const fieldType = getFieldType$o(sel);
50498
- if (fieldType === undefined) {
50499
- // This field's type is unknown to us. This breaks normalization.
50500
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
50501
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
50502
- }
50503
- else if (fieldType.isArray) {
50504
- const arraySink = [];
50505
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
50506
- reader.enterPath(i);
50507
- selectType$4(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
50508
- reader.exitPath();
50509
- }
50510
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
50511
- }
50512
- else {
50513
- selectType$4(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
50514
- }
50515
- reader.exitPath();
50516
- return sink;
48080
+ function buildSelectionForField$5(source, reader, sel, variables, fragments) {
48081
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$4, getFieldType$o, selectType$4);
50517
48082
  }
50518
- function buildSelectionForNode$4(source, reader, parentNode, selectionNode, variables, fragments) {
50519
- const sink = {};
50520
- if (selectionNode.directives) {
50521
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
50522
- if (selectionWithDirectives === undefined) {
50523
- return;
50524
- }
50525
- selectionNode = selectionWithDirectives;
50526
- }
50527
- if (selectionNode.kind === "InlineFragment") {
50528
- if (isFragmentApplicable$5(selectionNode, source.data.__typename)) {
50529
- // Get selections out of the inline fragment
50530
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
50531
- // Call into field handling with selections
50532
- Object.assign(sink, buildSelectionForNode$4(source, reader, parentNode, fragmentSelection, variables, fragments));
50533
- });
50534
- }
50535
- }
50536
- if (selectionNode.kind === "FragmentSpread") {
50537
- const namedFragment = fragments[selectionNode.name.value];
50538
- if (namedFragment && isFragmentApplicable$5(namedFragment, source.data.__typename)) {
50539
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
50540
- // Call into field handling with selections
50541
- Object.assign(sink, buildSelectionForNode$4(source, reader, parentNode, fragmentSelection, variables, fragments));
50542
- });
50543
- }
50544
- }
50545
- if (selectionNode.kind === "Field") {
50546
- Object.assign(sink, buildSelectionForField$4(source, reader, selectionNode, variables));
50547
- }
50548
- return sink;
48083
+ function buildSelectionForNode$5(source, reader, parentNode, selectionNode, variables, fragments) {
48084
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$5, buildSelectionForField$5);
50549
48085
  }
50550
48086
  function select$d(field, variables, fragments) {
50551
48087
  return (source, reader) => {
50552
48088
  var _a;
50553
48089
  const sink = {};
50554
48090
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
50555
- const builtSelection = buildSelectionForNode$4(source, reader, field, sel, variables, fragments);
48091
+ const builtSelection = buildSelectionForNode$5(source, reader, field, sel, variables, fragments);
50556
48092
  if (builtSelection !== undefined) {
50557
48093
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
50558
48094
  Object.keys(builtSelection).forEach((key, value) => {
@@ -50747,79 +48283,18 @@ function selectType$3(typename, sel, fieldData, reader, key, sink, variables, fr
50747
48283
  }
50748
48284
  return sink;
50749
48285
  }
50750
- function buildSelectionForField$3(source, reader, sel, variables, fragments) {
50751
- const sink = {};
50752
- const fieldData = getFieldData$3(source, sel, variables);
50753
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
50754
- reader.enterPath(requestedFieldName);
50755
- if (fieldData === undefined) {
50756
- reader.markMissing();
50757
- reader.exitPath();
50758
- return;
50759
- }
50760
- if (fieldData === null) {
50761
- reader.assignScalar(requestedFieldName, sink, fieldData);
50762
- return sink;
50763
- }
50764
- const fieldType = getFieldType$n(sel);
50765
- if (fieldType === undefined) {
50766
- // This field's type is unknown to us. This breaks normalization.
50767
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
50768
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
50769
- }
50770
- else if (fieldType.isArray) {
50771
- const arraySink = [];
50772
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
50773
- reader.enterPath(i);
50774
- selectType$3(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
50775
- reader.exitPath();
50776
- }
50777
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
50778
- }
50779
- else {
50780
- selectType$3(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
50781
- }
50782
- reader.exitPath();
50783
- return sink;
48286
+ function buildSelectionForField$4(source, reader, sel, variables, fragments) {
48287
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$3, getFieldType$n, selectType$3);
50784
48288
  }
50785
- function buildSelectionForNode$3(source, reader, parentNode, selectionNode, variables, fragments) {
50786
- const sink = {};
50787
- if (selectionNode.directives) {
50788
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
50789
- if (selectionWithDirectives === undefined) {
50790
- return;
50791
- }
50792
- selectionNode = selectionWithDirectives;
50793
- }
50794
- if (selectionNode.kind === "InlineFragment") {
50795
- if (isFragmentApplicable$4(selectionNode, source.data.__typename)) {
50796
- // Get selections out of the inline fragment
50797
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
50798
- // Call into field handling with selections
50799
- Object.assign(sink, buildSelectionForNode$3(source, reader, parentNode, fragmentSelection, variables, fragments));
50800
- });
50801
- }
50802
- }
50803
- if (selectionNode.kind === "FragmentSpread") {
50804
- const namedFragment = fragments[selectionNode.name.value];
50805
- if (namedFragment && isFragmentApplicable$4(namedFragment, source.data.__typename)) {
50806
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
50807
- // Call into field handling with selections
50808
- Object.assign(sink, buildSelectionForNode$3(source, reader, parentNode, fragmentSelection, variables, fragments));
50809
- });
50810
- }
50811
- }
50812
- if (selectionNode.kind === "Field") {
50813
- Object.assign(sink, buildSelectionForField$3(source, reader, selectionNode, variables, fragments));
50814
- }
50815
- return sink;
48289
+ function buildSelectionForNode$4(source, reader, parentNode, selectionNode, variables, fragments) {
48290
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$4, buildSelectionForField$4);
50816
48291
  }
50817
48292
  function select$c(field, variables, fragments) {
50818
48293
  return (source, reader) => {
50819
48294
  var _a;
50820
48295
  const sink = {};
50821
48296
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
50822
- const builtSelection = buildSelectionForNode$3(source, reader, field, sel, variables, fragments);
48297
+ const builtSelection = buildSelectionForNode$4(source, reader, field, sel, variables, fragments);
50823
48298
  if (builtSelection !== undefined) {
50824
48299
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
50825
48300
  Object.keys(builtSelection).forEach((key, value) => {
@@ -51136,79 +48611,18 @@ function selectType$2(typename, sel, fieldData, reader, key, sink, variables, fr
51136
48611
  }
51137
48612
  return sink;
51138
48613
  }
51139
- function buildSelectionForField$2(source, reader, sel, variables, fragments) {
51140
- const sink = {};
51141
- const fieldData = getFieldData$2(source, sel, variables);
51142
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
51143
- reader.enterPath(requestedFieldName);
51144
- if (fieldData === undefined) {
51145
- reader.markMissing();
51146
- reader.exitPath();
51147
- return;
51148
- }
51149
- if (fieldData === null) {
51150
- reader.assignScalar(requestedFieldName, sink, fieldData);
51151
- return sink;
51152
- }
51153
- const fieldType = getFieldType$m(sel);
51154
- if (fieldType === undefined) {
51155
- // This field's type is unknown to us. This breaks normalization.
51156
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
51157
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
51158
- }
51159
- else if (fieldType.isArray) {
51160
- const arraySink = [];
51161
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
51162
- reader.enterPath(i);
51163
- selectType$2(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
51164
- reader.exitPath();
51165
- }
51166
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
51167
- }
51168
- else {
51169
- selectType$2(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
51170
- }
51171
- reader.exitPath();
51172
- return sink;
48614
+ function buildSelectionForField$3(source, reader, sel, variables, fragments) {
48615
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$2, getFieldType$m, selectType$2);
51173
48616
  }
51174
- function buildSelectionForNode$2(source, reader, parentNode, selectionNode, variables, fragments) {
51175
- const sink = {};
51176
- if (selectionNode.directives) {
51177
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
51178
- if (selectionWithDirectives === undefined) {
51179
- return;
51180
- }
51181
- selectionNode = selectionWithDirectives;
51182
- }
51183
- if (selectionNode.kind === "InlineFragment") {
51184
- if (isFragmentApplicable$3(selectionNode, source.data.__typename)) {
51185
- // Get selections out of the inline fragment
51186
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
51187
- // Call into field handling with selections
51188
- Object.assign(sink, buildSelectionForNode$2(source, reader, parentNode, fragmentSelection, variables, fragments));
51189
- });
51190
- }
51191
- }
51192
- if (selectionNode.kind === "FragmentSpread") {
51193
- const namedFragment = fragments[selectionNode.name.value];
51194
- if (namedFragment && isFragmentApplicable$3(namedFragment, source.data.__typename)) {
51195
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
51196
- // Call into field handling with selections
51197
- Object.assign(sink, buildSelectionForNode$2(source, reader, parentNode, fragmentSelection, variables, fragments));
51198
- });
51199
- }
51200
- }
51201
- if (selectionNode.kind === "Field") {
51202
- Object.assign(sink, buildSelectionForField$2(source, reader, selectionNode, variables, fragments));
51203
- }
51204
- return sink;
48617
+ function buildSelectionForNode$3(source, reader, parentNode, selectionNode, variables, fragments) {
48618
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$3, buildSelectionForField$3);
51205
48619
  }
51206
48620
  function select$b(field, variables, fragments) {
51207
48621
  return (source, reader) => {
51208
48622
  var _a;
51209
48623
  const sink = {};
51210
48624
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
51211
- const builtSelection = buildSelectionForNode$2(source, reader, field, sel, variables, fragments);
48625
+ const builtSelection = buildSelectionForNode$3(source, reader, field, sel, variables, fragments);
51212
48626
  if (builtSelection !== undefined) {
51213
48627
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
51214
48628
  Object.keys(builtSelection).forEach((key, value) => {
@@ -51465,79 +48879,18 @@ function selectType$1(typename, sel, fieldData, reader, key, sink, variables, fr
51465
48879
  }
51466
48880
  return sink;
51467
48881
  }
51468
- function buildSelectionForField$1(source, reader, sel, variables, fragments) {
51469
- const sink = {};
51470
- const fieldData = getFieldData$1(source, sel, variables);
51471
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
51472
- reader.enterPath(requestedFieldName);
51473
- if (fieldData === undefined) {
51474
- reader.markMissing();
51475
- reader.exitPath();
51476
- return;
51477
- }
51478
- if (fieldData === null) {
51479
- reader.assignScalar(requestedFieldName, sink, fieldData);
51480
- return sink;
51481
- }
51482
- const fieldType = getFieldType$l(sel);
51483
- if (fieldType === undefined) {
51484
- // This field's type is unknown to us. This breaks normalization.
51485
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
51486
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
51487
- }
51488
- else if (fieldType.isArray) {
51489
- const arraySink = [];
51490
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
51491
- reader.enterPath(i);
51492
- selectType$1(fieldType.typename, sel, fieldData[i], reader, i, arraySink);
51493
- reader.exitPath();
51494
- }
51495
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
51496
- }
51497
- else {
51498
- selectType$1(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink);
51499
- }
51500
- reader.exitPath();
51501
- return sink;
48882
+ function buildSelectionForField$2(source, reader, sel, variables, fragments) {
48883
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData$1, getFieldType$l, selectType$1);
51502
48884
  }
51503
- function buildSelectionForNode$1(source, reader, parentNode, selectionNode, variables, fragments) {
51504
- const sink = {};
51505
- if (selectionNode.directives) {
51506
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
51507
- if (selectionWithDirectives === undefined) {
51508
- return;
51509
- }
51510
- selectionNode = selectionWithDirectives;
51511
- }
51512
- if (selectionNode.kind === "InlineFragment") {
51513
- if (isFragmentApplicable$2(selectionNode, source.data.__typename)) {
51514
- // Get selections out of the inline fragment
51515
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
51516
- // Call into field handling with selections
51517
- Object.assign(sink, buildSelectionForNode$1(source, reader, parentNode, fragmentSelection, variables, fragments));
51518
- });
51519
- }
51520
- }
51521
- if (selectionNode.kind === "FragmentSpread") {
51522
- const namedFragment = fragments[selectionNode.name.value];
51523
- if (namedFragment && isFragmentApplicable$2(namedFragment, source.data.__typename)) {
51524
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
51525
- // Call into field handling with selections
51526
- Object.assign(sink, buildSelectionForNode$1(source, reader, parentNode, fragmentSelection, variables, fragments));
51527
- });
51528
- }
51529
- }
51530
- if (selectionNode.kind === "Field") {
51531
- Object.assign(sink, buildSelectionForField$1(source, reader, selectionNode, variables));
51532
- }
51533
- return sink;
48885
+ function buildSelectionForNode$2(source, reader, parentNode, selectionNode, variables, fragments) {
48886
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$2, buildSelectionForField$2);
51534
48887
  }
51535
48888
  function select$a(field, variables, fragments) {
51536
48889
  return (source, reader) => {
51537
48890
  var _a;
51538
48891
  const sink = {};
51539
48892
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
51540
- const builtSelection = buildSelectionForNode$1(source, reader, field, sel, variables, fragments);
48893
+ const builtSelection = buildSelectionForNode$2(source, reader, field, sel, variables, fragments);
51541
48894
  if (builtSelection !== undefined) {
51542
48895
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
51543
48896
  Object.keys(builtSelection).forEach((key, value) => {
@@ -51747,79 +49100,18 @@ function selectType(typename, sel, fieldData, reader, key, sink, variables, frag
51747
49100
  }
51748
49101
  return sink;
51749
49102
  }
51750
- function buildSelectionForField(source, reader, sel, variables, fragments) {
51751
- const sink = {};
51752
- const fieldData = getFieldData(source, sel, variables);
51753
- const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
51754
- reader.enterPath(requestedFieldName);
51755
- if (fieldData === undefined) {
51756
- reader.markMissing();
51757
- reader.exitPath();
51758
- return;
51759
- }
51760
- if (fieldData === null) {
51761
- reader.assignScalar(requestedFieldName, sink, fieldData);
51762
- return sink;
51763
- }
51764
- const fieldType = getFieldType$k(sel);
51765
- if (fieldType === undefined) {
51766
- // This field's type is unknown to us. This breaks normalization.
51767
- console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
51768
- reader.assignNonScalar(sink, requestedFieldName, fieldData);
51769
- }
51770
- else if (fieldType.isArray) {
51771
- const arraySink = [];
51772
- for (let i = 0, len = fieldData.length; i < len; i += 1) {
51773
- reader.enterPath(i);
51774
- selectType(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
51775
- reader.exitPath();
51776
- }
51777
- reader.assignNonScalar(sink, requestedFieldName, arraySink);
51778
- }
51779
- else {
51780
- selectType(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
51781
- }
51782
- reader.exitPath();
51783
- return sink;
49103
+ function buildSelectionForField$1(source, reader, sel, variables, fragments) {
49104
+ return buildSelectionForField(source, reader, sel, variables, fragments, false, getFieldData, getFieldType$k, selectType);
51784
49105
  }
51785
- function buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments) {
51786
- const sink = {};
51787
- if (selectionNode.directives) {
51788
- const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
51789
- if (selectionWithDirectives === undefined) {
51790
- return;
51791
- }
51792
- selectionNode = selectionWithDirectives;
51793
- }
51794
- if (selectionNode.kind === "InlineFragment") {
51795
- if (isFragmentApplicable$1(selectionNode, source.data.__typename)) {
51796
- // Get selections out of the inline fragment
51797
- selectionNode.selectionSet.selections.forEach(fragmentSelection => {
51798
- // Call into field handling with selections
51799
- Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments));
51800
- });
51801
- }
51802
- }
51803
- if (selectionNode.kind === "FragmentSpread") {
51804
- const namedFragment = fragments[selectionNode.name.value];
51805
- if (namedFragment && isFragmentApplicable$1(namedFragment, source.data.__typename)) {
51806
- namedFragment.selectionSet.selections.forEach(fragmentSelection => {
51807
- // Call into field handling with selections
51808
- Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments));
51809
- });
51810
- }
51811
- }
51812
- if (selectionNode.kind === "Field") {
51813
- Object.assign(sink, buildSelectionForField(source, reader, selectionNode, variables, fragments));
51814
- }
51815
- return sink;
49106
+ function buildSelectionForNode$1(source, reader, parentNode, selectionNode, variables, fragments) {
49107
+ return buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable$1, buildSelectionForField$1);
51816
49108
  }
51817
49109
  function select$9(field, variables, fragments) {
51818
49110
  return (source, reader) => {
51819
49111
  var _a;
51820
49112
  const sink = {};
51821
49113
  (_a = field.selectionSet) === null || _a === void 0 ? void 0 : _a.selections.forEach((sel) => {
51822
- const builtSelection = buildSelectionForNode(source, reader, field, sel, variables, fragments);
49114
+ const builtSelection = buildSelectionForNode$1(source, reader, field, sel, variables, fragments);
51823
49115
  if (builtSelection !== undefined) {
51824
49116
  if (sel.kind === "InlineFragment" || sel.kind === "FragmentSpread") {
51825
49117
  Object.keys(builtSelection).forEach((key, value) => {
@@ -53592,6 +50884,93 @@ function getInContextFragmentType(fragment, fragmentMap) {
53592
50884
  return sharedGetFragmentType(fragment, fragmentMap);
53593
50885
  }
53594
50886
 
50887
+ function applyToSelection$6(selection, directive, variables) {
50888
+ return selection;
50889
+ }
50890
+
50891
+ function applyToSelection$5(selection, directive, variables) {
50892
+ return selection;
50893
+ }
50894
+
50895
+ function applyToSelection$4(selection, directive, variables) {
50896
+ return selection;
50897
+ }
50898
+
50899
+ function applyToSelection$3(selection, directive, variables) {
50900
+ var _a;
50901
+ const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
50902
+ if (ifArg && ifArg.value) {
50903
+ if (ifArg.value.kind === "BooleanValue") {
50904
+ return ifArg.value.value ? selection : undefined;
50905
+ }
50906
+ if (ifArg.value.kind === "Variable") {
50907
+ return variables[ifArg.value.name.value] ? selection : undefined;
50908
+ }
50909
+ }
50910
+ return selection;
50911
+ }
50912
+
50913
+ function applyToSelection$2(selection, directive, variables) {
50914
+ var _a;
50915
+ const ifArg = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(argument => argument.name.value === "if");
50916
+ if (ifArg && ifArg.value) {
50917
+ if (ifArg.value.kind === "BooleanValue") {
50918
+ return ifArg.value.value ? undefined : selection;
50919
+ }
50920
+ if (ifArg.value.kind === "Variable") {
50921
+ return variables[ifArg.value.name.value] ? undefined : selection;
50922
+ }
50923
+ }
50924
+ return selection;
50925
+ }
50926
+
50927
+ function applyToSelection$1(selection, directive, variables) {
50928
+ return selection;
50929
+ }
50930
+
50931
+ function applyToSelection(selection, directive, variables) {
50932
+ return selection;
50933
+ }
50934
+
50935
+ function applyDirectivesForSelection(selection, variables) {
50936
+ let result = selection;
50937
+ if (selection && selection.directives) {
50938
+ // iterate through directives in order. Directives _can_ be stacked.
50939
+ for (var i = 0; i < selection.directives.length; i++) {
50940
+ const directive = selection.directives[i];
50941
+ switch (directive.name.value) {
50942
+ // Generate Case for each directive in the schema that supports SelectionNodes
50943
+ case ("generic"):
50944
+ result = applyToSelection$6(selection);
50945
+ break;
50946
+ case ("fieldCategory"):
50947
+ result = applyToSelection$5(selection);
50948
+ break;
50949
+ case ("category"):
50950
+ result = applyToSelection$4(selection);
50951
+ break;
50952
+ case ("include"):
50953
+ result = applyToSelection$3(selection, directive, variables);
50954
+ break;
50955
+ case ("skip"):
50956
+ result = applyToSelection$2(selection, directive, variables);
50957
+ break;
50958
+ case ("deprecated"):
50959
+ result = applyToSelection$1(selection);
50960
+ break;
50961
+ case ("specifiedBy"):
50962
+ result = applyToSelection(selection);
50963
+ break;
50964
+ }
50965
+ if (result === undefined) {
50966
+ // Selection was removed.
50967
+ break;
50968
+ }
50969
+ }
50970
+ }
50971
+ return result;
50972
+ }
50973
+
53595
50974
  function createLink(ref) {
53596
50975
  return {
53597
50976
  __ref: serializeStructuredKey(ref),
@@ -54356,6 +51735,76 @@ function isFragmentApplicable(fragmentNode, implementedInterfaces, graphqlTypeNa
54356
51735
  const doesImplementInterface = !isUntypedInlineFragment && implementedInterfaces.includes(fragmentNode.typeCondition.name.value);
54357
51736
  const typenameMatchesCondition = typename !== undefined && !isUntypedInlineFragment && typename === fragmentNode.typeCondition.name.value;
54358
51737
  return isUntypedInlineFragment || matchesTypeCondition || doesImplementInterface || typenameMatchesCondition;
51738
+ }
51739
+ function buildSelectionForNode(source, reader, parentNode, selectionNode, variables, fragments, isFragmentApplicable, buildSelectionForField) {
51740
+ const sink = {};
51741
+ if (selectionNode.directives) {
51742
+ const selectionWithDirectives = applyDirectivesForSelection(selectionNode, variables);
51743
+ if (selectionWithDirectives === undefined) {
51744
+ return;
51745
+ }
51746
+ selectionNode = selectionWithDirectives;
51747
+ }
51748
+ if (selectionNode.kind === "InlineFragment") {
51749
+ if (isFragmentApplicable(selectionNode, source.data.__typename)) {
51750
+ // Get selections out of the inline fragment
51751
+ selectionNode.selectionSet.selections.forEach(fragmentSelection => {
51752
+ // Call into field handling with selections
51753
+ Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments, isFragmentApplicable, buildSelectionForField));
51754
+ });
51755
+ }
51756
+ }
51757
+ if (selectionNode.kind === "FragmentSpread") {
51758
+ const namedFragment = fragments[selectionNode.name.value];
51759
+ if (namedFragment && isFragmentApplicable(namedFragment, source.data.__typename)) {
51760
+ namedFragment.selectionSet.selections.forEach(fragmentSelection => {
51761
+ // Call into field handling with selections
51762
+ Object.assign(sink, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments, isFragmentApplicable, buildSelectionForField));
51763
+ });
51764
+ }
51765
+ }
51766
+ if (selectionNode.kind === "Field") {
51767
+ Object.assign(sink, buildSelectionForField(source, reader, selectionNode, variables, fragments));
51768
+ }
51769
+ return sink;
51770
+ }
51771
+ function buildSelectionForField(source, reader, sel, variables, fragments, isCursorConnectionType, getFieldData, getFieldType, selectType) {
51772
+ const sink = {};
51773
+ const fieldData = getFieldData(source, sel, variables);
51774
+ const requestedFieldName = sel.alias ? sel.alias.value : sel.name.value;
51775
+ if (isCursorConnectionType && requestedFieldName === 'pageInfo') {
51776
+ return;
51777
+ }
51778
+ reader.enterPath(requestedFieldName);
51779
+ if (fieldData === undefined) {
51780
+ reader.markMissing();
51781
+ reader.exitPath();
51782
+ return;
51783
+ }
51784
+ if (fieldData === null) {
51785
+ reader.assignScalar(requestedFieldName, sink, fieldData);
51786
+ return sink;
51787
+ }
51788
+ const fieldType = getFieldType(sel);
51789
+ if (fieldType === undefined) {
51790
+ // This field's type is unknown to us. This breaks normalization.
51791
+ console.warn(`Unknown Field: ${requestedFieldName}. This field or nested fields cannot participate in normalization`);
51792
+ reader.assignNonScalar(sink, requestedFieldName, fieldData);
51793
+ }
51794
+ else if (fieldType.isArray) {
51795
+ const arraySink = [];
51796
+ for (let i = 0, len = fieldData.length; i < len; i += 1) {
51797
+ reader.enterPath(i);
51798
+ selectType(fieldType.typename, sel, fieldData[i], reader, i, arraySink, variables, fragments);
51799
+ reader.exitPath();
51800
+ }
51801
+ reader.assignNonScalar(sink, requestedFieldName, arraySink);
51802
+ }
51803
+ else {
51804
+ selectType(fieldType.typename, sel, fieldData, reader, requestedFieldName, sink, variables, fragments);
51805
+ }
51806
+ reader.exitPath();
51807
+ return sink;
54359
51808
  }
54360
51809
 
54361
51810
  const TTL$5 = 900000;