houdini-svelte 1.1.3 → 1.1.4-react.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 (46) hide show
  1. package/build/plugin-cjs/index.js +261 -225
  2. package/build/plugin-esm/index.js +261 -225
  3. package/build/preprocess-cjs/index.js +272 -225
  4. package/build/preprocess-esm/index.js +272 -225
  5. package/build/runtime/stores/index.d.ts +1 -1
  6. package/build/runtime/stores/pagination/fragment.d.ts +4 -7
  7. package/build/runtime/stores/pagination/query.d.ts +3 -4
  8. package/build/runtime/stores/query.d.ts +2 -54
  9. package/build/runtime/types.d.ts +40 -28
  10. package/build/runtime-cjs/stores/index.d.ts +1 -1
  11. package/build/runtime-cjs/stores/pagination/fragment.d.ts +4 -7
  12. package/build/runtime-cjs/stores/pagination/fragment.js +6 -9
  13. package/build/runtime-cjs/stores/pagination/query.d.ts +3 -4
  14. package/build/runtime-cjs/stores/pagination/query.js +10 -9
  15. package/build/runtime-cjs/stores/query.d.ts +2 -54
  16. package/build/runtime-cjs/types.d.ts +40 -28
  17. package/build/runtime-esm/stores/index.d.ts +1 -1
  18. package/build/runtime-esm/stores/pagination/fragment.d.ts +4 -7
  19. package/build/runtime-esm/stores/pagination/fragment.js +4 -7
  20. package/build/runtime-esm/stores/pagination/query.d.ts +3 -4
  21. package/build/runtime-esm/stores/pagination/query.js +5 -4
  22. package/build/runtime-esm/stores/query.d.ts +2 -54
  23. package/build/runtime-esm/types.d.ts +40 -28
  24. package/build/test-cjs/index.js +601 -491
  25. package/build/test-esm/index.js +601 -491
  26. package/package.json +2 -2
  27. package/build/runtime/stores/pagination/cursor.d.ts +0 -13
  28. package/build/runtime/stores/pagination/fetch.d.ts +0 -3
  29. package/build/runtime/stores/pagination/offset.d.ts +0 -20
  30. package/build/runtime/stores/pagination/pageInfo.d.ts +0 -13
  31. package/build/runtime-cjs/stores/pagination/cursor.d.ts +0 -13
  32. package/build/runtime-cjs/stores/pagination/cursor.js +0 -191
  33. package/build/runtime-cjs/stores/pagination/fetch.d.ts +0 -3
  34. package/build/runtime-cjs/stores/pagination/fetch.js +0 -16
  35. package/build/runtime-cjs/stores/pagination/offset.d.ts +0 -20
  36. package/build/runtime-cjs/stores/pagination/offset.js +0 -89
  37. package/build/runtime-cjs/stores/pagination/pageInfo.d.ts +0 -13
  38. package/build/runtime-cjs/stores/pagination/pageInfo.js +0 -79
  39. package/build/runtime-esm/stores/pagination/cursor.d.ts +0 -13
  40. package/build/runtime-esm/stores/pagination/cursor.js +0 -167
  41. package/build/runtime-esm/stores/pagination/fetch.d.ts +0 -3
  42. package/build/runtime-esm/stores/pagination/fetch.js +0 -0
  43. package/build/runtime-esm/stores/pagination/offset.d.ts +0 -20
  44. package/build/runtime-esm/stores/pagination/offset.js +0 -65
  45. package/build/runtime-esm/stores/pagination/pageInfo.d.ts +0 -13
  46. package/build/runtime-esm/stores/pagination/pageInfo.js +0 -52
@@ -33431,7 +33431,7 @@ var require_visitor = __commonJS2({
33431
33431
  Object.defineProperty(exports, "__esModule", {
33432
33432
  value: true
33433
33433
  });
33434
- exports.visit = visit2;
33434
+ exports.visit = visit3;
33435
33435
  exports.visitInParallel = visitInParallel;
33436
33436
  exports.getVisitFn = getVisitFn;
33437
33437
  exports.BREAK = exports.QueryDocumentKeys = void 0;
@@ -33494,7 +33494,7 @@ var require_visitor = __commonJS2({
33494
33494
  exports.QueryDocumentKeys = QueryDocumentKeys;
33495
33495
  var BREAK = Object.freeze({});
33496
33496
  exports.BREAK = BREAK;
33497
- function visit2(root, visitor) {
33497
+ function visit3(root, visitor) {
33498
33498
  var visitorKeys = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : QueryDocumentKeys;
33499
33499
  var stack = void 0;
33500
33500
  var inArray = Array.isArray(root);
@@ -72720,6 +72720,107 @@ var require_lib3 = __commonJS2({
72720
72720
  exports.tokTypes = tokTypes;
72721
72721
  }
72722
72722
  });
72723
+ var require_cjs = __commonJS2({
72724
+ "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
72725
+ "use strict";
72726
+ var isMergeableObject = function isMergeableObject2(value2) {
72727
+ return isNonNullObject(value2) && !isSpecial(value2);
72728
+ };
72729
+ function isNonNullObject(value2) {
72730
+ return !!value2 && typeof value2 === "object";
72731
+ }
72732
+ function isSpecial(value2) {
72733
+ var stringValue = Object.prototype.toString.call(value2);
72734
+ return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
72735
+ }
72736
+ var canUseSymbol = typeof Symbol === "function" && Symbol.for;
72737
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
72738
+ function isReactElement(value2) {
72739
+ return value2.$$typeof === REACT_ELEMENT_TYPE;
72740
+ }
72741
+ function emptyTarget(val) {
72742
+ return Array.isArray(val) ? [] : {};
72743
+ }
72744
+ function cloneUnlessOtherwiseSpecified(value2, options) {
72745
+ return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
72746
+ }
72747
+ function defaultArrayMerge(target, source, options) {
72748
+ return target.concat(source).map(function(element) {
72749
+ return cloneUnlessOtherwiseSpecified(element, options);
72750
+ });
72751
+ }
72752
+ function getMergeFunction(key, options) {
72753
+ if (!options.customMerge) {
72754
+ return deepmerge;
72755
+ }
72756
+ var customMerge = options.customMerge(key);
72757
+ return typeof customMerge === "function" ? customMerge : deepmerge;
72758
+ }
72759
+ function getEnumerableOwnPropertySymbols(target) {
72760
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
72761
+ return target.propertyIsEnumerable(symbol);
72762
+ }) : [];
72763
+ }
72764
+ function getKeys(target) {
72765
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
72766
+ }
72767
+ function propertyIsOnObject(object, property) {
72768
+ try {
72769
+ return property in object;
72770
+ } catch (_) {
72771
+ return false;
72772
+ }
72773
+ }
72774
+ function propertyIsUnsafe(target, key) {
72775
+ return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
72776
+ }
72777
+ function mergeObject(target, source, options) {
72778
+ var destination = {};
72779
+ if (options.isMergeableObject(target)) {
72780
+ getKeys(target).forEach(function(key) {
72781
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
72782
+ });
72783
+ }
72784
+ getKeys(source).forEach(function(key) {
72785
+ if (propertyIsUnsafe(target, key)) {
72786
+ return;
72787
+ }
72788
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
72789
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
72790
+ } else {
72791
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
72792
+ }
72793
+ });
72794
+ return destination;
72795
+ }
72796
+ function deepmerge(target, source, options) {
72797
+ options = options || {};
72798
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
72799
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
72800
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
72801
+ var sourceIsArray = Array.isArray(source);
72802
+ var targetIsArray = Array.isArray(target);
72803
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
72804
+ if (!sourceAndTargetTypesMatch) {
72805
+ return cloneUnlessOtherwiseSpecified(source, options);
72806
+ } else if (sourceIsArray) {
72807
+ return options.arrayMerge(target, source, options);
72808
+ } else {
72809
+ return mergeObject(target, source, options);
72810
+ }
72811
+ }
72812
+ deepmerge.all = function deepmergeAll(array, options) {
72813
+ if (!Array.isArray(array)) {
72814
+ throw new Error("first argument should be an array");
72815
+ }
72816
+ return array.reduce(function(prev, next) {
72817
+ return deepmerge(prev, next, options);
72818
+ }, {});
72819
+ };
72820
+ var deepmerge_1 = deepmerge;
72821
+ module2.exports = deepmerge_1;
72822
+ }
72823
+ });
72723
72824
  var require_tslib = __commonJS2({
72724
72825
  "../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.js"(exports, module2) {
72725
72826
  var __extends;
@@ -74976,7 +75077,7 @@ var require_path_visitor = __commonJS2({
74976
75077
  }
74977
75078
  return target;
74978
75079
  }
74979
- PathVisitor.visit = function visit2(node2, methods) {
75080
+ PathVisitor.visit = function visit3(node2, methods) {
74980
75081
  return PathVisitor.fromMethodsObject(methods).visit(node2);
74981
75082
  };
74982
75083
  var PVp = PathVisitor.prototype;
@@ -75167,7 +75268,7 @@ var require_path_visitor = __commonJS2({
75167
75268
  this.needToCallTraverse = false;
75168
75269
  return visitChildren(path22, PathVisitor.fromMethodsObject(newVisitor || this.visitor));
75169
75270
  };
75170
- sharedContextProtoMethods.visit = function visit2(path22, newVisitor) {
75271
+ sharedContextProtoMethods.visit = function visit3(path22, newVisitor) {
75171
75272
  if (!(this instanceof this.Context)) {
75172
75273
  throw new Error("");
75173
75274
  }
@@ -76510,7 +76611,7 @@ var require_main = __commonJS2({
76510
76611
  var someField = _a.someField;
76511
76612
  var Type = _a.Type;
76512
76613
  var use = _a.use;
76513
- var visit2 = _a.visit;
76614
+ var visit3 = _a.visit;
76514
76615
  exports.astNodesAreEquivalent = astNodesAreEquivalent;
76515
76616
  exports.builders = builders;
76516
76617
  exports.builtInTypes = builtInTypes;
@@ -76527,7 +76628,7 @@ var require_main = __commonJS2({
76527
76628
  exports.someField = someField;
76528
76629
  exports.Type = Type;
76529
76630
  exports.use = use;
76530
- exports.visit = visit2;
76631
+ exports.visit = visit3;
76531
76632
  Object.assign(namedTypes_1.namedTypes, n);
76532
76633
  }
76533
76634
  });
@@ -88942,107 +89043,6 @@ var require_main2 = __commonJS2({
88942
89043
  }
88943
89044
  }
88944
89045
  });
88945
- var require_cjs = __commonJS2({
88946
- "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
88947
- "use strict";
88948
- var isMergeableObject = function isMergeableObject2(value2) {
88949
- return isNonNullObject(value2) && !isSpecial(value2);
88950
- };
88951
- function isNonNullObject(value2) {
88952
- return !!value2 && typeof value2 === "object";
88953
- }
88954
- function isSpecial(value2) {
88955
- var stringValue = Object.prototype.toString.call(value2);
88956
- return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
88957
- }
88958
- var canUseSymbol = typeof Symbol === "function" && Symbol.for;
88959
- var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
88960
- function isReactElement(value2) {
88961
- return value2.$$typeof === REACT_ELEMENT_TYPE;
88962
- }
88963
- function emptyTarget(val) {
88964
- return Array.isArray(val) ? [] : {};
88965
- }
88966
- function cloneUnlessOtherwiseSpecified(value2, options) {
88967
- return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
88968
- }
88969
- function defaultArrayMerge(target, source, options) {
88970
- return target.concat(source).map(function(element) {
88971
- return cloneUnlessOtherwiseSpecified(element, options);
88972
- });
88973
- }
88974
- function getMergeFunction(key, options) {
88975
- if (!options.customMerge) {
88976
- return deepmerge;
88977
- }
88978
- var customMerge = options.customMerge(key);
88979
- return typeof customMerge === "function" ? customMerge : deepmerge;
88980
- }
88981
- function getEnumerableOwnPropertySymbols(target) {
88982
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
88983
- return target.propertyIsEnumerable(symbol);
88984
- }) : [];
88985
- }
88986
- function getKeys(target) {
88987
- return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
88988
- }
88989
- function propertyIsOnObject(object, property) {
88990
- try {
88991
- return property in object;
88992
- } catch (_) {
88993
- return false;
88994
- }
88995
- }
88996
- function propertyIsUnsafe(target, key) {
88997
- return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
88998
- }
88999
- function mergeObject(target, source, options) {
89000
- var destination = {};
89001
- if (options.isMergeableObject(target)) {
89002
- getKeys(target).forEach(function(key) {
89003
- destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
89004
- });
89005
- }
89006
- getKeys(source).forEach(function(key) {
89007
- if (propertyIsUnsafe(target, key)) {
89008
- return;
89009
- }
89010
- if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
89011
- destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
89012
- } else {
89013
- destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
89014
- }
89015
- });
89016
- return destination;
89017
- }
89018
- function deepmerge(target, source, options) {
89019
- options = options || {};
89020
- options.arrayMerge = options.arrayMerge || defaultArrayMerge;
89021
- options.isMergeableObject = options.isMergeableObject || isMergeableObject;
89022
- options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
89023
- var sourceIsArray = Array.isArray(source);
89024
- var targetIsArray = Array.isArray(target);
89025
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
89026
- if (!sourceAndTargetTypesMatch) {
89027
- return cloneUnlessOtherwiseSpecified(source, options);
89028
- } else if (sourceIsArray) {
89029
- return options.arrayMerge(target, source, options);
89030
- } else {
89031
- return mergeObject(target, source, options);
89032
- }
89033
- }
89034
- deepmerge.all = function deepmergeAll(array, options) {
89035
- if (!Array.isArray(array)) {
89036
- throw new Error("first argument should be an array");
89037
- }
89038
- return array.reduce(function(prev, next) {
89039
- return deepmerge(prev, next, options);
89040
- }, {});
89041
- };
89042
- var deepmerge_1 = deepmerge;
89043
- module2.exports = deepmerge_1;
89044
- }
89045
- });
89046
89046
  async function runPipeline(config5, pipeline22, target) {
89047
89047
  for (const transform of pipeline22) {
89048
89048
  await transform?.(config5, target);
@@ -92402,10 +92402,11 @@ var query = documentPlugin(ArtifactKind.Query, function() {
92402
92402
  cache_default.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
92403
92403
  }
92404
92404
  lastVariables = { ...marshalVariables2(ctx) };
92405
+ const variables = lastVariables;
92405
92406
  subscriptionSpec = {
92406
92407
  rootType: ctx.artifact.rootType,
92407
92408
  selection: ctx.artifact.selection,
92408
- variables: () => lastVariables,
92409
+ variables: () => variables,
92409
92410
  set: (newValue) => {
92410
92411
  resolve22(ctx, {
92411
92412
  data: newValue,
@@ -92432,12 +92433,17 @@ var query = documentPlugin(ArtifactKind.Query, function() {
92432
92433
  });
92433
92434
  var fragment = documentPlugin(ArtifactKind.Fragment, function() {
92434
92435
  let subscriptionSpec = null;
92436
+ let lastReference = null;
92435
92437
  return {
92436
92438
  start(ctx, { next, resolve: resolve22, variablesChanged: variablesChanged2, marshalVariables: marshalVariables2 }) {
92437
92439
  if (!ctx.stuff.parentID) {
92438
92440
  return next(ctx);
92439
92441
  }
92440
- if (variablesChanged2(ctx) && !ctx.cacheParams?.disableSubscriptions) {
92442
+ const currentReference = {
92443
+ parent: ctx.stuff.parentID,
92444
+ variables: marshalVariables2(ctx)
92445
+ };
92446
+ if (!ctx.cacheParams?.disableSubscriptions && (!deepEquals(lastReference, currentReference) || variablesChanged2(ctx))) {
92441
92447
  if (subscriptionSpec) {
92442
92448
  cache_default.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
92443
92449
  }
@@ -92460,6 +92466,7 @@ var fragment = documentPlugin(ArtifactKind.Fragment, function() {
92460
92466
  }
92461
92467
  };
92462
92468
  cache_default.subscribe(subscriptionSpec, variables);
92469
+ lastReference = currentReference;
92463
92470
  }
92464
92471
  next(ctx);
92465
92472
  },
@@ -92578,13 +92585,36 @@ var TypeWrapper = /* @__PURE__ */ ((TypeWrapper22) => {
92578
92585
  return TypeWrapper22;
92579
92586
  })(TypeWrapper || {});
92580
92587
  var import_parser = __toESM2(require_lib3(), 1);
92581
- async function parseJS(str) {
92588
+ var import_deepmerge = __toESM2(require_cjs(), 1);
92589
+ function deepMerge(filepath, ...targets) {
92590
+ try {
92591
+ if (targets.length === 1) {
92592
+ return targets[0];
92593
+ } else if (targets.length === 2) {
92594
+ return (0, import_deepmerge.default)(targets[0], targets[1], {
92595
+ arrayMerge: (source, update) => [...new Set(source.concat(update))]
92596
+ });
92597
+ }
92598
+ return deepMerge(filepath, targets[0], deepMerge(filepath, ...targets.slice(1)));
92599
+ } catch (e22) {
92600
+ throw new HoudiniError({
92601
+ filepath,
92602
+ message: "could not merge: " + JSON.stringify(targets, null, 4),
92603
+ description: e22.message
92604
+ });
92605
+ }
92606
+ }
92607
+ async function parseJS(str, config5) {
92608
+ const defaultConfig = {
92609
+ plugins: ["typescript"],
92610
+ sourceType: "module"
92611
+ };
92582
92612
  return {
92583
92613
  start: 0,
92584
- script: (0, import_parser.parse)(str || "", {
92585
- plugins: ["typescript"],
92586
- sourceType: "module"
92587
- }).program,
92614
+ script: (0, import_parser.parse)(
92615
+ str || "",
92616
+ config5 ? deepMerge("", defaultConfig, config5) : defaultConfig
92617
+ ).program,
92588
92618
  end: str.length
92589
92619
  };
92590
92620
  }
@@ -92629,7 +92659,6 @@ async function cleanupFiles(pathFolder, listOfObj) {
92629
92659
  );
92630
92660
  return allFilesNotInList;
92631
92661
  }
92632
- var import_deepmerge = __toESM2(require_cjs(), 1);
92633
92662
  async function detectFromPackageJSON(cwd) {
92634
92663
  try {
92635
92664
  const packageJSONFile = await fs_exports.readFile(path_exports.join(cwd, "package.json"));
@@ -95199,7 +95228,7 @@ var require_visitor2 = __commonJS3({
95199
95228
  Object.defineProperty(exports, "__esModule", {
95200
95229
  value: true
95201
95230
  });
95202
- exports.visit = visit12;
95231
+ exports.visit = visit13;
95203
95232
  exports.visitInParallel = visitInParallel;
95204
95233
  exports.getVisitFn = getVisitFn;
95205
95234
  exports.BREAK = exports.QueryDocumentKeys = void 0;
@@ -95262,7 +95291,7 @@ var require_visitor2 = __commonJS3({
95262
95291
  exports.QueryDocumentKeys = QueryDocumentKeys;
95263
95292
  var BREAK = Object.freeze({});
95264
95293
  exports.BREAK = BREAK;
95265
- function visit12(root, visitor) {
95294
+ function visit13(root, visitor) {
95266
95295
  var visitorKeys = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : QueryDocumentKeys;
95267
95296
  var stack = void 0;
95268
95297
  var inArray = Array.isArray(root);
@@ -130127,6 +130156,107 @@ var require_lib32 = __commonJS3({
130127
130156
  exports.tokTypes = tokTypes;
130128
130157
  }
130129
130158
  });
130159
+ var require_cjs2 = __commonJS3({
130160
+ "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
130161
+ "use strict";
130162
+ var isMergeableObject = function isMergeableObject2(value2) {
130163
+ return isNonNullObject(value2) && !isSpecial(value2);
130164
+ };
130165
+ function isNonNullObject(value2) {
130166
+ return !!value2 && typeof value2 === "object";
130167
+ }
130168
+ function isSpecial(value2) {
130169
+ var stringValue = Object.prototype.toString.call(value2);
130170
+ return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
130171
+ }
130172
+ var canUseSymbol = typeof Symbol === "function" && Symbol.for;
130173
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
130174
+ function isReactElement(value2) {
130175
+ return value2.$$typeof === REACT_ELEMENT_TYPE;
130176
+ }
130177
+ function emptyTarget(val) {
130178
+ return Array.isArray(val) ? [] : {};
130179
+ }
130180
+ function cloneUnlessOtherwiseSpecified(value2, options) {
130181
+ return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
130182
+ }
130183
+ function defaultArrayMerge(target, source, options) {
130184
+ return target.concat(source).map(function(element) {
130185
+ return cloneUnlessOtherwiseSpecified(element, options);
130186
+ });
130187
+ }
130188
+ function getMergeFunction(key, options) {
130189
+ if (!options.customMerge) {
130190
+ return deepmerge;
130191
+ }
130192
+ var customMerge = options.customMerge(key);
130193
+ return typeof customMerge === "function" ? customMerge : deepmerge;
130194
+ }
130195
+ function getEnumerableOwnPropertySymbols(target) {
130196
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
130197
+ return target.propertyIsEnumerable(symbol);
130198
+ }) : [];
130199
+ }
130200
+ function getKeys(target) {
130201
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
130202
+ }
130203
+ function propertyIsOnObject(object, property) {
130204
+ try {
130205
+ return property in object;
130206
+ } catch (_) {
130207
+ return false;
130208
+ }
130209
+ }
130210
+ function propertyIsUnsafe(target, key) {
130211
+ return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
130212
+ }
130213
+ function mergeObject(target, source, options) {
130214
+ var destination = {};
130215
+ if (options.isMergeableObject(target)) {
130216
+ getKeys(target).forEach(function(key) {
130217
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
130218
+ });
130219
+ }
130220
+ getKeys(source).forEach(function(key) {
130221
+ if (propertyIsUnsafe(target, key)) {
130222
+ return;
130223
+ }
130224
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
130225
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
130226
+ } else {
130227
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
130228
+ }
130229
+ });
130230
+ return destination;
130231
+ }
130232
+ function deepmerge(target, source, options) {
130233
+ options = options || {};
130234
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
130235
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
130236
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
130237
+ var sourceIsArray = Array.isArray(source);
130238
+ var targetIsArray = Array.isArray(target);
130239
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
130240
+ if (!sourceAndTargetTypesMatch) {
130241
+ return cloneUnlessOtherwiseSpecified(source, options);
130242
+ } else if (sourceIsArray) {
130243
+ return options.arrayMerge(target, source, options);
130244
+ } else {
130245
+ return mergeObject(target, source, options);
130246
+ }
130247
+ }
130248
+ deepmerge.all = function deepmergeAll(array, options) {
130249
+ if (!Array.isArray(array)) {
130250
+ throw new Error("first argument should be an array");
130251
+ }
130252
+ return array.reduce(function(prev, next) {
130253
+ return deepmerge(prev, next, options);
130254
+ }, {});
130255
+ };
130256
+ var deepmerge_1 = deepmerge;
130257
+ module2.exports = deepmerge_1;
130258
+ }
130259
+ });
130130
130260
  var require_tslib2 = __commonJS3({
130131
130261
  "../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.js"(exports, module2) {
130132
130262
  var __extends;
@@ -132383,7 +132513,7 @@ var require_path_visitor2 = __commonJS3({
132383
132513
  }
132384
132514
  return target;
132385
132515
  }
132386
- PathVisitor.visit = function visit12(node2, methods) {
132516
+ PathVisitor.visit = function visit13(node2, methods) {
132387
132517
  return PathVisitor.fromMethodsObject(methods).visit(node2);
132388
132518
  };
132389
132519
  var PVp = PathVisitor.prototype;
@@ -132574,7 +132704,7 @@ var require_path_visitor2 = __commonJS3({
132574
132704
  this.needToCallTraverse = false;
132575
132705
  return visitChildren(path22, PathVisitor.fromMethodsObject(newVisitor || this.visitor));
132576
132706
  };
132577
- sharedContextProtoMethods.visit = function visit12(path22, newVisitor) {
132707
+ sharedContextProtoMethods.visit = function visit13(path22, newVisitor) {
132578
132708
  if (!(this instanceof this.Context)) {
132579
132709
  throw new Error("");
132580
132710
  }
@@ -133917,7 +134047,7 @@ var require_main3 = __commonJS3({
133917
134047
  var someField = _a.someField;
133918
134048
  var Type = _a.Type;
133919
134049
  var use = _a.use;
133920
- var visit12 = _a.visit;
134050
+ var visit13 = _a.visit;
133921
134051
  exports.astNodesAreEquivalent = astNodesAreEquivalent;
133922
134052
  exports.builders = builders;
133923
134053
  exports.builtInTypes = builtInTypes;
@@ -133934,7 +134064,7 @@ var require_main3 = __commonJS3({
133934
134064
  exports.someField = someField;
133935
134065
  exports.Type = Type;
133936
134066
  exports.use = use;
133937
- exports.visit = visit12;
134067
+ exports.visit = visit13;
133938
134068
  Object.assign(namedTypes_1.namedTypes, n);
133939
134069
  }
133940
134070
  });
@@ -146349,107 +146479,6 @@ var require_main22 = __commonJS3({
146349
146479
  }
146350
146480
  }
146351
146481
  });
146352
- var require_cjs2 = __commonJS3({
146353
- "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
146354
- "use strict";
146355
- var isMergeableObject = function isMergeableObject2(value2) {
146356
- return isNonNullObject(value2) && !isSpecial(value2);
146357
- };
146358
- function isNonNullObject(value2) {
146359
- return !!value2 && typeof value2 === "object";
146360
- }
146361
- function isSpecial(value2) {
146362
- var stringValue = Object.prototype.toString.call(value2);
146363
- return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
146364
- }
146365
- var canUseSymbol = typeof Symbol === "function" && Symbol.for;
146366
- var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
146367
- function isReactElement(value2) {
146368
- return value2.$$typeof === REACT_ELEMENT_TYPE;
146369
- }
146370
- function emptyTarget(val) {
146371
- return Array.isArray(val) ? [] : {};
146372
- }
146373
- function cloneUnlessOtherwiseSpecified(value2, options) {
146374
- return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
146375
- }
146376
- function defaultArrayMerge(target, source, options) {
146377
- return target.concat(source).map(function(element) {
146378
- return cloneUnlessOtherwiseSpecified(element, options);
146379
- });
146380
- }
146381
- function getMergeFunction(key, options) {
146382
- if (!options.customMerge) {
146383
- return deepmerge;
146384
- }
146385
- var customMerge = options.customMerge(key);
146386
- return typeof customMerge === "function" ? customMerge : deepmerge;
146387
- }
146388
- function getEnumerableOwnPropertySymbols(target) {
146389
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
146390
- return target.propertyIsEnumerable(symbol);
146391
- }) : [];
146392
- }
146393
- function getKeys(target) {
146394
- return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
146395
- }
146396
- function propertyIsOnObject(object, property) {
146397
- try {
146398
- return property in object;
146399
- } catch (_) {
146400
- return false;
146401
- }
146402
- }
146403
- function propertyIsUnsafe(target, key) {
146404
- return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
146405
- }
146406
- function mergeObject(target, source, options) {
146407
- var destination = {};
146408
- if (options.isMergeableObject(target)) {
146409
- getKeys(target).forEach(function(key) {
146410
- destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
146411
- });
146412
- }
146413
- getKeys(source).forEach(function(key) {
146414
- if (propertyIsUnsafe(target, key)) {
146415
- return;
146416
- }
146417
- if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
146418
- destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
146419
- } else {
146420
- destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
146421
- }
146422
- });
146423
- return destination;
146424
- }
146425
- function deepmerge(target, source, options) {
146426
- options = options || {};
146427
- options.arrayMerge = options.arrayMerge || defaultArrayMerge;
146428
- options.isMergeableObject = options.isMergeableObject || isMergeableObject;
146429
- options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
146430
- var sourceIsArray = Array.isArray(source);
146431
- var targetIsArray = Array.isArray(target);
146432
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
146433
- if (!sourceAndTargetTypesMatch) {
146434
- return cloneUnlessOtherwiseSpecified(source, options);
146435
- } else if (sourceIsArray) {
146436
- return options.arrayMerge(target, source, options);
146437
- } else {
146438
- return mergeObject(target, source, options);
146439
- }
146440
- }
146441
- deepmerge.all = function deepmergeAll(array, options) {
146442
- if (!Array.isArray(array)) {
146443
- throw new Error("first argument should be an array");
146444
- }
146445
- return array.reduce(function(prev, next) {
146446
- return deepmerge(prev, next, options);
146447
- }, {});
146448
- };
146449
- var deepmerge_1 = deepmerge;
146450
- module2.exports = deepmerge_1;
146451
- }
146452
- });
146453
146482
  var graphql26 = __toESM3(require_graphql22(), 1);
146454
146483
  async function runPipeline2(config22, pipeline4, target) {
146455
146484
  for (const transform of pipeline4) {
@@ -148899,10 +148928,11 @@ var query2 = documentPlugin2(ArtifactKind2.Query, function() {
148899
148928
  cache_default2.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
148900
148929
  }
148901
148930
  lastVariables = { ...marshalVariables(ctx) };
148931
+ const variables = lastVariables;
148902
148932
  subscriptionSpec = {
148903
148933
  rootType: ctx.artifact.rootType,
148904
148934
  selection: ctx.artifact.selection,
148905
- variables: () => lastVariables,
148935
+ variables: () => variables,
148906
148936
  set: (newValue) => {
148907
148937
  resolve22(ctx, {
148908
148938
  data: newValue,
@@ -148929,12 +148959,17 @@ var query2 = documentPlugin2(ArtifactKind2.Query, function() {
148929
148959
  });
148930
148960
  var fragment2 = documentPlugin2(ArtifactKind2.Fragment, function() {
148931
148961
  let subscriptionSpec = null;
148962
+ let lastReference = null;
148932
148963
  return {
148933
148964
  start(ctx, { next, resolve: resolve22, variablesChanged, marshalVariables }) {
148934
148965
  if (!ctx.stuff.parentID) {
148935
148966
  return next(ctx);
148936
148967
  }
148937
- if (variablesChanged(ctx) && !ctx.cacheParams?.disableSubscriptions) {
148968
+ const currentReference = {
148969
+ parent: ctx.stuff.parentID,
148970
+ variables: marshalVariables(ctx)
148971
+ };
148972
+ if (!ctx.cacheParams?.disableSubscriptions && (!deepEquals2(lastReference, currentReference) || variablesChanged(ctx))) {
148938
148973
  if (subscriptionSpec) {
148939
148974
  cache_default2.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
148940
148975
  }
@@ -148957,6 +148992,7 @@ var fragment2 = documentPlugin2(ArtifactKind2.Fragment, function() {
148957
148992
  }
148958
148993
  };
148959
148994
  cache_default2.subscribe(subscriptionSpec, variables);
148995
+ lastReference = currentReference;
148960
148996
  }
148961
148997
  next(ctx);
148962
148998
  },
@@ -149169,13 +149205,36 @@ var TypeWrapper2 = /* @__PURE__ */ ((TypeWrapper22) => {
149169
149205
  return TypeWrapper22;
149170
149206
  })(TypeWrapper2 || {});
149171
149207
  var import_parser2 = __toESM3(require_lib32(), 1);
149172
- async function parseJS2(str) {
149208
+ var import_deepmerge2 = __toESM3(require_cjs2(), 1);
149209
+ function deepMerge2(filepath, ...targets) {
149210
+ try {
149211
+ if (targets.length === 1) {
149212
+ return targets[0];
149213
+ } else if (targets.length === 2) {
149214
+ return (0, import_deepmerge2.default)(targets[0], targets[1], {
149215
+ arrayMerge: (source, update) => [...new Set(source.concat(update))]
149216
+ });
149217
+ }
149218
+ return deepMerge2(filepath, targets[0], deepMerge2(filepath, ...targets.slice(1)));
149219
+ } catch (e3) {
149220
+ throw new HoudiniError2({
149221
+ filepath,
149222
+ message: "could not merge: " + JSON.stringify(targets, null, 4),
149223
+ description: e3.message
149224
+ });
149225
+ }
149226
+ }
149227
+ async function parseJS2(str, config22) {
149228
+ const defaultConfig = {
149229
+ plugins: ["typescript"],
149230
+ sourceType: "module"
149231
+ };
149173
149232
  return {
149174
149233
  start: 0,
149175
- script: (0, import_parser2.parse)(str || "", {
149176
- plugins: ["typescript"],
149177
- sourceType: "module"
149178
- }).program,
149234
+ script: (0, import_parser2.parse)(
149235
+ str || "",
149236
+ config22 ? deepMerge2("", defaultConfig, config22) : defaultConfig
149237
+ ).program,
149179
149238
  end: str.length
149180
149239
  };
149181
149240
  }
@@ -149220,25 +149279,6 @@ async function cleanupFiles2(pathFolder, listOfObj) {
149220
149279
  );
149221
149280
  return allFilesNotInList;
149222
149281
  }
149223
- var import_deepmerge2 = __toESM3(require_cjs2(), 1);
149224
- function deepMerge(filepath, ...targets) {
149225
- try {
149226
- if (targets.length === 1) {
149227
- return targets[0];
149228
- } else if (targets.length === 2) {
149229
- return (0, import_deepmerge2.default)(targets[0], targets[1], {
149230
- arrayMerge: (source, update) => [...new Set(source.concat(update))]
149231
- });
149232
- }
149233
- return deepMerge(filepath, targets[0], deepMerge(filepath, ...targets.slice(1)));
149234
- } catch (e3) {
149235
- throw new HoudiniError2({
149236
- filepath,
149237
- message: "could not merge: " + targets,
149238
- description: e3.message
149239
- });
149240
- }
149241
- }
149242
149282
  var graphql32 = __toESM3(require_graphql22(), 1);
149243
149283
  var graphql13 = __toESM3(require_graphql22(), 1);
149244
149284
  var recast5 = __toESM3(require_main22(), 1);
@@ -151143,7 +151183,7 @@ function prepareSelection({
151143
151183
  for (const field of selections) {
151144
151184
  if (field.kind === "InlineFragment") {
151145
151185
  if (!field.typeCondition || field.typeCondition.name.value === rootType) {
151146
- object.fields = deepMerge(
151186
+ object.fields = deepMerge2(
151147
151187
  filepath,
151148
151188
  object.fields || {},
151149
151189
  prepareSelection({
@@ -151304,7 +151344,7 @@ function prepareSelection({
151304
151344
  fieldObj.abstract = true;
151305
151345
  }
151306
151346
  if (object.fields?.[attributeName]) {
151307
- fieldObj = deepMerge(filepath, object.fields[attributeName], fieldObj);
151347
+ fieldObj = deepMerge2(filepath, object.fields[attributeName], fieldObj);
151308
151348
  }
151309
151349
  object.fields = {
151310
151350
  ...object.fields,
@@ -151331,7 +151371,7 @@ function mergeSelection({
151331
151371
  let overlap = false;
151332
151372
  for (const possible of possibles) {
151333
151373
  if (object.abstractFields.fields[typeName]) {
151334
- object.abstractFields.fields[typeName] = deepMerge(
151374
+ object.abstractFields.fields[typeName] = deepMerge2(
151335
151375
  filepath,
151336
151376
  object.abstractFields.fields[typeName] ?? {},
151337
151377
  object.abstractFields.fields[possible] ?? {}
@@ -151345,7 +151385,7 @@ function mergeSelection({
151345
151385
  }
151346
151386
  for (const [type, options] of Object.entries(typeMap)) {
151347
151387
  if (options.length > 1) {
151348
- object.abstractFields.fields[type] = deepMerge(
151388
+ object.abstractFields.fields[type] = deepMerge2(
151349
151389
  filepath,
151350
151390
  ...options.map((opt) => object.abstractFields.fields[opt] || {})
151351
151391
  );
@@ -151353,7 +151393,7 @@ function mergeSelection({
151353
151393
  }
151354
151394
  }
151355
151395
  for (const [type, sel] of Object.entries(object.abstractFields?.fields || {})) {
151356
- object.abstractFields.fields[type] = deepMerge(filepath, sel || {}, object.fields);
151396
+ object.abstractFields.fields[type] = deepMerge2(filepath, sel || {}, object.fields);
151357
151397
  }
151358
151398
  for (const [type, options] of Object.entries(typeMap)) {
151359
151399
  object.abstractFields.typeMap[type] = options[0];
@@ -151861,12 +151901,12 @@ ${exportStatement("config")}
151861
151901
  },
151862
151902
  [path_exports2.join(config22.runtimeSource, "client", "plugins", "injectedPlugins.js")]: (content) => injectPlugins({ config: config22, content, importStatement, exportStatement })
151863
151903
  }),
151864
- ...config22.plugins.filter((plugin2) => plugin2.includeRuntime).map((plugin2) => generatePluginRuntime(config22, plugin2)),
151904
+ ...config22.plugins.filter((plugin2) => plugin2.includeRuntime).map((plugin2) => generatePluginRuntime(config22, docs, plugin2)),
151865
151905
  generatePluginIndex({ config: config22, exportStatement: exportStar })
151866
151906
  ]);
151867
151907
  await generateGraphqlReturnTypes(config22, docs);
151868
151908
  }
151869
- async function generatePluginRuntime(config22, plugin2) {
151909
+ async function generatePluginRuntime(config22, docs, plugin2) {
151870
151910
  if (houdini_mode2.is_testing || !plugin2.includeRuntime) {
151871
151911
  return;
151872
151912
  }
@@ -151883,12 +151923,16 @@ async function generatePluginRuntime(config22, plugin2) {
151883
151923
  });
151884
151924
  }
151885
151925
  const pluginDir = config22.pluginRuntimeDirectory(plugin2.name);
151926
+ let transformMap = plugin2.transformRuntime ?? {};
151927
+ if (transformMap && typeof transformMap === "function") {
151928
+ transformMap = transformMap(docs);
151929
+ }
151886
151930
  await fs_exports2.mkdirp(pluginDir);
151887
151931
  await fs_exports2.recursiveCopy(
151888
151932
  runtime_path,
151889
151933
  pluginDir,
151890
151934
  Object.fromEntries(
151891
- Object.entries(plugin2.transformRuntime ?? {}).map(([key, value2]) => [
151935
+ Object.entries(transformMap).map(([key, value2]) => [
151892
151936
  path_exports2.join(runtime_path, key),
151893
151937
  (content) => value2({ config: config22, content })
151894
151938
  ])
@@ -152312,7 +152356,8 @@ async function generateDocumentTypes(config22, docs) {
152312
152356
  originalParsed: originalDocument,
152313
152357
  name,
152314
152358
  filename,
152315
- generateArtifact
152359
+ generateArtifact,
152360
+ artifact
152316
152361
  }) => {
152317
152362
  if (!generateArtifact) {
152318
152363
  return;
@@ -152351,6 +152396,14 @@ async function generateDocumentTypes(config22, docs) {
152351
152396
  missingScalars
152352
152397
  );
152353
152398
  }
152399
+ program.body.push(
152400
+ AST11.exportNamedDeclaration(
152401
+ AST11.tsTypeAliasDeclaration(
152402
+ AST11.identifier(`${name}$artifact`),
152403
+ convertToTs(serializeValue(artifact))
152404
+ )
152405
+ )
152406
+ );
152354
152407
  await fs_exports2.writeFile(typeDefPath, recast11.print(program).code);
152355
152408
  typePaths.push(typeDefPath);
152356
152409
  }
@@ -152377,18 +152430,17 @@ export * from "${module2}"
152377
152430
  `;
152378
152431
  let indexContent = recast11.print(typeIndex).code;
152379
152432
  for (const plugin2 of config22.plugins) {
152380
- if (!plugin2.indexFile) {
152381
- continue;
152433
+ if (plugin2.indexFile) {
152434
+ indexContent = plugin2.indexFile({
152435
+ config: config22,
152436
+ content: indexContent,
152437
+ exportDefaultAs,
152438
+ exportStarFrom: exportStarFrom2,
152439
+ pluginRoot: config22.pluginDirectory(plugin2.name),
152440
+ typedef: true,
152441
+ documents: docs
152442
+ });
152382
152443
  }
152383
- indexContent = plugin2.indexFile({
152384
- config: config22,
152385
- content: indexContent,
152386
- exportDefaultAs,
152387
- exportStarFrom: exportStarFrom2,
152388
- pluginRoot: config22.pluginDirectory(plugin2.name),
152389
- typedef: true,
152390
- documents: docs
152391
- });
152392
152444
  if (plugin2.includeRuntime) {
152393
152445
  indexContent += exportStarFrom2({
152394
152446
  module: "./" + path_exports2.relative(config22.rootDir, config22.pluginRuntimeDirectory(plugin2.name))
@@ -152420,6 +152472,42 @@ ${[...missingScalars].map(
152420
152472
  For more information, please visit this link: ${siteURL}/api/config#custom-scalars`);
152421
152473
  }
152422
152474
  }
152475
+ function convertToTs(source) {
152476
+ if (source.type === "ObjectExpression") {
152477
+ return AST11.tsTypeLiteral(
152478
+ source.properties.reduce(
152479
+ (props, prop) => {
152480
+ if (prop.type !== "ObjectProperty" || prop.key.type !== "StringLiteral" && prop.key.type === "Identifier") {
152481
+ return props;
152482
+ }
152483
+ return [
152484
+ ...props,
152485
+ AST11.tsPropertySignature(
152486
+ prop.key,
152487
+ AST11.tsTypeAnnotation(convertToTs(prop.value))
152488
+ )
152489
+ ];
152490
+ },
152491
+ []
152492
+ )
152493
+ );
152494
+ }
152495
+ if (source.type === "ArrayExpression") {
152496
+ return AST11.tsTupleType(
152497
+ source.elements.map((element) => convertToTs(element))
152498
+ );
152499
+ }
152500
+ if (source.type === "Literal" && typeof source.value === "boolean") {
152501
+ return AST11.tsLiteralType(AST11.booleanLiteral(source.value));
152502
+ }
152503
+ if (source.type === "Literal" && typeof source.value === "number") {
152504
+ return AST11.tsLiteralType(AST11.numericLiteral(source.value));
152505
+ }
152506
+ if (source.type === "Literal" && typeof source.value === "string") {
152507
+ return AST11.tsLiteralType(AST11.stringLiteral(source.value));
152508
+ }
152509
+ return AST11.tsLiteralType(source);
152510
+ }
152423
152511
  async function generateOperationTypeDefs(config22, filepath, body, definition, selections, visitedTypes, missingScalars) {
152424
152512
  let parentType = null;
152425
152513
  if (definition.operation === "query") {
@@ -153115,9 +153203,6 @@ async function writeIndexFile2(config22, docs) {
153115
153203
  module: relative22(config22.pluginRuntimeDirectory(plugin2.name))
153116
153204
  });
153117
153205
  }
153118
- if (!plugin2.indexFile) {
153119
- continue;
153120
- }
153121
153206
  }
153122
153207
  await fs_exports2.writeFile(path_exports2.join(config22.rootDir, "index.js"), body);
153123
153208
  }
@@ -156720,7 +156805,7 @@ var require_visitor3 = __commonJS4({
156720
156805
  Object.defineProperty(exports, "__esModule", {
156721
156806
  value: true
156722
156807
  });
156723
- exports.visit = visit12;
156808
+ exports.visit = visit13;
156724
156809
  exports.visitInParallel = visitInParallel;
156725
156810
  exports.getVisitFn = getVisitFn;
156726
156811
  exports.BREAK = exports.QueryDocumentKeys = void 0;
@@ -156783,7 +156868,7 @@ var require_visitor3 = __commonJS4({
156783
156868
  exports.QueryDocumentKeys = QueryDocumentKeys;
156784
156869
  var BREAK = Object.freeze({});
156785
156870
  exports.BREAK = BREAK;
156786
- function visit12(root, visitor) {
156871
+ function visit13(root, visitor) {
156787
156872
  var visitorKeys = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : QueryDocumentKeys;
156788
156873
  var stack = void 0;
156789
156874
  var inArray = Array.isArray(root);
@@ -191648,6 +191733,107 @@ var require_lib33 = __commonJS4({
191648
191733
  exports.tokTypes = tokTypes;
191649
191734
  }
191650
191735
  });
191736
+ var require_cjs3 = __commonJS4({
191737
+ "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
191738
+ "use strict";
191739
+ var isMergeableObject = function isMergeableObject2(value2) {
191740
+ return isNonNullObject(value2) && !isSpecial(value2);
191741
+ };
191742
+ function isNonNullObject(value2) {
191743
+ return !!value2 && typeof value2 === "object";
191744
+ }
191745
+ function isSpecial(value2) {
191746
+ var stringValue = Object.prototype.toString.call(value2);
191747
+ return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
191748
+ }
191749
+ var canUseSymbol = typeof Symbol === "function" && Symbol.for;
191750
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
191751
+ function isReactElement(value2) {
191752
+ return value2.$$typeof === REACT_ELEMENT_TYPE;
191753
+ }
191754
+ function emptyTarget(val) {
191755
+ return Array.isArray(val) ? [] : {};
191756
+ }
191757
+ function cloneUnlessOtherwiseSpecified(value2, options) {
191758
+ return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
191759
+ }
191760
+ function defaultArrayMerge(target, source, options) {
191761
+ return target.concat(source).map(function(element) {
191762
+ return cloneUnlessOtherwiseSpecified(element, options);
191763
+ });
191764
+ }
191765
+ function getMergeFunction(key, options) {
191766
+ if (!options.customMerge) {
191767
+ return deepmerge;
191768
+ }
191769
+ var customMerge = options.customMerge(key);
191770
+ return typeof customMerge === "function" ? customMerge : deepmerge;
191771
+ }
191772
+ function getEnumerableOwnPropertySymbols(target) {
191773
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
191774
+ return target.propertyIsEnumerable(symbol);
191775
+ }) : [];
191776
+ }
191777
+ function getKeys(target) {
191778
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
191779
+ }
191780
+ function propertyIsOnObject(object, property) {
191781
+ try {
191782
+ return property in object;
191783
+ } catch (_) {
191784
+ return false;
191785
+ }
191786
+ }
191787
+ function propertyIsUnsafe(target, key) {
191788
+ return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
191789
+ }
191790
+ function mergeObject(target, source, options) {
191791
+ var destination = {};
191792
+ if (options.isMergeableObject(target)) {
191793
+ getKeys(target).forEach(function(key) {
191794
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
191795
+ });
191796
+ }
191797
+ getKeys(source).forEach(function(key) {
191798
+ if (propertyIsUnsafe(target, key)) {
191799
+ return;
191800
+ }
191801
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
191802
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
191803
+ } else {
191804
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
191805
+ }
191806
+ });
191807
+ return destination;
191808
+ }
191809
+ function deepmerge(target, source, options) {
191810
+ options = options || {};
191811
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
191812
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
191813
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
191814
+ var sourceIsArray = Array.isArray(source);
191815
+ var targetIsArray = Array.isArray(target);
191816
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
191817
+ if (!sourceAndTargetTypesMatch) {
191818
+ return cloneUnlessOtherwiseSpecified(source, options);
191819
+ } else if (sourceIsArray) {
191820
+ return options.arrayMerge(target, source, options);
191821
+ } else {
191822
+ return mergeObject(target, source, options);
191823
+ }
191824
+ }
191825
+ deepmerge.all = function deepmergeAll(array, options) {
191826
+ if (!Array.isArray(array)) {
191827
+ throw new Error("first argument should be an array");
191828
+ }
191829
+ return array.reduce(function(prev, next) {
191830
+ return deepmerge(prev, next, options);
191831
+ }, {});
191832
+ };
191833
+ var deepmerge_1 = deepmerge;
191834
+ module2.exports = deepmerge_1;
191835
+ }
191836
+ });
191651
191837
  var require_tslib3 = __commonJS4({
191652
191838
  "../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.js"(exports, module2) {
191653
191839
  var __extends;
@@ -193904,7 +194090,7 @@ var require_path_visitor3 = __commonJS4({
193904
194090
  }
193905
194091
  return target;
193906
194092
  }
193907
- PathVisitor.visit = function visit12(node2, methods) {
194093
+ PathVisitor.visit = function visit13(node2, methods) {
193908
194094
  return PathVisitor.fromMethodsObject(methods).visit(node2);
193909
194095
  };
193910
194096
  var PVp = PathVisitor.prototype;
@@ -194095,7 +194281,7 @@ var require_path_visitor3 = __commonJS4({
194095
194281
  this.needToCallTraverse = false;
194096
194282
  return visitChildren(path22, PathVisitor.fromMethodsObject(newVisitor || this.visitor));
194097
194283
  };
194098
- sharedContextProtoMethods.visit = function visit12(path22, newVisitor) {
194284
+ sharedContextProtoMethods.visit = function visit13(path22, newVisitor) {
194099
194285
  if (!(this instanceof this.Context)) {
194100
194286
  throw new Error("");
194101
194287
  }
@@ -195438,7 +195624,7 @@ var require_main4 = __commonJS4({
195438
195624
  var someField = _a.someField;
195439
195625
  var Type = _a.Type;
195440
195626
  var use = _a.use;
195441
- var visit12 = _a.visit;
195627
+ var visit13 = _a.visit;
195442
195628
  exports.astNodesAreEquivalent = astNodesAreEquivalent;
195443
195629
  exports.builders = builders;
195444
195630
  exports.builtInTypes = builtInTypes;
@@ -195455,7 +195641,7 @@ var require_main4 = __commonJS4({
195455
195641
  exports.someField = someField;
195456
195642
  exports.Type = Type;
195457
195643
  exports.use = use;
195458
- exports.visit = visit12;
195644
+ exports.visit = visit13;
195459
195645
  Object.assign(namedTypes_1.namedTypes, n);
195460
195646
  }
195461
195647
  });
@@ -207870,107 +208056,6 @@ var require_main23 = __commonJS4({
207870
208056
  }
207871
208057
  }
207872
208058
  });
207873
- var require_cjs3 = __commonJS4({
207874
- "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
207875
- "use strict";
207876
- var isMergeableObject = function isMergeableObject2(value2) {
207877
- return isNonNullObject(value2) && !isSpecial(value2);
207878
- };
207879
- function isNonNullObject(value2) {
207880
- return !!value2 && typeof value2 === "object";
207881
- }
207882
- function isSpecial(value2) {
207883
- var stringValue = Object.prototype.toString.call(value2);
207884
- return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
207885
- }
207886
- var canUseSymbol = typeof Symbol === "function" && Symbol.for;
207887
- var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
207888
- function isReactElement(value2) {
207889
- return value2.$$typeof === REACT_ELEMENT_TYPE;
207890
- }
207891
- function emptyTarget(val) {
207892
- return Array.isArray(val) ? [] : {};
207893
- }
207894
- function cloneUnlessOtherwiseSpecified(value2, options) {
207895
- return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
207896
- }
207897
- function defaultArrayMerge(target, source, options) {
207898
- return target.concat(source).map(function(element) {
207899
- return cloneUnlessOtherwiseSpecified(element, options);
207900
- });
207901
- }
207902
- function getMergeFunction(key, options) {
207903
- if (!options.customMerge) {
207904
- return deepmerge;
207905
- }
207906
- var customMerge = options.customMerge(key);
207907
- return typeof customMerge === "function" ? customMerge : deepmerge;
207908
- }
207909
- function getEnumerableOwnPropertySymbols(target) {
207910
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
207911
- return target.propertyIsEnumerable(symbol);
207912
- }) : [];
207913
- }
207914
- function getKeys(target) {
207915
- return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
207916
- }
207917
- function propertyIsOnObject(object, property) {
207918
- try {
207919
- return property in object;
207920
- } catch (_) {
207921
- return false;
207922
- }
207923
- }
207924
- function propertyIsUnsafe(target, key) {
207925
- return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
207926
- }
207927
- function mergeObject(target, source, options) {
207928
- var destination = {};
207929
- if (options.isMergeableObject(target)) {
207930
- getKeys(target).forEach(function(key) {
207931
- destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
207932
- });
207933
- }
207934
- getKeys(source).forEach(function(key) {
207935
- if (propertyIsUnsafe(target, key)) {
207936
- return;
207937
- }
207938
- if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
207939
- destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
207940
- } else {
207941
- destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
207942
- }
207943
- });
207944
- return destination;
207945
- }
207946
- function deepmerge(target, source, options) {
207947
- options = options || {};
207948
- options.arrayMerge = options.arrayMerge || defaultArrayMerge;
207949
- options.isMergeableObject = options.isMergeableObject || isMergeableObject;
207950
- options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
207951
- var sourceIsArray = Array.isArray(source);
207952
- var targetIsArray = Array.isArray(target);
207953
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
207954
- if (!sourceAndTargetTypesMatch) {
207955
- return cloneUnlessOtherwiseSpecified(source, options);
207956
- } else if (sourceIsArray) {
207957
- return options.arrayMerge(target, source, options);
207958
- } else {
207959
- return mergeObject(target, source, options);
207960
- }
207961
- }
207962
- deepmerge.all = function deepmergeAll(array, options) {
207963
- if (!Array.isArray(array)) {
207964
- throw new Error("first argument should be an array");
207965
- }
207966
- return array.reduce(function(prev, next) {
207967
- return deepmerge(prev, next, options);
207968
- }, {});
207969
- };
207970
- var deepmerge_1 = deepmerge;
207971
- module2.exports = deepmerge_1;
207972
- }
207973
- });
207974
208059
  var graphql252 = __toESM4(require_graphql23(), 1);
207975
208060
  var import_memfs22 = __toESM4(require_lib5(), 1);
207976
208061
  var graphql27 = __toESM4(require_graphql23(), 1);
@@ -210411,10 +210496,11 @@ var query3 = documentPlugin3(ArtifactKind3.Query, function() {
210411
210496
  cache_default3.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
210412
210497
  }
210413
210498
  lastVariables = { ...marshalVariables(ctx) };
210499
+ const variables = lastVariables;
210414
210500
  subscriptionSpec = {
210415
210501
  rootType: ctx.artifact.rootType,
210416
210502
  selection: ctx.artifact.selection,
210417
- variables: () => lastVariables,
210503
+ variables: () => variables,
210418
210504
  set: (newValue) => {
210419
210505
  resolve22(ctx, {
210420
210506
  data: newValue,
@@ -210441,12 +210527,17 @@ var query3 = documentPlugin3(ArtifactKind3.Query, function() {
210441
210527
  });
210442
210528
  var fragment3 = documentPlugin3(ArtifactKind3.Fragment, function() {
210443
210529
  let subscriptionSpec = null;
210530
+ let lastReference = null;
210444
210531
  return {
210445
210532
  start(ctx, { next, resolve: resolve22, variablesChanged, marshalVariables }) {
210446
210533
  if (!ctx.stuff.parentID) {
210447
210534
  return next(ctx);
210448
210535
  }
210449
- if (variablesChanged(ctx) && !ctx.cacheParams?.disableSubscriptions) {
210536
+ const currentReference = {
210537
+ parent: ctx.stuff.parentID,
210538
+ variables: marshalVariables(ctx)
210539
+ };
210540
+ if (!ctx.cacheParams?.disableSubscriptions && (!deepEquals3(lastReference, currentReference) || variablesChanged(ctx))) {
210450
210541
  if (subscriptionSpec) {
210451
210542
  cache_default3.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
210452
210543
  }
@@ -210469,6 +210560,7 @@ var fragment3 = documentPlugin3(ArtifactKind3.Fragment, function() {
210469
210560
  }
210470
210561
  };
210471
210562
  cache_default3.subscribe(subscriptionSpec, variables);
210563
+ lastReference = currentReference;
210472
210564
  }
210473
210565
  next(ctx);
210474
210566
  },
@@ -210970,6 +211062,17 @@ var Config = class {
210970
211062
  }, []) ?? [];
210971
211063
  return !defaultDirectives3.includes(name) && (internalDirectives.includes(name) || this.isDeleteDirective(name));
210972
211064
  }
211065
+ needsRefetchArtifact(document2) {
211066
+ let needsArtifact = false;
211067
+ graphql27.visit(document2, {
211068
+ Directive: (node2) => {
211069
+ if ([this.paginateDirective].includes(node2.name.value)) {
211070
+ needsArtifact = true;
211071
+ }
211072
+ }
211073
+ });
211074
+ return needsArtifact;
211075
+ }
210973
211076
  #fragmentVariableMaps;
210974
211077
  registerFragmentVariablesHash({
210975
211078
  hash,
@@ -211095,9 +211198,9 @@ var emptySchema3 = graphql27.buildSchema("type Query { hello: String }");
211095
211198
  var defaultDirectives3 = emptySchema3.getDirectives().map((dir) => dir.name);
211096
211199
  var graphql28 = __toESM4(require_graphql23(), 1);
211097
211200
  var import_parser3 = __toESM4(require_lib33(), 1);
211201
+ var import_deepmerge3 = __toESM4(require_cjs3(), 1);
211098
211202
  var recast14 = __toESM4(require_main23(), 1);
211099
211203
  var AST14 = recast14.types.builders;
211100
- var import_deepmerge3 = __toESM4(require_cjs3(), 1);
211101
211204
  var graphql122 = __toESM4(require_graphql23(), 1);
211102
211205
  var recast52 = __toESM4(require_main23(), 1);
211103
211206
  var recast23 = __toESM4(require_main23(), 1);
@@ -218058,7 +218161,7 @@ var require_visitor5 = __commonJS5({
218058
218161
  Object.defineProperty(exports, "__esModule", {
218059
218162
  value: true
218060
218163
  });
218061
- exports.visit = visit13;
218164
+ exports.visit = visit14;
218062
218165
  exports.visitInParallel = visitInParallel;
218063
218166
  exports.getVisitFn = getVisitFn;
218064
218167
  exports.BREAK = exports.QueryDocumentKeys = void 0;
@@ -218121,7 +218224,7 @@ var require_visitor5 = __commonJS5({
218121
218224
  exports.QueryDocumentKeys = QueryDocumentKeys;
218122
218225
  var BREAK = Object.freeze({});
218123
218226
  exports.BREAK = BREAK;
218124
- function visit13(root, visitor) {
218227
+ function visit14(root, visitor) {
218125
218228
  var visitorKeys = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : QueryDocumentKeys;
218126
218229
  var stack = void 0;
218127
218230
  var inArray = Array.isArray(root);
@@ -256592,6 +256695,107 @@ var require_lib34 = __commonJS5({
256592
256695
  exports.tokTypes = tokTypes;
256593
256696
  }
256594
256697
  });
256698
+ var require_cjs4 = __commonJS5({
256699
+ "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
256700
+ "use strict";
256701
+ var isMergeableObject = function isMergeableObject2(value2) {
256702
+ return isNonNullObject(value2) && !isSpecial(value2);
256703
+ };
256704
+ function isNonNullObject(value2) {
256705
+ return !!value2 && typeof value2 === "object";
256706
+ }
256707
+ function isSpecial(value2) {
256708
+ var stringValue = Object.prototype.toString.call(value2);
256709
+ return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
256710
+ }
256711
+ var canUseSymbol = typeof Symbol === "function" && Symbol.for;
256712
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
256713
+ function isReactElement(value2) {
256714
+ return value2.$$typeof === REACT_ELEMENT_TYPE;
256715
+ }
256716
+ function emptyTarget(val) {
256717
+ return Array.isArray(val) ? [] : {};
256718
+ }
256719
+ function cloneUnlessOtherwiseSpecified(value2, options) {
256720
+ return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
256721
+ }
256722
+ function defaultArrayMerge(target, source, options) {
256723
+ return target.concat(source).map(function(element) {
256724
+ return cloneUnlessOtherwiseSpecified(element, options);
256725
+ });
256726
+ }
256727
+ function getMergeFunction(key, options) {
256728
+ if (!options.customMerge) {
256729
+ return deepmerge;
256730
+ }
256731
+ var customMerge = options.customMerge(key);
256732
+ return typeof customMerge === "function" ? customMerge : deepmerge;
256733
+ }
256734
+ function getEnumerableOwnPropertySymbols(target) {
256735
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
256736
+ return target.propertyIsEnumerable(symbol);
256737
+ }) : [];
256738
+ }
256739
+ function getKeys(target) {
256740
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
256741
+ }
256742
+ function propertyIsOnObject(object, property) {
256743
+ try {
256744
+ return property in object;
256745
+ } catch (_) {
256746
+ return false;
256747
+ }
256748
+ }
256749
+ function propertyIsUnsafe(target, key) {
256750
+ return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
256751
+ }
256752
+ function mergeObject(target, source, options) {
256753
+ var destination = {};
256754
+ if (options.isMergeableObject(target)) {
256755
+ getKeys(target).forEach(function(key) {
256756
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
256757
+ });
256758
+ }
256759
+ getKeys(source).forEach(function(key) {
256760
+ if (propertyIsUnsafe(target, key)) {
256761
+ return;
256762
+ }
256763
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
256764
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
256765
+ } else {
256766
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
256767
+ }
256768
+ });
256769
+ return destination;
256770
+ }
256771
+ function deepmerge(target, source, options) {
256772
+ options = options || {};
256773
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
256774
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
256775
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
256776
+ var sourceIsArray = Array.isArray(source);
256777
+ var targetIsArray = Array.isArray(target);
256778
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
256779
+ if (!sourceAndTargetTypesMatch) {
256780
+ return cloneUnlessOtherwiseSpecified(source, options);
256781
+ } else if (sourceIsArray) {
256782
+ return options.arrayMerge(target, source, options);
256783
+ } else {
256784
+ return mergeObject(target, source, options);
256785
+ }
256786
+ }
256787
+ deepmerge.all = function deepmergeAll(array, options) {
256788
+ if (!Array.isArray(array)) {
256789
+ throw new Error("first argument should be an array");
256790
+ }
256791
+ return array.reduce(function(prev, next) {
256792
+ return deepmerge(prev, next, options);
256793
+ }, {});
256794
+ };
256795
+ var deepmerge_1 = deepmerge;
256796
+ module2.exports = deepmerge_1;
256797
+ }
256798
+ });
256595
256799
  var require_tslib4 = __commonJS5({
256596
256800
  "../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.js"(exports, module2) {
256597
256801
  var __extends;
@@ -258848,7 +259052,7 @@ var require_path_visitor4 = __commonJS5({
258848
259052
  }
258849
259053
  return target;
258850
259054
  }
258851
- PathVisitor.visit = function visit13(node2, methods) {
259055
+ PathVisitor.visit = function visit14(node2, methods) {
258852
259056
  return PathVisitor.fromMethodsObject(methods).visit(node2);
258853
259057
  };
258854
259058
  var PVp = PathVisitor.prototype;
@@ -259039,7 +259243,7 @@ var require_path_visitor4 = __commonJS5({
259039
259243
  this.needToCallTraverse = false;
259040
259244
  return visitChildren(path22, PathVisitor.fromMethodsObject(newVisitor || this.visitor));
259041
259245
  };
259042
- sharedContextProtoMethods.visit = function visit13(path22, newVisitor) {
259246
+ sharedContextProtoMethods.visit = function visit14(path22, newVisitor) {
259043
259247
  if (!(this instanceof this.Context)) {
259044
259248
  throw new Error("");
259045
259249
  }
@@ -260382,7 +260586,7 @@ var require_main5 = __commonJS5({
260382
260586
  var someField = _a.someField;
260383
260587
  var Type = _a.Type;
260384
260588
  var use = _a.use;
260385
- var visit13 = _a.visit;
260589
+ var visit14 = _a.visit;
260386
260590
  exports.astNodesAreEquivalent = astNodesAreEquivalent;
260387
260591
  exports.builders = builders;
260388
260592
  exports.builtInTypes = builtInTypes;
@@ -260399,7 +260603,7 @@ var require_main5 = __commonJS5({
260399
260603
  exports.someField = someField;
260400
260604
  exports.Type = Type;
260401
260605
  exports.use = use;
260402
- exports.visit = visit13;
260606
+ exports.visit = visit14;
260403
260607
  Object.assign(namedTypes_1.namedTypes, n);
260404
260608
  }
260405
260609
  });
@@ -272814,107 +273018,6 @@ var require_main24 = __commonJS5({
272814
273018
  }
272815
273019
  }
272816
273020
  });
272817
- var require_cjs4 = __commonJS5({
272818
- "../../node_modules/.pnpm/deepmerge@4.2.2/node_modules/deepmerge/dist/cjs.js"(exports, module2) {
272819
- "use strict";
272820
- var isMergeableObject = function isMergeableObject2(value2) {
272821
- return isNonNullObject(value2) && !isSpecial(value2);
272822
- };
272823
- function isNonNullObject(value2) {
272824
- return !!value2 && typeof value2 === "object";
272825
- }
272826
- function isSpecial(value2) {
272827
- var stringValue = Object.prototype.toString.call(value2);
272828
- return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value2);
272829
- }
272830
- var canUseSymbol = typeof Symbol === "function" && Symbol.for;
272831
- var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
272832
- function isReactElement(value2) {
272833
- return value2.$$typeof === REACT_ELEMENT_TYPE;
272834
- }
272835
- function emptyTarget(val) {
272836
- return Array.isArray(val) ? [] : {};
272837
- }
272838
- function cloneUnlessOtherwiseSpecified(value2, options) {
272839
- return options.clone !== false && options.isMergeableObject(value2) ? deepmerge(emptyTarget(value2), value2, options) : value2;
272840
- }
272841
- function defaultArrayMerge(target, source, options) {
272842
- return target.concat(source).map(function(element) {
272843
- return cloneUnlessOtherwiseSpecified(element, options);
272844
- });
272845
- }
272846
- function getMergeFunction(key, options) {
272847
- if (!options.customMerge) {
272848
- return deepmerge;
272849
- }
272850
- var customMerge = options.customMerge(key);
272851
- return typeof customMerge === "function" ? customMerge : deepmerge;
272852
- }
272853
- function getEnumerableOwnPropertySymbols(target) {
272854
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
272855
- return target.propertyIsEnumerable(symbol);
272856
- }) : [];
272857
- }
272858
- function getKeys(target) {
272859
- return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
272860
- }
272861
- function propertyIsOnObject(object, property) {
272862
- try {
272863
- return property in object;
272864
- } catch (_) {
272865
- return false;
272866
- }
272867
- }
272868
- function propertyIsUnsafe(target, key) {
272869
- return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
272870
- }
272871
- function mergeObject(target, source, options) {
272872
- var destination = {};
272873
- if (options.isMergeableObject(target)) {
272874
- getKeys(target).forEach(function(key) {
272875
- destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
272876
- });
272877
- }
272878
- getKeys(source).forEach(function(key) {
272879
- if (propertyIsUnsafe(target, key)) {
272880
- return;
272881
- }
272882
- if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
272883
- destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
272884
- } else {
272885
- destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
272886
- }
272887
- });
272888
- return destination;
272889
- }
272890
- function deepmerge(target, source, options) {
272891
- options = options || {};
272892
- options.arrayMerge = options.arrayMerge || defaultArrayMerge;
272893
- options.isMergeableObject = options.isMergeableObject || isMergeableObject;
272894
- options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
272895
- var sourceIsArray = Array.isArray(source);
272896
- var targetIsArray = Array.isArray(target);
272897
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
272898
- if (!sourceAndTargetTypesMatch) {
272899
- return cloneUnlessOtherwiseSpecified(source, options);
272900
- } else if (sourceIsArray) {
272901
- return options.arrayMerge(target, source, options);
272902
- } else {
272903
- return mergeObject(target, source, options);
272904
- }
272905
- }
272906
- deepmerge.all = function deepmergeAll(array, options) {
272907
- if (!Array.isArray(array)) {
272908
- throw new Error("first argument should be an array");
272909
- }
272910
- return array.reduce(function(prev, next) {
272911
- return deepmerge(prev, next, options);
272912
- }, {});
272913
- };
272914
- var deepmerge_1 = deepmerge;
272915
- module2.exports = deepmerge_1;
272916
- }
272917
- });
272918
273021
  var import_minimatch22 = __toESM5(require_minimatch4(), 1);
272919
273022
  var config2 = {
272920
273023
  reset: {
@@ -276368,10 +276471,11 @@ var query4 = documentPlugin4(ArtifactKind4.Query, function() {
276368
276471
  cache_default4.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
276369
276472
  }
276370
276473
  lastVariables = { ...marshalVariables(ctx) };
276474
+ const variables = lastVariables;
276371
276475
  subscriptionSpec = {
276372
276476
  rootType: ctx.artifact.rootType,
276373
276477
  selection: ctx.artifact.selection,
276374
- variables: () => lastVariables,
276478
+ variables: () => variables,
276375
276479
  set: (newValue) => {
276376
276480
  resolve22(ctx, {
276377
276481
  data: newValue,
@@ -276398,12 +276502,17 @@ var query4 = documentPlugin4(ArtifactKind4.Query, function() {
276398
276502
  });
276399
276503
  var fragment4 = documentPlugin4(ArtifactKind4.Fragment, function() {
276400
276504
  let subscriptionSpec = null;
276505
+ let lastReference = null;
276401
276506
  return {
276402
276507
  start(ctx, { next, resolve: resolve22, variablesChanged, marshalVariables }) {
276403
276508
  if (!ctx.stuff.parentID) {
276404
276509
  return next(ctx);
276405
276510
  }
276406
- if (variablesChanged(ctx) && !ctx.cacheParams?.disableSubscriptions) {
276511
+ const currentReference = {
276512
+ parent: ctx.stuff.parentID,
276513
+ variables: marshalVariables(ctx)
276514
+ };
276515
+ if (!ctx.cacheParams?.disableSubscriptions && (!deepEquals4(lastReference, currentReference) || variablesChanged(ctx))) {
276407
276516
  if (subscriptionSpec) {
276408
276517
  cache_default4.unsubscribe(subscriptionSpec, subscriptionSpec.variables?.() || {});
276409
276518
  }
@@ -276426,6 +276535,7 @@ var fragment4 = documentPlugin4(ArtifactKind4.Fragment, function() {
276426
276535
  }
276427
276536
  };
276428
276537
  cache_default4.subscribe(subscriptionSpec, variables);
276538
+ lastReference = currentReference;
276429
276539
  }
276430
276540
  next(ctx);
276431
276541
  },
@@ -276491,9 +276601,9 @@ var emptySchema4 = graphql210.buildSchema("type Query { hello: String }");
276491
276601
  var defaultDirectives4 = emptySchema4.getDirectives().map((dir) => dir.name);
276492
276602
  var graphql34 = __toESM5(require_graphql24(), 1);
276493
276603
  var import_parser4 = __toESM5(require_lib34(), 1);
276604
+ var import_deepmerge4 = __toESM5(require_cjs4(), 1);
276494
276605
  var recast15 = __toESM5(require_main24(), 1);
276495
276606
  var AST15 = recast15.types.builders;
276496
- var import_deepmerge4 = __toESM5(require_cjs4(), 1);
276497
276607
  var graphql44 = __toESM5(require_graphql24(), 1);
276498
276608
  var graphql143 = __toESM5(require_graphql24(), 1);
276499
276609
  var recast53 = __toESM5(require_main24(), 1);