@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
@@ -7,253 +7,316 @@ function testMemoization(initialValue, options) {
7
7
  return previousValue;
8
8
  },
9
9
  update(value) {
10
- previousValue = deepMemoize(value, previousValue, [], options?.immutableToNestedChanges);
10
+ previousValue = deepMemoize(value, previousValue, [], options === null || options === void 0 ? void 0 : options.immutableToNestedChanges);
11
11
  }
12
12
  };
13
13
  }
14
14
  describe("useDeepMemoizedObject", function () {
15
15
  it("should preserve identity for unchanged primitives", function () {
16
- var hook = testMemoization(42),
17
- firstResult = hook.current;
18
- hook.update(42), expect(hook.current).toBe(firstResult);
19
- }), it("should preserve identity for unchanged objects", function () {
16
+ var hook = testMemoization(42);
17
+ var firstResult = hook.current;
18
+ hook.update(42);
19
+ expect(hook.current).toBe(firstResult);
20
+ });
21
+ it("should preserve identity for unchanged objects", function () {
20
22
  var obj = {
21
- a: 1,
22
- b: 2
23
- },
24
- hook = testMemoization(obj),
25
- firstResult = hook.current;
23
+ a: 1,
24
+ b: 2
25
+ };
26
+ var hook = testMemoization(obj);
27
+ var firstResult = hook.current;
26
28
  hook.update({
27
29
  a: 1,
28
30
  b: 2
29
- }), expect(hook.current).toBe(firstResult);
30
- }), it("should preserve identity for unchanged arrays", function () {
31
- var arr = [1, 2, 3],
32
- hook = testMemoization(arr),
33
- firstResult = hook.current;
34
- hook.update([1, 2, 3]), expect(hook.current).toBe(firstResult);
35
- }), it("should handle nested object changes correctly", function () {
31
+ });
32
+ expect(hook.current).toBe(firstResult);
33
+ });
34
+ it("should preserve identity for unchanged arrays", function () {
35
+ var arr = [1, 2, 3];
36
+ var hook = testMemoization(arr);
37
+ var firstResult = hook.current;
38
+ hook.update([1, 2, 3]);
39
+ expect(hook.current).toBe(firstResult);
40
+ });
41
+ it("should handle nested object changes correctly", function () {
36
42
  var initial = {
37
- server: {
43
+ server: {
44
+ id: 1,
45
+ channels: [{
38
46
  id: 1,
39
- channels: [{
40
- id: 1,
41
- name: "general"
42
- }, {
43
- id: 2,
44
- name: "random"
45
- }, {
46
- id: 3,
47
- name: "tech"
48
- }]
49
- }
50
- },
51
- hook = testMemoization(initial),
52
- firstResult = hook.current,
53
- updated = {
54
- server: {
47
+ name: "general"
48
+ }, {
49
+ id: 2,
50
+ name: "random"
51
+ }, {
52
+ id: 3,
53
+ name: "tech"
54
+ }]
55
+ }
56
+ };
57
+ var hook = testMemoization(initial);
58
+ var firstResult = hook.current;
59
+ var updated = {
60
+ server: {
61
+ id: 1,
62
+ channels: [{
55
63
  id: 1,
56
- 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
+ var secondResult = hook.current;
76
+ expect(secondResult).not.toBe(firstResult);
77
+ expect(secondResult.server).not.toBe(firstResult.server);
78
+ expect(secondResult.server.channels).not.toBe(firstResult.server.channels);
79
+ expect(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]);
80
+ expect(secondResult.server.channels[1]).toBe(firstResult.server.channels[1]);
81
+ expect(secondResult.server.channels[2]).toBe(firstResult.server.channels[2]);
82
+ });
83
+ it("should handle deep nested changes in arrays", function () {
84
+ var initial = {
85
+ server: {
86
+ channels: [{
87
+ id: 1,
88
+ messages: [{
57
89
  id: 1,
58
- name: "general-updated"
90
+ text: "hi"
59
91
  }, {
60
92
  id: 2,
61
- name: "random"
93
+ text: "hello"
62
94
  }, {
63
95
  id: 3,
64
- name: "tech"
65
- }]
66
- }
67
- };
68
- hook.update(updated);
69
- var secondResult = hook.current;
70
- expect(secondResult).not.toBe(firstResult), expect(secondResult.server).not.toBe(firstResult.server), expect(secondResult.server.channels).not.toBe(firstResult.server.channels), expect(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]), expect(secondResult.server.channels[1]).toBe(firstResult.server.channels[1]), expect(secondResult.server.channels[2]).toBe(firstResult.server.channels[2]);
71
- }), it("should handle deep nested changes in arrays", function () {
72
- var initial = {
73
- server: {
74
- channels: [{
75
- id: 1,
76
- messages: [{
77
- id: 1,
78
- text: "hi"
96
+ text: "world",
97
+ reactions: [{
98
+ emoji: "\u{1F44D}",
99
+ count: 1
79
100
  }, {
80
- id: 2,
81
- text: "hello"
101
+ emoji: "\u2764\uFE0F",
102
+ count: 2
82
103
  }, {
83
- id: 3,
84
- text: "world",
85
- reactions: [{
86
- emoji: "\u{1F44D}",
87
- count: 1
88
- }, {
89
- emoji: "\u2764\uFE0F",
90
- count: 2
91
- }, {
92
- emoji: "\u{1F602}",
93
- count: 3,
94
- updatedAt: "2024-01-01"
95
- }, {
96
- emoji: "\u{1F389}",
97
- count: 4
98
- }]
104
+ emoji: "\u{1F602}",
105
+ count: 3,
106
+ updatedAt: "2024-01-01"
107
+ }, {
108
+ emoji: "\u{1F389}",
109
+ count: 4
99
110
  }]
100
111
  }]
101
- }
102
- },
103
- hook = testMemoization(initial),
104
- firstResult = hook.current,
105
- updated = JSON.parse(JSON.stringify(initial));
106
- updated.server.channels[0].messages[2].reactions[2].updatedAt = "2024-01-02", hook.update(updated);
112
+ }]
113
+ }
114
+ };
115
+ var hook = testMemoization(initial);
116
+ var firstResult = hook.current;
117
+ var updated = JSON.parse(JSON.stringify(initial));
118
+ updated.server.channels[0].messages[2].reactions[2].updatedAt = "2024-01-02";
119
+ hook.update(updated);
107
120
  var secondResult = hook.current;
108
- expect(secondResult).not.toBe(firstResult), expect(secondResult.server).not.toBe(firstResult.server), expect(secondResult.server.channels).not.toBe(firstResult.server.channels), expect(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]), expect(secondResult.server.channels[0].messages).not.toBe(firstResult.server.channels[0].messages), expect(secondResult.server.channels[0].messages[0]).toBe(firstResult.server.channels[0].messages[0]), expect(secondResult.server.channels[0].messages[1]).toBe(firstResult.server.channels[0].messages[1]), expect(secondResult.server.channels[0].messages[2]).not.toBe(firstResult.server.channels[0].messages[2]), expect(secondResult.server.channels[0].messages[2].reactions).not.toBe(firstResult.server.channels[0].messages[2].reactions), expect(secondResult.server.channels[0].messages[2].reactions[0]).toBe(firstResult.server.channels[0].messages[2].reactions[0]), expect(secondResult.server.channels[0].messages[2].reactions[1]).toBe(firstResult.server.channels[0].messages[2].reactions[1]), expect(secondResult.server.channels[0].messages[2].reactions[2]).not.toBe(firstResult.server.channels[0].messages[2].reactions[2]), expect(secondResult.server.channels[0].messages[2].reactions[3]).toBe(firstResult.server.channels[0].messages[2].reactions[3]);
109
- }), it("should respect immutableToNestedChanges option", function () {
121
+ expect(secondResult).not.toBe(firstResult);
122
+ expect(secondResult.server).not.toBe(firstResult.server);
123
+ expect(secondResult.server.channels).not.toBe(firstResult.server.channels);
124
+ expect(secondResult.server.channels[0]).not.toBe(firstResult.server.channels[0]);
125
+ expect(secondResult.server.channels[0].messages).not.toBe(firstResult.server.channels[0].messages);
126
+ expect(secondResult.server.channels[0].messages[0]).toBe(firstResult.server.channels[0].messages[0]);
127
+ expect(secondResult.server.channels[0].messages[1]).toBe(firstResult.server.channels[0].messages[1]);
128
+ expect(secondResult.server.channels[0].messages[2]).not.toBe(firstResult.server.channels[0].messages[2]);
129
+ expect(secondResult.server.channels[0].messages[2].reactions).not.toBe(firstResult.server.channels[0].messages[2].reactions);
130
+ expect(secondResult.server.channels[0].messages[2].reactions[0]).toBe(firstResult.server.channels[0].messages[2].reactions[0]);
131
+ expect(secondResult.server.channels[0].messages[2].reactions[1]).toBe(firstResult.server.channels[0].messages[2].reactions[1]);
132
+ expect(secondResult.server.channels[0].messages[2].reactions[2]).not.toBe(firstResult.server.channels[0].messages[2].reactions[2]);
133
+ expect(secondResult.server.channels[0].messages[2].reactions[3]).toBe(firstResult.server.channels[0].messages[2].reactions[3]);
134
+ });
135
+ it("should respect immutableToNestedChanges option", function () {
110
136
  var initial = {
111
- server: {
137
+ server: {
138
+ id: 1,
139
+ channels: [{
112
140
  id: 1,
113
- channels: [{
141
+ messages: [{
114
142
  id: 1,
115
- messages: [{
116
- id: 1,
117
- text: "hi"
118
- }, {
119
- id: 2,
120
- text: "hello"
121
- }, {
122
- id: 3,
123
- text: "world"
124
- }, {
125
- id: 4,
126
- 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
127
162
  }, {
128
- id: 5,
129
- text: "bar"
163
+ emoji: "\u2764\uFE0F",
164
+ count: 2
130
165
  }, {
131
- id: 6,
132
- text: "baz",
133
- reactions: [{
134
- emoji: "\u{1F44D}",
135
- count: 1
136
- }, {
137
- emoji: "\u2764\uFE0F",
138
- count: 2
139
- }, {
140
- emoji: "\u{1F602}",
141
- count: 3,
142
- updatedAt: "2024-01-01"
143
- }]
166
+ emoji: "\u{1F602}",
167
+ count: 3,
168
+ updatedAt: "2024-01-01"
144
169
  }]
145
170
  }]
146
- }
147
- },
148
- hook = testMemoization(initial, {
149
- immutableToNestedChanges: {
150
- server: !0,
151
- "server.channels.0": !0
152
- }
153
- }),
154
- firstResult = hook.current,
155
- originalChannels = firstResult.server.channels,
156
- originalChannel0 = firstResult.server.channels[0],
157
- originalMessages = firstResult.server.channels[0].messages,
158
- originalMessage5 = firstResult.server.channels[0].messages[5],
159
- originalReactions = firstResult.server.channels[0].messages[5].reactions,
160
- updated = JSON.parse(JSON.stringify(initial));
161
- updated.server.channels[0].messages[5].reactions[2].updatedAt = "2024-01-02", hook.update(updated);
171
+ }]
172
+ }
173
+ };
174
+ var hook = testMemoization(initial, {
175
+ immutableToNestedChanges: {
176
+ server: true,
177
+ "server.channels.0": true
178
+ }
179
+ });
180
+ var firstResult = hook.current;
181
+ var originalChannels = firstResult.server.channels;
182
+ var originalChannel0 = firstResult.server.channels[0];
183
+ var originalMessages = firstResult.server.channels[0].messages;
184
+ var originalMessage5 = firstResult.server.channels[0].messages[5];
185
+ var originalReactions = firstResult.server.channels[0].messages[5].reactions;
186
+ var updated = JSON.parse(JSON.stringify(initial));
187
+ updated.server.channels[0].messages[5].reactions[2].updatedAt = "2024-01-02";
188
+ hook.update(updated);
162
189
  var secondResult = hook.current;
163
- expect(secondResult).not.toBe(firstResult), expect(secondResult.server).toBe(firstResult.server), expect(secondResult.server.channels).not.toBe(originalChannels), expect(secondResult.server.channels[0]).toBe(originalChannel0), expect(secondResult.server.channels[0].messages).not.toBe(originalMessages), expect(secondResult.server.channels[0].messages[5]).not.toBe(originalMessage5), expect(secondResult.server.channels[0].messages[5].reactions).not.toBe(originalReactions), expect(secondResult.server.channels[0].messages[5].reactions[2].updatedAt).toBe("2024-01-02");
164
- }), it("should handle adding new properties to objects", function () {
190
+ expect(secondResult).not.toBe(firstResult);
191
+ expect(secondResult.server).toBe(firstResult.server);
192
+ expect(secondResult.server.channels).not.toBe(originalChannels);
193
+ expect(secondResult.server.channels[0]).toBe(originalChannel0);
194
+ expect(secondResult.server.channels[0].messages).not.toBe(originalMessages);
195
+ expect(secondResult.server.channels[0].messages[5]).not.toBe(originalMessage5);
196
+ expect(secondResult.server.channels[0].messages[5].reactions).not.toBe(originalReactions);
197
+ expect(secondResult.server.channels[0].messages[5].reactions[2].updatedAt).toBe("2024-01-02");
198
+ });
199
+ it("should handle adding new properties to objects", function () {
165
200
  var initial = {
166
- a: 1,
167
- b: 2
168
- },
169
- hook = testMemoization(initial),
170
- firstResult = hook.current,
171
- updated = {
172
- a: 1,
173
- b: 2,
174
- c: 3
175
- };
176
- hook.update(updated), expect(hook.current).not.toBe(firstResult), expect(hook.current).toEqual(updated);
177
- }), it("should handle array length changes", function () {
178
- var initial = [1, 2, 3],
179
- hook = testMemoization(initial),
180
- firstResult = hook.current;
181
- hook.update([1, 2, 3, 4]), expect(hook.current).not.toBe(firstResult), expect(hook.current).toEqual([1, 2, 3, 4]);
182
- }), it("should handle null and undefined values", function () {
201
+ a: 1,
202
+ b: 2
203
+ };
204
+ var hook = testMemoization(initial);
205
+ var firstResult = hook.current;
206
+ var updated = {
207
+ a: 1,
208
+ b: 2,
209
+ c: 3
210
+ };
211
+ hook.update(updated);
212
+ expect(hook.current).not.toBe(firstResult);
213
+ expect(hook.current).toEqual(updated);
214
+ });
215
+ it("should handle array length changes", function () {
216
+ var initial = [1, 2, 3];
217
+ var hook = testMemoization(initial);
218
+ var firstResult = hook.current;
219
+ hook.update([1, 2, 3, 4]);
220
+ expect(hook.current).not.toBe(firstResult);
221
+ expect(hook.current).toEqual([1, 2, 3, 4]);
222
+ });
223
+ it("should handle null and undefined values", function () {
183
224
  var nullHook = testMemoization(null);
184
- expect(nullHook.current).toBe(null), nullHook.update(void 0), expect(nullHook.current).toBe(void 0), nullHook.update({
225
+ expect(nullHook.current).toBe(null);
226
+ nullHook.update(void 0);
227
+ expect(nullHook.current).toBe(void 0);
228
+ nullHook.update({
185
229
  a: null,
186
230
  b: void 0
187
231
  });
188
232
  var objResult = nullHook.current;
189
- expect(objResult.a).toBe(null), expect(objResult.b).toBe(void 0);
190
- }), it("should preserve array items when only one changes", function () {
233
+ expect(objResult.a).toBe(null);
234
+ expect(objResult.b).toBe(void 0);
235
+ });
236
+ it("should preserve array items when only one changes", function () {
191
237
  var initial = [{
192
- id: 1,
193
- name: "Alice"
194
- }, {
195
- id: 2,
196
- name: "Bob"
197
- }, {
198
- id: 3,
199
- name: "Charlie"
200
- }],
201
- hook = testMemoization(initial),
202
- firstResult = hook.current,
203
- updated = [{
204
- id: 1,
205
- name: "Alice"
206
- }, {
207
- id: 2,
208
- name: "Bobby"
209
- }, {
210
- id: 3,
211
- name: "Charlie"
212
- }];
238
+ id: 1,
239
+ name: "Alice"
240
+ }, {
241
+ id: 2,
242
+ name: "Bob"
243
+ }, {
244
+ id: 3,
245
+ name: "Charlie"
246
+ }];
247
+ var hook = testMemoization(initial);
248
+ var firstResult = hook.current;
249
+ var updated = [{
250
+ id: 1,
251
+ name: "Alice"
252
+ }, {
253
+ id: 2,
254
+ name: "Bobby"
255
+ }, {
256
+ id: 3,
257
+ name: "Charlie"
258
+ }];
213
259
  hook.update(updated);
214
260
  var secondResult = hook.current;
215
- expect(secondResult).not.toBe(firstResult), expect(secondResult[0]).toBe(firstResult[0]), expect(secondResult[1]).not.toBe(firstResult[1]), expect(secondResult[2]).toBe(firstResult[2]);
216
- }), it("should handle complex immutableToNestedChanges patterns", function () {
261
+ expect(secondResult).not.toBe(firstResult);
262
+ expect(secondResult[0]).toBe(firstResult[0]);
263
+ expect(secondResult[1]).not.toBe(firstResult[1]);
264
+ expect(secondResult[2]).toBe(firstResult[2]);
265
+ });
266
+ it("should handle complex immutableToNestedChanges patterns", function () {
217
267
  var initial = {
218
- app: {
219
- settings: {
220
- theme: "dark",
221
- language: "en",
222
- nested: {
223
- deep: {
224
- value: 1
225
- }
268
+ app: {
269
+ settings: {
270
+ theme: "dark",
271
+ language: "en",
272
+ nested: {
273
+ deep: {
274
+ value: 1
226
275
  }
227
276
  }
228
277
  }
229
- },
230
- hook = testMemoization(initial, {
231
- immutableToNestedChanges: {
232
- "app.settings": !0
233
- }
234
- }),
235
- firstResult = hook.current,
236
- originalSettings = firstResult.app.settings,
237
- originalNested = firstResult.app.settings.nested,
238
- originalDeep = firstResult.app.settings.nested.deep,
239
- updated = JSON.parse(JSON.stringify(initial));
240
- updated.app.settings.nested.deep.value = 2, hook.update(updated);
278
+ }
279
+ };
280
+ var hook = testMemoization(initial, {
281
+ immutableToNestedChanges: {
282
+ "app.settings": true
283
+ }
284
+ });
285
+ var firstResult = hook.current;
286
+ var originalSettings = firstResult.app.settings;
287
+ var originalNested = firstResult.app.settings.nested;
288
+ var originalDeep = firstResult.app.settings.nested.deep;
289
+ var updated = JSON.parse(JSON.stringify(initial));
290
+ updated.app.settings.nested.deep.value = 2;
291
+ hook.update(updated);
241
292
  var secondResult = hook.current;
242
- expect(secondResult).not.toBe(firstResult), expect(secondResult.app).not.toBe(firstResult.app), expect(secondResult.app.settings).toBe(originalSettings), expect(secondResult.app.settings.nested).toBe(originalNested), expect(secondResult.app.settings.nested.deep).toBe(originalDeep), expect(secondResult.app.settings.nested.deep.value).toBe(2);
243
- }), it("should handle mixed arrays with objects and primitives", function () {
293
+ expect(secondResult).not.toBe(firstResult);
294
+ expect(secondResult.app).not.toBe(firstResult.app);
295
+ expect(secondResult.app.settings).toBe(originalSettings);
296
+ expect(secondResult.app.settings.nested).toBe(originalNested);
297
+ expect(secondResult.app.settings.nested.deep).toBe(originalDeep);
298
+ expect(secondResult.app.settings.nested.deep.value).toBe(2);
299
+ });
300
+ it("should handle mixed arrays with objects and primitives", function () {
244
301
  var initial = [1, "string", {
245
- id: 1,
246
- name: "object"
247
- }, [1, 2, 3], null, void 0],
248
- hook = testMemoization(initial),
249
- firstResult = hook.current,
250
- updated = [1, "string", {
251
- id: 1,
252
- name: "updated"
253
- }, [1, 2, 3], null, void 0];
302
+ id: 1,
303
+ name: "object"
304
+ }, [1, 2, 3], null, void 0];
305
+ var hook = testMemoization(initial);
306
+ var firstResult = hook.current;
307
+ var updated = [1, "string", {
308
+ id: 1,
309
+ name: "updated"
310
+ }, [1, 2, 3], null, void 0];
254
311
  hook.update(updated);
255
312
  var secondResult = hook.current;
256
- expect(secondResult).not.toBe(firstResult), expect(secondResult[0]).toBe(1), expect(secondResult[1]).toBe("string"), expect(secondResult[2]).not.toBe(firstResult[2]), expect(secondResult[3]).toBe(firstResult[3]), expect(secondResult[4]).toBe(null), expect(secondResult[5]).toBe(void 0);
313
+ expect(secondResult).not.toBe(firstResult);
314
+ expect(secondResult[0]).toBe(1);
315
+ expect(secondResult[1]).toBe("string");
316
+ expect(secondResult[2]).not.toBe(firstResult[2]);
317
+ expect(secondResult[3]).toBe(firstResult[3]);
318
+ expect(secondResult[4]).toBe(null);
319
+ expect(secondResult[5]).toBe(void 0);
257
320
  });
258
321
  });
259
322
  //# sourceMappingURL=useDeepMemoizedObject.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","deepMemoize","testMemoization","initialValue","options","previousValue","current","update","value","immutableToNestedChanges","hook","firstResult","toBe","obj","a","b","arr","initial","server","id","channels","name","updated","secondResult","not","messages","text","reactions","emoji","count","updatedAt","JSON","parse","stringify","originalChannels","originalChannel0","originalMessages","originalMessage5","originalReactions"],"sources":["../../src/useDeepMemoizedObject.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","deepMemoize","testMemoization","initialValue","options","previousValue","current","update","value","immutableToNestedChanges","hook","firstResult","toBe","obj","a","b","arr","initial","server","id","channels","name","updated","secondResult","not","messages","text","reactions","emoji","count","updatedAt","JSON","parse","stringify","originalChannels","originalChannel0","originalMessages","originalMessage5","originalReactions","c","toEqual","nullHook","objResult"],"sources":["../../src/useDeepMemoizedObject.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,14 @@
1
1
  import { useState, startTransition, useEffect } from "react";
2
2
  const useDeferredBoolean = inVal => {
3
3
  const [val, setVal] = useState(inVal);
4
- return useEffect(() => {
5
- val !== inVal && startTransition(() => {
6
- setVal(inVal);
7
- });
8
- }, [inVal, val]), val;
4
+ useEffect(() => {
5
+ if (val !== inVal) {
6
+ startTransition(() => {
7
+ setVal(inVal);
8
+ });
9
+ }
10
+ }, [inVal, val]);
11
+ return val;
9
12
  };
10
13
  export { useDeferredBoolean };
11
14
  //# sourceMappingURL=useDeferredBoolean.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","startTransition","useEffect","useDeferredBoolean","inVal","val","setVal"],"sources":["../../src/useDeferredBoolean.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,eAAA,EAAiBC,SAAA,QAAiB;AAE9C,MAAMC,kBAAA,GAAsBC,KAAA,IAA4B;EAC7D,MAAM,CAACC,GAAA,EAAKC,MAAM,IAAIN,QAAA,CAASI,KAAK;EAEpC,OAAAF,SAAA,CAAU,MAAM;IACVG,GAAA,KAAQD,KAAA,IACVH,eAAA,CAAgB,MAAM;MACpBK,MAAA,CAAOF,KAAK;IACd,CAAC;EAEL,GAAG,CAACA,KAAA,EAAOC,GAAG,CAAC,GAERA,GAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["useState","startTransition","useEffect","useDeferredBoolean","inVal","val","setVal"],"sources":["../../src/useDeferredBoolean.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,eAAA,EAAiBC,SAAA,QAAiB;AAE9C,MAAMC,kBAAA,GAAsBC,KAAA,IAA4B;EAC7D,MAAM,CAACC,GAAA,EAAKC,MAAM,IAAIN,QAAA,CAASI,KAAK;EAEpCF,SAAA,CAAU,MAAM;IACd,IAAIG,GAAA,KAAQD,KAAA,EAAO;MACjBH,eAAA,CAAgB,MAAM;QACpBK,MAAA,CAAOF,KAAK;MACd,CAAC;IACH;EACF,GAAG,CAACA,KAAA,EAAOC,GAAG,CAAC;EAEf,OAAOA,GAAA;AACT","ignoreList":[]}
@@ -1,11 +1,14 @@
1
1
  import { useState, startTransition, useEffect } from "react";
2
2
  var useDeferredBoolean = function (inVal) {
3
3
  var [val, setVal] = useState(inVal);
4
- return useEffect(function () {
5
- val !== inVal && startTransition(function () {
6
- setVal(inVal);
7
- });
8
- }, [inVal, val]), val;
4
+ useEffect(function () {
5
+ if (val !== inVal) {
6
+ startTransition(function () {
7
+ setVal(inVal);
8
+ });
9
+ }
10
+ }, [inVal, val]);
11
+ return val;
9
12
  };
10
13
  export { useDeferredBoolean };
11
14
  //# sourceMappingURL=useDeferredBoolean.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","startTransition","useEffect","useDeferredBoolean","inVal","val","setVal"],"sources":["../../src/useDeferredBoolean.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,eAAA,EAAiBC,SAAA,QAAiB;AAE9C,IAAAC,kBAAM,YAAAA,CAAsBC,KAA4B;EAC7D,KAAAC,GAAO,EAAAC,MAAK,IAAMN,QAAI,CAAAI,KAAS;EAE/B,OAAAF,SAAA,CAAU,YAAM;IACVG,GAAA,KAAQD,KAAA,IACVH,eAAA,CAAgB,YAAM;MACpBK,MAAA,CAAOF,KAAK;IACd,CAAC;EAEL,GAAG,CAGLA,KAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["useState","startTransition","useEffect","useDeferredBoolean","inVal","val","setVal"],"sources":["../../src/useDeferredBoolean.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,eAAA,EAAiBC,SAAA,QAAiB;AAE9C,IAAAC,kBAAM,YAAAA,CAAsBC,KAA4B;EAC7D,KAAAC,GAAO,EAAAC,MAAK,IAAMN,QAAI,CAAAI,KAAS;EAE/BF,SAAA,CAAU,YAAM;IACd,IAAIG,GAAA,KAAQD,KAAA,EAAO;MACjBH,eAAA,CAAgB,YAAM;QACpBK,MAAA,CAAOF,KAAK;MACd,CAAC;IACH;EACF,GAAG,CAEHA,KAAO,EACTC,GAAA,C","ignoreList":[]}