yummies 5.4.6 → 5.4.8
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/async.cjs +70 -0
- package/async.d.cts +28 -0
- package/async.d.cts.map +1 -0
- package/async.d.ts +28 -0
- package/async.d.ts.map +1 -0
- package/async.js +62 -0
- package/common.cjs +18 -0
- package/common.d.cts +15 -0
- package/common.d.cts.map +1 -0
- package/common.d.ts +15 -0
- package/common.d.ts.map +1 -0
- package/common.js +14 -0
- package/complex/counter.cjs +21 -0
- package/complex/counter.d.cts +15 -0
- package/complex/counter.d.cts.map +1 -0
- package/complex/counter.d.ts +15 -0
- package/complex/counter.d.ts.map +1 -0
- package/complex/counter.js +17 -0
- package/complex/global-config.cjs +46 -0
- package/complex/global-config.d.cts +11 -0
- package/complex/global-config.d.cts.map +1 -0
- package/complex/global-config.d.ts +11 -0
- package/complex/global-config.d.ts.map +1 -0
- package/complex/global-config.js +41 -0
- package/complex/index.cjs +19 -0
- package/complex/index.d.cts +4 -0
- package/complex/index.d.cts.map +1 -0
- package/complex/index.d.ts +4 -0
- package/complex/index.d.ts.map +1 -0
- package/complex/index.js +3 -0
- package/complex/modules-factory.cjs +50 -0
- package/complex/modules-factory.d.cts +49 -0
- package/complex/modules-factory.d.cts.map +1 -0
- package/complex/modules-factory.d.ts +49 -0
- package/complex/modules-factory.d.ts.map +1 -0
- package/complex/modules-factory.js +46 -0
- package/cookie.cjs +13 -0
- package/cookie.d.cts +3 -0
- package/cookie.d.cts.map +1 -0
- package/cookie.d.ts +3 -0
- package/cookie.d.ts.map +1 -0
- package/cookie.js +9 -0
- package/css.cjs +28 -0
- package/css.d.cts +36 -0
- package/css.d.cts.map +1 -0
- package/css.d.ts +36 -0
- package/css.d.ts.map +1 -0
- package/css.js +20 -0
- package/data.cjs +58 -0
- package/data.d.cts +4 -0
- package/data.d.cts.map +1 -0
- package/data.d.ts +4 -0
- package/data.d.ts.map +1 -0
- package/data.js +52 -0
- package/date-time.cjs +171 -0
- package/date-time.d.cts +28 -0
- package/date-time.d.cts.map +1 -0
- package/date-time.d.ts +28 -0
- package/date-time.d.ts.map +1 -0
- package/date-time.js +160 -0
- package/device.cjs +28 -0
- package/device.d.cts +8 -0
- package/device.d.cts.map +1 -0
- package/device.d.ts +8 -0
- package/device.d.ts.map +1 -0
- package/device.js +21 -0
- package/encodings.cjs +270 -0
- package/encodings.d.cts +2 -0
- package/encodings.d.cts.map +1 -0
- package/encodings.d.ts +2 -0
- package/encodings.d.ts.map +1 -0
- package/encodings.js +267 -0
- package/errors.cjs +34 -0
- package/errors.d.cts +19 -0
- package/errors.d.cts.map +1 -0
- package/errors.d.ts +19 -0
- package/errors.d.ts.map +1 -0
- package/errors.js +30 -0
- package/file.cjs +29 -0
- package/file.d.cts +3 -0
- package/file.d.cts.map +1 -0
- package/file.d.ts +3 -0
- package/file.d.ts.map +1 -0
- package/file.js +24 -0
- package/format/_exports.cjs +20 -0
- package/format/_exports.d.cts +5 -0
- package/format/_exports.d.cts.map +1 -0
- package/format/_exports.d.ts +5 -0
- package/format/_exports.d.ts.map +1 -0
- package/format/_exports.js +4 -0
- package/format/constants.cjs +6 -0
- package/format/constants.d.cts +4 -0
- package/format/constants.d.cts.map +1 -0
- package/format/constants.d.ts +4 -0
- package/format/constants.d.ts.map +1 -0
- package/{src/format/constants.ts → format/constants.js} +0 -2
- package/format/index.cjs +40 -0
- package/format/index.d.cts +3 -0
- package/format/index.d.cts.map +1 -0
- package/format/index.d.ts +3 -0
- package/format/index.d.ts.map +1 -0
- package/{src/format/index.ts → format/index.js} +1 -2
- package/format/number.cjs +48 -0
- package/format/number.d.cts +36 -0
- package/format/number.d.cts.map +1 -0
- package/format/number.d.ts +36 -0
- package/format/number.d.ts.map +1 -0
- package/format/number.js +44 -0
- package/format/percent.cjs +27 -0
- package/format/percent.d.cts +15 -0
- package/format/percent.d.cts.map +1 -0
- package/format/percent.d.ts +15 -0
- package/format/percent.d.ts.map +1 -0
- package/format/percent.js +23 -0
- package/format/skip-spaces.cjs +8 -0
- package/format/skip-spaces.d.cts +5 -0
- package/format/skip-spaces.d.cts.map +1 -0
- package/format/skip-spaces.d.ts +5 -0
- package/format/skip-spaces.d.ts.map +1 -0
- package/format/skip-spaces.js +4 -0
- package/html.cjs +202 -0
- package/html.d.cts +44 -0
- package/html.d.cts.map +1 -0
- package/html.d.ts +44 -0
- package/html.d.ts.map +1 -0
- package/html.js +182 -0
- package/id.cjs +76 -0
- package/id.d.cts +63 -0
- package/id.d.cts.map +1 -0
- package/id.d.ts +63 -0
- package/id.d.ts.map +1 -0
- package/{src/id.ts → id.js} +6 -16
- package/imports.cjs +45 -0
- package/imports.d.cts +15 -0
- package/imports.d.cts.map +1 -0
- package/imports.d.ts +15 -0
- package/imports.d.ts.map +1 -0
- package/imports.js +40 -0
- package/math.cjs +23 -0
- package/math.d.cts +13 -0
- package/math.d.cts.map +1 -0
- package/math.d.ts +13 -0
- package/math.d.ts.map +1 -0
- package/math.js +17 -0
- package/media.cjs +115 -0
- package/media.d.cts +20 -0
- package/media.d.cts.map +1 -0
- package/media.d.ts +20 -0
- package/media.d.ts.map +1 -0
- package/media.js +103 -0
- package/mobx/apply-observable.cjs +16 -0
- package/mobx/apply-observable.d.cts +4 -0
- package/mobx/apply-observable.d.cts.map +1 -0
- package/mobx/apply-observable.d.ts +4 -0
- package/mobx/apply-observable.d.ts.map +1 -0
- package/mobx/apply-observable.js +12 -0
- package/mobx/create-enhanced-atom.cjs +16 -0
- package/mobx/create-enhanced-atom.d.cts +11 -0
- package/mobx/create-enhanced-atom.d.cts.map +1 -0
- package/mobx/create-enhanced-atom.d.ts +11 -0
- package/mobx/create-enhanced-atom.d.ts.map +1 -0
- package/mobx/create-enhanced-atom.js +12 -0
- package/mobx/deep-observable-struct.cjs +61 -0
- package/mobx/deep-observable-struct.d.cts +7 -0
- package/mobx/deep-observable-struct.d.cts.map +1 -0
- package/mobx/deep-observable-struct.d.ts +7 -0
- package/mobx/deep-observable-struct.d.ts.map +1 -0
- package/mobx/deep-observable-struct.js +57 -0
- package/mobx/get-mobx-administration.cjs +6 -0
- package/mobx/get-mobx-administration.d.cts +6 -0
- package/mobx/get-mobx-administration.d.cts.map +1 -0
- package/mobx/get-mobx-administration.d.ts +6 -0
- package/mobx/get-mobx-administration.d.ts.map +1 -0
- package/mobx/get-mobx-administration.js +2 -0
- package/mobx/index.cjs +21 -0
- package/mobx/index.d.cts +6 -0
- package/mobx/index.d.cts.map +1 -0
- package/mobx/index.d.ts +6 -0
- package/mobx/index.d.ts.map +1 -0
- package/mobx/index.js +5 -0
- package/mobx/lazy-observe.cjs +47 -0
- package/mobx/lazy-observe.d.cts +8 -0
- package/mobx/lazy-observe.d.cts.map +1 -0
- package/mobx/lazy-observe.d.ts +8 -0
- package/mobx/lazy-observe.d.ts.map +1 -0
- package/mobx/lazy-observe.js +43 -0
- package/ms.cjs +22 -0
- package/ms.d.cts +19 -0
- package/ms.d.cts.map +1 -0
- package/ms.d.ts +19 -0
- package/ms.d.ts.map +1 -0
- package/ms.js +18 -0
- package/number.cjs +16 -0
- package/number.d.cts +8 -0
- package/number.d.cts.map +1 -0
- package/number.d.ts +8 -0
- package/number.d.ts.map +1 -0
- package/number.js +13 -0
- package/package.json +163 -5
- package/parser/_exports.cjs +19 -0
- package/parser/_exports.d.cts +4 -0
- package/parser/_exports.d.cts.map +1 -0
- package/parser/_exports.d.ts +4 -0
- package/parser/_exports.d.ts.map +1 -0
- package/parser/_exports.js +3 -0
- package/parser/index.cjs +40 -0
- package/parser/index.d.cts +3 -0
- package/parser/index.d.cts.map +1 -0
- package/parser/index.d.ts +3 -0
- package/parser/index.d.ts.map +1 -0
- package/{src/parser/index.ts → parser/index.js} +1 -2
- package/parser/number.cjs +48 -0
- package/parser/number.d.cts +21 -0
- package/parser/number.d.cts.map +1 -0
- package/parser/number.d.ts +21 -0
- package/parser/number.d.ts.map +1 -0
- package/parser/number.js +44 -0
- package/parser/percent.cjs +8 -0
- package/parser/percent.d.cts +4 -0
- package/parser/percent.d.cts.map +1 -0
- package/parser/percent.d.ts +4 -0
- package/parser/percent.d.ts.map +1 -0
- package/parser/percent.js +4 -0
- package/parser/string.cjs +18 -0
- package/parser/string.d.cts +7 -0
- package/parser/string.d.cts.map +1 -0
- package/parser/string.d.ts +7 -0
- package/parser/string.d.ts.map +1 -0
- package/parser/string.js +14 -0
- package/price.cjs +21 -0
- package/price.d.cts +6 -0
- package/price.d.cts.map +1 -0
- package/price.d.ts +6 -0
- package/price.d.ts.map +1 -0
- package/price.js +17 -0
- package/random.cjs +25 -0
- package/random.d.cts +9 -0
- package/random.d.cts.map +1 -0
- package/random.d.ts +9 -0
- package/random.d.ts.map +1 -0
- package/random.js +14 -0
- package/react/hooks/index.cjs +37 -0
- package/react/hooks/index.d.cts +22 -0
- package/react/hooks/index.d.cts.map +1 -0
- package/react/hooks/index.d.ts +22 -0
- package/react/hooks/index.d.ts.map +1 -0
- package/react/hooks/index.js +21 -0
- package/react/hooks/use-abort-controller.cjs +15 -0
- package/react/hooks/use-abort-controller.d.cts +2 -0
- package/react/hooks/use-abort-controller.d.cts.map +1 -0
- package/react/hooks/use-abort-controller.d.ts +2 -0
- package/react/hooks/use-abort-controller.d.ts.map +1 -0
- package/react/hooks/use-abort-controller.js +11 -0
- package/react/hooks/use-abort-signal.cjs +8 -0
- package/react/hooks/use-abort-signal.d.cts +2 -0
- package/react/hooks/use-abort-signal.d.cts.map +1 -0
- package/react/hooks/use-abort-signal.d.ts +2 -0
- package/react/hooks/use-abort-signal.d.ts.map +1 -0
- package/react/hooks/use-abort-signal.js +4 -0
- package/react/hooks/use-click-outside.cjs +17 -0
- package/react/hooks/use-click-outside.d.cts +9 -0
- package/react/hooks/use-click-outside.d.cts.map +1 -0
- package/react/hooks/use-click-outside.d.ts +9 -0
- package/react/hooks/use-click-outside.d.ts.map +1 -0
- package/react/hooks/use-click-outside.js +13 -0
- package/react/hooks/use-constant.cjs +19 -0
- package/react/hooks/use-constant.d.cts +9 -0
- package/react/hooks/use-constant.d.cts.map +1 -0
- package/react/hooks/use-constant.d.ts +9 -0
- package/react/hooks/use-constant.d.ts.map +1 -0
- package/{src/react/hooks/use-constant.ts → react/hooks/use-constant.js} +6 -9
- package/react/hooks/use-define-ref.cjs +19 -0
- package/react/hooks/use-define-ref.d.cts +10 -0
- package/react/hooks/use-define-ref.d.cts.map +1 -0
- package/react/hooks/use-define-ref.d.ts +10 -0
- package/react/hooks/use-define-ref.d.ts.map +1 -0
- package/{src/react/hooks/use-define-ref.ts → react/hooks/use-define-ref.js} +7 -10
- package/react/hooks/use-element-ref.cjs +12 -0
- package/react/hooks/use-element-ref.d.cts +2 -0
- package/react/hooks/use-element-ref.d.cts.map +1 -0
- package/react/hooks/use-element-ref.d.ts +2 -0
- package/react/hooks/use-element-ref.d.ts.map +1 -0
- package/react/hooks/use-element-ref.js +8 -0
- package/react/hooks/use-event-listener.cjs +17 -0
- package/react/hooks/use-event-listener.d.cts +8 -0
- package/react/hooks/use-event-listener.d.cts.map +1 -0
- package/react/hooks/use-event-listener.d.ts +8 -0
- package/react/hooks/use-event-listener.d.ts.map +1 -0
- package/react/hooks/use-event-listener.js +13 -0
- package/react/hooks/use-event.cjs +23 -0
- package/react/hooks/use-event.d.cts +3 -0
- package/react/hooks/use-event.d.cts.map +1 -0
- package/react/hooks/use-event.d.ts +3 -0
- package/react/hooks/use-event.d.ts.map +1 -0
- package/react/hooks/use-event.js +19 -0
- package/react/hooks/use-flag.cjs +19 -0
- package/react/hooks/use-flag.d.cts +8 -0
- package/react/hooks/use-flag.d.cts.map +1 -0
- package/react/hooks/use-flag.d.ts +8 -0
- package/react/hooks/use-flag.d.ts.map +1 -0
- package/react/hooks/use-flag.js +15 -0
- package/react/hooks/use-force-update.cjs +11 -0
- package/react/hooks/use-force-update.d.cts +2 -0
- package/react/hooks/use-force-update.d.cts.map +1 -0
- package/react/hooks/use-force-update.d.ts +2 -0
- package/react/hooks/use-force-update.d.ts.map +1 -0
- package/react/hooks/use-force-update.js +7 -0
- package/react/hooks/use-initial-height.cjs +15 -0
- package/react/hooks/use-initial-height.d.cts +5 -0
- package/react/hooks/use-initial-height.d.cts.map +1 -0
- package/react/hooks/use-initial-height.d.ts +5 -0
- package/react/hooks/use-initial-height.d.ts.map +1 -0
- package/react/hooks/use-initial-height.js +11 -0
- package/react/hooks/use-instance.cjs +31 -0
- package/react/hooks/use-instance.d.cts +27 -0
- package/react/hooks/use-instance.d.cts.map +1 -0
- package/react/hooks/use-instance.d.ts +27 -0
- package/react/hooks/use-instance.d.ts.map +1 -0
- package/{src/react/hooks/use-instance.ts → react/hooks/use-instance.js} +9 -31
- package/react/hooks/use-intersection-observer.cjs +14 -0
- package/react/hooks/use-intersection-observer.d.cts +2 -0
- package/react/hooks/use-intersection-observer.d.cts.map +1 -0
- package/react/hooks/use-intersection-observer.d.ts +2 -0
- package/react/hooks/use-intersection-observer.d.ts.map +1 -0
- package/react/hooks/use-intersection-observer.js +10 -0
- package/react/hooks/use-last-defined-value.cjs +12 -0
- package/react/hooks/use-last-defined-value.d.cts +2 -0
- package/react/hooks/use-last-defined-value.d.cts.map +1 -0
- package/react/hooks/use-last-defined-value.d.ts +2 -0
- package/react/hooks/use-last-defined-value.d.ts.map +1 -0
- package/react/hooks/use-last-defined-value.js +8 -0
- package/react/hooks/use-last-value-ref.cjs +12 -0
- package/react/hooks/use-last-value-ref.d.cts +2 -0
- package/react/hooks/use-last-value-ref.d.cts.map +1 -0
- package/react/hooks/use-last-value-ref.d.ts +2 -0
- package/react/hooks/use-last-value-ref.d.ts.map +1 -0
- package/react/hooks/use-last-value-ref.js +8 -0
- package/react/hooks/use-life-cycle.cjs +14 -0
- package/react/hooks/use-life-cycle.d.cts +5 -0
- package/react/hooks/use-life-cycle.d.cts.map +1 -0
- package/react/hooks/use-life-cycle.d.ts +5 -0
- package/react/hooks/use-life-cycle.d.ts.map +1 -0
- package/react/hooks/use-life-cycle.js +10 -0
- package/react/hooks/use-resize-observer.cjs +15 -0
- package/react/hooks/use-resize-observer.d.cts +2 -0
- package/react/hooks/use-resize-observer.d.cts.map +1 -0
- package/react/hooks/use-resize-observer.d.ts +2 -0
- package/react/hooks/use-resize-observer.d.ts.map +1 -0
- package/react/hooks/use-resize-observer.js +11 -0
- package/react/hooks/use-sync-ref.cjs +10 -0
- package/react/hooks/use-sync-ref.d.cts +2 -0
- package/react/hooks/use-sync-ref.d.cts.map +1 -0
- package/react/hooks/use-sync-ref.d.ts +2 -0
- package/react/hooks/use-sync-ref.d.ts.map +1 -0
- package/react/hooks/use-sync-ref.js +6 -0
- package/react/hooks/use-toggle.cjs +10 -0
- package/react/hooks/use-toggle.d.cts +2 -0
- package/react/hooks/use-toggle.d.cts.map +1 -0
- package/react/hooks/use-toggle.d.ts +2 -0
- package/react/hooks/use-toggle.d.ts.map +1 -0
- package/react/hooks/use-toggle.js +6 -0
- package/react/hooks/use-value.cjs +12 -0
- package/react/hooks/use-value.d.cts +5 -0
- package/react/hooks/use-value.d.cts.map +1 -0
- package/react/hooks/use-value.d.ts +5 -0
- package/react/hooks/use-value.d.ts.map +1 -0
- package/react/hooks/use-value.js +8 -0
- package/react/hooks/use-visibility-state.cjs +18 -0
- package/react/hooks/use-visibility-state.d.cts +2 -0
- package/react/hooks/use-visibility-state.d.cts.map +1 -0
- package/react/hooks/use-visibility-state.d.ts +2 -0
- package/react/hooks/use-visibility-state.d.ts.map +1 -0
- package/react/hooks/use-visibility-state.js +14 -0
- package/react/index.cjs +17 -0
- package/react/index.d.cts +2 -0
- package/react/index.d.cts.map +1 -0
- package/react/index.d.ts +2 -0
- package/react/index.d.ts.map +1 -0
- package/react/index.js +1 -0
- package/sound.cjs +16 -0
- package/sound.d.cts +7 -0
- package/sound.d.cts.map +1 -0
- package/sound.d.ts +7 -0
- package/sound.d.ts.map +1 -0
- package/sound.js +12 -0
- package/storage.cjs +48 -0
- package/storage.d.cts +39 -0
- package/storage.d.cts.map +1 -0
- package/storage.d.ts +39 -0
- package/storage.d.ts.map +1 -0
- package/storage.js +43 -0
- package/text.cjs +53 -0
- package/text.d.cts +15 -0
- package/text.d.cts.map +1 -0
- package/text.d.ts +15 -0
- package/text.d.ts.map +1 -0
- package/text.js +48 -0
- package/type-guard/_exports.cjs +129 -0
- package/type-guard/_exports.d.cts +86 -0
- package/type-guard/_exports.d.cts.map +1 -0
- package/type-guard/_exports.d.ts +86 -0
- package/type-guard/_exports.d.ts.map +1 -0
- package/type-guard/_exports.js +125 -0
- package/type-guard/index.cjs +40 -0
- package/type-guard/index.d.cts +3 -0
- package/type-guard/index.d.cts.map +1 -0
- package/type-guard/index.d.ts +3 -0
- package/type-guard/index.d.ts.map +1 -0
- package/{src/type-guard/index.ts → type-guard/index.js} +1 -2
- package/utility-types.d.ts +396 -0
- package/utils/types.cjs +2 -0
- package/utils/types.d.cts +395 -0
- package/utils/types.d.cts.map +1 -0
- package/utils/types.d.ts +395 -0
- package/utils/types.d.ts.map +1 -0
- package/utils/types.js +1 -0
- package/vibrate.cjs +12 -0
- package/vibrate.d.cts +5 -0
- package/vibrate.d.cts.map +1 -0
- package/vibrate.d.ts +5 -0
- package/vibrate.d.ts.map +1 -0
- package/vibrate.js +8 -0
- package/.changeset/README.md +0 -8
- package/.changeset/config.json +0 -11
- package/.github/FUNDING.yml +0 -1
- package/.github/workflows/main.yml +0 -34
- package/.github/workflows/version-or-publish.yml +0 -45
- package/.nvmrc +0 -1
- package/.vscode/settings.json +0 -19
- package/CHANGELOG.md +0 -215
- package/CONTRIBUTING.md +0 -8
- package/Makefile +0 -7
- package/biome.json +0 -3
- package/commitfmt.toml +0 -18
- package/lefthook.yml +0 -14
- package/scripts/post-build.ts +0 -71
- package/src/async.ts +0 -86
- package/src/common.ts +0 -26
- package/src/complex/counter.test.ts +0 -41
- package/src/complex/counter.ts +0 -40
- package/src/complex/global-config.ts +0 -55
- package/src/complex/index.ts +0 -3
- package/src/complex/modules-factory.ts +0 -65
- package/src/cookie.ts +0 -11
- package/src/css.ts +0 -60
- package/src/data.test.ts +0 -99
- package/src/data.ts +0 -65
- package/src/date-time.test.ts +0 -119
- package/src/date-time.ts +0 -236
- package/src/device.ts +0 -42
- package/src/encodings.ts +0 -270
- package/src/errors.ts +0 -40
- package/src/file.ts +0 -25
- package/src/format/_exports.ts +0 -4
- package/src/format/number.test.ts +0 -16
- package/src/format/number.ts +0 -96
- package/src/format/percent.ts +0 -40
- package/src/format/skip-spaces.ts +0 -4
- package/src/html.ts +0 -238
- package/src/imports.ts +0 -52
- package/src/math.ts +0 -20
- package/src/media.ts +0 -134
- package/src/mobx/apply-observable.ts +0 -20
- package/src/mobx/create-enhanced-atom.ts +0 -28
- package/src/mobx/deep-observable-struct.test.ts +0 -69
- package/src/mobx/deep-observable-struct.ts +0 -69
- package/src/mobx/get-mobx-administration.ts +0 -10
- package/src/mobx/index.ts +0 -5
- package/src/mobx/lazy-observe.ts +0 -59
- package/src/ms.ts +0 -20
- package/src/number.ts +0 -14
- package/src/parser/_exports.ts +0 -3
- package/src/parser/number.test.ts +0 -38
- package/src/parser/number.ts +0 -73
- package/src/parser/percent.ts +0 -11
- package/src/parser/string.ts +0 -29
- package/src/price.ts +0 -33
- package/src/random.ts +0 -27
- package/src/react/hooks/index.ts +0 -21
- package/src/react/hooks/use-abort-controller.ts +0 -15
- package/src/react/hooks/use-abort-signal.ts +0 -5
- package/src/react/hooks/use-click-outside.ts +0 -27
- package/src/react/hooks/use-element-ref.ts +0 -11
- package/src/react/hooks/use-event-listener.ts +0 -29
- package/src/react/hooks/use-event.ts +0 -23
- package/src/react/hooks/use-flag.ts +0 -27
- package/src/react/hooks/use-force-update.ts +0 -9
- package/src/react/hooks/use-initial-height.ts +0 -16
- package/src/react/hooks/use-intersection-observer.ts +0 -18
- package/src/react/hooks/use-last-defined-value.ts +0 -9
- package/src/react/hooks/use-last-value-ref.ts +0 -11
- package/src/react/hooks/use-life-cycle.ts +0 -17
- package/src/react/hooks/use-resize-observer.ts +0 -14
- package/src/react/hooks/use-sync-ref.ts +0 -7
- package/src/react/hooks/use-toggle.ts +0 -9
- package/src/react/hooks/use-value.ts +0 -10
- package/src/react/hooks/use-visibility-state.ts +0 -19
- package/src/react/index.ts +0 -1
- package/src/sound.ts +0 -15
- package/src/storage.ts +0 -137
- package/src/text.test.ts +0 -91
- package/src/text.ts +0 -60
- package/src/type-guard/_exports.ts +0 -154
- package/src/type-guard/index.test.ts +0 -127
- package/src/vibrate.ts +0 -8
- package/tsconfig.json +0 -26
- package/tsconfig.test.json +0 -33
- package/vitest.config.ts +0 -20
package/async.cjs
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.endlessRAF = exports.waitAsync = exports.sleep = void 0;
|
|
4
|
+
exports.setAbortableTimeout = setAbortableTimeout;
|
|
5
|
+
exports.setAbortableInterval = setAbortableInterval;
|
|
6
|
+
/**
|
|
7
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
8
|
+
*
|
|
9
|
+
* @param ms значение в миллисекундах
|
|
10
|
+
* @returns Promise
|
|
11
|
+
*/
|
|
12
|
+
const sleep = (time = 0) => new Promise((resolve) => setTimeout(resolve, time));
|
|
13
|
+
exports.sleep = sleep;
|
|
14
|
+
/**
|
|
15
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
16
|
+
*
|
|
17
|
+
* @deprecated используй {sleep}
|
|
18
|
+
* @param ms значение в миллисекундах
|
|
19
|
+
* @returns Promise
|
|
20
|
+
*/
|
|
21
|
+
const waitAsync = async (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
22
|
+
exports.waitAsync = waitAsync;
|
|
23
|
+
/**
|
|
24
|
+
* Создает вызов requestAnimationFrame, посылая туда фукнцию {quitFn}, если она возвращает true,
|
|
25
|
+
* тогда повторно не будет создан вызов requestAnimationFrame, иначе будут создаваться повторно
|
|
26
|
+
* вызовы requestAnimationFrame до тем пор, пока эта функция не вернёт true
|
|
27
|
+
*
|
|
28
|
+
* @param quitFn - сама фукнция которая исполнится в requestAnimationFrame
|
|
29
|
+
* @param asMicrotask - дополнительно оборачивает RAF в queueMicrotask
|
|
30
|
+
* @returns void
|
|
31
|
+
*/
|
|
32
|
+
const endlessRAF = (quitFunction, asMicrotask) => {
|
|
33
|
+
if (quitFunction())
|
|
34
|
+
return;
|
|
35
|
+
const raf = () => requestAnimationFrame(() => (0, exports.endlessRAF)(quitFunction, asMicrotask));
|
|
36
|
+
if (asMicrotask) {
|
|
37
|
+
queueMicrotask(raf);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
raf();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
exports.endlessRAF = endlessRAF;
|
|
44
|
+
function setAbortableTimeout(callback, delayInMs, signal) {
|
|
45
|
+
let internalTimer = null;
|
|
46
|
+
const handleAbort = () => {
|
|
47
|
+
if (internalTimer == null) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
clearTimeout(internalTimer);
|
|
51
|
+
internalTimer = null;
|
|
52
|
+
};
|
|
53
|
+
signal?.addEventListener('abort', handleAbort, { once: true });
|
|
54
|
+
internalTimer = setTimeout(() => {
|
|
55
|
+
signal?.removeEventListener('abort', handleAbort);
|
|
56
|
+
callback();
|
|
57
|
+
}, delayInMs);
|
|
58
|
+
}
|
|
59
|
+
function setAbortableInterval(callback, delayInMs, signal) {
|
|
60
|
+
let timer = null;
|
|
61
|
+
const handleAbort = () => {
|
|
62
|
+
if (timer == null) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
clearInterval(timer);
|
|
66
|
+
timer = null;
|
|
67
|
+
};
|
|
68
|
+
signal?.addEventListener('abort', handleAbort, { once: true });
|
|
69
|
+
timer = setInterval(callback, delayInMs);
|
|
70
|
+
}
|
package/async.d.cts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
3
|
+
*
|
|
4
|
+
* @param ms значение в миллисекундах
|
|
5
|
+
* @returns Promise
|
|
6
|
+
*/
|
|
7
|
+
export declare const sleep: (time?: number) => Promise<unknown>;
|
|
8
|
+
/**
|
|
9
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
10
|
+
*
|
|
11
|
+
* @deprecated используй {sleep}
|
|
12
|
+
* @param ms значение в миллисекундах
|
|
13
|
+
* @returns Promise
|
|
14
|
+
*/
|
|
15
|
+
export declare const waitAsync: (ms?: number) => Promise<unknown>;
|
|
16
|
+
/**
|
|
17
|
+
* Создает вызов requestAnimationFrame, посылая туда фукнцию {quitFn}, если она возвращает true,
|
|
18
|
+
* тогда повторно не будет создан вызов requestAnimationFrame, иначе будут создаваться повторно
|
|
19
|
+
* вызовы requestAnimationFrame до тем пор, пока эта функция не вернёт true
|
|
20
|
+
*
|
|
21
|
+
* @param quitFn - сама фукнция которая исполнится в requestAnimationFrame
|
|
22
|
+
* @param asMicrotask - дополнительно оборачивает RAF в queueMicrotask
|
|
23
|
+
* @returns void
|
|
24
|
+
*/
|
|
25
|
+
export declare const endlessRAF: (quitFunction: () => boolean | void, asMicrotask?: boolean) => void;
|
|
26
|
+
export declare function setAbortableTimeout(callback: VoidFunction, delayInMs?: number, signal?: AbortSignal): void;
|
|
27
|
+
export declare function setAbortableInterval(callback: VoidFunction, delayInMs?: number, signal?: AbortSignal): void;
|
|
28
|
+
//# sourceMappingURL=async.d.ts.map
|
package/async.d.cts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,OAAM,MAAU,qBACe,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAU,WAAS,qBACU,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,cAAc,MAAM,OAAO,GAAG,IAAI,EAClC,cAAc,OAAO,SAYtB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,QAkBrB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,QAerB"}
|
package/async.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
3
|
+
*
|
|
4
|
+
* @param ms значение в миллисекундах
|
|
5
|
+
* @returns Promise
|
|
6
|
+
*/
|
|
7
|
+
export declare const sleep: (time?: number) => Promise<unknown>;
|
|
8
|
+
/**
|
|
9
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
10
|
+
*
|
|
11
|
+
* @deprecated используй {sleep}
|
|
12
|
+
* @param ms значение в миллисекундах
|
|
13
|
+
* @returns Promise
|
|
14
|
+
*/
|
|
15
|
+
export declare const waitAsync: (ms?: number) => Promise<unknown>;
|
|
16
|
+
/**
|
|
17
|
+
* Создает вызов requestAnimationFrame, посылая туда фукнцию {quitFn}, если она возвращает true,
|
|
18
|
+
* тогда повторно не будет создан вызов requestAnimationFrame, иначе будут создаваться повторно
|
|
19
|
+
* вызовы requestAnimationFrame до тем пор, пока эта функция не вернёт true
|
|
20
|
+
*
|
|
21
|
+
* @param quitFn - сама фукнция которая исполнится в requestAnimationFrame
|
|
22
|
+
* @param asMicrotask - дополнительно оборачивает RAF в queueMicrotask
|
|
23
|
+
* @returns void
|
|
24
|
+
*/
|
|
25
|
+
export declare const endlessRAF: (quitFunction: () => boolean | void, asMicrotask?: boolean) => void;
|
|
26
|
+
export declare function setAbortableTimeout(callback: VoidFunction, delayInMs?: number, signal?: AbortSignal): void;
|
|
27
|
+
export declare function setAbortableInterval(callback: VoidFunction, delayInMs?: number, signal?: AbortSignal): void;
|
|
28
|
+
//# sourceMappingURL=async.d.ts.map
|
package/async.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,OAAM,MAAU,qBACe,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAU,WAAS,qBACU,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,cAAc,MAAM,OAAO,GAAG,IAAI,EAClC,cAAc,OAAO,SAYtB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,QAkBrB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,QAerB"}
|
package/async.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
3
|
+
*
|
|
4
|
+
* @param ms значение в миллисекундах
|
|
5
|
+
* @returns Promise
|
|
6
|
+
*/
|
|
7
|
+
export const sleep = (time = 0) => new Promise((resolve) => setTimeout(resolve, time));
|
|
8
|
+
/**
|
|
9
|
+
* Создает промис, который будет ждать указанное количество ms, чтобы выполниться
|
|
10
|
+
*
|
|
11
|
+
* @deprecated используй {sleep}
|
|
12
|
+
* @param ms значение в миллисекундах
|
|
13
|
+
* @returns Promise
|
|
14
|
+
*/
|
|
15
|
+
export const waitAsync = async (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
16
|
+
/**
|
|
17
|
+
* Создает вызов requestAnimationFrame, посылая туда фукнцию {quitFn}, если она возвращает true,
|
|
18
|
+
* тогда повторно не будет создан вызов requestAnimationFrame, иначе будут создаваться повторно
|
|
19
|
+
* вызовы requestAnimationFrame до тем пор, пока эта функция не вернёт true
|
|
20
|
+
*
|
|
21
|
+
* @param quitFn - сама фукнция которая исполнится в requestAnimationFrame
|
|
22
|
+
* @param asMicrotask - дополнительно оборачивает RAF в queueMicrotask
|
|
23
|
+
* @returns void
|
|
24
|
+
*/
|
|
25
|
+
export const endlessRAF = (quitFunction, asMicrotask) => {
|
|
26
|
+
if (quitFunction())
|
|
27
|
+
return;
|
|
28
|
+
const raf = () => requestAnimationFrame(() => endlessRAF(quitFunction, asMicrotask));
|
|
29
|
+
if (asMicrotask) {
|
|
30
|
+
queueMicrotask(raf);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
raf();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export function setAbortableTimeout(callback, delayInMs, signal) {
|
|
37
|
+
let internalTimer = null;
|
|
38
|
+
const handleAbort = () => {
|
|
39
|
+
if (internalTimer == null) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
clearTimeout(internalTimer);
|
|
43
|
+
internalTimer = null;
|
|
44
|
+
};
|
|
45
|
+
signal?.addEventListener('abort', handleAbort, { once: true });
|
|
46
|
+
internalTimer = setTimeout(() => {
|
|
47
|
+
signal?.removeEventListener('abort', handleAbort);
|
|
48
|
+
callback();
|
|
49
|
+
}, delayInMs);
|
|
50
|
+
}
|
|
51
|
+
export function setAbortableInterval(callback, delayInMs, signal) {
|
|
52
|
+
let timer = null;
|
|
53
|
+
const handleAbort = () => {
|
|
54
|
+
if (timer == null) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
clearInterval(timer);
|
|
58
|
+
timer = null;
|
|
59
|
+
};
|
|
60
|
+
signal?.addEventListener('abort', handleAbort, { once: true });
|
|
61
|
+
timer = setInterval(callback, delayInMs);
|
|
62
|
+
}
|
package/common.cjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveFnValue = exports.callFunction = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Calls the provided function with the given arguments if it is a function;
|
|
6
|
+
* otherwise, returns the value directly.
|
|
7
|
+
*/
|
|
8
|
+
const callFunction = (fn, ...args) => {
|
|
9
|
+
if (typeof fn === 'function') {
|
|
10
|
+
return fn(...args);
|
|
11
|
+
}
|
|
12
|
+
return fn;
|
|
13
|
+
};
|
|
14
|
+
exports.callFunction = callFunction;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated use {callFunction}
|
|
17
|
+
*/
|
|
18
|
+
exports.resolveFnValue = exports.callFunction;
|
package/common.d.cts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MaybeFn } from "./utils/types.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated use {MaybeFn} type
|
|
4
|
+
*/
|
|
5
|
+
export type FnValue<TValue, TArgs extends any[] = []> = MaybeFn<TValue, TArgs>;
|
|
6
|
+
/**
|
|
7
|
+
* Calls the provided function with the given arguments if it is a function;
|
|
8
|
+
* otherwise, returns the value directly.
|
|
9
|
+
*/
|
|
10
|
+
export declare const callFunction: <TValue, TArgs extends any[] = []>(fn: MaybeFn<TValue, TArgs>, ...args: TArgs) => TValue;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated use {callFunction}
|
|
13
|
+
*/
|
|
14
|
+
export declare const resolveFnValue: <TValue, TArgs extends any[] = []>(fn: MaybeFn<TValue, TArgs>, ...args: TArgs) => TValue;
|
|
15
|
+
//# sourceMappingURL=common.d.ts.map
|
package/common.d.cts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,0BAAyB;AAEhD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,EAC3D,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,GAAG,MAAM,KAAK,WAOf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAdE,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,WAClD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,WACjB,KAAK,WAY0B,CAAC"}
|
package/common.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MaybeFn } from "./utils/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated use {MaybeFn} type
|
|
4
|
+
*/
|
|
5
|
+
export type FnValue<TValue, TArgs extends any[] = []> = MaybeFn<TValue, TArgs>;
|
|
6
|
+
/**
|
|
7
|
+
* Calls the provided function with the given arguments if it is a function;
|
|
8
|
+
* otherwise, returns the value directly.
|
|
9
|
+
*/
|
|
10
|
+
export declare const callFunction: <TValue, TArgs extends any[] = []>(fn: MaybeFn<TValue, TArgs>, ...args: TArgs) => TValue;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated use {callFunction}
|
|
13
|
+
*/
|
|
14
|
+
export declare const resolveFnValue: <TValue, TArgs extends any[] = []>(fn: MaybeFn<TValue, TArgs>, ...args: TArgs) => TValue;
|
|
15
|
+
//# sourceMappingURL=common.d.ts.map
|
package/common.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB;AAEhD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,EAC3D,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,GAAG,MAAM,KAAK,WAOf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAdE,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,WAClD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,WACjB,KAAK,WAY0B,CAAC"}
|
package/common.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calls the provided function with the given arguments if it is a function;
|
|
3
|
+
* otherwise, returns the value directly.
|
|
4
|
+
*/
|
|
5
|
+
export const callFunction = (fn, ...args) => {
|
|
6
|
+
if (typeof fn === 'function') {
|
|
7
|
+
return fn(...args);
|
|
8
|
+
}
|
|
9
|
+
return fn;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated use {callFunction}
|
|
13
|
+
*/
|
|
14
|
+
export const resolveFnValue = callFunction;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCounter = void 0;
|
|
4
|
+
const createCounter = (processValue, initial = 0) => {
|
|
5
|
+
const update = (counter) => {
|
|
6
|
+
fn.value = processValue?.(counter) ?? counter;
|
|
7
|
+
return fn.value;
|
|
8
|
+
};
|
|
9
|
+
const increment = () => update(++fn.counter);
|
|
10
|
+
const decrement = () => update(--fn.counter);
|
|
11
|
+
const fn = increment;
|
|
12
|
+
fn.increment = increment;
|
|
13
|
+
fn.decrement = decrement;
|
|
14
|
+
fn.reset = () => {
|
|
15
|
+
fn.counter = initial;
|
|
16
|
+
fn.value = processValue?.(initial) ?? initial;
|
|
17
|
+
};
|
|
18
|
+
fn.reset();
|
|
19
|
+
return fn;
|
|
20
|
+
};
|
|
21
|
+
exports.createCounter = createCounter;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Counter<TValue = number> {
|
|
2
|
+
(): TValue;
|
|
3
|
+
counter: number;
|
|
4
|
+
value: TValue;
|
|
5
|
+
increment(): TValue;
|
|
6
|
+
decrement(): TValue;
|
|
7
|
+
reset(): void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated use {`Counter`}. Will be removed in next major release
|
|
11
|
+
*/
|
|
12
|
+
export interface CounterFn<TValue = number> extends Counter<TValue> {
|
|
13
|
+
}
|
|
14
|
+
export declare const createCounter: <TValue = number>(processValue?: (value: number) => TValue, initial?: number) => Counter<TValue>;
|
|
15
|
+
//# sourceMappingURL=counter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/complex/counter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO,CAAC,MAAM,GAAG,MAAM;IACtC,IAAI,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,IAAI,MAAM,CAAC;IACpB,SAAS,IAAI,MAAM,CAAC;IACpB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,MAAM,GAAG,MAAM,CAAE,SAAQ,OAAO,CAAC,MAAM,CAAC;CAAG;AAEtE,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,MAAM,EAC3C,eAAe,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACxC,UAAS,MAAU,KAClB,OAAO,CAAC,MAAM,CAsBhB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Counter<TValue = number> {
|
|
2
|
+
(): TValue;
|
|
3
|
+
counter: number;
|
|
4
|
+
value: TValue;
|
|
5
|
+
increment(): TValue;
|
|
6
|
+
decrement(): TValue;
|
|
7
|
+
reset(): void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated use {`Counter`}. Will be removed in next major release
|
|
11
|
+
*/
|
|
12
|
+
export interface CounterFn<TValue = number> extends Counter<TValue> {
|
|
13
|
+
}
|
|
14
|
+
export declare const createCounter: <TValue = number>(processValue?: (value: number) => TValue, initial?: number) => Counter<TValue>;
|
|
15
|
+
//# sourceMappingURL=counter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/complex/counter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO,CAAC,MAAM,GAAG,MAAM;IACtC,IAAI,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,IAAI,MAAM,CAAC;IACpB,SAAS,IAAI,MAAM,CAAC;IACpB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,MAAM,GAAG,MAAM,CAAE,SAAQ,OAAO,CAAC,MAAM,CAAC;CAAG;AAEtE,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,MAAM,EAC3C,eAAe,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACxC,UAAS,MAAU,KAClB,OAAO,CAAC,MAAM,CAsBhB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const createCounter = (processValue, initial = 0) => {
|
|
2
|
+
const update = (counter) => {
|
|
3
|
+
fn.value = processValue?.(counter) ?? counter;
|
|
4
|
+
return fn.value;
|
|
5
|
+
};
|
|
6
|
+
const increment = () => update(++fn.counter);
|
|
7
|
+
const decrement = () => update(--fn.counter);
|
|
8
|
+
const fn = increment;
|
|
9
|
+
fn.increment = increment;
|
|
10
|
+
fn.decrement = decrement;
|
|
11
|
+
fn.reset = () => {
|
|
12
|
+
fn.counter = initial;
|
|
13
|
+
fn.value = processValue?.(initial) ?? initial;
|
|
14
|
+
};
|
|
15
|
+
fn.reset();
|
|
16
|
+
return fn;
|
|
17
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createGlobalDynamicConfig = exports.createGlobalConfig = void 0;
|
|
4
|
+
const createGlobalPoint = (accessSymbol) => {
|
|
5
|
+
if (accessSymbol == null) {
|
|
6
|
+
let storedValue;
|
|
7
|
+
return {
|
|
8
|
+
get: () => storedValue,
|
|
9
|
+
set: (value) => {
|
|
10
|
+
storedValue = value;
|
|
11
|
+
return value;
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const _globalThis = globalThis;
|
|
16
|
+
return {
|
|
17
|
+
get: () => _globalThis[accessSymbol],
|
|
18
|
+
set: (value) => {
|
|
19
|
+
_globalThis[accessSymbol] = value;
|
|
20
|
+
return value;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Создает глобальный конфиг, который может быть доступен в любой точке в коде
|
|
26
|
+
*/
|
|
27
|
+
const createGlobalConfig = (defaultValue, accessSymbol) => {
|
|
28
|
+
const globalPoint = createGlobalPoint(accessSymbol);
|
|
29
|
+
return globalPoint.get() || globalPoint.set(defaultValue);
|
|
30
|
+
};
|
|
31
|
+
exports.createGlobalConfig = createGlobalConfig;
|
|
32
|
+
const createGlobalDynamicConfig = (processFn, accessSymbol) => {
|
|
33
|
+
const globalPoint = createGlobalPoint(accessSymbol);
|
|
34
|
+
const getValue = () => {
|
|
35
|
+
return globalPoint.get() ?? globalPoint.set(processFn(null, null));
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
get: getValue,
|
|
39
|
+
set: globalPoint.set,
|
|
40
|
+
update: (value) => {
|
|
41
|
+
const currentValue = getValue();
|
|
42
|
+
Object.assign(currentValue, processFn(value, currentValue));
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
exports.createGlobalDynamicConfig = createGlobalDynamicConfig;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AnyObject, Maybe } from "../utils/types.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Создает глобальный конфиг, который может быть доступен в любой точке в коде
|
|
4
|
+
*/
|
|
5
|
+
export declare const createGlobalConfig: <T extends AnyObject>(defaultValue: T, accessSymbol?: keyof any) => T;
|
|
6
|
+
export declare const createGlobalDynamicConfig: <T extends AnyObject>(processFn: (change: Maybe<Partial<T>>, current: Maybe<T>) => T, accessSymbol?: keyof any) => {
|
|
7
|
+
get: () => T;
|
|
8
|
+
set: (value: T | null | undefined) => T | null | undefined;
|
|
9
|
+
update: (value: Partial<T>) => void;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=global-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/complex/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,2BAA0B;AAyB1D;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,SAAS,EACpD,cAAc,CAAC,EACf,eAAe,MAAM,GAAG,MAIzB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,SAAS,EAC3D,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAC9D,eAAe,MAAM,GAAG;;;oBAWN,OAAO,CAAC,CAAC,CAAC;CAK7B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AnyObject, Maybe } from "../utils/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Создает глобальный конфиг, который может быть доступен в любой точке в коде
|
|
4
|
+
*/
|
|
5
|
+
export declare const createGlobalConfig: <T extends AnyObject>(defaultValue: T, accessSymbol?: keyof any) => T;
|
|
6
|
+
export declare const createGlobalDynamicConfig: <T extends AnyObject>(processFn: (change: Maybe<Partial<T>>, current: Maybe<T>) => T, accessSymbol?: keyof any) => {
|
|
7
|
+
get: () => T;
|
|
8
|
+
set: (value: T | null | undefined) => T | null | undefined;
|
|
9
|
+
update: (value: Partial<T>) => void;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=global-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/complex/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,0BAA0B;AAyB1D;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,SAAS,EACpD,cAAc,CAAC,EACf,eAAe,MAAM,GAAG,MAIzB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,SAAS,EAC3D,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAC9D,eAAe,MAAM,GAAG;;;oBAWN,OAAO,CAAC,CAAC,CAAC;CAK7B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const createGlobalPoint = (accessSymbol) => {
|
|
2
|
+
if (accessSymbol == null) {
|
|
3
|
+
let storedValue;
|
|
4
|
+
return {
|
|
5
|
+
get: () => storedValue,
|
|
6
|
+
set: (value) => {
|
|
7
|
+
storedValue = value;
|
|
8
|
+
return value;
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const _globalThis = globalThis;
|
|
13
|
+
return {
|
|
14
|
+
get: () => _globalThis[accessSymbol],
|
|
15
|
+
set: (value) => {
|
|
16
|
+
_globalThis[accessSymbol] = value;
|
|
17
|
+
return value;
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Создает глобальный конфиг, который может быть доступен в любой точке в коде
|
|
23
|
+
*/
|
|
24
|
+
export const createGlobalConfig = (defaultValue, accessSymbol) => {
|
|
25
|
+
const globalPoint = createGlobalPoint(accessSymbol);
|
|
26
|
+
return globalPoint.get() || globalPoint.set(defaultValue);
|
|
27
|
+
};
|
|
28
|
+
export const createGlobalDynamicConfig = (processFn, accessSymbol) => {
|
|
29
|
+
const globalPoint = createGlobalPoint(accessSymbol);
|
|
30
|
+
const getValue = () => {
|
|
31
|
+
return globalPoint.get() ?? globalPoint.set(processFn(null, null));
|
|
32
|
+
};
|
|
33
|
+
return {
|
|
34
|
+
get: getValue,
|
|
35
|
+
set: globalPoint.set,
|
|
36
|
+
update: (value) => {
|
|
37
|
+
const currentValue = getValue();
|
|
38
|
+
Object.assign(currentValue, processFn(value, currentValue));
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./counter.cjs"), exports);
|
|
18
|
+
__exportStar(require("./global-config.cjs"), exports);
|
|
19
|
+
__exportStar(require("./modules-factory.cjs"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/complex/index.ts"],"names":[],"mappings":"AAAA,8BAA6B;AAC7B,oCAAmC;AACnC,sCAAqC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/complex/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,mCAAmC;AACnC,qCAAqC"}
|
package/complex/index.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModulesFactory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Класс `ModulesFactory` является универсальной фабрикой для создания экземпляров указанного класса с зависимостями.
|
|
6
|
+
* Он использует объект конфигурации для определения того, как эти экземпляры создаются.
|
|
7
|
+
*
|
|
8
|
+
* Важное примечание - эта сущность работает только с классами конструктор которых имеет один параметр
|
|
9
|
+
*
|
|
10
|
+
* @template TPredefinedDeps - Тип, расширяющий `AnyObject`, представляющий предопределенные зависимости, которые использует фабрика.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```
|
|
14
|
+
* const factory = new ModulesFactory({
|
|
15
|
+
* factory: (MyClass, deps) => new MyClass(deps),
|
|
16
|
+
* deps: { someDependency: new Dependency() }
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const instance = factory.create(MyClass, { extraDependency: new ExtraDependency() });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
class ModulesFactory {
|
|
23
|
+
config;
|
|
24
|
+
/**
|
|
25
|
+
* Создает новый экземпляр `ModulesFactory`.
|
|
26
|
+
*
|
|
27
|
+
* @param config - Объект конфигурации для фабрики, включающий функцию фабрики и необязательные зависимости.
|
|
28
|
+
*/
|
|
29
|
+
constructor(config) {
|
|
30
|
+
this.config = config;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Создает экземпляр указанного класса, внедряя необходимые зависимости.
|
|
34
|
+
*
|
|
35
|
+
* @template TInstance - Тип создаваемого экземпляра.
|
|
36
|
+
* @template TDeps - Тип зависимостей, необходимых для экземпляра.
|
|
37
|
+
*
|
|
38
|
+
* @param Constructor - Конструктор класса для создаваемого экземпляра.
|
|
39
|
+
* @param args - Необязательные дополнительные зависимости для объединения с предопределенными зависимостями.
|
|
40
|
+
*
|
|
41
|
+
* @returns Экземпляр указанного класса с внедренными зависимостями.
|
|
42
|
+
*/
|
|
43
|
+
create(Constructor, ...args) {
|
|
44
|
+
return this.config.factory(Constructor, {
|
|
45
|
+
...this.config.deps,
|
|
46
|
+
...args[0],
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.ModulesFactory = ModulesFactory;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { AnyObject, Class, EmptyObject, IsPartial } from "../utils/types.cjs";
|
|
2
|
+
type ModuleLoaderConfig<TPredefinedDeps extends AnyObject = EmptyObject> = {
|
|
3
|
+
factory<TInstance, TDeps extends TPredefinedDeps>(moduleClass: Class<TInstance, [TDeps]>, deps: TDeps): TInstance;
|
|
4
|
+
} & (TPredefinedDeps extends EmptyObject ? {
|
|
5
|
+
deps?: TPredefinedDeps;
|
|
6
|
+
} : {
|
|
7
|
+
deps: TPredefinedDeps;
|
|
8
|
+
});
|
|
9
|
+
/**
|
|
10
|
+
* Класс `ModulesFactory` является универсальной фабрикой для создания экземпляров указанного класса с зависимостями.
|
|
11
|
+
* Он использует объект конфигурации для определения того, как эти экземпляры создаются.
|
|
12
|
+
*
|
|
13
|
+
* Важное примечание - эта сущность работает только с классами конструктор которых имеет один параметр
|
|
14
|
+
*
|
|
15
|
+
* @template TPredefinedDeps - Тип, расширяющий `AnyObject`, представляющий предопределенные зависимости, которые использует фабрика.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```
|
|
19
|
+
* const factory = new ModulesFactory({
|
|
20
|
+
* factory: (MyClass, deps) => new MyClass(deps),
|
|
21
|
+
* deps: { someDependency: new Dependency() }
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* const instance = factory.create(MyClass, { extraDependency: new ExtraDependency() });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class ModulesFactory<TPredefinedDeps extends AnyObject = EmptyObject> {
|
|
28
|
+
private config;
|
|
29
|
+
/**
|
|
30
|
+
* Создает новый экземпляр `ModulesFactory`.
|
|
31
|
+
*
|
|
32
|
+
* @param config - Объект конфигурации для фабрики, включающий функцию фабрики и необязательные зависимости.
|
|
33
|
+
*/
|
|
34
|
+
constructor(config: ModuleLoaderConfig<TPredefinedDeps>);
|
|
35
|
+
/**
|
|
36
|
+
* Создает экземпляр указанного класса, внедряя необходимые зависимости.
|
|
37
|
+
*
|
|
38
|
+
* @template TInstance - Тип создаваемого экземпляра.
|
|
39
|
+
* @template TDeps - Тип зависимостей, необходимых для экземпляра.
|
|
40
|
+
*
|
|
41
|
+
* @param Constructor - Конструктор класса для создаваемого экземпляра.
|
|
42
|
+
* @param args - Необязательные дополнительные зависимости для объединения с предопределенными зависимостями.
|
|
43
|
+
*
|
|
44
|
+
* @returns Экземпляр указанного класса с внедренными зависимостями.
|
|
45
|
+
*/
|
|
46
|
+
create<TInstance, TDeps extends TPredefinedDeps = TPredefinedDeps>(Constructor: Class<TInstance, [TDeps]>, ...args: IsPartial<Omit<TDeps, keyof TPredefinedDeps>> extends true ? [extraDeps?: Omit<TDeps, keyof TPredefinedDeps>] : [extraDeps: Omit<TDeps, keyof TPredefinedDeps>]): TInstance;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=modules-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules-factory.d.ts","sourceRoot":"","sources":["../../src/complex/modules-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,KAAK,EACL,WAAW,EACX,SAAS,EACV,2BAA0B;AAE3B,KAAK,kBAAkB,CAAC,eAAe,SAAS,SAAS,GAAG,WAAW,IAAI;IACzE,OAAO,CAAC,SAAS,EAAE,KAAK,SAAS,eAAe,EAC9C,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EACtC,IAAI,EAAE,KAAK,GACV,SAAS,CAAC;CACd,GAAG,CAAC,eAAe,SAAS,WAAW,GACpC;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc,CAAC,eAAe,SAAS,SAAS,GAAG,WAAW;IAM7D,OAAO,CAAC,MAAM;IAL1B;;;;OAIG;gBACiB,MAAM,EAAE,kBAAkB,CAAC,eAAe,CAAC;IAE/D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS,EAAE,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/D,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EACtC,GAAG,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,eAAe,CAAC,CAAC,SAAS,IAAI,GAC/D,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,eAAe,CAAC,CAAC,GAChD,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,eAAe,CAAC,CAAC;CAOtD"}
|