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