@hotmeshio/hotmesh 0.0.3 → 0.0.5
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/README.md +3 -3
- package/build/{package.json → cjs/package.json} +12 -5
- package/build/{services → cjs/services}/activities/activity.d.ts +2 -0
- package/build/{services → cjs/services}/activities/activity.js +27 -9
- package/build/{services → cjs/services}/activities/trigger.js +2 -2
- package/build/{services → cjs/services}/activities/worker.js +1 -0
- package/build/{services → cjs/services}/collator/index.d.ts +7 -5
- package/build/{services → cjs/services}/collator/index.js +29 -6
- package/build/{services → cjs/services}/compiler/deployer.d.ts +4 -3
- package/build/{services → cjs/services}/compiler/deployer.js +14 -0
- package/build/{services → cjs/services}/connector/index.js +3 -3
- package/build/{services → cjs/services}/dimension/index.d.ts +1 -1
- package/build/{services → cjs/services}/durable/client.js +2 -2
- package/build/{services → cjs/services}/durable/connection.js +2 -2
- package/build/{services → cjs/services}/durable/handle.d.ts +1 -1
- package/build/{services → cjs/services}/engine/index.d.ts +1 -1
- package/build/{services → cjs/services}/engine/index.js +22 -5
- package/build/{services → cjs/services}/hotmesh/index.d.ts +1 -1
- package/build/{services → cjs/services}/hotmesh/index.js +4 -4
- package/build/{services → cjs/services}/mapper/index.d.ts +3 -3
- package/build/{services → cjs/services}/serializer/index.d.ts +6 -1
- package/build/{services → cjs/services}/serializer/index.js +55 -22
- package/build/{services → cjs/services}/signaler/stream.js +1 -0
- package/build/{services → cjs/services}/store/index.d.ts +3 -3
- package/build/{services → cjs/services}/store/index.js +11 -24
- package/build/{types → cjs/types}/activity.d.ts +1 -0
- package/build/esm/index.d.ts +4 -0
- package/build/esm/index.js +3 -0
- package/build/esm/modules/errors.d.ts +28 -0
- package/build/esm/modules/errors.js +41 -0
- package/build/esm/modules/key.d.ts +75 -0
- package/build/esm/modules/key.js +111 -0
- package/build/esm/modules/utils.d.ts +34 -0
- package/build/esm/modules/utils.js +154 -0
- package/build/esm/package.json +80 -0
- package/build/esm/services/activities/activity.d.ts +61 -0
- package/build/esm/services/activities/activity.js +411 -0
- package/build/esm/services/activities/await.d.ts +16 -0
- package/build/esm/services/activities/await.js +140 -0
- package/build/esm/services/activities/emit.d.ts +9 -0
- package/build/esm/services/activities/emit.js +10 -0
- package/build/esm/services/activities/index.d.ts +15 -0
- package/build/esm/services/activities/index.js +14 -0
- package/build/esm/services/activities/iterate.d.ts +9 -0
- package/build/esm/services/activities/iterate.js +10 -0
- package/build/esm/services/activities/trigger.d.ts +22 -0
- package/build/esm/services/activities/trigger.js +158 -0
- package/build/esm/services/activities/worker.d.ts +17 -0
- package/build/esm/services/activities/worker.js +162 -0
- package/build/esm/services/collator/index.d.ts +56 -0
- package/build/esm/services/collator/index.js +191 -0
- package/build/esm/services/compiler/deployer.d.ts +36 -0
- package/build/esm/services/compiler/deployer.js +423 -0
- package/build/esm/services/compiler/index.d.ts +30 -0
- package/build/esm/services/compiler/index.js +82 -0
- package/build/esm/services/compiler/validator.d.ts +32 -0
- package/build/esm/services/compiler/validator.js +131 -0
- package/build/esm/services/connector/clients/ioredis.d.ts +13 -0
- package/build/esm/services/connector/clients/ioredis.js +47 -0
- package/build/esm/services/connector/clients/redis.d.ts +13 -0
- package/build/esm/services/connector/clients/redis.js +59 -0
- package/build/esm/services/connector/index.d.ts +5 -0
- package/build/esm/services/connector/index.js +27 -0
- package/build/esm/services/dimension/index.d.ts +29 -0
- package/build/esm/services/dimension/index.js +32 -0
- package/build/esm/services/durable/asyncLocalStorage.d.ts +3 -0
- package/build/esm/services/durable/asyncLocalStorage.js +2 -0
- package/build/esm/services/durable/client.d.ts +15 -0
- package/build/esm/services/durable/client.js +114 -0
- package/build/esm/services/durable/connection.d.ts +4 -0
- package/build/esm/services/durable/connection.js +47 -0
- package/build/esm/services/durable/factory.d.ts +3 -0
- package/build/esm/services/durable/factory.js +119 -0
- package/build/esm/services/durable/handle.d.ts +8 -0
- package/build/esm/services/durable/handle.js +34 -0
- package/build/esm/services/durable/index.d.ts +57 -0
- package/build/esm/services/durable/index.js +55 -0
- package/build/esm/services/durable/native.d.ts +4 -0
- package/build/esm/services/durable/native.js +43 -0
- package/build/esm/services/durable/worker.d.ts +36 -0
- package/build/esm/services/durable/worker.js +258 -0
- package/build/esm/services/durable/workflow.d.ts +6 -0
- package/build/esm/services/durable/workflow.js +128 -0
- package/build/esm/services/engine/index.d.ts +82 -0
- package/build/esm/services/engine/index.js +522 -0
- package/build/esm/services/hotmesh/index.d.ts +45 -0
- package/build/esm/services/hotmesh/index.js +131 -0
- package/build/esm/services/logger/index.d.ts +17 -0
- package/build/esm/services/logger/index.js +70 -0
- package/build/esm/services/mapper/index.d.ts +24 -0
- package/build/esm/services/mapper/index.js +69 -0
- package/build/esm/services/pipe/functions/array.d.ts +24 -0
- package/build/esm/services/pipe/functions/array.js +66 -0
- package/build/esm/services/pipe/functions/bitwise.d.ts +9 -0
- package/build/esm/services/pipe/functions/bitwise.js +21 -0
- package/build/esm/services/pipe/functions/conditional.d.ts +10 -0
- package/build/esm/services/pipe/functions/conditional.js +24 -0
- package/build/esm/services/pipe/functions/date.d.ts +57 -0
- package/build/esm/services/pipe/functions/date.js +164 -0
- package/build/esm/services/pipe/functions/index.d.ts +25 -0
- package/build/esm/services/pipe/functions/index.js +24 -0
- package/build/esm/services/pipe/functions/json.d.ts +5 -0
- package/build/esm/services/pipe/functions/json.js +9 -0
- package/build/esm/services/pipe/functions/math.d.ts +38 -0
- package/build/esm/services/pipe/functions/math.js +108 -0
- package/build/esm/services/pipe/functions/number.d.ts +25 -0
- package/build/esm/services/pipe/functions/number.js +130 -0
- package/build/esm/services/pipe/functions/object.d.ts +22 -0
- package/build/esm/services/pipe/functions/object.js +60 -0
- package/build/esm/services/pipe/functions/string.d.ts +23 -0
- package/build/esm/services/pipe/functions/string.js +66 -0
- package/build/esm/services/pipe/functions/symbol.d.ts +12 -0
- package/build/esm/services/pipe/functions/symbol.js +30 -0
- package/build/esm/services/pipe/functions/unary.d.ts +7 -0
- package/build/esm/services/pipe/functions/unary.js +15 -0
- package/build/esm/services/pipe/index.d.ts +30 -0
- package/build/esm/services/pipe/index.js +122 -0
- package/build/esm/services/quorum/index.d.ts +34 -0
- package/build/esm/services/quorum/index.js +144 -0
- package/build/esm/services/reporter/index.d.ts +47 -0
- package/build/esm/services/reporter/index.js +327 -0
- package/build/esm/services/serializer/index.d.ts +41 -0
- package/build/esm/services/serializer/index.js +251 -0
- package/build/esm/services/signaler/store.d.ts +15 -0
- package/build/esm/services/signaler/store.js +50 -0
- package/build/esm/services/signaler/stream.d.ts +43 -0
- package/build/esm/services/signaler/stream.js +315 -0
- package/build/esm/services/store/cache.d.ts +66 -0
- package/build/esm/services/store/cache.js +124 -0
- package/build/esm/services/store/clients/ioredis.d.ts +27 -0
- package/build/esm/services/store/clients/ioredis.js +93 -0
- package/build/esm/services/store/clients/redis.d.ts +29 -0
- package/build/esm/services/store/clients/redis.js +140 -0
- package/build/esm/services/store/index.d.ts +88 -0
- package/build/esm/services/store/index.js +623 -0
- package/build/esm/services/stream/clients/ioredis.d.ts +23 -0
- package/build/esm/services/stream/clients/ioredis.js +112 -0
- package/build/esm/services/stream/clients/redis.d.ts +23 -0
- package/build/esm/services/stream/clients/redis.js +116 -0
- package/build/esm/services/stream/index.d.ts +21 -0
- package/build/esm/services/stream/index.js +6 -0
- package/build/esm/services/sub/clients/ioredis.d.ts +20 -0
- package/build/esm/services/sub/clients/ioredis.js +69 -0
- package/build/esm/services/sub/clients/redis.d.ts +20 -0
- package/build/esm/services/sub/clients/redis.js +60 -0
- package/build/esm/services/sub/index.d.ts +18 -0
- package/build/esm/services/sub/index.js +6 -0
- package/build/esm/services/task/index.d.ts +18 -0
- package/build/esm/services/task/index.js +70 -0
- package/build/esm/services/telemetry/index.d.ts +49 -0
- package/build/esm/services/telemetry/index.js +217 -0
- package/build/esm/services/worker/index.d.ts +30 -0
- package/build/esm/services/worker/index.js +102 -0
- package/build/esm/types/activity.d.ts +87 -0
- package/build/esm/types/activity.js +1 -0
- package/build/esm/types/app.d.ts +16 -0
- package/build/esm/types/app.js +1 -0
- package/build/esm/types/async.d.ts +5 -0
- package/build/esm/types/async.js +1 -0
- package/build/esm/types/cache.d.ts +1 -0
- package/build/esm/types/cache.js +1 -0
- package/build/esm/types/collator.d.ts +8 -0
- package/build/esm/types/collator.js +8 -0
- package/build/esm/types/durable.d.ts +59 -0
- package/build/esm/types/durable.js +1 -0
- package/build/esm/types/hook.d.ts +31 -0
- package/build/esm/types/hook.js +6 -0
- package/build/esm/types/hotmesh.d.ts +82 -0
- package/build/esm/types/hotmesh.js +1 -0
- package/build/esm/types/index.d.ts +20 -0
- package/build/esm/types/index.js +5 -0
- package/build/esm/types/ioredisclient.d.ts +5 -0
- package/build/esm/types/ioredisclient.js +2 -0
- package/build/esm/types/job.d.ts +50 -0
- package/build/esm/types/job.js +1 -0
- package/build/esm/types/logger.d.ts +6 -0
- package/build/esm/types/logger.js +1 -0
- package/build/esm/types/map.d.ts +4 -0
- package/build/esm/types/map.js +1 -0
- package/build/esm/types/pipe.d.ts +4 -0
- package/build/esm/types/pipe.js +1 -0
- package/build/esm/types/quorum.d.ts +46 -0
- package/build/esm/types/quorum.js +1 -0
- package/build/esm/types/redis.d.ts +8 -0
- package/build/esm/types/redis.js +1 -0
- package/build/esm/types/redisclient.d.ts +25 -0
- package/build/esm/types/redisclient.js +1 -0
- package/build/esm/types/serializer.d.ts +33 -0
- package/build/esm/types/serializer.js +1 -0
- package/build/esm/types/stats.d.ts +83 -0
- package/build/esm/types/stats.js +1 -0
- package/build/esm/types/stream.d.ts +67 -0
- package/build/esm/types/stream.js +22 -0
- package/build/esm/types/telemetry.d.ts +1 -0
- package/build/esm/types/telemetry.js +1 -0
- package/build/esm/types/transition.d.ts +17 -0
- package/build/esm/types/transition.js +1 -0
- package/package.json +12 -5
- package/services/activities/activity.ts +28 -9
- package/services/activities/trigger.ts +2 -2
- package/services/activities/worker.ts +1 -0
- package/services/collator/index.ts +38 -13
- package/services/compiler/deployer.ts +24 -9
- package/services/connector/index.ts +3 -3
- package/services/dimension/index.ts +1 -1
- package/services/durable/client.ts +2 -2
- package/services/durable/connection.ts +2 -2
- package/services/durable/handle.ts +2 -2
- package/services/engine/index.ts +23 -5
- package/services/hotmesh/index.ts +4 -4
- package/services/mapper/index.ts +6 -8
- package/services/serializer/index.ts +57 -22
- package/services/signaler/stream.ts +1 -0
- package/services/store/index.ts +13 -25
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.esm.json +9 -0
- package/types/activity.ts +1 -0
- /package/build/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/build/{index.js → cjs/index.js} +0 -0
- /package/build/{modules → cjs/modules}/errors.d.ts +0 -0
- /package/build/{modules → cjs/modules}/errors.js +0 -0
- /package/build/{modules → cjs/modules}/key.d.ts +0 -0
- /package/build/{modules → cjs/modules}/key.js +0 -0
- /package/build/{modules → cjs/modules}/utils.d.ts +0 -0
- /package/build/{modules → cjs/modules}/utils.js +0 -0
- /package/build/{services → cjs/services}/activities/await.d.ts +0 -0
- /package/build/{services → cjs/services}/activities/await.js +0 -0
- /package/build/{services → cjs/services}/activities/emit.d.ts +0 -0
- /package/build/{services → cjs/services}/activities/emit.js +0 -0
- /package/build/{services → cjs/services}/activities/index.d.ts +0 -0
- /package/build/{services → cjs/services}/activities/index.js +0 -0
- /package/build/{services → cjs/services}/activities/iterate.d.ts +0 -0
- /package/build/{services → cjs/services}/activities/iterate.js +0 -0
- /package/build/{services → cjs/services}/activities/trigger.d.ts +0 -0
- /package/build/{services → cjs/services}/activities/worker.d.ts +0 -0
- /package/build/{services → cjs/services}/compiler/index.d.ts +0 -0
- /package/build/{services → cjs/services}/compiler/index.js +0 -0
- /package/build/{services → cjs/services}/compiler/validator.d.ts +0 -0
- /package/build/{services → cjs/services}/compiler/validator.js +0 -0
- /package/build/{services → cjs/services}/connector/clients/ioredis.d.ts +0 -0
- /package/build/{services → cjs/services}/connector/clients/ioredis.js +0 -0
- /package/build/{services → cjs/services}/connector/clients/redis.d.ts +0 -0
- /package/build/{services → cjs/services}/connector/clients/redis.js +0 -0
- /package/build/{services → cjs/services}/connector/index.d.ts +0 -0
- /package/build/{services → cjs/services}/dimension/index.js +0 -0
- /package/build/{services → cjs/services}/durable/asyncLocalStorage.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/asyncLocalStorage.js +0 -0
- /package/build/{services → cjs/services}/durable/client.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/connection.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/factory.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/factory.js +0 -0
- /package/build/{services → cjs/services}/durable/handle.js +0 -0
- /package/build/{services → cjs/services}/durable/index.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/index.js +0 -0
- /package/build/{services → cjs/services}/durable/native.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/native.js +0 -0
- /package/build/{services → cjs/services}/durable/worker.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/worker.js +0 -0
- /package/build/{services → cjs/services}/durable/workflow.d.ts +0 -0
- /package/build/{services → cjs/services}/durable/workflow.js +0 -0
- /package/build/{services → cjs/services}/logger/index.d.ts +0 -0
- /package/build/{services → cjs/services}/logger/index.js +0 -0
- /package/build/{services → cjs/services}/mapper/index.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/array.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/array.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/bitwise.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/bitwise.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/conditional.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/conditional.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/date.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/date.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/index.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/index.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/json.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/json.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/math.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/math.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/number.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/number.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/object.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/object.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/string.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/string.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/symbol.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/symbol.js +0 -0
- /package/build/{services → cjs/services}/pipe/functions/unary.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/functions/unary.js +0 -0
- /package/build/{services → cjs/services}/pipe/index.d.ts +0 -0
- /package/build/{services → cjs/services}/pipe/index.js +0 -0
- /package/build/{services → cjs/services}/quorum/index.d.ts +0 -0
- /package/build/{services → cjs/services}/quorum/index.js +0 -0
- /package/build/{services → cjs/services}/reporter/index.d.ts +0 -0
- /package/build/{services → cjs/services}/reporter/index.js +0 -0
- /package/build/{services → cjs/services}/signaler/store.d.ts +0 -0
- /package/build/{services → cjs/services}/signaler/store.js +0 -0
- /package/build/{services → cjs/services}/signaler/stream.d.ts +0 -0
- /package/build/{services → cjs/services}/store/cache.d.ts +0 -0
- /package/build/{services → cjs/services}/store/cache.js +0 -0
- /package/build/{services → cjs/services}/store/clients/ioredis.d.ts +0 -0
- /package/build/{services → cjs/services}/store/clients/ioredis.js +0 -0
- /package/build/{services → cjs/services}/store/clients/redis.d.ts +0 -0
- /package/build/{services → cjs/services}/store/clients/redis.js +0 -0
- /package/build/{services → cjs/services}/stream/clients/ioredis.d.ts +0 -0
- /package/build/{services → cjs/services}/stream/clients/ioredis.js +0 -0
- /package/build/{services → cjs/services}/stream/clients/redis.d.ts +0 -0
- /package/build/{services → cjs/services}/stream/clients/redis.js +0 -0
- /package/build/{services → cjs/services}/stream/index.d.ts +0 -0
- /package/build/{services → cjs/services}/stream/index.js +0 -0
- /package/build/{services → cjs/services}/sub/clients/ioredis.d.ts +0 -0
- /package/build/{services → cjs/services}/sub/clients/ioredis.js +0 -0
- /package/build/{services → cjs/services}/sub/clients/redis.d.ts +0 -0
- /package/build/{services → cjs/services}/sub/clients/redis.js +0 -0
- /package/build/{services → cjs/services}/sub/index.d.ts +0 -0
- /package/build/{services → cjs/services}/sub/index.js +0 -0
- /package/build/{services → cjs/services}/task/index.d.ts +0 -0
- /package/build/{services → cjs/services}/task/index.js +0 -0
- /package/build/{services → cjs/services}/telemetry/index.d.ts +0 -0
- /package/build/{services → cjs/services}/telemetry/index.js +0 -0
- /package/build/{services → cjs/services}/worker/index.d.ts +0 -0
- /package/build/{services → cjs/services}/worker/index.js +0 -0
- /package/build/{types → cjs/types}/activity.js +0 -0
- /package/build/{types → cjs/types}/app.d.ts +0 -0
- /package/build/{types → cjs/types}/app.js +0 -0
- /package/build/{types → cjs/types}/async.d.ts +0 -0
- /package/build/{types → cjs/types}/async.js +0 -0
- /package/build/{types → cjs/types}/cache.d.ts +0 -0
- /package/build/{types → cjs/types}/cache.js +0 -0
- /package/build/{types → cjs/types}/collator.d.ts +0 -0
- /package/build/{types → cjs/types}/collator.js +0 -0
- /package/build/{types → cjs/types}/durable.d.ts +0 -0
- /package/build/{types → cjs/types}/durable.js +0 -0
- /package/build/{types → cjs/types}/hook.d.ts +0 -0
- /package/build/{types → cjs/types}/hook.js +0 -0
- /package/build/{types → cjs/types}/hotmesh.d.ts +0 -0
- /package/build/{types → cjs/types}/hotmesh.js +0 -0
- /package/build/{types → cjs/types}/index.d.ts +0 -0
- /package/build/{types → cjs/types}/index.js +0 -0
- /package/build/{types → cjs/types}/ioredisclient.d.ts +0 -0
- /package/build/{types → cjs/types}/ioredisclient.js +0 -0
- /package/build/{types → cjs/types}/job.d.ts +0 -0
- /package/build/{types → cjs/types}/job.js +0 -0
- /package/build/{types → cjs/types}/logger.d.ts +0 -0
- /package/build/{types → cjs/types}/logger.js +0 -0
- /package/build/{types → cjs/types}/map.d.ts +0 -0
- /package/build/{types → cjs/types}/map.js +0 -0
- /package/build/{types → cjs/types}/pipe.d.ts +0 -0
- /package/build/{types → cjs/types}/pipe.js +0 -0
- /package/build/{types → cjs/types}/quorum.d.ts +0 -0
- /package/build/{types → cjs/types}/quorum.js +0 -0
- /package/build/{types → cjs/types}/redis.d.ts +0 -0
- /package/build/{types → cjs/types}/redis.js +0 -0
- /package/build/{types → cjs/types}/redisclient.d.ts +0 -0
- /package/build/{types → cjs/types}/redisclient.js +0 -0
- /package/build/{types → cjs/types}/serializer.d.ts +0 -0
- /package/build/{types → cjs/types}/serializer.js +0 -0
- /package/build/{types → cjs/types}/stats.d.ts +0 -0
- /package/build/{types → cjs/types}/stats.js +0 -0
- /package/build/{types → cjs/types}/stream.d.ts +0 -0
- /package/build/{types → cjs/types}/stream.js +0 -0
- /package/build/{types → cjs/types}/telemetry.d.ts +0 -0
- /package/build/{types → cjs/types}/telemetry.js +0 -0
- /package/build/{types → cjs/types}/transition.d.ts +0 -0
- /package/build/{types → cjs/types}/transition.js +0 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
class DateHandler {
|
|
2
|
+
/**
|
|
3
|
+
* It is so common in mapping operations to use a string (ISO) date as input. This helper
|
|
4
|
+
* method allows for a more-concise mapping ruleset by avoiding date initialization boilerplate
|
|
5
|
+
* code and instead handles the ISO, Milliseconds, and ECMAScript Date input types.
|
|
6
|
+
* @param input
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
static getDateInstance(input) {
|
|
10
|
+
const ISO_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z)?$/;
|
|
11
|
+
if (typeof input === 'string') {
|
|
12
|
+
if (ISO_REGEX.test(input)) {
|
|
13
|
+
return new Date(input);
|
|
14
|
+
}
|
|
15
|
+
const milliseconds = parseInt(input, 10);
|
|
16
|
+
if (!isNaN(milliseconds)) {
|
|
17
|
+
return new Date(milliseconds);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else if (input instanceof Date) {
|
|
21
|
+
return input;
|
|
22
|
+
}
|
|
23
|
+
else if (typeof input === 'number') {
|
|
24
|
+
return new Date(input);
|
|
25
|
+
}
|
|
26
|
+
throw new Error("Invalid date format");
|
|
27
|
+
}
|
|
28
|
+
fromISOString(isoString) {
|
|
29
|
+
return new Date(isoString);
|
|
30
|
+
}
|
|
31
|
+
now() {
|
|
32
|
+
return Date.now();
|
|
33
|
+
}
|
|
34
|
+
parse(dateString) {
|
|
35
|
+
return Date.parse(dateString);
|
|
36
|
+
}
|
|
37
|
+
getDate(date) {
|
|
38
|
+
return DateHandler.getDateInstance(date).getDate();
|
|
39
|
+
}
|
|
40
|
+
getDay(date) {
|
|
41
|
+
return DateHandler.getDateInstance(date).getDay();
|
|
42
|
+
}
|
|
43
|
+
getFullYear(date) {
|
|
44
|
+
return DateHandler.getDateInstance(date).getFullYear();
|
|
45
|
+
}
|
|
46
|
+
getHours(date) {
|
|
47
|
+
return DateHandler.getDateInstance(date).getHours();
|
|
48
|
+
}
|
|
49
|
+
getMilliseconds(date) {
|
|
50
|
+
return DateHandler.getDateInstance(date).getMilliseconds();
|
|
51
|
+
}
|
|
52
|
+
getMinutes(date) {
|
|
53
|
+
return DateHandler.getDateInstance(date).getMinutes();
|
|
54
|
+
}
|
|
55
|
+
getMonth(date) {
|
|
56
|
+
return DateHandler.getDateInstance(date).getMonth();
|
|
57
|
+
}
|
|
58
|
+
getSeconds(date) {
|
|
59
|
+
return DateHandler.getDateInstance(date).getSeconds();
|
|
60
|
+
}
|
|
61
|
+
getTime(date) {
|
|
62
|
+
return DateHandler.getDateInstance(date).getTime();
|
|
63
|
+
}
|
|
64
|
+
getTimezoneOffset(date) {
|
|
65
|
+
return DateHandler.getDateInstance(date).getTimezoneOffset();
|
|
66
|
+
}
|
|
67
|
+
getUTCDate(date) {
|
|
68
|
+
return DateHandler.getDateInstance(date).getUTCDate();
|
|
69
|
+
}
|
|
70
|
+
getUTCDay(date) {
|
|
71
|
+
return DateHandler.getDateInstance(date).getUTCDay();
|
|
72
|
+
}
|
|
73
|
+
getUTCFullYear(date) {
|
|
74
|
+
return DateHandler.getDateInstance(date).getUTCFullYear();
|
|
75
|
+
}
|
|
76
|
+
getUTCHours(date) {
|
|
77
|
+
return DateHandler.getDateInstance(date).getUTCHours();
|
|
78
|
+
}
|
|
79
|
+
getUTCMilliseconds(date) {
|
|
80
|
+
return DateHandler.getDateInstance(date).getUTCMilliseconds();
|
|
81
|
+
}
|
|
82
|
+
getUTCMinutes(date) {
|
|
83
|
+
return DateHandler.getDateInstance(date).getUTCMinutes();
|
|
84
|
+
}
|
|
85
|
+
getUTCMonth(date) {
|
|
86
|
+
return DateHandler.getDateInstance(date).getUTCMonth();
|
|
87
|
+
}
|
|
88
|
+
getUTCSeconds(date) {
|
|
89
|
+
return DateHandler.getDateInstance(date).getUTCSeconds();
|
|
90
|
+
}
|
|
91
|
+
setMilliseconds(date, ms) {
|
|
92
|
+
return DateHandler.getDateInstance(date).setMilliseconds(ms);
|
|
93
|
+
}
|
|
94
|
+
setMinutes(date, minutes, seconds, ms) {
|
|
95
|
+
return DateHandler.getDateInstance(date).setMinutes(minutes, seconds, ms);
|
|
96
|
+
}
|
|
97
|
+
setMonth(date, month, day) {
|
|
98
|
+
return DateHandler.getDateInstance(date).setMonth(month, day);
|
|
99
|
+
}
|
|
100
|
+
setSeconds(date, seconds, ms) {
|
|
101
|
+
return DateHandler.getDateInstance(date).setSeconds(seconds, ms);
|
|
102
|
+
}
|
|
103
|
+
setTime(date, time) {
|
|
104
|
+
return DateHandler.getDateInstance(date).setTime(time);
|
|
105
|
+
}
|
|
106
|
+
setUTCDate(date, day) {
|
|
107
|
+
return DateHandler.getDateInstance(date).setUTCDate(day);
|
|
108
|
+
}
|
|
109
|
+
setUTCFullYear(date, year, month, day) {
|
|
110
|
+
return DateHandler.getDateInstance(date).setUTCFullYear(year, month, day);
|
|
111
|
+
}
|
|
112
|
+
setUTCHours(date, hours, minutes, seconds, ms) {
|
|
113
|
+
return DateHandler.getDateInstance(date).setUTCHours(hours, minutes, seconds, ms);
|
|
114
|
+
}
|
|
115
|
+
setUTCMilliseconds(date, ms) {
|
|
116
|
+
return DateHandler.getDateInstance(date).setUTCMilliseconds(ms);
|
|
117
|
+
}
|
|
118
|
+
setUTCMinutes(date, minutes, seconds, ms) {
|
|
119
|
+
return DateHandler.getDateInstance(date).setUTCMinutes(minutes, seconds, ms);
|
|
120
|
+
}
|
|
121
|
+
setUTCMonth(date, month, day) {
|
|
122
|
+
return DateHandler.getDateInstance(date).setUTCMonth(month, day);
|
|
123
|
+
}
|
|
124
|
+
setUTCSeconds(date, seconds, ms) {
|
|
125
|
+
return DateHandler.getDateInstance(date).setUTCSeconds(seconds, ms);
|
|
126
|
+
}
|
|
127
|
+
setDate(date, day) {
|
|
128
|
+
return DateHandler.getDateInstance(date).setDate(day);
|
|
129
|
+
}
|
|
130
|
+
setFullYear(date, year, month, day) {
|
|
131
|
+
return DateHandler.getDateInstance(date).setFullYear(year, month, day);
|
|
132
|
+
}
|
|
133
|
+
setHours(date, hours, minutes, seconds, ms) {
|
|
134
|
+
return DateHandler.getDateInstance(date).setHours(hours, minutes, seconds, ms);
|
|
135
|
+
}
|
|
136
|
+
toDateString(date) {
|
|
137
|
+
return DateHandler.getDateInstance(date).toDateString();
|
|
138
|
+
}
|
|
139
|
+
toISOString(date) {
|
|
140
|
+
return DateHandler.getDateInstance(date).toISOString();
|
|
141
|
+
}
|
|
142
|
+
toJSON(date) {
|
|
143
|
+
return DateHandler.getDateInstance(date).toJSON();
|
|
144
|
+
}
|
|
145
|
+
toLocaleDateString(date, locales, options) {
|
|
146
|
+
return DateHandler.getDateInstance(date).toLocaleDateString(locales, options);
|
|
147
|
+
}
|
|
148
|
+
toLocaleString(date, locales, options) {
|
|
149
|
+
return DateHandler.getDateInstance(date).toLocaleString(locales, options);
|
|
150
|
+
}
|
|
151
|
+
toLocaleTimeString(date, locales, options) {
|
|
152
|
+
return DateHandler.getDateInstance(date).toLocaleTimeString(locales, options);
|
|
153
|
+
}
|
|
154
|
+
toString(date) {
|
|
155
|
+
return DateHandler.getDateInstance(date).toString();
|
|
156
|
+
}
|
|
157
|
+
UTC(year, month, date, hours, minutes, seconds, ms) {
|
|
158
|
+
return Date.UTC(year, month, date, hours, minutes, seconds, ms);
|
|
159
|
+
}
|
|
160
|
+
valueOf(date) {
|
|
161
|
+
return DateHandler.getDateInstance(date).valueOf();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
export { DateHandler };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ArrayHandler } from './array';
|
|
2
|
+
import { BitwiseHandler } from './bitwise';
|
|
3
|
+
import { ConditionalHandler } from './conditional';
|
|
4
|
+
import { DateHandler } from './date';
|
|
5
|
+
import { JsonHandler } from './json';
|
|
6
|
+
import { MathHandler } from './math';
|
|
7
|
+
import { NumberHandler } from './number';
|
|
8
|
+
import { ObjectHandler } from './object';
|
|
9
|
+
import { StringHandler } from './string';
|
|
10
|
+
import { SymbolHandler } from './symbol';
|
|
11
|
+
import { UnaryHandler } from './unary';
|
|
12
|
+
declare const _default: {
|
|
13
|
+
array: ArrayHandler;
|
|
14
|
+
bitwise: BitwiseHandler;
|
|
15
|
+
conditional: ConditionalHandler;
|
|
16
|
+
date: DateHandler;
|
|
17
|
+
json: JsonHandler;
|
|
18
|
+
math: MathHandler;
|
|
19
|
+
number: NumberHandler;
|
|
20
|
+
object: ObjectHandler;
|
|
21
|
+
string: StringHandler;
|
|
22
|
+
symbol: SymbolHandler;
|
|
23
|
+
unary: UnaryHandler;
|
|
24
|
+
};
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ArrayHandler } from './array';
|
|
2
|
+
import { BitwiseHandler } from './bitwise';
|
|
3
|
+
import { ConditionalHandler } from './conditional';
|
|
4
|
+
import { DateHandler } from './date';
|
|
5
|
+
import { JsonHandler } from './json';
|
|
6
|
+
import { MathHandler } from './math';
|
|
7
|
+
import { NumberHandler } from './number';
|
|
8
|
+
import { ObjectHandler } from './object';
|
|
9
|
+
import { StringHandler } from './string';
|
|
10
|
+
import { SymbolHandler } from './symbol';
|
|
11
|
+
import { UnaryHandler } from './unary';
|
|
12
|
+
export default {
|
|
13
|
+
array: new ArrayHandler(),
|
|
14
|
+
bitwise: new BitwiseHandler(),
|
|
15
|
+
conditional: new ConditionalHandler(),
|
|
16
|
+
date: new DateHandler(),
|
|
17
|
+
json: new JsonHandler(),
|
|
18
|
+
math: new MathHandler(),
|
|
19
|
+
number: new NumberHandler(),
|
|
20
|
+
object: new ObjectHandler(),
|
|
21
|
+
string: new StringHandler(),
|
|
22
|
+
symbol: new SymbolHandler(),
|
|
23
|
+
unary: new UnaryHandler(),
|
|
24
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
declare class JsonHandler {
|
|
2
|
+
stringify(value: any, replacer?: (this: any, key: string, value: any) => any | (number | string)[] | null, space?: string | number): string;
|
|
3
|
+
parse(text: string, reviver?: (this: any, key: string, value: any) => any): any;
|
|
4
|
+
}
|
|
5
|
+
export { JsonHandler };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
declare class MathHandler {
|
|
2
|
+
abs(x: number): number;
|
|
3
|
+
acos(x: number): number;
|
|
4
|
+
acosh(x: number): number;
|
|
5
|
+
asin(x: number): number;
|
|
6
|
+
asinh(x: number): number;
|
|
7
|
+
atan(x: number): number;
|
|
8
|
+
atan2(y: number, x: number): number;
|
|
9
|
+
atanh(x: number): number;
|
|
10
|
+
cbrt(x: number): number;
|
|
11
|
+
ceil(x: number): number;
|
|
12
|
+
clz32(x: number): number;
|
|
13
|
+
cos(x: number): number;
|
|
14
|
+
cosh(x: number): number;
|
|
15
|
+
exp(x: number): number;
|
|
16
|
+
expm1(x: number): number;
|
|
17
|
+
floor(x: number): number;
|
|
18
|
+
fround(x: number): number;
|
|
19
|
+
hypot(...values: number[]): number;
|
|
20
|
+
imul(x: number, y: number): number;
|
|
21
|
+
log(x: number): number;
|
|
22
|
+
log10(x: number): number;
|
|
23
|
+
log1p(x: number): number;
|
|
24
|
+
log2(x: number): number;
|
|
25
|
+
max(...values: number[]): number;
|
|
26
|
+
min(...values: number[]): number;
|
|
27
|
+
pow(x: number, y: number): number;
|
|
28
|
+
random(): number;
|
|
29
|
+
round(x: number): number;
|
|
30
|
+
sign(x: number): number;
|
|
31
|
+
sin(x: number): number;
|
|
32
|
+
sinh(x: number): number;
|
|
33
|
+
sqrt(x: number): number;
|
|
34
|
+
tan(x: number): number;
|
|
35
|
+
tanh(x: number): number;
|
|
36
|
+
trunc(x: number): number;
|
|
37
|
+
}
|
|
38
|
+
export { MathHandler };
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
class MathHandler {
|
|
2
|
+
abs(x) {
|
|
3
|
+
return Math.abs(x);
|
|
4
|
+
}
|
|
5
|
+
acos(x) {
|
|
6
|
+
return Math.acos(x);
|
|
7
|
+
}
|
|
8
|
+
acosh(x) {
|
|
9
|
+
return Math.acosh(x);
|
|
10
|
+
}
|
|
11
|
+
asin(x) {
|
|
12
|
+
return Math.asin(x);
|
|
13
|
+
}
|
|
14
|
+
asinh(x) {
|
|
15
|
+
return Math.asinh(x);
|
|
16
|
+
}
|
|
17
|
+
atan(x) {
|
|
18
|
+
return Math.atan(x);
|
|
19
|
+
}
|
|
20
|
+
atan2(y, x) {
|
|
21
|
+
return Math.atan2(y, x);
|
|
22
|
+
}
|
|
23
|
+
atanh(x) {
|
|
24
|
+
return Math.atanh(x);
|
|
25
|
+
}
|
|
26
|
+
cbrt(x) {
|
|
27
|
+
return Math.cbrt(x);
|
|
28
|
+
}
|
|
29
|
+
ceil(x) {
|
|
30
|
+
return Math.ceil(x);
|
|
31
|
+
}
|
|
32
|
+
clz32(x) {
|
|
33
|
+
return Math.clz32(x);
|
|
34
|
+
}
|
|
35
|
+
cos(x) {
|
|
36
|
+
return Math.cos(x);
|
|
37
|
+
}
|
|
38
|
+
cosh(x) {
|
|
39
|
+
return Math.cosh(x);
|
|
40
|
+
}
|
|
41
|
+
exp(x) {
|
|
42
|
+
return Math.exp(x);
|
|
43
|
+
}
|
|
44
|
+
expm1(x) {
|
|
45
|
+
return Math.expm1(x);
|
|
46
|
+
}
|
|
47
|
+
floor(x) {
|
|
48
|
+
return Math.floor(x);
|
|
49
|
+
}
|
|
50
|
+
fround(x) {
|
|
51
|
+
return Math.fround(x);
|
|
52
|
+
}
|
|
53
|
+
hypot(...values) {
|
|
54
|
+
return Math.hypot(...values);
|
|
55
|
+
}
|
|
56
|
+
imul(x, y) {
|
|
57
|
+
return Math.imul(x, y);
|
|
58
|
+
}
|
|
59
|
+
log(x) {
|
|
60
|
+
return Math.log(x);
|
|
61
|
+
}
|
|
62
|
+
log10(x) {
|
|
63
|
+
return Math.log10(x);
|
|
64
|
+
}
|
|
65
|
+
log1p(x) {
|
|
66
|
+
return Math.log1p(x);
|
|
67
|
+
}
|
|
68
|
+
log2(x) {
|
|
69
|
+
return Math.log2(x);
|
|
70
|
+
}
|
|
71
|
+
max(...values) {
|
|
72
|
+
return Math.max(...values);
|
|
73
|
+
}
|
|
74
|
+
min(...values) {
|
|
75
|
+
return Math.min(...values);
|
|
76
|
+
}
|
|
77
|
+
pow(x, y) {
|
|
78
|
+
return Math.pow(x, y);
|
|
79
|
+
}
|
|
80
|
+
random() {
|
|
81
|
+
return Math.random();
|
|
82
|
+
}
|
|
83
|
+
round(x) {
|
|
84
|
+
return Math.round(x);
|
|
85
|
+
}
|
|
86
|
+
sign(x) {
|
|
87
|
+
return Math.sign(x);
|
|
88
|
+
}
|
|
89
|
+
sin(x) {
|
|
90
|
+
return Math.sin(x);
|
|
91
|
+
}
|
|
92
|
+
sinh(x) {
|
|
93
|
+
return Math.sinh(x);
|
|
94
|
+
}
|
|
95
|
+
sqrt(x) {
|
|
96
|
+
return Math.sqrt(x);
|
|
97
|
+
}
|
|
98
|
+
tan(x) {
|
|
99
|
+
return Math.tan(x);
|
|
100
|
+
}
|
|
101
|
+
tanh(x) {
|
|
102
|
+
return Math.tanh(x);
|
|
103
|
+
}
|
|
104
|
+
trunc(x) {
|
|
105
|
+
return Math.trunc(x);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export { MathHandler };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare class NumberHandler {
|
|
2
|
+
isFinite(input: number): boolean;
|
|
3
|
+
isEven(input: number): boolean;
|
|
4
|
+
isOdd(input: number): boolean;
|
|
5
|
+
isInteger(input: number): boolean;
|
|
6
|
+
isNaN(input: number): boolean;
|
|
7
|
+
parseFloat(input: string): number;
|
|
8
|
+
parseInt(input: string, radix?: number): number;
|
|
9
|
+
toFixed(input: number, digits?: number): string;
|
|
10
|
+
toExponential(input: number, fractionalDigits?: number): string;
|
|
11
|
+
toPrecision(input: number, precision?: number): string;
|
|
12
|
+
gte(input: number, compareValue: number): boolean;
|
|
13
|
+
lte(input: number, compareValue: number): boolean;
|
|
14
|
+
gt(input: number, compareValue: number): boolean;
|
|
15
|
+
lt(input: number, compareValue: number): boolean;
|
|
16
|
+
max(...values: number[]): number;
|
|
17
|
+
min(...values: number[]): number;
|
|
18
|
+
pow(base: number, exponent: number): number;
|
|
19
|
+
round(input: number): number;
|
|
20
|
+
add(...operands: (number | number[])[]): number;
|
|
21
|
+
subtract(...operands: (number | number[])[]): number;
|
|
22
|
+
multiply(...operands: (number | number[])[]): number;
|
|
23
|
+
divide(...operands: (number | number[])[]): number;
|
|
24
|
+
}
|
|
25
|
+
export { NumberHandler };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
class NumberHandler {
|
|
2
|
+
isFinite(input) {
|
|
3
|
+
return Number.isFinite(input);
|
|
4
|
+
}
|
|
5
|
+
isEven(input) {
|
|
6
|
+
return !isNaN(input) && input % 2 === 0;
|
|
7
|
+
}
|
|
8
|
+
isOdd(input) {
|
|
9
|
+
return !isNaN(input) && input % 2 !== 0;
|
|
10
|
+
}
|
|
11
|
+
isInteger(input) {
|
|
12
|
+
return Number.isInteger(input);
|
|
13
|
+
}
|
|
14
|
+
isNaN(input) {
|
|
15
|
+
return Number.isNaN(input);
|
|
16
|
+
}
|
|
17
|
+
parseFloat(input) {
|
|
18
|
+
return parseFloat(input);
|
|
19
|
+
}
|
|
20
|
+
parseInt(input, radix) {
|
|
21
|
+
return parseInt(input, radix);
|
|
22
|
+
}
|
|
23
|
+
toFixed(input, digits) {
|
|
24
|
+
return input.toFixed(digits);
|
|
25
|
+
}
|
|
26
|
+
toExponential(input, fractionalDigits) {
|
|
27
|
+
return input.toExponential(fractionalDigits);
|
|
28
|
+
}
|
|
29
|
+
toPrecision(input, precision) {
|
|
30
|
+
return input.toPrecision(precision);
|
|
31
|
+
}
|
|
32
|
+
gte(input, compareValue) {
|
|
33
|
+
return input >= compareValue;
|
|
34
|
+
}
|
|
35
|
+
lte(input, compareValue) {
|
|
36
|
+
return input <= compareValue;
|
|
37
|
+
}
|
|
38
|
+
gt(input, compareValue) {
|
|
39
|
+
return input > compareValue;
|
|
40
|
+
}
|
|
41
|
+
lt(input, compareValue) {
|
|
42
|
+
return input < compareValue;
|
|
43
|
+
}
|
|
44
|
+
max(...values) {
|
|
45
|
+
return Math.max(...values);
|
|
46
|
+
}
|
|
47
|
+
min(...values) {
|
|
48
|
+
return Math.min(...values);
|
|
49
|
+
}
|
|
50
|
+
pow(base, exponent) {
|
|
51
|
+
return Math.pow(base, exponent);
|
|
52
|
+
}
|
|
53
|
+
round(input) {
|
|
54
|
+
return Math.round(input);
|
|
55
|
+
}
|
|
56
|
+
add(...operands) {
|
|
57
|
+
// @ts-ignore
|
|
58
|
+
return operands.reduce((a, b) => {
|
|
59
|
+
if (Array.isArray(b)) {
|
|
60
|
+
return a + this.add(...b);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return a + b;
|
|
64
|
+
}
|
|
65
|
+
}, 0);
|
|
66
|
+
}
|
|
67
|
+
subtract(...operands) {
|
|
68
|
+
if (operands.length === 0) {
|
|
69
|
+
throw new Error('At least one operand is required.');
|
|
70
|
+
}
|
|
71
|
+
let flatOperands = [];
|
|
72
|
+
operands.forEach((op) => {
|
|
73
|
+
if (Array.isArray(op)) {
|
|
74
|
+
flatOperands = [...flatOperands, ...op];
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
flatOperands.push(op);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
if (flatOperands.length === 0) {
|
|
81
|
+
throw new Error('At least one operand is required after flattening.');
|
|
82
|
+
}
|
|
83
|
+
const result = flatOperands.reduce((a, b, i) => {
|
|
84
|
+
return i === 0 ? a : a - b;
|
|
85
|
+
});
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
multiply(...operands) {
|
|
89
|
+
if (operands.length === 0) {
|
|
90
|
+
throw new Error('At least one operand is required.');
|
|
91
|
+
}
|
|
92
|
+
// @ts-ignore
|
|
93
|
+
return operands.reduce((a, b) => {
|
|
94
|
+
if (Array.isArray(b)) {
|
|
95
|
+
return a * this.multiply(...b);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return a * b;
|
|
99
|
+
}
|
|
100
|
+
}, 1);
|
|
101
|
+
}
|
|
102
|
+
divide(...operands) {
|
|
103
|
+
if (operands.length === 0) {
|
|
104
|
+
throw new Error('At least one operand is required.');
|
|
105
|
+
}
|
|
106
|
+
let flatOperands = [];
|
|
107
|
+
operands.forEach((op) => {
|
|
108
|
+
if (Array.isArray(op)) {
|
|
109
|
+
flatOperands = [...flatOperands, ...op];
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
flatOperands.push(op);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
if (flatOperands.length === 0) {
|
|
116
|
+
throw new Error('At least one operand is required after flattening.');
|
|
117
|
+
}
|
|
118
|
+
const result = flatOperands.reduce((a, b, i) => {
|
|
119
|
+
if (b === 0) {
|
|
120
|
+
return NaN;
|
|
121
|
+
}
|
|
122
|
+
return i === 0 ? a : a / b;
|
|
123
|
+
});
|
|
124
|
+
if (isNaN(result)) {
|
|
125
|
+
return NaN;
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export { NumberHandler };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare class ObjectHandler {
|
|
2
|
+
keys(obj: object): string[];
|
|
3
|
+
values(obj: object): any[];
|
|
4
|
+
entries(obj: object): [string, any][];
|
|
5
|
+
fromEntries(iterable: Iterable<[string, any]>): object;
|
|
6
|
+
assign(target: object, ...sources: object[]): object;
|
|
7
|
+
getOwnPropertyNames(obj: object): string[];
|
|
8
|
+
getOwnPropertySymbols(obj: object): symbol[];
|
|
9
|
+
getOwnPropertyDescriptor(obj: object, prop: string | symbol): PropertyDescriptor | undefined;
|
|
10
|
+
defineProperty(obj: object, prop: string | symbol, descriptor: PropertyDescriptor): object;
|
|
11
|
+
defineProperties(obj: object, props: PropertyDescriptorMap): object;
|
|
12
|
+
freeze(obj: object): object;
|
|
13
|
+
isFrozen(obj: object): boolean;
|
|
14
|
+
seal(obj: object): object;
|
|
15
|
+
isSealed(obj: object): boolean;
|
|
16
|
+
preventExtensions(obj: object): object;
|
|
17
|
+
isExtensible(obj: object): boolean;
|
|
18
|
+
hasOwnProperty(obj: object, prop: string | symbol): boolean;
|
|
19
|
+
isPrototypeOf(obj: object, prototypeObj: object): boolean;
|
|
20
|
+
propertyIsEnumerable(obj: object, prop: string | symbol): boolean;
|
|
21
|
+
}
|
|
22
|
+
export { ObjectHandler };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
class ObjectHandler {
|
|
2
|
+
keys(obj) {
|
|
3
|
+
return Object.keys(obj);
|
|
4
|
+
}
|
|
5
|
+
values(obj) {
|
|
6
|
+
return Object.values(obj);
|
|
7
|
+
}
|
|
8
|
+
entries(obj) {
|
|
9
|
+
return Object.entries(obj);
|
|
10
|
+
}
|
|
11
|
+
fromEntries(iterable) {
|
|
12
|
+
return Object.fromEntries(iterable);
|
|
13
|
+
}
|
|
14
|
+
assign(target, ...sources) {
|
|
15
|
+
return Object.assign(target, ...sources);
|
|
16
|
+
}
|
|
17
|
+
getOwnPropertyNames(obj) {
|
|
18
|
+
return Object.getOwnPropertyNames(obj);
|
|
19
|
+
}
|
|
20
|
+
getOwnPropertySymbols(obj) {
|
|
21
|
+
return Object.getOwnPropertySymbols(obj);
|
|
22
|
+
}
|
|
23
|
+
getOwnPropertyDescriptor(obj, prop) {
|
|
24
|
+
return Object.getOwnPropertyDescriptor(obj, prop);
|
|
25
|
+
}
|
|
26
|
+
defineProperty(obj, prop, descriptor) {
|
|
27
|
+
return Object.defineProperty(obj, prop, descriptor);
|
|
28
|
+
}
|
|
29
|
+
defineProperties(obj, props) {
|
|
30
|
+
return Object.defineProperties(obj, props);
|
|
31
|
+
}
|
|
32
|
+
freeze(obj) {
|
|
33
|
+
return Object.freeze(obj);
|
|
34
|
+
}
|
|
35
|
+
isFrozen(obj) {
|
|
36
|
+
return Object.isFrozen(obj);
|
|
37
|
+
}
|
|
38
|
+
seal(obj) {
|
|
39
|
+
return Object.seal(obj);
|
|
40
|
+
}
|
|
41
|
+
isSealed(obj) {
|
|
42
|
+
return Object.isSealed(obj);
|
|
43
|
+
}
|
|
44
|
+
preventExtensions(obj) {
|
|
45
|
+
return Object.preventExtensions(obj);
|
|
46
|
+
}
|
|
47
|
+
isExtensible(obj) {
|
|
48
|
+
return Object.isExtensible(obj);
|
|
49
|
+
}
|
|
50
|
+
hasOwnProperty(obj, prop) {
|
|
51
|
+
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
52
|
+
}
|
|
53
|
+
isPrototypeOf(obj, prototypeObj) {
|
|
54
|
+
return Object.prototype.isPrototypeOf.call(obj, prototypeObj);
|
|
55
|
+
}
|
|
56
|
+
propertyIsEnumerable(obj, prop) {
|
|
57
|
+
return Object.prototype.propertyIsEnumerable.call(obj, prop);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export { ObjectHandler };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare class StringHandler {
|
|
2
|
+
split(input: string, delimiter: string): string[];
|
|
3
|
+
charAt(input: string, index: number): string;
|
|
4
|
+
concat(...strings: string[]): string;
|
|
5
|
+
includes(input: string, searchString: string, position?: number): boolean;
|
|
6
|
+
indexOf(input: string, searchString: string, fromIndex?: number): number;
|
|
7
|
+
lastIndexOf(input: string, searchString: string, fromIndex?: number): number;
|
|
8
|
+
slice(input: string, start?: number, end?: number): string;
|
|
9
|
+
toLowerCase(input: string): string;
|
|
10
|
+
toUpperCase(input: string): string;
|
|
11
|
+
trim(input: string): string;
|
|
12
|
+
trimStart(input: string): string;
|
|
13
|
+
trimEnd(input: string): string;
|
|
14
|
+
padStart(input: string, maxLength: number, padString?: string): string;
|
|
15
|
+
padEnd(input: string, maxLength: number, padString?: string): string;
|
|
16
|
+
replace(input: string, searchValue: string | RegExp, replaceValue: string): string;
|
|
17
|
+
search(input: string, regexp: RegExp): number;
|
|
18
|
+
substring(input: string, start: number, end?: number): string;
|
|
19
|
+
startsWith(str: string, searchString: string, position?: number): boolean;
|
|
20
|
+
endsWith(str: string, searchString: string, length?: number): boolean;
|
|
21
|
+
repeat(str: string, count: number): string;
|
|
22
|
+
}
|
|
23
|
+
export { StringHandler };
|