@kdtlabs/utils 0.0.4 → 0.0.6
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/SKILL.md +12 -9
- package/dist/arrays/comparators.d.ts +8 -0
- package/dist/arrays/comparators.d.ts.map +1 -0
- package/{arrays → dist/arrays}/index.d.ts +1 -0
- package/dist/arrays/index.d.ts.map +1 -0
- package/{common → dist/common}/assertions.d.ts +1 -1
- package/{common → dist/common}/assertions.d.ts.map +1 -1
- package/{common → dist/common}/types.d.ts +1 -1
- package/{common → dist/common}/types.d.ts.map +1 -1
- package/{functions → dist/functions}/executions.d.ts +1 -1
- package/{functions → dist/functions}/executions.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +101 -0
- package/{objects → dist/objects}/transformations.d.ts +1 -1
- package/{objects → dist/objects}/transformations.d.ts.map +1 -1
- package/{objects → dist/objects}/types.d.ts +1 -1
- package/{objects → dist/objects}/types.d.ts.map +1 -1
- package/{promises → dist/promises}/deferred.d.ts +1 -1
- package/{promises → dist/promises}/deferred.d.ts.map +1 -1
- package/{promises → dist/promises}/timers.d.ts +1 -1
- package/{promises → dist/promises}/timers.d.ts.map +1 -1
- package/{serializer → dist/serializer}/context.d.ts +1 -1
- package/{serializer → dist/serializer}/context.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serialize.d.ts +1 -1
- package/{serializer → dist/serializer}/serialize.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/array.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/array.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/binary.d.ts +1 -1
- package/dist/serializer/serializers/binary.d.ts.map +1 -0
- package/{serializer → dist/serializer}/serializers/blob.d.ts +1 -1
- package/dist/serializer/serializers/blob.d.ts.map +1 -0
- package/{serializer → dist/serializer}/serializers/collection.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/collection.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/compound.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/compound.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/error.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/error.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/function.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/function.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/leaf-object.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/leaf-object.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/number.d.ts +1 -1
- package/dist/serializer/serializers/number.d.ts.map +1 -0
- package/{serializer → dist/serializer}/serializers/object.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/object.d.ts.map +1 -1
- package/{serializer → dist/serializer}/serializers/opaque.d.ts +1 -1
- package/dist/serializer/serializers/opaque.d.ts.map +1 -0
- package/{serializer → dist/serializer}/serializers/primitive.d.ts +1 -1
- package/{serializer → dist/serializer}/serializers/primitive.d.ts.map +1 -1
- package/{serializer → dist/serializer}/types.d.ts +1 -1
- package/{serializer → dist/serializer}/types.d.ts.map +1 -1
- package/{serializer → dist/serializer}/utils.d.ts +1 -1
- package/{serializer → dist/serializer}/utils.d.ts.map +1 -1
- package/{strings → dist/strings}/index.d.ts +1 -0
- package/{strings → dist/strings}/index.d.ts.map +1 -1
- package/{strings → dist/strings}/manipulations.d.ts +2 -0
- package/{strings → dist/strings}/manipulations.d.ts.map +1 -1
- package/dist/strings/strip-ansi.d.ts +2 -0
- package/dist/strings/strip-ansi.d.ts.map +1 -0
- package/{system → dist/system}/fetch.d.ts +2 -2
- package/{system → dist/system}/fetch.d.ts.map +1 -1
- package/dist/system/types.d.ts +3 -0
- package/{system → dist/system}/types.d.ts.map +1 -1
- package/{times → dist/times}/conversions.d.ts +1 -1
- package/{times → dist/times}/conversions.d.ts.map +1 -1
- package/package.json +11 -73
- package/src/arrays/accessors.ts +25 -0
- package/src/arrays/comparators.ts +53 -0
- package/src/arrays/conversions.ts +16 -0
- package/src/arrays/factories.ts +13 -0
- package/src/arrays/guards.ts +7 -0
- package/src/arrays/index.ts +9 -0
- package/src/arrays/operations.ts +103 -0
- package/src/arrays/set-operations.ts +11 -0
- package/src/arrays/types.ts +21 -0
- package/src/buffers/conversions.ts +26 -0
- package/src/buffers/guards.ts +13 -0
- package/src/buffers/index.ts +5 -0
- package/src/buffers/operations.ts +44 -0
- package/src/buffers/types.ts +1 -0
- package/src/collections/fifo-map.ts +33 -0
- package/src/collections/fifo-set.ts +29 -0
- package/src/collections/guards.ts +11 -0
- package/src/collections/index.ts +10 -0
- package/src/collections/linked-base.ts +117 -0
- package/src/collections/linked-map.ts +82 -0
- package/src/collections/linked-set.ts +69 -0
- package/src/collections/lru-map.ts +36 -0
- package/src/collections/lru-set.ts +25 -0
- package/src/collections/types.ts +12 -0
- package/src/common/assertions.ts +11 -0
- package/src/common/guards.ts +58 -0
- package/src/common/index.ts +5 -0
- package/src/common/transformations.ts +20 -0
- package/src/common/types.ts +3 -0
- package/src/core/constants.ts +1 -0
- package/src/core/conversions.ts +9 -0
- package/src/core/guards.ts +57 -0
- package/src/core/index.ts +5 -0
- package/src/core/types.ts +15 -0
- package/src/errors/base-error.ts +48 -0
- package/src/errors/factories.ts +74 -0
- package/src/errors/guards.ts +12 -0
- package/src/errors/index.ts +7 -0
- package/src/errors/operations.ts +15 -0
- package/src/errors/stringify.ts +131 -0
- package/src/errors/types.ts +11 -0
- package/src/events/emitter.ts +117 -0
- package/src/events/index.ts +2 -0
- package/src/events/types.ts +11 -0
- package/src/functions/compositions.ts +17 -0
- package/src/functions/debounce.ts +34 -0
- package/src/functions/executions.ts +12 -0
- package/src/functions/guards.ts +5 -0
- package/src/functions/index.ts +11 -0
- package/src/functions/memoize.ts +33 -0
- package/src/functions/once.ts +33 -0
- package/src/functions/pipe.ts +39 -0
- package/src/functions/throttle.ts +59 -0
- package/src/functions/timer-state.ts +33 -0
- package/src/functions/types.ts +8 -0
- package/src/index.ts +16 -0
- package/src/json-rpc/constants.ts +15 -0
- package/src/json-rpc/factories.ts +22 -0
- package/src/json-rpc/guards.ts +58 -0
- package/src/json-rpc/index.ts +5 -0
- package/src/json-rpc/types.ts +48 -0
- package/src/numbers/bigint-math.ts +163 -0
- package/src/numbers/constants.ts +14 -0
- package/src/numbers/conversions.ts +83 -0
- package/src/numbers/factories.ts +6 -0
- package/src/numbers/formats.ts +52 -0
- package/src/numbers/guards.ts +22 -0
- package/src/numbers/index.ts +10 -0
- package/src/numbers/maths.ts +28 -0
- package/src/numbers/ranges.ts +17 -0
- package/src/numbers/types.ts +7 -0
- package/src/objects/deep-merge.ts +76 -0
- package/src/objects/guards.ts +21 -0
- package/src/objects/index.ts +5 -0
- package/src/objects/transformations.ts +34 -0
- package/src/objects/types.ts +33 -0
- package/src/promises/abortable.ts +37 -0
- package/src/promises/compositions.ts +18 -0
- package/src/promises/deferred.ts +131 -0
- package/src/promises/guards.ts +8 -0
- package/src/promises/index.ts +10 -0
- package/src/promises/pipe.ts +39 -0
- package/src/promises/poll.ts +92 -0
- package/src/promises/retry.ts +138 -0
- package/src/promises/timers.ts +16 -0
- package/src/promises/types.ts +1 -0
- package/src/serializer/constants.ts +5 -0
- package/src/serializer/context.ts +24 -0
- package/src/serializer/index.ts +8 -0
- package/src/serializer/serialize.ts +51 -0
- package/src/serializer/serializers/array.ts +17 -0
- package/src/serializer/serializers/binary.ts +24 -0
- package/src/serializer/serializers/blob.ts +18 -0
- package/src/serializer/serializers/collection.ts +25 -0
- package/src/serializer/serializers/compound.ts +79 -0
- package/src/serializer/serializers/error.ts +75 -0
- package/src/serializer/serializers/function.ts +13 -0
- package/src/serializer/serializers/index.ts +12 -0
- package/src/serializer/serializers/leaf-object.ts +18 -0
- package/src/serializer/serializers/number.ts +14 -0
- package/src/serializer/serializers/object.ts +62 -0
- package/src/serializer/serializers/opaque.ts +36 -0
- package/src/serializer/serializers/primitive.ts +32 -0
- package/src/serializer/symbol-registry.ts +28 -0
- package/src/serializer/types.ts +42 -0
- package/src/serializer/utils.ts +15 -0
- package/src/strings/constants.ts +1 -0
- package/src/strings/factories.ts +9 -0
- package/src/strings/guards.ts +51 -0
- package/src/strings/index.ts +7 -0
- package/src/strings/manipulations.ts +145 -0
- package/src/strings/strip-ansi.ts +14 -0
- package/src/strings/types.ts +3 -0
- package/src/system/env.ts +32 -0
- package/src/system/fetch.ts +23 -0
- package/src/system/graceful-exit.ts +46 -0
- package/src/system/index.ts +6 -0
- package/src/system/path.ts +12 -0
- package/src/system/types.ts +3 -0
- package/src/times/constants.ts +6 -0
- package/src/times/conversions.ts +85 -0
- package/src/times/factories.ts +3 -0
- package/src/times/guards.ts +3 -0
- package/src/times/index.ts +5 -0
- package/src/times/operations.ts +9 -0
- package/CHANGELOG.md +0 -57
- package/arrays/index.d.ts.map +0 -1
- package/arrays/index.js +0 -4
- package/arrays/index.js.map +0 -9
- package/buffers/index.js +0 -4
- package/buffers/index.js.map +0 -9
- package/chunk-25ja9350.js +0 -4
- package/chunk-25ja9350.js.map +0 -13
- package/chunk-3w6nt7kb.js +0 -4
- package/chunk-3w6nt7kb.js.map +0 -12
- package/chunk-5txwcr6j.js +0 -4
- package/chunk-5txwcr6j.js.map +0 -17
- package/chunk-6dxad51h.js +0 -4
- package/chunk-6dxad51h.js.map +0 -12
- package/chunk-6kdnnxe0.js +0 -4
- package/chunk-6kdnnxe0.js.map +0 -17
- package/chunk-7cndek91.js +0 -4
- package/chunk-7cndek91.js.map +0 -15
- package/chunk-bee0nxse.js +0 -6
- package/chunk-bee0nxse.js.map +0 -14
- package/chunk-bjmntg2y.js +0 -4
- package/chunk-bjmntg2y.js.map +0 -18
- package/chunk-d0d0d285.js +0 -4
- package/chunk-d0d0d285.js.map +0 -26
- package/chunk-jny2gdyy.js +0 -4
- package/chunk-jny2gdyy.js.map +0 -12
- package/chunk-kbzgn0z4.js +0 -4
- package/chunk-kbzgn0z4.js.map +0 -10
- package/chunk-qmbgp0vr.js +0 -4
- package/chunk-qmbgp0vr.js.map +0 -12
- package/chunk-qn6n0ff5.js +0 -4
- package/chunk-qn6n0ff5.js.map +0 -17
- package/chunk-r3maskdb.js +0 -5
- package/chunk-r3maskdb.js.map +0 -13
- package/chunk-st3dxvqt.js +0 -4
- package/chunk-st3dxvqt.js.map +0 -14
- package/chunk-xp18wdk6.js +0 -4
- package/chunk-xp18wdk6.js.map +0 -12
- package/collections/index.js +0 -4
- package/collections/index.js.map +0 -9
- package/common/index.js +0 -4
- package/common/index.js.map +0 -9
- package/core/index.js +0 -4
- package/core/index.js.map +0 -9
- package/errors/index.js +0 -4
- package/errors/index.js.map +0 -9
- package/events/index.js +0 -4
- package/events/index.js.map +0 -9
- package/functions/index.js +0 -4
- package/functions/index.js.map +0 -9
- package/index.js +0 -4
- package/index.js.map +0 -9
- package/json-rpc/index.js +0 -4
- package/json-rpc/index.js.map +0 -9
- package/meta.json +0 -2998
- package/meta.md +0 -1816
- package/numbers/index.js +0 -4
- package/numbers/index.js.map +0 -9
- package/objects/index.js +0 -4
- package/objects/index.js.map +0 -9
- package/promises/index.js +0 -4
- package/promises/index.js.map +0 -9
- package/serializer/index.js +0 -4
- package/serializer/index.js.map +0 -9
- package/serializer/serializers/binary.d.ts.map +0 -1
- package/serializer/serializers/blob.d.ts.map +0 -1
- package/serializer/serializers/number.d.ts.map +0 -1
- package/serializer/serializers/opaque.d.ts.map +0 -1
- package/strings/index.js +0 -4
- package/strings/index.js.map +0 -9
- package/system/index.js +0 -4
- package/system/index.js.map +0 -9
- package/system/types.d.ts +0 -3
- package/times/index.js +0 -4
- package/times/index.js.map +0 -9
- /package/{arrays → dist/arrays}/accessors.d.ts +0 -0
- /package/{arrays → dist/arrays}/accessors.d.ts.map +0 -0
- /package/{arrays → dist/arrays}/conversions.d.ts +0 -0
- /package/{arrays → dist/arrays}/conversions.d.ts.map +0 -0
- /package/{arrays → dist/arrays}/factories.d.ts +0 -0
- /package/{arrays → dist/arrays}/factories.d.ts.map +0 -0
- /package/{arrays → dist/arrays}/guards.d.ts +0 -0
- /package/{arrays → dist/arrays}/guards.d.ts.map +0 -0
- /package/{arrays → dist/arrays}/operations.d.ts +0 -0
- /package/{arrays → dist/arrays}/operations.d.ts.map +0 -0
- /package/{arrays → dist/arrays}/set-operations.d.ts +0 -0
- /package/{arrays → dist/arrays}/set-operations.d.ts.map +0 -0
- /package/{arrays → dist/arrays}/types.d.ts +0 -0
- /package/{arrays → dist/arrays}/types.d.ts.map +0 -0
- /package/{buffers → dist/buffers}/conversions.d.ts +0 -0
- /package/{buffers → dist/buffers}/conversions.d.ts.map +0 -0
- /package/{buffers → dist/buffers}/guards.d.ts +0 -0
- /package/{buffers → dist/buffers}/guards.d.ts.map +0 -0
- /package/{buffers → dist/buffers}/index.d.ts +0 -0
- /package/{buffers → dist/buffers}/index.d.ts.map +0 -0
- /package/{buffers → dist/buffers}/operations.d.ts +0 -0
- /package/{buffers → dist/buffers}/operations.d.ts.map +0 -0
- /package/{buffers → dist/buffers}/types.d.ts +0 -0
- /package/{buffers → dist/buffers}/types.d.ts.map +0 -0
- /package/{collections → dist/collections}/fifo-map.d.ts +0 -0
- /package/{collections → dist/collections}/fifo-map.d.ts.map +0 -0
- /package/{collections → dist/collections}/fifo-set.d.ts +0 -0
- /package/{collections → dist/collections}/fifo-set.d.ts.map +0 -0
- /package/{collections → dist/collections}/guards.d.ts +0 -0
- /package/{collections → dist/collections}/guards.d.ts.map +0 -0
- /package/{collections → dist/collections}/index.d.ts +0 -0
- /package/{collections → dist/collections}/index.d.ts.map +0 -0
- /package/{collections → dist/collections}/linked-base.d.ts +0 -0
- /package/{collections → dist/collections}/linked-base.d.ts.map +0 -0
- /package/{collections → dist/collections}/linked-map.d.ts +0 -0
- /package/{collections → dist/collections}/linked-map.d.ts.map +0 -0
- /package/{collections → dist/collections}/linked-set.d.ts +0 -0
- /package/{collections → dist/collections}/linked-set.d.ts.map +0 -0
- /package/{collections → dist/collections}/lru-map.d.ts +0 -0
- /package/{collections → dist/collections}/lru-map.d.ts.map +0 -0
- /package/{collections → dist/collections}/lru-set.d.ts +0 -0
- /package/{collections → dist/collections}/lru-set.d.ts.map +0 -0
- /package/{collections → dist/collections}/types.d.ts +0 -0
- /package/{collections → dist/collections}/types.d.ts.map +0 -0
- /package/{common → dist/common}/guards.d.ts +0 -0
- /package/{common → dist/common}/guards.d.ts.map +0 -0
- /package/{common → dist/common}/index.d.ts +0 -0
- /package/{common → dist/common}/index.d.ts.map +0 -0
- /package/{common → dist/common}/transformations.d.ts +0 -0
- /package/{common → dist/common}/transformations.d.ts.map +0 -0
- /package/{core → dist/core}/constants.d.ts +0 -0
- /package/{core → dist/core}/constants.d.ts.map +0 -0
- /package/{core → dist/core}/conversions.d.ts +0 -0
- /package/{core → dist/core}/conversions.d.ts.map +0 -0
- /package/{core → dist/core}/guards.d.ts +0 -0
- /package/{core → dist/core}/guards.d.ts.map +0 -0
- /package/{core → dist/core}/index.d.ts +0 -0
- /package/{core → dist/core}/index.d.ts.map +0 -0
- /package/{core → dist/core}/types.d.ts +0 -0
- /package/{core → dist/core}/types.d.ts.map +0 -0
- /package/{errors → dist/errors}/base-error.d.ts +0 -0
- /package/{errors → dist/errors}/base-error.d.ts.map +0 -0
- /package/{errors → dist/errors}/factories.d.ts +0 -0
- /package/{errors → dist/errors}/factories.d.ts.map +0 -0
- /package/{errors → dist/errors}/guards.d.ts +0 -0
- /package/{errors → dist/errors}/guards.d.ts.map +0 -0
- /package/{errors → dist/errors}/index.d.ts +0 -0
- /package/{errors → dist/errors}/index.d.ts.map +0 -0
- /package/{errors → dist/errors}/operations.d.ts +0 -0
- /package/{errors → dist/errors}/operations.d.ts.map +0 -0
- /package/{errors → dist/errors}/stringify.d.ts +0 -0
- /package/{errors → dist/errors}/stringify.d.ts.map +0 -0
- /package/{errors → dist/errors}/types.d.ts +0 -0
- /package/{errors → dist/errors}/types.d.ts.map +0 -0
- /package/{events → dist/events}/emitter.d.ts +0 -0
- /package/{events → dist/events}/emitter.d.ts.map +0 -0
- /package/{events → dist/events}/index.d.ts +0 -0
- /package/{events → dist/events}/index.d.ts.map +0 -0
- /package/{events → dist/events}/types.d.ts +0 -0
- /package/{events → dist/events}/types.d.ts.map +0 -0
- /package/{functions → dist/functions}/compositions.d.ts +0 -0
- /package/{functions → dist/functions}/compositions.d.ts.map +0 -0
- /package/{functions → dist/functions}/debounce.d.ts +0 -0
- /package/{functions → dist/functions}/debounce.d.ts.map +0 -0
- /package/{functions → dist/functions}/guards.d.ts +0 -0
- /package/{functions → dist/functions}/guards.d.ts.map +0 -0
- /package/{functions → dist/functions}/index.d.ts +0 -0
- /package/{functions → dist/functions}/index.d.ts.map +0 -0
- /package/{functions → dist/functions}/memoize.d.ts +0 -0
- /package/{functions → dist/functions}/memoize.d.ts.map +0 -0
- /package/{functions → dist/functions}/once.d.ts +0 -0
- /package/{functions → dist/functions}/once.d.ts.map +0 -0
- /package/{functions → dist/functions}/pipe.d.ts +0 -0
- /package/{functions → dist/functions}/pipe.d.ts.map +0 -0
- /package/{functions → dist/functions}/throttle.d.ts +0 -0
- /package/{functions → dist/functions}/throttle.d.ts.map +0 -0
- /package/{functions → dist/functions}/timer-state.d.ts +0 -0
- /package/{functions → dist/functions}/timer-state.d.ts.map +0 -0
- /package/{functions → dist/functions}/types.d.ts +0 -0
- /package/{functions → dist/functions}/types.d.ts.map +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{index.d.ts.map → dist/index.d.ts.map} +0 -0
- /package/{json-rpc → dist/json-rpc}/constants.d.ts +0 -0
- /package/{json-rpc → dist/json-rpc}/constants.d.ts.map +0 -0
- /package/{json-rpc → dist/json-rpc}/factories.d.ts +0 -0
- /package/{json-rpc → dist/json-rpc}/factories.d.ts.map +0 -0
- /package/{json-rpc → dist/json-rpc}/guards.d.ts +0 -0
- /package/{json-rpc → dist/json-rpc}/guards.d.ts.map +0 -0
- /package/{json-rpc → dist/json-rpc}/index.d.ts +0 -0
- /package/{json-rpc → dist/json-rpc}/index.d.ts.map +0 -0
- /package/{json-rpc → dist/json-rpc}/types.d.ts +0 -0
- /package/{json-rpc → dist/json-rpc}/types.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/bigint-math.d.ts +0 -0
- /package/{numbers → dist/numbers}/bigint-math.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/constants.d.ts +0 -0
- /package/{numbers → dist/numbers}/constants.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/conversions.d.ts +0 -0
- /package/{numbers → dist/numbers}/conversions.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/factories.d.ts +0 -0
- /package/{numbers → dist/numbers}/factories.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/formats.d.ts +0 -0
- /package/{numbers → dist/numbers}/formats.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/guards.d.ts +0 -0
- /package/{numbers → dist/numbers}/guards.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/index.d.ts +0 -0
- /package/{numbers → dist/numbers}/index.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/maths.d.ts +0 -0
- /package/{numbers → dist/numbers}/maths.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/ranges.d.ts +0 -0
- /package/{numbers → dist/numbers}/ranges.d.ts.map +0 -0
- /package/{numbers → dist/numbers}/types.d.ts +0 -0
- /package/{numbers → dist/numbers}/types.d.ts.map +0 -0
- /package/{objects → dist/objects}/deep-merge.d.ts +0 -0
- /package/{objects → dist/objects}/deep-merge.d.ts.map +0 -0
- /package/{objects → dist/objects}/guards.d.ts +0 -0
- /package/{objects → dist/objects}/guards.d.ts.map +0 -0
- /package/{objects → dist/objects}/index.d.ts +0 -0
- /package/{objects → dist/objects}/index.d.ts.map +0 -0
- /package/{promises → dist/promises}/abortable.d.ts +0 -0
- /package/{promises → dist/promises}/abortable.d.ts.map +0 -0
- /package/{promises → dist/promises}/compositions.d.ts +0 -0
- /package/{promises → dist/promises}/compositions.d.ts.map +0 -0
- /package/{promises → dist/promises}/guards.d.ts +0 -0
- /package/{promises → dist/promises}/guards.d.ts.map +0 -0
- /package/{promises → dist/promises}/index.d.ts +0 -0
- /package/{promises → dist/promises}/index.d.ts.map +0 -0
- /package/{promises → dist/promises}/pipe.d.ts +0 -0
- /package/{promises → dist/promises}/pipe.d.ts.map +0 -0
- /package/{promises → dist/promises}/poll.d.ts +0 -0
- /package/{promises → dist/promises}/poll.d.ts.map +0 -0
- /package/{promises → dist/promises}/retry.d.ts +0 -0
- /package/{promises → dist/promises}/retry.d.ts.map +0 -0
- /package/{promises → dist/promises}/types.d.ts +0 -0
- /package/{promises → dist/promises}/types.d.ts.map +0 -0
- /package/{serializer → dist/serializer}/constants.d.ts +0 -0
- /package/{serializer → dist/serializer}/constants.d.ts.map +0 -0
- /package/{serializer → dist/serializer}/index.d.ts +0 -0
- /package/{serializer → dist/serializer}/index.d.ts.map +0 -0
- /package/{serializer → dist/serializer}/serializers/index.d.ts +0 -0
- /package/{serializer → dist/serializer}/serializers/index.d.ts.map +0 -0
- /package/{serializer → dist/serializer}/symbol-registry.d.ts +0 -0
- /package/{serializer → dist/serializer}/symbol-registry.d.ts.map +0 -0
- /package/{strings → dist/strings}/constants.d.ts +0 -0
- /package/{strings → dist/strings}/constants.d.ts.map +0 -0
- /package/{strings → dist/strings}/factories.d.ts +0 -0
- /package/{strings → dist/strings}/factories.d.ts.map +0 -0
- /package/{strings → dist/strings}/guards.d.ts +0 -0
- /package/{strings → dist/strings}/guards.d.ts.map +0 -0
- /package/{strings → dist/strings}/types.d.ts +0 -0
- /package/{strings → dist/strings}/types.d.ts.map +0 -0
- /package/{system → dist/system}/env.d.ts +0 -0
- /package/{system → dist/system}/env.d.ts.map +0 -0
- /package/{system → dist/system}/graceful-exit.d.ts +0 -0
- /package/{system → dist/system}/graceful-exit.d.ts.map +0 -0
- /package/{system → dist/system}/index.d.ts +0 -0
- /package/{system → dist/system}/index.d.ts.map +0 -0
- /package/{system → dist/system}/path.d.ts +0 -0
- /package/{system → dist/system}/path.d.ts.map +0 -0
- /package/{times → dist/times}/constants.d.ts +0 -0
- /package/{times → dist/times}/constants.d.ts.map +0 -0
- /package/{times → dist/times}/factories.d.ts +0 -0
- /package/{times → dist/times}/factories.d.ts.map +0 -0
- /package/{times → dist/times}/guards.d.ts +0 -0
- /package/{times → dist/times}/guards.d.ts.map +0 -0
- /package/{times → dist/times}/index.d.ts +0 -0
- /package/{times → dist/times}/index.d.ts.map +0 -0
- /package/{times → dist/times}/operations.d.ts +0 -0
- /package/{times → dist/times}/operations.d.ts.map +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { isString } from '../core'
|
|
2
|
+
import { BigIntMath, isSpecialNumberString, type Numberish } from '../numbers'
|
|
3
|
+
import { padZeroStart } from '../strings'
|
|
4
|
+
|
|
5
|
+
export const toUnixTimestamp = (date: Date) => Math.floor(date.getTime() / 1000)
|
|
6
|
+
|
|
7
|
+
export const fromUnixTimestamp = (timestamp: number) => new Date(timestamp * 1000)
|
|
8
|
+
|
|
9
|
+
const FORMAT_TOKEN_REGEX = /y{4}|S{3}|MM|dd|HH|mm|ss/gu
|
|
10
|
+
const pad2 = (n: number) => padZeroStart(n, 2)
|
|
11
|
+
|
|
12
|
+
export function formatDate(date: Date, format = 'HH:mm:ss.SSS dd/MM/yyyy') {
|
|
13
|
+
if (Number.isNaN(date.getTime())) {
|
|
14
|
+
throw new TypeError('Invalid Date')
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const tokens: Record<string, () => string> = {
|
|
18
|
+
dd: () => pad2(date.getDate()),
|
|
19
|
+
HH: () => pad2(date.getHours()),
|
|
20
|
+
MM: () => pad2(date.getMonth() + 1),
|
|
21
|
+
mm: () => pad2(date.getMinutes()),
|
|
22
|
+
ss: () => pad2(date.getSeconds()),
|
|
23
|
+
SSS: () => padZeroStart(date.getMilliseconds(), 3),
|
|
24
|
+
yyyy: () => padZeroStart(date.getFullYear(), 4),
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return format.replaceAll(FORMAT_TOKEN_REGEX, (match) => tokens[match]!())
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const NANOSECOND_UNITS: Array<[label: string, value: bigint]> = [
|
|
31
|
+
['h', 3_600_000_000_000n],
|
|
32
|
+
['m', 60_000_000_000n],
|
|
33
|
+
['s', 1_000_000_000n],
|
|
34
|
+
['ms', 1_000_000n],
|
|
35
|
+
['\u03BCs', 1000n],
|
|
36
|
+
['ns', 1n],
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
export function humanizeNanoseconds(ns: Numberish) {
|
|
40
|
+
if (isString(ns) && isSpecialNumberString(ns)) {
|
|
41
|
+
return ns
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
let remaining: bigint
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
remaining = BigInt(ns)
|
|
48
|
+
} catch {
|
|
49
|
+
return ns.toString()
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (remaining === 0n) {
|
|
53
|
+
return '0ns'
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const sign = remaining < 0n ? '-' : ''
|
|
57
|
+
const parts: string[] = []
|
|
58
|
+
|
|
59
|
+
remaining = BigIntMath.abs(remaining)
|
|
60
|
+
|
|
61
|
+
for (const [label, value] of NANOSECOND_UNITS) {
|
|
62
|
+
if (remaining >= value) {
|
|
63
|
+
parts.push(`${remaining / value}${label}`)
|
|
64
|
+
remaining %= value
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return sign + parts.join(' ')
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function humanizeWithMultiplier(value: Numberish, multiplier: bigint) {
|
|
72
|
+
if (isString(value) && isSpecialNumberString(value)) {
|
|
73
|
+
return value
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
return humanizeNanoseconds(BigInt(value) * multiplier)
|
|
78
|
+
} catch {
|
|
79
|
+
return value.toString()
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export const humanizeMilliseconds = (ms: Numberish) => humanizeWithMultiplier(ms, 1_000_000n)
|
|
84
|
+
|
|
85
|
+
export const humanizeSeconds = (s: Numberish) => humanizeWithMultiplier(s, 1_000_000_000n)
|
package/CHANGELOG.md
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
## v0.0.4
|
|
5
|
-
|
|
6
|
-
[compare changes](https://github.com/kdtlabs/utils/compare/v0.0.3...v0.0.4)
|
|
7
|
-
|
|
8
|
-
### 🚀 Enhancements
|
|
9
|
-
|
|
10
|
-
- **common:** Add nullToUndefined util and NullToUndefined type ([fe1f046](https://github.com/kdtlabs/utils/commit/fe1f046))
|
|
11
|
-
- **system:** Implement getEnv with prefix and includeNonePrefix fallback ([15d6da7](https://github.com/kdtlabs/utils/commit/15d6da7))
|
|
12
|
-
- **common:** Add isDeepEqual guard ([e79ac3d](https://github.com/kdtlabs/utils/commit/e79ac3d))
|
|
13
|
-
|
|
14
|
-
### 💅 Refactors
|
|
15
|
-
|
|
16
|
-
- **core:** Move toString and typeOf to core/conversions ([7f2bfa8](https://github.com/kdtlabs/utils/commit/7f2bfa8))
|
|
17
|
-
|
|
18
|
-
### ❤️ Contributors
|
|
19
|
-
|
|
20
|
-
- Diep Dang <kdt310722@gmail.com>
|
|
21
|
-
|
|
22
|
-
## v0.0.3
|
|
23
|
-
|
|
24
|
-
[compare changes](https://github.com/kdtlabs/utils/compare/v0.0.2...v0.0.3)
|
|
25
|
-
|
|
26
|
-
## v0.0.2
|
|
27
|
-
|
|
28
|
-
[compare changes](https://github.com/kdtlabs/utils/compare/v0.0.1...v0.0.2)
|
|
29
|
-
|
|
30
|
-
### 🩹 Fixes
|
|
31
|
-
|
|
32
|
-
- **release:** Build after changelog gen to prevent package.json version error ([459f06c](https://github.com/kdtlabs/utils/commit/459f06c))
|
|
33
|
-
|
|
34
|
-
### ❤️ Contributors
|
|
35
|
-
|
|
36
|
-
- Diep Dang <kdt310722@gmail.com>
|
|
37
|
-
|
|
38
|
-
## v0.0.1
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
### 🚀 Enhancements
|
|
42
|
-
|
|
43
|
-
- Add SKILL.md for AI tool discovery of available utils ([e1dde1a](https://github.com/kdtlabs/utils/commit/e1dde1a))
|
|
44
|
-
|
|
45
|
-
### 🩹 Fixes
|
|
46
|
-
|
|
47
|
-
- **release:** Fix release script and add CHANGELOG.md to eslint ignore ([a72208c](https://github.com/kdtlabs/utils/commit/a72208c))
|
|
48
|
-
|
|
49
|
-
### 🏡 Chore
|
|
50
|
-
|
|
51
|
-
- Initial commit ([058e414](https://github.com/kdtlabs/utils/commit/058e414))
|
|
52
|
-
- Add gitnexus to ignore files ([88c2d38](https://github.com/kdtlabs/utils/commit/88c2d38))
|
|
53
|
-
|
|
54
|
-
### ❤️ Contributors
|
|
55
|
-
|
|
56
|
-
- Diep Dang <kdt310722@gmail.com>
|
|
57
|
-
|
package/arrays/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/arrays/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAEhC,mBAAmB,SAAS,CAAA"}
|
package/arrays/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{$b as w,Fb as a,Gb as b,Hb as c,Ib as d,Jb as e,Kb as f,Lb as g,Mb as h,Nb as i,Ob as j,Pb as k,Qb as l,Rb as m,Sb as n,Tb as o,Ub as p,Vb as q,Wb as r,Xb as s,Yb as t,Zb as u,_b as v,ac as x,bc as y}from"../chunk-7cndek91.js";import"../chunk-qn6n0ff5.js";import"../chunk-3w6nt7kb.js";export{g as wrap,v as uniqueBy,u as unique,h as toArray,y as symmetricDiff,s as sortBy,o as shuffle,l as sample,k as range,t as partition,a as nth,m as merge,c as last,q as keyBy,f as isNonEmptyArray,e as isEmptyArray,d as isArray,w as intersection,p as groupBy,n as flatten,b as first,x as diff,j as createArray,i as compact,r as chunk};
|
|
2
|
-
|
|
3
|
-
//# debugId=7FF7885B231E2BF464756E2164756E21
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
package/arrays/index.js.map
DELETED
package/buffers/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{gb as a,hb as b,ib as c,jb as d,kb as e,lb as f,mb as g,nb as h,ob as i}from"../chunk-xp18wdk6.js";export{g as toUint8Array,c as isSharedArrayBuffer,e as isBufferLike,a as isBuffer,d as isArrayBufferView,b as isArrayBuffer,h as concatBuffers,f as bufferToString,i as bufferEquals};
|
|
2
|
-
|
|
3
|
-
//# debugId=58E6E050C983599364756E2164756E21
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
package/buffers/index.js.map
DELETED
package/chunk-25ja9350.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{isUndefined as d}from"@/core";var s=(e)=>e==="development",x=()=>s("development")||s("dev"),L=x,g=()=>s("production")||s("prod"),w=g,b=()=>s("staging")||s("stage"),A=b;function H(e,{env:t=process.env,includeNonePrefix:n=!1,prefix:i}={}){let r={};for(let o of e)if(r[o]=t[i?`${i}${o}`:o],n&&d(r[o]))r[o]=t[o];return r}import{combineSignals as h,createAbortController as v}from"@/errors";import{resolveOptions as y}from"@/objects";import{withRetry as P}from"@/promises";async function D(e,{retry:t=!0,signal:n,timeout:i=1e4,...r}={}){let o={enabled:!0,...y(t,{})||{enabled:!1}},p=async(m)=>{let f=v(i),u=h(f.signal,n,m);return globalThis.fetch(e,{...r,signal:u}).finally(()=>f.abort())};return o.enabled?await P(p,{...o,signal:n}):await p()}var a=new Map;function F(e,t=3000){return a.set(e,t),()=>{a.delete(e)}}var l=!1,c,G=()=>{return l};function $(e=0,t=3000){if(c)return c;if(l=!0,a.size===0)process.exit(e);let n=[];for(let[o,p]of a)n.push(Promise.resolve().then(()=>o(e))),t=Math.max(t,p);let i=setTimeout(()=>process.exit(e),t);function r(){clearTimeout(i),process.exit(e)}return c=Promise.allSettled(n).then(r)}import{dirname as E,join as O}from"node:path";import{fileURLToPath as S}from"node:url";import{bufferToString as I,isBufferLike as R}from"@/buffers";var k=(e)=>R(e)?I(e):e.toString(),V=(e,...t)=>O(E(S(e.url)),...t.map(k));export{s as tc,x as uc,L as vc,g as wc,w as xc,b as yc,A as zc,H as Ac,D as Bc,F as Cc,G as Dc,$ as Ec,k as Fc,V as Gc};
|
|
2
|
-
|
|
3
|
-
//# debugId=578EB85944C5459C64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-25ja9350.js.map
|
package/chunk-25ja9350.js.map
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/system/env.ts", "../src/system/fetch.ts", "../src/system/graceful-exit.ts", "../src/system/path.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { isUndefined } from '@/core'\n\nexport const isInMode = (key: string) => process.env.NODE_ENV === key\n\nexport const isInDevelopment = () => isInMode('development') || isInMode('dev')\nexport const isInDev = isInDevelopment\n\nexport const isInProduction = () => isInMode('production') || isInMode('prod')\nexport const isInProd = isInProduction\n\nexport const isInStaging = () => isInMode('staging') || isInMode('stage')\nexport const isInStage = isInStaging\n\nexport interface GetEnvOptions {\n env?: NodeJS.ProcessEnv\n includeNonePrefix?: boolean\n prefix?: string\n}\n\nexport function getEnv<T extends string>(key: T[], { env = process.env, includeNonePrefix = false, prefix }: GetEnvOptions = {}) {\n const result: Record<string, string | undefined> = {}\n\n for (const k of key) {\n result[k] = env[prefix ? `${prefix}${k}` : k]\n\n if (includeNonePrefix && isUndefined(result[k])) {\n result[k] = env[k]\n }\n }\n\n return result as Record<T, string | undefined>\n}\n",
|
|
6
|
-
"import type { UrlLike } from '@/strings'\nimport { combineSignals, createAbortController } from '@/errors'\nimport { resolveOptions } from '@/objects'\nimport { withRetry, type WithRetryOptions } from '@/promises'\n\nexport interface FetchOptions extends Omit<RequestInit, 'signal'> {\n retry?: Omit<WithRetryOptions<Response>, 'signal'> & { enabled?: boolean } | boolean\n signal?: AbortSignal\n timeout?: number\n}\n\nexport async function fetch(request: RequestInfo | UrlLike, { retry = true, signal, timeout = 10_000, ...options }: FetchOptions = {}) {\n const retryOptions = { enabled: true, ...(resolveOptions(retry, {}) || { enabled: false }) }\n\n const execute = async (retrySignal?: AbortSignal) => {\n const controller = createAbortController(timeout)\n const fetchSignal = combineSignals(controller.signal, signal, retrySignal)\n\n return globalThis.fetch(request, { ...options, signal: fetchSignal }).finally(() => controller.abort())\n }\n\n return retryOptions.enabled ? await withRetry(execute, { ...retryOptions, signal }) : await execute()\n}\n",
|
|
7
|
-
"export type ExitHandler = (exitCode?: number) => Promise<void>\n\nconst exitTasks = new Map<ExitHandler, number>()\n\nexport function addExitHandler(handler: ExitHandler, maxWaitTime = 3000) {\n exitTasks.set(handler, maxWaitTime)\n\n return () => {\n exitTasks.delete(handler)\n }\n}\n\nlet _isExiting = false\nlet _exitPromise: Promise<never> | undefined\n\nexport const isExiting = () => {\n return _isExiting\n}\n\nexport function gracefulExit(exitCode = 0, maxWaitTime = 3000): Promise<never> {\n if (_exitPromise) {\n return _exitPromise\n }\n\n _isExiting = true\n\n if (exitTasks.size === 0) {\n process.exit(exitCode)\n }\n\n const promises: Array<Promise<void>> = []\n\n for (const [handler, wait] of exitTasks) {\n promises.push(Promise.resolve().then(() => handler(exitCode)))\n maxWaitTime = Math.max(maxWaitTime, wait)\n }\n\n const timer = setTimeout(() => process.exit(exitCode), maxWaitTime)\n\n function finish(): never {\n clearTimeout(timer)\n process.exit(exitCode)\n }\n\n return _exitPromise = Promise.allSettled(promises).then(finish)\n}\n",
|
|
8
|
-
"import type { PathLike } from './types'\nimport { dirname, join } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { bufferToString, isBufferLike } from '@/buffers'\n\nexport const pathToString = (path: PathLike) => (\n isBufferLike(path) ? bufferToString(path) : path.toString()\n)\n\nexport const pwd = (importMeta: ImportMeta, ...path: PathLike[]) => (\n join(dirname(fileURLToPath(importMeta.url)), ...path.map(pathToString))\n)\n"
|
|
9
|
-
],
|
|
10
|
-
"mappings": "AAAA,sBAAS,eAEF,IAAM,EAAW,CAAC,IAAyC,IAAzB,cAE5B,EAAkB,IAAM,EAAS,aAAa,GAAK,EAAS,KAAK,EACjE,EAAU,EAEV,EAAiB,IAAM,EAAS,YAAY,GAAK,EAAS,MAAM,EAChE,EAAW,EAEX,EAAc,IAAM,EAAS,SAAS,GAAK,EAAS,OAAO,EAC3D,EAAY,EAQlB,SAAS,CAAwB,CAAC,GAAY,MAAM,QAAQ,IAAK,oBAAoB,GAAO,UAA0B,CAAC,EAAG,CAC7H,IAAM,EAA6C,CAAC,EAEpD,QAAW,KAAK,EAGZ,GAFA,EAAO,GAAK,EAAI,EAAS,GAAG,IAAS,IAAM,GAEvC,GAAqB,EAAY,EAAO,EAAE,EAC1C,EAAO,GAAK,EAAI,GAIxB,OAAO,EC7BX,yBAAS,2BAAgB,iBACzB,yBAAS,kBACT,oBAAS,mBAQT,eAAsB,CAAK,CAAC,GAAkC,QAAQ,GAAM,SAAQ,UAAU,OAAW,GAA0B,CAAC,EAAG,CACnI,IAAM,EAAe,CAAE,QAAS,MAAU,EAAe,EAAO,CAAC,CAAC,GAAK,CAAE,QAAS,EAAM,CAAG,EAErF,EAAU,MAAO,IAA8B,CACjD,IAAM,EAAa,EAAsB,CAAO,EAC1C,EAAc,EAAe,EAAW,OAAQ,EAAQ,CAAW,EAEzE,OAAO,WAAW,MAAM,EAAS,IAAK,EAAS,OAAQ,CAAY,CAAC,EAAE,QAAQ,IAAM,EAAW,MAAM,CAAC,GAG1G,OAAO,EAAa,QAAU,MAAM,EAAU,EAAS,IAAK,EAAc,QAAO,CAAC,EAAI,MAAM,EAAQ,ECnBxG,IAAM,EAAY,IAAI,IAEf,SAAS,CAAc,CAAC,EAAsB,EAAc,KAAM,CAGrE,OAFA,EAAU,IAAI,EAAS,CAAW,EAE3B,IAAM,CACT,EAAU,OAAO,CAAO,GAIhC,IAAI,EAAa,GACb,EAES,EAAY,IAAM,CAC3B,OAAO,GAGJ,SAAS,CAAY,CAAC,EAAW,EAAG,EAAc,KAAsB,CAC3E,GAAI,EACA,OAAO,EAKX,GAFA,EAAa,GAET,EAAU,OAAS,EACnB,QAAQ,KAAK,CAAQ,EAGzB,IAAM,EAAiC,CAAC,EAExC,QAAY,EAAS,KAAS,EAC1B,EAAS,KAAK,QAAQ,QAAQ,EAAE,KAAK,IAAM,EAAQ,CAAQ,CAAC,CAAC,EAC7D,EAAc,KAAK,IAAI,EAAa,CAAI,EAG5C,IAAM,EAAQ,WAAW,IAAM,QAAQ,KAAK,CAAQ,EAAG,CAAW,EAElE,SAAS,CAAM,EAAU,CACrB,aAAa,CAAK,EAClB,QAAQ,KAAK,CAAQ,EAGzB,OAAO,EAAe,QAAQ,WAAW,CAAQ,EAAE,KAAK,CAAM,EC3ClE,kBAAS,UAAS,kBAClB,wBAAS,iBACT,yBAAS,kBAAgB,kBAElB,IAAM,EAAe,CAAC,IACzB,EAAa,CAAI,EAAI,EAAe,CAAI,EAAI,EAAK,SAAS,EAGjD,EAAM,CAAC,KAA2B,IAC3C,EAAK,EAAQ,EAAc,EAAW,GAAG,CAAC,EAAG,GAAG,EAAK,IAAI,CAAY,CAAC",
|
|
11
|
-
"debugId": "578EB85944C5459C64756E2164756E21",
|
|
12
|
-
"names": []
|
|
13
|
-
}
|
package/chunk-3w6nt7kb.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var e=new Set(["1","on","true","yes"]);var c=(n)=>Object.prototype.toString.call(n);function b(n){if(n===null)return"null";return typeof n==="object"||typeof n==="function"?c(n).slice(8,-1).toLowerCase():typeof n}var o=(n)=>n===null,i=(n)=>n===void 0,l=(n)=>o(n)||i(n),w=(n)=>!o(n),T=(n)=>!i(n),a=(n)=>!l(n),r=(n)=>typeof n==="boolean",d=(n)=>typeof n==="symbol",y=(n)=>typeof n==="bigint",s=(n)=>typeof n==="number",u=(n)=>typeof n==="string",N=(n)=>n instanceof Date,S=(n)=>n===null||typeof n!=="object"&&typeof n!=="function",g=(n)=>o(n)||u(n)||r(n)||s(n)&&Number.isFinite(n);function P(n,p={}){let{anyNonZeroNumber:t=!1,trueStrings:f=e}=p;if(r(n))return n;if(u(n))return f.has(n.toLowerCase());if(s(n))return t?n!==0&&Number.isFinite(n):n===1;if(y(n))return t?n!==0n:n===1n;return!1}var L=(n)=>typeof n==="object"&&n!==null&&typeof n.next==="function"&&typeof n[Symbol.iterator]==="function";export{e as Fd,c as Gd,b as Hd,o as Id,i as Jd,l as Kd,w as Ld,T as Md,a as Nd,r as Od,d as Pd,y as Qd,s as Rd,u as Sd,N as Td,S as Ud,g as Vd,P as Wd,L as Xd};
|
|
2
|
-
|
|
3
|
-
//# debugId=4BB7D5816C29805564756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-3w6nt7kb.js.map
|
package/chunk-3w6nt7kb.js.map
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/core/constants.ts", "../src/core/conversions.ts", "../src/core/guards.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"export const DEFAULT_TRUE_STRINGS = new Set(['1', 'on', 'true', 'yes'])\n",
|
|
6
|
-
"export const toString = (value: unknown) => Object.prototype.toString.call(value)\n\nexport function typeOf(value: unknown): string {\n if (value === null) {\n return 'null'\n }\n\n return typeof value === 'object' || typeof value === 'function' ? toString(value).slice(8, -1).toLowerCase() : typeof value\n}\n",
|
|
7
|
-
"import type { JsonablePrimitive, Primitive } from './types'\nimport { DEFAULT_TRUE_STRINGS } from './constants'\n\nexport const isNull = (value: unknown): value is null => value === null\nexport const isUndefined = (value: unknown): value is undefined => value === undefined\nexport const isNullish = (value: unknown): value is null | undefined => isNull(value) || isUndefined(value)\n\nexport const notNull = <T>(value: T): value is Exclude<T, null> => !isNull(value)\nexport const notUndefined = <T>(value: T): value is Exclude<T, undefined> => !isUndefined(value)\nexport const notNullish = <T>(value: T): value is NonNullable<T> => !isNullish(value)\n\nexport const isBoolean = (value: unknown): value is boolean => typeof value === 'boolean'\nexport const isSymbol = (value: unknown): value is symbol => typeof value === 'symbol'\nexport const isBigInt = (value: unknown): value is bigint => typeof value === 'bigint'\nexport const isNumber = (value: unknown): value is number => typeof value === 'number'\nexport const isString = (value: unknown): value is string => typeof value === 'string'\nexport const isDate = (value: unknown): value is Date => value instanceof Date\n\nexport const isPrimitive = (value: unknown): value is Primitive => value === null || (typeof value !== 'object' && typeof value !== 'function')\n\nexport const isJsonablePrimitive = (value: unknown): value is JsonablePrimitive => (\n isNull(value) || isString(value) || isBoolean(value) || (isNumber(value) && Number.isFinite(value))\n)\n\nexport interface IsTrueLikeOptions {\n anyNonZeroNumber?: boolean\n trueStrings?: Set<string>\n}\n\nexport function isTrueLike(value: unknown, options: IsTrueLikeOptions = {}) {\n const { anyNonZeroNumber = false, trueStrings = DEFAULT_TRUE_STRINGS } = options\n\n if (isBoolean(value)) {\n return value\n }\n\n if (isString(value)) {\n return trueStrings.has(value.toLowerCase())\n }\n\n if (isNumber(value)) {\n return anyNonZeroNumber ? value !== 0 && Number.isFinite(value) : value === 1\n }\n\n if (isBigInt(value)) {\n return anyNonZeroNumber ? value !== 0n : value === 1n\n }\n\n return false\n}\n\nexport const isGenerator = (value: unknown): boolean => (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as Record<PropertyKey, unknown>).next === 'function' &&\n typeof (value as Record<PropertyKey, unknown>)[Symbol.iterator] === 'function'\n)\n"
|
|
8
|
-
],
|
|
9
|
-
"mappings": "AAAO,IAAM,EAAuB,IAAI,IAAI,CAAC,IAAK,KAAM,OAAQ,KAAK,CAAC,ECA/D,IAAM,EAAW,CAAC,IAAmB,OAAO,UAAU,SAAS,KAAK,CAAK,EAEzE,SAAS,CAAM,CAAC,EAAwB,CAC3C,GAAI,IAAU,KACV,MAAO,OAGX,OAAO,OAAO,IAAU,UAAY,OAAO,IAAU,WAAa,EAAS,CAAK,EAAE,MAAM,EAAG,EAAE,EAAE,YAAY,EAAI,OAAO,ECJnH,IAAM,EAAS,CAAC,IAAkC,IAAU,KACtD,EAAc,CAAC,IAAuC,IAAU,OAChE,EAAY,CAAC,IAA8C,EAAO,CAAK,GAAK,EAAY,CAAK,EAE7F,EAAU,CAAI,IAAwC,CAAC,EAAO,CAAK,EACnE,EAAe,CAAI,IAA6C,CAAC,EAAY,CAAK,EAClF,EAAa,CAAI,IAAsC,CAAC,EAAU,CAAK,EAEvE,EAAY,CAAC,IAAqC,OAAO,IAAU,UACnE,EAAW,CAAC,IAAoC,OAAO,IAAU,SACjE,EAAW,CAAC,IAAoC,OAAO,IAAU,SACjE,EAAW,CAAC,IAAoC,OAAO,IAAU,SACjE,EAAW,CAAC,IAAoC,OAAO,IAAU,SACjE,EAAS,CAAC,IAAkC,aAAiB,KAE7D,EAAc,CAAC,IAAuC,IAAU,MAAS,OAAO,IAAU,UAAY,OAAO,IAAU,WAEvH,EAAsB,CAAC,IAChC,EAAO,CAAK,GAAK,EAAS,CAAK,GAAK,EAAU,CAAK,GAAM,EAAS,CAAK,GAAK,OAAO,SAAS,CAAK,EAQ9F,SAAS,CAAU,CAAC,EAAgB,EAA6B,CAAC,EAAG,CACxE,IAAQ,mBAAmB,GAAO,cAAc,GAAyB,EAEzE,GAAI,EAAU,CAAK,EACf,OAAO,EAGX,GAAI,EAAS,CAAK,EACd,OAAO,EAAY,IAAI,EAAM,YAAY,CAAC,EAG9C,GAAI,EAAS,CAAK,EACd,OAAO,EAAmB,IAAU,GAAK,OAAO,SAAS,CAAK,EAAI,IAAU,EAGhF,GAAI,EAAS,CAAK,EACd,OAAO,EAAmB,IAAU,GAAK,IAAU,GAGvD,MAAO,GAGJ,IAAM,EAAc,CAAC,IACxB,OAAO,IAAU,UACjB,IAAU,MACV,OAAQ,EAAuC,OAAS,YACxD,OAAQ,EAAuC,OAAO,YAAc",
|
|
10
|
-
"debugId": "4BB7D5816C29805564756E2164756E21",
|
|
11
|
-
"names": []
|
|
12
|
-
}
|
package/chunk-5txwcr6j.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{fd as d,id as P}from"./chunk-bee0nxse.js";function p(e,a,t){if(!a)return e;let r=()=>t?P(t):a.reason??d();if(a.aborted)return Promise.reject(r());return new Promise((T,n)=>{let b=!1,o,f=(i)=>{if(!b)b=!0,a.removeEventListener("abort",o),i?.()};o=()=>{f(()=>n(r()))},a.addEventListener("abort",o),e.then((i)=>f(()=>T(i)),(i)=>f(()=>n(i)))})}var O=(e)=>async(a)=>{return Promise.resolve(e(a)).then(()=>a)};O.catch=(e)=>async(a)=>{throw await e(a),a};async function V(e,a){try{return await e()}catch(t){return await a(t)}}import{combineSignals as W,createAbortController as C,createAbortError as j}from"@/errors";function D(e,a){if(a)e?.removeEventListener("abort",a)}function F(e,a){let t=()=>a();if(e?.aborted)a();else e?.addEventListener("abort",t);return t}function L(e,a,t,r){let T=()=>{try{e()}catch(n){t?.(n)}try{a?.()}catch(n){t?.(n)}};if(r)T();else queueMicrotask(T)}function G({onCallbackError:e,onReject:a,onResolve:t,onSettle:r,signal:T,synchronousCallbacks:n=!1}={}){let b,o,f,i=!1,A=!1,s=!1,l=new Promise((w,y)=>{b=w,o=y}),g=(w)=>{D(T,f),L(w,r,e,n)};return Object.defineProperty(l,"isSettled",{enumerable:!0,get:()=>i}),Object.defineProperty(l,"isPending",{enumerable:!0,get:()=>!i}),Object.defineProperty(l,"isResolved",{enumerable:!0,get:()=>A}),Object.defineProperty(l,"isRejected",{enumerable:!0,get:()=>s}),l.resolve=(w)=>{if(i)return;i=!0,A=!0,b(w),g(()=>t?.(w))},l.reject=(w)=>{if(i)return;i=!0,s=!0,o(w),g(()=>a?.(w))},f=F(T,()=>{l.reject(T?.reason??j())}),l}var Z=(e,{error:a,signal:t,...r}={})=>{let T=C(e,a);return G({...r,onSettle(){T.abort(),r.onSettle?.()},signal:W(t,T.signal)})};import{isFunction as c}from"@/functions";import{isObject as x}from"@/objects";var te=(e)=>x(e)&&c(e.then),re=(e)=>x(e)&&c(e.then)&&c(e.catch)&&c(e.finally);import{isNonEmptyArray as N}from"@/arrays";async function ie(...e){if(!N(e))return;let a=await e[0]();for(let t=1;t<e.length;t++)a=await e[t](a);return a}import{assertParam as h}from"@/common";import{createAbortController as B,isAbortError as H}from"@/errors";import{isFunction as v}from"@/functions";import{isPlainObject as R}from"@/objects";import{combineSignals as I,createAbortController as M}from"@/errors";import{transform as q}from"@/functions";var u=async(e,{error:a,signal:t}={})=>p(new Promise((r)=>setTimeout(r,e)),t,a),we=(e,a,{error:t,signal:r}={})=>q(M(a,t),(T)=>p(e,I(r,T.signal)).finally(()=>T.abort()));function ye(e,a={}){let t,r;if(v(e)&&R(a))t=e,r=a;else h(R(e),"options must be an object"),h(v(a),"fn must be a function"),t=a,r=e;let{delay:T=0,immediately:n=!0,onError:b,stopOnError:o=!0}=r,f=B(),i=!0,A,s=()=>{return i=!1,f.abort(),A??Promise.resolve()},l,g=async()=>{if(!i)return;try{if(await p(Promise.resolve(t(f.signal)),f.signal),i)await u(T,{signal:f.signal})}catch(w){if(H(w)&&!i)return;if(b?.(w),o){s();return}}setTimeout(l,0)};if(l=()=>{A=g().finally(()=>{A=void 0})},n)Promise.resolve().then(l);else setTimeout(l,T);return s}import{isAbortError as E}from"@/errors";import{clamp as k}from"@/numbers";function _(e,{backoff:a=2,delay:t=1000,jitter:r=0.01,maxDelay:T=1e4}={}){let n=t*a**(e-1),b=k(n,0,T);if(r<=0)return b;let o=b*r,f=(Math.random()-0.5)*2*o;return k(b+f,0,T)}function m(e){if(e.length===1)return e[0];return AggregateError(e,"All retry attempts failed")}function z(e){if(!E(e))throw e}async function S(e,a,t,r,T){let n=_(e,a);await t?.(n,T),await u(n,{signal:r}).catch(z)}async function J(e,a,t,r,T,n){if(E(e))throw e;if(a.push(e),t<=0)throw m(a);if(r&&!await r(e,n))throw m(a);await T?.(e,n)}async function K(e,a,t,r,T,n){if(!r||!await r(e,n))return!0;if(t<=0)throw m(a);return await T?.(e,n),!1}async function Re(e,{maxAttempts:a=3,onBeforeWaitForNextAttempt:t,onFailedAttempt:r,onSuccessAttempt:T,shouldRetry:n,shouldRetryOnSuccess:b,signal:o,...f}={}){if(a<1)throw RangeError("maxAttempts must be at least 1");if(o)o.throwIfAborted();let i=0,A,s=[];while(i<a){let l=a-(i+++1),g={attempts:i,retriesLeft:l,signal:o};try{if(o)o.throwIfAborted();A=await p(Promise.resolve(e(o)),o)}catch(y){await J(y,s,l,n,r,g),await S(i,f,t,o,g);continue}if(await K(A,s,l,b,T,g))return A;await S(i,f,t,o,g)}throw m(s)}export{p as Hc,O as Ic,V as Jc,D as Kc,F as Lc,L as Mc,G as Nc,Z as Oc,te as Pc,re as Qc,ie as Rc,u as Sc,we as Tc,ye as Uc,_ as Vc,m as Wc,z as Xc,S as Yc,J as Zc,K as _c,Re as $c};
|
|
2
|
-
|
|
3
|
-
//# debugId=857CC4AAB8256DCC64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-5txwcr6j.js.map
|
package/chunk-5txwcr6j.js.map
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/promises/abortable.ts", "../src/promises/compositions.ts", "../src/promises/deferred.ts", "../src/promises/guards.ts", "../src/promises/pipe.ts", "../src/promises/poll.ts", "../src/promises/timers.ts", "../src/promises/retry.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { createAbortError, ensureError, type Errorable } from '../errors'\n\nexport function abortable<T>(promise: Promise<T>, signal?: AbortSignal, error?: Errorable): Promise<T> {\n if (!signal) {\n return promise\n }\n\n const createError = () => (error ? ensureError(error) : (signal.reason ?? createAbortError()))\n\n if (signal.aborted) {\n return Promise.reject(createError())\n }\n\n return new Promise<T>((resolve, reject) => {\n let isSettled = false\n let onAbort: () => void\n\n const cleanup = (afterCleanup?: () => void) => {\n if (!isSettled) {\n isSettled = true\n signal.removeEventListener('abort', onAbort)\n afterCleanup?.()\n }\n }\n\n onAbort = () => {\n cleanup(() => reject(createError()))\n }\n\n signal.addEventListener('abort', onAbort)\n\n promise.then(\n (value) => cleanup(() => resolve(value)),\n (error_) => cleanup(() => reject(error_)),\n )\n })\n}\n",
|
|
6
|
-
"import type { Awaitable } from './types'\n\nexport const pTap = <T>(fn: (value: T) => Awaitable<unknown>) => async (value: T): Promise<T> => {\n return Promise.resolve(fn(value)).then(() => value)\n}\n\npTap.catch = (fn: (error: unknown) => Awaitable<unknown>) => async (error: unknown): Promise<never> => {\n await fn(error)\n throw error\n}\n\nexport async function tryCatchAsync<T>(fn: () => Awaitable<T>, fallback: (error: unknown) => Awaitable<T>) {\n try {\n return await fn()\n } catch (error) {\n return await fallback(error)\n }\n}\n",
|
|
7
|
-
"import { combineSignals, createAbortController, createAbortError, type Errorable } from '@/errors'\n\nexport interface DeferredPromiseOptions<T> {\n onCallbackError?: (error: unknown) => void\n onReject?: (reason: unknown) => void\n onResolve?: (value: PromiseLike<T> | T) => void\n onSettle?: () => void\n signal?: AbortSignal\n synchronousCallbacks?: boolean\n}\n\nexport interface DeferredPromise<T> extends Promise<T> {\n isPending: boolean\n isRejected: boolean\n isResolved: boolean\n isSettled: boolean\n reject: (reason?: unknown) => void\n resolve: (value: PromiseLike<T> | T) => void\n}\n\nexport function cleanupAbortSignal(signal: AbortSignal | undefined, abortHandler: (() => void) | undefined) {\n if (abortHandler) {\n signal?.removeEventListener('abort', abortHandler)\n }\n}\n\nexport function setupAbortSignal(signal: AbortSignal | undefined, onAbort: () => void) {\n const abortHandler = () => onAbort()\n\n if (signal?.aborted) {\n onAbort()\n } else {\n signal?.addEventListener('abort', abortHandler)\n }\n\n return abortHandler\n}\n\nexport function invokeSettleCallback(cb: () => void, onSettle: (() => void) | undefined, onCallbackError: ((error: unknown) => void) | undefined, synchronousCallbacks: boolean) {\n const callback = () => {\n try {\n cb()\n } catch (error) {\n onCallbackError?.(error)\n }\n\n try {\n onSettle?.()\n } catch (error) {\n onCallbackError?.(error)\n }\n }\n\n if (synchronousCallbacks) {\n callback()\n } else {\n queueMicrotask(callback)\n }\n}\n\nexport function createDeferred<T>({ onCallbackError, onReject, onResolve, onSettle, signal, synchronousCallbacks = false }: DeferredPromiseOptions<T> = {}): DeferredPromise<T> {\n let resolveFn: (value: PromiseLike<T> | T) => void\n let rejectFn: (reason?: unknown) => void\n let abortHandler: (() => void) | undefined\n\n let isSettled = false\n let isResolved = false\n let isRejected = false\n\n const promise = <DeferredPromise<T>> new Promise<T>((resolve, reject) => {\n resolveFn = resolve\n rejectFn = reject\n })\n\n const afterSettle = (cb: () => void) => {\n cleanupAbortSignal(signal, abortHandler)\n invokeSettleCallback(cb, onSettle, onCallbackError, synchronousCallbacks)\n }\n\n Object.defineProperty(promise, 'isSettled', { enumerable: true, get: () => isSettled })\n Object.defineProperty(promise, 'isPending', { enumerable: true, get: () => !isSettled })\n Object.defineProperty(promise, 'isResolved', { enumerable: true, get: () => isResolved })\n Object.defineProperty(promise, 'isRejected', { enumerable: true, get: () => isRejected })\n\n promise.resolve = (value: PromiseLike<T> | T) => {\n if (isSettled) {\n return\n }\n\n isSettled = true\n isResolved = true\n\n resolveFn(value)\n afterSettle(() => onResolve?.(value))\n }\n\n promise.reject = (reason?: unknown) => {\n if (isSettled) {\n return\n }\n\n isSettled = true\n isRejected = true\n\n rejectFn(reason)\n afterSettle(() => onReject?.(reason))\n }\n\n abortHandler = setupAbortSignal(signal, () => {\n promise.reject(signal?.reason ?? createAbortError())\n })\n\n return promise\n}\n\nexport interface DeferredPromiseWithTimeoutOptions<T> extends DeferredPromiseOptions<T> {\n error?: Errorable\n}\n\nexport const createDeferredWithTimeout = <T>(ms: number, { error, signal, ...options }: DeferredPromiseWithTimeoutOptions<T> = {}) => {\n const timeoutController = createAbortController(ms, error)\n\n return createDeferred<T>({\n ...options,\n onSettle() {\n timeoutController.abort()\n options.onSettle?.()\n },\n signal: combineSignals(signal, timeoutController.signal),\n })\n}\n",
|
|
8
|
-
"import { isFunction } from '@/functions'\nimport { isObject } from '@/objects'\n\nexport const isPromiseLike = <T>(value: unknown): value is PromiseLike<T> => isObject(value) && isFunction(value.then)\n\nexport const isPromise = <T>(value: unknown): value is Promise<T> => (\n isObject(value) && isFunction(value.then) && isFunction(value.catch) && isFunction(value.finally)\n)\n",
|
|
9
|
-
"import type { Awaitable } from './types'\nimport { isNonEmptyArray } from '@/arrays'\n\nexport async function pPipe(): Promise<void>\nexport async function pPipe<T>(fn: () => Awaitable<T>): Promise<T>\nexport async function pPipe<T1, T2>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>): Promise<T2>\nexport async function pPipe<T1, T2, T3>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>): Promise<T3>\nexport async function pPipe<T1, T2, T3, T4>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>): Promise<T4>\nexport async function pPipe<T1, T2, T3, T4, T5>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>): Promise<T5>\nexport async function pPipe<T1, T2, T3, T4, T5, T6>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>): Promise<T6>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>): Promise<T7>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>): Promise<T8>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>): Promise<T9>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>): Promise<T10>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>): Promise<T11>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>): Promise<T12>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>): Promise<T13>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>, fn14: (arg: T13) => Awaitable<T14>): Promise<T14>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>, fn14: (arg: T13) => Awaitable<T14>, fn15: (arg: T14) => Awaitable<T15>): Promise<T15>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>, fn14: (arg: T13) => Awaitable<T14>, fn15: (arg: T14) => Awaitable<T15>, fn16: (arg: T15) => Awaitable<T16>): Promise<T16>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>, fn14: (arg: T13) => Awaitable<T14>, fn15: (arg: T14) => Awaitable<T15>, fn16: (arg: T15) => Awaitable<T16>, fn17: (arg: T16) => Awaitable<T17>): Promise<T17>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>, fn14: (arg: T13) => Awaitable<T14>, fn15: (arg: T14) => Awaitable<T15>, fn16: (arg: T15) => Awaitable<T16>, fn17: (arg: T16) => Awaitable<T17>, fn18: (arg: T17) => Awaitable<T18>): Promise<T18>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>, fn14: (arg: T13) => Awaitable<T14>, fn15: (arg: T14) => Awaitable<T15>, fn16: (arg: T15) => Awaitable<T16>, fn17: (arg: T16) => Awaitable<T17>, fn18: (arg: T17) => Awaitable<T18>, fn19: (arg: T18) => Awaitable<T19>): Promise<T19>\nexport async function pPipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>(fn1: () => Awaitable<T1>, fn2: (arg: T1) => Awaitable<T2>, fn3: (arg: T2) => Awaitable<T3>, fn4: (arg: T3) => Awaitable<T4>, fn5: (arg: T4) => Awaitable<T5>, fn6: (arg: T5) => Awaitable<T6>, fn7: (arg: T6) => Awaitable<T7>, fn8: (arg: T7) => Awaitable<T8>, fn9: (arg: T8) => Awaitable<T9>, fn10: (arg: T9) => Awaitable<T10>, fn11: (arg: T10) => Awaitable<T11>, fn12: (arg: T11) => Awaitable<T12>, fn13: (arg: T12) => Awaitable<T13>, fn14: (arg: T13) => Awaitable<T14>, fn15: (arg: T14) => Awaitable<T15>, fn16: (arg: T15) => Awaitable<T16>, fn17: (arg: T16) => Awaitable<T17>, fn18: (arg: T17) => Awaitable<T18>, fn19: (arg: T18) => Awaitable<T19>, fn20: (arg: T19) => Awaitable<T20>): Promise<T20>\nexport async function pPipe(...fns: CallableFunction[]): Promise<unknown>\n\nexport async function pPipe(...fns: CallableFunction[]) {\n if (!isNonEmptyArray(fns)) {\n return\n }\n\n let result = await fns[0]()\n\n for (let i = 1; i < fns.length; i++) {\n result = await fns[i]!(result)\n }\n\n return result\n}\n",
|
|
10
|
-
"import type { Awaitable } from './types'\nimport { assertParam } from '@/common'\nimport { createAbortController, isAbortError } from '@/errors'\nimport { isFunction } from '@/functions'\nimport { isPlainObject } from '@/objects'\nimport { abortable } from './abortable'\nimport { sleep } from './timers'\n\nexport interface PollOptions {\n delay?: number\n immediately?: boolean\n onError?: (error: unknown) => void\n stopOnError?: boolean\n}\n\nexport type PollFn = (signal: AbortSignal) => Awaitable<void>\n\nexport function poll(fn: PollFn, options?: PollOptions): () => Promise<void>\nexport function poll(options: PollOptions, fn: PollFn): () => Promise<void>\n\nexport function poll(fnOrOptions: PollFn | PollOptions, optionsOrFn: PollFn | PollOptions = {}) {\n let fn: PollFn\n let options: PollOptions\n\n if (isFunction(fnOrOptions) && isPlainObject(optionsOrFn)) {\n fn = fnOrOptions\n options = optionsOrFn\n } else {\n assertParam(isPlainObject(fnOrOptions), 'options must be an object')\n assertParam(isFunction(optionsOrFn), 'fn must be a function')\n\n fn = optionsOrFn\n options = fnOrOptions\n }\n\n const { delay = 0, immediately = true, onError, stopOnError = true } = options\n const abortController = createAbortController()\n\n let isActive = true\n let currentTask: Promise<void> | undefined\n\n const stop = () => {\n isActive = false\n abortController.abort()\n\n return currentTask ?? Promise.resolve()\n }\n\n let startRun: () => void\n\n const run = async () => {\n if (!isActive) {\n return\n }\n\n try {\n await abortable(Promise.resolve(fn(abortController.signal)), abortController.signal)\n\n if (isActive) {\n await sleep(delay, { signal: abortController.signal })\n }\n } catch (error) {\n if (isAbortError(error) && !isActive) {\n return\n }\n\n onError?.(error)\n\n if (stopOnError) {\n stop()\n\n return\n }\n }\n\n setTimeout(startRun, 0)\n }\n\n startRun = () => {\n currentTask = run().finally(() => {\n currentTask = undefined\n })\n }\n\n if (immediately) {\n Promise.resolve().then(startRun)\n } else {\n setTimeout(startRun, delay)\n }\n\n return stop\n}\n",
|
|
11
|
-
"import { combineSignals, createAbortController, type Errorable } from '@/errors'\nimport { transform } from '@/functions'\nimport { abortable } from './abortable'\n\nexport interface TimerOptions {\n error?: Errorable\n signal?: AbortSignal\n}\n\nexport const sleep = async (ms: number, { error, signal }: TimerOptions = {}) => (\n abortable(new Promise<void>((resolve) => setTimeout(resolve, ms)), signal, error)\n)\n\nexport const withTimeout = <T>(promise: Promise<T>, ms: number, { error, signal }: TimerOptions = {}) => (\n transform(createAbortController(ms, error), (controller) => abortable(promise, combineSignals(signal, controller.signal)).finally(() => controller.abort()))\n)\n",
|
|
12
|
-
"import type { Awaitable } from './types'\nimport { isAbortError } from '@/errors'\nimport { clamp } from '@/numbers'\nimport { abortable } from './abortable'\nimport { sleep } from './timers'\n\nexport interface GetRetryDelayOptions {\n backoff?: number\n delay?: number\n jitter?: number\n maxDelay?: number\n}\n\nexport function getRetryDelay(attempts: number, { backoff = 2, delay = 1000, jitter = 0.01, maxDelay = 10_000 }: GetRetryDelayOptions = {}) {\n const exponentialDelay = delay * backoff ** (attempts - 1)\n const clampedDelay = clamp(exponentialDelay, 0, maxDelay)\n\n if (jitter <= 0) {\n return clampedDelay\n }\n\n const jitterRange = clampedDelay * jitter\n const jitterOffset = (Math.random() - 0.5) * 2 * jitterRange\n\n return clamp(clampedDelay + jitterOffset, 0, maxDelay)\n}\n\nexport interface WithRetryContext {\n attempts: number\n retriesLeft: number\n signal?: AbortSignal\n}\n\nexport interface WithRetryOptions<T> extends GetRetryDelayOptions {\n maxAttempts?: number\n onBeforeWaitForNextAttempt?: (delay: number, context: WithRetryContext) => Awaitable<void>\n onFailedAttempt?: (error: unknown, context: WithRetryContext) => Awaitable<void>\n onSuccessAttempt?: (response: T, context: WithRetryContext) => Awaitable<void>\n shouldRetry?: (error: unknown, context: WithRetryContext) => Awaitable<boolean>\n shouldRetryOnSuccess?: (result: T, context: WithRetryContext) => Awaitable<boolean>\n signal?: AbortSignal\n}\n\nexport function createRetryError(errors: unknown[]) {\n if (errors.length === 1) {\n return errors[0]\n }\n\n return new AggregateError(errors, 'All retry attempts failed')\n}\n\nexport function rethrowNonAbortError(error: unknown) {\n if (!isAbortError(error)) {\n throw error\n }\n}\n\nexport async function waitForNextRetryAttempt(attempts: number, delayOptions: GetRetryDelayOptions, onBeforeWaitForNextAttempt: WithRetryOptions<unknown>['onBeforeWaitForNextAttempt'], signal: AbortSignal | undefined, context: WithRetryContext) {\n const delay = getRetryDelay(attempts, delayOptions)\n\n await onBeforeWaitForNextAttempt?.(delay, context)\n await sleep(delay, { signal }).catch(rethrowNonAbortError)\n}\n\nexport async function handleRetryFailure<T>(error: unknown, errors: unknown[], retriesLeft: number, shouldRetry: WithRetryOptions<T>['shouldRetry'], onFailedAttempt: WithRetryOptions<T>['onFailedAttempt'], context: WithRetryContext) {\n if (isAbortError(error)) {\n throw error\n }\n\n errors.push(error)\n\n if (retriesLeft <= 0) {\n throw createRetryError(errors)\n }\n\n if (shouldRetry && !(await shouldRetry(error, context))) {\n throw createRetryError(errors)\n }\n\n await onFailedAttempt?.(error, context)\n}\n\nexport async function handleRetrySuccess<T>(result: T, errors: unknown[], retriesLeft: number, shouldRetryOnSuccess: WithRetryOptions<T>['shouldRetryOnSuccess'], onSuccessAttempt: WithRetryOptions<T>['onSuccessAttempt'], context: WithRetryContext): Promise<boolean> {\n if (!shouldRetryOnSuccess || !(await shouldRetryOnSuccess(result, context))) {\n return true\n }\n\n if (retriesLeft <= 0) {\n throw createRetryError(errors)\n }\n\n await onSuccessAttempt?.(result, context)\n\n return false\n}\n\nexport async function withRetry<T>(fn: (signal?: AbortSignal) => Awaitable<T>, { maxAttempts = 3, onBeforeWaitForNextAttempt, onFailedAttempt, onSuccessAttempt, shouldRetry, shouldRetryOnSuccess, signal, ...delayOptions }: WithRetryOptions<T> = {}): Promise<T> {\n if (maxAttempts < 1) {\n throw new RangeError('maxAttempts must be at least 1')\n }\n\n if (signal) {\n signal.throwIfAborted()\n }\n\n let attempts = 0\n let result: T\n\n const errors: unknown[] = []\n\n while (attempts < maxAttempts) {\n const retriesLeft = maxAttempts - ((attempts++) + 1)\n const context = { attempts, retriesLeft, signal }\n\n try {\n if (signal) {\n signal.throwIfAborted()\n }\n\n result = await abortable(Promise.resolve(fn(signal)), signal)\n } catch (error) {\n await handleRetryFailure(error, errors, retriesLeft, shouldRetry, onFailedAttempt, context)\n await waitForNextRetryAttempt(attempts, delayOptions, onBeforeWaitForNextAttempt, signal, context)\n\n continue\n }\n\n const shouldReturn = await handleRetrySuccess(result, errors, retriesLeft, shouldRetryOnSuccess, onSuccessAttempt, context)\n\n if (shouldReturn) {\n return result\n }\n\n await waitForNextRetryAttempt(attempts, delayOptions, onBeforeWaitForNextAttempt, signal, context)\n }\n\n throw createRetryError(errors)\n}\n"
|
|
13
|
-
],
|
|
14
|
-
"mappings": "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",
|
|
15
|
-
"debugId": "857CC4AAB8256DCC64756E2164756E21",
|
|
16
|
-
"names": []
|
|
17
|
-
}
|
package/chunk-6dxad51h.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{ensureError as p}from"@/errors";function m(r,t,n){if(!r)throw p(t,n)}function g(r,t,n){m(r,t,n??TypeError)}import{isArray as o,isEmptyArray as u}from"@/arrays";import{isCollectionLike as l,isEmptyCollection as d}from"@/collections";import{isNullish as y,isPrimitive as c,isString as T}from"@/core";import{isEmptyObject as E,isPlainObject as i}from"@/objects";function A(r){if(y(r))return!0;if(o(r))return u(r);if(c(r)){if(T(r))return r.length===0;return!1}if(i(r))return E(r);if(l(r))return d(r);return!1}function f(r,t){if(r===t)return!0;if(o(r)&&o(t)){if(r.length!==t.length)return!1;return r.every((n,e)=>f(n,t[e]))}if(i(r)&&i(t)){let n=Object.keys(r);if(n.length!==Object.keys(t).length)return!1;return n.every((e)=>f(r[e],t[e]))}return Object.is(r,t)}import{isArray as x}from"@/arrays";import{isNullish as h}from"@/core";import{isPlainObject as k,map as N}from"@/objects";function s(r){if(h(r))return;if(x(r))return r.map(s);if(k(r))return N(r,(t,n)=>[t,s(n)]);return r}export{m as oc,g as pc,A as qc,f as rc,s as sc};
|
|
2
|
-
|
|
3
|
-
//# debugId=2494255A992B4D4464756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-6dxad51h.js.map
|
package/chunk-6dxad51h.js.map
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/common/assertions.ts", "../src/common/guards.ts", "../src/common/transformations.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { ensureError, type Errorable, type ErrorCtor } from '@/errors'\n\nexport function assert(condition: unknown, message: Errorable, ctor?: ErrorCtor): asserts condition {\n if (!condition) {\n throw ensureError(message, ctor)\n }\n}\n\nexport function assertParam(condition: unknown, message: Errorable, ctor?: ErrorCtor): asserts condition {\n assert(condition, message, ctor ?? TypeError)\n}\n",
|
|
6
|
-
"import { isArray, isEmptyArray } from '@/arrays'\nimport { isCollectionLike, isEmptyCollection } from '@/collections'\nimport { isNullish, isPrimitive, isString } from '@/core'\nimport { isEmptyObject, isPlainObject } from '@/objects'\n\nexport function isEmpty(value: unknown) {\n if (isNullish(value)) {\n return true\n }\n\n if (isArray(value)) {\n return isEmptyArray(value)\n }\n\n if (isPrimitive(value)) {\n if (isString(value)) {\n return value.length === 0\n }\n\n return false\n }\n\n if (isPlainObject(value)) {\n return isEmptyObject(value)\n }\n\n if (isCollectionLike(value)) {\n return isEmptyCollection(value)\n }\n\n return false\n}\n\nexport function isDeepEqual(a: unknown, b: unknown): boolean {\n if (a === b) {\n return true\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false\n }\n\n return a.every((item, i) => isDeepEqual(item, b[i]))\n }\n\n if (isPlainObject(a) && isPlainObject(b)) {\n const keysA = Object.keys(a)\n\n if (keysA.length !== Object.keys(b).length) {\n return false\n }\n\n return keysA.every((key) => isDeepEqual(a[key], b[key]))\n }\n\n return Object.is(a, b)\n}\n",
|
|
7
|
-
"import type { NullToUndefined } from './types'\nimport { isArray } from '@/arrays'\nimport { isNullish } from '@/core'\nimport { isPlainObject, map } from '@/objects'\n\nexport function nullToUndefined<T>(value: T): NullToUndefined<T> {\n if (isNullish(value)) {\n return undefined as NullToUndefined<T>\n }\n\n if (isArray(value)) {\n return value.map(nullToUndefined) as NullToUndefined<T>\n }\n\n if (isPlainObject(value)) {\n return map(value, (k, v) => [k, nullToUndefined(v)]) as NullToUndefined<T>\n }\n\n return value as NullToUndefined<T>\n}\n"
|
|
8
|
-
],
|
|
9
|
-
"mappings": "AAAA,sBAAS,iBAEF,SAAS,CAAM,CAAC,EAAoB,EAAoB,EAAqC,CAChG,GAAI,CAAC,EACD,MAAM,EAAY,EAAS,CAAI,EAIhC,SAAS,CAAW,CAAC,EAAoB,EAAoB,EAAqC,CACrG,EAAO,EAAW,EAAS,GAAQ,SAAS,ECThD,kBAAS,kBAAS,iBAClB,2BAAS,uBAAkB,sBAC3B,oBAAS,iBAAW,cAAa,eACjC,wBAAS,mBAAe,kBAEjB,SAAS,CAAO,CAAC,EAAgB,CACpC,GAAI,EAAU,CAAK,EACf,MAAO,GAGX,GAAI,EAAQ,CAAK,EACb,OAAO,EAAa,CAAK,EAG7B,GAAI,EAAY,CAAK,EAAG,CACpB,GAAI,EAAS,CAAK,EACd,OAAO,EAAM,SAAW,EAG5B,MAAO,GAGX,GAAI,EAAc,CAAK,EACnB,OAAO,EAAc,CAAK,EAG9B,GAAI,EAAiB,CAAK,EACtB,OAAO,EAAkB,CAAK,EAGlC,MAAO,GAGJ,SAAS,CAAW,CAAC,EAAY,EAAqB,CACzD,GAAI,IAAM,EACN,MAAO,GAGX,GAAI,EAAQ,CAAC,GAAK,EAAQ,CAAC,EAAG,CAC1B,GAAI,EAAE,SAAW,EAAE,OACf,MAAO,GAGX,OAAO,EAAE,MAAM,CAAC,EAAM,IAAM,EAAY,EAAM,EAAE,EAAE,CAAC,EAGvD,GAAI,EAAc,CAAC,GAAK,EAAc,CAAC,EAAG,CACtC,IAAM,EAAQ,OAAO,KAAK,CAAC,EAE3B,GAAI,EAAM,SAAW,OAAO,KAAK,CAAC,EAAE,OAChC,MAAO,GAGX,OAAO,EAAM,MAAM,CAAC,IAAQ,EAAY,EAAE,GAAM,EAAE,EAAI,CAAC,EAG3D,OAAO,OAAO,GAAG,EAAG,CAAC,ECvDzB,kBAAS,iBACT,oBAAS,eACT,wBAAS,SAAe,kBAEjB,SAAS,CAAkB,CAAC,EAA8B,CAC7D,GAAI,EAAU,CAAK,EACf,OAGJ,GAAI,EAAQ,CAAK,EACb,OAAO,EAAM,IAAI,CAAe,EAGpC,GAAI,EAAc,CAAK,EACnB,OAAO,EAAI,EAAO,CAAC,EAAG,IAAM,CAAC,EAAG,EAAgB,CAAC,CAAC,CAAC,EAGvD,OAAO",
|
|
10
|
-
"debugId": "2494255A992B4D4464756E2164756E21",
|
|
11
|
-
"names": []
|
|
12
|
-
}
|
package/chunk-6kdnnxe0.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var u={isEven(t){return t%2n===0n},isOdd(t){return t%2n!==0n},divMod(t,r){if(r===0n)throw RangeError("Division by zero");return[t/r,t%r]},abs(t){return t<0n?-t:t},max(t,r){return t>r?t:r},min(t,r){return t<r?t:r},pow(t,r){return t**r},sign(t){return t===0n?0n:t<0n?-1n:1n},mod(t,r){return(t%r+r)%r},modPow(t,r,n){if(r<0n)throw RangeError("Exponent must be non-negative");if(n===1n)return 0n;let e=1n;t=u.mod(t,n);while(r>0n){if(r%2n===1n)e=u.mod(e*t,n);r>>=1n,t=u.mod(t*t,n)}return e},gcd(t,r){t=u.abs(t),r=u.abs(r);while(r!==0n)[t,r]=[r,t%r];return t},lcm(t,r){return t/u.gcd(t,r)*r},clamp(t,r,n){return u.min(u.max(t,r),n)},sqrt(t){if(t<0n)throw RangeError("Square root of negative bigint is undefined");if(t<2n)return t;let r=t,n=(r+1n)/2n;while(n<r)r=n,n=(r+t/r)/2n;return r},factorial(t){if(t<0n)throw RangeError("Factorial of negative bigint is undefined");if(t===0n)return 1n;let r=1n;for(let n=1n;n<=t;n++)r*=n;return r},sum(t){return t.reduce((r,n)=>r+n,0n)},avg(t){if(t.length===0)return 0n;return u.sum(t)/BigInt(t.length)},isPrime(t){if(t<2n)return!1;if(t<4n)return!0;if(t%2n===0n||t%3n===0n)return!1;let r=u.sqrt(t);for(let n=5n;n<=r;n+=6n)if(t%n===0n||t%(n+2n)===0n)return!1;return!0},compare(t,r){return t===r?0:t<r?-1:1}};var l=new Set(["+Infinity","-Infinity","Infinity","NaN"]),d={0:"₀",1:"₁",2:"₂",3:"₃",4:"₄",5:"₅",6:"₆",7:"₇",8:"₈",9:"₉"};import{transform as I}from"@/functions";var F=(t)=>t.reduce((r,n)=>r+n,0),D=(t)=>t.length===0?0:F(t)/t.length,C=(t,r,n)=>Math.min(Math.max(t,r),n),h=(t,r)=>I(10**r,(n)=>Math.round(t*n)/n),O=(t,r,n)=>t+(r-t)*n;function q(t){if(t.length===0)return 0;let r=[...t].toSorted((e,i)=>e-i),n=Math.floor(r.length/2);if(r.length%2===0)return(r[n-1]+r[n])/2;return r[n]}function x(t){let r="";for(let n of t.toString())r+=d[n]??n;return r}function w(t){let r=t.toString().toLowerCase(),[n,e]=r.split("e");if(e===void 0)return r;let[i,m=""]=n?.split(".")??[];if(!i)return r;let f=i.startsWith("-")?"-":"",g=f?i.slice(1):i,s=Number(e);if(s>=0){let p=Math.max(0,s-m.length),o=m+"0".repeat(p);if(o.length>s)return`${f}${g}${o.slice(0,s)}.${o.slice(s)}`;return`${f}${g}${o}`}let a=-s,c=g+m,b=Math.max(0,a-g.length);return`${f}0.${"0".repeat(b)}${c}`}function U(t){let r=Math.abs(t)%100,n=r%10;if(r>=11&&r<=13)return`${t}th`;switch(n){case 1:return`${t}st`;case 2:return`${t}nd`;case 3:return`${t}rd`;default:return`${t}th`}}function j(t,r,n){if(r===0)return 0;let e=t/r*100;if(n===void 0)return e;return h(e,n)}function V(t,r){let n=Math.min(t,r),e=Math.max(t,r);return Math.floor(Math.random()*(e-n+1))+n}function N(t){let r=0;for(let n=0;n<t.length&&t[n]==="0";n++)r++;return r}function G(t,r={}){let{formatLeadingZeros:n=(o)=>`0${x(o)}`,groupFractionLeadingZeros:e=!0,locales:i="en-US",maximumFractionDigits:m=4,...f}=r,g=(o)=>new Intl.NumberFormat(i,{...f,maximumFractionDigits:o}).format(t);if(!e)return g(m);let s=w(t),[,a=""]=s.split(".",2),c=N(a);if(c<=1)return g(m);let b=(o)=>{if(o.type==="fraction")return`${n(c)}${o.value.slice(c)}`;return o.value};return new Intl.NumberFormat(i,{...f,maximumFractionDigits:m+c}).formatToParts(t).map(b).join("")}import{isBigInt as S,isNumber as M,isString as T}from"@/core";var L=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/iu,P=(t)=>l.has(t);function R(t){if(P(t))return!0;return L.test(t)}var X=(t)=>M(t)||S(t)||T(t)&&R(t),Y=(t)=>t>=0&&t<=100;import{notNullish as $}from"@/core";function tt(t,r,n=!0,e,i){if($(e)&&t<e)return!1;if($(i)&&r>i)return!1;return n?t<=r:t<r}var rt=(t,r,n,e=!0)=>e?t>=r&&t<=n:t>r&&t<n;export{u as J,l as K,d as L,F as M,D as N,C as O,h as P,O as Q,q as R,x as S,w as T,U,j as V,V as W,N as X,G as Y,P as Z,R as _,X as $,Y as aa,tt as ba,rt as ca};
|
|
2
|
-
|
|
3
|
-
//# debugId=372A1B62607032A564756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-6kdnnxe0.js.map
|
package/chunk-6kdnnxe0.js.map
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/numbers/bigint-math.ts", "../src/numbers/constants.ts", "../src/numbers/maths.ts", "../src/numbers/conversions.ts", "../src/numbers/factories.ts", "../src/numbers/formats.ts", "../src/numbers/guards.ts", "../src/numbers/ranges.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"export const BigIntMath = {\n isEven(a: bigint) {\n return a % 2n === 0n\n },\n\n isOdd(a: bigint) {\n return a % 2n !== 0n\n },\n\n divMod(a: bigint, b: bigint): [quotient: bigint, remainder: bigint] {\n if (b === 0n) {\n throw new RangeError('Division by zero')\n }\n\n return [a / b, a % b]\n },\n\n abs(a: bigint) {\n return a < 0n ? -a : a\n },\n\n max(a: bigint, b: bigint) {\n return a > b ? a : b\n },\n\n min(a: bigint, b: bigint) {\n return a < b ? a : b\n },\n\n pow(a: bigint, b: bigint) {\n return a ** b\n },\n\n sign(a: bigint) {\n return a === 0n ? 0n : (a < 0n ? -1n : 1n)\n },\n\n mod(a: bigint, b: bigint) {\n return ((a % b) + b) % b\n },\n\n modPow(base: bigint, exponent: bigint, modulus: bigint) {\n if (exponent < 0n) {\n throw new RangeError('Exponent must be non-negative')\n }\n\n if (modulus === 1n) {\n return 0n\n }\n\n let result = 1n\n\n base = BigIntMath.mod(base, modulus)\n\n while (exponent > 0n) {\n if (exponent % 2n === 1n) {\n result = BigIntMath.mod(result * base, modulus)\n }\n\n exponent >>= 1n\n base = BigIntMath.mod(base * base, modulus)\n }\n\n return result\n },\n\n gcd(a: bigint, b: bigint) {\n a = BigIntMath.abs(a)\n b = BigIntMath.abs(b)\n\n while (b !== 0n) {\n [a, b] = [b, a % b]\n }\n\n return a\n },\n\n lcm(a: bigint, b: bigint) {\n return (a / BigIntMath.gcd(a, b)) * b\n },\n\n clamp(value: bigint, min: bigint, max: bigint) {\n return BigIntMath.min(BigIntMath.max(value, min), max)\n },\n\n sqrt(n: bigint) {\n if (n < 0n) {\n throw new RangeError('Square root of negative bigint is undefined')\n }\n\n if (n < 2n) {\n return n\n }\n\n let x = n\n let y = (x + 1n) / 2n\n\n while (y < x) {\n x = y\n y = (x + n / x) / 2n\n }\n\n return x\n },\n\n factorial(n: bigint) {\n if (n < 0n) {\n throw new RangeError('Factorial of negative bigint is undefined')\n }\n\n if (n === 0n) {\n return 1n\n }\n\n let result = 1n\n\n for (let i = 1n; i <= n; i++) {\n result *= i\n }\n\n return result\n },\n\n sum(array: bigint[]) {\n return array.reduce((a, b) => a + b, 0n)\n },\n\n avg(array: bigint[]) {\n if (array.length === 0) {\n return 0n\n }\n\n return BigIntMath.sum(array) / BigInt(array.length)\n },\n\n isPrime(n: bigint) {\n if (n < 2n) {\n return false\n }\n\n if (n < 4n) {\n return true\n }\n\n if (n % 2n === 0n || n % 3n === 0n) {\n return false\n }\n\n const limit = BigIntMath.sqrt(n)\n\n for (let i = 5n; i <= limit; i += 6n) {\n if (n % i === 0n || n % (i + 2n) === 0n) {\n return false\n }\n }\n\n return true\n },\n\n compare(a: bigint, b: bigint) {\n return a === b ? 0 : (a < b ? -1 : 1)\n },\n}\n",
|
|
6
|
-
"export const SPECIAL_NUMBER_STRINGS = new Set(['+Infinity', '-Infinity', 'Infinity', 'NaN'])\n\nexport const SUBSCRIPT_CHARS: Record<string, string> = {\n 0: '\\u2080',\n 1: '\\u2081',\n 2: '\\u2082',\n 3: '\\u2083',\n 4: '\\u2084',\n 5: '\\u2085',\n 6: '\\u2086',\n 7: '\\u2087',\n 8: '\\u2088',\n 9: '\\u2089',\n}\n",
|
|
7
|
-
"import { transform } from '@/functions'\n\nexport const sum = (array: number[]) => array.reduce((a, b) => a + b, 0)\n\nexport const avg = (array: number[]) => (array.length === 0 ? 0 : sum(array) / array.length)\n\nexport const clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max)\n\nexport const roundTo = (value: number, decimals: number) => (\n transform(10 ** decimals, (factor) => Math.round(value * factor) / factor)\n)\n\nexport const lerp = (start: number, end: number, t: number) => start + (end - start) * t\n\nexport function median(array: number[]) {\n if (array.length === 0) {\n return 0\n }\n\n const sorted = [...array].toSorted((a, b) => a - b)\n const mid = Math.floor(sorted.length / 2)\n\n if (sorted.length % 2 === 0) {\n return (sorted[mid - 1]! + sorted[mid]!) / 2\n }\n\n return sorted[mid]!\n}\n",
|
|
8
|
-
"import type { Numberish } from './types'\nimport { SUBSCRIPT_CHARS } from './constants'\nimport { roundTo } from './maths'\n\nexport function toSubscriptDigits(input: Numberish) {\n let result = ''\n\n for (const char of input.toString()) {\n result += SUBSCRIPT_CHARS[char] ?? char\n }\n\n return result\n}\n\nexport function parseExponential(input: Numberish) {\n const str = input.toString().toLowerCase()\n const [mantissa, rawExp] = str.split('e')\n\n if (rawExp === undefined) {\n return str\n }\n\n const [rawInt, fracPart = ''] = mantissa?.split('.') ?? []\n\n if (!rawInt) {\n return str\n }\n\n const sign = rawInt.startsWith('-') ? '-' : ''\n const intPart = sign ? rawInt.slice(1) : rawInt\n const exp = Number(rawExp)\n\n if (exp >= 0) {\n const neededZeros = Math.max(0, exp - fracPart.length)\n const padded = fracPart + '0'.repeat(neededZeros)\n\n if (padded.length > exp) {\n return `${sign}${intPart}${padded.slice(0, exp)}.${padded.slice(exp)}`\n }\n\n return `${sign}${intPart}${padded}`\n }\n\n const absExp = -exp\n const digits = intPart + fracPart\n const totalLeadingZeros = Math.max(0, absExp - intPart.length)\n\n return `${sign}0.${'0'.repeat(totalLeadingZeros)}${digits}`\n}\n\nexport function toOrdinal(n: number) {\n const remainder100 = Math.abs(n) % 100\n const remainder10 = remainder100 % 10\n\n if (remainder100 >= 11 && remainder100 <= 13) {\n return `${n}th`\n }\n\n switch (remainder10) {\n case 1:\n return `${n}st`\n case 2:\n return `${n}nd`\n case 3:\n return `${n}rd`\n default:\n return `${n}th`\n }\n}\n\nexport function toPercent(value: number, total: number, decimals?: number) {\n if (total === 0) {\n return 0\n }\n\n const result = (value / total) * 100\n\n if (decimals === undefined) {\n return result\n }\n\n return roundTo(result, decimals)\n}\n",
|
|
9
|
-
"export function random(min: number, max: number) {\n const lo = Math.min(min, max)\n const hi = Math.max(min, max)\n\n return Math.floor(Math.random() * (hi - lo + 1)) + lo\n}\n",
|
|
10
|
-
"import type { Numberish } from './types'\nimport { parseExponential, toSubscriptDigits } from './conversions'\n\nexport function countLeadingZeros(input: string) {\n let count = 0\n\n for (let i = 0; i < input.length && input[i] === '0'; i++) {\n count++\n }\n\n return count\n}\n\nexport interface FormatNumberOptions extends Intl.NumberFormatOptions {\n formatLeadingZeros?: (count: number) => string\n groupFractionLeadingZeros?: boolean\n locales?: Intl.LocalesArgument\n}\n\nexport function formatNumber(input: Numberish, options_: FormatNumberOptions = {}) {\n const { formatLeadingZeros = (count: number) => `0${toSubscriptDigits(count)}`, groupFractionLeadingZeros = true, locales = 'en-US', maximumFractionDigits = 4, ...options } = options_\n\n const formatInput = (digits: number) => (\n new Intl.NumberFormat(locales, { ...options, maximumFractionDigits: digits }).format(input as Intl.StringNumericLiteral)\n )\n\n if (!groupFractionLeadingZeros) {\n return formatInput(maximumFractionDigits)\n }\n\n const numericStr = parseExponential(input)\n const [, fractionPart = ''] = numericStr.split('.', 2)\n const leadingZerosCount = countLeadingZeros(fractionPart)\n\n if (leadingZerosCount <= 1) {\n return formatInput(maximumFractionDigits)\n }\n\n const replaceFractionZeros = (part: Intl.NumberFormatPart) => {\n if (part.type === 'fraction') {\n return `${formatLeadingZeros(leadingZerosCount)}${part.value.slice(leadingZerosCount)}`\n }\n\n return part.value\n }\n\n const parts = new Intl.NumberFormat(locales, {\n ...options, maximumFractionDigits: maximumFractionDigits + leadingZerosCount,\n })\n\n return parts.formatToParts(input as Intl.StringNumericLiteral).map(replaceFractionZeros).join('')\n}\n",
|
|
11
|
-
"import type { Numberish, NumberString, Percentage } from './types'\nimport { isBigInt, isNumber, isString } from '@/core'\nimport { SPECIAL_NUMBER_STRINGS } from './constants'\n\n// eslint-disable-next-line security/detect-unsafe-regex -- anchored regex with no backtracking risk on bounded input\nconst NUMERIC_PATTERN = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/iu\n\nexport const isSpecialNumberString = (value: string) => SPECIAL_NUMBER_STRINGS.has(value)\n\nexport function isNumberString<TStrict extends boolean = true>(value: string): value is NumberString<TStrict> {\n if (isSpecialNumberString(value)) {\n return true\n }\n\n return NUMERIC_PATTERN.test(value)\n}\n\nexport const isNumberish = <TStrict extends boolean = true>(input: unknown): input is Numberish<TStrict> => (\n isNumber(input) || isBigInt(input) || (isString(input) && isNumberString(input))\n)\n\nexport const isPercentage = (value: number): value is Percentage => value >= 0 && value <= 100\n",
|
|
12
|
-
"import { notNullish } from '@/core'\n\nexport function isValidRange<T extends bigint | number>(start: T, end: T, inclusive = true, min?: T, max?: T) {\n if (notNullish(min) && start < min) {\n return false\n }\n\n if (notNullish(max) && end > max) {\n return false\n }\n\n return inclusive ? start <= end : start < end\n}\n\nexport const isInRange = <T extends bigint | number>(value: T, min: T, max: T, inclusive = true) => (\n inclusive ? value >= min && value <= max : value > min && value < max\n)\n"
|
|
13
|
-
],
|
|
14
|
-
"mappings": "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",
|
|
15
|
-
"debugId": "372A1B62607032A564756E2164756E21",
|
|
16
|
-
"names": []
|
|
17
|
-
}
|
package/chunk-7cndek91.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{hc as f}from"./chunk-qn6n0ff5.js";import{Nd as c}from"./chunk-3w6nt7kb.js";function y(r,t){return r.at(t)}function d(r){return y(r,0)}function A(r){return y(r,-1)}var u=(r)=>Array.isArray(r),l=(r)=>r.length===0,h=(r)=>!l(r);var x=(r)=>u(r)?r:[r];function a(r){if(f(r))return[...r];return x(r??[])}var M=(r)=>r.filter(c);var w=(r,t)=>Array.from({length:r},(e,o)=>t(o)),R=(r,t,e=1)=>Array.from({length:Math.floor((t-r)/e)+1},(o,n)=>r+n*e),v=(r,t=1)=>Array.from({length:t},()=>r[Math.floor(Math.random()*r.length)]);var D=(...r)=>r.flatMap((t)=>a(t)),L=(r)=>a(r).flat();function q(r){let t=[...r];for(let e=t.length-1;e>0;e--){let o=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[o],t[o]=n}return t}function P(r,t){let e={};for(let o of r){let n=t(o),T=e[n];if(T)T.push(o);else e[n]=[o]}return e}function _(r,t){let e={};for(let o of r)e[t(o)]=o;return e}function j(r,t){if(t<=0||!Number.isFinite(t))throw RangeError(`chunk size must be a positive finite number, got ${t}`);let e=Math.floor(t),o=[];for(let n=0;n<r.length;n+=e)o.push(r.slice(n,n+e));return o}function F(r,...t){let e=t.map((o)=>typeof o==="function"?{fn:o,order:"asc"}:o);return r.toSorted((o,n)=>{for(let{fn:T,order:i}of e){let p=T(o),s=T(n);if(p<s)return i==="asc"?-1:1;if(p>s)return i==="asc"?1:-1}return 0})}function I(r,t){let e=[],o=[];for(let n of r)if(t(n))e.push(n);else o.push(n);return[e,o]}var C=(r)=>[...new Set(r)],G=(r,t)=>r.reduce((e,o)=>e.some((n)=>t(n,o))?e:[...e,o],[]),H=(r,t)=>r.filter((e)=>t.includes(e)),m=(r,t)=>r.filter((e)=>!t.includes(e)),J=(r,t)=>[...m(r,t),...m(t,r)];export{y as Fb,d as Gb,A as Hb,u as Ib,l as Jb,h as Kb,x as Lb,a as Mb,M as Nb,w as Ob,R as Pb,v as Qb,D as Rb,L as Sb,q as Tb,P as Ub,_ as Vb,j as Wb,F as Xb,I as Yb,C as Zb,G as _b,H as $b,m as ac,J as bc};
|
|
2
|
-
|
|
3
|
-
//# debugId=FF15D46A29835E6564756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-7cndek91.js.map
|
package/chunk-7cndek91.js.map
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/arrays/accessors.ts", "../src/arrays/guards.ts", "../src/arrays/conversions.ts", "../src/arrays/factories.ts", "../src/arrays/operations.ts", "../src/arrays/set-operations.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { EmptyArray, NonEmptyArray } from './types'\n\nexport function nth(array: EmptyArray, index: number): undefined\nexport function nth<T>(array: NonEmptyArray<T>, index: number): T\nexport function nth<T>(array: T[], index: number): T | undefined\n\nexport function nth<T>(array: T[], index: number): T | undefined {\n return array.at(index)\n}\n\nexport function first(array: EmptyArray): undefined\nexport function first<T>(array: NonEmptyArray<T>): T\nexport function first<T>(array: T[]): T | undefined\n\nexport function first<T>(array: T[]): T | undefined {\n return nth(array, 0)\n}\n\nexport function last(array: EmptyArray): undefined\nexport function last<T>(array: NonEmptyArray<T>): T\nexport function last<T>(array: T[]): T | undefined\n\nexport function last<T>(array: T[]): T | undefined {\n return nth(array, -1)\n}\n",
|
|
6
|
-
"import type { EmptyArray, NonEmptyArray } from './types'\n\nexport const isArray = <T = any>(value: unknown): value is T[] => Array.isArray(value)\n\nexport const isEmptyArray = <T = any, TStrict extends boolean = true>(value: T[]): value is (TStrict extends true ? EmptyArray : T[]) => value.length === 0\n\nexport const isNonEmptyArray = <T = any, TStrict extends boolean = true>(value: T[]): value is (TStrict extends true ? NonEmptyArray<T> : T[]) => !isEmptyArray(value)\n",
|
|
7
|
-
"import type { MaybeArray } from './types'\nimport { isIterable } from '../collections'\nimport { notNullish, type Nullable } from '../core'\nimport { isArray } from './guards'\n\nexport const wrap = <T>(array: T | T[]) => (isArray(array) ? array : [array])\n\nexport function toArray<T>(value?: Nullable<MaybeArray<T>>) {\n if (isIterable(value)) {\n return [...value]\n }\n\n return wrap(value ?? [])\n}\n\nexport const compact = <T>(array: Array<Nullable<T>>): T[] => array.filter(notNullish)\n",
|
|
8
|
-
"import type { EmptyArray, NonEmptyArray } from './types'\n\nexport const createArray = <T, TStrict extends boolean = true, TLength extends number = number>(length: TLength, value: (index: number) => T) => (\n Array.from({ length }, (_, i) => value(i)) as TStrict extends false ? T[] : (TLength extends 0 ? EmptyArray : NonEmptyArray<T>)\n)\n\nexport const range = (from: number, to: number, step = 1) => (\n Array.from({ length: Math.floor((to - from) / step) + 1 }, (_, i) => from + (i * step))\n)\n\nexport const sample = <T>(array: T[], quantity = 1) => (\n Array.from({ length: quantity }, () => array[Math.floor(Math.random() * array.length)])\n)\n",
|
|
9
|
-
"import type { Nullable } from '../core'\nimport type { MaybeArray } from './types'\nimport { toArray } from './conversions'\n\nexport const merge = <T>(...arrays: Array<Nullable<MaybeArray<T>>>) => arrays.flatMap((array) => toArray(array))\n\nexport const flatten = <T>(array?: Nullable<MaybeArray<T | T[]>>) => toArray(array).flat() as T[]\n\nexport function shuffle<T>(array: T[]): T[] {\n const result = [...array]\n\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1))\n const temp = result[i]\n\n result[i] = result[j]!\n result[j] = temp!\n }\n\n return result\n}\n\nexport function groupBy<T, K extends PropertyKey>(array: T[], keyFn: (item: T) => K): Record<K, T[]> {\n const result = {} as Record<K, T[]>\n\n for (const item of array) {\n const key = keyFn(item)\n const group = result[key]\n\n if (group) {\n group.push(item)\n } else {\n result[key] = [item]\n }\n }\n\n return result\n}\n\nexport function keyBy<T, K extends PropertyKey>(array: T[], keyFn: (item: T) => K): Record<K, T> {\n const result = {} as Record<K, T>\n\n for (const item of array) {\n result[keyFn(item)] = item\n }\n\n return result\n}\n\nexport function chunk<T>(array: T[], size: number): T[][] {\n if (size <= 0 || !Number.isFinite(size)) {\n throw new RangeError(`chunk size must be a positive finite number, got ${size}`)\n }\n\n const step = Math.floor(size)\n const result: T[][] = []\n\n for (let i = 0; i < array.length; i += step) {\n result.push(array.slice(i, i + step))\n }\n\n return result\n}\n\nexport type SortDirection = 'asc' | 'desc'\n\nexport type SortKey<T> = ((item: T) => number | string) | { fn: (item: T) => number | string, order: SortDirection }\n\nexport function sortBy<T>(array: T[], ...keys: Array<SortKey<T>>): T[] {\n const normalizedKeys = keys.map((key) => (typeof key === 'function' ? { fn: key, order: 'asc' as const } : key))\n\n return array.toSorted((a, b) => {\n for (const { fn, order } of normalizedKeys) {\n const va = fn(a)\n const vb = fn(b)\n\n if (va < vb) {\n return order === 'asc' ? -1 : 1\n }\n\n if (va > vb) {\n return order === 'asc' ? 1 : -1\n }\n }\n\n return 0\n })\n}\n\nexport function partition<T>(array: T[], predicate: (item: T) => boolean): [T[], T[]] {\n const pass: T[] = []\n const fail: T[] = []\n\n for (const item of array) {\n if (predicate(item)) {\n pass.push(item)\n } else {\n fail.push(item)\n }\n }\n\n return [pass, fail]\n}\n",
|
|
10
|
-
"export const unique = <T>(array: T[]) => [...new Set(array)]\n\nexport const uniqueBy = <T>(array: T[], equalFn: (a: T, b: T) => boolean) => (\n array.reduce<T[]>((r, c) => (r.some((v) => equalFn(v, c)) ? r : [...r, c]), [])\n)\n\nexport const intersection = <T>(a: T[], b: T[]) => a.filter((v) => b.includes(v))\n\nexport const diff = <T>(a: T[], b: T[]) => a.filter((v) => !b.includes(v))\n\nexport const symmetricDiff = <T>(a: T[], b: T[]) => [...diff(a, b), ...diff(b, a)]\n"
|
|
11
|
-
],
|
|
12
|
-
"mappings": "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",
|
|
13
|
-
"debugId": "FF15D46A29835E6564756E2164756E21",
|
|
14
|
-
"names": []
|
|
15
|
-
}
|
package/chunk-bee0nxse.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{sd as f,wd as b}from"./chunk-jny2gdyy.js";import{Nd as c,Sd as u}from"./chunk-3w6nt7kb.js";class p extends Error{constructor(r,{code:e,details:t,exitCode:n,name:o,retryable:i,timestamp:s,...a}={}){super(r,a);Object.setPrototypeOf(this,new.target.prototype),this.defineValue("name",o??this.constructor.name),this.defineValue("timestamp",s??new Date),this.defineValue("cause",a.cause),this.defineValue("code",e),this.defineValue("details",t),this.defineValue("exitCode",n),this.defineValue("retryable",i)}withValue(r,e){if(Object.hasOwn(this,r))throw TypeError(`Cannot redefine property '${r}' on ${this.name}`);return this.defineValue(r,e)}defineValue(r,e){return Object.defineProperty(this,r,{configurable:!1,enumerable:!0,value:e,writable:!1}),this}}var v=(r)=>r instanceof Error,P=(r)=>r instanceof p,R=(r)=>r instanceof DOMException&&r.name==="AbortError",x=(r)=>f(r)&&b(r,"name")&&u(r.name);var O=(r="This operation was aborted",e="AbortError")=>new DOMException(r,e),C=(r="The operation was aborted due to a timeout",e="TimeoutError")=>O(r,e);function B(r,e){let t=new AbortController;if(c(r)&&r>0&&r<=Number.MAX_SAFE_INTEGER){let n,o=()=>{clearTimeout(n),t.signal.removeEventListener("abort",o)};t.signal.addEventListener("abort",o),n=setTimeout(()=>t.abort(d(e??C())),r)}return t}function d(r,e){if(typeof r==="string")return e?new e(r):Error(r);if(typeof r==="function")return d(r(),e);return r}function k({cause:r,message:e,name:t,stack:n,...o},i){let a=new(i??Error)(e,{cause:r});Object.defineProperty(a,"name",{configurable:!0,enumerable:!1,value:t,writable:!0}),Object.defineProperty(a,"stack",{configurable:!0,enumerable:!1,value:n,writable:!0});for(let[l,m]of Object.entries(o))Object.defineProperty(a,l,Object.getOwnPropertyDescriptor(o,l)??{configurable:!0,enumerable:!0,value:m,writable:!0});return a}function y(r,{defaultMessage:e="Unknown error",errorConstructor:t}={}){let n=t??Error;if(r instanceof n)return r;if(u(r))return d(r,t);if(x(r))return k(r,t);return new n(e,{cause:r})}function K(...r){let e=r.filter(c);if(e.length===0)return new AbortController().signal;if(e.length===1)return e[0];return AbortSignal.any(e)}var N={code:(r)=>`[${r}]`,message:(r)=>r,name:(r)=>`${r}:`};function A(r,e,t,n){let o=t+" ".repeat(n.causeIndent),i=[];if(r instanceof AggregateError&&r.errors.length>0)for(let s of r.errors)i.push(g(s,e-1,o,n.causePrefix,n));if(f(r.cause)||u(r.cause))i.push(g(r.cause,e-1,o,n.causePrefix,n));return i}function h(r,e,t,n,o,i){if(!i.includeCause||n<=0||e!==t&&e.cause===t)return;let s=A(e,n,o,i);if(s.length>0)r.push(`
|
|
2
|
-
${s.join(`
|
|
3
|
-
`)}`)}function M(r,e){let t=[];if(e.includeCode&&"code"in r&&c(r.code))t.push(e.formatters.code(String(r.code)));if(e.includeName)t.push(e.formatters.name(r.name));return t.push(e.formatters.message(r.message||e.defaultMessage)),t}function g(r,e,t,n,o){if(o.visited.has(r))return`${t}${n}${o.circularReferenceMessage}`;if(r instanceof Error)o.visited.add(r);if(r instanceof Error&&r.toString!==Error.prototype.toString){let a=[r.toString()];return h(a,r,r,e,t,o),t+n+a.join(" ")}let i=y(r,{...o.normalizeOptions,defaultMessage:o.defaultMessage});o.visited.add(i);let s=M(i,o);return h(s,i,r,e,t,o),t+n+s.join(" ")}function J(r,e={}){let{causeIndent:t=2,causePrefix:n="-> ",circularReferenceMessage:o="[Circular Reference]",defaultMessage:i="Unknown error",formatters:s={},includeCause:a=!0,includeCode:l=!0,includeName:m=!0,maxCauseDepth:E=Number.POSITIVE_INFINITY,...w}=e,S={causeIndent:t,causePrefix:n,circularReferenceMessage:o,defaultMessage:i,formatters:{...N,...s},includeCause:a,includeCode:l,includeName:m,maxCauseDepth:E,normalizeOptions:w,visited:new Set};return g(r,E,"","",S)}export{p as ad,v as bd,P as cd,R as dd,x as ed,O as fd,C as gd,B as hd,d as id,k as jd,y as kd,K as ld,N as md,A as nd,h as od,M as pd,g as qd,J as rd};
|
|
4
|
-
|
|
5
|
-
//# debugId=AA3A1EF4BC506E6664756E2164756E21
|
|
6
|
-
//# sourceMappingURL=chunk-bee0nxse.js.map
|
package/chunk-bee0nxse.js.map
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/errors/base-error.ts", "../src/errors/guards.ts", "../src/errors/factories.ts", "../src/errors/operations.ts", "../src/errors/stringify.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"export type BaseErrorCode = number | string\n\nexport interface BaseErrorOptions extends ErrorOptions {\n cause?: unknown\n code?: BaseErrorCode\n details?: string\n exitCode?: number\n name?: string\n retryable?: boolean\n timestamp?: Date\n}\n\nexport class BaseError extends Error {\n public declare readonly timestamp: Date\n public declare readonly code?: BaseErrorCode\n public declare readonly cause?: unknown\n public declare readonly details?: string\n public declare readonly exitCode?: number\n public declare readonly retryable?: boolean\n\n public constructor(message: string, { code, details, exitCode, name, retryable, timestamp, ...options }: BaseErrorOptions = {}) {\n super(message, options)\n\n Object.setPrototypeOf(this, new.target.prototype)\n\n this.defineValue('name', name ?? this.constructor.name)\n this.defineValue('timestamp', timestamp ?? new Date())\n this.defineValue('cause', options.cause)\n this.defineValue('code', code)\n this.defineValue('details', details)\n this.defineValue('exitCode', exitCode)\n this.defineValue('retryable', retryable)\n }\n\n public withValue<K extends string, V>(key: K, value: V): Record<K, V> & this {\n if (Object.hasOwn(this, key)) {\n throw new TypeError(`Cannot redefine property '${key}' on ${this.name}`)\n }\n\n return this.defineValue(key, value) as Record<K, V> & this\n }\n\n protected defineValue(key: string, value: unknown) {\n Object.defineProperty(this, key, { configurable: false, enumerable: true, value, writable: false })\n\n return this\n }\n}\n",
|
|
6
|
-
"import type { ErrorLike } from './types'\nimport { isString } from '../core'\nimport { isKeysOf, isObject } from '../objects'\nimport { BaseError } from './base-error'\n\nexport const isError = (value: unknown): value is Error => value instanceof Error\n\nexport const isBaseError = (value: unknown): value is BaseError => value instanceof BaseError\n\nexport const isAbortError = (error: unknown): error is DOMException => error instanceof DOMException && error.name === 'AbortError'\n\nexport const isErrorLike = (value: unknown): value is ErrorLike => isObject(value) && isKeysOf(value, 'name') && isString(value.name)\n",
|
|
7
|
-
"import type { Errorable, ErrorCtor, ErrorLike } from './types'\nimport { isString, notNullish } from '../core'\nimport { isErrorLike } from './guards'\n\nexport const createAbortError = (message = 'This operation was aborted', name = 'AbortError') => new DOMException(message, name)\n\nexport const createTimeoutError = (message = 'The operation was aborted due to a timeout', name = 'TimeoutError') => createAbortError(message, name)\n\nexport function createAbortController(timeout?: number, timeoutError?: Errorable) {\n const controller = new AbortController()\n\n if (notNullish(timeout) && timeout > 0 && timeout <= Number.MAX_SAFE_INTEGER) {\n let timeoutId: NodeJS.Timeout\n\n const cleanup = () => {\n clearTimeout(timeoutId)\n controller.signal.removeEventListener('abort', cleanup)\n }\n\n controller.signal.addEventListener('abort', cleanup)\n timeoutId = setTimeout(() => controller.abort(ensureError(timeoutError ?? createTimeoutError())), timeout)\n }\n\n return controller\n}\n\nexport function ensureError(input: Errorable, ctor?: ErrorCtor) {\n if (typeof input === 'string') {\n return ctor ? new ctor(input) : new Error(input)\n }\n\n if (typeof input === 'function') {\n return ensureError(input(), ctor)\n }\n\n return input\n}\n\nexport function fromErrorLike({ cause, message, name, stack, ...properties }: ErrorLike, ctor?: ErrorCtor) {\n const errorClass = ctor ?? Error\n const error = new errorClass(message, { cause })\n\n Object.defineProperty(error, 'name', { configurable: true, enumerable: false, value: name, writable: true })\n Object.defineProperty(error, 'stack', { configurable: true, enumerable: false, value: stack, writable: true })\n\n for (const [key, value] of Object.entries(properties)) {\n Object.defineProperty(error, key, Object.getOwnPropertyDescriptor(properties, key) ?? { configurable: true, enumerable: true, value, writable: true })\n }\n\n return error\n}\n\nexport interface NormalizeErrorOptions {\n defaultMessage?: string\n errorConstructor?: ErrorCtor\n}\n\nexport function normalizeError(error: unknown, { defaultMessage = 'Unknown error', errorConstructor }: NormalizeErrorOptions = {}) {\n const errorClass = errorConstructor ?? Error\n\n if (error instanceof errorClass) {\n return error\n }\n\n if (isString(error)) {\n return ensureError(error, errorConstructor)\n }\n\n if (isErrorLike(error)) {\n return fromErrorLike(error, errorConstructor)\n }\n\n return new errorClass(defaultMessage, { cause: error })\n}\n",
|
|
8
|
-
"import { notNullish, type Nullish } from '../core'\n\nexport function combineSignals(...signals: Array<Nullish<AbortSignal>>) {\n const validSignals = signals.filter(notNullish)\n\n if (validSignals.length === 0) {\n return new AbortController().signal\n }\n\n if (validSignals.length === 1) {\n return validSignals[0]!\n }\n\n return AbortSignal.any(validSignals)\n}\n",
|
|
9
|
-
"import { isString, notNullish } from '../core'\nimport { isObject } from '../objects'\nimport { normalizeError, type NormalizeErrorOptions } from './factories'\n\nexport interface StringifyErrorFormatters {\n code?: (code: string) => string\n message?: (message: string) => string\n name?: (name: string) => string\n}\n\nexport interface StringifyErrorOptions extends NormalizeErrorOptions {\n causeIndent?: number\n causePrefix?: string\n circularReferenceMessage?: string\n formatters?: StringifyErrorFormatters\n includeCause?: boolean\n includeCode?: boolean\n includeName?: boolean\n maxCauseDepth?: number\n}\n\nexport const DEFAULT_STRINGIFY_FORMATTERS: Required<StringifyErrorFormatters> = {\n code: (value) => `[${value}]`,\n message: (value) => value,\n name: (value) => `${value}:`,\n}\n\nexport interface StringifyErrorState {\n causeIndent: number\n causePrefix: string\n circularReferenceMessage: string\n defaultMessage: string\n formatters: Required<StringifyErrorFormatters>\n includeCause: boolean\n includeCode: boolean\n includeName: boolean\n maxCauseDepth: number\n normalizeOptions: NormalizeErrorOptions\n visited: Set<unknown>\n}\n\nexport function collectCauses(error: Error, depth: number, indent: string, state: StringifyErrorState) {\n const childIndent = indent + ' '.repeat(state.causeIndent)\n const pointers: string[] = []\n\n if (error instanceof AggregateError && error.errors.length > 0) {\n for (const subError of error.errors) {\n pointers.push(stringifyErrorNode(subError, depth - 1, childIndent, state.causePrefix, state))\n }\n }\n\n if (isObject(error.cause) || isString(error.cause)) {\n pointers.push(stringifyErrorNode(error.cause, depth - 1, childIndent, state.causePrefix, state))\n }\n\n return pointers\n}\n\nexport function appendCauses(parts: string[], error: Error, error_: unknown, depth: number, indent: string, state: StringifyErrorState) {\n if (!state.includeCause || depth <= 0 || (error !== error_ && error.cause === error_)) {\n return\n }\n\n const pointers = collectCauses(error, depth, indent, state)\n\n if (pointers.length > 0) {\n parts.push(`\\n${pointers.join('\\n')}`)\n }\n}\n\nexport function buildErrorParts(error: Error, state: StringifyErrorState) {\n const parts: string[] = []\n\n if (state.includeCode && 'code' in error && notNullish(error.code)) {\n parts.push(state.formatters.code(String(error.code)))\n }\n\n if (state.includeName) {\n parts.push(state.formatters.name(error.name))\n }\n\n parts.push(state.formatters.message(error.message || state.defaultMessage))\n\n return parts\n}\n\nexport function stringifyErrorNode(error_: unknown, depth: number, indent: string, prefix: string, state: StringifyErrorState): string {\n if (state.visited.has(error_)) {\n return `${indent}${prefix}${state.circularReferenceMessage}`\n }\n\n if (error_ instanceof Error) {\n state.visited.add(error_)\n }\n\n if (error_ instanceof Error && error_.toString !== Error.prototype.toString) {\n const parts = [error_.toString()]\n appendCauses(parts, error_, error_, depth, indent, state)\n\n return indent + prefix + parts.join(' ')\n }\n\n const error = normalizeError(error_, { ...state.normalizeOptions, defaultMessage: state.defaultMessage })\n\n state.visited.add(error)\n\n const parts = buildErrorParts(error, state)\n appendCauses(parts, error, error_, depth, indent, state)\n\n return indent + prefix + parts.join(' ')\n}\n\nexport function stringifyError(error: unknown, options: StringifyErrorOptions = {}) {\n const { causeIndent = 2, causePrefix = '-> ', circularReferenceMessage = '[Circular Reference]', defaultMessage = 'Unknown error', formatters: formatters_ = {}, includeCause = true, includeCode = true, includeName = true, maxCauseDepth = Number.POSITIVE_INFINITY, ...normalizeOptions } = options\n\n const state: StringifyErrorState = {\n causeIndent,\n causePrefix,\n circularReferenceMessage,\n defaultMessage,\n formatters: { ...DEFAULT_STRINGIFY_FORMATTERS, ...formatters_ },\n includeCause,\n includeCode,\n includeName,\n maxCauseDepth,\n normalizeOptions,\n visited: new Set<unknown>(),\n }\n\n return stringifyErrorNode(error, maxCauseDepth, '', '', state)\n}\n"
|
|
10
|
-
],
|
|
11
|
-
"mappings": "wGAYO,AAAM,UAAkB,KAAM,CAQ1B,WAAW,CAAC,GAAmB,OAAM,UAAS,WAAU,OAAM,YAAW,eAAc,GAA8B,CAAC,EAAG,CAC5H,MAAM,EAAS,CAAO,EAEtB,OAAO,eAAe,KAAM,WAAW,SAAS,EAEhD,KAAK,YAAY,OAAQ,GAAQ,KAAK,YAAY,IAAI,EACtD,KAAK,YAAY,YAAa,GAAa,IAAI,IAAM,EACrD,KAAK,YAAY,QAAS,EAAQ,KAAK,EACvC,KAAK,YAAY,OAAQ,CAAI,EAC7B,KAAK,YAAY,UAAW,CAAO,EACnC,KAAK,YAAY,WAAY,CAAQ,EACrC,KAAK,YAAY,YAAa,CAAS,EAGpC,SAA8B,CAAC,EAAQ,EAA+B,CACzE,GAAI,OAAO,OAAO,KAAM,CAAG,EACvB,MAAU,UAAU,6BAA6B,SAAW,KAAK,MAAM,EAG3E,OAAO,KAAK,YAAY,EAAK,CAAK,EAG5B,WAAW,CAAC,EAAa,EAAgB,CAG/C,OAFA,OAAO,eAAe,KAAM,EAAK,CAAE,aAAc,GAAO,WAAY,GAAM,QAAO,SAAU,EAAM,CAAC,EAE3F,KAEf,CC1CO,IAAM,EAAU,CAAC,IAAmC,aAAiB,MAE/D,EAAc,CAAC,IAAuC,aAAiB,EAEvE,EAAe,CAAC,IAA0C,aAAiB,cAAgB,EAAM,OAAS,aAE1G,EAAc,CAAC,IAAuC,EAAS,CAAK,GAAK,EAAS,EAAO,MAAM,GAAK,EAAS,EAAM,IAAI,ECP7H,IAAM,EAAmB,CAAC,EAAU,6BAA8B,EAAO,eAAiB,IAAI,aAAa,EAAS,CAAI,EAElH,EAAqB,CAAC,EAAU,6CAA8C,EAAO,iBAAmB,EAAiB,EAAS,CAAI,EAE5I,SAAS,CAAqB,CAAC,EAAkB,EAA0B,CAC9E,IAAM,EAAa,IAAI,gBAEvB,GAAI,EAAW,CAAO,GAAK,EAAU,GAAK,GAAW,OAAO,iBAAkB,CAC1E,IAAI,EAEE,EAAU,IAAM,CAClB,aAAa,CAAS,EACtB,EAAW,OAAO,oBAAoB,QAAS,CAAO,GAG1D,EAAW,OAAO,iBAAiB,QAAS,CAAO,EACnD,EAAY,WAAW,IAAM,EAAW,MAAM,EAAY,GAAgB,EAAmB,CAAC,CAAC,EAAG,CAAO,EAG7G,OAAO,EAGJ,SAAS,CAAW,CAAC,EAAkB,EAAkB,CAC5D,GAAI,OAAO,IAAU,SACjB,OAAO,EAAO,IAAI,EAAK,CAAK,EAAQ,MAAM,CAAK,EAGnD,GAAI,OAAO,IAAU,WACjB,OAAO,EAAY,EAAM,EAAG,CAAI,EAGpC,OAAO,EAGJ,SAAS,CAAa,EAAG,QAAO,UAAS,OAAM,WAAU,GAAyB,EAAkB,CAEvG,IAAM,EAAQ,IADK,GAAQ,OACE,EAAS,CAAE,OAAM,CAAC,EAE/C,OAAO,eAAe,EAAO,OAAQ,CAAE,aAAc,GAAM,WAAY,GAAO,MAAO,EAAM,SAAU,EAAK,CAAC,EAC3G,OAAO,eAAe,EAAO,QAAS,CAAE,aAAc,GAAM,WAAY,GAAO,MAAO,EAAO,SAAU,EAAK,CAAC,EAE7G,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAU,EAChD,OAAO,eAAe,EAAO,EAAK,OAAO,yBAAyB,EAAY,CAAG,GAAK,CAAE,aAAc,GAAM,WAAY,GAAM,QAAO,SAAU,EAAK,CAAC,EAGzJ,OAAO,EAQJ,SAAS,CAAc,CAAC,GAAkB,iBAAiB,gBAAiB,oBAA4C,CAAC,EAAG,CAC/H,IAAM,EAAa,GAAoB,MAEvC,GAAI,aAAiB,EACjB,OAAO,EAGX,GAAI,EAAS,CAAK,EACd,OAAO,EAAY,EAAO,CAAgB,EAG9C,GAAI,EAAY,CAAK,EACjB,OAAO,EAAc,EAAO,CAAgB,EAGhD,OAAO,IAAI,EAAW,EAAgB,CAAE,MAAO,CAAM,CAAC,ECtEnD,SAAS,CAAc,IAAI,EAAsC,CACpE,IAAM,EAAe,EAAQ,OAAO,CAAU,EAE9C,GAAI,EAAa,SAAW,EACxB,OAAO,IAAI,gBAAgB,EAAE,OAGjC,GAAI,EAAa,SAAW,EACxB,OAAO,EAAa,GAGxB,OAAO,YAAY,IAAI,CAAY,ECQhC,IAAM,EAAmE,CAC5E,KAAM,CAAC,IAAU,IAAI,KACrB,QAAS,CAAC,IAAU,EACpB,KAAM,CAAC,IAAU,GAAG,IACxB,EAgBO,SAAS,CAAa,CAAC,EAAc,EAAe,EAAgB,EAA4B,CACnG,IAAM,EAAc,EAAS,IAAI,OAAO,EAAM,WAAW,EACnD,EAAqB,CAAC,EAE5B,GAAI,aAAiB,gBAAkB,EAAM,OAAO,OAAS,EACzD,QAAW,KAAY,EAAM,OACzB,EAAS,KAAK,EAAmB,EAAU,EAAQ,EAAG,EAAa,EAAM,YAAa,CAAK,CAAC,EAIpG,GAAI,EAAS,EAAM,KAAK,GAAK,EAAS,EAAM,KAAK,EAC7C,EAAS,KAAK,EAAmB,EAAM,MAAO,EAAQ,EAAG,EAAa,EAAM,YAAa,CAAK,CAAC,EAGnG,OAAO,EAGJ,SAAS,CAAY,CAAC,EAAiB,EAAc,EAAiB,EAAe,EAAgB,EAA4B,CACpI,GAAI,CAAC,EAAM,cAAgB,GAAS,GAAM,IAAU,GAAU,EAAM,QAAU,EAC1E,OAGJ,IAAM,EAAW,EAAc,EAAO,EAAO,EAAQ,CAAK,EAE1D,GAAI,EAAS,OAAS,EAClB,EAAM,KAAK;AAAA,EAAK,EAAS,KAAK;AAAA,CAAI,GAAG,EAItC,SAAS,CAAe,CAAC,EAAc,EAA4B,CACtE,IAAM,EAAkB,CAAC,EAEzB,GAAI,EAAM,aAAe,SAAU,GAAS,EAAW,EAAM,IAAI,EAC7D,EAAM,KAAK,EAAM,WAAW,KAAK,OAAO,EAAM,IAAI,CAAC,CAAC,EAGxD,GAAI,EAAM,YACN,EAAM,KAAK,EAAM,WAAW,KAAK,EAAM,IAAI,CAAC,EAKhD,OAFA,EAAM,KAAK,EAAM,WAAW,QAAQ,EAAM,SAAW,EAAM,cAAc,CAAC,EAEnE,EAGJ,SAAS,CAAkB,CAAC,EAAiB,EAAe,EAAgB,EAAgB,EAAoC,CACnI,GAAI,EAAM,QAAQ,IAAI,CAAM,EACxB,MAAO,GAAG,IAAS,IAAS,EAAM,2BAGtC,GAAI,aAAkB,MAClB,EAAM,QAAQ,IAAI,CAAM,EAG5B,GAAI,aAAkB,OAAS,EAAO,WAAa,MAAM,UAAU,SAAU,CACzE,IAAM,EAAQ,CAAC,EAAO,SAAS,CAAC,EAGhC,OAFA,EAAa,EAAO,EAAQ,EAAQ,EAAO,EAAQ,CAAK,EAEjD,EAAS,EAAS,EAAM,KAAK,GAAG,EAG3C,IAAM,EAAQ,EAAe,EAAQ,IAAK,EAAM,iBAAkB,eAAgB,EAAM,cAAe,CAAC,EAExG,EAAM,QAAQ,IAAI,CAAK,EAEvB,IAAM,EAAQ,EAAgB,EAAO,CAAK,EAG1C,OAFA,EAAa,EAAO,EAAO,EAAQ,EAAO,EAAQ,CAAK,EAEhD,EAAS,EAAS,EAAM,KAAK,GAAG,EAGpC,SAAS,CAAc,CAAC,EAAgB,EAAiC,CAAC,EAAG,CAChF,IAAQ,cAAc,EAAG,cAAc,MAAO,2BAA2B,uBAAwB,iBAAiB,gBAAiB,WAAY,EAAc,CAAC,EAAG,eAAe,GAAM,cAAc,GAAM,cAAc,GAAM,gBAAgB,OAAO,qBAAsB,GAAqB,EAE1R,EAA6B,CAC/B,cACA,cACA,2BACA,iBACA,WAAY,IAAK,KAAiC,CAAY,EAC9D,eACA,cACA,cACA,gBACA,mBACA,QAAS,IAAI,GACjB,EAEA,OAAO,EAAmB,EAAO,EAAe,GAAI,GAAI,CAAK",
|
|
12
|
-
"debugId": "AA3A1EF4BC506E6664756E2164756E21",
|
|
13
|
-
"names": []
|
|
14
|
-
}
|
package/chunk-bjmntg2y.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var s=(n)=>typeof n==="function";function x(n,r){return r(n),n}var y=(n,r)=>r(n);function h(n,r){try{return n()}catch(T){return s(r)?r(T):r}}var a=()=>({lastArgs:void 0,lastResult:void 0,lastThis:void 0,timeoutId:void 0});function g(n,r){let{lastArgs:T,lastThis:e}=n;n.timeoutId=void 0,n.lastArgs=void 0,n.lastResult=r.apply(e,T)}function i(n,r){if(n.timeoutId!==void 0)clearTimeout(n.timeoutId),r();return n.lastResult}function w(n,r){let T=a(),e=()=>g(T,n),t=function(...f){if(T.lastArgs=f,T.lastThis=this,T.timeoutId!==void 0)clearTimeout(T.timeoutId);T.timeoutId=setTimeout(e,r)};return t.cancel=()=>{if(T.timeoutId!==void 0)clearTimeout(T.timeoutId),T.timeoutId=void 0,T.lastArgs=void 0},t.flush=()=>{return i(T,e)},t}var v=()=>{return},R=(n)=>n();function b(n){for(let r of n)r?.()}function z(n,{cache:r=new Map,resolver:T}={}){let e=function(...t){let f=T?T(...t):t[0];if(r.has(f))return r.get(f);let o=n.apply(this,t);return r.set(f,o),o};return e.cache=r,e}import{normalizeError as d}from"@/errors";function D(n){let r=!1,T,e,t=(...f)=>{if(r){if(e)throw d(e);return T}r=!0;try{return T=n(...f)}catch(o){throw e=d(o)}};return t.reset=()=>{r=!1,e=void 0},t}import{isNonEmptyArray as m}from"@/arrays";function E(...n){if(!m(n))return;let r=n[0]();for(let T=1;T<n.length;T++)r=n[T](r);return r}function j(n,r){let T=a(),e,t=()=>{e=Date.now(),g(T,n)},f=function(...o){let p=Date.now();if(T.lastArgs=o,T.lastThis=this,e===void 0){e=p,T.lastResult=n.apply(this,o);return}let u=r-(p-e);if(u<=0){if(T.timeoutId!==void 0)clearTimeout(T.timeoutId),T.timeoutId=void 0;e=p,T.lastResult=n.apply(this,o)}else T.timeoutId??=setTimeout(t,u)};return f.cancel=()=>{if(T.timeoutId!==void 0)clearTimeout(T.timeoutId),T.timeoutId=void 0;T.lastArgs=void 0,e=void 0},f.flush=()=>{return i(T,t)},f}export{s as qb,x as rb,y as sb,h as tb,a as ub,g as vb,i as wb,w as xb,v as yb,R as zb,b as Ab,z as Bb,D as Cb,E as Db,j as Eb};
|
|
2
|
-
|
|
3
|
-
//# debugId=084D58C2497EAF6F64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=chunk-bjmntg2y.js.map
|