@take-out/hooks 0.4.3 → 0.4.4

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 (109) hide show
  1. package/dist/cjs/index.cjs +7 -5
  2. package/dist/cjs/index.native.js +7 -5
  3. package/dist/cjs/index.native.js.map +1 -1
  4. package/dist/cjs/useClickOutside.cjs +24 -15
  5. package/dist/cjs/useClickOutside.native.js +34 -22
  6. package/dist/cjs/useClickOutside.native.js.map +1 -1
  7. package/dist/cjs/useDebouncePrepend.cjs +47 -27
  8. package/dist/cjs/useDebouncePrepend.native.js +48 -32
  9. package/dist/cjs/useDebouncePrepend.native.js.map +1 -1
  10. package/dist/cjs/useDeepMemoizedObject.cjs +154 -95
  11. package/dist/cjs/useDeepMemoizedObject.native.js +177 -111
  12. package/dist/cjs/useDeepMemoizedObject.native.js.map +1 -1
  13. package/dist/cjs/useDeepMemoizedObject.test.cjs +269 -199
  14. package/dist/cjs/useDeepMemoizedObject.test.native.js +265 -202
  15. package/dist/cjs/useDeepMemoizedObject.test.native.js.map +1 -1
  16. package/dist/cjs/useDeferredBoolean.cjs +20 -15
  17. package/dist/cjs/useDeferredBoolean.native.js +22 -17
  18. package/dist/cjs/useDeferredBoolean.native.js.map +1 -1
  19. package/dist/cjs/useEffectOnceGlobally.cjs +24 -12
  20. package/dist/cjs/useEffectOnceGlobally.native.js +27 -15
  21. package/dist/cjs/useEffectOnceGlobally.native.js.map +1 -1
  22. package/dist/cjs/useEvent.cjs +14 -11
  23. package/dist/cjs/useEvent.native.js +17 -12
  24. package/dist/cjs/useEvent.native.js.map +1 -1
  25. package/dist/cjs/useIsMounted.cjs +17 -14
  26. package/dist/cjs/useIsMounted.native.js +20 -17
  27. package/dist/cjs/useIsMounted.native.js.map +1 -1
  28. package/dist/cjs/useLastValue.cjs +13 -11
  29. package/dist/cjs/useLastValue.native.js +13 -11
  30. package/dist/cjs/useLastValue.native.js.map +1 -1
  31. package/dist/cjs/useLastValueIf.cjs +21 -14
  32. package/dist/cjs/useLastValueIf.native.js +21 -14
  33. package/dist/cjs/useLastValueIf.native.js.map +1 -1
  34. package/dist/cjs/useMemoStable.cjs +17 -14
  35. package/dist/cjs/useMemoStable.native.js +17 -14
  36. package/dist/cjs/useMemoStable.native.js.map +1 -1
  37. package/dist/cjs/useMemoizedObjectList.cjs +45 -29
  38. package/dist/cjs/useMemoizedObjectList.native.js +60 -39
  39. package/dist/cjs/useMemoizedObjectList.native.js.map +1 -1
  40. package/dist/cjs/useThrottle.cjs +34 -21
  41. package/dist/cjs/useThrottle.native.js +41 -27
  42. package/dist/cjs/useThrottle.native.js.map +1 -1
  43. package/dist/cjs/useWarnIfDepsChange.cjs +38 -27
  44. package/dist/cjs/useWarnIfDepsChange.native.js +38 -28
  45. package/dist/cjs/useWarnIfDepsChange.native.js.map +1 -1
  46. package/dist/cjs/useWarnIfMemoChangesOften.cjs +24 -15
  47. package/dist/cjs/useWarnIfMemoChangesOften.native.js +27 -21
  48. package/dist/cjs/useWarnIfMemoChangesOften.native.js.map +1 -1
  49. package/dist/esm/useClickOutside.mjs +10 -3
  50. package/dist/esm/useClickOutside.mjs.map +1 -1
  51. package/dist/esm/useClickOutside.native.js +20 -10
  52. package/dist/esm/useClickOutside.native.js.map +1 -1
  53. package/dist/esm/useDebouncePrepend.mjs +33 -15
  54. package/dist/esm/useDebouncePrepend.mjs.map +1 -1
  55. package/dist/esm/useDebouncePrepend.native.js +34 -20
  56. package/dist/esm/useDebouncePrepend.native.js.map +1 -1
  57. package/dist/esm/useDeepMemoizedObject.mjs +142 -85
  58. package/dist/esm/useDeepMemoizedObject.mjs.map +1 -1
  59. package/dist/esm/useDeepMemoizedObject.native.js +165 -101
  60. package/dist/esm/useDeepMemoizedObject.native.js.map +1 -1
  61. package/dist/esm/useDeepMemoizedObject.test.mjs +267 -197
  62. package/dist/esm/useDeepMemoizedObject.test.mjs.map +1 -1
  63. package/dist/esm/useDeepMemoizedObject.test.native.js +263 -200
  64. package/dist/esm/useDeepMemoizedObject.test.native.js.map +1 -1
  65. package/dist/esm/useDeferredBoolean.mjs +8 -5
  66. package/dist/esm/useDeferredBoolean.mjs.map +1 -1
  67. package/dist/esm/useDeferredBoolean.native.js +8 -5
  68. package/dist/esm/useDeferredBoolean.native.js.map +1 -1
  69. package/dist/esm/useEffectOnceGlobally.mjs +12 -2
  70. package/dist/esm/useEffectOnceGlobally.mjs.map +1 -1
  71. package/dist/esm/useEffectOnceGlobally.native.js +13 -3
  72. package/dist/esm/useEffectOnceGlobally.native.js.map +1 -1
  73. package/dist/esm/useEvent.mjs +2 -1
  74. package/dist/esm/useEvent.mjs.map +1 -1
  75. package/dist/esm/useEvent.native.js +5 -2
  76. package/dist/esm/useEvent.native.js.map +1 -1
  77. package/dist/esm/useIsMounted.mjs +5 -4
  78. package/dist/esm/useIsMounted.mjs.map +1 -1
  79. package/dist/esm/useIsMounted.native.js +5 -4
  80. package/dist/esm/useIsMounted.native.js.map +1 -1
  81. package/dist/esm/useLastValue.mjs +1 -1
  82. package/dist/esm/useLastValue.mjs.map +1 -1
  83. package/dist/esm/useLastValue.native.js +1 -1
  84. package/dist/esm/useLastValue.native.js.map +1 -1
  85. package/dist/esm/useLastValueIf.mjs +9 -4
  86. package/dist/esm/useLastValueIf.mjs.map +1 -1
  87. package/dist/esm/useLastValueIf.native.js +9 -4
  88. package/dist/esm/useLastValueIf.native.js.map +1 -1
  89. package/dist/esm/useMemoStable.mjs +3 -2
  90. package/dist/esm/useMemoStable.mjs.map +1 -1
  91. package/dist/esm/useMemoStable.native.js +3 -2
  92. package/dist/esm/useMemoStable.native.js.map +1 -1
  93. package/dist/esm/useMemoizedObjectList.mjs +31 -17
  94. package/dist/esm/useMemoizedObjectList.mjs.map +1 -1
  95. package/dist/esm/useMemoizedObjectList.native.js +46 -27
  96. package/dist/esm/useMemoizedObjectList.native.js.map +1 -1
  97. package/dist/esm/useThrottle.mjs +20 -9
  98. package/dist/esm/useThrottle.mjs.map +1 -1
  99. package/dist/esm/useThrottle.native.js +24 -12
  100. package/dist/esm/useThrottle.native.js.map +1 -1
  101. package/dist/esm/useWarnIfDepsChange.mjs +24 -15
  102. package/dist/esm/useWarnIfDepsChange.mjs.map +1 -1
  103. package/dist/esm/useWarnIfDepsChange.native.js +24 -16
  104. package/dist/esm/useWarnIfDepsChange.native.js.map +1 -1
  105. package/dist/esm/useWarnIfMemoChangesOften.mjs +10 -3
  106. package/dist/esm/useWarnIfMemoChangesOften.mjs.map +1 -1
  107. package/dist/esm/useWarnIfMemoChangesOften.native.js +10 -6
  108. package/dist/esm/useWarnIfMemoChangesOften.native.js.map +1 -1
  109. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useDeepMemoizedObject_exports","__export","deepMemoize","shouldBeImmutable","useDeepMemoizedObject","module","exports","import_react","require","_type_of","obj","Symbol","constructor","path","immutableToNestedChanges","currentPath","join","pattern","deepMutateInPlace","target","source","Array","isArray","length","push","key","targetValue","sourceValue","deepMemoizeWithTracking","current","previous","parentIsImmutable","arguments","hasChanges","hasImmutableMutation","isCurrentImmutable","shouldMutateInPlace","memoizedArray","i","itemPath","String","result","currentKeys","Object","keys","previousKeys","keysMatch","every","key2","hasChanges1","hasImmutableMutation1","memoizedObject","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","propPath","currentValue","previousValue","result1"],"sources":["../../src/useDeepMemoizedObject.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useDeepMemoizedObject_exports","__export","deepMemoize","shouldBeImmutable","useDeepMemoizedObject","module","exports","import_react","require","_type_of","obj","Symbol","constructor","path","immutableToNestedChanges","currentPath","join","pattern","deepMutateInPlace","target","source","Array","isArray","length","push","key","targetValue","sourceValue","deepMemoizeWithTracking","current","previous","parentIsImmutable","arguments","hasChanges","hasImmutableMutation","isCurrentImmutable","shouldMutateInPlace","memoizedArray","i","itemPath","String","result","currentKeys","Object","keys","previousKeys","keysMatch","every","key2","hasChanges1","hasImmutableMutation1","memoizedObject","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","propPath","currentValue","previousValue","result1","err"],"sources":["../../src/useDeepMemoizedObject.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,6BAAA;AAAAC,QAAA,CAAAD,6BAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAAuB,CAAAK,6BAAA;AAQhB,IAAAO,YAAS,GAAAC,OAAA,CACd,OACA;AAEA,SAAKC,SAAAC,GAAA;EAEL,uBAAoB;;EACpB,OAAAA,GAAA,IAAW,OAAAC,MAAW,oBAAAD,GAA0B,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAC9C;AACE,SAAAP,iBAAOA,CAAAU,IAAA,EAAAC,wBAAA;EAAA,IACT,CAAAA,wBAAA;EACF,IAAAC,WAAA,GAAAF,IAAA,CAAAG,IAAA;EACA,SAAOC,OAAA,IAAAH,wBAAA;IACT,IAAAA,wBAAA,CAAAG,OAAA,KAAAF,WAAA,KAAAE,OAAA;MAQA,OAAS;IACP;EAME;EACF;AAEA;AAEE,SAAAC,kBAAAC,MAAA,EAAAC,MAAA;EAAC,IAAC,QAAiBD,MAAS,iCAAAV,QAAA,CAAAU,MAAA,mBAAAA,MAAA,qBAAAC,MAAA,iCAAAX,QAAA,CAAAW,MAAA,mBAAAA,MAAA;IAC1B;EACF;EACF,IAAAC,KAAA,CAAAC,OAAA,CAAAH,MAAA,KAAAE,KAAA,CAAAC,OAAA,CAAAF,MAAA;IAGA;IACED,MAAM,CAAAI,MAAA;IACNJ,MAAM,CAAAK,IAAA,IAAAJ,MAAe;IAErB;EAOE;EAA0C,KAC5C,IAAOK,GAAA,IAAAL,MAAA;IAEL,IAAAM,WAAA,GAAAP,MAAA,CAAAM,GAAA;IAAC,IAACE,WAAkB,GAAIP,MAAA,CAAAK,GAAA;IAC1B,YAAAE,WAAA,iCAAAlB,QAAA,CAAAkB,WAAA,mBAAAA,WAAA,qBAAAD,WAAA,iCAAAjB,QAAA,CAAAiB,WAAA,mBAAAA,WAAA;MACFR,iBAAA,CAAAQ,WAAA,EAAAC,WAAA;IACF;MAEA;MAOMR,MAAA,CAAAM,GAAA,IAAYE,WAAU;IACxB;EACF;AAEA;AACE,SAAAC,uBAAyBA,CAAAC,OAAA,EAAYC,QAAM,EAAAjB,IAAA,EAAAC,wBAA4B;EACzE,IAAAiB,iBAAA,GAAAC,SAAA,CAAAT,MAAA,QAAAS,SAAA,iBAAAA,SAAA;EAEA,IAAIH,OAAO,KAAAC,QAAa;IACtB,OAAO;MACT/B,KAAA,EAAA+B,QAAA;MAEAG,UAAM;MACNC,oBAAM;IAEN;EACE;EACE,YAAOL,OAAE,KAAO,WAAS,cAAkB,GAAApB,QAAA,CAAAoB,OAAA,CAAsB,MAAM,YAAAA,OAAA;IACzE;MACA9B,KAAI,EAAA8B,OAAQ;MACVI,UAAS,MAAO;MAClBC,oBAAA;IAEA;EACA;EACA,YAAMJ,QAAA,KAAwB,4BAAArB,QAAA,CAAAqB,QAAA,mBAAAA,QAAA;IAE9B;MACE/B,KAAA,EAAM8B,OAAA;MAGNI,UAAM,MAAS;MAAAC,oBACJ;IAAA;EACC;EACV,IAAAC,kBACA,GAAAhC,iBAAA,CAAAU,IAAA,EAAAC,wBAAA;EAAA,IAAAsB,mBACA,GAAAD,kBAAA,IAAAJ,iBAAA;EAAA,IACFV,KAAA,CAAAC,OAAA,CAAAO,OAAA;IACA,KAAAR,KAAA,CAAAC,OAAe,CAAAQ,QAAI,CAAO;MAC1B,OAAI;QACF/B,KAAA,EAAA8B,OAAa;QACfI,UAAA;QACAC,oBAAW;MACT;IAAuB;IAE3B,IAAAL,OAAA,CAAAN,MAAA,KAAAO,QAAA,CAAAP,MAAA;MAGA,OAAI;QACFxB,KAAO,EAAE8B,OAAO;QAClBI,UAAA;QACAC,oBAAgB,EAAU;MAC5B;IAEA;IACA,IAAMD,UAAA,QAAe;IAErB,IAAIC,oBAAY,GAAW;IACzB,IAAAG,aAAgB;IAClB,SAAAC,CAAA,MAAAA,CAAA,GAAAT,OAAA,CAAAN,MAAA,EAAAe,CAAA;MAEA,IAAMC,QAAA,GAAY,CACb,GAAA1B,IAAA,EACH2B,MAAS,CAAAF,CAAA,EACX;MAEI,IAAAG,MAAA,GAAab,uBAAA,CAAAC,OAAA,CAAAS,CAAA,GAAAR,QAAA,CAAAQ,CAAA,GAAAC,QAAA,EAAAzB,wBAAA;MACbuB,aAAA,CAAAC,CAAA,IAAAG,MAAuB,CAAA1C,KAAA;MAC3B,IAAM0C,MAAA,CAAAR,UAAuB;QAE7BA,UAAW,GAAO;MAChB;MACA,IAAMQ,MAAA,CAAAP,oBAAmC;QACzCA,oBAAuB,OAAiB;MAGxC;IAAe;IACb,IACAD,UAAA,IAAAC,oBAAA;MACA;QACAnC,KAAA,EAAAsC,aAAA;QACAJ,UAAA;QACFC,oBAAA;MAEA;IACA;IACE;MACFnC,KAAA,EAAA+B,QAAA;MACAG,UAAW;MACTC,oBAAA;IACF;EACF;EAEA,IAAIQ,WAAA,GAAAC,MAAA,CAAAC,IAAwB,CAAAf,OAAA;EAG1B,IAAAgB,YAAI,GAAAF,MAAmB,CAAAC,IAAA,CAAAd,QAAA;EAErB,IAAAY,WAAA,CAAAnB,MAAkB,KAAAsB,YAAiB,CAAAtB,MAAA;IACrC,OAAO;MAELxB,KAAA,EAAA8B,OAAW;MACTI,UAAA;MAACC,oBAAyB;IAAkB;EAC9C;EAGF,IAAAY,SAAS,GAAAJ,WAAO,CAAUK,KAAA,WAAYC,IAAO;IAC/C,OAAAA,IAAA,IAAAlB,QAAA;EAEA;EACE,KAAAgB,SAAS;IACX;MAEA/C,KAAS,EAAA8B,OAAO;MAClBI,UAAA;MAEOC,oBACL;IAKA;EAAe;EACb,IACAe,WAAA;EAAA,IACAC,qBAAA;EAAA,IACAC,cAAA;EAAA,IACAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACF;IAGA,KAAI,IAAKC,SAAW,GAAAb,WAAY,CAAA/B,MAAA,CAAA6C,QAAA,KAAAC,KAAyB,IAAOL,yBAAY,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;MAG1E,IAAI3B,GAAA,GAAMgC,KAAA,CAAQ1D,KAAA;MAChB,IAAA6D,QAAW,IACb,GAAA/C,IAAW,EACTY,GAAA,CACF;MACF,IAAAoC,YAAA,GAAAhC,OAAA,CAAAJ,GAAA;MAEA,IAAOqC,aAAO,GAAAhC,QAAA,CAAAL,GAAA;MAChB,IAAAsC,OAAA,GAAAnC,uBAAA,CAAAiC,YAAA,EAAAC,aAAA,EAAAF,QAAA,EAAA9C,wBAAA,EAAAsB,mBAAA;MAEOe,cAAS,CAAA1B,GAAA,IAAAsC,OAAyB,CAAAhE,KAAU;MACjD,IAAMgE,OAAA,CAAA9B,UAAA;QAEAgB,WAAA,OAAgB;MACpB;MACA,IAAAc,OAAA,CAAA7B,oBAAiB;QAChBgB,qBAAA;MACD;IACF;EAEA,SAAAc,GAAA;IAEAX,iBAAO;IACTC,cAAA,GAAAU,GAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- var import_vitest = require("vitest"),
2
- import_useDeepMemoizedObject = require("./useDeepMemoizedObject.cjs");
1
+ var import_vitest = require("vitest");
2
+ var import_useDeepMemoizedObject = require("./useDeepMemoizedObject.cjs");
3
3
  function testMemoization(initialValue, options) {
4
4
  let previousValue = initialValue;
5
5
  return {
@@ -13,239 +13,309 @@ function testMemoization(initialValue, options) {
13
13
  }
14
14
  (0, import_vitest.describe)("useDeepMemoizedObject", () => {
15
15
  (0, import_vitest.it)("should preserve identity for unchanged primitives", () => {
16
- const hook = testMemoization(42),
17
- firstResult = hook.current;
18
- hook.update(42), (0, import_vitest.expect)(hook.current).toBe(firstResult);
19
- }), (0, import_vitest.it)("should preserve identity for unchanged objects", () => {
20
- const hook = testMemoization({
21
- a: 1,
22
- b: 2
23
- }),
24
- firstResult = hook.current;
16
+ const hook = testMemoization(42);
17
+ const firstResult = hook.current;
18
+ hook.update(42);
19
+ (0, import_vitest.expect)(hook.current).toBe(firstResult);
20
+ });
21
+ (0, import_vitest.it)("should preserve identity for unchanged objects", () => {
22
+ const obj = {
23
+ a: 1,
24
+ b: 2
25
+ };
26
+ const hook = testMemoization(obj);
27
+ const firstResult = hook.current;
25
28
  hook.update({
26
29
  a: 1,
27
30
  b: 2
28
- }), (0, import_vitest.expect)(hook.current).toBe(firstResult);
29
- }), (0, import_vitest.it)("should preserve identity for unchanged arrays", () => {
30
- const hook = testMemoization([1, 2, 3]),
31
- firstResult = hook.current;
32
- hook.update([1, 2, 3]), (0, import_vitest.expect)(hook.current).toBe(firstResult);
33
- }), (0, import_vitest.it)("should handle nested object changes correctly", () => {
34
- const hook = testMemoization({
35
- server: {
31
+ });
32
+ (0, import_vitest.expect)(hook.current).toBe(firstResult);
33
+ });
34
+ (0, import_vitest.it)("should preserve identity for unchanged arrays", () => {
35
+ const arr = [1, 2, 3];
36
+ const hook = testMemoization(arr);
37
+ const firstResult = hook.current;
38
+ hook.update([1, 2, 3]);
39
+ (0, import_vitest.expect)(hook.current).toBe(firstResult);
40
+ });
41
+ (0, import_vitest.it)("should handle nested object changes correctly", () => {
42
+ const initial = {
43
+ server: {
44
+ id: 1,
45
+ channels: [{
36
46
  id: 1,
37
- channels: [{
38
- id: 1,
39
- name: "general"
40
- }, {
41
- id: 2,
42
- name: "random"
43
- }, {
44
- id: 3,
45
- name: "tech"
46
- }]
47
- }
48
- }),
49
- firstResult = hook.current,
50
- updated = {
51
- server: {
47
+ name: "general"
48
+ }, {
49
+ id: 2,
50
+ name: "random"
51
+ }, {
52
+ id: 3,
53
+ name: "tech"
54
+ }]
55
+ }
56
+ };
57
+ const hook = testMemoization(initial);
58
+ const firstResult = hook.current;
59
+ const updated = {
60
+ server: {
61
+ id: 1,
62
+ channels: [{
52
63
  id: 1,
53
- channels: [{
64
+ name: "general-updated"
65
+ }, {
66
+ id: 2,
67
+ name: "random"
68
+ }, {
69
+ id: 3,
70
+ name: "tech"
71
+ }]
72
+ }
73
+ };
74
+ hook.update(updated);
75
+ const secondResult = hook.current;
76
+ (0, import_vitest.expect)(secondResult).not.toBe(firstResult);
77
+ (0, import_vitest.expect)(secondResult.server).not.toBe(firstResult.server);
78
+ (0, import_vitest.expect)(secondResult.server.channels).not.toBe(firstResult.server.channels);
79
+ (0, import_vitest.expect)(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]);
80
+ (0, import_vitest.expect)(secondResult.server.channels[1]).toBe(firstResult.server.channels[1]);
81
+ (0, import_vitest.expect)(secondResult.server.channels[2]).toBe(firstResult.server.channels[2]);
82
+ });
83
+ (0, import_vitest.it)("should handle deep nested changes in arrays", () => {
84
+ const initial = {
85
+ server: {
86
+ channels: [{
87
+ id: 1,
88
+ messages: [{
54
89
  id: 1,
55
- name: "general-updated"
90
+ text: "hi"
56
91
  }, {
57
92
  id: 2,
58
- name: "random"
93
+ text: "hello"
59
94
  }, {
60
95
  id: 3,
61
- name: "tech"
62
- }]
63
- }
64
- };
65
- hook.update(updated);
66
- const secondResult = hook.current;
67
- (0, import_vitest.expect)(secondResult).not.toBe(firstResult), (0, import_vitest.expect)(secondResult.server).not.toBe(firstResult.server), (0, import_vitest.expect)(secondResult.server.channels).not.toBe(firstResult.server.channels), (0, import_vitest.expect)(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]), (0, import_vitest.expect)(secondResult.server.channels[1]).toBe(firstResult.server.channels[1]), (0, import_vitest.expect)(secondResult.server.channels[2]).toBe(firstResult.server.channels[2]);
68
- }), (0, import_vitest.it)("should handle deep nested changes in arrays", () => {
69
- const initial = {
70
- server: {
71
- channels: [{
72
- id: 1,
73
- messages: [{
74
- id: 1,
75
- text: "hi"
96
+ text: "world",
97
+ reactions: [{
98
+ emoji: "\u{1F44D}",
99
+ count: 1
100
+ }, {
101
+ emoji: "\u2764\uFE0F",
102
+ count: 2
76
103
  }, {
77
- id: 2,
78
- text: "hello"
104
+ emoji: "\u{1F602}",
105
+ count: 3,
106
+ updatedAt: "2024-01-01"
79
107
  }, {
80
- id: 3,
81
- text: "world",
82
- reactions: [{
83
- emoji: "\u{1F44D}",
84
- count: 1
85
- }, {
86
- emoji: "\u2764\uFE0F",
87
- count: 2
88
- }, {
89
- emoji: "\u{1F602}",
90
- count: 3,
91
- updatedAt: "2024-01-01"
92
- }, {
93
- emoji: "\u{1F389}",
94
- count: 4
95
- }]
108
+ emoji: "\u{1F389}",
109
+ count: 4
96
110
  }]
97
111
  }]
98
- }
99
- },
100
- hook = testMemoization(initial),
101
- firstResult = hook.current,
102
- updated = JSON.parse(JSON.stringify(initial));
103
- updated.server.channels[0].messages[2].reactions[2].updatedAt = "2024-01-02", hook.update(updated);
112
+ }]
113
+ }
114
+ };
115
+ const hook = testMemoization(initial);
116
+ const firstResult = hook.current;
117
+ const updated = JSON.parse(JSON.stringify(initial));
118
+ updated.server.channels[0].messages[2].reactions[2].updatedAt = "2024-01-02";
119
+ hook.update(updated);
104
120
  const secondResult = hook.current;
105
- (0, import_vitest.expect)(secondResult).not.toBe(firstResult), (0, import_vitest.expect)(secondResult.server).not.toBe(firstResult.server), (0, import_vitest.expect)(secondResult.server.channels).not.toBe(firstResult.server.channels), (0, import_vitest.expect)(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]), (0, import_vitest.expect)(secondResult.server.channels[0].messages).not.toBe(firstResult.server.channels[0].messages), (0, import_vitest.expect)(secondResult.server.channels[0].messages[0]).toBe(firstResult.server.channels[0].messages[0]), (0, import_vitest.expect)(secondResult.server.channels[0].messages[1]).toBe(firstResult.server.channels[0].messages[1]), (0, import_vitest.expect)(secondResult.server.channels[0].messages[2]).not.toBe(firstResult.server.channels[0].messages[2]), (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions).not.toBe(firstResult.server.channels[0].messages[2].reactions), (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[0]).toBe(firstResult.server.channels[0].messages[2].reactions[0]), (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[1]).toBe(firstResult.server.channels[0].messages[2].reactions[1]), (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[2]).not.toBe(firstResult.server.channels[0].messages[2].reactions[2]), (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[3]).toBe(firstResult.server.channels[0].messages[2].reactions[3]);
106
- }), (0, import_vitest.it)("should respect immutableToNestedChanges option", () => {
121
+ (0, import_vitest.expect)(secondResult).not.toBe(firstResult);
122
+ (0, import_vitest.expect)(secondResult.server).not.toBe(firstResult.server);
123
+ (0, import_vitest.expect)(secondResult.server.channels).not.toBe(firstResult.server.channels);
124
+ (0, import_vitest.expect)(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]);
125
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages).not.toBe(firstResult.server.channels[0].messages);
126
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[0]).toBe(firstResult.server.channels[0].messages[0]);
127
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[1]).toBe(firstResult.server.channels[0].messages[1]);
128
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[2]).not.toBe(firstResult.server.channels[0].messages[2]);
129
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions).not.toBe(firstResult.server.channels[0].messages[2].reactions);
130
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[0]).toBe(firstResult.server.channels[0].messages[2].reactions[0]);
131
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[1]).toBe(firstResult.server.channels[0].messages[2].reactions[1]);
132
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[2]).not.toBe(firstResult.server.channels[0].messages[2].reactions[2]);
133
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[2].reactions[3]).toBe(firstResult.server.channels[0].messages[2].reactions[3]);
134
+ });
135
+ (0, import_vitest.it)("should respect immutableToNestedChanges option", () => {
107
136
  const initial = {
108
- server: {
137
+ server: {
138
+ id: 1,
139
+ channels: [{
109
140
  id: 1,
110
- channels: [{
141
+ messages: [{
111
142
  id: 1,
112
- messages: [{
113
- id: 1,
114
- text: "hi"
115
- }, {
116
- id: 2,
117
- text: "hello"
118
- }, {
119
- id: 3,
120
- text: "world"
121
- }, {
122
- id: 4,
123
- text: "foo"
143
+ text: "hi"
144
+ }, {
145
+ id: 2,
146
+ text: "hello"
147
+ }, {
148
+ id: 3,
149
+ text: "world"
150
+ }, {
151
+ id: 4,
152
+ text: "foo"
153
+ }, {
154
+ id: 5,
155
+ text: "bar"
156
+ }, {
157
+ id: 6,
158
+ text: "baz",
159
+ reactions: [{
160
+ emoji: "\u{1F44D}",
161
+ count: 1
124
162
  }, {
125
- id: 5,
126
- text: "bar"
163
+ emoji: "\u2764\uFE0F",
164
+ count: 2
127
165
  }, {
128
- id: 6,
129
- text: "baz",
130
- reactions: [{
131
- emoji: "\u{1F44D}",
132
- count: 1
133
- }, {
134
- emoji: "\u2764\uFE0F",
135
- count: 2
136
- }, {
137
- emoji: "\u{1F602}",
138
- count: 3,
139
- updatedAt: "2024-01-01"
140
- }]
166
+ emoji: "\u{1F602}",
167
+ count: 3,
168
+ updatedAt: "2024-01-01"
141
169
  }]
142
170
  }]
143
- }
144
- },
145
- hook = testMemoization(initial, {
146
- immutableToNestedChanges: {
147
- server: !0,
148
- "server.channels.0": !0
149
- }
150
- }),
151
- firstResult = hook.current,
152
- originalChannels = firstResult.server.channels,
153
- originalChannel0 = firstResult.server.channels[0],
154
- originalMessages = firstResult.server.channels[0].messages,
155
- originalMessage5 = firstResult.server.channels[0].messages[5],
156
- originalReactions = firstResult.server.channels[0].messages[5].reactions,
157
- updated = JSON.parse(JSON.stringify(initial));
158
- updated.server.channels[0].messages[5].reactions[2].updatedAt = "2024-01-02", hook.update(updated);
171
+ }]
172
+ }
173
+ };
174
+ const hook = testMemoization(initial, {
175
+ immutableToNestedChanges: {
176
+ server: true,
177
+ "server.channels.0": true
178
+ }
179
+ });
180
+ const firstResult = hook.current;
181
+ const originalChannels = firstResult.server.channels;
182
+ const originalChannel0 = firstResult.server.channels[0];
183
+ const originalMessages = firstResult.server.channels[0].messages;
184
+ const originalMessage5 = firstResult.server.channels[0].messages[5];
185
+ const originalReactions = firstResult.server.channels[0].messages[5].reactions;
186
+ const updated = JSON.parse(JSON.stringify(initial));
187
+ updated.server.channels[0].messages[5].reactions[2].updatedAt = "2024-01-02";
188
+ hook.update(updated);
159
189
  const secondResult = hook.current;
160
- (0, import_vitest.expect)(secondResult).not.toBe(firstResult), (0, import_vitest.expect)(secondResult.server).toBe(firstResult.server), (0, import_vitest.expect)(secondResult.server.channels).not.toBe(originalChannels), (0, import_vitest.expect)(secondResult.server.channels[0]).toBe(originalChannel0), (0, import_vitest.expect)(secondResult.server.channels[0].messages).not.toBe(originalMessages), (0, import_vitest.expect)(secondResult.server.channels[0].messages[5]).not.toBe(originalMessage5), (0, import_vitest.expect)(secondResult.server.channels[0].messages[5].reactions).not.toBe(originalReactions), (0, import_vitest.expect)(secondResult.server.channels[0].messages[5].reactions[2].updatedAt).toBe("2024-01-02");
161
- }), (0, import_vitest.it)("should handle adding new properties to objects", () => {
162
- const hook = testMemoization({
163
- a: 1,
164
- b: 2
165
- }),
166
- firstResult = hook.current,
167
- updated = {
168
- a: 1,
169
- b: 2,
170
- c: 3
171
- };
172
- hook.update(updated), (0, import_vitest.expect)(hook.current).not.toBe(firstResult), (0, import_vitest.expect)(hook.current).toEqual(updated);
173
- }), (0, import_vitest.it)("should handle array length changes", () => {
174
- const hook = testMemoization([1, 2, 3]),
175
- firstResult = hook.current;
176
- hook.update([1, 2, 3, 4]), (0, import_vitest.expect)(hook.current).not.toBe(firstResult), (0, import_vitest.expect)(hook.current).toEqual([1, 2, 3, 4]);
177
- }), (0, import_vitest.it)("should handle null and undefined values", () => {
190
+ (0, import_vitest.expect)(secondResult).not.toBe(firstResult);
191
+ (0, import_vitest.expect)(secondResult.server).toBe(firstResult.server);
192
+ (0, import_vitest.expect)(secondResult.server.channels).not.toBe(originalChannels);
193
+ (0, import_vitest.expect)(secondResult.server.channels[0]).toBe(originalChannel0);
194
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages).not.toBe(originalMessages);
195
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[5]).not.toBe(originalMessage5);
196
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[5].reactions).not.toBe(originalReactions);
197
+ (0, import_vitest.expect)(secondResult.server.channels[0].messages[5].reactions[2].updatedAt).toBe("2024-01-02");
198
+ });
199
+ (0, import_vitest.it)("should handle adding new properties to objects", () => {
200
+ const initial = {
201
+ a: 1,
202
+ b: 2
203
+ };
204
+ const hook = testMemoization(initial);
205
+ const firstResult = hook.current;
206
+ const updated = {
207
+ a: 1,
208
+ b: 2,
209
+ c: 3
210
+ };
211
+ hook.update(updated);
212
+ (0, import_vitest.expect)(hook.current).not.toBe(firstResult);
213
+ (0, import_vitest.expect)(hook.current).toEqual(updated);
214
+ });
215
+ (0, import_vitest.it)("should handle array length changes", () => {
216
+ const initial = [1, 2, 3];
217
+ const hook = testMemoization(initial);
218
+ const firstResult = hook.current;
219
+ hook.update([1, 2, 3, 4]);
220
+ (0, import_vitest.expect)(hook.current).not.toBe(firstResult);
221
+ (0, import_vitest.expect)(hook.current).toEqual([1, 2, 3, 4]);
222
+ });
223
+ (0, import_vitest.it)("should handle null and undefined values", () => {
178
224
  const nullHook = testMemoization(null);
179
- (0, import_vitest.expect)(nullHook.current).toBe(null), nullHook.update(void 0), (0, import_vitest.expect)(nullHook.current).toBe(void 0), nullHook.update({
225
+ (0, import_vitest.expect)(nullHook.current).toBe(null);
226
+ nullHook.update(void 0);
227
+ (0, import_vitest.expect)(nullHook.current).toBe(void 0);
228
+ nullHook.update({
180
229
  a: null,
181
230
  b: void 0
182
231
  });
183
232
  const objResult = nullHook.current;
184
- (0, import_vitest.expect)(objResult.a).toBe(null), (0, import_vitest.expect)(objResult.b).toBe(void 0);
185
- }), (0, import_vitest.it)("should preserve array items when only one changes", () => {
186
- const hook = testMemoization([{
187
- id: 1,
188
- name: "Alice"
189
- }, {
190
- id: 2,
191
- name: "Bob"
192
- }, {
193
- id: 3,
194
- name: "Charlie"
195
- }]),
196
- firstResult = hook.current,
197
- updated = [{
198
- id: 1,
199
- name: "Alice"
200
- }, {
201
- id: 2,
202
- name: "Bobby"
203
- }, {
204
- id: 3,
205
- name: "Charlie"
206
- }];
233
+ (0, import_vitest.expect)(objResult.a).toBe(null);
234
+ (0, import_vitest.expect)(objResult.b).toBe(void 0);
235
+ });
236
+ (0, import_vitest.it)("should preserve array items when only one changes", () => {
237
+ const initial = [{
238
+ id: 1,
239
+ name: "Alice"
240
+ }, {
241
+ id: 2,
242
+ name: "Bob"
243
+ }, {
244
+ id: 3,
245
+ name: "Charlie"
246
+ }];
247
+ const hook = testMemoization(initial);
248
+ const firstResult = hook.current;
249
+ const updated = [{
250
+ id: 1,
251
+ name: "Alice"
252
+ }, {
253
+ id: 2,
254
+ name: "Bobby"
255
+ }, {
256
+ id: 3,
257
+ name: "Charlie"
258
+ }];
207
259
  hook.update(updated);
208
260
  const secondResult = hook.current;
209
- (0, import_vitest.expect)(secondResult).not.toBe(firstResult), (0, import_vitest.expect)(secondResult[0]).toBe(firstResult[0]), (0, import_vitest.expect)(secondResult[1]).not.toBe(firstResult[1]), (0, import_vitest.expect)(secondResult[2]).toBe(firstResult[2]);
210
- }), (0, import_vitest.it)("should handle complex immutableToNestedChanges patterns", () => {
261
+ (0, import_vitest.expect)(secondResult).not.toBe(firstResult);
262
+ (0, import_vitest.expect)(secondResult[0]).toBe(firstResult[0]);
263
+ (0, import_vitest.expect)(secondResult[1]).not.toBe(firstResult[1]);
264
+ (0, import_vitest.expect)(secondResult[2]).toBe(firstResult[2]);
265
+ });
266
+ (0, import_vitest.it)("should handle complex immutableToNestedChanges patterns", () => {
211
267
  const initial = {
212
- app: {
213
- settings: {
214
- theme: "dark",
215
- language: "en",
216
- nested: {
217
- deep: {
218
- value: 1
219
- }
268
+ app: {
269
+ settings: {
270
+ theme: "dark",
271
+ language: "en",
272
+ nested: {
273
+ deep: {
274
+ value: 1
220
275
  }
221
276
  }
222
277
  }
223
- },
224
- hook = testMemoization(initial, {
225
- immutableToNestedChanges: {
226
- "app.settings": !0
227
- }
228
- }),
229
- firstResult = hook.current,
230
- originalSettings = firstResult.app.settings,
231
- originalNested = firstResult.app.settings.nested,
232
- originalDeep = firstResult.app.settings.nested.deep,
233
- updated = JSON.parse(JSON.stringify(initial));
234
- updated.app.settings.nested.deep.value = 2, hook.update(updated);
278
+ }
279
+ };
280
+ const hook = testMemoization(initial, {
281
+ immutableToNestedChanges: {
282
+ "app.settings": true
283
+ }
284
+ });
285
+ const firstResult = hook.current;
286
+ const originalSettings = firstResult.app.settings;
287
+ const originalNested = firstResult.app.settings.nested;
288
+ const originalDeep = firstResult.app.settings.nested.deep;
289
+ const updated = JSON.parse(JSON.stringify(initial));
290
+ updated.app.settings.nested.deep.value = 2;
291
+ hook.update(updated);
235
292
  const secondResult = hook.current;
236
- (0, import_vitest.expect)(secondResult).not.toBe(firstResult), (0, import_vitest.expect)(secondResult.app).not.toBe(firstResult.app), (0, import_vitest.expect)(secondResult.app.settings).toBe(originalSettings), (0, import_vitest.expect)(secondResult.app.settings.nested).toBe(originalNested), (0, import_vitest.expect)(secondResult.app.settings.nested.deep).toBe(originalDeep), (0, import_vitest.expect)(secondResult.app.settings.nested.deep.value).toBe(2);
237
- }), (0, import_vitest.it)("should handle mixed arrays with objects and primitives", () => {
238
- const hook = testMemoization([1, "string", {
239
- id: 1,
240
- name: "object"
241
- }, [1, 2, 3], null, void 0]),
242
- firstResult = hook.current,
243
- updated = [1, "string", {
244
- id: 1,
245
- name: "updated"
246
- }, [1, 2, 3], null, void 0];
293
+ (0, import_vitest.expect)(secondResult).not.toBe(firstResult);
294
+ (0, import_vitest.expect)(secondResult.app).not.toBe(firstResult.app);
295
+ (0, import_vitest.expect)(secondResult.app.settings).toBe(originalSettings);
296
+ (0, import_vitest.expect)(secondResult.app.settings.nested).toBe(originalNested);
297
+ (0, import_vitest.expect)(secondResult.app.settings.nested.deep).toBe(originalDeep);
298
+ (0, import_vitest.expect)(secondResult.app.settings.nested.deep.value).toBe(2);
299
+ });
300
+ (0, import_vitest.it)("should handle mixed arrays with objects and primitives", () => {
301
+ const initial = [1, "string", {
302
+ id: 1,
303
+ name: "object"
304
+ }, [1, 2, 3], null, void 0];
305
+ const hook = testMemoization(initial);
306
+ const firstResult = hook.current;
307
+ const updated = [1, "string", {
308
+ id: 1,
309
+ name: "updated"
310
+ }, [1, 2, 3], null, void 0];
247
311
  hook.update(updated);
248
312
  const secondResult = hook.current;
249
- (0, import_vitest.expect)(secondResult).not.toBe(firstResult), (0, import_vitest.expect)(secondResult[0]).toBe(1), (0, import_vitest.expect)(secondResult[1]).toBe("string"), (0, import_vitest.expect)(secondResult[2]).not.toBe(firstResult[2]), (0, import_vitest.expect)(secondResult[3]).toBe(firstResult[3]), (0, import_vitest.expect)(secondResult[4]).toBe(null), (0, import_vitest.expect)(secondResult[5]).toBe(void 0);
313
+ (0, import_vitest.expect)(secondResult).not.toBe(firstResult);
314
+ (0, import_vitest.expect)(secondResult[0]).toBe(1);
315
+ (0, import_vitest.expect)(secondResult[1]).toBe("string");
316
+ (0, import_vitest.expect)(secondResult[2]).not.toBe(firstResult[2]);
317
+ (0, import_vitest.expect)(secondResult[3]).toBe(firstResult[3]);
318
+ (0, import_vitest.expect)(secondResult[4]).toBe(null);
319
+ (0, import_vitest.expect)(secondResult[5]).toBe(void 0);
250
320
  });
251
321
  });