@take-out/helpers 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 (478) hide show
  1. package/dist/cjs/array/getRandomItem.cjs +12 -10
  2. package/dist/cjs/array/getRandomItem.native.js +15 -14
  3. package/dist/cjs/array/getRandomItem.native.js.map +1 -1
  4. package/dist/cjs/array/takeLast.cjs +15 -11
  5. package/dist/cjs/array/takeLast.native.js +12 -10
  6. package/dist/cjs/array/takeLast.native.js.map +1 -1
  7. package/dist/cjs/array/uniqBy.cjs +15 -11
  8. package/dist/cjs/array/uniqBy.native.js +29 -20
  9. package/dist/cjs/array/uniqBy.native.js.map +1 -1
  10. package/dist/cjs/assert.cjs +24 -14
  11. package/dist/cjs/assert.native.js +29 -15
  12. package/dist/cjs/assert.native.js.map +1 -1
  13. package/dist/cjs/async/abortable.cjs +38 -17
  14. package/dist/cjs/async/abortable.native.js +44 -19
  15. package/dist/cjs/async/abortable.native.js.map +1 -1
  16. package/dist/cjs/async/asyncContext.cjs +57 -32
  17. package/dist/cjs/async/asyncContext.native.js +34 -22
  18. package/dist/cjs/async/asyncContext.native.js.map +1 -1
  19. package/dist/cjs/async/asyncContext.test.cjs +6 -4
  20. package/dist/cjs/async/asyncContext.test.native.js +34 -18
  21. package/dist/cjs/async/asyncContext.test.native.js.map +1 -1
  22. package/dist/cjs/async/idle.cjs +52 -30
  23. package/dist/cjs/async/idle.native.js +55 -38
  24. package/dist/cjs/async/idle.native.js.map +1 -1
  25. package/dist/cjs/async/interval.cjs +16 -11
  26. package/dist/cjs/async/interval.native.js +19 -14
  27. package/dist/cjs/async/interval.native.js.map +1 -1
  28. package/dist/cjs/async/isAborted.cjs +12 -10
  29. package/dist/cjs/async/isAborted.native.js +13 -11
  30. package/dist/cjs/async/isAborted.native.js.map +1 -1
  31. package/dist/cjs/async/sleep.cjs +16 -11
  32. package/dist/cjs/async/sleep.native.js +21 -16
  33. package/dist/cjs/async/sleep.native.js.map +1 -1
  34. package/dist/cjs/async/useAsync.cjs +32 -21
  35. package/dist/cjs/async/useAsync.native.js +35 -25
  36. package/dist/cjs/async/useAsync.native.js.map +1 -1
  37. package/dist/cjs/async/useAsyncEffect.cjs +64 -39
  38. package/dist/cjs/async/useAsyncEffect.native.js +74 -47
  39. package/dist/cjs/async/useAsyncEffect.native.js.map +1 -1
  40. package/dist/cjs/async/useLazyMount.cjs +35 -28
  41. package/dist/cjs/async/useLazyMount.native.js +35 -31
  42. package/dist/cjs/async/useLazyMount.native.js.map +1 -1
  43. package/dist/cjs/async/useLazyValue.cjs +23 -16
  44. package/dist/cjs/async/useLazyValue.native.js +32 -25
  45. package/dist/cjs/async/useLazyValue.native.js.map +1 -1
  46. package/dist/cjs/browser/clearIndexedDB.cjs +23 -14
  47. package/dist/cjs/browser/clearIndexedDB.native.js +27 -20
  48. package/dist/cjs/browser/clearIndexedDB.native.js.map +1 -1
  49. package/dist/cjs/browser/isActiveElementFormField.cjs +13 -11
  50. package/dist/cjs/browser/isActiveElementFormField.native.js +13 -11
  51. package/dist/cjs/browser/isActiveElementFormField.native.js.map +1 -1
  52. package/dist/cjs/browser/openPopup.cjs +18 -16
  53. package/dist/cjs/browser/openPopup.native.js +18 -16
  54. package/dist/cjs/browser/openPopup.native.js.map +1 -1
  55. package/dist/cjs/client-only.cjs +3 -1
  56. package/dist/cjs/client-only.native.js +3 -1
  57. package/dist/cjs/client-only.native.js.map +1 -1
  58. package/dist/cjs/clipboard/clipboard.cjs +14 -11
  59. package/dist/cjs/clipboard/clipboard.native.js +33 -31
  60. package/dist/cjs/clipboard/clipboard.native.js.map +1 -1
  61. package/dist/cjs/color/extractOpacityFromColor.cjs +19 -12
  62. package/dist/cjs/color/extractOpacityFromColor.native.js +14 -11
  63. package/dist/cjs/color/extractOpacityFromColor.native.js.map +1 -1
  64. package/dist/cjs/color/generateColors.cjs +53 -47
  65. package/dist/cjs/color/generateColors.native.js +59 -51
  66. package/dist/cjs/color/generateColors.native.js.map +1 -1
  67. package/dist/cjs/color/lum.cjs +32 -25
  68. package/dist/cjs/color/lum.native.js +35 -28
  69. package/dist/cjs/color/lum.native.js.map +1 -1
  70. package/dist/cjs/color/toHex.cjs +12 -10
  71. package/dist/cjs/color/toHex.native.js +12 -10
  72. package/dist/cjs/color/toHex.native.js.map +1 -1
  73. package/dist/cjs/constants.cjs +26 -24
  74. package/dist/cjs/constants.native.js +28 -26
  75. package/dist/cjs/constants.native.js.map +1 -1
  76. package/dist/cjs/debug/debugLog.cjs +14 -11
  77. package/dist/cjs/debug/debugLog.native.js +14 -11
  78. package/dist/cjs/debug/debugLog.native.js.map +1 -1
  79. package/dist/cjs/debug/debugUseState.cjs +26 -18
  80. package/dist/cjs/debug/debugUseState.native.js +26 -18
  81. package/dist/cjs/debug/debugUseState.native.js.map +1 -1
  82. package/dist/cjs/emitter.cjs +197 -127
  83. package/dist/cjs/emitter.native.js +250 -183
  84. package/dist/cjs/emitter.native.js.map +1 -1
  85. package/dist/cjs/ensure/ensure.cjs +24 -14
  86. package/dist/cjs/ensure/ensure.native.js +29 -15
  87. package/dist/cjs/ensure/ensure.native.js.map +1 -1
  88. package/dist/cjs/ensure/ensureOne.cjs +19 -14
  89. package/dist/cjs/ensure/ensureOne.native.js +17 -14
  90. package/dist/cjs/ensure/ensureOne.native.js.map +1 -1
  91. package/dist/cjs/error/errors.cjs +33 -20
  92. package/dist/cjs/error/errors.native.js +151 -96
  93. package/dist/cjs/error/errors.native.js.map +1 -1
  94. package/dist/cjs/function/emptyFn.cjs +12 -10
  95. package/dist/cjs/function/emptyFn.native.js +12 -10
  96. package/dist/cjs/function/emptyFn.native.js.map +1 -1
  97. package/dist/cjs/function/identityFn.cjs +12 -10
  98. package/dist/cjs/function/identityFn.native.js +12 -10
  99. package/dist/cjs/function/identityFn.native.js.map +1 -1
  100. package/dist/cjs/function/throttle.cjs +43 -26
  101. package/dist/cjs/function/throttle.native.js +49 -30
  102. package/dist/cjs/function/throttle.native.js.map +1 -1
  103. package/dist/cjs/global/globalEffect.cjs +20 -14
  104. package/dist/cjs/global/globalEffect.native.js +18 -14
  105. package/dist/cjs/global/globalEffect.native.js.map +1 -1
  106. package/dist/cjs/global/globalValue.cjs +22 -13
  107. package/dist/cjs/global/globalValue.native.js +22 -13
  108. package/dist/cjs/global/globalValue.native.js.map +1 -1
  109. package/dist/cjs/index.cjs +13 -11
  110. package/dist/cjs/index.native.js +13 -11
  111. package/dist/cjs/index.native.js.map +1 -1
  112. package/dist/cjs/number/formatNumber.cjs +28 -16
  113. package/dist/cjs/number/formatNumber.native.js +34 -22
  114. package/dist/cjs/number/formatNumber.native.js.map +1 -1
  115. package/dist/cjs/object/decorateObject.cjs +21 -11
  116. package/dist/cjs/object/decorateObject.native.js +31 -18
  117. package/dist/cjs/object/decorateObject.native.js.map +1 -1
  118. package/dist/cjs/object/isEqualDeep.cjs +16 -14
  119. package/dist/cjs/object/isEqualDeep.native.js +16 -14
  120. package/dist/cjs/object/isEqualDeep.native.js.map +1 -1
  121. package/dist/cjs/object/isEqualIdentity.cjs +12 -10
  122. package/dist/cjs/object/isEqualIdentity.native.js +12 -10
  123. package/dist/cjs/object/isEqualIdentity.native.js.map +1 -1
  124. package/dist/cjs/object/isEqualJSON.cjs +12 -10
  125. package/dist/cjs/object/isEqualJSON.native.js +12 -10
  126. package/dist/cjs/object/isEqualJSON.native.js.map +1 -1
  127. package/dist/cjs/object/isEqualNever.cjs +13 -11
  128. package/dist/cjs/object/isEqualNever.native.js +13 -11
  129. package/dist/cjs/object/isEqualNever.native.js.map +1 -1
  130. package/dist/cjs/object/mapObject.cjs +17 -11
  131. package/dist/cjs/object/mapObject.native.js +17 -11
  132. package/dist/cjs/object/mapObject.native.js.map +1 -1
  133. package/dist/cjs/object/object.cjs +12 -10
  134. package/dist/cjs/object/object.native.js +12 -10
  135. package/dist/cjs/object/object.native.js.map +1 -1
  136. package/dist/cjs/object/objectUniqueKey.cjs +19 -14
  137. package/dist/cjs/object/objectUniqueKey.native.js +21 -18
  138. package/dist/cjs/object/objectUniqueKey.native.js.map +1 -1
  139. package/dist/cjs/react/createGlobalContext.cjs +14 -12
  140. package/dist/cjs/react/createGlobalContext.native.js +14 -12
  141. package/dist/cjs/react/createGlobalContext.native.js.map +1 -1
  142. package/dist/cjs/react/getCurrentComponentStack.cjs +51 -41
  143. package/dist/cjs/react/getCurrentComponentStack.native.js +69 -54
  144. package/dist/cjs/react/getCurrentComponentStack.native.js.map +1 -1
  145. package/dist/cjs/server/ensureEnv.cjs +27 -14
  146. package/dist/cjs/server/ensureEnv.native.js +27 -14
  147. package/dist/cjs/server/ensureEnv.native.js.map +1 -1
  148. package/dist/cjs/server/getHeaders.cjs +15 -12
  149. package/dist/cjs/server/getHeaders.native.js +15 -12
  150. package/dist/cjs/server/getHeaders.native.js.map +1 -1
  151. package/dist/cjs/server/isServerRuntime.cjs +15 -11
  152. package/dist/cjs/server/isServerRuntime.native.js +15 -11
  153. package/dist/cjs/server/isServerRuntime.native.js.map +1 -1
  154. package/dist/cjs/server/prettyPrintRequest.cjs +12 -10
  155. package/dist/cjs/server/prettyPrintRequest.native.js +12 -10
  156. package/dist/cjs/server/prettyPrintRequest.native.js.map +1 -1
  157. package/dist/cjs/server/prettyPrintResponse.cjs +21 -19
  158. package/dist/cjs/server/prettyPrintResponse.native.js +21 -19
  159. package/dist/cjs/server/prettyPrintResponse.native.js.map +1 -1
  160. package/dist/cjs/server/streamToString.cjs +16 -14
  161. package/dist/cjs/server/streamToString.native.js +17 -15
  162. package/dist/cjs/server/streamToString.native.js.map +1 -1
  163. package/dist/cjs/server-only.cjs +3 -1
  164. package/dist/cjs/server-only.native.js +3 -1
  165. package/dist/cjs/server-only.native.js.map +1 -1
  166. package/dist/cjs/storage/createStorage.cjs +73 -58
  167. package/dist/cjs/storage/createStorage.native.js +99 -85
  168. package/dist/cjs/storage/createStorage.native.js.map +1 -1
  169. package/dist/cjs/storage/driver.cjs +22 -16
  170. package/dist/cjs/storage/driver.native.js +30 -24
  171. package/dist/cjs/storage/driver.native.js.map +1 -1
  172. package/dist/cjs/storage/storage.test.cjs +87 -46
  173. package/dist/cjs/storage/storage.test.native.js +99 -61
  174. package/dist/cjs/storage/storage.test.native.js.map +1 -1
  175. package/dist/cjs/storage/types.cjs +7 -5
  176. package/dist/cjs/storage/types.native.js +7 -5
  177. package/dist/cjs/storage/types.native.js.map +1 -1
  178. package/dist/cjs/string/dedent.cjs +25 -18
  179. package/dist/cjs/string/dedent.native.js +33 -25
  180. package/dist/cjs/string/dedent.native.js.map +1 -1
  181. package/dist/cjs/string/ellipsis.cjs +18 -12
  182. package/dist/cjs/string/ellipsis.native.js +18 -13
  183. package/dist/cjs/string/ellipsis.native.js.map +1 -1
  184. package/dist/cjs/string/hash.cjs +12 -10
  185. package/dist/cjs/string/hash.native.js +12 -10
  186. package/dist/cjs/string/hash.native.js.map +1 -1
  187. package/dist/cjs/string/insertAtIndex.cjs +15 -11
  188. package/dist/cjs/string/insertAtIndex.native.js +15 -11
  189. package/dist/cjs/string/insertAtIndex.native.js.map +1 -1
  190. package/dist/cjs/string/nbspLastWord.cjs +14 -11
  191. package/dist/cjs/string/nbspLastWord.native.js +14 -11
  192. package/dist/cjs/string/nbspLastWord.native.js.map +1 -1
  193. package/dist/cjs/string/pickLast.cjs +16 -11
  194. package/dist/cjs/string/pickLast.native.js +16 -11
  195. package/dist/cjs/string/pickLast.native.js.map +1 -1
  196. package/dist/cjs/string/pluralize.cjs +12 -10
  197. package/dist/cjs/string/pluralize.native.js +14 -11
  198. package/dist/cjs/string/pluralize.native.js.map +1 -1
  199. package/dist/cjs/string/randomId.cjs +12 -10
  200. package/dist/cjs/string/randomId.native.js +12 -10
  201. package/dist/cjs/string/randomId.native.js.map +1 -1
  202. package/dist/cjs/string/slugify.cjs +12 -10
  203. package/dist/cjs/string/slugify.native.js +12 -10
  204. package/dist/cjs/string/slugify.native.js.map +1 -1
  205. package/dist/cjs/string/truncateList.cjs +17 -13
  206. package/dist/cjs/string/truncateList.native.js +17 -13
  207. package/dist/cjs/string/truncateList.native.js.map +1 -1
  208. package/dist/cjs/time/formatDate.cjs +21 -16
  209. package/dist/cjs/time/formatDate.native.js +21 -16
  210. package/dist/cjs/time/formatDate.native.js.map +1 -1
  211. package/dist/cjs/time/formatDateRelative.cjs +39 -28
  212. package/dist/cjs/time/formatDateRelative.native.js +39 -28
  213. package/dist/cjs/time/formatDateRelative.native.js.map +1 -1
  214. package/dist/cjs/time/formatDistanceToNow.cjs +24 -15
  215. package/dist/cjs/time/formatDistanceToNow.native.js +24 -16
  216. package/dist/cjs/time/formatDistanceToNow.native.js.map +1 -1
  217. package/dist/cjs/time/time.cjs +12 -10
  218. package/dist/cjs/time/time.native.js +12 -10
  219. package/dist/cjs/time/time.native.js.map +1 -1
  220. package/dist/cjs/time/useTimer.cjs +62 -31
  221. package/dist/cjs/time/useTimer.native.js +73 -48
  222. package/dist/cjs/time/useTimer.native.js.map +1 -1
  223. package/dist/cjs/types/NullToOptional.cjs +7 -5
  224. package/dist/cjs/types/NullToOptional.native.js +7 -5
  225. package/dist/cjs/types/NullToOptional.native.js.map +1 -1
  226. package/dist/cjs/types/object.cjs +7 -5
  227. package/dist/cjs/types/object.native.js +7 -5
  228. package/dist/cjs/types/object.native.js.map +1 -1
  229. package/dist/cjs/types/react.cjs +7 -5
  230. package/dist/cjs/types/react.native.js +7 -5
  231. package/dist/cjs/types/react.native.js.map +1 -1
  232. package/dist/cjs/types/timer.cjs +7 -5
  233. package/dist/cjs/types/timer.native.js +7 -5
  234. package/dist/cjs/types/timer.native.js.map +1 -1
  235. package/dist/cjs/types/tuple.cjs +7 -5
  236. package/dist/cjs/types/tuple.native.js +7 -5
  237. package/dist/cjs/types/tuple.native.js.map +1 -1
  238. package/dist/cjs/url/urlSanitize.cjs +15 -11
  239. package/dist/cjs/url/urlSanitize.native.js +16 -12
  240. package/dist/cjs/url/urlSanitize.native.js.map +1 -1
  241. package/dist/cjs/url/urlValidate.cjs +12 -10
  242. package/dist/cjs/url/urlValidate.native.js +12 -10
  243. package/dist/cjs/url/urlValidate.native.js.map +1 -1
  244. package/dist/esm/array/getRandomItem.native.js +3 -4
  245. package/dist/esm/array/getRandomItem.native.js.map +1 -1
  246. package/dist/esm/array/takeLast.mjs +3 -1
  247. package/dist/esm/array/takeLast.mjs.map +1 -1
  248. package/dist/esm/array/takeLast.native.js.map +1 -1
  249. package/dist/esm/array/uniqBy.mjs +3 -1
  250. package/dist/esm/array/uniqBy.mjs.map +1 -1
  251. package/dist/esm/array/uniqBy.native.js +17 -10
  252. package/dist/esm/array/uniqBy.native.js.map +1 -1
  253. package/dist/esm/assert.mjs +12 -4
  254. package/dist/esm/assert.mjs.map +1 -1
  255. package/dist/esm/assert.native.js +17 -5
  256. package/dist/esm/assert.native.js.map +1 -1
  257. package/dist/esm/async/abortable.mjs +26 -7
  258. package/dist/esm/async/abortable.mjs.map +1 -1
  259. package/dist/esm/async/abortable.native.js +32 -9
  260. package/dist/esm/async/abortable.native.js.map +1 -1
  261. package/dist/esm/async/asyncContext.mjs +45 -22
  262. package/dist/esm/async/asyncContext.mjs.map +1 -1
  263. package/dist/esm/async/asyncContext.native.js +22 -12
  264. package/dist/esm/async/asyncContext.native.js.map +1 -1
  265. package/dist/esm/async/asyncContext.test.mjs +4 -2
  266. package/dist/esm/async/asyncContext.test.mjs.map +1 -1
  267. package/dist/esm/async/asyncContext.test.native.js +32 -16
  268. package/dist/esm/async/asyncContext.test.native.js.map +1 -1
  269. package/dist/esm/async/idle.mjs +38 -18
  270. package/dist/esm/async/idle.mjs.map +1 -1
  271. package/dist/esm/async/idle.native.js +41 -26
  272. package/dist/esm/async/idle.native.js.map +1 -1
  273. package/dist/esm/async/interval.mjs +4 -1
  274. package/dist/esm/async/interval.mjs.map +1 -1
  275. package/dist/esm/async/interval.native.js +4 -1
  276. package/dist/esm/async/interval.native.js.map +1 -1
  277. package/dist/esm/async/isAborted.native.js +1 -1
  278. package/dist/esm/async/sleep.mjs +4 -1
  279. package/dist/esm/async/sleep.mjs.map +1 -1
  280. package/dist/esm/async/sleep.native.js +5 -2
  281. package/dist/esm/async/sleep.native.js.map +1 -1
  282. package/dist/esm/async/useAsync.mjs +20 -11
  283. package/dist/esm/async/useAsync.mjs.map +1 -1
  284. package/dist/esm/async/useAsync.native.js +23 -15
  285. package/dist/esm/async/useAsync.native.js.map +1 -1
  286. package/dist/esm/async/useAsyncEffect.mjs +48 -25
  287. package/dist/esm/async/useAsyncEffect.mjs.map +1 -1
  288. package/dist/esm/async/useAsyncEffect.native.js +58 -33
  289. package/dist/esm/async/useAsyncEffect.native.js.map +1 -1
  290. package/dist/esm/async/useLazyMount.mjs +20 -15
  291. package/dist/esm/async/useLazyMount.mjs.map +1 -1
  292. package/dist/esm/async/useLazyMount.native.js +19 -17
  293. package/dist/esm/async/useLazyMount.native.js.map +1 -1
  294. package/dist/esm/async/useLazyValue.mjs +8 -3
  295. package/dist/esm/async/useLazyValue.mjs.map +1 -1
  296. package/dist/esm/async/useLazyValue.native.js +12 -7
  297. package/dist/esm/async/useLazyValue.native.js.map +1 -1
  298. package/dist/esm/browser/clearIndexedDB.mjs +11 -4
  299. package/dist/esm/browser/clearIndexedDB.mjs.map +1 -1
  300. package/dist/esm/browser/clearIndexedDB.native.js +15 -10
  301. package/dist/esm/browser/clearIndexedDB.native.js.map +1 -1
  302. package/dist/esm/browser/isActiveElementFormField.mjs +1 -1
  303. package/dist/esm/browser/isActiveElementFormField.mjs.map +1 -1
  304. package/dist/esm/browser/isActiveElementFormField.native.js +1 -1
  305. package/dist/esm/browser/isActiveElementFormField.native.js.map +1 -1
  306. package/dist/esm/browser/openPopup.mjs +6 -6
  307. package/dist/esm/browser/openPopup.mjs.map +1 -1
  308. package/dist/esm/browser/openPopup.native.js +6 -6
  309. package/dist/esm/browser/openPopup.native.js.map +1 -1
  310. package/dist/esm/client-only.mjs +3 -1
  311. package/dist/esm/client-only.mjs.map +1 -1
  312. package/dist/esm/client-only.native.js +3 -1
  313. package/dist/esm/client-only.native.js.map +1 -1
  314. package/dist/esm/clipboard/clipboard.mjs +2 -1
  315. package/dist/esm/clipboard/clipboard.mjs.map +1 -1
  316. package/dist/esm/clipboard/clipboard.native.js +1 -1
  317. package/dist/esm/clipboard/clipboard.native.js.map +1 -1
  318. package/dist/esm/color/extractOpacityFromColor.mjs +7 -2
  319. package/dist/esm/color/extractOpacityFromColor.mjs.map +1 -1
  320. package/dist/esm/color/extractOpacityFromColor.native.js +2 -1
  321. package/dist/esm/color/extractOpacityFromColor.native.js.map +1 -1
  322. package/dist/esm/color/generateColors.mjs +41 -37
  323. package/dist/esm/color/generateColors.mjs.map +1 -1
  324. package/dist/esm/color/generateColors.native.js +47 -41
  325. package/dist/esm/color/generateColors.native.js.map +1 -1
  326. package/dist/esm/color/lum.mjs +20 -15
  327. package/dist/esm/color/lum.mjs.map +1 -1
  328. package/dist/esm/color/lum.native.js +23 -18
  329. package/dist/esm/color/lum.native.js.map +1 -1
  330. package/dist/esm/constants.mjs +12 -12
  331. package/dist/esm/constants.mjs.map +1 -1
  332. package/dist/esm/constants.native.js +14 -14
  333. package/dist/esm/constants.native.js.map +1 -1
  334. package/dist/esm/debug/debugLog.mjs +2 -1
  335. package/dist/esm/debug/debugLog.mjs.map +1 -1
  336. package/dist/esm/debug/debugLog.native.js +2 -1
  337. package/dist/esm/debug/debugLog.native.js.map +1 -1
  338. package/dist/esm/debug/debugUseState.mjs +14 -8
  339. package/dist/esm/debug/debugUseState.mjs.map +1 -1
  340. package/dist/esm/debug/debugUseState.native.js +14 -8
  341. package/dist/esm/debug/debugUseState.native.js.map +1 -1
  342. package/dist/esm/emitter.mjs +164 -96
  343. package/dist/esm/emitter.mjs.map +1 -1
  344. package/dist/esm/emitter.native.js +217 -152
  345. package/dist/esm/emitter.native.js.map +1 -1
  346. package/dist/esm/ensure/ensure.mjs +12 -4
  347. package/dist/esm/ensure/ensure.mjs.map +1 -1
  348. package/dist/esm/ensure/ensure.native.js +17 -5
  349. package/dist/esm/ensure/ensure.native.js.map +1 -1
  350. package/dist/esm/ensure/ensureOne.mjs +7 -4
  351. package/dist/esm/ensure/ensureOne.mjs.map +1 -1
  352. package/dist/esm/ensure/ensureOne.native.js +5 -4
  353. package/dist/esm/ensure/ensureOne.native.js.map +1 -1
  354. package/dist/esm/error/errors.mjs +21 -10
  355. package/dist/esm/error/errors.mjs.map +1 -1
  356. package/dist/esm/error/errors.native.js +139 -86
  357. package/dist/esm/error/errors.native.js.map +1 -1
  358. package/dist/esm/function/throttle.mjs +31 -16
  359. package/dist/esm/function/throttle.mjs.map +1 -1
  360. package/dist/esm/function/throttle.native.js +37 -20
  361. package/dist/esm/function/throttle.native.js.map +1 -1
  362. package/dist/esm/global/globalEffect.mjs +8 -4
  363. package/dist/esm/global/globalEffect.mjs.map +1 -1
  364. package/dist/esm/global/globalEffect.native.js +6 -4
  365. package/dist/esm/global/globalEffect.native.js.map +1 -1
  366. package/dist/esm/global/globalValue.mjs +10 -3
  367. package/dist/esm/global/globalValue.mjs.map +1 -1
  368. package/dist/esm/global/globalValue.native.js +10 -3
  369. package/dist/esm/global/globalValue.native.js.map +1 -1
  370. package/dist/esm/number/formatNumber.mjs +16 -6
  371. package/dist/esm/number/formatNumber.mjs.map +1 -1
  372. package/dist/esm/number/formatNumber.native.js +22 -12
  373. package/dist/esm/number/formatNumber.native.js.map +1 -1
  374. package/dist/esm/object/decorateObject.mjs +9 -1
  375. package/dist/esm/object/decorateObject.mjs.map +1 -1
  376. package/dist/esm/object/decorateObject.native.js +19 -8
  377. package/dist/esm/object/decorateObject.native.js.map +1 -1
  378. package/dist/esm/object/isEqualDeep.mjs +2 -2
  379. package/dist/esm/object/isEqualDeep.mjs.map +1 -1
  380. package/dist/esm/object/isEqualDeep.native.js +2 -2
  381. package/dist/esm/object/isEqualDeep.native.js.map +1 -1
  382. package/dist/esm/object/isEqualNever.mjs +1 -1
  383. package/dist/esm/object/isEqualNever.native.js +1 -1
  384. package/dist/esm/object/mapObject.mjs +5 -1
  385. package/dist/esm/object/mapObject.mjs.map +1 -1
  386. package/dist/esm/object/mapObject.native.js +5 -1
  387. package/dist/esm/object/mapObject.native.js.map +1 -1
  388. package/dist/esm/object/objectUniqueKey.mjs +6 -3
  389. package/dist/esm/object/objectUniqueKey.mjs.map +1 -1
  390. package/dist/esm/object/objectUniqueKey.native.js +9 -8
  391. package/dist/esm/object/objectUniqueKey.native.js.map +1 -1
  392. package/dist/esm/react/getCurrentComponentStack.mjs +27 -19
  393. package/dist/esm/react/getCurrentComponentStack.mjs.map +1 -1
  394. package/dist/esm/react/getCurrentComponentStack.native.js +43 -30
  395. package/dist/esm/react/getCurrentComponentStack.native.js.map +1 -1
  396. package/dist/esm/server/ensureEnv.mjs +15 -4
  397. package/dist/esm/server/ensureEnv.mjs.map +1 -1
  398. package/dist/esm/server/ensureEnv.native.js +15 -4
  399. package/dist/esm/server/ensureEnv.native.js.map +1 -1
  400. package/dist/esm/server/getHeaders.mjs +3 -2
  401. package/dist/esm/server/getHeaders.mjs.map +1 -1
  402. package/dist/esm/server/getHeaders.native.js +3 -2
  403. package/dist/esm/server/getHeaders.native.js.map +1 -1
  404. package/dist/esm/server/isServerRuntime.mjs +3 -1
  405. package/dist/esm/server/isServerRuntime.mjs.map +1 -1
  406. package/dist/esm/server/isServerRuntime.native.js +3 -1
  407. package/dist/esm/server/isServerRuntime.native.js.map +1 -1
  408. package/dist/esm/server/prettyPrintResponse.mjs +7 -7
  409. package/dist/esm/server/prettyPrintResponse.mjs.map +1 -1
  410. package/dist/esm/server/prettyPrintResponse.native.js +7 -7
  411. package/dist/esm/server/prettyPrintResponse.native.js.map +1 -1
  412. package/dist/esm/server/streamToString.mjs +4 -4
  413. package/dist/esm/server/streamToString.mjs.map +1 -1
  414. package/dist/esm/server/streamToString.native.js +5 -5
  415. package/dist/esm/server/streamToString.native.js.map +1 -1
  416. package/dist/esm/server-only.mjs +3 -1
  417. package/dist/esm/server-only.mjs.map +1 -1
  418. package/dist/esm/server-only.native.js +3 -1
  419. package/dist/esm/server-only.native.js.map +1 -1
  420. package/dist/esm/storage/createStorage.mjs +61 -48
  421. package/dist/esm/storage/createStorage.mjs.map +1 -1
  422. package/dist/esm/storage/createStorage.native.js +86 -74
  423. package/dist/esm/storage/createStorage.native.js.map +1 -1
  424. package/dist/esm/storage/driver.mjs +10 -6
  425. package/dist/esm/storage/driver.mjs.map +1 -1
  426. package/dist/esm/storage/driver.native.js +18 -14
  427. package/dist/esm/storage/driver.native.js.map +1 -1
  428. package/dist/esm/storage/storage.test.mjs +84 -43
  429. package/dist/esm/storage/storage.test.mjs.map +1 -1
  430. package/dist/esm/storage/storage.test.native.js +96 -58
  431. package/dist/esm/storage/storage.test.native.js.map +1 -1
  432. package/dist/esm/string/dedent.mjs +13 -8
  433. package/dist/esm/string/dedent.mjs.map +1 -1
  434. package/dist/esm/string/dedent.native.js +21 -15
  435. package/dist/esm/string/dedent.native.js.map +1 -1
  436. package/dist/esm/string/ellipsis.mjs +6 -2
  437. package/dist/esm/string/ellipsis.mjs.map +1 -1
  438. package/dist/esm/string/ellipsis.native.js +6 -3
  439. package/dist/esm/string/ellipsis.native.js.map +1 -1
  440. package/dist/esm/string/insertAtIndex.mjs +3 -1
  441. package/dist/esm/string/insertAtIndex.mjs.map +1 -1
  442. package/dist/esm/string/insertAtIndex.native.js +3 -1
  443. package/dist/esm/string/insertAtIndex.native.js.map +1 -1
  444. package/dist/esm/string/nbspLastWord.mjs +2 -1
  445. package/dist/esm/string/nbspLastWord.mjs.map +1 -1
  446. package/dist/esm/string/nbspLastWord.native.js +2 -1
  447. package/dist/esm/string/nbspLastWord.native.js.map +1 -1
  448. package/dist/esm/string/pickLast.mjs +4 -1
  449. package/dist/esm/string/pickLast.mjs.map +1 -1
  450. package/dist/esm/string/pickLast.native.js +4 -1
  451. package/dist/esm/string/pickLast.native.js.map +1 -1
  452. package/dist/esm/string/pluralize.native.js +2 -1
  453. package/dist/esm/string/pluralize.native.js.map +1 -1
  454. package/dist/esm/string/truncateList.mjs +5 -3
  455. package/dist/esm/string/truncateList.mjs.map +1 -1
  456. package/dist/esm/string/truncateList.native.js +5 -3
  457. package/dist/esm/string/truncateList.native.js.map +1 -1
  458. package/dist/esm/time/formatDate.mjs +9 -6
  459. package/dist/esm/time/formatDate.mjs.map +1 -1
  460. package/dist/esm/time/formatDate.native.js +9 -6
  461. package/dist/esm/time/formatDate.native.js.map +1 -1
  462. package/dist/esm/time/formatDateRelative.mjs +27 -18
  463. package/dist/esm/time/formatDateRelative.mjs.map +1 -1
  464. package/dist/esm/time/formatDateRelative.native.js +27 -18
  465. package/dist/esm/time/formatDateRelative.native.js.map +1 -1
  466. package/dist/esm/time/formatDistanceToNow.mjs +12 -5
  467. package/dist/esm/time/formatDistanceToNow.mjs.map +1 -1
  468. package/dist/esm/time/formatDistanceToNow.native.js +12 -6
  469. package/dist/esm/time/formatDistanceToNow.native.js.map +1 -1
  470. package/dist/esm/time/useTimer.mjs +50 -21
  471. package/dist/esm/time/useTimer.mjs.map +1 -1
  472. package/dist/esm/time/useTimer.native.js +44 -21
  473. package/dist/esm/time/useTimer.native.js.map +1 -1
  474. package/dist/esm/url/urlSanitize.mjs +3 -1
  475. package/dist/esm/url/urlSanitize.mjs.map +1 -1
  476. package/dist/esm/url/urlSanitize.native.js +4 -2
  477. package/dist/esm/url/urlSanitize.native.js.map +1 -1
  478. package/package.json +3 -3
@@ -1,6 +1,9 @@
1
1
  import { AbortError } from "../error/errors.mjs";
2
2
  const sleep = async (ms, signal) => {
3
- if (await new Promise(res => setTimeout(res, ms)), signal?.aborted) throw new AbortError();
3
+ await new Promise(res => setTimeout(res, ms));
4
+ if (signal?.aborted) {
5
+ throw new AbortError();
6
+ }
4
7
  };
5
8
  export { sleep };
6
9
  //# sourceMappingURL=sleep.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["AbortError","sleep","ms","signal","Promise","res","setTimeout","aborted"],"sources":["../../../src/async/sleep.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAEpB,MAAMC,KAAA,GAAQ,MAAAA,CAAOC,EAAA,EAAYC,MAAA,KAAwC;EAE9E,IADA,MAAM,IAAIC,OAAA,CAASC,GAAA,IAAQC,UAAA,CAAWD,GAAA,EAAKH,EAAE,CAAC,GAC1CC,MAAA,EAAQI,OAAA,EACV,MAAM,IAAIP,UAAA,CAAW;AAEzB","ignoreList":[]}
1
+ {"version":3,"names":["AbortError","sleep","ms","signal","Promise","res","setTimeout","aborted"],"sources":["../../../src/async/sleep.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAEpB,MAAMC,KAAA,GAAQ,MAAAA,CAAOC,EAAA,EAAYC,MAAA,KAAwC;EAC9E,MAAM,IAAIC,OAAA,CAASC,GAAA,IAAQC,UAAA,CAAWD,GAAA,EAAKH,EAAE,CAAC;EAC9C,IAAIC,MAAA,EAAQI,OAAA,EAAS;IACnB,MAAM,IAAIP,UAAA,CAAW;EACvB;AACF","ignoreList":[]}
@@ -1,8 +1,11 @@
1
1
  import { AbortError } from "../error/errors.native.js";
2
2
  var sleep = async function (ms, signal) {
3
- if (await new Promise(function (res) {
3
+ await new Promise(function (res) {
4
4
  return setTimeout(res, ms);
5
- }), signal?.aborted) throw new AbortError();
5
+ });
6
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
7
+ throw new AbortError();
8
+ }
6
9
  };
7
10
  export { sleep };
8
11
  //# sourceMappingURL=sleep.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AbortError","sleep","ms","signal","Promise","res","setTimeout","aborted"],"sources":["../../../src/async/sleep.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAEpB,IAAAC,KAAM,kBAAAA,CAA2BC,EAAA,EAAAC,MAAwC;EAE9E,IADA,MAAM,IAAIC,OAAA,CAAQ,UAASC,GAAA;IAEzB,OAAMC,UAAI,CAAAD,GAAW,EAAAH,EAAA;EAEzB,IAAAC,MAAA,EAAAI,OAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["AbortError","sleep","ms","signal","Promise","res","setTimeout","aborted"],"sources":["../../../src/async/sleep.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAEpB,IAAAC,KAAM,kBAAAA,CAA2BC,EAAA,EAAAC,MAAwC;EAC9E,MAAM,IAAIC,OAAA,CAAQ,UAASC,GAAA;IAC3B,OAAIC,UAAQ,CAAAD,GAAS,EAAAH,EAAA;EACnB;EACF,IAAAC,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAAI,OAAA;IACF,UAAAP,UAAA","ignoreList":[]}
@@ -1,21 +1,30 @@
1
1
  import { useState, useEffect } from "react";
2
2
  function useAsync(promiseFn, args) {
3
- const [data, setData] = useState(null),
4
- [error, setError] = useState(null),
5
- [loading, setLoading] = useState(!0);
6
- return useEffect(() => {
7
- let isMounted = !0;
8
- return (async () => {
3
+ const [data, setData] = useState(null);
4
+ const [error, setError] = useState(null);
5
+ const [loading, setLoading] = useState(true);
6
+ useEffect(() => {
7
+ let isMounted = true;
8
+ const fetchData = async () => {
9
9
  try {
10
10
  const result = await promiseFn();
11
- isMounted && (setData(result), setLoading(!1));
11
+ if (isMounted) {
12
+ setData(result);
13
+ setLoading(false);
14
+ }
12
15
  } catch (err) {
13
- isMounted && (setError(err), setLoading(!1));
16
+ if (isMounted) {
17
+ setError(err);
18
+ setLoading(false);
19
+ }
14
20
  }
15
- })(), () => {
16
- isMounted = !1;
17
21
  };
18
- }, args), [data, error ? "error" : loading ? "loading" : "idle", error];
22
+ fetchData();
23
+ return () => {
24
+ isMounted = false;
25
+ };
26
+ }, args);
27
+ return [data, error ? "error" : loading ? "loading" : "idle", error];
19
28
  }
20
29
  export { useAsync };
21
30
  //# sourceMappingURL=useAsync.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useAsync","promiseFn","args","data","setData","error","setError","loading","setLoading","isMounted","result","err"],"sources":["../../../src/async/useAsync.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AAE7B,SAASC,SACdC,SAAA,EACAC,IAAA,EACiD;EACjD,MAAM,CAACC,IAAA,EAAMC,OAAO,IAAIN,QAAA,CAAmB,IAAI;IACzC,CAACO,KAAA,EAAOC,QAAQ,IAAIR,QAAA,CAAuB,IAAI;IAC/C,CAACS,OAAA,EAASC,UAAU,IAAIV,QAAA,CAAkB,EAAI;EAEpD,OAAAC,SAAA,CAAU,MAAM;IACd,IAAIU,SAAA,GAAY;IAiBhB,QAfkB,YAAY;MAC5B,IAAI;QACF,MAAMC,MAAA,GAAS,MAAMT,SAAA,CAAU;QAC3BQ,SAAA,KACFL,OAAA,CAAQM,MAAM,GACdF,UAAA,CAAW,EAAK;MAEpB,SAASG,GAAA,EAAK;QACRF,SAAA,KACFH,QAAA,CAASK,GAAY,GACrBH,UAAA,CAAW,EAAK;MAEpB;IACF,GAEU,GAEH,MAAM;MACXC,SAAA,GAAY;IACd;EAEF,GAAGP,IAAI,GAEA,CAACC,IAAA,EAAWE,KAAA,GAAQ,UAAUE,OAAA,GAAU,YAAY,QAAQF,KAAK;AAC1E","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useAsync","promiseFn","args","data","setData","error","setError","loading","setLoading","isMounted","fetchData","result","err"],"sources":["../../../src/async/useAsync.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AAE7B,SAASC,SACdC,SAAA,EACAC,IAAA,EACiD;EACjD,MAAM,CAACC,IAAA,EAAMC,OAAO,IAAIN,QAAA,CAAmB,IAAI;EAC/C,MAAM,CAACO,KAAA,EAAOC,QAAQ,IAAIR,QAAA,CAAuB,IAAI;EACrD,MAAM,CAACS,OAAA,EAASC,UAAU,IAAIV,QAAA,CAAkB,IAAI;EAEpDC,SAAA,CAAU,MAAM;IACd,IAAIU,SAAA,GAAY;IAEhB,MAAMC,SAAA,GAAY,MAAAA,CAAA,KAAY;MAC5B,IAAI;QACF,MAAMC,MAAA,GAAS,MAAMV,SAAA,CAAU;QAC/B,IAAIQ,SAAA,EAAW;UACbL,OAAA,CAAQO,MAAM;UACdH,UAAA,CAAW,KAAK;QAClB;MACF,SAASI,GAAA,EAAK;QACZ,IAAIH,SAAA,EAAW;UACbH,QAAA,CAASM,GAAY;UACrBJ,UAAA,CAAW,KAAK;QAClB;MACF;IACF;IAEAE,SAAA,CAAU;IAEV,OAAO,MAAM;MACXD,SAAA,GAAY;IACd;EAEF,GAAGP,IAAI;EAEP,OAAO,CAACC,IAAA,EAAWE,KAAA,GAAQ,UAAUE,OAAA,GAAU,YAAY,QAAQF,KAAK;AAC1E","ignoreList":[]}
@@ -1,24 +1,32 @@
1
1
  import { useState, useEffect } from "react";
2
2
  function useAsync(promiseFn, args) {
3
- var [data, setData] = useState(null),
4
- [error, setError] = useState(null),
5
- [loading, setLoading] = useState(!0);
6
- return useEffect(function () {
7
- var isMounted = !0,
8
- fetchData = async function () {
9
- try {
10
- var result = await promiseFn();
11
- isMounted && (setData(result), setLoading(!1));
12
- } catch (err) {
13
- isMounted && (setError(err), setLoading(!1));
3
+ var [data, setData] = useState(null);
4
+ var [error, setError] = useState(null);
5
+ var [loading, setLoading] = useState(true);
6
+ useEffect(function () {
7
+ var isMounted = true;
8
+ var fetchData = async function () {
9
+ try {
10
+ var result = await promiseFn();
11
+ if (isMounted) {
12
+ setData(result);
13
+ setLoading(false);
14
14
  }
15
- };
16
- return fetchData(), function () {
17
- isMounted = !1;
15
+ } catch (err) {
16
+ if (isMounted) {
17
+ setError(err);
18
+ setLoading(false);
19
+ }
20
+ }
21
+ };
22
+ fetchData();
23
+ return function () {
24
+ isMounted = false;
18
25
  };
19
26
  },
20
27
  // eslint-disable-next-line react-hooks/exhaustive-deps
21
- args), [data, error ? "error" : loading ? "loading" : "idle", error];
28
+ args);
29
+ return [data, error ? "error" : loading ? "loading" : "idle", error];
22
30
  }
23
31
  export { useAsync };
24
32
  //# sourceMappingURL=useAsync.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useAsync","promiseFn","args","data","setData","error","setError","loading","setLoading","isMounted","fetchData","result","err"],"sources":["../../../src/async/useAsync.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AAE7B,SAASC,SACdC,SAAA,EACAC,IAAA,EACiD;EACjD,KAAAC,IAAO,EAAAC,OAAM,IAAON,QAAI,KAAmB;IAAI,CAAAO,KACxC,EAAAC,QAAO,IAAQR,QAAI,KAAuB;IAAI,CAAAS,OAC9C,EAAAC,UAAS,IAAUV,QAAI,GAAkB;EAEhD,OAAAC,SAAA,CACE,YAAI;IAiBJ,IAAAU,SAfkB,KAAY;MAAAC,SAAA,kBAAAA,CAAA;QAC5B,IAAI;UACF,IAAMC,MAAA,GAAS,MAAMV,SAAA,CAAU;UAC3BQ,SAAA,KACFL,OAAQ,CAAAO,MAAM,CACd,EAAAH,UAAW,CAAK;QAEpB,SAASI,GAAK;UACRH,SAAA,KACFH,QAAS,CAAAM,GAAY,CACrB,EAAAJ,UAAW,CAAK;QAEpB;MACF,CAEU;IAGR,OAAAE,SAAY;MACdD,SAAA;IAEC;EAGL","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useAsync","promiseFn","args","data","setData","error","setError","loading","setLoading","isMounted","fetchData","result","err"],"sources":["../../../src/async/useAsync.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AAE7B,SAASC,SACdC,SAAA,EACAC,IAAA,EACiD;EACjD,KAAAC,IAAO,EAAAC,OAAM,IAAON,QAAI,KAAmB;EAC3C,KAAAO,KAAO,EAAAC,QAAO,IAAQR,QAAI,KAAuB;EACjD,KAAAS,OAAO,EAAAC,UAAS,IAAUV,QAAI,KAAkB;EAEhDC,SAAA,CACE,YAAI;IAEJ,IAAMU,SAAA,GAAY;IAChB,IAAIC,SAAA,kBAAAA,CAAA;MACF;QACA,IAAIC,MAAA,GAAW,MAAAV,SAAA;QACb,IAAAQ,SAAQ,EAAM;UACdL,OAAA,CAAAO,MAAgB;UAClBH,UAAA;QACF;MACE,SAAII,GAAA;QACF,IAAAH,SAAqB;UACrBH,QAAA,CAAWM,GAAA;UACbJ,UAAA;QACF;MACF;IAEA;IAEAE,SAAO,EAAM;IACX,mBAAY;MACdD,SAAA;IAEC;EAEH;EACF","ignoreList":[]}
@@ -3,22 +3,22 @@ import { EMPTY_OBJECT } from "../constants.mjs";
3
3
  import { getCurrentComponentStack } from "../react/getCurrentComponentStack.mjs";
4
4
  import { handleAbortError } from "./abortable.mjs";
5
5
  function useAsyncEffect(cb, deps = [], options) {
6
- useAsyncEffectImpl(!1, cb, deps, options);
6
+ useAsyncEffectImpl(false, cb, deps, options);
7
7
  }
8
8
  function useAsyncLayoutEffect(cb, deps = [], options) {
9
- useAsyncEffectImpl(!0, cb, deps, options);
9
+ useAsyncEffectImpl(true, cb, deps, options);
10
10
  }
11
11
  function useAsyncEffectImpl(isLayoutEffect, cb, deps = [], options = EMPTY_OBJECT) {
12
- const effectHook = isLayoutEffect ? useLayoutEffect : useEffect,
13
- effectId = process.env.NODE_ENV === "development" ? useId() : "";
12
+ const effectHook = isLayoutEffect ? useLayoutEffect : useEffect;
13
+ const effectId = process.env.NODE_ENV === "development" ? useId() : "";
14
14
  effectHook(() => {
15
15
  checkEffectLoop(effectId, cb, deps, options.circuitBreakAfter, options.circuitBreakPeriod);
16
- const controller = new AbortController(),
17
- signal = controller.signal;
16
+ const controller = new AbortController();
17
+ const signal = controller.signal;
18
18
  try {
19
19
  const value = cb(signal, ...deps);
20
20
  Promise.resolve(value).then(async res => {
21
- if (res && typeof res == "function") {
21
+ if (res && typeof res === "function") {
22
22
  if (signal.aborted) return res();
23
23
  signal.addEventListener("abort", res);
24
24
  }
@@ -27,32 +27,55 @@ function useAsyncEffectImpl(isLayoutEffect, cb, deps = [], options = EMPTY_OBJEC
27
27
  handleAbortError(error, options.debug);
28
28
  }
29
29
  return () => {
30
- signal.aborted || controller.abort();
30
+ if (signal.aborted) return;
31
+ controller.abort();
31
32
  };
32
33
  }, deps);
33
34
  }
34
- let effectRunCounts, checkEffectLoop;
35
+ let effectRunCounts;
36
+ let checkEffectLoop;
35
37
  function formatDeps(deps) {
36
38
  try {
37
- return JSON.stringify(deps, (_, v) => typeof v == "function" ? `[Function: ${v.name || "anonymous"}]` : typeof v == "symbol" ? v.toString() : v instanceof Error ? `[Error: ${v.message}]` : v, 2);
39
+ return JSON.stringify(deps, (_, v) => {
40
+ if (typeof v === "function") return `[Function: ${v.name || "anonymous"}]`;
41
+ if (typeof v === "symbol") return v.toString();
42
+ if (v instanceof Error) return `[Error: ${v.message}]`;
43
+ return v;
44
+ }, 2);
38
45
  } catch {
39
46
  return `[${deps.length} deps - not serializable]`;
40
47
  }
41
48
  }
42
- process.env.NODE_ENV === "development" ? (effectRunCounts = /* @__PURE__ */new Map(), checkEffectLoop = (effectId, cb, deps, circuitBreakAfter = 20, circuitBreakPeriod = 1e3) => {
43
- const now = Date.now(),
44
- runs = effectRunCounts.get(effectId) || [];
45
- runs.push(now);
46
- const recentRuns = runs.filter(time => now - time < circuitBreakPeriod);
47
- effectRunCounts.set(effectId, recentRuns);
48
- const runCount = recentRuns.length;
49
- if (runCount > circuitBreakAfter) {
50
- const message = `\u{1F6A8} useAsyncEffect infinite loop detected! Effect ran ${runCount} times in <${circuitBreakPeriod}ms`;
51
- if (process.env.NODE_ENV === "development") {
52
- console.error(message), console.error("Effect function:", cb.toString().slice(0, 500)), console.error("Dependencies:", formatDeps(deps)), console.error("Stack:", getCurrentComponentStack());
53
- debugger;
54
- } else throw alert(message), new Error(message);
55
- } else runCount > circuitBreakAfter / 2 && (console.warn(`\u26A0\uFE0F useAsyncEffect potential loop: Effect ran ${runCount} times in <${circuitBreakPeriod}ms`), console.warn("Effect function:", cb.toString().slice(0, 500)), console.warn("Dependencies:", formatDeps(deps)), console.warn("Stack:", getCurrentComponentStack()));
56
- }) : checkEffectLoop = (_id, _cb, _deps, _after, _period) => {};
49
+ if (process.env.NODE_ENV === "development") {
50
+ effectRunCounts = /* @__PURE__ */new Map();
51
+ checkEffectLoop = (effectId, cb, deps, circuitBreakAfter = 20, circuitBreakPeriod = 1e3) => {
52
+ const now = Date.now();
53
+ const runs = effectRunCounts.get(effectId) || [];
54
+ runs.push(now);
55
+ const recentRuns = runs.filter(time => now - time < circuitBreakPeriod);
56
+ effectRunCounts.set(effectId, recentRuns);
57
+ const runCount = recentRuns.length;
58
+ if (runCount > circuitBreakAfter) {
59
+ const message = `\u{1F6A8} useAsyncEffect infinite loop detected! Effect ran ${runCount} times in <${circuitBreakPeriod}ms`;
60
+ if (process.env.NODE_ENV === "development") {
61
+ console.error(message);
62
+ console.error("Effect function:", cb.toString().slice(0, 500));
63
+ console.error("Dependencies:", formatDeps(deps));
64
+ console.error("Stack:", getCurrentComponentStack());
65
+ debugger;
66
+ } else {
67
+ alert(message);
68
+ throw new Error(message);
69
+ }
70
+ } else if (runCount > circuitBreakAfter / 2) {
71
+ console.warn(`\u26A0\uFE0F useAsyncEffect potential loop: Effect ran ${runCount} times in <${circuitBreakPeriod}ms`);
72
+ console.warn("Effect function:", cb.toString().slice(0, 500));
73
+ console.warn("Dependencies:", formatDeps(deps));
74
+ console.warn("Stack:", getCurrentComponentStack());
75
+ }
76
+ };
77
+ } else {
78
+ checkEffectLoop = (_id, _cb, _deps, _after, _period) => {};
79
+ }
57
80
  export { useAsyncEffect, useAsyncLayoutEffect };
58
81
  //# sourceMappingURL=useAsyncEffect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useId","useLayoutEffect","EMPTY_OBJECT","getCurrentComponentStack","handleAbortError","useAsyncEffect","cb","deps","options","useAsyncEffectImpl","useAsyncLayoutEffect","isLayoutEffect","effectHook","effectId","process","env","NODE_ENV","checkEffectLoop","circuitBreakAfter","circuitBreakPeriod","controller","AbortController","signal","value","Promise","resolve","then","res","aborted","addEventListener","catch","error","debug","abort","effectRunCounts","formatDeps","JSON","stringify","_","v","name","toString","Error","message","length","Map","now","Date","runs","get","push","recentRuns","filter","time","set","runCount","console","slice","alert","warn","_id","_cb","_deps","_after","_period"],"sources":["../../../src/async/useAsyncEffect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useId","useLayoutEffect","EMPTY_OBJECT","getCurrentComponentStack","handleAbortError","useAsyncEffect","cb","deps","options","useAsyncEffectImpl","useAsyncLayoutEffect","isLayoutEffect","effectHook","effectId","process","env","NODE_ENV","checkEffectLoop","circuitBreakAfter","circuitBreakPeriod","controller","AbortController","signal","value","Promise","resolve","then","res","aborted","addEventListener","catch","error","debug","abort","effectRunCounts","formatDeps","JSON","stringify","_","v","name","toString","Error","message","length","Map","now","Date","runs","get","push","recentRuns","filter","time","set","runCount","console","slice","alert","warn","_id","_cb","_deps","_after","_period"],"sources":["../../../src/async/useAsyncEffect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,36 +3,40 @@ import { EMPTY_OBJECT } from "../constants.native.js";
3
3
  import { getCurrentComponentStack } from "../react/getCurrentComponentStack.native.js";
4
4
  import { handleAbortError } from "./abortable.native.js";
5
5
  function _instanceof(left, right) {
6
- return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
6
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
7
+ return !!right[Symbol.hasInstance](left);
8
+ } else {
9
+ return left instanceof right;
10
+ }
7
11
  }
8
12
  function _type_of(obj) {
9
13
  "@swc/helpers - typeof";
10
14
 
11
- return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
15
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
12
16
  }
13
17
  function useAsyncEffect(cb) {
14
18
  var deps = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [],
15
19
  options = arguments.length > 2 ? arguments[2] : void 0;
16
- useAsyncEffectImpl(!1, cb, deps, options);
20
+ useAsyncEffectImpl(false, cb, deps, options);
17
21
  }
18
22
  function useAsyncLayoutEffect(cb) {
19
23
  var deps = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [],
20
24
  options = arguments.length > 2 ? arguments[2] : void 0;
21
- useAsyncEffectImpl(!0, cb, deps, options);
25
+ useAsyncEffectImpl(true, cb, deps, options);
22
26
  }
23
27
  function useAsyncEffectImpl(isLayoutEffect, cb) {
24
28
  var deps = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [],
25
- options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : EMPTY_OBJECT,
26
- effectHook = isLayoutEffect ? useLayoutEffect : useEffect,
27
- effectId = process.env.NODE_ENV === "development" ? useId() : "";
29
+ options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : EMPTY_OBJECT;
30
+ var effectHook = isLayoutEffect ? useLayoutEffect : useEffect;
31
+ var effectId = process.env.NODE_ENV === "development" ? useId() : "";
28
32
  effectHook(function () {
29
33
  checkEffectLoop(effectId, cb, deps, options.circuitBreakAfter, options.circuitBreakPeriod);
30
- var controller = new AbortController(),
31
- signal = controller.signal;
34
+ var controller = new AbortController();
35
+ var signal = controller.signal;
32
36
  try {
33
37
  var value = cb(signal, ...deps);
34
38
  Promise.resolve(value).then(async function (res) {
35
- if (res && typeof res == "function") {
39
+ if (res && typeof res === "function") {
36
40
  if (signal.aborted) return res();
37
41
  signal.addEventListener("abort", res);
38
42
  }
@@ -41,38 +45,59 @@ function useAsyncEffectImpl(isLayoutEffect, cb) {
41
45
  handleAbortError(error, options.debug);
42
46
  }
43
47
  return function () {
44
- signal.aborted || controller.abort();
48
+ if (signal.aborted) return;
49
+ controller.abort();
45
50
  };
46
51
  }, deps);
47
52
  }
48
- var effectRunCounts, checkEffectLoop;
53
+ var effectRunCounts;
54
+ var checkEffectLoop;
49
55
  function formatDeps(deps) {
50
56
  try {
51
57
  return JSON.stringify(deps, function (_, v) {
52
- return typeof v == "function" ? `[Function: ${v.name || "anonymous"}]` : (typeof v > "u" ? "undefined" : _type_of(v)) === "symbol" ? v.toString() : _instanceof(v, Error) ? `[Error: ${v.message}]` : v;
58
+ if (typeof v === "function") return `[Function: ${v.name || "anonymous"}]`;
59
+ if ((typeof v === "undefined" ? "undefined" : _type_of(v)) === "symbol") return v.toString();
60
+ if (_instanceof(v, Error)) return `[Error: ${v.message}]`;
61
+ return v;
53
62
  }, 2);
54
- } catch {
63
+ } catch (e) {
55
64
  return `[${deps.length} deps - not serializable]`;
56
65
  }
57
66
  }
58
- process.env.NODE_ENV === "development" ? (effectRunCounts = /* @__PURE__ */new Map(), checkEffectLoop = function (effectId, cb, deps) {
59
- var circuitBreakAfter = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 20,
60
- circuitBreakPeriod = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 1e3,
61
- now = Date.now(),
62
- runs = effectRunCounts.get(effectId) || [];
63
- runs.push(now);
64
- var recentRuns = runs.filter(function (time) {
65
- return now - time < circuitBreakPeriod;
66
- });
67
- effectRunCounts.set(effectId, recentRuns);
68
- var runCount = recentRuns.length;
69
- if (runCount > circuitBreakAfter) {
70
- var message = `\u{1F6A8} useAsyncEffect infinite loop detected! Effect ran ${runCount} times in <${circuitBreakPeriod}ms`;
71
- if (process.env.NODE_ENV === "development") {
72
- console.error(message), console.error("Effect function:", cb.toString().slice(0, 500)), console.error("Dependencies:", formatDeps(deps)), console.error("Stack:", getCurrentComponentStack());
73
- debugger;
74
- } else throw alert(message), new Error(message);
75
- } else runCount > circuitBreakAfter / 2 && (console.warn(`\u26A0\uFE0F useAsyncEffect potential loop: Effect ran ${runCount} times in <${circuitBreakPeriod}ms`), console.warn("Effect function:", cb.toString().slice(0, 500)), console.warn("Dependencies:", formatDeps(deps)), console.warn("Stack:", getCurrentComponentStack()));
76
- }) : checkEffectLoop = function (_id, _cb, _deps, _after, _period) {};
67
+ if (process.env.NODE_ENV === "development") {
68
+ effectRunCounts = /* @__PURE__ */new Map();
69
+ checkEffectLoop = function (effectId, cb, deps) {
70
+ var circuitBreakAfter = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 20,
71
+ circuitBreakPeriod = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 1e3;
72
+ var now = Date.now();
73
+ var runs = effectRunCounts.get(effectId) || [];
74
+ runs.push(now);
75
+ var recentRuns = runs.filter(function (time) {
76
+ return now - time < circuitBreakPeriod;
77
+ });
78
+ effectRunCounts.set(effectId, recentRuns);
79
+ var runCount = recentRuns.length;
80
+ if (runCount > circuitBreakAfter) {
81
+ var message = `\u{1F6A8} useAsyncEffect infinite loop detected! Effect ran ${runCount} times in <${circuitBreakPeriod}ms`;
82
+ if (process.env.NODE_ENV === "development") {
83
+ console.error(message);
84
+ console.error("Effect function:", cb.toString().slice(0, 500));
85
+ console.error("Dependencies:", formatDeps(deps));
86
+ console.error("Stack:", getCurrentComponentStack());
87
+ debugger;
88
+ } else {
89
+ alert(message);
90
+ throw new Error(message);
91
+ }
92
+ } else if (runCount > circuitBreakAfter / 2) {
93
+ console.warn(`\u26A0\uFE0F useAsyncEffect potential loop: Effect ran ${runCount} times in <${circuitBreakPeriod}ms`);
94
+ console.warn("Effect function:", cb.toString().slice(0, 500));
95
+ console.warn("Dependencies:", formatDeps(deps));
96
+ console.warn("Stack:", getCurrentComponentStack());
97
+ }
98
+ };
99
+ } else {
100
+ checkEffectLoop = function (_id, _cb, _deps, _after, _period) {};
101
+ }
77
102
  export { useAsyncEffect, useAsyncLayoutEffect };
78
103
  //# sourceMappingURL=useAsyncEffect.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useId","useLayoutEffect","EMPTY_OBJECT","getCurrentComponentStack","handleAbortError","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","useAsyncEffect","cb","deps","arguments","length","options","useAsyncEffectImpl","useAsyncLayoutEffect","isLayoutEffect","effectHook","effectId","process","env","NODE_ENV","checkEffectLoop","circuitBreakAfter","circuitBreakPeriod","controller","AbortController","signal","value","Promise","resolve","then","res","aborted","addEventListener","catch","error","debug","abort","effectRunCounts","formatDeps","JSON","stringify","_","v","name","toString","Error","message","Map","now","Date","runs","get","push","recentRuns","filter","time","set","runCount","console","slice","alert","warn","_id","_cb","_deps","_after","_period"],"sources":["../../../src/async/useAsyncEffect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useId","useLayoutEffect","EMPTY_OBJECT","getCurrentComponentStack","handleAbortError","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","useAsyncEffect","cb","deps","arguments","length","options","useAsyncEffectImpl","useAsyncLayoutEffect","isLayoutEffect","effectHook","effectId","process","env","NODE_ENV","checkEffectLoop","circuitBreakAfter","circuitBreakPeriod","controller","AbortController","signal","value","Promise","resolve","then","res","aborted","addEventListener","catch","error","debug","abort","effectRunCounts","formatDeps","JSON","stringify","_","v","name","toString","Error","message","e","Map","now","Date","runs","get","push","recentRuns","filter","time","set","runCount","console","slice","alert","warn"],"sources":["../../../src/async/useAsyncEffect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,20 +2,25 @@ import { startTransition, useState } from "react";
2
2
  import { idle } from "./idle.mjs";
3
3
  import { useAsyncEffect } from "./useAsyncEffect.mjs";
4
4
  const useLazyMount = (props = {
5
- max: 100
6
- }) => {
7
- const [mounted, setMounted] = useState(!1);
8
- return useAsyncEffect(async signal => {
9
- await idle(props, signal), startTransition(() => {
10
- setMounted(!0);
11
- });
12
- }, [
13
- // no need for deps it only ever mounts once
14
- ]), mounted;
15
- },
16
- LazyMount = ({
17
- children,
18
- ...idleProps
19
- }) => useLazyMount(idleProps) ? children : null;
5
+ max: 100
6
+ }) => {
7
+ const [mounted, setMounted] = useState(false);
8
+ useAsyncEffect(async signal => {
9
+ await idle(props, signal);
10
+ startTransition(() => {
11
+ setMounted(true);
12
+ });
13
+ }, [
14
+ // no need for deps it only ever mounts once
15
+ ]);
16
+ return mounted;
17
+ };
18
+ const LazyMount = ({
19
+ children,
20
+ ...idleProps
21
+ }) => {
22
+ const mounted = useLazyMount(idleProps);
23
+ return mounted ? children : null;
24
+ };
20
25
  export { LazyMount, useLazyMount };
21
26
  //# sourceMappingURL=useLazyMount.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["startTransition","useState","idle","useAsyncEffect","useLazyMount","props","max","mounted","setMounted","signal","LazyMount","children","idleProps"],"sources":["../../../src/async/useLazyMount.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAE1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAMxB,MAAMC,YAAA,GAAeA,CAACC,KAAA,GAAwB;IAAEC,GAAA,EAAK;EAAI,MAAe;IAC7E,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIP,QAAA,CAAS,EAAK;IAE5C,OAAAE,cAAA,CACE,MAAOM,MAAA,IAAW;MAChB,MAAMP,IAAA,CAAKG,KAAA,EAAOI,MAAM,GACxBT,eAAA,CAAgB,MAAM;QACpBQ,UAAA,CAAW,EAAI;MACjB,CAAC;IACH,GACA;MAAA;IAAA,CAGF,GAEOD,OAAA;EACT;EAEaG,SAAA,GAAYA,CAAC;IACxBC,QAAA;IACA,GAAGC;EACL,MACkBR,YAAA,CAAaQ,SAAS,IACrBD,QAAA,GAAW","ignoreList":[]}
1
+ {"version":3,"names":["startTransition","useState","idle","useAsyncEffect","useLazyMount","props","max","mounted","setMounted","signal","LazyMount","children","idleProps"],"sources":["../../../src/async/useLazyMount.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAE1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAMxB,MAAMC,YAAA,GAAeA,CAACC,KAAA,GAAwB;EAAEC,GAAA,EAAK;AAAI,MAAe;EAC7E,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIP,QAAA,CAAS,KAAK;EAE5CE,cAAA,CACE,MAAOM,MAAA,IAAW;IAChB,MAAMP,IAAA,CAAKG,KAAA,EAAOI,MAAM;IACxBT,eAAA,CAAgB,MAAM;MACpBQ,UAAA,CAAW,IAAI;IACjB,CAAC;EACH,GACA;IAAA;EAAA,CAGF;EAEA,OAAOD,OAAA;AACT;AAEO,MAAMG,SAAA,GAAYA,CAAC;EACxBC,QAAA;EACA,GAAGC;AACL,MAA2D;EACzD,MAAML,OAAA,GAAUH,YAAA,CAAaQ,SAAS;EACtC,OAAOL,OAAA,GAAUI,QAAA,GAAW;AAC9B","ignoreList":[]}
@@ -2,23 +2,25 @@ import { startTransition, useState } from "react";
2
2
  import { idle } from "./idle.native.js";
3
3
  import { useAsyncEffect } from "./useAsyncEffect.native.js";
4
4
  var useLazyMount = function () {
5
- var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
6
- max: 100
7
- },
8
- [mounted, setMounted] = useState(!1);
9
- return useAsyncEffect(async function (signal) {
10
- await idle(props, signal), startTransition(function () {
11
- setMounted(!0);
12
- });
13
- }, []), mounted;
14
- },
15
- LazyMount = function (param) {
16
- var {
17
- children,
18
- ...idleProps
19
- } = param,
20
- mounted = useLazyMount(idleProps);
21
- return mounted ? children : null;
5
+ var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
6
+ max: 100
22
7
  };
8
+ var [mounted, setMounted] = useState(false);
9
+ useAsyncEffect(async function (signal) {
10
+ await idle(props, signal);
11
+ startTransition(function () {
12
+ setMounted(true);
13
+ });
14
+ }, []);
15
+ return mounted;
16
+ };
17
+ var LazyMount = function (param) {
18
+ var {
19
+ children,
20
+ ...idleProps
21
+ } = param;
22
+ var mounted = useLazyMount(idleProps);
23
+ return mounted ? children : null;
24
+ };
23
25
  export { LazyMount, useLazyMount };
24
26
  //# sourceMappingURL=useLazyMount.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["startTransition","useState","idle","useAsyncEffect","useLazyMount","props","arguments","length","max","mounted","setMounted","signal","LazyMount","param","children","idleProps"],"sources":["../../../src/async/useLazyMount.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAE1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAMxB,IAAAC,YAAM,YAAAA,CAAA,EAAwC;IACnD,IAAAC,KAAO,GAAAC,SAAS,CAAAC,MAAU,GAAI,KAAAD,SAAc,iBAAAA,SAAA;QAE5CE,GAAA;MAAA;MACE,CAAAC,OAAO,EAAAC,UAAW,IAAAT,QAAA;IAChB,OAAAE,cAAW,CAAO,gBAClBQ,MAAA;MACE,MAAAT,IAAA,CAAAG,KAAW,EAAIM,MAAA,GAAAX,eAAA;QACjBU,UAAC;MACH;IAAA,GACA,KAAAD,OAAA;EAAA;EAAAG,SAAA,YAAAA,CAAAC,KAAA;IAAA,IAEA;QAAAC,QAAA;QAAA,GAAAC;MAAA,IAAAF,KAAA;MAAAJ,OAAA,GAAAL,YAAA,CAAAW,SAAA;IACF,OAEON,OAAA,GAAAK,QAAA;EACT;AAE0B,SAExBF,SAAG,EACLR,YACkB","ignoreList":[]}
1
+ {"version":3,"names":["startTransition","useState","idle","useAsyncEffect","useLazyMount","props","arguments","length","max","mounted","setMounted","signal","LazyMount","param","children","idleProps"],"sources":["../../../src/async/useLazyMount.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAE1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAMxB,IAAAC,YAAM,YAAAA,CAAA,EAAwC;EACnD,IAAAC,KAAO,GAAAC,SAAS,CAAAC,MAAU,GAAI,KAAAD,SAAc,iBAAAA,SAAA;IAE5CE,GAAA;EAAA;EAEI,KAAAC,OAAM,EAAAC,UAAY,IAAMT,QAAA;EACxBE,cAAA,iBAAsBQ,MAAA;IACpB,MAAAT,IAAA,CAAAG,KAAW,EAAAM,MAAI;IAAAX,eAChB;MACHU,UAAA;IACA;EAAA;EAAA,OAEAD,OAAA;AAAA;AAGF,IAAAG,SAAO,YAAAA,CAAAC,KAAA;EACT;IAAAC,QAAA;IAAA,GAAAC;EAAA,IAAAF,KAAA;EAEO,IAAMJ,OAAA,GAAAL,YAAa,CAAAW,SAAA;EACxB,OAAAN,OAAA,GAAAK,QAAA;AAAA;AAEF,SACEF,SAAM,EACNR,YAAO","ignoreList":[]}
@@ -6,11 +6,16 @@ const useLazyValue = (value, {
6
6
  ...idleOptions
7
7
  } = {}) => {
8
8
  const [lazyValue, setLazyValue] = useState(value);
9
- return value && lazyValue === void 0 && lazyValue !== value && immediateFirstUpdate && setLazyValue(value), useAsyncEffect(async signal => {
10
- await idle(idleOptions, signal), startTransition(() => {
9
+ if (value && lazyValue === void 0 && lazyValue !== value && immediateFirstUpdate) {
10
+ setLazyValue(value);
11
+ }
12
+ useAsyncEffect(async signal => {
13
+ await idle(idleOptions, signal);
14
+ startTransition(() => {
11
15
  setLazyValue(value);
12
16
  });
13
- }, [value]), lazyValue;
17
+ }, [value]);
18
+ return lazyValue;
14
19
  };
15
20
  export { useLazyValue };
16
21
  //# sourceMappingURL=useLazyValue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["startTransition","useState","idle","useAsyncEffect","useLazyValue","value","immediateFirstUpdate","idleOptions","lazyValue","setLazyValue","signal"],"sources":["../../../src/async/useLazyValue.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAE1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAExB,MAAMC,YAAA,GAAeA,CAC1BC,KAAA,EACA;EACEC,oBAAA;EACA,GAAGC;AACL,IAAsD,CAAC,MACjD;EACN,MAAM,CAACC,SAAA,EAAWC,YAAY,IAAIR,QAAA,CAASI,KAAK;EAGhD,OAAIA,KAAA,IAASG,SAAA,KAAc,UAAaA,SAAA,KAAcH,KAAA,IAASC,oBAAA,IAC7DG,YAAA,CAAaJ,KAAK,GAGpBF,cAAA,CACE,MAAOO,MAAA,IAAW;IAChB,MAAMR,IAAA,CAAKK,WAAA,EAAaG,MAAM,GAC9BV,eAAA,CAAgB,MAAM;MACpBS,YAAA,CAAaJ,KAAK;IACpB,CAAC;EACH,GACA,CAACA,KAAK,CACR,GAEOG,SAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["startTransition","useState","idle","useAsyncEffect","useLazyValue","value","immediateFirstUpdate","idleOptions","lazyValue","setLazyValue","signal"],"sources":["../../../src/async/useLazyValue.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAE1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAExB,MAAMC,YAAA,GAAeA,CAC1BC,KAAA,EACA;EACEC,oBAAA;EACA,GAAGC;AACL,IAAsD,CAAC,MACjD;EACN,MAAM,CAACC,SAAA,EAAWC,YAAY,IAAIR,QAAA,CAASI,KAAK;EAGhD,IAAIA,KAAA,IAASG,SAAA,KAAc,UAAaA,SAAA,KAAcH,KAAA,IAASC,oBAAA,EAAsB;IACnFG,YAAA,CAAaJ,KAAK;EACpB;EAEAF,cAAA,CACE,MAAOO,MAAA,IAAW;IAChB,MAAMR,IAAA,CAAKK,WAAA,EAAaG,MAAM;IAC9BV,eAAA,CAAgB,MAAM;MACpBS,YAAA,CAAaJ,KAAK;IACpB,CAAC;EACH,GACA,CAACA,KAAK,CACR;EAEA,OAAOG,SAAA;AACT","ignoreList":[]}
@@ -3,15 +3,20 @@ import { idle } from "./idle.native.js";
3
3
  import { useAsyncEffect } from "./useAsyncEffect.native.js";
4
4
  var useLazyValue = function (value) {
5
5
  var {
6
- immediateFirstUpdate,
7
- ...idleOptions
8
- } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
9
- [lazyValue, setLazyValue] = useState(value);
10
- return value && lazyValue === void 0 && lazyValue !== value && immediateFirstUpdate && setLazyValue(value), useAsyncEffect(async function (signal) {
11
- await idle(idleOptions, signal), startTransition(function () {
6
+ immediateFirstUpdate,
7
+ ...idleOptions
8
+ } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
9
+ var [lazyValue, setLazyValue] = useState(value);
10
+ if (value && lazyValue === void 0 && lazyValue !== value && immediateFirstUpdate) {
11
+ setLazyValue(value);
12
+ }
13
+ useAsyncEffect(async function (signal) {
14
+ await idle(idleOptions, signal);
15
+ startTransition(function () {
12
16
  setLazyValue(value);
13
17
  });
14
- }, [value]), lazyValue;
18
+ }, [value]);
19
+ return lazyValue;
15
20
  };
16
21
  export { useLazyValue };
17
22
  //# sourceMappingURL=useLazyValue.native.js.map