@o/helpers 0.16.19 → 0.16.20

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 (256) hide show
  1. package/README.md +2 -0
  2. package/dist/array/getRandomItem.d.ts +2 -0
  3. package/dist/array/getRandomItem.d.ts.map +1 -0
  4. package/dist/array/getRandomItem.js +7 -0
  5. package/dist/array/getRandomItem.js.map +1 -0
  6. package/dist/array/takeLast.d.ts +2 -0
  7. package/dist/array/takeLast.d.ts.map +1 -0
  8. package/dist/array/takeLast.js +4 -0
  9. package/dist/array/takeLast.js.map +1 -0
  10. package/dist/array/uniqBy.d.ts +8 -0
  11. package/dist/array/uniqBy.d.ts.map +1 -0
  12. package/dist/array/uniqBy.js +17 -0
  13. package/dist/array/uniqBy.js.map +1 -0
  14. package/dist/async/asyncContext.d.ts +15 -0
  15. package/dist/async/asyncContext.d.ts.map +1 -0
  16. package/dist/async/asyncContext.js +115 -0
  17. package/dist/async/asyncContext.js.map +1 -0
  18. package/dist/async/asyncContext.native.d.ts +8 -0
  19. package/dist/async/asyncContext.native.d.ts.map +1 -0
  20. package/dist/async/asyncContext.native.js +63 -0
  21. package/dist/async/asyncContext.native.js.map +1 -0
  22. package/dist/async/idle.d.ts +7 -0
  23. package/dist/async/idle.d.ts.map +1 -0
  24. package/dist/async/idle.js +46 -0
  25. package/dist/async/idle.js.map +1 -0
  26. package/dist/async/interval.d.ts +2 -0
  27. package/dist/async/interval.d.ts.map +1 -0
  28. package/dist/async/interval.js +8 -0
  29. package/dist/async/interval.js.map +1 -0
  30. package/dist/async/isAborted.d.ts +2 -0
  31. package/dist/async/isAborted.d.ts.map +1 -0
  32. package/dist/async/isAborted.js +2 -0
  33. package/dist/async/isAborted.js.map +1 -0
  34. package/dist/async/useAsync.d.ts +2 -0
  35. package/dist/async/useAsync.d.ts.map +1 -0
  36. package/dist/async/useAsync.js +31 -0
  37. package/dist/async/useAsync.js.map +1 -0
  38. package/dist/async/useAsyncEffect.native.js +99 -0
  39. package/dist/async/useLazyMount.d.ts +8 -0
  40. package/dist/async/useLazyMount.d.ts.map +1 -0
  41. package/dist/async/useLazyMount.js +20 -0
  42. package/dist/async/useLazyMount.js.map +1 -0
  43. package/dist/async/useLazyMount.native.js +20 -0
  44. package/dist/async/useLazyValue.d.ts +5 -0
  45. package/dist/async/useLazyValue.d.ts.map +1 -0
  46. package/dist/async/useLazyValue.js +18 -0
  47. package/dist/async/useLazyValue.js.map +1 -0
  48. package/dist/async/useLazyValue.native.js +18 -0
  49. package/dist/browser/clearIndexedDB.d.ts +2 -0
  50. package/dist/browser/clearIndexedDB.d.ts.map +1 -0
  51. package/dist/browser/clearIndexedDB.js +17 -0
  52. package/dist/browser/clearIndexedDB.js.map +1 -0
  53. package/dist/client-only.d.ts +2 -0
  54. package/dist/client-only.d.ts.map +1 -0
  55. package/dist/client-only.js +5 -0
  56. package/dist/client-only.js.map +1 -0
  57. package/dist/clipboard/clipboard.d.ts +2 -0
  58. package/dist/clipboard/clipboard.d.ts.map +1 -0
  59. package/dist/clipboard/clipboard.js +10 -0
  60. package/dist/clipboard/clipboard.js.map +1 -0
  61. package/dist/clipboard/clipboard.native.d.ts +2 -0
  62. package/dist/clipboard/clipboard.native.d.ts.map +1 -0
  63. package/dist/clipboard/clipboard.native.js +11 -0
  64. package/dist/clipboard/clipboard.native.js.map +1 -0
  65. package/dist/color/extractOpacityFromColor.d.ts +2 -0
  66. package/dist/color/extractOpacityFromColor.d.ts.map +1 -0
  67. package/dist/color/extractOpacityFromColor.js +18 -0
  68. package/dist/color/extractOpacityFromColor.js.map +1 -0
  69. package/dist/color/generateColors.d.ts +10 -0
  70. package/dist/color/generateColors.d.ts.map +1 -0
  71. package/dist/color/generateColors.js +48 -0
  72. package/dist/color/generateColors.js.map +1 -0
  73. package/dist/color/lum.d.ts +2 -0
  74. package/dist/color/lum.d.ts.map +1 -0
  75. package/dist/color/lum.js +67 -0
  76. package/dist/color/lum.js.map +1 -0
  77. package/dist/color/toHex.d.ts +3 -0
  78. package/dist/color/toHex.d.ts.map +1 -0
  79. package/dist/color/toHex.js +10 -0
  80. package/dist/color/toHex.js.map +1 -0
  81. package/dist/constants.native.js +22 -0
  82. package/dist/debug/debugLog.d.ts +10 -0
  83. package/dist/debug/debugLog.d.ts.map +1 -0
  84. package/dist/debug/debugLog.js +14 -0
  85. package/dist/debug/debugLog.js.map +1 -0
  86. package/dist/debug/debugUseState.d.ts +2 -0
  87. package/dist/debug/debugUseState.d.ts.map +1 -0
  88. package/dist/debug/debugUseState.js +29 -0
  89. package/dist/debug/debugUseState.js.map +1 -0
  90. package/dist/emitter.d.ts.map +1 -1
  91. package/dist/emitter.js +18 -2
  92. package/dist/emitter.js.map +1 -1
  93. package/dist/emitter.native.js +289 -0
  94. package/dist/ensure/ensure.d.ts +5 -0
  95. package/dist/ensure/ensure.d.ts.map +1 -0
  96. package/dist/ensure/ensure.js +22 -0
  97. package/dist/ensure/ensure.js.map +1 -0
  98. package/dist/ensure/ensureOne.d.ts +2 -0
  99. package/dist/ensure/ensureOne.d.ts.map +1 -0
  100. package/dist/ensure/ensureOne.js +14 -0
  101. package/dist/ensure/ensureOne.js.map +1 -0
  102. package/dist/function/emptyFn.d.ts +2 -0
  103. package/dist/function/emptyFn.d.ts.map +1 -0
  104. package/dist/function/emptyFn.js +2 -0
  105. package/dist/function/emptyFn.js.map +1 -0
  106. package/dist/function/identityFn.d.ts +2 -0
  107. package/dist/function/identityFn.d.ts.map +1 -0
  108. package/dist/function/identityFn.js +2 -0
  109. package/dist/function/identityFn.js.map +1 -0
  110. package/dist/function/throttle.d.ts +22 -0
  111. package/dist/function/throttle.d.ts.map +1 -0
  112. package/dist/function/throttle.js +40 -0
  113. package/dist/function/throttle.js.map +1 -0
  114. package/dist/global/globalEffect.d.ts +2 -0
  115. package/dist/global/globalEffect.d.ts.map +1 -0
  116. package/dist/global/globalEffect.js +12 -0
  117. package/dist/global/globalEffect.js.map +1 -0
  118. package/dist/index.native.js +1 -1
  119. package/dist/number/formatNumber.d.ts +12 -0
  120. package/dist/number/formatNumber.d.ts.map +1 -0
  121. package/dist/number/formatNumber.js +39 -0
  122. package/dist/number/formatNumber.js.map +1 -0
  123. package/dist/object/decorateObject.d.ts +2 -0
  124. package/dist/object/decorateObject.d.ts.map +1 -0
  125. package/dist/object/decorateObject.js +15 -0
  126. package/dist/object/decorateObject.js.map +1 -0
  127. package/dist/object/isEqualDeep.d.ts +5 -0
  128. package/dist/object/isEqualDeep.d.ts.map +1 -0
  129. package/dist/object/isEqualDeep.js +5 -0
  130. package/dist/object/isEqualDeep.js.map +1 -0
  131. package/dist/object/isEqualJSON.d.ts +2 -0
  132. package/dist/object/isEqualJSON.d.ts.map +1 -0
  133. package/dist/object/isEqualJSON.js +2 -0
  134. package/dist/object/isEqualJSON.js.map +1 -0
  135. package/dist/object/mapObject.d.ts +4 -0
  136. package/dist/object/mapObject.d.ts.map +1 -0
  137. package/dist/object/mapObject.js +10 -0
  138. package/dist/object/mapObject.js.map +1 -0
  139. package/dist/object/object.d.ts +10 -0
  140. package/dist/object/object.d.ts.map +1 -0
  141. package/dist/object/object.js +13 -0
  142. package/dist/object/object.js.map +1 -0
  143. package/dist/object/objectUniqueKey.d.ts +2 -0
  144. package/dist/object/objectUniqueKey.d.ts.map +1 -0
  145. package/dist/object/objectUniqueKey.js +10 -0
  146. package/dist/object/objectUniqueKey.js.map +1 -0
  147. package/dist/server/ensureEnv.d.ts +2 -0
  148. package/dist/server/ensureEnv.d.ts.map +1 -0
  149. package/dist/server/ensureEnv.js +20 -0
  150. package/dist/server/ensureEnv.js.map +1 -0
  151. package/dist/server/getHeaders.d.ts +2 -0
  152. package/dist/server/getHeaders.d.ts.map +1 -0
  153. package/dist/server/getHeaders.js +8 -0
  154. package/dist/server/getHeaders.js.map +1 -0
  155. package/dist/server/prettyPrintRequest.d.ts +2 -0
  156. package/dist/server/prettyPrintRequest.d.ts.map +1 -0
  157. package/dist/server/prettyPrintRequest.js +14 -0
  158. package/dist/server/prettyPrintRequest.js.map +1 -0
  159. package/dist/server/prettyPrintResponse.d.ts +2 -0
  160. package/dist/server/prettyPrintResponse.d.ts.map +1 -0
  161. package/dist/server/prettyPrintResponse.js +13 -0
  162. package/dist/server/prettyPrintResponse.js.map +1 -0
  163. package/dist/server/streamToString.d.ts +2 -0
  164. package/dist/server/streamToString.d.ts.map +1 -0
  165. package/dist/server/streamToString.js +21 -0
  166. package/dist/server/streamToString.js.map +1 -0
  167. package/dist/server-only.d.ts +2 -0
  168. package/dist/server-only.d.ts.map +1 -0
  169. package/dist/server-only.js +5 -0
  170. package/dist/server-only.js.map +1 -0
  171. package/dist/shared.d.ts +59 -4
  172. package/dist/shared.d.ts.map +1 -1
  173. package/dist/shared.js +59 -3
  174. package/dist/shared.js.map +1 -1
  175. package/dist/shared.native.js +73 -0
  176. package/dist/string/dedent.d.ts +2 -0
  177. package/dist/string/dedent.d.ts.map +1 -0
  178. package/dist/string/dedent.js +24 -0
  179. package/dist/string/dedent.js.map +1 -0
  180. package/dist/string/ellipsis.d.ts +2 -0
  181. package/dist/string/ellipsis.d.ts.map +1 -0
  182. package/dist/string/ellipsis.js +10 -0
  183. package/dist/string/ellipsis.js.map +1 -0
  184. package/dist/string/hash.d.ts +3 -0
  185. package/dist/string/hash.d.ts.map +1 -0
  186. package/dist/string/hash.js +16 -0
  187. package/dist/string/hash.js.map +1 -0
  188. package/dist/string/insertAtIndex.d.ts +2 -0
  189. package/dist/string/insertAtIndex.d.ts.map +1 -0
  190. package/dist/string/insertAtIndex.js +7 -0
  191. package/dist/string/insertAtIndex.js.map +1 -0
  192. package/dist/string/nbspLastWord.d.ts +6 -0
  193. package/dist/string/nbspLastWord.d.ts.map +1 -0
  194. package/dist/string/nbspLastWord.js +13 -0
  195. package/dist/string/nbspLastWord.js.map +1 -0
  196. package/dist/string/pickLast.d.ts +2 -0
  197. package/dist/string/pickLast.d.ts.map +1 -0
  198. package/dist/string/pickLast.js +10 -0
  199. package/dist/string/pickLast.js.map +1 -0
  200. package/dist/string/pluralize.d.ts +4 -0
  201. package/dist/string/pluralize.d.ts.map +1 -0
  202. package/dist/string/pluralize.js +19 -0
  203. package/dist/string/pluralize.js.map +1 -0
  204. package/dist/string/pluralize.native.d.ts +3 -0
  205. package/dist/string/pluralize.native.d.ts.map +1 -0
  206. package/dist/string/pluralize.native.js +5 -0
  207. package/dist/string/pluralize.native.js.map +1 -0
  208. package/dist/string/truncateList.d.ts +16 -0
  209. package/dist/string/truncateList.d.ts.map +1 -0
  210. package/dist/string/truncateList.js +23 -0
  211. package/dist/string/truncateList.js.map +1 -0
  212. package/dist/time/formatDate.d.ts +4 -0
  213. package/dist/time/formatDate.d.ts.map +1 -0
  214. package/dist/time/formatDate.js +40 -0
  215. package/dist/time/formatDate.js.map +1 -0
  216. package/dist/time/formatDateRelative.d.ts +8 -0
  217. package/dist/time/formatDateRelative.d.ts.map +1 -0
  218. package/dist/time/formatDateRelative.js +55 -0
  219. package/dist/time/formatDateRelative.js.map +1 -0
  220. package/dist/time/formatDistanceToNow.d.ts +2 -0
  221. package/dist/time/formatDistanceToNow.d.ts.map +1 -0
  222. package/dist/time/formatDistanceToNow.js +21 -0
  223. package/dist/time/formatDistanceToNow.js.map +1 -0
  224. package/dist/time/useTimer.d.ts +10 -0
  225. package/dist/time/useTimer.d.ts.map +1 -0
  226. package/dist/time/useTimer.js +60 -0
  227. package/dist/time/useTimer.js.map +1 -0
  228. package/dist/types/NullToOptional.d.ts +6 -0
  229. package/dist/types/NullToOptional.d.ts.map +1 -0
  230. package/dist/types/NullToOptional.js +2 -0
  231. package/dist/types/NullToOptional.js.map +1 -0
  232. package/dist/types/object.d.ts +24 -0
  233. package/dist/types/object.d.ts.map +1 -0
  234. package/dist/types/object.js +3 -0
  235. package/dist/types/object.js.map +1 -0
  236. package/dist/types/react.d.ts +2 -0
  237. package/dist/types/react.d.ts.map +1 -0
  238. package/dist/types/react.js +2 -0
  239. package/dist/types/react.js.map +1 -0
  240. package/dist/types/timer.d.ts +2 -0
  241. package/dist/types/timer.d.ts.map +1 -0
  242. package/dist/types/timer.js +2 -0
  243. package/dist/types/timer.js.map +1 -0
  244. package/dist/types/tuple.d.ts +2 -0
  245. package/dist/types/tuple.d.ts.map +1 -0
  246. package/dist/types/tuple.js +2 -0
  247. package/dist/types/tuple.js.map +1 -0
  248. package/dist/url/urlSanitize.d.ts +2 -0
  249. package/dist/url/urlSanitize.d.ts.map +1 -0
  250. package/dist/url/urlSanitize.js +21 -0
  251. package/dist/url/urlSanitize.js.map +1 -0
  252. package/dist/url/urlValidate.d.ts +2 -0
  253. package/dist/url/urlValidate.d.ts.map +1 -0
  254. package/dist/url/urlValidate.js +8 -0
  255. package/dist/url/urlValidate.js.map +1 -0
  256. package/package.json +30 -4
@@ -0,0 +1,18 @@
1
+ import { startTransition, useState } from 'react';
2
+ import { idle } from './idle.js';
3
+ import { useAsyncEffect } from './useAsyncEffect.js';
4
+ export const useLazyValue = (value, { immediateFirstUpdate, ...idleOptions } = {}) => {
5
+ const [lazyValue, setLazyValue] = useState(value);
6
+ // first update to a real value immediate
7
+ if (value && lazyValue === undefined && lazyValue !== value && immediateFirstUpdate) {
8
+ setLazyValue(value);
9
+ }
10
+ useAsyncEffect(async (signal) => {
11
+ await idle(idleOptions, signal);
12
+ startTransition(() => {
13
+ setLazyValue(value);
14
+ });
15
+ }, [value]);
16
+ return lazyValue;
17
+ };
18
+ //# sourceMappingURL=useLazyValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLazyValue.js","sourceRoot":"","sources":["../../src/async/useLazyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,EAAE,IAAI,EAAoB,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAQ,EACR,EACE,oBAAoB,EACpB,GAAG,WAAW,KACsC,EAAE,EACrD,EAAE;IACL,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,yCAAyC;IACzC,IAAI,KAAK,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK,IAAI,oBAAoB,EAAE,CAAC;QACpF,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,cAAc,CACZ,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC/B,eAAe,CAAC,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { startTransition, useState } from 'react';
2
+ import { idle } from './idle.js';
3
+ import { useAsyncEffect } from './useAsyncEffect.native.js';
4
+ export const useLazyValue = (value, { immediateFirstUpdate, ...idleOptions } = {}) => {
5
+ const [lazyValue, setLazyValue] = useState(value);
6
+ // first update to a real value immediate
7
+ if (value && lazyValue === undefined && lazyValue !== value && immediateFirstUpdate) {
8
+ setLazyValue(value);
9
+ }
10
+ useAsyncEffect(async (signal) => {
11
+ await idle(idleOptions, signal);
12
+ startTransition(() => {
13
+ setLazyValue(value);
14
+ });
15
+ }, [value]);
16
+ return lazyValue;
17
+ };
18
+ //# sourceMappingURL=useLazyValue.js.map
@@ -0,0 +1,2 @@
1
+ export declare function clearIndexedDB(): Promise<void>;
2
+ //# sourceMappingURL=clearIndexedDB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearIndexedDB.d.ts","sourceRoot":"","sources":["../../src/browser/clearIndexedDB.ts"],"names":[],"mappings":"AAAA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBpD"}
@@ -0,0 +1,17 @@
1
+ export async function clearIndexedDB() {
2
+ if ('indexedDB' in window) {
3
+ const databases = await indexedDB.databases();
4
+ await Promise.all(databases.map((db) => {
5
+ if (db.name) {
6
+ return new Promise((resolve, reject) => {
7
+ const deleteReq = indexedDB.deleteDatabase(db.name);
8
+ deleteReq.onsuccess = () => resolve();
9
+ deleteReq.onerror = () => reject(deleteReq.error);
10
+ deleteReq.onblocked = () => reject(new Error('database deletion blocked'));
11
+ });
12
+ }
13
+ return Promise.resolve();
14
+ }));
15
+ }
16
+ }
17
+ //# sourceMappingURL=clearIndexedDB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearIndexedDB.js","sourceRoot":"","sources":["../../src/browser/clearIndexedDB.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAA;QAC7C,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACnB,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,IAAK,CAAC,CAAA;oBACpD,SAAS,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;oBACrC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;oBACjD,SAAS,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;gBAC5E,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC,CAAC,CACH,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client-only.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-only.d.ts","sourceRoot":"","sources":["../src/client-only.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ if (process.env.VITE_ENVIRONMENT !== 'client') {
2
+ console.error(`This file should only be imported on the client!`);
3
+ }
4
+ export {};
5
+ //# sourceMappingURL=client-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-only.js","sourceRoot":"","sources":["../src/client-only.ts"],"names":[],"mappings":"AAAA,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;AACnE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const getClipboardText: () => Promise<string | null>;
2
+ //# sourceMappingURL=clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/clipboard/clipboard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAO9D,CAAA"}
@@ -0,0 +1,10 @@
1
+ export const getClipboardText = async () => {
2
+ try {
3
+ const text = await navigator.clipboard.readText();
4
+ return text;
5
+ }
6
+ catch {
7
+ return null;
8
+ }
9
+ };
10
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/clipboard/clipboard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getClipboardText: () => Promise<string | null>;
2
+ //# sourceMappingURL=clipboard.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.native.d.ts","sourceRoot":"","sources":["../../src/clipboard/clipboard.native.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAO9D,CAAA"}
@@ -0,0 +1,11 @@
1
+ import * as Clipboard from 'expo-clipboard';
2
+ export const getClipboardText = async () => {
3
+ try {
4
+ const text = await Clipboard.getStringAsync();
5
+ return text;
6
+ }
7
+ catch {
8
+ return null;
9
+ }
10
+ };
11
+ //# sourceMappingURL=clipboard.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.native.js","sourceRoot":"","sources":["../../src/clipboard/clipboard.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,CAAA;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function extractOpacityFromColor(color: string): number;
2
+ //# sourceMappingURL=extractOpacityFromColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractOpacityFromColor.d.ts","sourceRoot":"","sources":["../../src/color/extractOpacityFromColor.ts"],"names":[],"mappings":"AAAA,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB7D"}
@@ -0,0 +1,18 @@
1
+ export function extractOpacityFromColor(color) {
2
+ if (color === 'transparent')
3
+ return 0;
4
+ // Match hex codes like #RRGGBBAA or #RRGGBB
5
+ const hexMatch = color.match(/^#([0-9a-fA-F]{6})([0-9a-fA-F]{2})?$/);
6
+ if (hexMatch) {
7
+ const [, _rgb, alphaHex] = hexMatch;
8
+ if (alphaHex) {
9
+ const alpha = parseInt(alphaHex, 16);
10
+ return alpha / 255;
11
+ }
12
+ return 1; // No alpha specified → fully opaque
13
+ }
14
+ // Could expand this to support rgba(), hsl(), etc. if needed
15
+ console.warn(`Unsupported color format: ${color}`);
16
+ return 1;
17
+ }
18
+ //# sourceMappingURL=extractOpacityFromColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractOpacityFromColor.js","sourceRoot":"","sources":["../../src/color/extractOpacityFromColor.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO,CAAC,CAAA;IAErC,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACpE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAA;QACnC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACpC,OAAO,KAAK,GAAG,GAAG,CAAA;QACpB,CAAC;QACD,OAAO,CAAC,CAAA,CAAC,oCAAoC;IAC/C,CAAC;IAED,6DAA6D;IAC7D,OAAO,CAAC,IAAI,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,10 @@
1
+ type ColorGenOptions = {
2
+ numColors?: number;
3
+ minSaturation?: number;
4
+ maxSaturation?: number;
5
+ minLightness?: number;
6
+ maxLightness?: number;
7
+ };
8
+ export declare const generateColors: ({ numColors, minSaturation, maxSaturation, minLightness, maxLightness, }?: ColorGenOptions) => string[];
9
+ export {};
10
+ //# sourceMappingURL=generateColors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateColors.d.ts","sourceRoot":"","sources":["../../src/color/generateColors.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAuBD,eAAO,MAAM,cAAc,GAAI,2EAM5B,eAAoB,KAAG,MAAM,EAkC/B,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { toHex } from './toHex.js';
2
+ // convert HSL to hex
3
+ function hslToHex(h, s, l) {
4
+ // normalize values
5
+ h = h / 360;
6
+ s = s / 100;
7
+ l = l / 100;
8
+ const a = s * Math.min(l, 1 - l);
9
+ const f = (n) => {
10
+ const k = (n + h * 12) % 12;
11
+ const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
12
+ return Math.round(255 * color);
13
+ };
14
+ const r = f(0);
15
+ const g = f(8);
16
+ const b = f(4);
17
+ return toHex((r << 16) | (g << 8) | b);
18
+ }
19
+ export const generateColors = ({ numColors = 32, minSaturation = 45, maxSaturation = 85, minLightness = 45, maxLightness = 65, } = {}) => {
20
+ const colors = [];
21
+ // Define hue ranges for color groups
22
+ const hueRanges = [
23
+ [0, 30], // reds
24
+ [30, 60], // oranges
25
+ [60, 90], // yellows
26
+ [90, 150], // greens
27
+ [150, 180], // teals
28
+ [180, 240], // blues
29
+ [240, 270], // purples
30
+ [270, 330], // magentas
31
+ [330, 360], // pink-reds
32
+ ];
33
+ // Calculate colors per group
34
+ const colorsPerGroup = Math.ceil(numColors / hueRanges.length);
35
+ hueRanges.forEach(([start, end]) => {
36
+ const hueStep = (end - start) / colorsPerGroup;
37
+ for (let i = 0; i < colorsPerGroup; i++) {
38
+ if (colors.length >= numColors)
39
+ break;
40
+ const hue = start + hueStep * i;
41
+ const saturation = minSaturation + Math.random() * (maxSaturation - minSaturation);
42
+ const lightness = minLightness + Math.random() * (maxLightness - minLightness);
43
+ colors.push(hslToHex(hue, saturation, lightness));
44
+ }
45
+ });
46
+ return colors;
47
+ };
48
+ //# sourceMappingURL=generateColors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateColors.js","sourceRoot":"","sources":["../../src/color/generateColors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function lum(color: string, luminance?: number): string;
2
+ //# sourceMappingURL=lum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lum.d.ts","sourceRoot":"","sources":["../../src/color/lum.ts"],"names":[],"mappings":"AAGA,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CA0E1D"}
@@ -0,0 +1,67 @@
1
+ // Helper to ensure color string is valid (simple fallback implementation)
2
+ const validColor = (color) => color;
3
+ export function lum(color, luminance = 0.5) {
4
+ // handle hsl/hsla
5
+ if (color.startsWith('hsl')) {
6
+ const match = color.match(/hsla?\((\d+),\s*(\d+)%,\s*(\d+)%(?:,\s*([\d.]+))?\)/);
7
+ if (match) {
8
+ const [, h, s, , a] = match;
9
+ const newL = Math.round(luminance * 100);
10
+ if (a) {
11
+ return validColor(`hsla(${h}, ${s}%, ${newL}%, ${a})`);
12
+ }
13
+ return validColor(`hsl(${h}, ${s}%, ${newL}%)`);
14
+ }
15
+ }
16
+ // handle hex - convert to hsl and adjust
17
+ if (color.startsWith('#')) {
18
+ let hex = color.slice(1);
19
+ // expand shorthand hex
20
+ if (hex.length === 3) {
21
+ hex = hex
22
+ .split('')
23
+ .map((c) => c + c)
24
+ .join('');
25
+ }
26
+ // convert hex to rgb
27
+ const r = parseInt(hex.slice(0, 2), 16) / 255;
28
+ const g = parseInt(hex.slice(2, 4), 16) / 255;
29
+ const b = parseInt(hex.slice(4, 6), 16) / 255;
30
+ // convert rgb to hsl
31
+ const max = Math.max(r, g, b);
32
+ const min = Math.min(r, g, b);
33
+ const l = (max + min) / 2;
34
+ if (max === min) {
35
+ // achromatic
36
+ const newL = Math.round(luminance * 100);
37
+ return validColor(`hsl(0, 0%, ${newL}%)`);
38
+ }
39
+ const d = max - min;
40
+ const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
41
+ let h;
42
+ switch (max) {
43
+ case r:
44
+ h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
45
+ break;
46
+ case g:
47
+ h = ((b - r) / d + 2) / 6;
48
+ break;
49
+ case b:
50
+ h = ((r - g) / d + 4) / 6;
51
+ break;
52
+ default:
53
+ h = 0;
54
+ }
55
+ const newH = Math.round(h * 360);
56
+ const newS = Math.round(s * 100);
57
+ const newL = Math.round(luminance * 100);
58
+ // preserve alpha if present
59
+ if (hex.length === 8) {
60
+ const alpha = parseInt(hex.slice(6, 8), 16) / 255;
61
+ return validColor(`hsla(${newH}, ${newS}%, ${newL}%, ${alpha.toFixed(2)})`);
62
+ }
63
+ return validColor(`hsl(${newH}, ${newS}%, ${newL}%)`);
64
+ }
65
+ return validColor(color);
66
+ }
67
+ //# sourceMappingURL=lum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lum.js","sourceRoot":"","sources":["../../src/color/lum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function toHex(value: number): string;
2
+ export declare function randomHex(): string;
3
+ //# sourceMappingURL=toHex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toHex.d.ts","sourceRoot":"","sources":["../../src/color/toHex.ts"],"names":[],"mappings":"AACA,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3C;AAGD,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
@@ -0,0 +1,10 @@
1
+ // simple helper to ensure we always get a valid 6-digit hex color from a number
2
+ export function toHex(value) {
3
+ // ensure we get a 6-digit hex string with leading zeros if needed
4
+ return '#' + value.toString(16).padStart(6, '0');
5
+ }
6
+ // generate a random hex color
7
+ export function randomHex() {
8
+ return toHex(Math.floor(Math.random() * 0xffffff));
9
+ }
10
+ //# sourceMappingURL=toHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toHex.js","sourceRoot":"","sources":["../../src/color/toHex.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,kEAAkE;IAClE,OAAO,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAClD,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAA;AACpD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { IS_WEB } from './platform.native.js';
2
+ export const IS_TAURI = typeof window !== 'undefined' && '__TAURI__' in window;
3
+ export const IS_NATIVE = !IS_WEB && !IS_TAURI;
4
+ export const IS_MAC_DESKTOP = typeof navigator !== 'undefined' && /Macintosh|MacIntel/.test(navigator.platform);
5
+ export const IS_SAFARI = IS_TAURI ||
6
+ (typeof navigator !== 'undefined' &&
7
+ /Version\/[\d.]+.*Safari/.test(navigator.userAgent) &&
8
+ typeof navigator.vendor === 'string' &&
9
+ navigator.vendor.includes('Apple Computer'));
10
+ export * from './platform.native.js';
11
+ export const EMPTY_ARRAY = [];
12
+ export const EMPTY_OBJECT = {};
13
+ const getDebugLevelFromUrl = () => {
14
+ if (typeof window === 'undefined')
15
+ return null;
16
+ const match = window.location?.search?.match(/debug=(\d+)/);
17
+ return match?.[1] ? parseInt(match[1], 10) : null;
18
+ };
19
+ export const DEBUG_LEVEL = process.env.DEBUG_LEVEL
20
+ ? +process.env.DEBUG_LEVEL
21
+ : (getDebugLevelFromUrl() ?? (process.env.NODE_ENV === 'development' ? 1 : 0));
22
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Debug utility that logs a value and passes it through unchanged.
3
+ * Useful for debugging chains of operations without breaking the flow.
4
+ *
5
+ * @param value - The value to log and pass through
6
+ * @param label - Optional label to prefix the log output
7
+ * @returns The original value unchanged
8
+ */
9
+ export declare function debugLog<T>(value: T, label?: string): T;
10
+ //# sourceMappingURL=debugLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugLog.d.ts","sourceRoot":"","sources":["../../src/debug/debugLog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAIvD"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Debug utility that logs a value and passes it through unchanged.
3
+ * Useful for debugging chains of operations without breaking the flow.
4
+ *
5
+ * @param value - The value to log and pass through
6
+ * @param label - Optional label to prefix the log output
7
+ * @returns The original value unchanged
8
+ */
9
+ export function debugLog(value, label) {
10
+ const output = label ? `[${label}]` : '[DEBUG]';
11
+ console.info(output, value);
12
+ return value;
13
+ }
14
+ //# sourceMappingURL=debugLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugLog.js","sourceRoot":"","sources":["../../src/debug/debugLog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAI,KAAQ,EAAE,KAAc;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3B,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useDebugState<T>(useState: [T, React.Dispatch<React.SetStateAction<T>>]): [T, React.Dispatch<React.SetStateAction<T>>];
2
+ //# sourceMappingURL=debugUseState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugUseState.d.ts","sourceRoot":"","sources":["../../src/debug/debugUseState.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,CAAC,EAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GACrD,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CA8B9C"}
@@ -0,0 +1,29 @@
1
+ import { useCallback } from 'react';
2
+ export function useDebugState(useState) {
3
+ const [state, setState] = useState;
4
+ const wrappedSetState = useCallback((newValue) => {
5
+ if (typeof newValue === 'function') {
6
+ // Handle callback style
7
+ setState((prevState) => {
8
+ const nextState = newValue(prevState);
9
+ console.trace('State update (callback):', {
10
+ prevState,
11
+ nextState,
12
+ stack: new Error().stack,
13
+ });
14
+ return nextState;
15
+ });
16
+ }
17
+ else {
18
+ // Handle direct value style
19
+ console.trace('State update (direct):', {
20
+ prevState: state,
21
+ nextState: newValue,
22
+ stack: new Error().stack,
23
+ });
24
+ setState(newValue);
25
+ }
26
+ }, [setState, state]);
27
+ return [state, wrappedSetState];
28
+ }
29
+ //# sourceMappingURL=debugUseState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugUseState.js","sourceRoot":"","sources":["../../src/debug/debugUseState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEnC,MAAM,UAAU,aAAa,CAC3B,QAAsD;IAEtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAElC,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,QAAmC,EAAE,EAAE;QACtC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,wBAAwB;YACxB,QAAQ,CAAC,CAAC,SAAY,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAI,QAAgC,CAAC,SAAS,CAAC,CAAA;gBAC9D,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE;oBACxC,SAAS;oBACT,SAAS;oBACT,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK;iBACzB,CAAC,CAAA;gBACF,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACtC,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK;aACzB,CAAC,CAAA;YACF,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACpB,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../src/emitter.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAwBnD,KAAK,cAAc,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAA;CACrC,CAAA;AAED,qBAAa,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,CAAC,WAAW,CAA+B;IAClD,KAAK,EAAE,CAAC,CAAA;IACR,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEf,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAKjD,MAAM,GAAI,YAAY,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAKnD;IAED,IAAI,GAAI,MAAM,CAAC,KAAG,IAAI,CAmCrB;IAED,SAAS,QAAO,OAAO,CAAC,CAAC,CAAC,CAOzB;CACF;AAGD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,CAAC,EACf,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,CAAC,EACf,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAGZ;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,IAC5C,CAAC,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAA;AAE5C,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAC/C,SAAS,CAAC,EACV,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAChC,OAAO,GAAG,EAAE,KACX,IAYF,CAAA;AAKD,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACpD,SAAS,CAAC,EACV,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAC9B,WAAW,CAAC,CAAC,CAuBf,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EACpF,SAAS,CAAC,EACV,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACzB,UAAU;IACR,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,EACD,OAAM,GAAG,EAAgB,KACxB,CA8BF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,KAAK,CAAC,CAAC,SAAS,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAC5E,UAAU,CAAC,EACX,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,KAAK,CAAC,EAC9D,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAA;CAAE,KACjE,CA8CF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACrD,SAAS,CAAC,KACT,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,CAG5D,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EACtD,SAAS,CAAC,KACT,CAAC,CAAC,CAAC,EACJ,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EACtC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/C,IAAI,CAAC,EAAE,GAAG,EAAE,KACT,CAAC,CAQL,CAAA;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,CAAC,EACf,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAC/C,SAAS;IACV,MAAM,OAAO,CAAC,CAAC,CAAC;IAChB,CAAC,KAAK,EAAE,iBAAiB,CAAC;QAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,GAAG,CAAC,OAAO;CAC3E,CAoCA"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../src/emitter.tsx"],"names":[],"mappings":"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"}
package/dist/emitter.js CHANGED
@@ -155,6 +155,14 @@ export const useEmitterSelector = (emitter, selector, options, args = EMPTY_ARRA
155
155
  setState(next);
156
156
  }
157
157
  }
158
+ const prevArgsRef = React.useRef(null);
159
+ const argsCountRef = React.useRef(0);
160
+ if (prevArgsRef.current === null ||
161
+ prevArgsRef.current.length !== args.length ||
162
+ prevArgsRef.current.some((a, i) => !Object.is(a, args[i]))) {
163
+ prevArgsRef.current = [...args];
164
+ argsCountRef.current++;
165
+ }
158
166
  useLayoutEffect(() => {
159
167
  if (disabled)
160
168
  return;
@@ -172,7 +180,7 @@ export const useEmitterSelector = (emitter, selector, options, args = EMPTY_ARRA
172
180
  }
173
181
  });
174
182
  // oxlint-disable-next-line exhaustive-deps
175
- }, [disabled, emitter, getSelector, ...args]);
183
+ }, [disabled, emitter, getSelector, argsCountRef.current]);
176
184
  return state;
177
185
  };
178
186
  export const useEmittersSelector = (emitters, selector, options) => {
@@ -182,6 +190,14 @@ export const useEmittersSelector = (emitters, selector, options) => {
182
190
  const values = emitters.map((e) => e.value);
183
191
  return getSelector()(values);
184
192
  });
193
+ const prevEmittersRef = React.useRef(null);
194
+ const emittersCountRef = React.useRef(0);
195
+ if (prevEmittersRef.current === null ||
196
+ prevEmittersRef.current.length !== emitters.length ||
197
+ prevEmittersRef.current.some((e, i) => !Object.is(e, emitters[i]))) {
198
+ prevEmittersRef.current = [...emitters];
199
+ emittersCountRef.current++;
200
+ }
185
201
  useLayoutEffect(() => {
186
202
  if (disabled) {
187
203
  return;
@@ -212,7 +228,7 @@ export const useEmittersSelector = (emitters, selector, options) => {
212
228
  disposals.forEach((d) => d());
213
229
  };
214
230
  // oxlint-disable-next-line exhaustive-deps
215
- }, [disabled, getSelector, ...emitters]);
231
+ }, [disabled, getSelector, emittersCountRef.current]);
216
232
  return state;
217
233
  };
218
234
  export const createUseEmitter = (emitter) => {
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.tsx"],"names":[],"mappings":"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"}