@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.
- package/dist/cjs/array/getRandomItem.cjs +12 -10
- package/dist/cjs/array/getRandomItem.native.js +15 -14
- package/dist/cjs/array/getRandomItem.native.js.map +1 -1
- package/dist/cjs/array/takeLast.cjs +15 -11
- package/dist/cjs/array/takeLast.native.js +12 -10
- package/dist/cjs/array/takeLast.native.js.map +1 -1
- package/dist/cjs/array/uniqBy.cjs +15 -11
- package/dist/cjs/array/uniqBy.native.js +29 -20
- package/dist/cjs/array/uniqBy.native.js.map +1 -1
- package/dist/cjs/assert.cjs +24 -14
- package/dist/cjs/assert.native.js +29 -15
- package/dist/cjs/assert.native.js.map +1 -1
- package/dist/cjs/async/abortable.cjs +38 -17
- package/dist/cjs/async/abortable.native.js +44 -19
- package/dist/cjs/async/abortable.native.js.map +1 -1
- package/dist/cjs/async/asyncContext.cjs +57 -32
- package/dist/cjs/async/asyncContext.native.js +34 -22
- package/dist/cjs/async/asyncContext.native.js.map +1 -1
- package/dist/cjs/async/asyncContext.test.cjs +6 -4
- package/dist/cjs/async/asyncContext.test.native.js +34 -18
- package/dist/cjs/async/asyncContext.test.native.js.map +1 -1
- package/dist/cjs/async/idle.cjs +52 -30
- package/dist/cjs/async/idle.native.js +55 -38
- package/dist/cjs/async/idle.native.js.map +1 -1
- package/dist/cjs/async/interval.cjs +16 -11
- package/dist/cjs/async/interval.native.js +19 -14
- package/dist/cjs/async/interval.native.js.map +1 -1
- package/dist/cjs/async/isAborted.cjs +12 -10
- package/dist/cjs/async/isAborted.native.js +13 -11
- package/dist/cjs/async/isAborted.native.js.map +1 -1
- package/dist/cjs/async/sleep.cjs +16 -11
- package/dist/cjs/async/sleep.native.js +21 -16
- package/dist/cjs/async/sleep.native.js.map +1 -1
- package/dist/cjs/async/useAsync.cjs +32 -21
- package/dist/cjs/async/useAsync.native.js +35 -25
- package/dist/cjs/async/useAsync.native.js.map +1 -1
- package/dist/cjs/async/useAsyncEffect.cjs +64 -39
- package/dist/cjs/async/useAsyncEffect.native.js +74 -47
- package/dist/cjs/async/useAsyncEffect.native.js.map +1 -1
- package/dist/cjs/async/useLazyMount.cjs +35 -28
- package/dist/cjs/async/useLazyMount.native.js +35 -31
- package/dist/cjs/async/useLazyMount.native.js.map +1 -1
- package/dist/cjs/async/useLazyValue.cjs +23 -16
- package/dist/cjs/async/useLazyValue.native.js +32 -25
- package/dist/cjs/async/useLazyValue.native.js.map +1 -1
- package/dist/cjs/browser/clearIndexedDB.cjs +23 -14
- package/dist/cjs/browser/clearIndexedDB.native.js +27 -20
- package/dist/cjs/browser/clearIndexedDB.native.js.map +1 -1
- package/dist/cjs/browser/isActiveElementFormField.cjs +13 -11
- package/dist/cjs/browser/isActiveElementFormField.native.js +13 -11
- package/dist/cjs/browser/isActiveElementFormField.native.js.map +1 -1
- package/dist/cjs/browser/openPopup.cjs +18 -16
- package/dist/cjs/browser/openPopup.native.js +18 -16
- package/dist/cjs/browser/openPopup.native.js.map +1 -1
- package/dist/cjs/client-only.cjs +3 -1
- package/dist/cjs/client-only.native.js +3 -1
- package/dist/cjs/client-only.native.js.map +1 -1
- package/dist/cjs/clipboard/clipboard.cjs +14 -11
- package/dist/cjs/clipboard/clipboard.native.js +33 -31
- package/dist/cjs/clipboard/clipboard.native.js.map +1 -1
- package/dist/cjs/color/extractOpacityFromColor.cjs +19 -12
- package/dist/cjs/color/extractOpacityFromColor.native.js +14 -11
- package/dist/cjs/color/extractOpacityFromColor.native.js.map +1 -1
- package/dist/cjs/color/generateColors.cjs +53 -47
- package/dist/cjs/color/generateColors.native.js +59 -51
- package/dist/cjs/color/generateColors.native.js.map +1 -1
- package/dist/cjs/color/lum.cjs +32 -25
- package/dist/cjs/color/lum.native.js +35 -28
- package/dist/cjs/color/lum.native.js.map +1 -1
- package/dist/cjs/color/toHex.cjs +12 -10
- package/dist/cjs/color/toHex.native.js +12 -10
- package/dist/cjs/color/toHex.native.js.map +1 -1
- package/dist/cjs/constants.cjs +26 -24
- package/dist/cjs/constants.native.js +28 -26
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/debug/debugLog.cjs +14 -11
- package/dist/cjs/debug/debugLog.native.js +14 -11
- package/dist/cjs/debug/debugLog.native.js.map +1 -1
- package/dist/cjs/debug/debugUseState.cjs +26 -18
- package/dist/cjs/debug/debugUseState.native.js +26 -18
- package/dist/cjs/debug/debugUseState.native.js.map +1 -1
- package/dist/cjs/emitter.cjs +197 -127
- package/dist/cjs/emitter.native.js +250 -183
- package/dist/cjs/emitter.native.js.map +1 -1
- package/dist/cjs/ensure/ensure.cjs +24 -14
- package/dist/cjs/ensure/ensure.native.js +29 -15
- package/dist/cjs/ensure/ensure.native.js.map +1 -1
- package/dist/cjs/ensure/ensureOne.cjs +19 -14
- package/dist/cjs/ensure/ensureOne.native.js +17 -14
- package/dist/cjs/ensure/ensureOne.native.js.map +1 -1
- package/dist/cjs/error/errors.cjs +33 -20
- package/dist/cjs/error/errors.native.js +151 -96
- package/dist/cjs/error/errors.native.js.map +1 -1
- package/dist/cjs/function/emptyFn.cjs +12 -10
- package/dist/cjs/function/emptyFn.native.js +12 -10
- package/dist/cjs/function/emptyFn.native.js.map +1 -1
- package/dist/cjs/function/identityFn.cjs +12 -10
- package/dist/cjs/function/identityFn.native.js +12 -10
- package/dist/cjs/function/identityFn.native.js.map +1 -1
- package/dist/cjs/function/throttle.cjs +43 -26
- package/dist/cjs/function/throttle.native.js +49 -30
- package/dist/cjs/function/throttle.native.js.map +1 -1
- package/dist/cjs/global/globalEffect.cjs +20 -14
- package/dist/cjs/global/globalEffect.native.js +18 -14
- package/dist/cjs/global/globalEffect.native.js.map +1 -1
- package/dist/cjs/global/globalValue.cjs +22 -13
- package/dist/cjs/global/globalValue.native.js +22 -13
- package/dist/cjs/global/globalValue.native.js.map +1 -1
- package/dist/cjs/index.cjs +13 -11
- package/dist/cjs/index.native.js +13 -11
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/number/formatNumber.cjs +28 -16
- package/dist/cjs/number/formatNumber.native.js +34 -22
- package/dist/cjs/number/formatNumber.native.js.map +1 -1
- package/dist/cjs/object/decorateObject.cjs +21 -11
- package/dist/cjs/object/decorateObject.native.js +31 -18
- package/dist/cjs/object/decorateObject.native.js.map +1 -1
- package/dist/cjs/object/isEqualDeep.cjs +16 -14
- package/dist/cjs/object/isEqualDeep.native.js +16 -14
- package/dist/cjs/object/isEqualDeep.native.js.map +1 -1
- package/dist/cjs/object/isEqualIdentity.cjs +12 -10
- package/dist/cjs/object/isEqualIdentity.native.js +12 -10
- package/dist/cjs/object/isEqualIdentity.native.js.map +1 -1
- package/dist/cjs/object/isEqualJSON.cjs +12 -10
- package/dist/cjs/object/isEqualJSON.native.js +12 -10
- package/dist/cjs/object/isEqualJSON.native.js.map +1 -1
- package/dist/cjs/object/isEqualNever.cjs +13 -11
- package/dist/cjs/object/isEqualNever.native.js +13 -11
- package/dist/cjs/object/isEqualNever.native.js.map +1 -1
- package/dist/cjs/object/mapObject.cjs +17 -11
- package/dist/cjs/object/mapObject.native.js +17 -11
- package/dist/cjs/object/mapObject.native.js.map +1 -1
- package/dist/cjs/object/object.cjs +12 -10
- package/dist/cjs/object/object.native.js +12 -10
- package/dist/cjs/object/object.native.js.map +1 -1
- package/dist/cjs/object/objectUniqueKey.cjs +19 -14
- package/dist/cjs/object/objectUniqueKey.native.js +21 -18
- package/dist/cjs/object/objectUniqueKey.native.js.map +1 -1
- package/dist/cjs/react/createGlobalContext.cjs +14 -12
- package/dist/cjs/react/createGlobalContext.native.js +14 -12
- package/dist/cjs/react/createGlobalContext.native.js.map +1 -1
- package/dist/cjs/react/getCurrentComponentStack.cjs +51 -41
- package/dist/cjs/react/getCurrentComponentStack.native.js +69 -54
- package/dist/cjs/react/getCurrentComponentStack.native.js.map +1 -1
- package/dist/cjs/server/ensureEnv.cjs +27 -14
- package/dist/cjs/server/ensureEnv.native.js +27 -14
- package/dist/cjs/server/ensureEnv.native.js.map +1 -1
- package/dist/cjs/server/getHeaders.cjs +15 -12
- package/dist/cjs/server/getHeaders.native.js +15 -12
- package/dist/cjs/server/getHeaders.native.js.map +1 -1
- package/dist/cjs/server/isServerRuntime.cjs +15 -11
- package/dist/cjs/server/isServerRuntime.native.js +15 -11
- package/dist/cjs/server/isServerRuntime.native.js.map +1 -1
- package/dist/cjs/server/prettyPrintRequest.cjs +12 -10
- package/dist/cjs/server/prettyPrintRequest.native.js +12 -10
- package/dist/cjs/server/prettyPrintRequest.native.js.map +1 -1
- package/dist/cjs/server/prettyPrintResponse.cjs +21 -19
- package/dist/cjs/server/prettyPrintResponse.native.js +21 -19
- package/dist/cjs/server/prettyPrintResponse.native.js.map +1 -1
- package/dist/cjs/server/streamToString.cjs +16 -14
- package/dist/cjs/server/streamToString.native.js +17 -15
- package/dist/cjs/server/streamToString.native.js.map +1 -1
- package/dist/cjs/server-only.cjs +3 -1
- package/dist/cjs/server-only.native.js +3 -1
- package/dist/cjs/server-only.native.js.map +1 -1
- package/dist/cjs/storage/createStorage.cjs +73 -58
- package/dist/cjs/storage/createStorage.native.js +99 -85
- package/dist/cjs/storage/createStorage.native.js.map +1 -1
- package/dist/cjs/storage/driver.cjs +22 -16
- package/dist/cjs/storage/driver.native.js +30 -24
- package/dist/cjs/storage/driver.native.js.map +1 -1
- package/dist/cjs/storage/storage.test.cjs +87 -46
- package/dist/cjs/storage/storage.test.native.js +99 -61
- package/dist/cjs/storage/storage.test.native.js.map +1 -1
- package/dist/cjs/storage/types.cjs +7 -5
- package/dist/cjs/storage/types.native.js +7 -5
- package/dist/cjs/storage/types.native.js.map +1 -1
- package/dist/cjs/string/dedent.cjs +25 -18
- package/dist/cjs/string/dedent.native.js +33 -25
- package/dist/cjs/string/dedent.native.js.map +1 -1
- package/dist/cjs/string/ellipsis.cjs +18 -12
- package/dist/cjs/string/ellipsis.native.js +18 -13
- package/dist/cjs/string/ellipsis.native.js.map +1 -1
- package/dist/cjs/string/hash.cjs +12 -10
- package/dist/cjs/string/hash.native.js +12 -10
- package/dist/cjs/string/hash.native.js.map +1 -1
- package/dist/cjs/string/insertAtIndex.cjs +15 -11
- package/dist/cjs/string/insertAtIndex.native.js +15 -11
- package/dist/cjs/string/insertAtIndex.native.js.map +1 -1
- package/dist/cjs/string/nbspLastWord.cjs +14 -11
- package/dist/cjs/string/nbspLastWord.native.js +14 -11
- package/dist/cjs/string/nbspLastWord.native.js.map +1 -1
- package/dist/cjs/string/pickLast.cjs +16 -11
- package/dist/cjs/string/pickLast.native.js +16 -11
- package/dist/cjs/string/pickLast.native.js.map +1 -1
- package/dist/cjs/string/pluralize.cjs +12 -10
- package/dist/cjs/string/pluralize.native.js +14 -11
- package/dist/cjs/string/pluralize.native.js.map +1 -1
- package/dist/cjs/string/randomId.cjs +12 -10
- package/dist/cjs/string/randomId.native.js +12 -10
- package/dist/cjs/string/randomId.native.js.map +1 -1
- package/dist/cjs/string/slugify.cjs +12 -10
- package/dist/cjs/string/slugify.native.js +12 -10
- package/dist/cjs/string/slugify.native.js.map +1 -1
- package/dist/cjs/string/truncateList.cjs +17 -13
- package/dist/cjs/string/truncateList.native.js +17 -13
- package/dist/cjs/string/truncateList.native.js.map +1 -1
- package/dist/cjs/time/formatDate.cjs +21 -16
- package/dist/cjs/time/formatDate.native.js +21 -16
- package/dist/cjs/time/formatDate.native.js.map +1 -1
- package/dist/cjs/time/formatDateRelative.cjs +39 -28
- package/dist/cjs/time/formatDateRelative.native.js +39 -28
- package/dist/cjs/time/formatDateRelative.native.js.map +1 -1
- package/dist/cjs/time/formatDistanceToNow.cjs +24 -15
- package/dist/cjs/time/formatDistanceToNow.native.js +24 -16
- package/dist/cjs/time/formatDistanceToNow.native.js.map +1 -1
- package/dist/cjs/time/time.cjs +12 -10
- package/dist/cjs/time/time.native.js +12 -10
- package/dist/cjs/time/time.native.js.map +1 -1
- package/dist/cjs/time/useTimer.cjs +62 -31
- package/dist/cjs/time/useTimer.native.js +73 -48
- package/dist/cjs/time/useTimer.native.js.map +1 -1
- package/dist/cjs/types/NullToOptional.cjs +7 -5
- package/dist/cjs/types/NullToOptional.native.js +7 -5
- package/dist/cjs/types/NullToOptional.native.js.map +1 -1
- package/dist/cjs/types/object.cjs +7 -5
- package/dist/cjs/types/object.native.js +7 -5
- package/dist/cjs/types/object.native.js.map +1 -1
- package/dist/cjs/types/react.cjs +7 -5
- package/dist/cjs/types/react.native.js +7 -5
- package/dist/cjs/types/react.native.js.map +1 -1
- package/dist/cjs/types/timer.cjs +7 -5
- package/dist/cjs/types/timer.native.js +7 -5
- package/dist/cjs/types/timer.native.js.map +1 -1
- package/dist/cjs/types/tuple.cjs +7 -5
- package/dist/cjs/types/tuple.native.js +7 -5
- package/dist/cjs/types/tuple.native.js.map +1 -1
- package/dist/cjs/url/urlSanitize.cjs +15 -11
- package/dist/cjs/url/urlSanitize.native.js +16 -12
- package/dist/cjs/url/urlSanitize.native.js.map +1 -1
- package/dist/cjs/url/urlValidate.cjs +12 -10
- package/dist/cjs/url/urlValidate.native.js +12 -10
- package/dist/cjs/url/urlValidate.native.js.map +1 -1
- package/dist/esm/array/getRandomItem.native.js +3 -4
- package/dist/esm/array/getRandomItem.native.js.map +1 -1
- package/dist/esm/array/takeLast.mjs +3 -1
- package/dist/esm/array/takeLast.mjs.map +1 -1
- package/dist/esm/array/takeLast.native.js.map +1 -1
- package/dist/esm/array/uniqBy.mjs +3 -1
- package/dist/esm/array/uniqBy.mjs.map +1 -1
- package/dist/esm/array/uniqBy.native.js +17 -10
- package/dist/esm/array/uniqBy.native.js.map +1 -1
- package/dist/esm/assert.mjs +12 -4
- package/dist/esm/assert.mjs.map +1 -1
- package/dist/esm/assert.native.js +17 -5
- package/dist/esm/assert.native.js.map +1 -1
- package/dist/esm/async/abortable.mjs +26 -7
- package/dist/esm/async/abortable.mjs.map +1 -1
- package/dist/esm/async/abortable.native.js +32 -9
- package/dist/esm/async/abortable.native.js.map +1 -1
- package/dist/esm/async/asyncContext.mjs +45 -22
- package/dist/esm/async/asyncContext.mjs.map +1 -1
- package/dist/esm/async/asyncContext.native.js +22 -12
- package/dist/esm/async/asyncContext.native.js.map +1 -1
- package/dist/esm/async/asyncContext.test.mjs +4 -2
- package/dist/esm/async/asyncContext.test.mjs.map +1 -1
- package/dist/esm/async/asyncContext.test.native.js +32 -16
- package/dist/esm/async/asyncContext.test.native.js.map +1 -1
- package/dist/esm/async/idle.mjs +38 -18
- package/dist/esm/async/idle.mjs.map +1 -1
- package/dist/esm/async/idle.native.js +41 -26
- package/dist/esm/async/idle.native.js.map +1 -1
- package/dist/esm/async/interval.mjs +4 -1
- package/dist/esm/async/interval.mjs.map +1 -1
- package/dist/esm/async/interval.native.js +4 -1
- package/dist/esm/async/interval.native.js.map +1 -1
- package/dist/esm/async/isAborted.native.js +1 -1
- package/dist/esm/async/sleep.mjs +4 -1
- package/dist/esm/async/sleep.mjs.map +1 -1
- package/dist/esm/async/sleep.native.js +5 -2
- package/dist/esm/async/sleep.native.js.map +1 -1
- package/dist/esm/async/useAsync.mjs +20 -11
- package/dist/esm/async/useAsync.mjs.map +1 -1
- package/dist/esm/async/useAsync.native.js +23 -15
- package/dist/esm/async/useAsync.native.js.map +1 -1
- package/dist/esm/async/useAsyncEffect.mjs +48 -25
- package/dist/esm/async/useAsyncEffect.mjs.map +1 -1
- package/dist/esm/async/useAsyncEffect.native.js +58 -33
- package/dist/esm/async/useAsyncEffect.native.js.map +1 -1
- package/dist/esm/async/useLazyMount.mjs +20 -15
- package/dist/esm/async/useLazyMount.mjs.map +1 -1
- package/dist/esm/async/useLazyMount.native.js +19 -17
- package/dist/esm/async/useLazyMount.native.js.map +1 -1
- package/dist/esm/async/useLazyValue.mjs +8 -3
- package/dist/esm/async/useLazyValue.mjs.map +1 -1
- package/dist/esm/async/useLazyValue.native.js +12 -7
- package/dist/esm/async/useLazyValue.native.js.map +1 -1
- package/dist/esm/browser/clearIndexedDB.mjs +11 -4
- package/dist/esm/browser/clearIndexedDB.mjs.map +1 -1
- package/dist/esm/browser/clearIndexedDB.native.js +15 -10
- package/dist/esm/browser/clearIndexedDB.native.js.map +1 -1
- package/dist/esm/browser/isActiveElementFormField.mjs +1 -1
- package/dist/esm/browser/isActiveElementFormField.mjs.map +1 -1
- package/dist/esm/browser/isActiveElementFormField.native.js +1 -1
- package/dist/esm/browser/isActiveElementFormField.native.js.map +1 -1
- package/dist/esm/browser/openPopup.mjs +6 -6
- package/dist/esm/browser/openPopup.mjs.map +1 -1
- package/dist/esm/browser/openPopup.native.js +6 -6
- package/dist/esm/browser/openPopup.native.js.map +1 -1
- package/dist/esm/client-only.mjs +3 -1
- package/dist/esm/client-only.mjs.map +1 -1
- package/dist/esm/client-only.native.js +3 -1
- package/dist/esm/client-only.native.js.map +1 -1
- package/dist/esm/clipboard/clipboard.mjs +2 -1
- package/dist/esm/clipboard/clipboard.mjs.map +1 -1
- package/dist/esm/clipboard/clipboard.native.js +1 -1
- package/dist/esm/clipboard/clipboard.native.js.map +1 -1
- package/dist/esm/color/extractOpacityFromColor.mjs +7 -2
- package/dist/esm/color/extractOpacityFromColor.mjs.map +1 -1
- package/dist/esm/color/extractOpacityFromColor.native.js +2 -1
- package/dist/esm/color/extractOpacityFromColor.native.js.map +1 -1
- package/dist/esm/color/generateColors.mjs +41 -37
- package/dist/esm/color/generateColors.mjs.map +1 -1
- package/dist/esm/color/generateColors.native.js +47 -41
- package/dist/esm/color/generateColors.native.js.map +1 -1
- package/dist/esm/color/lum.mjs +20 -15
- package/dist/esm/color/lum.mjs.map +1 -1
- package/dist/esm/color/lum.native.js +23 -18
- package/dist/esm/color/lum.native.js.map +1 -1
- package/dist/esm/constants.mjs +12 -12
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +14 -14
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/debug/debugLog.mjs +2 -1
- package/dist/esm/debug/debugLog.mjs.map +1 -1
- package/dist/esm/debug/debugLog.native.js +2 -1
- package/dist/esm/debug/debugLog.native.js.map +1 -1
- package/dist/esm/debug/debugUseState.mjs +14 -8
- package/dist/esm/debug/debugUseState.mjs.map +1 -1
- package/dist/esm/debug/debugUseState.native.js +14 -8
- package/dist/esm/debug/debugUseState.native.js.map +1 -1
- package/dist/esm/emitter.mjs +164 -96
- package/dist/esm/emitter.mjs.map +1 -1
- package/dist/esm/emitter.native.js +217 -152
- package/dist/esm/emitter.native.js.map +1 -1
- package/dist/esm/ensure/ensure.mjs +12 -4
- package/dist/esm/ensure/ensure.mjs.map +1 -1
- package/dist/esm/ensure/ensure.native.js +17 -5
- package/dist/esm/ensure/ensure.native.js.map +1 -1
- package/dist/esm/ensure/ensureOne.mjs +7 -4
- package/dist/esm/ensure/ensureOne.mjs.map +1 -1
- package/dist/esm/ensure/ensureOne.native.js +5 -4
- package/dist/esm/ensure/ensureOne.native.js.map +1 -1
- package/dist/esm/error/errors.mjs +21 -10
- package/dist/esm/error/errors.mjs.map +1 -1
- package/dist/esm/error/errors.native.js +139 -86
- package/dist/esm/error/errors.native.js.map +1 -1
- package/dist/esm/function/throttle.mjs +31 -16
- package/dist/esm/function/throttle.mjs.map +1 -1
- package/dist/esm/function/throttle.native.js +37 -20
- package/dist/esm/function/throttle.native.js.map +1 -1
- package/dist/esm/global/globalEffect.mjs +8 -4
- package/dist/esm/global/globalEffect.mjs.map +1 -1
- package/dist/esm/global/globalEffect.native.js +6 -4
- package/dist/esm/global/globalEffect.native.js.map +1 -1
- package/dist/esm/global/globalValue.mjs +10 -3
- package/dist/esm/global/globalValue.mjs.map +1 -1
- package/dist/esm/global/globalValue.native.js +10 -3
- package/dist/esm/global/globalValue.native.js.map +1 -1
- package/dist/esm/number/formatNumber.mjs +16 -6
- package/dist/esm/number/formatNumber.mjs.map +1 -1
- package/dist/esm/number/formatNumber.native.js +22 -12
- package/dist/esm/number/formatNumber.native.js.map +1 -1
- package/dist/esm/object/decorateObject.mjs +9 -1
- package/dist/esm/object/decorateObject.mjs.map +1 -1
- package/dist/esm/object/decorateObject.native.js +19 -8
- package/dist/esm/object/decorateObject.native.js.map +1 -1
- package/dist/esm/object/isEqualDeep.mjs +2 -2
- package/dist/esm/object/isEqualDeep.mjs.map +1 -1
- package/dist/esm/object/isEqualDeep.native.js +2 -2
- package/dist/esm/object/isEqualDeep.native.js.map +1 -1
- package/dist/esm/object/isEqualNever.mjs +1 -1
- package/dist/esm/object/isEqualNever.native.js +1 -1
- package/dist/esm/object/mapObject.mjs +5 -1
- package/dist/esm/object/mapObject.mjs.map +1 -1
- package/dist/esm/object/mapObject.native.js +5 -1
- package/dist/esm/object/mapObject.native.js.map +1 -1
- package/dist/esm/object/objectUniqueKey.mjs +6 -3
- package/dist/esm/object/objectUniqueKey.mjs.map +1 -1
- package/dist/esm/object/objectUniqueKey.native.js +9 -8
- package/dist/esm/object/objectUniqueKey.native.js.map +1 -1
- package/dist/esm/react/getCurrentComponentStack.mjs +27 -19
- package/dist/esm/react/getCurrentComponentStack.mjs.map +1 -1
- package/dist/esm/react/getCurrentComponentStack.native.js +43 -30
- package/dist/esm/react/getCurrentComponentStack.native.js.map +1 -1
- package/dist/esm/server/ensureEnv.mjs +15 -4
- package/dist/esm/server/ensureEnv.mjs.map +1 -1
- package/dist/esm/server/ensureEnv.native.js +15 -4
- package/dist/esm/server/ensureEnv.native.js.map +1 -1
- package/dist/esm/server/getHeaders.mjs +3 -2
- package/dist/esm/server/getHeaders.mjs.map +1 -1
- package/dist/esm/server/getHeaders.native.js +3 -2
- package/dist/esm/server/getHeaders.native.js.map +1 -1
- package/dist/esm/server/isServerRuntime.mjs +3 -1
- package/dist/esm/server/isServerRuntime.mjs.map +1 -1
- package/dist/esm/server/isServerRuntime.native.js +3 -1
- package/dist/esm/server/isServerRuntime.native.js.map +1 -1
- package/dist/esm/server/prettyPrintResponse.mjs +7 -7
- package/dist/esm/server/prettyPrintResponse.mjs.map +1 -1
- package/dist/esm/server/prettyPrintResponse.native.js +7 -7
- package/dist/esm/server/prettyPrintResponse.native.js.map +1 -1
- package/dist/esm/server/streamToString.mjs +4 -4
- package/dist/esm/server/streamToString.mjs.map +1 -1
- package/dist/esm/server/streamToString.native.js +5 -5
- package/dist/esm/server/streamToString.native.js.map +1 -1
- package/dist/esm/server-only.mjs +3 -1
- package/dist/esm/server-only.mjs.map +1 -1
- package/dist/esm/server-only.native.js +3 -1
- package/dist/esm/server-only.native.js.map +1 -1
- package/dist/esm/storage/createStorage.mjs +61 -48
- package/dist/esm/storage/createStorage.mjs.map +1 -1
- package/dist/esm/storage/createStorage.native.js +86 -74
- package/dist/esm/storage/createStorage.native.js.map +1 -1
- package/dist/esm/storage/driver.mjs +10 -6
- package/dist/esm/storage/driver.mjs.map +1 -1
- package/dist/esm/storage/driver.native.js +18 -14
- package/dist/esm/storage/driver.native.js.map +1 -1
- package/dist/esm/storage/storage.test.mjs +84 -43
- package/dist/esm/storage/storage.test.mjs.map +1 -1
- package/dist/esm/storage/storage.test.native.js +96 -58
- package/dist/esm/storage/storage.test.native.js.map +1 -1
- package/dist/esm/string/dedent.mjs +13 -8
- package/dist/esm/string/dedent.mjs.map +1 -1
- package/dist/esm/string/dedent.native.js +21 -15
- package/dist/esm/string/dedent.native.js.map +1 -1
- package/dist/esm/string/ellipsis.mjs +6 -2
- package/dist/esm/string/ellipsis.mjs.map +1 -1
- package/dist/esm/string/ellipsis.native.js +6 -3
- package/dist/esm/string/ellipsis.native.js.map +1 -1
- package/dist/esm/string/insertAtIndex.mjs +3 -1
- package/dist/esm/string/insertAtIndex.mjs.map +1 -1
- package/dist/esm/string/insertAtIndex.native.js +3 -1
- package/dist/esm/string/insertAtIndex.native.js.map +1 -1
- package/dist/esm/string/nbspLastWord.mjs +2 -1
- package/dist/esm/string/nbspLastWord.mjs.map +1 -1
- package/dist/esm/string/nbspLastWord.native.js +2 -1
- package/dist/esm/string/nbspLastWord.native.js.map +1 -1
- package/dist/esm/string/pickLast.mjs +4 -1
- package/dist/esm/string/pickLast.mjs.map +1 -1
- package/dist/esm/string/pickLast.native.js +4 -1
- package/dist/esm/string/pickLast.native.js.map +1 -1
- package/dist/esm/string/pluralize.native.js +2 -1
- package/dist/esm/string/pluralize.native.js.map +1 -1
- package/dist/esm/string/truncateList.mjs +5 -3
- package/dist/esm/string/truncateList.mjs.map +1 -1
- package/dist/esm/string/truncateList.native.js +5 -3
- package/dist/esm/string/truncateList.native.js.map +1 -1
- package/dist/esm/time/formatDate.mjs +9 -6
- package/dist/esm/time/formatDate.mjs.map +1 -1
- package/dist/esm/time/formatDate.native.js +9 -6
- package/dist/esm/time/formatDate.native.js.map +1 -1
- package/dist/esm/time/formatDateRelative.mjs +27 -18
- package/dist/esm/time/formatDateRelative.mjs.map +1 -1
- package/dist/esm/time/formatDateRelative.native.js +27 -18
- package/dist/esm/time/formatDateRelative.native.js.map +1 -1
- package/dist/esm/time/formatDistanceToNow.mjs +12 -5
- package/dist/esm/time/formatDistanceToNow.mjs.map +1 -1
- package/dist/esm/time/formatDistanceToNow.native.js +12 -6
- package/dist/esm/time/formatDistanceToNow.native.js.map +1 -1
- package/dist/esm/time/useTimer.mjs +50 -21
- package/dist/esm/time/useTimer.mjs.map +1 -1
- package/dist/esm/time/useTimer.native.js +44 -21
- package/dist/esm/time/useTimer.native.js.map +1 -1
- package/dist/esm/url/urlSanitize.mjs +3 -1
- package/dist/esm/url/urlSanitize.mjs.map +1 -1
- package/dist/esm/url/urlSanitize.native.js +4 -2
- package/dist/esm/url/urlSanitize.native.js.map +1 -1
- package/package.json +3 -3
package/dist/esm/async/sleep.mjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AbortError } from "../error/errors.mjs";
|
|
2
2
|
const sleep = async (ms, signal) => {
|
|
3
|
-
|
|
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;
|
|
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
|
-
|
|
3
|
+
await new Promise(function (res) {
|
|
4
4
|
return setTimeout(res, ms);
|
|
5
|
-
})
|
|
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;
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
let isMounted =
|
|
8
|
-
|
|
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
|
-
|
|
11
|
+
if (isMounted) {
|
|
12
|
+
setData(result);
|
|
13
|
+
setLoading(false);
|
|
14
|
+
}
|
|
12
15
|
} catch (err) {
|
|
13
|
-
|
|
16
|
+
if (isMounted) {
|
|
17
|
+
setError(err);
|
|
18
|
+
setLoading(false);
|
|
19
|
+
}
|
|
14
20
|
}
|
|
15
|
-
})(), () => {
|
|
16
|
-
isMounted = !1;
|
|
17
21
|
};
|
|
18
|
-
|
|
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;
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var isMounted =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
17
|
-
|
|
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)
|
|
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;
|
|
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(
|
|
6
|
+
useAsyncEffectImpl(false, cb, deps, options);
|
|
7
7
|
}
|
|
8
8
|
function useAsyncLayoutEffect(cb, deps = [], options) {
|
|
9
|
-
useAsyncEffectImpl(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
30
|
+
if (signal.aborted) return;
|
|
31
|
+
controller.abort();
|
|
31
32
|
};
|
|
32
33
|
}, deps);
|
|
33
34
|
}
|
|
34
|
-
let effectRunCounts
|
|
35
|
+
let effectRunCounts;
|
|
36
|
+
let checkEffectLoop;
|
|
35
37
|
function formatDeps(deps) {
|
|
36
38
|
try {
|
|
37
|
-
return JSON.stringify(deps, (_, v) =>
|
|
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"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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":"AAEA,SAASA,SAAA,EAAWC,KAAA,EAAOC,eAAA,QAAuB;AAElD,SAASC,YAAA,QAAoB;AAC7B,SAASC,wBAAA,QAAgC;AACzC,SAASC,gBAAA,QAAwB;AAe1B,SAASC,eACdC,EAAA,EACAC,IAAA,GAAc,EAAC,EACfC,OAAA,EACM;EACNC,kBAAA,CAAmB,
|
|
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
|
-
|
|
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
|
|
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(
|
|
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(
|
|
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
|
-
|
|
27
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
48
|
+
if (signal.aborted) return;
|
|
49
|
+
controller.abort();
|
|
45
50
|
};
|
|
46
51
|
}, deps);
|
|
47
52
|
}
|
|
48
|
-
var effectRunCounts
|
|
53
|
+
var effectRunCounts;
|
|
54
|
+
var checkEffectLoop;
|
|
49
55
|
function formatDeps(deps) {
|
|
50
56
|
try {
|
|
51
57
|
return JSON.stringify(deps, function (_, v) {
|
|
52
|
-
|
|
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"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
var
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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"
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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;
|
|
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
|
-
|
|
6
|
-
|
|
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;
|
|
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
|
-
|
|
10
|
-
|
|
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])
|
|
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,
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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])
|
|
18
|
+
}, [value]);
|
|
19
|
+
return lazyValue;
|
|
15
20
|
};
|
|
16
21
|
export { useLazyValue };
|
|
17
22
|
//# sourceMappingURL=useLazyValue.native.js.map
|