on-zero 0.4.48 → 0.4.50

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 (40) hide show
  1. package/dist/cjs/createUseQuery.cjs +29 -20
  2. package/dist/cjs/createUseQuery.native.js +27 -14
  3. package/dist/cjs/createUseQuery.native.js.map +1 -1
  4. package/dist/cjs/createUseQueryDirect.cjs +5 -1
  5. package/dist/cjs/createUseQueryDirect.native.js +5 -1
  6. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  7. package/dist/cjs/useContentStable.cjs +66 -0
  8. package/dist/cjs/useContentStable.native.js +93 -0
  9. package/dist/cjs/useContentStable.native.js.map +1 -0
  10. package/dist/cjs/useContentStable.test.cjs +105 -0
  11. package/dist/cjs/useContentStable.test.native.js +108 -0
  12. package/dist/cjs/useContentStable.test.native.js.map +1 -0
  13. package/dist/esm/createUseQuery.mjs +29 -20
  14. package/dist/esm/createUseQuery.mjs.map +1 -1
  15. package/dist/esm/createUseQuery.native.js +27 -14
  16. package/dist/esm/createUseQuery.native.js.map +1 -1
  17. package/dist/esm/createUseQueryDirect.mjs +5 -1
  18. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  19. package/dist/esm/createUseQueryDirect.native.js +5 -1
  20. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  21. package/dist/esm/useContentStable.mjs +40 -0
  22. package/dist/esm/useContentStable.mjs.map +1 -0
  23. package/dist/esm/useContentStable.native.js +64 -0
  24. package/dist/esm/useContentStable.native.js.map +1 -0
  25. package/dist/esm/useContentStable.test.mjs +106 -0
  26. package/dist/esm/useContentStable.test.mjs.map +1 -0
  27. package/dist/esm/useContentStable.test.native.js +106 -0
  28. package/dist/esm/useContentStable.test.native.js.map +1 -0
  29. package/package.json +2 -2
  30. package/src/createUseQuery.tsx +44 -12
  31. package/src/createUseQueryDirect.tsx +10 -1
  32. package/src/useContentStable.test.ts +61 -0
  33. package/src/useContentStable.ts +78 -0
  34. package/types/createUseQuery.d.ts +2 -2
  35. package/types/createUseQuery.d.ts.map +1 -1
  36. package/types/createUseQueryDirect.d.ts.map +1 -1
  37. package/types/useContentStable.d.ts +3 -0
  38. package/types/useContentStable.d.ts.map +1 -0
  39. package/types/useContentStable.test.d.ts +2 -0
  40. package/types/useContentStable.test.d.ts.map +1 -0
@@ -32,6 +32,7 @@ var import_bindings = require("@rocicorp/zero/bindings");
32
32
  var import_react2 = require("react");
33
33
  var import_useZeroDebug = require("./helpers/useZeroDebug.cjs");
34
34
  var import_resolveQuery = require("./resolveQuery.cjs");
35
+ var import_useContentStable = require("./useContentStable.cjs");
35
36
  const EMPTY_PLURAL = Object.freeze([]);
36
37
  const RESULT_UNKNOWN = Object.freeze({
37
38
  type: "unknown"
@@ -76,27 +77,30 @@ function createUseQuery({
76
77
  const lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE_PLURAL);
77
78
  const [fn, paramsOrOptions, optionsArg] = args;
78
79
  const {
79
- queryRequest,
80
+ params,
80
81
  options
81
- } = (0, import_react2.useMemo)(() => {
82
- const {
83
- params,
84
- options: opts
85
- } = parseUseQueryArgs(paramsOrOptions, optionsArg);
86
- const queryRequest2 = (0, import_resolveQuery.resolveQuery)({
87
- customQueries,
88
- fn,
89
- params
90
- });
91
- return {
92
- queryRequest: queryRequest2,
93
- options: opts
94
- };
95
- }, [fn, paramsOrOptions, optionsArg]);
96
- const effectiveOptions = disableMode ? typeof options === "boolean" ? false : {
97
- ...(options ?? {}),
98
- enabled: false
99
- } : options;
82
+ } = parseUseQueryArgs(paramsOrOptions, optionsArg);
83
+ const paramsKey = params === void 0 ? "" : JSON.stringify(params);
84
+ const queryRequest = (0, import_react2.useMemo)(() => (0, import_resolveQuery.resolveQuery)({
85
+ customQueries,
86
+ fn,
87
+ params
88
+ }),
89
+ // eslint-disable-next-line react-hooks/exhaustive-deps
90
+ [fn, paramsKey]);
91
+ let optionEnabled;
92
+ let optionTTL;
93
+ if (typeof options === "boolean") {
94
+ optionEnabled = options;
95
+ } else if (options) {
96
+ optionEnabled = options.enabled;
97
+ optionTTL = options.ttl;
98
+ }
99
+ const effectiveEnabled = disableMode ? false : optionEnabled;
100
+ const effectiveOptions = (0, import_react2.useMemo)(() => ({
101
+ enabled: effectiveEnabled,
102
+ ttl: optionTTL
103
+ }), [effectiveEnabled, optionTTL]);
100
104
  const rawOut = (0, import_react.useQuery)(queryRequest, effectiveOptions);
101
105
  let out = rawOut;
102
106
  if (rawOut?.[0] === null) {
@@ -105,6 +109,11 @@ function createUseQuery({
105
109
  out = [EMPTY_PLURAL, rawOut[1] ?? RESULT_UNKNOWN];
106
110
  }
107
111
  }
112
+ const stableData = (0, import_useContentStable.useContentStable)(out?.[0]);
113
+ const stableInfo = (0, import_useContentStable.useContentStable)(out?.[1]);
114
+ if (stableData !== out?.[0] || stableInfo !== out?.[1]) {
115
+ out = [stableData, stableInfo];
116
+ }
108
117
  if (process.env.NODE_ENV === "development") {
109
118
  if (process.env.DEBUG_ZERO_QUERIES === "1") (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out);
110
119
  }
@@ -34,6 +34,7 @@ var import_bindings = require("@rocicorp/zero/bindings");
34
34
  var import_react2 = require("react");
35
35
  var import_useZeroDebug = require("./helpers/useZeroDebug.native.js");
36
36
  var import_resolveQuery = require("./resolveQuery.native.js");
37
+ var import_useContentStable = require("./useContentStable.native.js");
37
38
  function _type_of(obj) {
38
39
  "@swc/helpers - typeof";
39
40
 
@@ -87,27 +88,34 @@ function createUseQuery(param) {
87
88
  var lastRef = (0, import_react2.useRef)(EMPTY_RESPONSE_PLURAL);
88
89
  var [fn, paramsOrOptions, optionsArg] = args;
89
90
  var {
90
- queryRequest,
91
+ params,
91
92
  options
92
- } = (0, import_react2.useMemo)(function () {
93
- var {
94
- params,
95
- options: opts
96
- } = parseUseQueryArgs(paramsOrOptions, optionsArg);
97
- var queryRequest2 = (0, import_resolveQuery.resolveQuery)({
93
+ } = parseUseQueryArgs(paramsOrOptions, optionsArg);
94
+ var paramsKey = params === void 0 ? "" : JSON.stringify(params);
95
+ var queryRequest = (0, import_react2.useMemo)(function () {
96
+ return (0, import_resolveQuery.resolveQuery)({
98
97
  customQueries,
99
98
  fn,
100
99
  params
101
100
  });
101
+ },
102
+ // eslint-disable-next-line react-hooks/exhaustive-deps
103
+ [fn, paramsKey]);
104
+ var optionEnabled;
105
+ var optionTTL;
106
+ if (typeof options === "boolean") {
107
+ optionEnabled = options;
108
+ } else if (options) {
109
+ optionEnabled = options.enabled;
110
+ optionTTL = options.ttl;
111
+ }
112
+ var effectiveEnabled = disableMode ? false : optionEnabled;
113
+ var effectiveOptions = (0, import_react2.useMemo)(function () {
102
114
  return {
103
- queryRequest: queryRequest2,
104
- options: opts
115
+ enabled: effectiveEnabled,
116
+ ttl: optionTTL
105
117
  };
106
- }, [fn, paramsOrOptions, optionsArg]);
107
- var effectiveOptions = disableMode ? typeof options === "boolean" ? false : {
108
- ...(options !== null && options !== void 0 ? options : {}),
109
- enabled: false
110
- } : options;
118
+ }, [effectiveEnabled, optionTTL]);
111
119
  var rawOut = (0, import_react.useQuery)(queryRequest, effectiveOptions);
112
120
  var out = rawOut;
113
121
  if ((rawOut === null || rawOut === void 0 ? void 0 : rawOut[0]) === null) {
@@ -117,6 +125,11 @@ function createUseQuery(param) {
117
125
  out = [EMPTY_PLURAL, (_rawOut_ = rawOut[1]) !== null && _rawOut_ !== void 0 ? _rawOut_ : RESULT_UNKNOWN];
118
126
  }
119
127
  }
128
+ var stableData = (0, import_useContentStable.useContentStable)(out === null || out === void 0 ? void 0 : out[0]);
129
+ var stableInfo = (0, import_useContentStable.useContentStable)(out === null || out === void 0 ? void 0 : out[1]);
130
+ if (stableData !== (out === null || out === void 0 ? void 0 : out[0]) || stableInfo !== (out === null || out === void 0 ? void 0 : out[1])) {
131
+ out = [stableData, stableInfo];
132
+ }
120
133
  if (process.env.NODE_ENV === "development") {
121
134
  if (process.env.DEBUG_ZERO_QUERIES === "1") (0, import_useZeroDebug.useZeroDebug)(queryRequest, options, out);
122
135
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","emptyResponseFor","parseUseQueryArgs","module","exports","import_react","require","import_bindings","import_react2","import_useZeroDebug","import_resolveQuery","_type_of","obj","Symbol","constructor","EMPTY_PLURAL","Object","freeze","RESULT_UNKNOWN","type","EMPTY_RESPONSE_PLURAL","EMPTY_RESPONSE_SINGULAR","queryRequest","query","addContextToQuery","internals","asQueryInternals","format","singular","e","paramsOrOptions","optionsArg","hasParams","params","options","param","DisabledContext","customQueries","window","fn","resolveQuery","useQuery","_len","arguments","length","args","Array","_key","disableMode","useContext","lastRef","useRef","useMemo","opts","queryRequest2"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQuery_exports","__export","createUseQuery","emptyResponseFor","parseUseQueryArgs","module","exports","import_react","require","import_bindings","import_react2","import_useZeroDebug","import_resolveQuery","import_useContentStable","_type_of","obj","Symbol","constructor","EMPTY_PLURAL","Object","freeze","RESULT_UNKNOWN","type","EMPTY_RESPONSE_PLURAL","EMPTY_RESPONSE_SINGULAR","queryRequest","query","addContextToQuery","internals","asQueryInternals","format","singular","e","paramsOrOptions","optionsArg","hasParams","params","options","param","DisabledContext","customQueries","window","fn","resolveQuery","useQuery","_len","arguments","length","args","Array","_key","disableMode","useContext","lastRef","useRef","paramsKey","JSON","stringify","useMemo","optionEnabled","optionTTL","enabled","ttl","effectiveEnabled","effectiveOptions"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAAyC,CAAAK,sBAAA;AACzC,IAAAO,YAAA,GAAAC,OAAoD;AACpD,IAAAC,eAAA,GAA0DD,OAAA;AAE1D,IAAAE,aAAA,GAAAF,OAA6B;AAC7B,IAAAG,mBAAA,GAAgDH,OAAA;AAChD,IAAAI,mBAAA,GAAAJ,OAAiC;AA0CjC,IAAAK,uBAAqB,GAAOL,OAAS;AACrC,SAAMM,SAAAC,GAAA,EAAiB;EACvB,uBAAM;;EACN,OAAMA,GAAA,WAAAC,MAAA,KAA0B,WAAO,IAAQD,GAAA,CAAAE,WAAW,KAAcD,MAAC,qBAAAD,GAAA;AAQlE;AACL,IAAAG,YAAI,GAAAC,MAAA,CAAAC,MAAA;AACF,IAAAC,cAAM,GAAAF,MAAQ,CAAAC,MAAA;EACdE,IAAA;AACA;AAA6D,IAC/DC,qBAAQ,GAAAJ,MAAA,CAAAC,MAAA,EAGNF,YAAO,EACTG,cAAA,CACF;AAGO,IAAAG,uBAA2B,GAAAL,MAAA,CAAAC,MAAA,CAAsB,CACtD,MAAM,EAONC,cAAO;AACiC,SACtClB,gBAAqBA,CAAAsB,YAAa;EACpC;IACF,IAAAC,KAAA,OAAAjB,eAAA,CAAAkB,iBAAA,EAAAF,YAAA;IAEO,IAAAG,SAAS,OAA0CnB,eAAA,CAAAoB,gBAAA,EAAAH,KAAA;IACxD,OAAAE,SAAA,CAAAE,MAAA,CAAAC,QAAA,GAAAP,uBAAA,GAAAD,qBAAA;EACA,SAAAS,CAAA;IAIuB,OAAAT,qBAAA;EAavB;AACE;AACE,SAAAnB,iBAAmBA,CAAA6B,eAAA,EAAkBC,UAAA;EACrC,IAAAC,SAAM,GAAAD,UAAA,KAAe,UAAAD,eAAA,YAAeA,eAAe,KAAI,WAAQ,iBAAAnB,QAAA,CAAAmB,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;EAC/D;IACFG,MAAA,EAAAD,SAAA,GAAAF,eAAA;IACFI,OAAA,EAAAF,SAAA,GAAAD,UAAA,GAAAD;EAEA;AACE;AACA,SAAA/B,cAAMA,CAAUoC,KAAA;EAChB;IAAAC,eAAW;IAAAC;EAAiB,IAAUF,KAAI;EAE1C,WAAQG,MAAA,KAAQ,WAAY;IAO5B,OAAM,UAAAC,EAAY,EAAAT,eAAW,EAAAC,UAAiB,EAAK;MACnD,IAAM;QAAAE;MAAA,IAAAhC,iBAAe,CAAA6B,eAAA,EAAAC,UAAA;MACnB,IAAAT,YAAM,OAAAb,mBAAA,CAAA+B,YAAe;QAA2BH,aAAA;QAE/CE,EAAA;QACHN;MAIA,EAAI;MACJ,OAAIjC,gBAAA,CAAAsB,YAAA;IACJ;EACE;EAAgB,SAClBmB,QAAWA,CAAA;IACT,SAAAC,IAAA,GAAAC,SAAgB,CAAQC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MACxBF,IAAA,CAAAE,IAAA,IAAYJ,SAAQ,CAAAI,IAAA;IACtB;IAQA,IAAAC,WAAM,OAAAzC,aAAmB,CAAA0C,UAAc,EAAQb,eAAA;IAC/C,IAAAc,OAAM,OAAA3C,aAAmB,CAAA4C,MAAA,EAAA/B,qBAAA;IAAA,IACvB,CAAAmB,EAAA,EAAOT,eAAW,EAAAC,UAAA,IAAkBc,IAAK;IAAU,IAClD;MAAAZ,MAAA;MAAAC;IAAkB,IAAAjC,iBAAS,CAAA6B,eAAA,EAAAC,UAAA;IAC9B,IAAAqB,SAAA,GAAAnB,MAAA,mBAAAoB,IAAA,CAAAC,SAAA,CAAArB,MAAA;IACA,IAAAX,YAAM,GAAS,IAAAf,aAAA,CAAAgD,OAAa,EAS5B,YAAe;MACX,SAAS,EAAC9C,mBAAY,CAAA+B,YAAA;QACxBH,aAAiB;QACbE,EAAA;QACFN;MACF;IACF;IAQA;IACA,CACIM,EAAA,EACFa,SAAO,CAGT;IACE,IAAAI,aAAY;IAEV,IAAAC,SAAA;IACJ,WAAAvB,OAAA;MAEAsB,aAAK,GAAatB,OAAA;IAChB,WAAQA,OAAA,EAAU;MAClBsB,aAAO,GAAAtB,OAAA,CAAAwB,OAAA;MACTD,SAAA,GAAAvB,OAAA,CAAAyB,GAAA;IAEA;IAIE,IAAAC,gBAAY,GAAAZ,WAAY,WAAAQ,aAAuB;IAC7C,IAAAK,gBAAO,OAAAtD,aAA6B,CAAAgD,OAAA;MACtC;QACAG,OAAO,EAAAE,gBAAQ;QACjBD,GAAA,EAAAF;MAEA;IACF,IAEAG,gBAAO,EACTH,SAAA,C","ignoreList":[]}
@@ -30,6 +30,7 @@ var import_helpers = require("@take-out/helpers");
30
30
  var import_react = require("react");
31
31
  var import_createUseQuery = require("./createUseQuery.cjs");
32
32
  var import_resolveQuery = require("./resolveQuery.cjs");
33
+ var import_useContentStable = require("./useContentStable.cjs");
33
34
  const DISABLED_SUBSCRIBE = () => () => {};
34
35
  const emptyArray = [];
35
36
  const resultTypeUnknown = {
@@ -226,7 +227,10 @@ function createUseQueryDirect({
226
227
  return directViewStore.getView(zero, queryRequest, effectiveEnabled, ttl);
227
228
  }, [queryRequest, enabled, ttl, version]);
228
229
  const getEmpty = () => emptyForQuery;
229
- const out = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
230
+ const rawOut = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
231
+ const stableData = (0, import_useContentStable.useContentStable)(rawOut[0]);
232
+ const stableInfo = (0, import_useContentStable.useContentStable)(rawOut[1]);
233
+ const out = stableData !== rawOut[0] || stableInfo !== rawOut[1] ? [stableData, stableInfo] : rawOut;
230
234
  if (!disableMode) {
231
235
  lastRef.current = out;
232
236
  return out;
@@ -32,6 +32,7 @@ var import_helpers = require("@take-out/helpers");
32
32
  var import_react = require("react");
33
33
  var import_createUseQuery = require("./createUseQuery.native.js");
34
34
  var import_resolveQuery = require("./resolveQuery.native.js");
35
+ var import_useContentStable = require("./useContentStable.native.js");
35
36
  function _class_call_check(instance, Constructor) {
36
37
  if (!(instance instanceof Constructor)) {
37
38
  throw new TypeError("Cannot call a class as a function");
@@ -335,7 +336,10 @@ function createUseQueryDirect(param) {
335
336
  var getEmpty = function () {
336
337
  return emptyForQuery;
337
338
  };
338
- var out = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
339
+ var rawOut = (0, import_react.useSyncExternalStore)(view ? view.subscribe : DISABLED_SUBSCRIBE, view ? view.getSnapshot : getEmpty, view ? view.getSnapshot : getEmpty);
340
+ var stableData = (0, import_useContentStable.useContentStable)(rawOut[0]);
341
+ var stableInfo = (0, import_useContentStable.useContentStable)(rawOut[1]);
342
+ var out = stableData !== rawOut[0] || stableInfo !== rawOut[1] ? [stableData, stableInfo] : rawOut;
339
343
  if (!disableMode) {
340
344
  lastRef.current = out;
341
345
  return out;
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQueryDirect_exports","__export","createUseQueryDirect","module","exports","import_bindings","require","import_helpers","import_react","import_createUseQuery","import_resolveQuery","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","DISABLED_SUBSCRIBE","emptyArray","resultTypeUnknown","type","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","_error_message","message","_error_error","refetch","details","getSnapshot","data","resultType","Array","isArray","DirectViewWrapper","DirectViewWrapper2","query","zero","ttl","onDematerialized","_this","listeners","Set","onData","cloned","deepClone","snapshot","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","destroyView","materializeIfNeeded","subscribe","notify","add","destroyTimer","clearTimeout","delete","size","setTimeout","view","materialize","addListener"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createUseQueryDirect_exports","__export","createUseQueryDirect","module","exports","import_bindings","require","import_helpers","import_react","import_createUseQuery","import_resolveQuery","import_useContentStable","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","DISABLED_SUBSCRIBE","emptyArray","resultTypeUnknown","type","resultTypeComplete","resultTypeError","emptySnapshotSingularUnknown","emptySnapshotSingularComplete","emptySnapshotSingularError","emptySnapshotPluralUnknown","emptySnapshotPluralComplete","emptySnapshotPluralError","getDefaultSnapshot","singular","makeError","retry","error","_error_message","message","_error_error","refetch","details","getSnapshot","data","resultType","Array","isArray","DirectViewWrapper","DirectViewWrapper2","query","zero","ttl","onDematerialized","_this","listeners","Set","onData","cloned","deepClone","snapshot","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","err","return","destroyView","materializeIfNeeded","subscribe","notify","add","destroyTimer","clearTimeout","delete","size","setTimeout","view","materialize","addListener"],"sources":["../../src/createUseQueryDirect.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useContentStable_exports = {};
24
+ __export(useContentStable_exports, {
25
+ isContentEqual: () => isContentEqual,
26
+ useContentStable: () => useContentStable
27
+ });
28
+ module.exports = __toCommonJS(useContentStable_exports);
29
+ var import_react = require("react");
30
+ function arraysShallowEqual(a, b) {
31
+ if (a === b) return true;
32
+ if (a.length !== b.length) return false;
33
+ for (let i = 0; i < a.length; i++) {
34
+ if (!Object.is(a[i], b[i])) return false;
35
+ }
36
+ return true;
37
+ }
38
+ function objectsShallowEqual(a, b) {
39
+ if (a === b) return true;
40
+ const ak = Object.keys(a);
41
+ const bk = Object.keys(b);
42
+ if (ak.length !== bk.length) return false;
43
+ for (const k of ak) {
44
+ if (!Object.is(a[k], b[k])) return false;
45
+ }
46
+ return true;
47
+ }
48
+ function isContentEqual(a, b) {
49
+ if (Object.is(a, b)) return true;
50
+ if (a === null || b === null || a === void 0 || b === void 0) return false;
51
+ if (typeof a !== "object" || typeof b !== "object") return false;
52
+ const aIsArr = Array.isArray(a);
53
+ const bIsArr = Array.isArray(b);
54
+ if (aIsArr !== bIsArr) return false;
55
+ if (aIsArr && bIsArr) {
56
+ return arraysShallowEqual(a, b);
57
+ }
58
+ return objectsShallowEqual(a, b);
59
+ }
60
+ function useContentStable(value) {
61
+ const ref = (0, import_react.useRef)(value);
62
+ if (!isContentEqual(ref.current, value)) {
63
+ ref.current = value;
64
+ }
65
+ return ref.current;
66
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useContentStable_exports = {};
26
+ __export(useContentStable_exports, {
27
+ isContentEqual: () => isContentEqual,
28
+ useContentStable: () => useContentStable
29
+ });
30
+ module.exports = __toCommonJS(useContentStable_exports);
31
+ var import_react = require("react");
32
+ function _type_of(obj) {
33
+ "@swc/helpers - typeof";
34
+
35
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
36
+ }
37
+ function arraysShallowEqual(a, b) {
38
+ if (a === b) return true;
39
+ if (a.length !== b.length) return false;
40
+ for (var i = 0; i < a.length; i++) {
41
+ if (!Object.is(a[i], b[i])) return false;
42
+ }
43
+ return true;
44
+ }
45
+ function objectsShallowEqual(a, b) {
46
+ if (a === b) return true;
47
+ var ak = Object.keys(a);
48
+ var bk = Object.keys(b);
49
+ if (ak.length !== bk.length) return false;
50
+ var _iteratorNormalCompletion = true,
51
+ _didIteratorError = false,
52
+ _iteratorError = void 0;
53
+ try {
54
+ for (var _iterator = ak[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
55
+ var k = _step.value;
56
+ if (!Object.is(a[k], b[k])) return false;
57
+ }
58
+ } catch (err) {
59
+ _didIteratorError = true;
60
+ _iteratorError = err;
61
+ } finally {
62
+ try {
63
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
64
+ _iterator.return();
65
+ }
66
+ } finally {
67
+ if (_didIteratorError) {
68
+ throw _iteratorError;
69
+ }
70
+ }
71
+ }
72
+ return true;
73
+ }
74
+ function isContentEqual(a, b) {
75
+ if (Object.is(a, b)) return true;
76
+ if (a === null || b === null || a === void 0 || b === void 0) return false;
77
+ if ((typeof a === "undefined" ? "undefined" : _type_of(a)) !== "object" || (typeof b === "undefined" ? "undefined" : _type_of(b)) !== "object") return false;
78
+ var aIsArr = Array.isArray(a);
79
+ var bIsArr = Array.isArray(b);
80
+ if (aIsArr !== bIsArr) return false;
81
+ if (aIsArr && bIsArr) {
82
+ return arraysShallowEqual(a, b);
83
+ }
84
+ return objectsShallowEqual(a, b);
85
+ }
86
+ function useContentStable(value) {
87
+ var ref = (0, import_react.useRef)(value);
88
+ if (!isContentEqual(ref.current, value)) {
89
+ ref.current = value;
90
+ }
91
+ return ref.current;
92
+ }
93
+ //# sourceMappingURL=useContentStable.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useContentStable_exports","__export","isContentEqual","useContentStable","module","exports","import_react","require","_type_of","obj","Symbol","constructor","arraysShallowEqual","a","b","length","i","Object","is","objectsShallowEqual","ak","keys","bk","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","k","err","return"],"sources":["../../src/useContentStable.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AA0BAC,MAAA,CAAAC,OAAA,GAAAV,YAAuB,CAAAK,wBAAA;AAEvB,IAAAM,YAAS,GAAAC,OAAA,QAA0E;AACjF,SAAIC,QAASA,CAAAC,GAAA,EAAO;EACpB,uBAAmB;;EACnB,OAAAA,GAAS,IAAI,OAAOC,MAAE,KAAQ,WAAK,IAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACjC;AAAmC,SACrCG,mBAAAC,CAAA,EAAAC,CAAA;EACA,IAAAD,CAAA,KAAOC,CAAA;EACT,IAAAD,CAAA,CAAAE,MAAA,KAAAD,CAAA,CAAAC,MAAA;EAEA,SAASC,CAAA,MAAAA,CAAA,GAAAH,CAAA,CAAAE,MAAoB,EAAWC,CAAA,EAAoB;IAC1D,IAAI,CAAAC,MAAS,CAAAC,EAAA,CAAAL,CAAA,CAAAG,CAAO,GAAAF,CAAA,CAAAE,CAAA;EACpB;EACA,OAAM,IAAK;AACX;AACA,SAAAG,mBAAoBA,CAAAN,CAAA,EAAAC,CAAA;EAClB,IAAAD,CAAA,KACGC,CAAA,SAAO;EAAA,IACLM,EAA8B,GAACH,MAAA,CAAAI,IAAA,CAAAR,CAAA;EAAA,IAC/BS,EAA8B,GAACL,MAAA,CAAAI,IAAA,CAAAP,CAAA;EAAA,IAClCM,EAAA,CAAAL,MAAA,KAAAO,EAAA,CAAAP,MAAA;EAEA,IAAAQ,yBAAO;IAAAC,iBAAA;IAAAC,cAAA;EACX;IACA,KAAO,IAAAC,SAAA,GAAAN,EAAA,CAAAV,MAAA,CAAAiB,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;MACT,IAAAQ,CAAA,GAAAH,KAAA,CAAA7B,KAAA;MAEO,IAAS,CAAAkB,MAAA,CAAAC,EAAA,CAAAL,CAAA,CAAAkB,CAAe,GAAYjB,CAAA,CAAAiB,CAAqB;IAC9D;EACA,SAAIC,GAAM;IACVR,iBAAiB;IACjBC,cAAe,GAAAO,GAAM;EACrB,UAAM;IACN,IAAI;MACA,KAAAT,yBAAkB,IAAAG,SAAA,CAAAO,MAAA;QACpBP,SAAO,CAAAO,MAAA;MACT;IACA,UAAO;MACT,IAAAT,iBAAA;QAMO,MAASC,cAAoB;MAClC;IACA;EACE;EACF;AACA;AACF,SAAAvB,eAAAW,CAAA,EAAAC,CAAA","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ var import_vitest = require("vitest");
2
+ var import_useContentStable = require("./useContentStable.cjs");
3
+ (0, import_vitest.describe)("isContentEqual", () => {
4
+ (0, import_vitest.it)("treats primitives by value", () => {
5
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(1, 1)).toBe(true);
6
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)("a", "a")).toBe(true);
7
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(true, true)).toBe(true);
8
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(void 0, void 0)).toBe(true);
9
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(null, null)).toBe(true);
10
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(1, 2)).toBe(false);
11
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)("a", "b")).toBe(false);
12
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(null, void 0)).toBe(false);
13
+ });
14
+ (0, import_vitest.it)("treats arrays by length + per-element strict-eq", () => {
15
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([], [])).toBe(true);
16
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1, 2, 3], [1, 2, 3])).toBe(true);
17
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1, 2, 3], [1, 2])).toBe(false);
18
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1, 2, 3], [1, 2, 4])).toBe(false);
19
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([{
20
+ id: 1
21
+ }], [{
22
+ id: 1
23
+ }])).toBe(false);
24
+ const row = {
25
+ id: 1
26
+ };
27
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([row], [row])).toBe(true);
28
+ });
29
+ (0, import_vitest.it)("treats objects by same keys + per-value strict-eq", () => {
30
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({}, {})).toBe(true);
31
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
32
+ a: 1,
33
+ b: 2
34
+ }, {
35
+ a: 1,
36
+ b: 2
37
+ })).toBe(true);
38
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
39
+ a: 1
40
+ }, {
41
+ a: 1,
42
+ b: 2
43
+ })).toBe(false);
44
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
45
+ a: 1
46
+ }, {
47
+ a: 2
48
+ })).toBe(false);
49
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
50
+ row: {
51
+ id: 1
52
+ }
53
+ }, {
54
+ row: {
55
+ id: 1
56
+ }
57
+ })).toBe(false);
58
+ });
59
+ (0, import_vitest.it)("rejects mismatched array vs object", () => {
60
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([], {})).toBe(false);
61
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1], {
62
+ 0: 1
63
+ })).toBe(false);
64
+ });
65
+ (0, import_vitest.it)("handles a typical zero singular-query refresh \u2014 same row content", () => {
66
+ const prev = {
67
+ id: "s1",
68
+ name: "warden",
69
+ level: 1,
70
+ hp: 60,
71
+ maxHp: 60
72
+ };
73
+ const next = {
74
+ id: "s1",
75
+ name: "warden",
76
+ level: 1,
77
+ hp: 60,
78
+ maxHp: 60
79
+ };
80
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(prev, next)).toBe(true);
81
+ });
82
+ (0, import_vitest.it)("detects a real refresh \u2014 one field changed", () => {
83
+ const prev = {
84
+ id: "s1",
85
+ hp: 60
86
+ };
87
+ const next = {
88
+ id: "s1",
89
+ hp: 59
90
+ };
91
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(prev, next)).toBe(false);
92
+ });
93
+ (0, import_vitest.it)('handles zero info objects ({type: "complete"} vs {type: "unknown"})', () => {
94
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
95
+ type: "complete"
96
+ }, {
97
+ type: "complete"
98
+ })).toBe(true);
99
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
100
+ type: "complete"
101
+ }, {
102
+ type: "unknown"
103
+ })).toBe(false);
104
+ });
105
+ });
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ var import_vitest = require("vitest");
4
+ var import_useContentStable = require("./useContentStable.native.js");
5
+ (0, import_vitest.describe)("isContentEqual", function () {
6
+ (0, import_vitest.it)("treats primitives by value", function () {
7
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(1, 1)).toBe(true);
8
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)("a", "a")).toBe(true);
9
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(true, true)).toBe(true);
10
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(void 0, void 0)).toBe(true);
11
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(null, null)).toBe(true);
12
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(1, 2)).toBe(false);
13
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)("a", "b")).toBe(false);
14
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(null, void 0)).toBe(false);
15
+ });
16
+ (0, import_vitest.it)("treats arrays by length + per-element strict-eq", function () {
17
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([], [])).toBe(true);
18
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1, 2, 3], [1, 2, 3])).toBe(true);
19
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1, 2, 3], [1, 2])).toBe(false);
20
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1, 2, 3], [1, 2, 4])).toBe(false);
21
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([{
22
+ id: 1
23
+ }], [{
24
+ id: 1
25
+ }])).toBe(false);
26
+ var row = {
27
+ id: 1
28
+ };
29
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([row], [row])).toBe(true);
30
+ });
31
+ (0, import_vitest.it)("treats objects by same keys + per-value strict-eq", function () {
32
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({}, {})).toBe(true);
33
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
34
+ a: 1,
35
+ b: 2
36
+ }, {
37
+ a: 1,
38
+ b: 2
39
+ })).toBe(true);
40
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
41
+ a: 1
42
+ }, {
43
+ a: 1,
44
+ b: 2
45
+ })).toBe(false);
46
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
47
+ a: 1
48
+ }, {
49
+ a: 2
50
+ })).toBe(false);
51
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
52
+ row: {
53
+ id: 1
54
+ }
55
+ }, {
56
+ row: {
57
+ id: 1
58
+ }
59
+ })).toBe(false);
60
+ });
61
+ (0, import_vitest.it)("rejects mismatched array vs object", function () {
62
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([], {})).toBe(false);
63
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)([1], {
64
+ 0: 1
65
+ })).toBe(false);
66
+ });
67
+ (0, import_vitest.it)("handles a typical zero singular-query refresh \u2014 same row content", function () {
68
+ var prev = {
69
+ id: "s1",
70
+ name: "warden",
71
+ level: 1,
72
+ hp: 60,
73
+ maxHp: 60
74
+ };
75
+ var next = {
76
+ id: "s1",
77
+ name: "warden",
78
+ level: 1,
79
+ hp: 60,
80
+ maxHp: 60
81
+ };
82
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(prev, next)).toBe(true);
83
+ });
84
+ (0, import_vitest.it)("detects a real refresh \u2014 one field changed", function () {
85
+ var prev = {
86
+ id: "s1",
87
+ hp: 60
88
+ };
89
+ var next = {
90
+ id: "s1",
91
+ hp: 59
92
+ };
93
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)(prev, next)).toBe(false);
94
+ });
95
+ (0, import_vitest.it)('handles zero info objects ({type: "complete"} vs {type: "unknown"})', function () {
96
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
97
+ type: "complete"
98
+ }, {
99
+ type: "complete"
100
+ })).toBe(true);
101
+ (0, import_vitest.expect)((0, import_useContentStable.isContentEqual)({
102
+ type: "complete"
103
+ }, {
104
+ type: "unknown"
105
+ })).toBe(false);
106
+ });
107
+ });
108
+ //# sourceMappingURL=useContentStable.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["import_vitest","require","import_useContentStable","describe","it","expect","isContentEqual","toBe","id"],"sources":["../../src/useContentStable.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AACA,IAAAA,aAAA,GAAAC,OAAA,SAA+B;AAAA,IAE/BC,uBAAA,GAASD,OAAA,+BAAwB;AAC/B,IAAAD,aAAA,CAAAG,QAAG,gCAA8B;EAC/B,IAAAH,aAAA,CAAAI,EAAA,8BAAO;IACP,IAAAJ,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,KAAK,EAAAC,IAAM,KAAK;IACtC,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,QAAM,EAAI,CAACC,IAAE,KAAK;IACxC,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,UAAW,GAAAC,IAAY,KAAK;IAClD,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,MAAM,OAAO,IAAAC,IAAK,CAAI;IAC5C,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,IAAI,EAAC,IAAE,EAAK,CAAAC,IAAK;IACvC,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,KAAK,EAAAC,IAAM,MAAK;IACtC,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,QAAM,GAAAC,IAAY,MAAK;IAC9C,IAAAP,aAAA,CAAAK,MAAA,MAAAH,uBAAA,CAAAI,cAAA,iBAAAC,IAAA;EAED;EACE,IAAAP,aAAA,CAAAI,EAAA,mDAAO,EAAgB,YAAQ;IAC/B,IAAAJ,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,EAAC,EAAG,GAAG,CAAC,CAAAC,IAAI,KAAM,CAAC;IACzC,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,CACtB,GAEA,GAEA,EACA,GACD,GAED,GACE,EACA,GAAAC,IAAA;IACA,IAAAP,aAAA,CAAAK,MAAA,MAAOH,uBAAA,CAAAI,cAAA,EAAe,CACtB,GAEA,GACD,EAED,GACE,GACA,EACD,GAAAC,IAAA;IAED,IAAAP,aAAA,CAAAK,MAAG,MAAAH,uBAAA,CAAAI,cAAA,GAID,GACA,GACA,EACD,GAED,GACE,GACA,EACA,GAAAC,IAAA;IACD,IAAAP,aAAA,CAAAK,MAAA,MAAAH,uBAAA,CAAAI,cAAA,GAED;MACEE,EAAA;IACA,EACD,GACF","ignoreList":[]}