@take-out/helpers 0.0.28
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/LICENSE +21 -0
- package/README.md +90 -0
- package/dist/cjs/array/fuzzy.cjs +51 -0
- package/dist/cjs/array/fuzzy.js +43 -0
- package/dist/cjs/array/fuzzy.js.map +6 -0
- package/dist/cjs/array/fuzzy.native.js +57 -0
- package/dist/cjs/array/fuzzy.native.js.map +6 -0
- package/dist/cjs/array/getRandomItem.cjs +30 -0
- package/dist/cjs/array/getRandomItem.js +25 -0
- package/dist/cjs/array/getRandomItem.js.map +6 -0
- package/dist/cjs/array/getRandomItem.native.js +31 -0
- package/dist/cjs/array/getRandomItem.native.js.map +6 -0
- package/dist/cjs/array/takeLast.cjs +26 -0
- package/dist/cjs/array/takeLast.js +21 -0
- package/dist/cjs/array/takeLast.js.map +6 -0
- package/dist/cjs/array/takeLast.native.js +28 -0
- package/dist/cjs/array/takeLast.native.js.map +6 -0
- package/dist/cjs/array/uniqBy.cjs +33 -0
- package/dist/cjs/array/uniqBy.js +28 -0
- package/dist/cjs/array/uniqBy.js.map +6 -0
- package/dist/cjs/array/uniqBy.native.js +44 -0
- package/dist/cjs/array/uniqBy.native.js.map +6 -0
- package/dist/cjs/assert.cjs +45 -0
- package/dist/cjs/assert.js +44 -0
- package/dist/cjs/assert.js.map +6 -0
- package/dist/cjs/assert.native.js +58 -0
- package/dist/cjs/assert.native.js.map +6 -0
- package/dist/cjs/async/abortable.cjs +49 -0
- package/dist/cjs/async/abortable.js +47 -0
- package/dist/cjs/async/abortable.js.map +6 -0
- package/dist/cjs/async/abortable.native.js +61 -0
- package/dist/cjs/async/abortable.native.js.map +6 -0
- package/dist/cjs/async/asyncContext.cjs +108 -0
- package/dist/cjs/async/asyncContext.js +104 -0
- package/dist/cjs/async/asyncContext.js.map +6 -0
- package/dist/cjs/async/asyncContext.native.js +108 -0
- package/dist/cjs/async/asyncContext.native.js.map +6 -0
- package/dist/cjs/async/idle.cjs +47 -0
- package/dist/cjs/async/idle.js +36 -0
- package/dist/cjs/async/idle.js.map +6 -0
- package/dist/cjs/async/idle.native.js +58 -0
- package/dist/cjs/async/idle.native.js.map +6 -0
- package/dist/cjs/async/interval.cjs +29 -0
- package/dist/cjs/async/interval.js +25 -0
- package/dist/cjs/async/interval.js.map +6 -0
- package/dist/cjs/async/interval.native.js +29 -0
- package/dist/cjs/async/interval.native.js.map +6 -0
- package/dist/cjs/async/isAborted.cjs +26 -0
- package/dist/cjs/async/isAborted.js +21 -0
- package/dist/cjs/async/isAborted.js.map +6 -0
- package/dist/cjs/async/isAborted.native.js +28 -0
- package/dist/cjs/async/isAborted.native.js.map +6 -0
- package/dist/cjs/async/sleep.cjs +29 -0
- package/dist/cjs/async/sleep.js +25 -0
- package/dist/cjs/async/sleep.js.map +6 -0
- package/dist/cjs/async/sleep.native.js +31 -0
- package/dist/cjs/async/sleep.native.js.map +6 -0
- package/dist/cjs/async/useAsync.cjs +44 -0
- package/dist/cjs/async/useAsync.js +37 -0
- package/dist/cjs/async/useAsync.js.map +6 -0
- package/dist/cjs/async/useAsync.native.js +50 -0
- package/dist/cjs/async/useAsync.native.js.map +6 -0
- package/dist/cjs/async/useAsyncEffect.cjs +74 -0
- package/dist/cjs/async/useAsyncEffect.js +68 -0
- package/dist/cjs/async/useAsyncEffect.js.map +6 -0
- package/dist/cjs/async/useAsyncEffect.native.js +76 -0
- package/dist/cjs/async/useAsyncEffect.native.js.map +6 -0
- package/dist/cjs/async/useLazyMount.cjs +45 -0
- package/dist/cjs/async/useLazyMount.js +38 -0
- package/dist/cjs/async/useLazyMount.js.map +6 -0
- package/dist/cjs/async/useLazyMount.native.js +40 -0
- package/dist/cjs/async/useLazyMount.native.js.map +6 -0
- package/dist/cjs/async/useLazyValue.cjs +39 -0
- package/dist/cjs/async/useLazyValue.js +35 -0
- package/dist/cjs/async/useLazyValue.js.map +6 -0
- package/dist/cjs/async/useLazyValue.native.js +35 -0
- package/dist/cjs/async/useLazyValue.native.js.map +6 -0
- package/dist/cjs/browser/clearIndexedDB.cjs +34 -0
- package/dist/cjs/browser/clearIndexedDB.js +31 -0
- package/dist/cjs/browser/clearIndexedDB.js.map +6 -0
- package/dist/cjs/browser/clearIndexedDB.native.js +42 -0
- package/dist/cjs/browser/clearIndexedDB.native.js.map +6 -0
- package/dist/cjs/browser/isActiveElementFormField.cjs +28 -0
- package/dist/cjs/browser/isActiveElementFormField.js +23 -0
- package/dist/cjs/browser/isActiveElementFormField.js.map +6 -0
- package/dist/cjs/browser/isActiveElementFormField.native.js +28 -0
- package/dist/cjs/browser/isActiveElementFormField.native.js.map +6 -0
- package/dist/cjs/browser/localStorage.cjs +200 -0
- package/dist/cjs/browser/localStorage.js +185 -0
- package/dist/cjs/browser/localStorage.js.map +6 -0
- package/dist/cjs/browser/localStorage.native.js +205 -0
- package/dist/cjs/browser/localStorage.native.js.map +6 -0
- package/dist/cjs/browser/openPopup.cjs +41 -0
- package/dist/cjs/browser/openPopup.js +31 -0
- package/dist/cjs/browser/openPopup.js.map +6 -0
- package/dist/cjs/browser/openPopup.native.js +36 -0
- package/dist/cjs/browser/openPopup.native.js.map +6 -0
- package/dist/cjs/client-only.cjs +1 -0
- package/dist/cjs/client-only.js +2 -0
- package/dist/cjs/client-only.js.map +6 -0
- package/dist/cjs/client-only.native.js +3 -0
- package/dist/cjs/client-only.native.js.map +6 -0
- package/dist/cjs/constants.cjs +52 -0
- package/dist/cjs/constants.js +38 -0
- package/dist/cjs/constants.js.map +6 -0
- package/dist/cjs/constants.native.js +54 -0
- package/dist/cjs/constants.native.js.map +6 -0
- package/dist/cjs/debug/debugLog.cjs +29 -0
- package/dist/cjs/debug/debugLog.js +24 -0
- package/dist/cjs/debug/debugLog.js.map +6 -0
- package/dist/cjs/debug/debugLog.native.js +29 -0
- package/dist/cjs/debug/debugLog.native.js.map +6 -0
- package/dist/cjs/debug/debugUseState.cjs +44 -0
- package/dist/cjs/debug/debugUseState.js +41 -0
- package/dist/cjs/debug/debugUseState.js.map +6 -0
- package/dist/cjs/debug/debugUseState.native.js +49 -0
- package/dist/cjs/debug/debugUseState.native.js.map +6 -0
- package/dist/cjs/emitter.cjs +209 -0
- package/dist/cjs/emitter.js +183 -0
- package/dist/cjs/emitter.js.map +6 -0
- package/dist/cjs/emitter.native.js +275 -0
- package/dist/cjs/emitter.native.js.map +6 -0
- package/dist/cjs/ensure/ensure.cjs +41 -0
- package/dist/cjs/ensure/ensure.js +40 -0
- package/dist/cjs/ensure/ensure.js.map +6 -0
- package/dist/cjs/ensure/ensure.native.js +54 -0
- package/dist/cjs/ensure/ensure.native.js.map +6 -0
- package/dist/cjs/ensure/ensureOne.cjs +33 -0
- package/dist/cjs/ensure/ensureOne.js +27 -0
- package/dist/cjs/ensure/ensureOne.js.map +6 -0
- package/dist/cjs/ensure/ensureOne.native.js +35 -0
- package/dist/cjs/ensure/ensureOne.native.js.map +6 -0
- package/dist/cjs/error/errors.cjs +36 -0
- package/dist/cjs/error/errors.js +31 -0
- package/dist/cjs/error/errors.js.map +6 -0
- package/dist/cjs/error/errors.native.js +137 -0
- package/dist/cjs/error/errors.native.js.map +6 -0
- package/dist/cjs/function/emptyFn.cjs +26 -0
- package/dist/cjs/function/emptyFn.js +22 -0
- package/dist/cjs/function/emptyFn.js.map +6 -0
- package/dist/cjs/function/emptyFn.native.js +27 -0
- package/dist/cjs/function/emptyFn.native.js.map +6 -0
- package/dist/cjs/function/identityFn.cjs +26 -0
- package/dist/cjs/function/identityFn.js +21 -0
- package/dist/cjs/function/identityFn.js.map +6 -0
- package/dist/cjs/function/identityFn.native.js +28 -0
- package/dist/cjs/function/identityFn.native.js.map +6 -0
- package/dist/cjs/function/throttle.cjs +45 -0
- package/dist/cjs/function/throttle.js +36 -0
- package/dist/cjs/function/throttle.js.map +6 -0
- package/dist/cjs/function/throttle.native.js +41 -0
- package/dist/cjs/function/throttle.native.js.map +6 -0
- package/dist/cjs/global/globalEffect.cjs +32 -0
- package/dist/cjs/global/globalEffect.js +26 -0
- package/dist/cjs/global/globalEffect.js.map +6 -0
- package/dist/cjs/global/globalEffect.native.js +34 -0
- package/dist/cjs/global/globalEffect.native.js.map +6 -0
- package/dist/cjs/global/globalValue.cjs +30 -0
- package/dist/cjs/global/globalValue.js +24 -0
- package/dist/cjs/global/globalValue.js.map +6 -0
- package/dist/cjs/global/globalValue.native.js +29 -0
- package/dist/cjs/global/globalValue.native.js.map +6 -0
- package/dist/cjs/index.cjs +88 -0
- package/dist/cjs/index.js +82 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +148 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/number/formatNumber.cjs +55 -0
- package/dist/cjs/number/formatNumber.js +48 -0
- package/dist/cjs/number/formatNumber.js.map +6 -0
- package/dist/cjs/number/formatNumber.native.js +52 -0
- package/dist/cjs/number/formatNumber.native.js.map +6 -0
- package/dist/cjs/object/decorateObject.cjs +30 -0
- package/dist/cjs/object/decorateObject.js +26 -0
- package/dist/cjs/object/decorateObject.js.map +6 -0
- package/dist/cjs/object/decorateObject.native.js +44 -0
- package/dist/cjs/object/decorateObject.native.js.map +6 -0
- package/dist/cjs/object/isEqualDeep.cjs +30 -0
- package/dist/cjs/object/isEqualDeep.js +23 -0
- package/dist/cjs/object/isEqualDeep.js.map +6 -0
- package/dist/cjs/object/isEqualDeep.native.js +28 -0
- package/dist/cjs/object/isEqualDeep.native.js.map +6 -0
- package/dist/cjs/object/isEqualIdentity.cjs +26 -0
- package/dist/cjs/object/isEqualIdentity.js +21 -0
- package/dist/cjs/object/isEqualIdentity.js.map +6 -0
- package/dist/cjs/object/isEqualIdentity.native.js +28 -0
- package/dist/cjs/object/isEqualIdentity.native.js.map +6 -0
- package/dist/cjs/object/isEqualJSON.cjs +26 -0
- package/dist/cjs/object/isEqualJSON.js +21 -0
- package/dist/cjs/object/isEqualJSON.js.map +6 -0
- package/dist/cjs/object/isEqualJSON.native.js +28 -0
- package/dist/cjs/object/isEqualJSON.native.js.map +6 -0
- package/dist/cjs/object/isEqualNever.cjs +26 -0
- package/dist/cjs/object/isEqualNever.js +21 -0
- package/dist/cjs/object/isEqualNever.js.map +6 -0
- package/dist/cjs/object/isEqualNever.native.js +28 -0
- package/dist/cjs/object/isEqualNever.native.js.map +6 -0
- package/dist/cjs/object/mapObject.cjs +30 -0
- package/dist/cjs/object/mapObject.js +26 -0
- package/dist/cjs/object/mapObject.js.map +6 -0
- package/dist/cjs/object/mapObject.native.js +31 -0
- package/dist/cjs/object/mapObject.native.js.map +6 -0
- package/dist/cjs/object/object.cjs +40 -0
- package/dist/cjs/object/object.js +37 -0
- package/dist/cjs/object/object.js.map +6 -0
- package/dist/cjs/object/object.native.js +49 -0
- package/dist/cjs/object/object.native.js.map +6 -0
- package/dist/cjs/object/objectUniqueKey.cjs +30 -0
- package/dist/cjs/object/objectUniqueKey.js +24 -0
- package/dist/cjs/object/objectUniqueKey.js.map +6 -0
- package/dist/cjs/object/objectUniqueKey.native.js +32 -0
- package/dist/cjs/object/objectUniqueKey.native.js.map +6 -0
- package/dist/cjs/react/createGlobalContext.cjs +30 -0
- package/dist/cjs/react/createGlobalContext.js +24 -0
- package/dist/cjs/react/createGlobalContext.js.map +6 -0
- package/dist/cjs/react/createGlobalContext.native.js +31 -0
- package/dist/cjs/react/createGlobalContext.native.js.map +6 -0
- package/dist/cjs/react/getCurrentComponentStack.cjs +62 -0
- package/dist/cjs/react/getCurrentComponentStack.js +54 -0
- package/dist/cjs/react/getCurrentComponentStack.js.map +6 -0
- package/dist/cjs/react/getCurrentComponentStack.native.js +69 -0
- package/dist/cjs/react/getCurrentComponentStack.native.js.map +6 -0
- package/dist/cjs/server/ensureEnv.cjs +32 -0
- package/dist/cjs/server/ensureEnv.js +31 -0
- package/dist/cjs/server/ensureEnv.js.map +6 -0
- package/dist/cjs/server/ensureEnv.native.js +36 -0
- package/dist/cjs/server/ensureEnv.native.js.map +6 -0
- package/dist/cjs/server/getHeaders.cjs +31 -0
- package/dist/cjs/server/getHeaders.js +26 -0
- package/dist/cjs/server/getHeaders.js.map +6 -0
- package/dist/cjs/server/getHeaders.native.js +31 -0
- package/dist/cjs/server/getHeaders.native.js.map +6 -0
- package/dist/cjs/server/prettyPrintRequest.cjs +28 -0
- package/dist/cjs/server/prettyPrintRequest.js +23 -0
- package/dist/cjs/server/prettyPrintRequest.js.map +6 -0
- package/dist/cjs/server/prettyPrintRequest.native.js +28 -0
- package/dist/cjs/server/prettyPrintRequest.native.js.map +6 -0
- package/dist/cjs/server/prettyPrintResponse.cjs +37 -0
- package/dist/cjs/server/prettyPrintResponse.js +30 -0
- package/dist/cjs/server/prettyPrintResponse.js.map +6 -0
- package/dist/cjs/server/prettyPrintResponse.native.js +35 -0
- package/dist/cjs/server/prettyPrintResponse.native.js.map +6 -0
- package/dist/cjs/server/streamToString.cjs +47 -0
- package/dist/cjs/server/streamToString.js +36 -0
- package/dist/cjs/server/streamToString.js.map +6 -0
- package/dist/cjs/server/streamToString.native.js +42 -0
- package/dist/cjs/server/streamToString.native.js.map +6 -0
- package/dist/cjs/server-only.cjs +1 -0
- package/dist/cjs/server-only.js +3 -0
- package/dist/cjs/server-only.js.map +6 -0
- package/dist/cjs/server-only.native.js +4 -0
- package/dist/cjs/server-only.native.js.map +6 -0
- package/dist/cjs/string/dedent.cjs +38 -0
- package/dist/cjs/string/dedent.js +33 -0
- package/dist/cjs/string/dedent.js.map +6 -0
- package/dist/cjs/string/dedent.native.js +48 -0
- package/dist/cjs/string/dedent.native.js.map +6 -0
- package/dist/cjs/string/ellipsis.cjs +29 -0
- package/dist/cjs/string/ellipsis.js +24 -0
- package/dist/cjs/string/ellipsis.js.map +6 -0
- package/dist/cjs/string/ellipsis.native.js +29 -0
- package/dist/cjs/string/ellipsis.native.js.map +6 -0
- package/dist/cjs/string/hash.cjs +32 -0
- package/dist/cjs/string/hash.js +27 -0
- package/dist/cjs/string/hash.js.map +6 -0
- package/dist/cjs/string/hash.native.js +38 -0
- package/dist/cjs/string/hash.native.js.map +6 -0
- package/dist/cjs/string/insertAtIndex.cjs +29 -0
- package/dist/cjs/string/insertAtIndex.js +25 -0
- package/dist/cjs/string/insertAtIndex.js.map +6 -0
- package/dist/cjs/string/insertAtIndex.native.js +30 -0
- package/dist/cjs/string/insertAtIndex.native.js.map +6 -0
- package/dist/cjs/string/pickLast.cjs +28 -0
- package/dist/cjs/string/pickLast.js +24 -0
- package/dist/cjs/string/pickLast.js.map +6 -0
- package/dist/cjs/string/pickLast.native.js +29 -0
- package/dist/cjs/string/pickLast.native.js.map +6 -0
- package/dist/cjs/string/pluralize.cjs +41 -0
- package/dist/cjs/string/pluralize.js +38 -0
- package/dist/cjs/string/pluralize.js.map +6 -0
- package/dist/cjs/string/pluralize.native.js +28 -0
- package/dist/cjs/string/pluralize.native.js.map +6 -0
- package/dist/cjs/string/randomId.cjs +26 -0
- package/dist/cjs/string/randomId.js +21 -0
- package/dist/cjs/string/randomId.js.map +6 -0
- package/dist/cjs/string/randomId.native.js +28 -0
- package/dist/cjs/string/randomId.native.js.map +6 -0
- package/dist/cjs/string/slugify.cjs +26 -0
- package/dist/cjs/string/slugify.js +21 -0
- package/dist/cjs/string/slugify.js.map +6 -0
- package/dist/cjs/string/slugify.native.js +28 -0
- package/dist/cjs/string/slugify.native.js.map +6 -0
- package/dist/cjs/string/truncateList.cjs +31 -0
- package/dist/cjs/string/truncateList.js +26 -0
- package/dist/cjs/string/truncateList.js.map +6 -0
- package/dist/cjs/string/truncateList.native.js +32 -0
- package/dist/cjs/string/truncateList.native.js.map +6 -0
- package/dist/cjs/time/formatDate.cjs +47 -0
- package/dist/cjs/time/formatDate.js +51 -0
- package/dist/cjs/time/formatDate.js.map +6 -0
- package/dist/cjs/time/formatDate.native.js +63 -0
- package/dist/cjs/time/formatDate.native.js.map +6 -0
- package/dist/cjs/time/formatDateRelative.cjs +55 -0
- package/dist/cjs/time/formatDateRelative.js +48 -0
- package/dist/cjs/time/formatDateRelative.js.map +6 -0
- package/dist/cjs/time/formatDateRelative.native.js +53 -0
- package/dist/cjs/time/formatDateRelative.native.js.map +6 -0
- package/dist/cjs/time/time.cjs +45 -0
- package/dist/cjs/time/time.js +40 -0
- package/dist/cjs/time/time.js.map +6 -0
- package/dist/cjs/time/time.native.js +75 -0
- package/dist/cjs/time/time.native.js.map +6 -0
- package/dist/cjs/types/NullToOptional.cjs +16 -0
- package/dist/cjs/types/NullToOptional.js +14 -0
- package/dist/cjs/types/NullToOptional.js.map +6 -0
- package/dist/cjs/types/NullToOptional.native.js +15 -0
- package/dist/cjs/types/NullToOptional.native.js.map +6 -0
- package/dist/cjs/types/object.cjs +16 -0
- package/dist/cjs/types/object.js +14 -0
- package/dist/cjs/types/object.js.map +6 -0
- package/dist/cjs/types/object.native.js +15 -0
- package/dist/cjs/types/object.native.js.map +6 -0
- package/dist/cjs/types/react.cjs +16 -0
- package/dist/cjs/types/react.js +14 -0
- package/dist/cjs/types/react.js.map +6 -0
- package/dist/cjs/types/react.native.js +15 -0
- package/dist/cjs/types/react.native.js.map +6 -0
- package/dist/cjs/types/timer.cjs +16 -0
- package/dist/cjs/types/timer.js +14 -0
- package/dist/cjs/types/timer.js.map +6 -0
- package/dist/cjs/types/timer.native.js +15 -0
- package/dist/cjs/types/timer.native.js.map +6 -0
- package/dist/cjs/types/tuple.cjs +16 -0
- package/dist/cjs/types/tuple.js +14 -0
- package/dist/cjs/types/tuple.js.map +6 -0
- package/dist/cjs/types/tuple.native.js +15 -0
- package/dist/cjs/types/tuple.native.js.map +6 -0
- package/dist/cjs/url/urlSanitize.cjs +35 -0
- package/dist/cjs/url/urlSanitize.js +31 -0
- package/dist/cjs/url/urlSanitize.js.map +6 -0
- package/dist/cjs/url/urlSanitize.native.js +42 -0
- package/dist/cjs/url/urlSanitize.native.js.map +6 -0
- package/dist/cjs/url/urlValidate.cjs +29 -0
- package/dist/cjs/url/urlValidate.js +26 -0
- package/dist/cjs/url/urlValidate.js.map +6 -0
- package/dist/cjs/url/urlValidate.native.js +29 -0
- package/dist/cjs/url/urlValidate.native.js.map +6 -0
- package/dist/esm/array/fuzzy.js +19 -0
- package/dist/esm/array/fuzzy.js.map +6 -0
- package/dist/esm/array/fuzzy.mjs +17 -0
- package/dist/esm/array/fuzzy.mjs.map +1 -0
- package/dist/esm/array/fuzzy.native.js +25 -0
- package/dist/esm/array/fuzzy.native.js.map +1 -0
- package/dist/esm/array/getRandomItem.js +9 -0
- package/dist/esm/array/getRandomItem.js.map +6 -0
- package/dist/esm/array/getRandomItem.mjs +7 -0
- package/dist/esm/array/getRandomItem.mjs.map +1 -0
- package/dist/esm/array/getRandomItem.native.js +8 -0
- package/dist/esm/array/getRandomItem.native.js.map +1 -0
- package/dist/esm/array/takeLast.js +5 -0
- package/dist/esm/array/takeLast.js.map +6 -0
- package/dist/esm/array/takeLast.mjs +3 -0
- package/dist/esm/array/takeLast.mjs.map +1 -0
- package/dist/esm/array/takeLast.native.js +5 -0
- package/dist/esm/array/takeLast.native.js.map +1 -0
- package/dist/esm/array/uniqBy.js +12 -0
- package/dist/esm/array/uniqBy.js.map +6 -0
- package/dist/esm/array/uniqBy.mjs +10 -0
- package/dist/esm/array/uniqBy.mjs.map +1 -0
- package/dist/esm/array/uniqBy.native.js +24 -0
- package/dist/esm/array/uniqBy.native.js.map +1 -0
- package/dist/esm/assert.js +28 -0
- package/dist/esm/assert.js.map +6 -0
- package/dist/esm/assert.mjs +19 -0
- package/dist/esm/assert.mjs.map +1 -0
- package/dist/esm/assert.native.js +25 -0
- package/dist/esm/assert.native.js.map +1 -0
- package/dist/esm/async/abortable.js +31 -0
- package/dist/esm/async/abortable.js.map +6 -0
- package/dist/esm/async/abortable.mjs +24 -0
- package/dist/esm/async/abortable.mjs.map +1 -0
- package/dist/esm/async/abortable.native.js +32 -0
- package/dist/esm/async/abortable.native.js.map +1 -0
- package/dist/esm/async/asyncContext.js +80 -0
- package/dist/esm/async/asyncContext.js.map +6 -0
- package/dist/esm/async/asyncContext.mjs +74 -0
- package/dist/esm/async/asyncContext.mjs.map +1 -0
- package/dist/esm/async/asyncContext.native.js +77 -0
- package/dist/esm/async/asyncContext.native.js.map +1 -0
- package/dist/esm/async/idle.js +21 -0
- package/dist/esm/async/idle.js.map +6 -0
- package/dist/esm/async/idle.mjs +24 -0
- package/dist/esm/async/idle.mjs.map +1 -0
- package/dist/esm/async/idle.native.js +31 -0
- package/dist/esm/async/idle.native.js.map +1 -0
- package/dist/esm/async/interval.js +9 -0
- package/dist/esm/async/interval.js.map +6 -0
- package/dist/esm/async/interval.mjs +6 -0
- package/dist/esm/async/interval.mjs.map +1 -0
- package/dist/esm/async/interval.native.js +6 -0
- package/dist/esm/async/interval.native.js.map +1 -0
- package/dist/esm/async/isAborted.js +5 -0
- package/dist/esm/async/isAborted.js.map +6 -0
- package/dist/esm/async/isAborted.mjs +3 -0
- package/dist/esm/async/isAborted.mjs.map +1 -0
- package/dist/esm/async/isAborted.native.js +5 -0
- package/dist/esm/async/isAborted.native.js.map +1 -0
- package/dist/esm/async/sleep.js +9 -0
- package/dist/esm/async/sleep.js.map +6 -0
- package/dist/esm/async/sleep.mjs +6 -0
- package/dist/esm/async/sleep.mjs.map +1 -0
- package/dist/esm/async/sleep.native.js +8 -0
- package/dist/esm/async/sleep.native.js.map +1 -0
- package/dist/esm/async/useAsync.js +21 -0
- package/dist/esm/async/useAsync.js.map +6 -0
- package/dist/esm/async/useAsync.mjs +21 -0
- package/dist/esm/async/useAsync.mjs.map +1 -0
- package/dist/esm/async/useAsync.native.js +24 -0
- package/dist/esm/async/useAsync.native.js.map +1 -0
- package/dist/esm/async/useAsyncEffect.js +54 -0
- package/dist/esm/async/useAsyncEffect.js.map +6 -0
- package/dist/esm/async/useAsyncEffect.mjs +50 -0
- package/dist/esm/async/useAsyncEffect.mjs.map +1 -0
- package/dist/esm/async/useAsyncEffect.native.js +60 -0
- package/dist/esm/async/useAsyncEffect.native.js.map +1 -0
- package/dist/esm/async/useLazyMount.js +24 -0
- package/dist/esm/async/useLazyMount.js.map +6 -0
- package/dist/esm/async/useLazyMount.mjs +21 -0
- package/dist/esm/async/useLazyMount.mjs.map +1 -0
- package/dist/esm/async/useLazyMount.native.js +24 -0
- package/dist/esm/async/useLazyMount.native.js.map +1 -0
- package/dist/esm/async/useLazyValue.js +21 -0
- package/dist/esm/async/useLazyValue.js.map +6 -0
- package/dist/esm/async/useLazyValue.mjs +16 -0
- package/dist/esm/async/useLazyValue.mjs.map +1 -0
- package/dist/esm/async/useLazyValue.native.js +17 -0
- package/dist/esm/async/useLazyValue.native.js.map +1 -0
- package/dist/esm/browser/clearIndexedDB.js +15 -0
- package/dist/esm/browser/clearIndexedDB.js.map +6 -0
- package/dist/esm/browser/clearIndexedDB.mjs +11 -0
- package/dist/esm/browser/clearIndexedDB.mjs.map +1 -0
- package/dist/esm/browser/clearIndexedDB.native.js +19 -0
- package/dist/esm/browser/clearIndexedDB.native.js.map +1 -0
- package/dist/esm/browser/isActiveElementFormField.js +7 -0
- package/dist/esm/browser/isActiveElementFormField.js.map +6 -0
- package/dist/esm/browser/isActiveElementFormField.mjs +5 -0
- package/dist/esm/browser/isActiveElementFormField.mjs.map +1 -0
- package/dist/esm/browser/isActiveElementFormField.native.js +5 -0
- package/dist/esm/browser/isActiveElementFormField.native.js.map +1 -0
- package/dist/esm/browser/localStorage.js +169 -0
- package/dist/esm/browser/localStorage.js.map +6 -0
- package/dist/esm/browser/localStorage.mjs +176 -0
- package/dist/esm/browser/localStorage.mjs.map +1 -0
- package/dist/esm/browser/localStorage.native.js +192 -0
- package/dist/esm/browser/localStorage.native.js.map +1 -0
- package/dist/esm/browser/openPopup.js +15 -0
- package/dist/esm/browser/openPopup.js.map +6 -0
- package/dist/esm/browser/openPopup.mjs +18 -0
- package/dist/esm/browser/openPopup.mjs.map +1 -0
- package/dist/esm/browser/openPopup.native.js +18 -0
- package/dist/esm/browser/openPopup.native.js.map +1 -0
- package/dist/esm/client-only.js +2 -0
- package/dist/esm/client-only.js.map +6 -0
- package/dist/esm/client-only.mjs +2 -0
- package/dist/esm/client-only.mjs.map +1 -0
- package/dist/esm/client-only.native.js +2 -0
- package/dist/esm/client-only.native.js.map +1 -0
- package/dist/esm/constants.js +23 -0
- package/dist/esm/constants.js.map +6 -0
- package/dist/esm/constants.mjs +18 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/constants.native.js +20 -0
- package/dist/esm/constants.native.js.map +1 -0
- package/dist/esm/debug/debugLog.js +8 -0
- package/dist/esm/debug/debugLog.js.map +6 -0
- package/dist/esm/debug/debugLog.mjs +6 -0
- package/dist/esm/debug/debugLog.mjs.map +1 -0
- package/dist/esm/debug/debugLog.native.js +6 -0
- package/dist/esm/debug/debugLog.native.js.map +1 -0
- package/dist/esm/debug/debugUseState.js +25 -0
- package/dist/esm/debug/debugUseState.js.map +6 -0
- package/dist/esm/debug/debugUseState.mjs +21 -0
- package/dist/esm/debug/debugUseState.mjs.map +1 -0
- package/dist/esm/debug/debugUseState.native.js +21 -0
- package/dist/esm/debug/debugUseState.native.js.map +1 -0
- package/dist/esm/emitter.js +167 -0
- package/dist/esm/emitter.js.map +6 -0
- package/dist/esm/emitter.mjs +166 -0
- package/dist/esm/emitter.mjs.map +1 -0
- package/dist/esm/emitter.native.js +229 -0
- package/dist/esm/emitter.native.js.map +1 -0
- package/dist/esm/ensure/ensure.js +24 -0
- package/dist/esm/ensure/ensure.js.map +6 -0
- package/dist/esm/ensure/ensure.mjs +15 -0
- package/dist/esm/ensure/ensure.mjs.map +1 -0
- package/dist/esm/ensure/ensure.native.js +21 -0
- package/dist/esm/ensure/ensure.native.js.map +1 -0
- package/dist/esm/ensure/ensureOne.js +11 -0
- package/dist/esm/ensure/ensureOne.js.map +6 -0
- package/dist/esm/ensure/ensureOne.mjs +10 -0
- package/dist/esm/ensure/ensureOne.mjs.map +1 -0
- package/dist/esm/ensure/ensureOne.native.js +13 -0
- package/dist/esm/ensure/ensureOne.native.js.map +1 -0
- package/dist/esm/error/errors.js +15 -0
- package/dist/esm/error/errors.js.map +6 -0
- package/dist/esm/error/errors.mjs +12 -0
- package/dist/esm/error/errors.mjs.map +1 -0
- package/dist/esm/error/errors.native.js +105 -0
- package/dist/esm/error/errors.native.js.map +1 -0
- package/dist/esm/function/emptyFn.js +6 -0
- package/dist/esm/function/emptyFn.js.map +6 -0
- package/dist/esm/function/emptyFn.mjs +3 -0
- package/dist/esm/function/emptyFn.mjs.map +1 -0
- package/dist/esm/function/emptyFn.native.js +3 -0
- package/dist/esm/function/emptyFn.native.js.map +1 -0
- package/dist/esm/function/identityFn.js +5 -0
- package/dist/esm/function/identityFn.js.map +6 -0
- package/dist/esm/function/identityFn.mjs +3 -0
- package/dist/esm/function/identityFn.mjs.map +1 -0
- package/dist/esm/function/identityFn.native.js +5 -0
- package/dist/esm/function/identityFn.native.js.map +1 -0
- package/dist/esm/function/throttle.js +20 -0
- package/dist/esm/function/throttle.js.map +6 -0
- package/dist/esm/function/throttle.mjs +22 -0
- package/dist/esm/function/throttle.mjs.map +1 -0
- package/dist/esm/function/throttle.native.js +26 -0
- package/dist/esm/function/throttle.native.js.map +1 -0
- package/dist/esm/global/globalEffect.js +10 -0
- package/dist/esm/global/globalEffect.js.map +6 -0
- package/dist/esm/global/globalEffect.mjs +9 -0
- package/dist/esm/global/globalEffect.mjs.map +1 -0
- package/dist/esm/global/globalEffect.native.js +12 -0
- package/dist/esm/global/globalEffect.native.js.map +1 -0
- package/dist/esm/global/globalValue.js +8 -0
- package/dist/esm/global/globalValue.js.map +6 -0
- package/dist/esm/global/globalValue.mjs +7 -0
- package/dist/esm/global/globalValue.mjs.map +1 -0
- package/dist/esm/global/globalValue.native.js +7 -0
- package/dist/esm/global/globalValue.native.js.map +1 -0
- package/dist/esm/index.js +66 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +64 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +64 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/number/formatNumber.js +32 -0
- package/dist/esm/number/formatNumber.js.map +6 -0
- package/dist/esm/number/formatNumber.mjs +30 -0
- package/dist/esm/number/formatNumber.mjs.map +1 -0
- package/dist/esm/number/formatNumber.native.js +31 -0
- package/dist/esm/number/formatNumber.native.js.map +1 -0
- package/dist/esm/object/decorateObject.js +10 -0
- package/dist/esm/object/decorateObject.js.map +6 -0
- package/dist/esm/object/decorateObject.mjs +7 -0
- package/dist/esm/object/decorateObject.mjs.map +1 -0
- package/dist/esm/object/decorateObject.native.js +23 -0
- package/dist/esm/object/decorateObject.native.js.map +1 -0
- package/dist/esm/object/isEqualDeep.js +8 -0
- package/dist/esm/object/isEqualDeep.js.map +6 -0
- package/dist/esm/object/isEqualDeep.mjs +6 -0
- package/dist/esm/object/isEqualDeep.mjs.map +1 -0
- package/dist/esm/object/isEqualDeep.native.js +6 -0
- package/dist/esm/object/isEqualDeep.native.js.map +1 -0
- package/dist/esm/object/isEqualIdentity.js +5 -0
- package/dist/esm/object/isEqualIdentity.js.map +6 -0
- package/dist/esm/object/isEqualIdentity.mjs +3 -0
- package/dist/esm/object/isEqualIdentity.mjs.map +1 -0
- package/dist/esm/object/isEqualIdentity.native.js +5 -0
- package/dist/esm/object/isEqualIdentity.native.js.map +1 -0
- package/dist/esm/object/isEqualJSON.js +5 -0
- package/dist/esm/object/isEqualJSON.js.map +6 -0
- package/dist/esm/object/isEqualJSON.mjs +3 -0
- package/dist/esm/object/isEqualJSON.mjs.map +1 -0
- package/dist/esm/object/isEqualJSON.native.js +5 -0
- package/dist/esm/object/isEqualJSON.native.js.map +1 -0
- package/dist/esm/object/isEqualNever.js +5 -0
- package/dist/esm/object/isEqualNever.js.map +6 -0
- package/dist/esm/object/isEqualNever.mjs +3 -0
- package/dist/esm/object/isEqualNever.mjs.map +1 -0
- package/dist/esm/object/isEqualNever.native.js +5 -0
- package/dist/esm/object/isEqualNever.native.js.map +1 -0
- package/dist/esm/object/mapObject.js +10 -0
- package/dist/esm/object/mapObject.js.map +6 -0
- package/dist/esm/object/mapObject.mjs +7 -0
- package/dist/esm/object/mapObject.mjs.map +1 -0
- package/dist/esm/object/mapObject.native.js +7 -0
- package/dist/esm/object/mapObject.native.js.map +1 -0
- package/dist/esm/object/object.js +21 -0
- package/dist/esm/object/object.js.map +6 -0
- package/dist/esm/object/object.mjs +14 -0
- package/dist/esm/object/object.mjs.map +1 -0
- package/dist/esm/object/object.native.js +17 -0
- package/dist/esm/object/object.native.js.map +1 -0
- package/dist/esm/object/objectUniqueKey.js +8 -0
- package/dist/esm/object/objectUniqueKey.js.map +6 -0
- package/dist/esm/object/objectUniqueKey.mjs +7 -0
- package/dist/esm/object/objectUniqueKey.mjs.map +1 -0
- package/dist/esm/object/objectUniqueKey.native.js +10 -0
- package/dist/esm/object/objectUniqueKey.native.js.map +1 -0
- package/dist/esm/react/createGlobalContext.js +9 -0
- package/dist/esm/react/createGlobalContext.js.map +6 -0
- package/dist/esm/react/createGlobalContext.mjs +7 -0
- package/dist/esm/react/createGlobalContext.mjs.map +1 -0
- package/dist/esm/react/createGlobalContext.native.js +9 -0
- package/dist/esm/react/createGlobalContext.native.js.map +1 -0
- package/dist/esm/react/getCurrentComponentStack.js +30 -0
- package/dist/esm/react/getCurrentComponentStack.js.map +6 -0
- package/dist/esm/react/getCurrentComponentStack.mjs +28 -0
- package/dist/esm/react/getCurrentComponentStack.mjs.map +1 -0
- package/dist/esm/react/getCurrentComponentStack.native.js +42 -0
- package/dist/esm/react/getCurrentComponentStack.native.js.map +1 -0
- package/dist/esm/server/ensureEnv.js +15 -0
- package/dist/esm/server/ensureEnv.js.map +6 -0
- package/dist/esm/server/ensureEnv.mjs +9 -0
- package/dist/esm/server/ensureEnv.mjs.map +1 -0
- package/dist/esm/server/ensureEnv.native.js +9 -0
- package/dist/esm/server/ensureEnv.native.js.map +1 -0
- package/dist/esm/server/getHeaders.js +10 -0
- package/dist/esm/server/getHeaders.js.map +6 -0
- package/dist/esm/server/getHeaders.mjs +8 -0
- package/dist/esm/server/getHeaders.mjs.map +1 -0
- package/dist/esm/server/getHeaders.native.js +8 -0
- package/dist/esm/server/getHeaders.native.js.map +1 -0
- package/dist/esm/server/prettyPrintRequest.js +7 -0
- package/dist/esm/server/prettyPrintRequest.js.map +6 -0
- package/dist/esm/server/prettyPrintRequest.mjs +5 -0
- package/dist/esm/server/prettyPrintRequest.mjs.map +1 -0
- package/dist/esm/server/prettyPrintRequest.native.js +5 -0
- package/dist/esm/server/prettyPrintRequest.native.js.map +1 -0
- package/dist/esm/server/prettyPrintResponse.js +15 -0
- package/dist/esm/server/prettyPrintResponse.js.map +6 -0
- package/dist/esm/server/prettyPrintResponse.mjs +14 -0
- package/dist/esm/server/prettyPrintResponse.mjs.map +1 -0
- package/dist/esm/server/prettyPrintResponse.native.js +14 -0
- package/dist/esm/server/prettyPrintResponse.native.js.map +1 -0
- package/dist/esm/server/streamToString.js +20 -0
- package/dist/esm/server/streamToString.js.map +6 -0
- package/dist/esm/server/streamToString.mjs +24 -0
- package/dist/esm/server/streamToString.mjs.map +1 -0
- package/dist/esm/server/streamToString.native.js +24 -0
- package/dist/esm/server/streamToString.native.js.map +1 -0
- package/dist/esm/server-only.js +3 -0
- package/dist/esm/server-only.js.map +6 -0
- package/dist/esm/server-only.mjs +2 -0
- package/dist/esm/server-only.mjs.map +1 -0
- package/dist/esm/server-only.native.js +2 -0
- package/dist/esm/server-only.native.js.map +1 -0
- package/dist/esm/string/dedent.js +17 -0
- package/dist/esm/string/dedent.js.map +6 -0
- package/dist/esm/string/dedent.mjs +15 -0
- package/dist/esm/string/dedent.mjs.map +1 -0
- package/dist/esm/string/dedent.native.js +25 -0
- package/dist/esm/string/dedent.native.js.map +1 -0
- package/dist/esm/string/ellipsis.js +8 -0
- package/dist/esm/string/ellipsis.js.map +6 -0
- package/dist/esm/string/ellipsis.mjs +6 -0
- package/dist/esm/string/ellipsis.mjs.map +1 -0
- package/dist/esm/string/ellipsis.native.js +7 -0
- package/dist/esm/string/ellipsis.native.js.map +1 -0
- package/dist/esm/string/hash.js +11 -0
- package/dist/esm/string/hash.js.map +6 -0
- package/dist/esm/string/hash.mjs +8 -0
- package/dist/esm/string/hash.mjs.map +1 -0
- package/dist/esm/string/hash.native.js +13 -0
- package/dist/esm/string/hash.native.js.map +1 -0
- package/dist/esm/string/insertAtIndex.js +9 -0
- package/dist/esm/string/insertAtIndex.js.map +6 -0
- package/dist/esm/string/insertAtIndex.mjs +6 -0
- package/dist/esm/string/insertAtIndex.mjs.map +1 -0
- package/dist/esm/string/insertAtIndex.native.js +6 -0
- package/dist/esm/string/insertAtIndex.native.js.map +1 -0
- package/dist/esm/string/pickLast.js +8 -0
- package/dist/esm/string/pickLast.js.map +6 -0
- package/dist/esm/string/pickLast.mjs +5 -0
- package/dist/esm/string/pickLast.mjs.map +1 -0
- package/dist/esm/string/pickLast.native.js +5 -0
- package/dist/esm/string/pickLast.native.js.map +1 -0
- package/dist/esm/string/pluralize.js +22 -0
- package/dist/esm/string/pluralize.js.map +6 -0
- package/dist/esm/string/pluralize.mjs +17 -0
- package/dist/esm/string/pluralize.mjs.map +1 -0
- package/dist/esm/string/pluralize.native.js +5 -0
- package/dist/esm/string/pluralize.native.js.map +1 -0
- package/dist/esm/string/randomId.js +5 -0
- package/dist/esm/string/randomId.js.map +6 -0
- package/dist/esm/string/randomId.mjs +3 -0
- package/dist/esm/string/randomId.mjs.map +1 -0
- package/dist/esm/string/randomId.native.js +5 -0
- package/dist/esm/string/randomId.native.js.map +1 -0
- package/dist/esm/string/slugify.js +5 -0
- package/dist/esm/string/slugify.js.map +6 -0
- package/dist/esm/string/slugify.mjs +3 -0
- package/dist/esm/string/slugify.mjs.map +1 -0
- package/dist/esm/string/slugify.native.js +5 -0
- package/dist/esm/string/slugify.native.js.map +1 -0
- package/dist/esm/string/truncateList.js +10 -0
- package/dist/esm/string/truncateList.js.map +6 -0
- package/dist/esm/string/truncateList.mjs +8 -0
- package/dist/esm/string/truncateList.mjs.map +1 -0
- package/dist/esm/string/truncateList.native.js +9 -0
- package/dist/esm/string/truncateList.native.js.map +1 -0
- package/dist/esm/time/formatDate.js +35 -0
- package/dist/esm/time/formatDate.js.map +6 -0
- package/dist/esm/time/formatDate.mjs +24 -0
- package/dist/esm/time/formatDate.mjs.map +1 -0
- package/dist/esm/time/formatDate.native.js +24 -0
- package/dist/esm/time/formatDate.native.js.map +1 -0
- package/dist/esm/time/formatDateRelative.js +32 -0
- package/dist/esm/time/formatDateRelative.js.map +6 -0
- package/dist/esm/time/formatDateRelative.mjs +32 -0
- package/dist/esm/time/formatDateRelative.mjs.map +1 -0
- package/dist/esm/time/formatDateRelative.native.js +34 -0
- package/dist/esm/time/formatDateRelative.native.js.map +1 -0
- package/dist/esm/time/time.js +24 -0
- package/dist/esm/time/time.js.map +6 -0
- package/dist/esm/time/time.mjs +22 -0
- package/dist/esm/time/time.mjs.map +1 -0
- package/dist/esm/time/time.native.js +52 -0
- package/dist/esm/time/time.native.js.map +1 -0
- package/dist/esm/types/NullToOptional.js +1 -0
- package/dist/esm/types/NullToOptional.js.map +6 -0
- package/dist/esm/types/NullToOptional.mjs +2 -0
- package/dist/esm/types/NullToOptional.mjs.map +1 -0
- package/dist/esm/types/NullToOptional.native.js +2 -0
- package/dist/esm/types/NullToOptional.native.js.map +1 -0
- package/dist/esm/types/object.js +1 -0
- package/dist/esm/types/object.js.map +6 -0
- package/dist/esm/types/object.mjs +2 -0
- package/dist/esm/types/object.mjs.map +1 -0
- package/dist/esm/types/object.native.js +2 -0
- package/dist/esm/types/object.native.js.map +1 -0
- package/dist/esm/types/react.js +1 -0
- package/dist/esm/types/react.js.map +6 -0
- package/dist/esm/types/react.mjs +2 -0
- package/dist/esm/types/react.mjs.map +1 -0
- package/dist/esm/types/react.native.js +2 -0
- package/dist/esm/types/react.native.js.map +1 -0
- package/dist/esm/types/timer.js +1 -0
- package/dist/esm/types/timer.js.map +6 -0
- package/dist/esm/types/timer.mjs +2 -0
- package/dist/esm/types/timer.mjs.map +1 -0
- package/dist/esm/types/timer.native.js +2 -0
- package/dist/esm/types/timer.native.js.map +1 -0
- package/dist/esm/types/tuple.js +1 -0
- package/dist/esm/types/tuple.js.map +6 -0
- package/dist/esm/types/tuple.mjs +2 -0
- package/dist/esm/types/tuple.mjs.map +1 -0
- package/dist/esm/types/tuple.native.js +2 -0
- package/dist/esm/types/tuple.native.js.map +1 -0
- package/dist/esm/url/urlSanitize.js +15 -0
- package/dist/esm/url/urlSanitize.js.map +6 -0
- package/dist/esm/url/urlSanitize.mjs +12 -0
- package/dist/esm/url/urlSanitize.mjs.map +1 -0
- package/dist/esm/url/urlSanitize.native.js +12 -0
- package/dist/esm/url/urlSanitize.native.js.map +1 -0
- package/dist/esm/url/urlValidate.js +10 -0
- package/dist/esm/url/urlValidate.js.map +6 -0
- package/dist/esm/url/urlValidate.mjs +6 -0
- package/dist/esm/url/urlValidate.mjs.map +1 -0
- package/dist/esm/url/urlValidate.native.js +6 -0
- package/dist/esm/url/urlValidate.native.js.map +1 -0
- package/package.json +77 -0
- package/src/array/fuzzy.ts +39 -0
- package/src/array/getRandomItem.ts +5 -0
- package/src/array/takeLast.ts +3 -0
- package/src/array/uniqBy.ts +19 -0
- package/src/assert.ts +29 -0
- package/src/async/abortable.ts +60 -0
- package/src/async/asyncContext.ts +144 -0
- package/src/async/idle.ts +68 -0
- package/src/async/interval.ts +12 -0
- package/src/async/isAborted.ts +2 -0
- package/src/async/sleep.ts +8 -0
- package/src/async/useAsync.ts +38 -0
- package/src/async/useAsyncEffect.ts +120 -0
- package/src/async/useLazyMount.ts +32 -0
- package/src/async/useLazyValue.ts +30 -0
- package/src/browser/clearIndexedDB.ts +18 -0
- package/src/browser/isActiveElementFormField.ts +10 -0
- package/src/browser/localStorage.ts +311 -0
- package/src/browser/openPopup.ts +30 -0
- package/src/client-only.ts +3 -0
- package/src/constants.ts +34 -0
- package/src/debug/debugLog.ts +13 -0
- package/src/debug/debugUseState.ts +35 -0
- package/src/emitter.tsx +377 -0
- package/src/ensure/ensure.ts +31 -0
- package/src/ensure/ensureOne.ts +17 -0
- package/src/error/errors.ts +13 -0
- package/src/function/emptyFn.ts +1 -0
- package/src/function/identityFn.ts +1 -0
- package/src/function/throttle.ts +73 -0
- package/src/global/globalEffect.ts +14 -0
- package/src/global/globalValue.ts +40 -0
- package/src/index.ts +103 -0
- package/src/number/formatNumber.ts +40 -0
- package/src/object/decorateObject.ts +16 -0
- package/src/object/isEqualDeep.ts +7 -0
- package/src/object/isEqualIdentity.ts +1 -0
- package/src/object/isEqualJSON.ts +2 -0
- package/src/object/isEqualNever.ts +1 -0
- package/src/object/mapObject.ts +14 -0
- package/src/object/object.ts +33 -0
- package/src/object/objectUniqueKey.ts +12 -0
- package/src/react/createGlobalContext.ts +9 -0
- package/src/react/getCurrentComponentStack.ts +56 -0
- package/src/server/ensureEnv.ts +18 -0
- package/src/server/getHeaders.ts +7 -0
- package/src/server/prettyPrintRequest.ts +16 -0
- package/src/server/prettyPrintResponse.ts +15 -0
- package/src/server/streamToString.ts +19 -0
- package/src/server-only.ts +3 -0
- package/src/string/dedent.ts +30 -0
- package/src/string/ellipsis.ts +9 -0
- package/src/string/hash.ts +19 -0
- package/src/string/insertAtIndex.ts +7 -0
- package/src/string/pickLast.ts +10 -0
- package/src/string/pluralize.native.ts +6 -0
- package/src/string/pluralize.ts +21 -0
- package/src/string/randomId.ts +1 -0
- package/src/string/slugify.ts +7 -0
- package/src/string/truncateList.ts +28 -0
- package/src/time/formatDate.tsx +47 -0
- package/src/time/formatDateRelative.ts +72 -0
- package/src/time/time.ts +51 -0
- package/src/types/NullToOptional.d.ts.map +1 -0
- package/src/types/NullToOptional.ts +5 -0
- package/src/types/object.d.ts.map +1 -0
- package/src/types/object.ts +38 -0
- package/src/types/react.d.ts.map +1 -0
- package/src/types/react.ts +1 -0
- package/src/types/timer.d.ts.map +1 -0
- package/src/types/timer.ts +1 -0
- package/src/types/tuple.d.ts.map +1 -0
- package/src/types/tuple.ts +1 -0
- package/src/url/urlSanitize.ts +20 -0
- package/src/url/urlValidate.ts +11 -0
- package/types/array/fuzzy.d.ts +10 -0
- package/types/array/fuzzy.d.ts.map +16 -0
- package/types/array/getRandomItem.d.ts +3 -0
- package/types/array/getRandomItem.d.ts.map +13 -0
- package/types/array/takeLast.d.ts +3 -0
- package/types/array/takeLast.d.ts.map +14 -0
- package/types/array/uniqBy.d.ts +12 -0
- package/types/array/uniqBy.d.ts.map +15 -0
- package/types/assert.d.ts +6 -0
- package/types/assert.d.ts.map +15 -0
- package/types/async/abortable.d.ts +10 -0
- package/types/async/abortable.d.ts.map +18 -0
- package/types/async/asyncContext.d.ts +8 -0
- package/types/async/asyncContext.d.ts.map +14 -0
- package/types/async/idle.d.ts +8 -0
- package/types/async/idle.d.ts.map +14 -0
- package/types/async/interval.d.ts +3 -0
- package/types/async/interval.d.ts.map +15 -0
- package/types/async/isAborted.d.ts +3 -0
- package/types/async/isAborted.d.ts.map +13 -0
- package/types/async/sleep.d.ts +3 -0
- package/types/async/sleep.d.ts.map +14 -0
- package/types/async/useAsync.d.ts +3 -0
- package/types/async/useAsync.d.ts.map +14 -0
- package/types/async/useAsyncEffect.d.ts +12 -0
- package/types/async/useAsyncEffect.d.ts.map +16 -0
- package/types/async/useLazyMount.d.ts +9 -0
- package/types/async/useLazyMount.d.ts.map +13 -0
- package/types/async/useLazyValue.d.ts +6 -0
- package/types/async/useLazyValue.d.ts.map +13 -0
- package/types/browser/clearIndexedDB.d.ts +3 -0
- package/types/browser/clearIndexedDB.d.ts.map +11 -0
- package/types/browser/isActiveElementFormField.d.ts +3 -0
- package/types/browser/isActiveElementFormField.d.ts.map +11 -0
- package/types/browser/localStorage.d.ts +31 -0
- package/types/browser/localStorage.d.ts.map +22 -0
- package/types/browser/openPopup.d.ts +4 -0
- package/types/browser/openPopup.d.ts.map +16 -0
- package/types/client-only.d.ts +2 -0
- package/types/client-only.d.ts.map +11 -0
- package/types/constants.d.ts +11 -0
- package/types/constants.d.ts.map +17 -0
- package/types/debug/debugLog.d.ts +11 -0
- package/types/debug/debugLog.d.ts.map +14 -0
- package/types/debug/debugUseState.d.ts +3 -0
- package/types/debug/debugUseState.d.ts.map +13 -0
- package/types/emitter.d.ts +78 -0
- package/types/emitter.d.ts.map +43 -0
- package/types/ensure/catchEnsureErrors.d.ts +3 -0
- package/types/ensure/catchEnsureErrors.d.ts.map +13 -0
- package/types/ensure/ensure.d.ts +6 -0
- package/types/ensure/ensure.d.ts.map +15 -0
- package/types/ensure/ensureOne.d.ts +3 -0
- package/types/ensure/ensureOne.d.ts.map +15 -0
- package/types/ensure/ensureSingleton.d.ts +7 -0
- package/types/ensure/ensureSingleton.d.ts.map +14 -0
- package/types/error/errors.d.ts +8 -0
- package/types/error/errors.d.ts.map +13 -0
- package/types/files/download.d.ts +4 -0
- package/types/files/download.d.ts.map +16 -0
- package/types/function/emptyFn.d.ts +3 -0
- package/types/function/emptyFn.d.ts.map +11 -0
- package/types/function/identityFn.d.ts +3 -0
- package/types/function/identityFn.d.ts.map +13 -0
- package/types/function/throttle.d.ts +22 -0
- package/types/function/throttle.d.ts.map +13 -0
- package/types/global/globalContext.d.ts +6 -0
- package/types/global/globalContext.d.ts.map +14 -0
- package/types/global/globalEffect.d.ts +3 -0
- package/types/global/globalEffect.d.ts.map +14 -0
- package/types/global/globalValue.d.ts +24 -0
- package/types/global/globalValue.d.ts.map +15 -0
- package/types/index.d.ts +87 -0
- package/types/index.d.ts.map +11 -0
- package/types/number/formatNumber.d.ts +11 -0
- package/types/number/formatNumber.d.ts.map +14 -0
- package/types/object/decorateObject.d.ts +3 -0
- package/types/object/decorateObject.d.ts.map +15 -0
- package/types/object/isEqualDeep.d.ts +6 -0
- package/types/object/isEqualDeep.d.ts.map +14 -0
- package/types/object/isEqualIdentity.d.ts +3 -0
- package/types/object/isEqualIdentity.d.ts.map +14 -0
- package/types/object/isEqualJSON.d.ts +3 -0
- package/types/object/isEqualJSON.d.ts.map +14 -0
- package/types/object/isEqualNever.d.ts +3 -0
- package/types/object/isEqualNever.d.ts.map +14 -0
- package/types/object/mapObject.d.ts +6 -0
- package/types/object/mapObject.d.ts.map +16 -0
- package/types/object/object.d.ts +12 -0
- package/types/object/object.d.ts.map +17 -0
- package/types/object/objectUniqueKey.d.ts +3 -0
- package/types/object/objectUniqueKey.d.ts.map +13 -0
- package/types/react/createGlobalContext.d.ts +6 -0
- package/types/react/createGlobalContext.d.ts.map +14 -0
- package/types/react/getCurrentComponentStack.d.ts +3 -0
- package/types/react/getCurrentComponentStack.d.ts.map +13 -0
- package/types/server/ensureEnv.d.ts +4 -0
- package/types/server/ensureEnv.d.ts.map +14 -0
- package/types/server/getHeaders.d.ts +3 -0
- package/types/server/getHeaders.d.ts.map +13 -0
- package/types/server/prettyPrintRequest.d.ts +5 -0
- package/types/server/prettyPrintRequest.d.ts.map +13 -0
- package/types/server/prettyPrintResponse.d.ts +3 -0
- package/types/server/prettyPrintResponse.d.ts.map +13 -0
- package/types/server/streamToString.d.ts +3 -0
- package/types/server/streamToString.d.ts.map +13 -0
- package/types/server-only.d.ts +2 -0
- package/types/server-only.d.ts.map +11 -0
- package/types/string/dedent.d.ts +3 -0
- package/types/string/dedent.d.ts.map +13 -0
- package/types/string/ellipsis.d.ts +3 -0
- package/types/string/ellipsis.d.ts.map +14 -0
- package/types/string/hash.d.ts +5 -0
- package/types/string/hash.d.ts.map +14 -0
- package/types/string/insertAtIndex.d.ts +3 -0
- package/types/string/insertAtIndex.d.ts.map +15 -0
- package/types/string/pickLast.d.ts +3 -0
- package/types/string/pickLast.d.ts.map +14 -0
- package/types/string/pluralize.d.ts +5 -0
- package/types/string/pluralize.d.ts.map +16 -0
- package/types/string/pluralize.native.d.ts +4 -0
- package/types/string/pluralize.native.d.ts.map +13 -0
- package/types/string/randomId.d.ts +3 -0
- package/types/string/randomId.d.ts.map +11 -0
- package/types/string/slugify.d.ts +3 -0
- package/types/string/slugify.d.ts.map +13 -0
- package/types/string/truncateList.d.ts +17 -0
- package/types/string/truncateList.d.ts.map +15 -0
- package/types/time/formatDate.d.ts +5 -0
- package/types/time/formatDate.d.ts.map +14 -0
- package/types/time/formatDateRelative.d.ts +3 -0
- package/types/time/formatDateRelative.d.ts.map +13 -0
- package/types/time/time.d.ts +29 -0
- package/types/time/time.d.ts.map +14 -0
- package/types/types/NullToOptional.d.ts +3 -0
- package/types/types/NullToOptional.d.ts.map +11 -0
- package/types/types/object.d.ts +18 -0
- package/types/types/object.d.ts.map +14 -0
- package/types/types/react.d.ts +3 -0
- package/types/types/react.d.ts.map +11 -0
- package/types/types/timer.d.ts +3 -0
- package/types/types/timer.d.ts.map +11 -0
- package/types/types/tuple.d.ts +3 -0
- package/types/types/tuple.d.ts.map +11 -0
- package/types/url/urlSanitize.d.ts +3 -0
- package/types/url/urlSanitize.d.ts.map +13 -0
- package/types/url/urlValidate.d.ts +3 -0
- package/types/url/urlValidate.d.ts.map +13 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ms","n","seconds","minutes","hours","days","weeks","second"],"sources":["../../../src/time/time.ts"],"sourcesContent":[null],"mappings":"AAwBA,IAAAA,EAAM,YAAAA,CAAOC,CAAc;EAC3B,OAAGA,CAAA;AACH;AACAD,EAAA,CAAGE,OAAA,GAAS,UAAiBD,CAAA;EAC7B,OAAGA,CAAO,GAAC;AACX;AAEAD,EAAA,CAAAG,OAAM,aAAWF,CAAc;EAC/B,OAAOD,EAAA,CAAAE,OAAW,CAAAD,CAAA,GAAc;AAChC;AACAD,EAAA,CAAAI,KAAO,aAAQH,CAAc;EAC7B,OAAOD,EAAA,CAAAG,OAAS,CAAAF,CAAA,GAAc;AAE9B;AACAD,EAAA,CAAAK,IAAO,aAASJ,CAAA,EAAc;EAC9B,OAAOD,EAAA,CAAAI,KAAQ,CAAAH,CAAA,GAAc;AAC7B;AAEOD,EAAA,CAAAM,KAAM,aAITL,CAAA;EACF,OAAAD,EAAA,CAAAK,IAAA,CAAAJ,CAAA;AAAA;AACA,IACAM,MAAA,YAAAA,CAAAN,CAAA;EACF,OAAAA,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=NullToOptional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=tuple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const protocols = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
2
|
+
function urlSanitize(url) {
|
|
3
|
+
try {
|
|
4
|
+
const parsedUrl = new URL(url);
|
|
5
|
+
if (!protocols.has(parsedUrl.protocol))
|
|
6
|
+
return "about:blank";
|
|
7
|
+
} catch {
|
|
8
|
+
return url;
|
|
9
|
+
}
|
|
10
|
+
return url;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
urlSanitize
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=urlSanitize.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/url/urlSanitize.ts"],
|
|
4
|
+
"mappings": "AAOA,MAAM,YAAY,oBAAI,IAAI,CAAC,SAAS,UAAU,WAAW,QAAQ,MAAM,CAAC;AAEjE,SAAS,YAAY,KAAa;AACvC,MAAI;AACF,UAAM,YAAY,IAAI,IAAI,GAAG;AAC7B,QAAI,CAAC,UAAU,IAAI,UAAU,QAAQ;AACnC,aAAO;AAAA,EAEX,QAAQ;AACN,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const protocols = /* @__PURE__ */new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
2
|
+
function urlSanitize(url) {
|
|
3
|
+
try {
|
|
4
|
+
const parsedUrl = new URL(url);
|
|
5
|
+
if (!protocols.has(parsedUrl.protocol)) return "about:blank";
|
|
6
|
+
} catch {
|
|
7
|
+
return url;
|
|
8
|
+
}
|
|
9
|
+
return url;
|
|
10
|
+
}
|
|
11
|
+
export { urlSanitize };
|
|
12
|
+
//# sourceMappingURL=urlSanitize.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["protocols","Set","urlSanitize","url","parsedUrl","URL","has","protocol"],"sources":["../../../src/url/urlSanitize.ts"],"sourcesContent":[null],"mappings":"AAOA,MAAMA,SAAA,GAAY,mBAAIC,GAAA,CAAI,CAAC,SAAS,UAAU,WAAW,QAAQ,MAAM,CAAC;AAEjE,SAASC,YAAYC,GAAA,EAAa;EACvC,IAAI;IACF,MAAMC,SAAA,GAAY,IAAIC,GAAA,CAAIF,GAAG;IAC7B,IAAI,CAACH,SAAA,CAAUM,GAAA,CAAIF,SAAA,CAAUG,QAAQ,GACnC,OAAO;EAEX,QAAQ;IACN,OAAOJ,GAAA;EACT;EACA,OAAOA,GAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var protocols = /* @__PURE__ */new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
2
|
+
function urlSanitize(url) {
|
|
3
|
+
try {
|
|
4
|
+
var parsedUrl = new URL(url);
|
|
5
|
+
if (!protocols.has(parsedUrl.protocol)) return "about:blank";
|
|
6
|
+
} catch {
|
|
7
|
+
return url;
|
|
8
|
+
}
|
|
9
|
+
return url;
|
|
10
|
+
}
|
|
11
|
+
export { urlSanitize };
|
|
12
|
+
//# sourceMappingURL=urlSanitize.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["protocols","Set","urlSanitize","url","parsedUrl","URL","has","protocol"],"sources":["../../../src/url/urlSanitize.ts"],"sourcesContent":[null],"mappings":"AAOA,IAAAA,SAAM,kBAAY,IAAAC,GAAI,EAEf,OAAS,EACd,QAAI,EACF,SAAM,EACN,MAAI,EACF,OAAO,CAEX;AACE,SAAAC,WAAOA,CAAAC,GAAA;EACT;IACA,IAAAC,SAAO,OAAAC,GAAA,CAAAF,GAAA;IACT,KAAAH,SAAA,CAAAM,GAAA,CAAAF,SAAA,CAAAG,QAAA,G","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const urlRegExp = new RegExp(
|
|
2
|
+
/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/
|
|
3
|
+
);
|
|
4
|
+
function urlValidate(url) {
|
|
5
|
+
return url === "https://" || urlRegExp.test(url);
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
urlValidate
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=urlValidate.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const urlRegExp = new RegExp(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/);
|
|
2
|
+
function urlValidate(url) {
|
|
3
|
+
return url === "https://" || urlRegExp.test(url);
|
|
4
|
+
}
|
|
5
|
+
export { urlValidate };
|
|
6
|
+
//# sourceMappingURL=urlValidate.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["urlRegExp","RegExp","urlValidate","url","test"],"sources":["../../../src/url/urlValidate.ts"],"sourcesContent":[null],"mappings":"AAEA,MAAMA,SAAA,GAAY,IAAIC,MAAA,CACpB,4JACF;AAEO,SAASC,YAAYC,GAAA,EAAa;EAGvC,OAAOA,GAAA,KAAQ,cAAcH,SAAA,CAAUI,IAAA,CAAKD,GAAG;AACjD","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
var urlRegExp = new RegExp(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/);
|
|
2
|
+
function urlValidate(url) {
|
|
3
|
+
return url === "https://" || urlRegExp.test(url);
|
|
4
|
+
}
|
|
5
|
+
export { urlValidate };
|
|
6
|
+
//# sourceMappingURL=urlValidate.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["urlRegExp","RegExp","urlValidate","url","test"],"sources":["../../../src/url/urlValidate.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAAA,SAAM,OAAYC,MAAI;AAAA,SACpBC,YAAAC,GAAA;EACF,OAAAA,GAAA,mBAAAH,SAAA,CAAAI,IAAA,CAAAD,GAAA;AAEO;AAGL,SACFD,WAAA","ignoreList":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@take-out/helpers",
|
|
3
|
+
"version": "0.0.28",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"source": "src/index.ts",
|
|
7
|
+
"main": "dist/cjs",
|
|
8
|
+
"module": "dist/esm",
|
|
9
|
+
"types": "./types/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"src",
|
|
12
|
+
"types",
|
|
13
|
+
"dist"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tamagui-build",
|
|
17
|
+
"watch": "tamagui-build --watch",
|
|
18
|
+
"lint": "biome check src",
|
|
19
|
+
"lint:fix": "biome check --write src",
|
|
20
|
+
"clean": "tamagui-build clean",
|
|
21
|
+
"clean:build": "tamagui-build clean:build"
|
|
22
|
+
},
|
|
23
|
+
"exports": {
|
|
24
|
+
"./package.json": "./package.json",
|
|
25
|
+
".": {
|
|
26
|
+
"react-native": {
|
|
27
|
+
"import": "./dist/esm/index.native.js",
|
|
28
|
+
"require": "./dist/cjs/index.native.js"
|
|
29
|
+
},
|
|
30
|
+
"types": "./types/index.d.ts",
|
|
31
|
+
"import": "./dist/esm/index.mjs",
|
|
32
|
+
"require": "./dist/cjs/index.cjs",
|
|
33
|
+
"default": "./dist/esm/index.mjs"
|
|
34
|
+
},
|
|
35
|
+
"./server-only": {
|
|
36
|
+
"react-native": {
|
|
37
|
+
"import": "./dist/esm/server-only.native.js",
|
|
38
|
+
"require": "./dist/cjs/server-only.native.js"
|
|
39
|
+
},
|
|
40
|
+
"types": "./types/server-only.d.ts",
|
|
41
|
+
"import": "./dist/esm/server-only.mjs",
|
|
42
|
+
"require": "./dist/cjs/server-only.cjs",
|
|
43
|
+
"default": "./dist/esm/server-only.mjs"
|
|
44
|
+
},
|
|
45
|
+
"./client-only": {
|
|
46
|
+
"react-native": {
|
|
47
|
+
"import": "./dist/esm/client-only.native.js",
|
|
48
|
+
"require": "./dist/cjs/client-only.native.js"
|
|
49
|
+
},
|
|
50
|
+
"types": "./types/client-only.d.ts",
|
|
51
|
+
"import": "./dist/esm/client-only.mjs",
|
|
52
|
+
"require": "./dist/cjs/client-only.cjs",
|
|
53
|
+
"default": "./dist/esm/client-only.mjs"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@tamagui/constants": "*",
|
|
58
|
+
"dequal": "^2.0.3",
|
|
59
|
+
"fuse.js": "^7.1.0"
|
|
60
|
+
},
|
|
61
|
+
"peerDependencies": {
|
|
62
|
+
"@rocicorp/zero": "*",
|
|
63
|
+
"react": "*",
|
|
64
|
+
"react-native": "*"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@biomejs/biome": "^2.1.2",
|
|
68
|
+
"@tamagui/build": "1.135.2",
|
|
69
|
+
"@types/node": "24.0.3",
|
|
70
|
+
"@types/react": "^19.0.8",
|
|
71
|
+
"react": "*",
|
|
72
|
+
"react-native": "*"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Fuse, { type FuseSearchOptions, type IFuseOptions } from 'fuse.js'
|
|
2
|
+
|
|
3
|
+
export type FuzzyOptions = IFuseOptions<unknown>
|
|
4
|
+
|
|
5
|
+
// fuse does some insane staleness in getFn that doesn't make sense so pulled it all the way out here
|
|
6
|
+
let lastSearch = ''
|
|
7
|
+
|
|
8
|
+
export function createFuzzy<
|
|
9
|
+
A extends Record<string, any>,
|
|
10
|
+
Results extends A[] | readonly A[],
|
|
11
|
+
>(
|
|
12
|
+
items: Results,
|
|
13
|
+
options?: IFuseOptions<A>
|
|
14
|
+
): {
|
|
15
|
+
search: (val: string, options?: FuseSearchOptions) => Results
|
|
16
|
+
} {
|
|
17
|
+
const fuse = new Fuse(items, {
|
|
18
|
+
isCaseSensitive: false,
|
|
19
|
+
threshold: 0.5,
|
|
20
|
+
...options,
|
|
21
|
+
getFn(obj, path, ...rest) {
|
|
22
|
+
if (obj.skipFuzzy) {
|
|
23
|
+
return lastSearch
|
|
24
|
+
}
|
|
25
|
+
return Fuse.config.getFn(obj, path)
|
|
26
|
+
},
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
return {
|
|
30
|
+
search: (val: string, options?: FuseSearchOptions): Results => {
|
|
31
|
+
if (!val) {
|
|
32
|
+
return items
|
|
33
|
+
}
|
|
34
|
+
lastSearch = val
|
|
35
|
+
const results = fuse.search(val, options).map((result) => result.item)
|
|
36
|
+
return results as Results
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a new array with duplicate elements removed based on a key selector function.
|
|
3
|
+
* @param array The input array to remove duplicates from
|
|
4
|
+
* @param keyFn Function that returns the key to compare elements by
|
|
5
|
+
* @returns A new array with duplicates removed
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export function uniqBy<T, K>(array: T[], keyFn: (item: T) => K): T[] {
|
|
9
|
+
const seen = new Map<K, T>()
|
|
10
|
+
|
|
11
|
+
for (const item of array) {
|
|
12
|
+
const key = keyFn(item)
|
|
13
|
+
if (!seen.has(key)) {
|
|
14
|
+
seen.set(key, item)
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return Array.from(seen.values())
|
|
19
|
+
}
|
package/src/assert.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AbortError } from './error/errors'
|
|
2
|
+
|
|
3
|
+
export function assertExists<T>(value: T | undefined | null, msg = ''): T {
|
|
4
|
+
if (value === undefined || value === null) {
|
|
5
|
+
throw new AbortError(`Invalid nullish value (${value}): ${msg}`)
|
|
6
|
+
}
|
|
7
|
+
return value
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function assert<T>(value: T, msg = ''): Exclude<T, null | undefined | false> {
|
|
11
|
+
if (!value) {
|
|
12
|
+
throw new AbortError(`Invalid falsy value (${value}): ${msg}`)
|
|
13
|
+
}
|
|
14
|
+
return value as Exclude<T, null | undefined | false>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function assertError(val: unknown): Error {
|
|
18
|
+
if (!(val instanceof Error)) {
|
|
19
|
+
throw val
|
|
20
|
+
}
|
|
21
|
+
return val
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function assertString(val: unknown, name = '(unnamed)'): string {
|
|
25
|
+
if (typeof val !== 'string') {
|
|
26
|
+
throw new AbortError(`No string ${name}`)
|
|
27
|
+
}
|
|
28
|
+
return val
|
|
29
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { AbortError, EnsureError } from '../error/errors'
|
|
2
|
+
|
|
3
|
+
type AbortableOptions = { message?: string }
|
|
4
|
+
|
|
5
|
+
export function abortable<T>(cb: () => T, options?: AbortableOptions): T | undefined
|
|
6
|
+
export function abortable<T>(
|
|
7
|
+
cb: () => Promise<T>,
|
|
8
|
+
options?: AbortableOptions
|
|
9
|
+
): Promise<T | undefined>
|
|
10
|
+
export function abortable<T>(
|
|
11
|
+
cb: () => T | Promise<T>,
|
|
12
|
+
options?: AbortableOptions
|
|
13
|
+
): T | undefined | Promise<T | undefined> {
|
|
14
|
+
try {
|
|
15
|
+
const value = cb()
|
|
16
|
+
|
|
17
|
+
if (value instanceof Promise) {
|
|
18
|
+
return value.catch((err) => {
|
|
19
|
+
if (didAbort(err, options)) {
|
|
20
|
+
return undefined
|
|
21
|
+
}
|
|
22
|
+
throw err
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return value
|
|
27
|
+
} catch (err) {
|
|
28
|
+
if (didAbort(err, options)) {
|
|
29
|
+
return undefined
|
|
30
|
+
}
|
|
31
|
+
throw err
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function didAbort(err: unknown, options?: AbortableOptions): boolean {
|
|
36
|
+
if (err instanceof AbortError || err instanceof EnsureError) {
|
|
37
|
+
if (options?.message) {
|
|
38
|
+
console.warn(`Aborted: ${options.message}`)
|
|
39
|
+
}
|
|
40
|
+
return true
|
|
41
|
+
}
|
|
42
|
+
return false
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function handleAbortError(error: any, debug?: boolean): void {
|
|
46
|
+
if (error instanceof AbortError || error instanceof EnsureError) {
|
|
47
|
+
if (debug || process.env.DEBUG) {
|
|
48
|
+
console.info(`🐛 useAsyncEffect aborted: ${error.message}`)
|
|
49
|
+
}
|
|
50
|
+
return
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// js handles aborting a promise as an error. ignore them since they're
|
|
54
|
+
// a normal part of the expected async workflow
|
|
55
|
+
if (typeof error === 'object' && error.name === 'AbortError') {
|
|
56
|
+
return
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
throw error
|
|
60
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
interface AsyncContext<T> {
|
|
2
|
+
get(): T | undefined
|
|
3
|
+
run<R>(value: T, fn: () => R | Promise<R>): Promise<R>
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
interface NodeAsyncLocalStorage<T> {
|
|
7
|
+
getStore(): T | undefined
|
|
8
|
+
run<R>(store: T, callback: () => R): R
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface AsyncLocalStorageConstructor {
|
|
12
|
+
new <T>(): NodeAsyncLocalStorage<T>
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let nodeAsyncLocalStorageCache: AsyncLocalStorageConstructor | null = null
|
|
16
|
+
|
|
17
|
+
async function getNodeAsyncLocalStorage(): Promise<AsyncLocalStorageConstructor | null> {
|
|
18
|
+
if (!nodeAsyncLocalStorageCache) {
|
|
19
|
+
try {
|
|
20
|
+
const module = await import('node:async_hooks')
|
|
21
|
+
nodeAsyncLocalStorageCache =
|
|
22
|
+
module.AsyncLocalStorage as AsyncLocalStorageConstructor
|
|
23
|
+
} catch {
|
|
24
|
+
return null
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return nodeAsyncLocalStorageCache
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function createAsyncContext<T>(): AsyncContext<T> {
|
|
31
|
+
if (process.env.VITE_ENVIRONMENT === 'ssr') {
|
|
32
|
+
let storage: NodeAsyncLocalStorage<T> | null = null
|
|
33
|
+
|
|
34
|
+
getNodeAsyncLocalStorage().then((AsyncLocalStorage) => {
|
|
35
|
+
if (AsyncLocalStorage && !storage) {
|
|
36
|
+
storage = new AsyncLocalStorage<T>()
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
return {
|
|
41
|
+
get(): T | undefined {
|
|
42
|
+
if (!storage) {
|
|
43
|
+
console.warn(`⚠️ called AsyncContext before load!`)
|
|
44
|
+
return
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return storage.getStore()
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
async run<R>(value: T, fn: () => R | Promise<R>): Promise<R> {
|
|
51
|
+
if (!storage) {
|
|
52
|
+
throw new Error(`⚠️ called AsyncContext before load!`)
|
|
53
|
+
}
|
|
54
|
+
return storage.run(value, fn)
|
|
55
|
+
},
|
|
56
|
+
}
|
|
57
|
+
} else {
|
|
58
|
+
// browser implementation using promise patching
|
|
59
|
+
return createBrowserAsyncContext<T>()
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function createBrowserAsyncContext<T>(): AsyncContext<T> {
|
|
64
|
+
let currentContext: T | undefined
|
|
65
|
+
const contextStack: (T | undefined)[] = []
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
get(): T | undefined {
|
|
69
|
+
return currentContext
|
|
70
|
+
},
|
|
71
|
+
async run<R>(value: T, fn: () => R | Promise<R>): Promise<R> {
|
|
72
|
+
const prevContext = currentContext
|
|
73
|
+
currentContext = value
|
|
74
|
+
contextStack.push(prevContext)
|
|
75
|
+
|
|
76
|
+
// store original Promise methods
|
|
77
|
+
const OriginalPromise = Promise
|
|
78
|
+
const OriginalThen = OriginalPromise.prototype.then
|
|
79
|
+
const OriginalCatch = OriginalPromise.prototype.catch
|
|
80
|
+
const OriginalFinally = OriginalPromise.prototype.finally
|
|
81
|
+
|
|
82
|
+
function wrapCallback(
|
|
83
|
+
callback: Function | undefined | null,
|
|
84
|
+
context: T | undefined
|
|
85
|
+
): Function | undefined | null {
|
|
86
|
+
if (!callback) return callback
|
|
87
|
+
return (...args: any[]) => {
|
|
88
|
+
const prevContext = currentContext
|
|
89
|
+
currentContext = context
|
|
90
|
+
try {
|
|
91
|
+
return callback(...args)
|
|
92
|
+
} finally {
|
|
93
|
+
currentContext = prevContext
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// patch Promise methods to capture and restore context
|
|
99
|
+
// biome-ignore lint/suspicious/noThenProperty: intentional patching for context propagation
|
|
100
|
+
OriginalPromise.prototype.then = function (
|
|
101
|
+
this: Promise<any>,
|
|
102
|
+
onFulfilled?: any,
|
|
103
|
+
onRejected?: any
|
|
104
|
+
): Promise<any> {
|
|
105
|
+
const context = currentContext
|
|
106
|
+
return OriginalThen.call(
|
|
107
|
+
this,
|
|
108
|
+
wrapCallback(onFulfilled, context) as any,
|
|
109
|
+
wrapCallback(onRejected, context) as any
|
|
110
|
+
)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
OriginalPromise.prototype.catch = function (
|
|
114
|
+
this: Promise<any>,
|
|
115
|
+
onRejected?: any
|
|
116
|
+
): Promise<any> {
|
|
117
|
+
const context = currentContext
|
|
118
|
+
return OriginalCatch.call(this, wrapCallback(onRejected, context) as any)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
OriginalPromise.prototype.finally = function (
|
|
122
|
+
this: Promise<any>,
|
|
123
|
+
onFinally?: any
|
|
124
|
+
): Promise<any> {
|
|
125
|
+
const context = currentContext
|
|
126
|
+
return OriginalFinally.call(this, wrapCallback(onFinally, context) as any)
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
try {
|
|
130
|
+
const result = await fn()
|
|
131
|
+
return result
|
|
132
|
+
} finally {
|
|
133
|
+
// restore original Promise methods
|
|
134
|
+
// biome-ignore lint/suspicious/noThenProperty: restoring original methods
|
|
135
|
+
OriginalPromise.prototype.then = OriginalThen
|
|
136
|
+
OriginalPromise.prototype.catch = OriginalCatch
|
|
137
|
+
OriginalPromise.prototype.finally = OriginalFinally
|
|
138
|
+
|
|
139
|
+
contextStack.pop()
|
|
140
|
+
currentContext = prevContext
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
}
|
|
144
|
+
}
|