@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,21 @@
|
|
|
1
|
+
import { startTransition, useState } from "react";
|
|
2
|
+
import { idle } from "./idle.mjs";
|
|
3
|
+
import { useAsyncEffect } from "./useAsyncEffect.mjs";
|
|
4
|
+
const useLazyMount = (props = {
|
|
5
|
+
max: 100
|
|
6
|
+
}) => {
|
|
7
|
+
const [mounted, setMounted] = useState(!1);
|
|
8
|
+
return useAsyncEffect(async signal => {
|
|
9
|
+
await idle(props, signal), startTransition(() => {
|
|
10
|
+
setMounted(!0);
|
|
11
|
+
});
|
|
12
|
+
}, [
|
|
13
|
+
// no need for deps it only ever mounts once
|
|
14
|
+
]), mounted;
|
|
15
|
+
},
|
|
16
|
+
LazyMount = ({
|
|
17
|
+
children,
|
|
18
|
+
...idleProps
|
|
19
|
+
}) => useLazyMount(idleProps) ? children : null;
|
|
20
|
+
export { LazyMount, useLazyMount };
|
|
21
|
+
//# sourceMappingURL=useLazyMount.mjs.map
|
|
@@ -0,0 +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":"AACA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAC1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAIxB,MAAMC,YAAA,GAAeA,CAACC,KAAA,GAAwB;IAAEC,GAAA,EAAK;EAAI,MAAe;IAC7E,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIP,QAAA,CAAS,EAAK;IAE5C,OAAAE,cAAA,CACE,MAAOM,MAAA,IAAW;MAChB,MAAMP,IAAA,CAAKG,KAAA,EAAOI,MAAM,GACxBT,eAAA,CAAgB,MAAM;QACpBQ,UAAA,CAAW,EAAI;MACjB,CAAC;IACH,GACA;MAAA;IAAA,CAGF,GAEOD,OAAA;EACT;EAEaG,SAAA,GAAYA,CAAC;IACxBC,QAAA;IACA,GAAGC;EACL,MACkBR,YAAA,CAAaQ,SAAS,IACrBD,QAAA,GAAW","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { startTransition, useState } from "react";
|
|
2
|
+
import { idle } from "./idle.native.js";
|
|
3
|
+
import { useAsyncEffect } from "./useAsyncEffect.native.js";
|
|
4
|
+
var useLazyMount = function () {
|
|
5
|
+
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
|
|
6
|
+
max: 100
|
|
7
|
+
},
|
|
8
|
+
[mounted, setMounted] = useState(!1);
|
|
9
|
+
return useAsyncEffect(async function (signal) {
|
|
10
|
+
await idle(props, signal), startTransition(function () {
|
|
11
|
+
setMounted(!0);
|
|
12
|
+
});
|
|
13
|
+
}, []), mounted;
|
|
14
|
+
},
|
|
15
|
+
LazyMount = function (param) {
|
|
16
|
+
var {
|
|
17
|
+
children,
|
|
18
|
+
...idleProps
|
|
19
|
+
} = param,
|
|
20
|
+
mounted = useLazyMount(idleProps);
|
|
21
|
+
return mounted ? children : null;
|
|
22
|
+
};
|
|
23
|
+
export { LazyMount, useLazyMount };
|
|
24
|
+
//# sourceMappingURL=useLazyMount.native.js.map
|
|
@@ -0,0 +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":"AACA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAC1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAIxB,IAAAC,YAAM,YAAAA,CAAA,EAAwC;IACnD,IAAAC,KAAO,GAAAC,SAAS,CAAAC,MAAU,GAAI,KAAAD,SAAc,iBAAAA,SAAA;QAE5CE,GAAA;MAAA;MACE,CAAAC,OAAO,EAAAC,UAAW,IAAAT,QAAA;IAChB,OAAAE,cAAW,CAAO,gBAClBQ,MAAA;MACE,MAAAT,IAAA,CAAAG,KAAW,EAAIM,MAAA,GAAAX,eAAA;QACjBU,UAAC;MACH;IAAA,GACA,KAAAD,OAAA;EAAA;EAAAG,SAAA,YAAAA,CAAAC,KAAA;IAAA,IAEA;QAAAC,QAAA;QAAA,GAAAC;MAAA,IAAAF,KAAA;MAAAJ,OAAA,GAAAL,YAAA,CAAAW,SAAA;IACF,OAEON,OAAA,GAAAK,QAAA;EACT;AAE0B,SAExBF,SAAG,EACLR,YACkB","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { startTransition, useState } from "react";
|
|
2
|
+
import { idle } from "./idle";
|
|
3
|
+
import { useAsyncEffect } from "./useAsyncEffect";
|
|
4
|
+
const useLazyValue = (value, {
|
|
5
|
+
immediateFirstUpdate,
|
|
6
|
+
...idleOptions
|
|
7
|
+
} = {}) => {
|
|
8
|
+
const [lazyValue, setLazyValue] = useState(value);
|
|
9
|
+
return value && lazyValue === void 0 && lazyValue !== value && immediateFirstUpdate && setLazyValue(value), useAsyncEffect(
|
|
10
|
+
async (signal) => {
|
|
11
|
+
await idle(idleOptions, signal), startTransition(() => {
|
|
12
|
+
setLazyValue(value);
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
[value]
|
|
16
|
+
), lazyValue;
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
useLazyValue
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useLazyValue.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/async/useLazyValue.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,iBAAiB,gBAAgB;AAC1C,SAAS,YAA8B;AACvC,SAAS,sBAAsB;AAExB,MAAM,eAAe,CAC1B,OACA;AAAA,EACE;AAAA,EACA,GAAG;AACL,IAAsD,CAAC,MACjD;AACN,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAGhD,SAAI,SAAS,cAAc,UAAa,cAAc,SAAS,wBAC7D,aAAa,KAAK,GAGpB;AAAA,IACE,OAAO,WAAW;AAChB,YAAM,KAAK,aAAa,MAAM,GAC9B,gBAAgB,MAAM;AACpB,qBAAa,KAAK;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,IACA,CAAC,KAAK;AAAA,EACR,GAEO;AACT;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { startTransition, useState } from "react";
|
|
2
|
+
import { idle } from "./idle.mjs";
|
|
3
|
+
import { useAsyncEffect } from "./useAsyncEffect.mjs";
|
|
4
|
+
const useLazyValue = (value, {
|
|
5
|
+
immediateFirstUpdate,
|
|
6
|
+
...idleOptions
|
|
7
|
+
} = {}) => {
|
|
8
|
+
const [lazyValue, setLazyValue] = useState(value);
|
|
9
|
+
return value && lazyValue === void 0 && lazyValue !== value && immediateFirstUpdate && setLazyValue(value), useAsyncEffect(async signal => {
|
|
10
|
+
await idle(idleOptions, signal), startTransition(() => {
|
|
11
|
+
setLazyValue(value);
|
|
12
|
+
});
|
|
13
|
+
}, [value]), lazyValue;
|
|
14
|
+
};
|
|
15
|
+
export { useLazyValue };
|
|
16
|
+
//# sourceMappingURL=useLazyValue.mjs.map
|
|
@@ -0,0 +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;AAC1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAExB,MAAMC,YAAA,GAAeA,CAC1BC,KAAA,EACA;EACEC,oBAAA;EACA,GAAGC;AACL,IAAsD,CAAC,MACjD;EACN,MAAM,CAACC,SAAA,EAAWC,YAAY,IAAIR,QAAA,CAASI,KAAK;EAGhD,OAAIA,KAAA,IAASG,SAAA,KAAc,UAAaA,SAAA,KAAcH,KAAA,IAASC,oBAAA,IAC7DG,YAAA,CAAaJ,KAAK,GAGpBF,cAAA,CACE,MAAOO,MAAA,IAAW;IAChB,MAAMR,IAAA,CAAKK,WAAA,EAAaG,MAAM,GAC9BV,eAAA,CAAgB,MAAM;MACpBS,YAAA,CAAaJ,KAAK;IACpB,CAAC;EACH,GACA,CAACA,KAAK,CACR,GAEOG,SAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { startTransition, useState } from "react";
|
|
2
|
+
import { idle } from "./idle.native.js";
|
|
3
|
+
import { useAsyncEffect } from "./useAsyncEffect.native.js";
|
|
4
|
+
var useLazyValue = function (value) {
|
|
5
|
+
var {
|
|
6
|
+
immediateFirstUpdate,
|
|
7
|
+
...idleOptions
|
|
8
|
+
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
|
|
9
|
+
[lazyValue, setLazyValue] = useState(value);
|
|
10
|
+
return value && lazyValue === void 0 && lazyValue !== value && immediateFirstUpdate && setLazyValue(value), useAsyncEffect(async function (signal) {
|
|
11
|
+
await idle(idleOptions, signal), startTransition(function () {
|
|
12
|
+
setLazyValue(value);
|
|
13
|
+
});
|
|
14
|
+
}, [value]), lazyValue;
|
|
15
|
+
};
|
|
16
|
+
export { useLazyValue };
|
|
17
|
+
//# sourceMappingURL=useLazyValue.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["startTransition","useState","idle","useAsyncEffect","useLazyValue","value","immediateFirstUpdate","idleOptions","arguments","length","lazyValue","setLazyValue","signal"],"sources":["../../../src/async/useLazyValue.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,EAAiBC,QAAA,QAAgB;AAC1C,SAASC,IAAA,QAA8B;AACvC,SAASC,cAAA,QAAsB;AAExB,IAAAC,YAAM,YAAAA,CACXC,KACA;EACE;MAAAC,oBAAA;MAAA,GAAAC;IAAA,IAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAA,CAAAE,SAAA,EAAAC,YAAA,IAAAV,QAAA,CAAAI,KAAA;EACA,OAAGA,KAAA,IAAAK,SAAA,eAAAA,SAAA,KAAAL,KAAA,IAAAC,oBAAA,IAAAK,YAAA,CAAAN,KAAA,GAAAF,cAAA,iBAAAS,MAAA;IACiD,MAACV,IACjD,CAAAK,WAAA,EAAAK,MAAA,GAAAZ,eAAA;MACNW,YAAO,CAAAN,KAAW;IAGlB;EAIA,GACE,CACEA,KAAA,CAEE,GAAAK,SAAA;AAAkB;AACnB,SACHN,YACM","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
async function clearIndexedDB() {
|
|
2
|
+
if ("indexedDB" in window) {
|
|
3
|
+
const databases = await indexedDB.databases();
|
|
4
|
+
await Promise.all(
|
|
5
|
+
databases.map((db) => db.name ? new Promise((resolve, reject) => {
|
|
6
|
+
const deleteReq = indexedDB.deleteDatabase(db.name);
|
|
7
|
+
deleteReq.onsuccess = () => resolve(), deleteReq.onerror = () => reject(deleteReq.error), deleteReq.onblocked = () => reject(new Error("database deletion blocked"));
|
|
8
|
+
}) : Promise.resolve())
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
clearIndexedDB
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=clearIndexedDB.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/browser/clearIndexedDB.ts"],
|
|
4
|
+
"mappings": "AAAA,eAAsB,iBAAgC;AACpD,MAAI,eAAe,QAAQ;AACzB,UAAM,YAAY,MAAM,UAAU,UAAU;AAC5C,UAAM,QAAQ;AAAA,MACZ,UAAU,IAAI,CAAC,OACT,GAAG,OACE,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,cAAM,YAAY,UAAU,eAAe,GAAG,IAAK;AACnD,kBAAU,YAAY,MAAM,QAAQ,GACpC,UAAU,UAAU,MAAM,OAAO,UAAU,KAAK,GAChD,UAAU,YAAY,MAAM,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAAA,MAC3E,CAAC,IAEI,QAAQ,QAAQ,CACxB;AAAA,IACH;AAAA,EACF;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
async function clearIndexedDB() {
|
|
2
|
+
if ("indexedDB" in window) {
|
|
3
|
+
const databases = await indexedDB.databases();
|
|
4
|
+
await Promise.all(databases.map(db => db.name ? new Promise((resolve, reject) => {
|
|
5
|
+
const deleteReq = indexedDB.deleteDatabase(db.name);
|
|
6
|
+
deleteReq.onsuccess = () => resolve(), deleteReq.onerror = () => reject(deleteReq.error), deleteReq.onblocked = () => reject(new Error("database deletion blocked"));
|
|
7
|
+
}) : Promise.resolve()));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export { clearIndexedDB };
|
|
11
|
+
//# sourceMappingURL=clearIndexedDB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clearIndexedDB","window","databases","indexedDB","Promise","all","map","db","name","resolve","reject","deleteReq","deleteDatabase","onsuccess","onerror","error","onblocked","Error"],"sources":["../../../src/browser/clearIndexedDB.ts"],"sourcesContent":[null],"mappings":"AAAA,eAAsBA,eAAA,EAAgC;EACpD,IAAI,eAAeC,MAAA,EAAQ;IACzB,MAAMC,SAAA,GAAY,MAAMC,SAAA,CAAUD,SAAA,CAAU;IAC5C,MAAME,OAAA,CAAQC,GAAA,CACZH,SAAA,CAAUI,GAAA,CAAKC,EAAA,IACTA,EAAA,CAAGC,IAAA,GACE,IAAIJ,OAAA,CAAc,CAACK,OAAA,EAASC,MAAA,KAAW;MAC5C,MAAMC,SAAA,GAAYR,SAAA,CAAUS,cAAA,CAAeL,EAAA,CAAGC,IAAK;MACnDG,SAAA,CAAUE,SAAA,GAAY,MAAMJ,OAAA,CAAQ,GACpCE,SAAA,CAAUG,OAAA,GAAU,MAAMJ,MAAA,CAAOC,SAAA,CAAUI,KAAK,GAChDJ,SAAA,CAAUK,SAAA,GAAY,MAAMN,MAAA,CAAO,IAAIO,KAAA,CAAM,2BAA2B,CAAC;IAC3E,CAAC,IAEIb,OAAA,CAAQK,OAAA,CAAQ,CACxB,CACH;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
async function clearIndexedDB() {
|
|
2
|
+
if ("indexedDB" in window) {
|
|
3
|
+
var databases = await indexedDB.databases();
|
|
4
|
+
await Promise.all(databases.map(function (db) {
|
|
5
|
+
return db.name ? new Promise(function (resolve, reject) {
|
|
6
|
+
var deleteReq = indexedDB.deleteDatabase(db.name);
|
|
7
|
+
deleteReq.onsuccess = function () {
|
|
8
|
+
return resolve();
|
|
9
|
+
}, deleteReq.onerror = function () {
|
|
10
|
+
return reject(deleteReq.error);
|
|
11
|
+
}, deleteReq.onblocked = function () {
|
|
12
|
+
return reject(new Error("database deletion blocked"));
|
|
13
|
+
};
|
|
14
|
+
}) : Promise.resolve();
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export { clearIndexedDB };
|
|
19
|
+
//# sourceMappingURL=clearIndexedDB.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clearIndexedDB","window","databases","indexedDB","Promise","all","map","db","name","resolve","reject","deleteReq","deleteDatabase","onsuccess","onerror","error","onblocked"],"sources":["../../../src/browser/clearIndexedDB.ts"],"sourcesContent":[null],"mappings":"AAAA,eAAsBA,eAAA,EAAgC;EACpD,IAAI,eAAeC,MAAA,EAAQ;IACzB,IAAAC,SAAM,SAAYC,SAAM,CAAAD,SAAU;IAClC,MAAME,OAAA,CAAQC,GAAA,CAAAH,SAAA,CAAAI,GAAA,WAAAC,EAAA;MACZ,OAAAA,EAAA,CAAUC,IAAI,GAAC,IAAAJ,OACN,WACMK,OAAe,EAAAC,MAAA,EAAS;QACjC,IAAAC,SAAM,GAAAR,SAAY,CAAAS,cAAU,CAAAL,EAAe,CAAAC,IAAG;QAC9CG,SAAA,CAAUE,SAAA,GAAY,YAAM;UAG7B,OAEIJ,OAAQ;QAEnB,GAAAE,SAAA,CAAAG,OAAA;UACF,OAAAJ,MAAA,CAAAC,SAAA,CAAAI,KAAA;QACF,GAAAJ,SAAA,CAAAK,SAAA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
function isActiveElementFormField() {
|
|
2
|
+
return typeof document < "u" && document.activeElement !== null && (document.activeElement.tagName === "INPUT" || document.activeElement.tagName === "TEXTAREA" || document.activeElement.tagName === "SELECT" || document.activeElement.tagName === "FORM");
|
|
3
|
+
}
|
|
4
|
+
export {
|
|
5
|
+
isActiveElementFormField
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=isActiveElementFormField.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
function isActiveElementFormField() {
|
|
2
|
+
return typeof document < "u" && document.activeElement !== null && (document.activeElement.tagName === "INPUT" || document.activeElement.tagName === "TEXTAREA" || document.activeElement.tagName === "SELECT" || document.activeElement.tagName === "FORM");
|
|
3
|
+
}
|
|
4
|
+
export { isActiveElementFormField };
|
|
5
|
+
//# sourceMappingURL=isActiveElementFormField.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isActiveElementFormField","document","activeElement","tagName"],"sources":["../../../src/browser/isActiveElementFormField.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,yBAAA,EAAoC;EAClD,OACE,OAAOC,QAAA,GAAa,OACpBA,QAAA,CAASC,aAAA,KAAkB,SAC1BD,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY,WAClCF,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY,cACnCF,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY,YACnCF,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY;AAEzC","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
function isActiveElementFormField() {
|
|
2
|
+
return typeof document < "u" && document.activeElement !== null && (document.activeElement.tagName === "INPUT" || document.activeElement.tagName === "TEXTAREA" || document.activeElement.tagName === "SELECT" || document.activeElement.tagName === "FORM");
|
|
3
|
+
}
|
|
4
|
+
export { isActiveElementFormField };
|
|
5
|
+
//# sourceMappingURL=isActiveElementFormField.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isActiveElementFormField","document","activeElement","tagName"],"sources":["../../../src/browser/isActiveElementFormField.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,yBAAA,EAAoC;EAClD,OACE,OAAOC,QAAA,GAAa,OACpBA,QAAA,CAASC,aAAA,KAAkB,SAC1BD,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY,WAClCF,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY,cACnCF,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY,YACnCF,QAAA,CAASC,aAAA,CAAcC,OAAA,KAAY;AAEzC","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
const created = /* @__PURE__ */ new Set(), STORAGE_TRACKING_KEY = "__localStorage_tracking__", STORAGE_ORDER_KEY = "__localStorage_order__";
|
|
2
|
+
function createLocalStorage(name, { synced = !1, disableSetOnBlur = !1, storageLimit } = {}) {
|
|
3
|
+
if (created.has(name))
|
|
4
|
+
throw new Error(`Already defined this localStorage namespace: ${name}`);
|
|
5
|
+
created.add(name);
|
|
6
|
+
let isWindowActive = !0;
|
|
7
|
+
if (typeof window < "u" && disableSetOnBlur) {
|
|
8
|
+
const handleFocus = () => {
|
|
9
|
+
isWindowActive = !0;
|
|
10
|
+
}, handleBlur = () => {
|
|
11
|
+
isWindowActive = !1;
|
|
12
|
+
};
|
|
13
|
+
window.addEventListener("focus", handleFocus), window.addEventListener("blur", handleBlur), isWindowActive = document.hasFocus();
|
|
14
|
+
}
|
|
15
|
+
const listeners = /* @__PURE__ */ new Map();
|
|
16
|
+
if (synced && typeof window < "u") {
|
|
17
|
+
const handleStorageChange = (event) => {
|
|
18
|
+
if (event.key?.startsWith(`${name}:`) && event.storageArea === localStorage) {
|
|
19
|
+
const key = event.key.slice(name.length + 1), newValue = event.newValue ? JSON.parse(event.newValue) : void 0, keyListeners = listeners.get(key);
|
|
20
|
+
keyListeners && keyListeners.forEach((listener) => listener(newValue));
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
window.addEventListener("storage", handleStorageChange);
|
|
24
|
+
}
|
|
25
|
+
const getFullKey = (key) => `${name}:${key}`;
|
|
26
|
+
return {
|
|
27
|
+
get: (key) => {
|
|
28
|
+
if (typeof localStorage > "u") {
|
|
29
|
+
console.warn("No localStorage");
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const fullKey = getFullKey(key), item = localStorage.getItem(fullKey);
|
|
33
|
+
return item && storageLimit && updateKeyAccess(fullKey), item ? JSON.parse(item) : void 0;
|
|
34
|
+
},
|
|
35
|
+
set: (key, value) => {
|
|
36
|
+
if (typeof localStorage > "u") {
|
|
37
|
+
console.warn("No localStorage");
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (disableSetOnBlur && !isWindowActive)
|
|
41
|
+
return;
|
|
42
|
+
const fullKey = getFullKey(key), serializedValue = JSON.stringify(value);
|
|
43
|
+
if (storageLimit) {
|
|
44
|
+
const newSize = getStringSizeInBytes(serializedValue);
|
|
45
|
+
enforceStorageLimit(fullKey, newSize, storageLimit);
|
|
46
|
+
const tracking = getStorageTracking();
|
|
47
|
+
tracking[fullKey] = newSize, setStorageTracking(tracking), updateKeyAccess(fullKey);
|
|
48
|
+
}
|
|
49
|
+
localStorage.setItem(fullKey, serializedValue);
|
|
50
|
+
},
|
|
51
|
+
remove: (key) => {
|
|
52
|
+
if (typeof localStorage > "u") {
|
|
53
|
+
console.warn("No localStorage");
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (disableSetOnBlur && !isWindowActive)
|
|
57
|
+
return;
|
|
58
|
+
const fullKey = getFullKey(key);
|
|
59
|
+
if (localStorage.removeItem(fullKey), storageLimit) {
|
|
60
|
+
const tracking = getStorageTracking();
|
|
61
|
+
delete tracking[fullKey], setStorageTracking(tracking);
|
|
62
|
+
const order = getStorageOrder(), index = order.indexOf(fullKey);
|
|
63
|
+
index > -1 && (order.splice(index, 1), setStorageOrder(order));
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
exists: (key) => {
|
|
67
|
+
const fullKey = getFullKey(key);
|
|
68
|
+
return localStorage.getItem(fullKey) != null;
|
|
69
|
+
},
|
|
70
|
+
clear: () => {
|
|
71
|
+
if (typeof localStorage > "u") {
|
|
72
|
+
console.warn("No localStorage");
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const keysToRemove = [];
|
|
76
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
77
|
+
const key = localStorage.key(i);
|
|
78
|
+
key?.startsWith(`${name}:`) && keysToRemove.push(key);
|
|
79
|
+
}
|
|
80
|
+
if (keysToRemove.forEach((key) => localStorage.removeItem(key)), storageLimit) {
|
|
81
|
+
const tracking = getStorageTracking(), order = getStorageOrder();
|
|
82
|
+
keysToRemove.forEach((key) => {
|
|
83
|
+
delete tracking[key];
|
|
84
|
+
const index = order.indexOf(key);
|
|
85
|
+
index > -1 && order.splice(index, 1);
|
|
86
|
+
}), setStorageTracking(tracking), setStorageOrder(order);
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
subscribe: (key, listener) => {
|
|
90
|
+
if (!synced)
|
|
91
|
+
return console.warn("Subscribe only works when synced option is enabled"), () => {
|
|
92
|
+
};
|
|
93
|
+
listeners.has(key) || listeners.set(key, /* @__PURE__ */ new Set());
|
|
94
|
+
const keyListeners = listeners.get(key);
|
|
95
|
+
return keyListeners.add(listener), () => {
|
|
96
|
+
keyListeners.delete(listener), keyListeners.size === 0 && listeners.delete(key);
|
|
97
|
+
};
|
|
98
|
+
},
|
|
99
|
+
keys: () => {
|
|
100
|
+
if (typeof localStorage > "u")
|
|
101
|
+
return [];
|
|
102
|
+
const keys = [], prefix = `${name}:`;
|
|
103
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
104
|
+
const key = localStorage.key(i);
|
|
105
|
+
key?.startsWith(prefix) && keys.push(key.slice(prefix.length));
|
|
106
|
+
}
|
|
107
|
+
return keys;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function createLocalStorageValue(key, options = {}) {
|
|
112
|
+
const storage = createLocalStorage(`single:${key}`, options), storageKey = "value";
|
|
113
|
+
return {
|
|
114
|
+
get: () => storage.get(storageKey),
|
|
115
|
+
set: (value) => {
|
|
116
|
+
storage.set(storageKey, value);
|
|
117
|
+
},
|
|
118
|
+
remove: () => {
|
|
119
|
+
storage.remove(storageKey);
|
|
120
|
+
},
|
|
121
|
+
exists: () => storage.exists(storageKey),
|
|
122
|
+
clear: () => {
|
|
123
|
+
storage.clear();
|
|
124
|
+
},
|
|
125
|
+
subscribe: (listener) => storage.subscribe(storageKey, listener)
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function getStorageTracking() {
|
|
129
|
+
if (typeof localStorage > "u") return {};
|
|
130
|
+
const tracking = localStorage.getItem(STORAGE_TRACKING_KEY);
|
|
131
|
+
return tracking ? JSON.parse(tracking) : {};
|
|
132
|
+
}
|
|
133
|
+
function setStorageTracking(tracking) {
|
|
134
|
+
typeof localStorage > "u" || localStorage.setItem(STORAGE_TRACKING_KEY, JSON.stringify(tracking));
|
|
135
|
+
}
|
|
136
|
+
function getStorageOrder() {
|
|
137
|
+
if (typeof localStorage > "u") return [];
|
|
138
|
+
const order = localStorage.getItem(STORAGE_ORDER_KEY);
|
|
139
|
+
return order ? JSON.parse(order) : [];
|
|
140
|
+
}
|
|
141
|
+
function setStorageOrder(order) {
|
|
142
|
+
typeof localStorage > "u" || localStorage.setItem(STORAGE_ORDER_KEY, JSON.stringify(order));
|
|
143
|
+
}
|
|
144
|
+
function getStringSizeInBytes(str) {
|
|
145
|
+
return new Blob([str]).size;
|
|
146
|
+
}
|
|
147
|
+
function updateKeyAccess(key) {
|
|
148
|
+
const order = getStorageOrder(), index = order.indexOf(key);
|
|
149
|
+
index > -1 && order.splice(index, 1), order.push(key), setStorageOrder(order);
|
|
150
|
+
}
|
|
151
|
+
function enforceStorageLimit(newKey, newSize, limitKB) {
|
|
152
|
+
const tracking = getStorageTracking(), order = getStorageOrder();
|
|
153
|
+
let totalSize = Object.values(tracking).reduce((sum, size) => sum + size, 0);
|
|
154
|
+
totalSize += newSize;
|
|
155
|
+
const limitBytes = limitKB * 1024;
|
|
156
|
+
for (; totalSize > limitBytes && order.length > 0; ) {
|
|
157
|
+
const oldestKey = order.shift();
|
|
158
|
+
if (oldestKey === newKey || oldestKey === STORAGE_TRACKING_KEY || oldestKey === STORAGE_ORDER_KEY)
|
|
159
|
+
continue;
|
|
160
|
+
const oldSize = tracking[oldestKey] || 0;
|
|
161
|
+
totalSize -= oldSize, localStorage.removeItem(oldestKey), delete tracking[oldestKey];
|
|
162
|
+
}
|
|
163
|
+
setStorageTracking(tracking), setStorageOrder(order);
|
|
164
|
+
}
|
|
165
|
+
export {
|
|
166
|
+
createLocalStorage,
|
|
167
|
+
createLocalStorageValue
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=localStorage.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/browser/localStorage.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
const created = /* @__PURE__ */new Set(),
|
|
2
|
+
STORAGE_TRACKING_KEY = "__localStorage_tracking__",
|
|
3
|
+
STORAGE_ORDER_KEY = "__localStorage_order__";
|
|
4
|
+
function createLocalStorage(name, {
|
|
5
|
+
synced = !1,
|
|
6
|
+
disableSetOnBlur = !1,
|
|
7
|
+
storageLimit
|
|
8
|
+
} = {}) {
|
|
9
|
+
if (created.has(name)) throw new Error(`Already defined this localStorage namespace: ${name}`);
|
|
10
|
+
created.add(name);
|
|
11
|
+
let isWindowActive = !0;
|
|
12
|
+
if (typeof window < "u" && disableSetOnBlur) {
|
|
13
|
+
const handleFocus = () => {
|
|
14
|
+
isWindowActive = !0;
|
|
15
|
+
},
|
|
16
|
+
handleBlur = () => {
|
|
17
|
+
isWindowActive = !1;
|
|
18
|
+
};
|
|
19
|
+
window.addEventListener("focus", handleFocus), window.addEventListener("blur", handleBlur), isWindowActive = document.hasFocus();
|
|
20
|
+
}
|
|
21
|
+
const listeners = /* @__PURE__ */new Map();
|
|
22
|
+
if (synced && typeof window < "u") {
|
|
23
|
+
const handleStorageChange = event => {
|
|
24
|
+
if (event.key?.startsWith(`${name}:`) && event.storageArea === localStorage) {
|
|
25
|
+
const key = event.key.slice(name.length + 1),
|
|
26
|
+
newValue = event.newValue ? JSON.parse(event.newValue) : void 0,
|
|
27
|
+
keyListeners = listeners.get(key);
|
|
28
|
+
keyListeners && keyListeners.forEach(listener => listener(newValue));
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
window.addEventListener("storage", handleStorageChange);
|
|
32
|
+
}
|
|
33
|
+
const getFullKey = key => `${name}:${key}`;
|
|
34
|
+
return {
|
|
35
|
+
get: key => {
|
|
36
|
+
if (typeof localStorage > "u") {
|
|
37
|
+
console.warn("No localStorage");
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const fullKey = getFullKey(key),
|
|
41
|
+
item = localStorage.getItem(fullKey);
|
|
42
|
+
return item && storageLimit && updateKeyAccess(fullKey), item ? JSON.parse(item) : void 0;
|
|
43
|
+
},
|
|
44
|
+
set: (key, value) => {
|
|
45
|
+
if (typeof localStorage > "u") {
|
|
46
|
+
console.warn("No localStorage");
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (disableSetOnBlur && !isWindowActive) return;
|
|
50
|
+
const fullKey = getFullKey(key),
|
|
51
|
+
serializedValue = JSON.stringify(value);
|
|
52
|
+
if (storageLimit) {
|
|
53
|
+
const newSize = getStringSizeInBytes(serializedValue);
|
|
54
|
+
enforceStorageLimit(fullKey, newSize, storageLimit);
|
|
55
|
+
const tracking = getStorageTracking();
|
|
56
|
+
tracking[fullKey] = newSize, setStorageTracking(tracking), updateKeyAccess(fullKey);
|
|
57
|
+
}
|
|
58
|
+
localStorage.setItem(fullKey, serializedValue);
|
|
59
|
+
},
|
|
60
|
+
remove: key => {
|
|
61
|
+
if (typeof localStorage > "u") {
|
|
62
|
+
console.warn("No localStorage");
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (disableSetOnBlur && !isWindowActive) return;
|
|
66
|
+
const fullKey = getFullKey(key);
|
|
67
|
+
if (localStorage.removeItem(fullKey), storageLimit) {
|
|
68
|
+
const tracking = getStorageTracking();
|
|
69
|
+
delete tracking[fullKey], setStorageTracking(tracking);
|
|
70
|
+
const order = getStorageOrder(),
|
|
71
|
+
index = order.indexOf(fullKey);
|
|
72
|
+
index > -1 && (order.splice(index, 1), setStorageOrder(order));
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
exists: key => {
|
|
76
|
+
const fullKey = getFullKey(key);
|
|
77
|
+
return localStorage.getItem(fullKey) != null;
|
|
78
|
+
},
|
|
79
|
+
clear: () => {
|
|
80
|
+
if (typeof localStorage > "u") {
|
|
81
|
+
console.warn("No localStorage");
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const keysToRemove = [];
|
|
85
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
86
|
+
const key = localStorage.key(i);
|
|
87
|
+
key?.startsWith(`${name}:`) && keysToRemove.push(key);
|
|
88
|
+
}
|
|
89
|
+
if (keysToRemove.forEach(key => localStorage.removeItem(key)), storageLimit) {
|
|
90
|
+
const tracking = getStorageTracking(),
|
|
91
|
+
order = getStorageOrder();
|
|
92
|
+
keysToRemove.forEach(key => {
|
|
93
|
+
delete tracking[key];
|
|
94
|
+
const index = order.indexOf(key);
|
|
95
|
+
index > -1 && order.splice(index, 1);
|
|
96
|
+
}), setStorageTracking(tracking), setStorageOrder(order);
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
subscribe: (key, listener) => {
|
|
100
|
+
if (!synced) return console.warn("Subscribe only works when synced option is enabled"), () => {};
|
|
101
|
+
listeners.has(key) || listeners.set(key, /* @__PURE__ */new Set());
|
|
102
|
+
const keyListeners = listeners.get(key);
|
|
103
|
+
return keyListeners.add(listener), () => {
|
|
104
|
+
keyListeners.delete(listener), keyListeners.size === 0 && listeners.delete(key);
|
|
105
|
+
};
|
|
106
|
+
},
|
|
107
|
+
keys: () => {
|
|
108
|
+
if (typeof localStorage > "u") return [];
|
|
109
|
+
const keys = [],
|
|
110
|
+
prefix = `${name}:`;
|
|
111
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
112
|
+
const key = localStorage.key(i);
|
|
113
|
+
key?.startsWith(prefix) && keys.push(key.slice(prefix.length));
|
|
114
|
+
}
|
|
115
|
+
return keys;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function createLocalStorageValue(key, options = {}) {
|
|
120
|
+
const storage = createLocalStorage(`single:${key}`, options),
|
|
121
|
+
storageKey = "value";
|
|
122
|
+
return {
|
|
123
|
+
get: () => storage.get(storageKey),
|
|
124
|
+
set: value => {
|
|
125
|
+
storage.set(storageKey, value);
|
|
126
|
+
},
|
|
127
|
+
remove: () => {
|
|
128
|
+
storage.remove(storageKey);
|
|
129
|
+
},
|
|
130
|
+
exists: () => storage.exists(storageKey),
|
|
131
|
+
clear: () => {
|
|
132
|
+
storage.clear();
|
|
133
|
+
},
|
|
134
|
+
subscribe: listener => storage.subscribe(storageKey, listener)
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function getStorageTracking() {
|
|
138
|
+
if (typeof localStorage > "u") return {};
|
|
139
|
+
const tracking = localStorage.getItem(STORAGE_TRACKING_KEY);
|
|
140
|
+
return tracking ? JSON.parse(tracking) : {};
|
|
141
|
+
}
|
|
142
|
+
function setStorageTracking(tracking) {
|
|
143
|
+
typeof localStorage > "u" || localStorage.setItem(STORAGE_TRACKING_KEY, JSON.stringify(tracking));
|
|
144
|
+
}
|
|
145
|
+
function getStorageOrder() {
|
|
146
|
+
if (typeof localStorage > "u") return [];
|
|
147
|
+
const order = localStorage.getItem(STORAGE_ORDER_KEY);
|
|
148
|
+
return order ? JSON.parse(order) : [];
|
|
149
|
+
}
|
|
150
|
+
function setStorageOrder(order) {
|
|
151
|
+
typeof localStorage > "u" || localStorage.setItem(STORAGE_ORDER_KEY, JSON.stringify(order));
|
|
152
|
+
}
|
|
153
|
+
function getStringSizeInBytes(str) {
|
|
154
|
+
return new Blob([str]).size;
|
|
155
|
+
}
|
|
156
|
+
function updateKeyAccess(key) {
|
|
157
|
+
const order = getStorageOrder(),
|
|
158
|
+
index = order.indexOf(key);
|
|
159
|
+
index > -1 && order.splice(index, 1), order.push(key), setStorageOrder(order);
|
|
160
|
+
}
|
|
161
|
+
function enforceStorageLimit(newKey, newSize, limitKB) {
|
|
162
|
+
const tracking = getStorageTracking(),
|
|
163
|
+
order = getStorageOrder();
|
|
164
|
+
let totalSize = Object.values(tracking).reduce((sum, size) => sum + size, 0);
|
|
165
|
+
totalSize += newSize;
|
|
166
|
+
const limitBytes = limitKB * 1024;
|
|
167
|
+
for (; totalSize > limitBytes && order.length > 0;) {
|
|
168
|
+
const oldestKey = order.shift();
|
|
169
|
+
if (oldestKey === newKey || oldestKey === STORAGE_TRACKING_KEY || oldestKey === STORAGE_ORDER_KEY) continue;
|
|
170
|
+
const oldSize = tracking[oldestKey] || 0;
|
|
171
|
+
totalSize -= oldSize, localStorage.removeItem(oldestKey), delete tracking[oldestKey];
|
|
172
|
+
}
|
|
173
|
+
setStorageTracking(tracking), setStorageOrder(order);
|
|
174
|
+
}
|
|
175
|
+
export { createLocalStorage, createLocalStorageValue };
|
|
176
|
+
//# sourceMappingURL=localStorage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["created","Set","STORAGE_TRACKING_KEY","STORAGE_ORDER_KEY","createLocalStorage","name","synced","disableSetOnBlur","storageLimit","has","Error","add","isWindowActive","window","handleFocus","handleBlur","addEventListener","document","hasFocus","listeners","Map","handleStorageChange","event","key","startsWith","storageArea","localStorage","slice","length","newValue","JSON","parse","keyListeners","get","forEach","listener","getFullKey","console","warn","fullKey","item","getItem","updateKeyAccess","set","value","serializedValue","stringify","newSize","getStringSizeInBytes","enforceStorageLimit","tracking","getStorageTracking","setStorageTracking","setItem","remove","removeItem","order","getStorageOrder","index","indexOf","splice","setStorageOrder","exists","clear","keysToRemove","i","push","subscribe","delete","size","keys","prefix","createLocalStorageValue","options","storage","storageKey","str","Blob","newKey","limitKB","totalSize","Object","values","reduce","sum","limitBytes","oldestKey","shift","oldSize"],"sources":["../../../src/browser/localStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|