@daiso-tech/core 0.33.0 → 0.35.0
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 +66 -45
- package/dist/async/_module-exports.d.ts +1 -1
- package/dist/async/_module-exports.js +1 -1
- package/dist/async/_module-exports.js.map +1 -1
- package/dist/async/async.errors.d.ts +27 -19
- package/dist/async/async.errors.js +33 -20
- package/dist/async/async.errors.js.map +1 -1
- package/dist/async/backof-policies/_shared.d.ts +6 -2
- package/dist/async/backof-policies/_shared.js +1 -0
- package/dist/async/backof-policies/_shared.js.map +1 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
- package/dist/async/middlewares/_module.d.ts +8 -0
- package/dist/async/middlewares/_module.js +9 -0
- package/dist/async/middlewares/_module.js.map +1 -0
- package/dist/async/middlewares/_shared.d.ts +10 -0
- package/dist/async/middlewares/_shared.js +5 -0
- package/dist/async/middlewares/_shared.js.map +1 -0
- package/dist/async/middlewares/bulkhead/_module.d.ts +1 -0
- package/dist/async/middlewares/bulkhead/_module.js +2 -0
- package/dist/async/middlewares/bulkhead/_module.js.map +1 -0
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.d.ts +80 -0
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js +46 -0
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js.map +1 -0
- package/dist/async/middlewares/dynamic/_module.d.ts +1 -0
- package/dist/async/middlewares/dynamic/_module.js +2 -0
- package/dist/async/middlewares/dynamic/_module.js.map +1 -0
- package/dist/async/middlewares/dynamic/dynamic.middleware.d.ts +34 -0
- package/dist/async/middlewares/dynamic/dynamic.middleware.js +36 -0
- package/dist/async/middlewares/dynamic/dynamic.middleware.js.map +1 -0
- package/dist/async/middlewares/fallback/_module.d.ts +1 -0
- package/dist/async/middlewares/fallback/_module.js +2 -0
- package/dist/async/middlewares/fallback/_module.js.map +1 -0
- package/dist/async/middlewares/fallback/fallback.middleware.d.ts +78 -0
- package/dist/async/middlewares/fallback/fallback.middleware.js +52 -0
- package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -0
- package/dist/async/middlewares/hedging/_module.d.ts +2 -0
- package/dist/async/middlewares/hedging/_module.js +3 -0
- package/dist/async/middlewares/hedging/_module.js.map +1 -0
- package/dist/async/middlewares/hedging/_shared.d.ts +93 -0
- package/dist/async/middlewares/hedging/_shared.js +5 -0
- package/dist/async/middlewares/hedging/_shared.js.map +1 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.d.ts +1 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.js +2 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.js.map +1 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.d.ts +51 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +138 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -0
- package/dist/async/middlewares/hedging/sequential-hedging/_module.d.ts +1 -0
- package/dist/async/middlewares/hedging/sequential-hedging/_module.js +2 -0
- package/dist/async/middlewares/hedging/sequential-hedging/_module.js.map +1 -0
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.d.ts +51 -0
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +104 -0
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +1 -0
- package/dist/async/middlewares/observe/_module.d.ts +1 -0
- package/dist/async/middlewares/observe/_module.js +2 -0
- package/dist/async/middlewares/observe/_module.js.map +1 -0
- package/dist/async/middlewares/observe/observe.middleware.d.ts +130 -0
- package/dist/async/middlewares/observe/observe.middleware.js +80 -0
- package/dist/async/middlewares/observe/observe.middleware.js.map +1 -0
- package/dist/async/middlewares/retry/_module.d.ts +1 -0
- package/dist/async/middlewares/retry/_module.js +2 -0
- package/dist/async/middlewares/retry/_module.js.map +1 -0
- package/dist/async/middlewares/retry/retry.middleware.d.ts +117 -0
- package/dist/async/middlewares/retry/retry.middleware.js +82 -0
- package/dist/async/middlewares/retry/retry.middleware.js.map +1 -0
- package/dist/async/middlewares/timeout/_module.d.ts +1 -0
- package/dist/async/middlewares/timeout/_module.js +2 -0
- package/dist/async/middlewares/timeout/_module.js.map +1 -0
- package/dist/async/middlewares/timeout/timeout.middleware.d.ts +83 -0
- package/dist/async/middlewares/timeout/timeout.middleware.js +60 -0
- package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -0
- package/dist/async/utilities/_module.d.ts +3 -4
- package/dist/async/utilities/_module.js +3 -4
- package/dist/async/utilities/_module.js.map +1 -1
- package/dist/async/utilities/abort-and-fail/_module.d.ts +1 -0
- package/dist/async/utilities/abort-and-fail/_module.js +2 -0
- package/dist/async/utilities/abort-and-fail/_module.js.map +1 -0
- package/dist/async/utilities/abort-and-fail/abort-and-fail.d.ts +7 -0
- package/dist/async/utilities/{abort → abort-and-fail}/abort-and-fail.js +6 -6
- package/dist/async/utilities/abort-and-fail/abort-and-fail.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +37 -194
- package/dist/async/utilities/lazy-promise/lazy-promise.js +62 -359
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/promise-queue/_module.d.ts +1 -0
- package/dist/async/utilities/promise-queue/_module.js +2 -0
- package/dist/async/utilities/promise-queue/_module.js.map +1 -0
- package/dist/async/utilities/promise-queue/promise-queue.d.ts +32 -0
- package/dist/async/utilities/promise-queue/promise-queue.js +107 -0
- package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -0
- package/dist/async/utilities/timeout-and-fail/_module.d.ts +1 -0
- package/dist/async/utilities/timeout-and-fail/_module.js +2 -0
- package/dist/async/utilities/timeout-and-fail/_module.js.map +1 -0
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.d.ts +7 -0
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js +19 -0
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js.map +1 -0
- package/dist/cache/contracts/cache-adapter.contract.d.ts +14 -14
- package/dist/cache/contracts/cache-factory.contract.d.ts +3 -3
- package/dist/cache/contracts/cache.contract.d.ts +73 -73
- package/dist/cache/contracts/cache.errors.d.ts +7 -7
- package/dist/cache/contracts/cache.errors.js +7 -7
- package/dist/cache/contracts/cache.events.d.ts +54 -58
- package/dist/cache/contracts/cache.events.js +6 -104
- package/dist/cache/contracts/cache.events.js.map +1 -1
- package/dist/cache/contracts/database-cache-adapter.contract.d.ts +16 -16
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +3 -3
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +2 -2
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +3 -9
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -9
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +4 -4
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +3 -3
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +2 -2
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +2 -2
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +3 -3
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +3 -3
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +2 -2
- package/dist/cache/implementations/derivables/cache/cache.d.ts +26 -27
- package/dist/cache/implementations/derivables/cache/cache.js +102 -91
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +5 -4
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +3 -3
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +2 -2
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +3 -3
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +140 -149
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +3 -3
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +2 -2
- package/dist/collection/contracts/_shared/compartor.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/cross-join-result.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/ensure-map.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/ensure-record.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/foreach.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/map.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/modifier.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/predicate.type.d.ts +7 -7
- package/dist/collection/contracts/_shared/reduce.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/tap.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/transform.type.d.ts +2 -2
- package/dist/collection/contracts/async-collection.contract.d.ts +109 -198
- package/dist/collection/contracts/collection.contract.d.ts +103 -103
- package/dist/collection/contracts/collection.errors.d.ts +11 -11
- package/dist/collection/contracts/collection.errors.js +11 -11
- package/dist/collection/implementations/_shared.d.ts +8 -8
- package/dist/collection/implementations/_shared.js +8 -8
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.d.ts +0 -4
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.js +0 -4
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js +21 -19
- package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +15 -19
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +15 -30
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts +3 -3
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js +18 -20
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +11 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +11 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +11 -11
- package/dist/collection/implementations/list-collection/list-collection.js +24 -30
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/_module-exports.d.ts +0 -1
- package/dist/event-bus/contracts/_module-exports.js +0 -1
- package/dist/event-bus/contracts/_module-exports.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +13 -8
- package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +6 -7
- package/dist/event-bus/contracts/event-bus-factory.contract.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.contract.d.ts +30 -41
- package/dist/event-bus/contracts/event-bus.errors.d.ts +8 -8
- package/dist/event-bus/contracts/event-bus.errors.js +8 -8
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +3 -3
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +3 -3
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +2 -2
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +2 -2
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -3
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +2 -2
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +15 -15
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +32 -32
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +17 -10
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +13 -6
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +3 -5
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +15 -22
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +3 -5
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +189 -209
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
- package/dist/lock/contracts/database-lock-adapter.contract.d.ts +9 -9
- package/dist/lock/contracts/lock-adapter.contract.d.ts +7 -7
- package/dist/lock/contracts/lock-provider-factory.contract.d.ts +4 -4
- package/dist/lock/contracts/lock-provider.contract.d.ts +14 -14
- package/dist/lock/contracts/lock.contract.d.ts +22 -22
- package/dist/lock/contracts/lock.errors.d.ts +10 -10
- package/dist/lock/contracts/lock.errors.js +10 -10
- package/dist/lock/contracts/lock.events.d.ts +45 -54
- package/dist/lock/contracts/lock.events.js +9 -91
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +4 -4
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +3 -3
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +4 -4
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +2 -2
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +2 -2
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +3 -3
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +4 -4
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +33 -33
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +30 -30
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +2 -2
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +3 -3
- package/dist/lock/implementations/derivables/lock-provider/lock.js +77 -58
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +5 -4
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +3 -3
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +2 -2
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +3 -3
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +2 -2
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +3 -3
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +214 -214
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/contracts/deserializer.contract.d.ts +2 -2
- package/dist/serde/contracts/flexible-serde-adapter.contract.d.ts +4 -4
- package/dist/serde/contracts/flexible-serde.contract.d.ts +8 -19
- package/dist/serde/contracts/serde.contract.d.ts +2 -2
- package/dist/serde/contracts/serde.errors.d.ts +4 -4
- package/dist/serde/contracts/serde.errors.js +4 -4
- package/dist/serde/contracts/serializable.contract.d.ts +2 -2
- package/dist/serde/contracts/serializer.contract.d.ts +2 -2
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +2 -2
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +2 -2
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +1 -1
- package/dist/serde/implementations/derivables/serde.d.ts +4 -35
- package/dist/serde/implementations/derivables/serde.js +2 -47
- package/dist/serde/implementations/derivables/serde.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +3 -3
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +2 -2
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +3 -3
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +2 -2
- package/dist/utilities/classes/_module.d.ts +1 -1
- package/dist/utilities/classes/_module.js +1 -1
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/hooks/_module.d.ts +3 -0
- package/dist/utilities/classes/hooks/_module.js +4 -0
- package/dist/utilities/classes/hooks/_module.js.map +1 -0
- package/dist/utilities/classes/hooks/async-hooks.d.ts +209 -0
- package/dist/utilities/classes/hooks/async-hooks.js +145 -0
- package/dist/utilities/classes/hooks/async-hooks.js.map +1 -0
- package/dist/utilities/classes/hooks/hooks.d.ts +139 -0
- package/dist/utilities/classes/hooks/hooks.js +116 -0
- package/dist/utilities/classes/hooks/hooks.js.map +1 -0
- package/dist/utilities/classes/hooks/types.d.ts +9 -0
- package/dist/utilities/classes/hooks/types.js +5 -0
- package/dist/utilities/classes/hooks/types.js.map +1 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +3 -3
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +4 -4
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
- package/dist/utilities/classes/time-span/time-span.d.ts +5 -5
- package/dist/utilities/classes/time-span/time-span.js +5 -5
- package/dist/utilities/contracts/_module.d.ts +0 -1
- package/dist/utilities/contracts/_module.js +0 -1
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/deinitizable.contract.d.ts +1 -1
- package/dist/utilities/contracts/initizable.contract.d.ts +1 -1
- package/dist/utilities/contracts/prunable.contract.d.ts +1 -1
- package/dist/utilities/contracts/serialized-error.contract.d.ts +1 -1
- package/dist/utilities/contracts/sqlite-database.contract.d.ts +2 -2
- package/dist/utilities/errors.d.ts +5 -5
- package/dist/utilities/errors.js +5 -5
- package/dist/utilities/functions/factory.js +3 -3
- package/dist/utilities/functions/factory.js.map +1 -1
- package/dist/utilities/functions/invokable.d.ts +9 -5
- package/dist/utilities/functions/invokable.js +12 -2
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/dist/utilities/functions/lazy.d.ts +5 -0
- package/dist/utilities/functions/lazy.js +12 -3
- package/dist/utilities/functions/lazy.js.map +1 -1
- package/dist/utilities/types/async-iterable-value.type.d.ts +1 -1
- package/dist/utilities/types/at-least-one.type.d.ts +1 -1
- package/dist/utilities/types/factory.type.d.ts +8 -8
- package/dist/utilities/types/invokable.type.d.ts +3 -3
- package/dist/utilities/types/items.type.d.ts +1 -1
- package/dist/utilities/types/lazy.type.d.ts +5 -5
- package/dist/utilities/types/none-func.type.d.ts +1 -1
- package/dist/utilities/types/one-or-more.type.d.ts +1 -1
- package/dist/utilities/types/promiseable.type.d.ts +1 -1
- package/dist/utilities/types/result.type.d.ts +1 -1
- package/package.json +22 -2
- package/dist/async/async.events.d.ts +0 -105
- package/dist/async/async.events.js +0 -82
- package/dist/async/async.events.js.map +0 -1
- package/dist/async/utilities/abort/_module.d.ts +0 -2
- package/dist/async/utilities/abort/_module.js +0 -3
- package/dist/async/utilities/abort/_module.js.map +0 -1
- package/dist/async/utilities/abort/abort-and-fail.d.ts +0 -4
- package/dist/async/utilities/abort/abort-and-fail.js.map +0 -1
- package/dist/async/utilities/abort/abort.d.ts +0 -9
- package/dist/async/utilities/abort/abort.js +0 -18
- package/dist/async/utilities/abort/abort.js.map +0 -1
- package/dist/async/utilities/delay/_module.d.ts +0 -1
- package/dist/async/utilities/delay/_module.js +0 -2
- package/dist/async/utilities/delay/_module.js.map +0 -1
- package/dist/async/utilities/delay/delay.d.ts +0 -10
- package/dist/async/utilities/delay/delay.js +0 -34
- package/dist/async/utilities/delay/delay.js.map +0 -1
- package/dist/async/utilities/retry/_module.d.ts +0 -2
- package/dist/async/utilities/retry/_module.js +0 -3
- package/dist/async/utilities/retry/_module.js.map +0 -1
- package/dist/async/utilities/retry/retry-or-fail.d.ts +0 -29
- package/dist/async/utilities/retry/retry-or-fail.js +0 -39
- package/dist/async/utilities/retry/retry-or-fail.js.map +0 -1
- package/dist/async/utilities/retry/retry.d.ts +0 -10
- package/dist/async/utilities/retry/retry.js +0 -21
- package/dist/async/utilities/retry/retry.js.map +0 -1
- package/dist/async/utilities/timeout/_module.d.ts +0 -2
- package/dist/async/utilities/timeout/_module.js +0 -3
- package/dist/async/utilities/timeout/_module.js.map +0 -1
- package/dist/async/utilities/timeout/timeout-and-fail.d.ts +0 -5
- package/dist/async/utilities/timeout/timeout-and-fail.js +0 -28
- package/dist/async/utilities/timeout/timeout-and-fail.js.map +0 -1
- package/dist/async/utilities/timeout/timeout.d.ts +0 -10
- package/dist/async/utilities/timeout/timeout.js +0 -21
- package/dist/async/utilities/timeout/timeout.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.d.ts +0 -13
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +0 -30
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +0 -13
- package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +0 -36
- package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.d.ts +0 -9
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +0 -39
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.d.ts +0 -13
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +0 -52
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +0 -1
- package/dist/event-bus/contracts/_shared.d.ts +0 -12
- package/dist/event-bus/contracts/_shared.js +0 -15
- package/dist/event-bus/contracts/_shared.js.map +0 -1
- package/dist/utilities/classes/sync-event-bus/_module.d.ts +0 -1
- package/dist/utilities/classes/sync-event-bus/_module.js +0 -2
- package/dist/utilities/classes/sync-event-bus/_module.js.map +0 -1
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +0 -16
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +0 -53
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +0 -1
- package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +0 -13
- package/dist/utilities/contracts/sync-event-bus-listenable.js +0 -5
- package/dist/utilities/contracts/sync-event-bus-listenable.js.map +0 -1
|
@@ -2,26 +2,19 @@
|
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
4
|
import {} from "vitest";
|
|
5
|
-
import {
|
|
5
|
+
import {} from "../../../event-bus/contracts/_module-exports.js";
|
|
6
6
|
import {} from "../../../utilities/_module-exports.js";
|
|
7
7
|
import { TimeSpan } from "../../../utilities/_module-exports.js";
|
|
8
8
|
import { LazyPromise } from "../../../async/_module-exports.js";
|
|
9
|
-
import { Serde } from "../../../serde/implementations/derivables/_module-exports.js";
|
|
10
|
-
import { NoOpSerdeAdapter } from "../../../serde/implementations/adapters/_module-exports.js";
|
|
11
9
|
/**
|
|
12
|
-
* The
|
|
10
|
+
* The `eventBusTestSuite` function simplifies the process of testing your custom implementation of {@link IEventBus | `IEventBus`} with vitest.
|
|
13
11
|
*
|
|
14
|
-
* IMPORT_PATH:
|
|
12
|
+
* IMPORT_PATH: `"@daiso-tech/core/event-bus/test-utilities"`
|
|
15
13
|
* @group TestUtilities
|
|
16
14
|
*/
|
|
17
15
|
export function eventBusTestSuite(settings) {
|
|
18
|
-
const { expect,
|
|
16
|
+
const { expect, test, describe, createEventBus, beforeEach } = settings;
|
|
19
17
|
const TTL = TimeSpan.fromMilliseconds(50);
|
|
20
|
-
class AddEvent extends BaseEvent {
|
|
21
|
-
}
|
|
22
|
-
class SubEvent extends BaseEvent {
|
|
23
|
-
}
|
|
24
|
-
serde.registerEvent(AddEvent).registerEvent(SubEvent);
|
|
25
18
|
let eventBus;
|
|
26
19
|
beforeEach(async () => {
|
|
27
20
|
eventBus = await createEventBus();
|
|
@@ -35,9 +28,9 @@ export function eventBusTestSuite(settings) {
|
|
|
35
28
|
this.result = event;
|
|
36
29
|
},
|
|
37
30
|
};
|
|
38
|
-
await eventBus.addListener(
|
|
31
|
+
await eventBus.addListener("add", listener);
|
|
39
32
|
expect(listener.result).toBeNull();
|
|
40
|
-
await eventBus.removeListener(
|
|
33
|
+
await eventBus.removeListener("add", listener);
|
|
41
34
|
});
|
|
42
35
|
test("Class instance listener", async () => {
|
|
43
36
|
class Listener {
|
|
@@ -47,18 +40,18 @@ export function eventBusTestSuite(settings) {
|
|
|
47
40
|
}
|
|
48
41
|
}
|
|
49
42
|
const listener = new Listener();
|
|
50
|
-
await eventBus.addListener(
|
|
43
|
+
await eventBus.addListener("add", listener);
|
|
51
44
|
expect(listener.result).toBeNull();
|
|
52
|
-
await eventBus.removeListener(
|
|
45
|
+
await eventBus.removeListener("add", listener);
|
|
53
46
|
});
|
|
54
47
|
test("Function listener", async () => {
|
|
55
48
|
let result = null;
|
|
56
49
|
const listener = (event) => {
|
|
57
50
|
result = event;
|
|
58
51
|
};
|
|
59
|
-
await eventBus.addListener(
|
|
52
|
+
await eventBus.addListener("add", listener);
|
|
60
53
|
expect(result).toBeNull();
|
|
61
|
-
await eventBus.removeListener(
|
|
54
|
+
await eventBus.removeListener("add", listener);
|
|
62
55
|
});
|
|
63
56
|
});
|
|
64
57
|
describe("Should be AddEvent when listener is added and event is triggered", () => {
|
|
@@ -69,16 +62,15 @@ export function eventBusTestSuite(settings) {
|
|
|
69
62
|
this.result = event;
|
|
70
63
|
},
|
|
71
64
|
};
|
|
72
|
-
await eventBus.addListener(
|
|
73
|
-
const event =
|
|
65
|
+
await eventBus.addListener("add", listener);
|
|
66
|
+
const event = {
|
|
74
67
|
a: 1,
|
|
75
68
|
b: 2,
|
|
76
|
-
}
|
|
77
|
-
await eventBus.dispatch(event);
|
|
69
|
+
};
|
|
70
|
+
await eventBus.dispatch("add", event);
|
|
78
71
|
await LazyPromise.delay(TTL);
|
|
79
72
|
expect(listener.result).toEqual(event);
|
|
80
|
-
|
|
81
|
-
await eventBus.removeListener(AddEvent, listener);
|
|
73
|
+
await eventBus.removeListener("add", listener);
|
|
82
74
|
});
|
|
83
75
|
test("Class instance listener", async () => {
|
|
84
76
|
class Listener {
|
|
@@ -88,32 +80,30 @@ export function eventBusTestSuite(settings) {
|
|
|
88
80
|
}
|
|
89
81
|
}
|
|
90
82
|
const listener = new Listener();
|
|
91
|
-
await eventBus.addListener(
|
|
92
|
-
const event =
|
|
83
|
+
await eventBus.addListener("add", listener);
|
|
84
|
+
const event = {
|
|
93
85
|
a: 1,
|
|
94
86
|
b: 2,
|
|
95
|
-
}
|
|
96
|
-
await eventBus.dispatch(event);
|
|
87
|
+
};
|
|
88
|
+
await eventBus.dispatch("add", event);
|
|
97
89
|
await LazyPromise.delay(TTL);
|
|
98
90
|
expect(listener.result).toEqual(event);
|
|
99
|
-
|
|
100
|
-
await eventBus.removeListener(AddEvent, listener);
|
|
91
|
+
await eventBus.removeListener("add", listener);
|
|
101
92
|
});
|
|
102
93
|
test("Function listener", async () => {
|
|
103
94
|
let result = null;
|
|
104
95
|
const listener = (event) => {
|
|
105
96
|
result = event;
|
|
106
97
|
};
|
|
107
|
-
await eventBus.addListener(
|
|
108
|
-
const event =
|
|
98
|
+
await eventBus.addListener("add", listener);
|
|
99
|
+
const event = {
|
|
109
100
|
a: 1,
|
|
110
101
|
b: 2,
|
|
111
|
-
}
|
|
112
|
-
await eventBus.dispatch(event);
|
|
102
|
+
};
|
|
103
|
+
await eventBus.dispatch("add", event);
|
|
113
104
|
await LazyPromise.delay(TTL);
|
|
114
105
|
expect(result).toEqual(event);
|
|
115
|
-
|
|
116
|
-
await eventBus.removeListener(AddEvent, listener);
|
|
106
|
+
await eventBus.removeListener("add", listener);
|
|
117
107
|
});
|
|
118
108
|
});
|
|
119
109
|
describe("Should be null when listener is removed and event is triggered", () => {
|
|
@@ -124,13 +114,13 @@ export function eventBusTestSuite(settings) {
|
|
|
124
114
|
this.result = event;
|
|
125
115
|
},
|
|
126
116
|
};
|
|
127
|
-
await eventBus.addListener(
|
|
128
|
-
await eventBus.removeListener(
|
|
129
|
-
const event =
|
|
117
|
+
await eventBus.addListener("add", listener);
|
|
118
|
+
await eventBus.removeListener("add", listener);
|
|
119
|
+
const event = {
|
|
130
120
|
a: 1,
|
|
131
121
|
b: 2,
|
|
132
|
-
}
|
|
133
|
-
await eventBus.dispatch(event);
|
|
122
|
+
};
|
|
123
|
+
await eventBus.dispatch("add", event);
|
|
134
124
|
await LazyPromise.delay(TTL);
|
|
135
125
|
expect(listener.result).toBeNull();
|
|
136
126
|
});
|
|
@@ -142,13 +132,13 @@ export function eventBusTestSuite(settings) {
|
|
|
142
132
|
}
|
|
143
133
|
}
|
|
144
134
|
const listener = new Listener();
|
|
145
|
-
await eventBus.addListener(
|
|
146
|
-
await eventBus.removeListener(
|
|
147
|
-
const event =
|
|
135
|
+
await eventBus.addListener("add", listener);
|
|
136
|
+
await eventBus.removeListener("add", listener);
|
|
137
|
+
const event = {
|
|
148
138
|
a: 1,
|
|
149
139
|
b: 2,
|
|
150
|
-
}
|
|
151
|
-
await eventBus.dispatch(event);
|
|
140
|
+
};
|
|
141
|
+
await eventBus.dispatch("add", event);
|
|
152
142
|
await LazyPromise.delay(TTL);
|
|
153
143
|
expect(listener.result).toBeNull();
|
|
154
144
|
});
|
|
@@ -157,13 +147,13 @@ export function eventBusTestSuite(settings) {
|
|
|
157
147
|
const listener = (event) => {
|
|
158
148
|
result = event;
|
|
159
149
|
};
|
|
160
|
-
await eventBus.addListener(
|
|
161
|
-
await eventBus.removeListener(
|
|
162
|
-
const event =
|
|
150
|
+
await eventBus.addListener("add", listener);
|
|
151
|
+
await eventBus.removeListener("add", listener);
|
|
152
|
+
const event = {
|
|
163
153
|
a: 1,
|
|
164
154
|
b: 2,
|
|
165
|
-
}
|
|
166
|
-
await eventBus.dispatch(event);
|
|
155
|
+
};
|
|
156
|
+
await eventBus.dispatch("add", event);
|
|
167
157
|
await LazyPromise.delay(TTL);
|
|
168
158
|
expect(result).toBeNull();
|
|
169
159
|
});
|
|
@@ -178,7 +168,7 @@ export function eventBusTestSuite(settings) {
|
|
|
178
168
|
this.result = event;
|
|
179
169
|
},
|
|
180
170
|
};
|
|
181
|
-
const unsubscribe = await eventBus.subscribe(
|
|
171
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
182
172
|
expect(listener.result).toBeNull();
|
|
183
173
|
await unsubscribe();
|
|
184
174
|
});
|
|
@@ -190,7 +180,7 @@ export function eventBusTestSuite(settings) {
|
|
|
190
180
|
}
|
|
191
181
|
}
|
|
192
182
|
const listener = new Listener();
|
|
193
|
-
const unsubscribe = await eventBus.subscribe(
|
|
183
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
194
184
|
expect(listener.result).toBeNull();
|
|
195
185
|
await unsubscribe();
|
|
196
186
|
});
|
|
@@ -199,7 +189,7 @@ export function eventBusTestSuite(settings) {
|
|
|
199
189
|
const listener = (event) => {
|
|
200
190
|
result = event;
|
|
201
191
|
};
|
|
202
|
-
const unsubscribe = await eventBus.subscribe(
|
|
192
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
203
193
|
expect(result).toBeNull();
|
|
204
194
|
await unsubscribe();
|
|
205
195
|
});
|
|
@@ -212,15 +202,14 @@ export function eventBusTestSuite(settings) {
|
|
|
212
202
|
this.result = event;
|
|
213
203
|
},
|
|
214
204
|
};
|
|
215
|
-
const unsubscribe = await eventBus.subscribe(
|
|
216
|
-
const event =
|
|
205
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
206
|
+
const event = {
|
|
217
207
|
a: 1,
|
|
218
208
|
b: 2,
|
|
219
|
-
}
|
|
220
|
-
await eventBus.dispatch(event);
|
|
209
|
+
};
|
|
210
|
+
await eventBus.dispatch("add", event);
|
|
221
211
|
await LazyPromise.delay(TTL);
|
|
222
212
|
expect(listener.result).toEqual(event);
|
|
223
|
-
expect(listener.result).toBeInstanceOf(AddEvent);
|
|
224
213
|
await unsubscribe();
|
|
225
214
|
});
|
|
226
215
|
test("Class instance listener", async () => {
|
|
@@ -231,15 +220,14 @@ export function eventBusTestSuite(settings) {
|
|
|
231
220
|
}
|
|
232
221
|
}
|
|
233
222
|
const listener = new Listener();
|
|
234
|
-
const unsubscribe = await eventBus.subscribe(
|
|
235
|
-
const event =
|
|
223
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
224
|
+
const event = {
|
|
236
225
|
a: 1,
|
|
237
226
|
b: 2,
|
|
238
|
-
}
|
|
239
|
-
await eventBus.dispatch(event);
|
|
227
|
+
};
|
|
228
|
+
await eventBus.dispatch("add", event);
|
|
240
229
|
await LazyPromise.delay(TTL);
|
|
241
230
|
expect(listener.result).toEqual(event);
|
|
242
|
-
expect(listener.result).toBeInstanceOf(AddEvent);
|
|
243
231
|
await unsubscribe();
|
|
244
232
|
});
|
|
245
233
|
test("Function listener", async () => {
|
|
@@ -247,15 +235,14 @@ export function eventBusTestSuite(settings) {
|
|
|
247
235
|
const listener = (event) => {
|
|
248
236
|
result = event;
|
|
249
237
|
};
|
|
250
|
-
const unsubscribe = await eventBus.subscribe(
|
|
251
|
-
const event =
|
|
238
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
239
|
+
const event = {
|
|
252
240
|
a: 1,
|
|
253
241
|
b: 2,
|
|
254
|
-
}
|
|
255
|
-
await eventBus.dispatch(event);
|
|
242
|
+
};
|
|
243
|
+
await eventBus.dispatch("add", event);
|
|
256
244
|
await LazyPromise.delay(TTL);
|
|
257
245
|
expect(result).toEqual(event);
|
|
258
|
-
expect(result).toBeInstanceOf(AddEvent);
|
|
259
246
|
await unsubscribe();
|
|
260
247
|
});
|
|
261
248
|
});
|
|
@@ -267,13 +254,13 @@ export function eventBusTestSuite(settings) {
|
|
|
267
254
|
this.result = event;
|
|
268
255
|
},
|
|
269
256
|
};
|
|
270
|
-
const unsubscribe = await eventBus.subscribe(
|
|
257
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
271
258
|
await unsubscribe();
|
|
272
|
-
const event =
|
|
259
|
+
const event = {
|
|
273
260
|
a: 1,
|
|
274
261
|
b: 2,
|
|
275
|
-
}
|
|
276
|
-
await eventBus.dispatch(event);
|
|
262
|
+
};
|
|
263
|
+
await eventBus.dispatch("add", event);
|
|
277
264
|
await LazyPromise.delay(TTL);
|
|
278
265
|
expect(listener.result).toBeNull();
|
|
279
266
|
});
|
|
@@ -285,13 +272,13 @@ export function eventBusTestSuite(settings) {
|
|
|
285
272
|
}
|
|
286
273
|
}
|
|
287
274
|
const listener = new Listener();
|
|
288
|
-
const unsubscribe = await eventBus.subscribe(
|
|
275
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
289
276
|
await unsubscribe();
|
|
290
|
-
const event =
|
|
277
|
+
const event = {
|
|
291
278
|
a: 1,
|
|
292
279
|
b: 2,
|
|
293
|
-
}
|
|
294
|
-
await eventBus.dispatch(event);
|
|
280
|
+
};
|
|
281
|
+
await eventBus.dispatch("add", event);
|
|
295
282
|
await LazyPromise.delay(TTL);
|
|
296
283
|
expect(listener.result).toBeNull();
|
|
297
284
|
});
|
|
@@ -300,13 +287,13 @@ export function eventBusTestSuite(settings) {
|
|
|
300
287
|
const listener = (event) => {
|
|
301
288
|
result = event;
|
|
302
289
|
};
|
|
303
|
-
const unsubscribe = await eventBus.subscribe(
|
|
290
|
+
const unsubscribe = await eventBus.subscribe("add", listener);
|
|
304
291
|
await unsubscribe();
|
|
305
|
-
const event =
|
|
292
|
+
const event = {
|
|
306
293
|
a: 1,
|
|
307
294
|
b: 2,
|
|
308
|
-
}
|
|
309
|
-
await eventBus.dispatch(event);
|
|
295
|
+
};
|
|
296
|
+
await eventBus.dispatch("add", event);
|
|
310
297
|
await LazyPromise.delay(TTL);
|
|
311
298
|
expect(result).toBeNull();
|
|
312
299
|
});
|
|
@@ -319,13 +306,13 @@ export function eventBusTestSuite(settings) {
|
|
|
319
306
|
this.result = event;
|
|
320
307
|
},
|
|
321
308
|
};
|
|
322
|
-
await eventBus.subscribe(
|
|
323
|
-
await eventBus.removeListener(
|
|
324
|
-
const event =
|
|
309
|
+
await eventBus.subscribe("add", listener);
|
|
310
|
+
await eventBus.removeListener("add", listener);
|
|
311
|
+
const event = {
|
|
325
312
|
a: 1,
|
|
326
313
|
b: 2,
|
|
327
|
-
}
|
|
328
|
-
await eventBus.dispatch(event);
|
|
314
|
+
};
|
|
315
|
+
await eventBus.dispatch("add", event);
|
|
329
316
|
await LazyPromise.delay(TTL);
|
|
330
317
|
expect(listener.result).toBeNull();
|
|
331
318
|
});
|
|
@@ -337,13 +324,13 @@ export function eventBusTestSuite(settings) {
|
|
|
337
324
|
}
|
|
338
325
|
}
|
|
339
326
|
const listener = new Listener();
|
|
340
|
-
await eventBus.subscribe(
|
|
341
|
-
await eventBus.removeListener(
|
|
342
|
-
const event =
|
|
327
|
+
await eventBus.subscribe("add", listener);
|
|
328
|
+
await eventBus.removeListener("add", listener);
|
|
329
|
+
const event = {
|
|
343
330
|
a: 1,
|
|
344
331
|
b: 2,
|
|
345
|
-
}
|
|
346
|
-
await eventBus.dispatch(event);
|
|
332
|
+
};
|
|
333
|
+
await eventBus.dispatch("add", event);
|
|
347
334
|
await LazyPromise.delay(TTL);
|
|
348
335
|
expect(listener.result).toBeNull();
|
|
349
336
|
});
|
|
@@ -352,13 +339,13 @@ export function eventBusTestSuite(settings) {
|
|
|
352
339
|
const listener = (event) => {
|
|
353
340
|
result = event;
|
|
354
341
|
};
|
|
355
|
-
await eventBus.subscribe(
|
|
356
|
-
await eventBus.removeListener(
|
|
357
|
-
const event =
|
|
342
|
+
await eventBus.subscribe("add", listener);
|
|
343
|
+
await eventBus.removeListener("add", listener);
|
|
344
|
+
const event = {
|
|
358
345
|
a: 1,
|
|
359
346
|
b: 2,
|
|
360
|
-
}
|
|
361
|
-
await eventBus.dispatch(event);
|
|
347
|
+
};
|
|
348
|
+
await eventBus.dispatch("add", event);
|
|
362
349
|
await LazyPromise.delay(TTL);
|
|
363
350
|
expect(result).toBeNull();
|
|
364
351
|
});
|
|
@@ -373,7 +360,7 @@ export function eventBusTestSuite(settings) {
|
|
|
373
360
|
this.result = event;
|
|
374
361
|
},
|
|
375
362
|
};
|
|
376
|
-
await eventBus.subscribeOnce(
|
|
363
|
+
await eventBus.subscribeOnce("add", listener);
|
|
377
364
|
expect(listener.result).toBeNull();
|
|
378
365
|
});
|
|
379
366
|
test("Class instance listener", async () => {
|
|
@@ -384,7 +371,7 @@ export function eventBusTestSuite(settings) {
|
|
|
384
371
|
}
|
|
385
372
|
}
|
|
386
373
|
const listener = new Listener();
|
|
387
|
-
await eventBus.subscribeOnce(
|
|
374
|
+
await eventBus.subscribeOnce("add", listener);
|
|
388
375
|
expect(listener.result).toBeNull();
|
|
389
376
|
});
|
|
390
377
|
test("Function listener", async () => {
|
|
@@ -392,7 +379,7 @@ export function eventBusTestSuite(settings) {
|
|
|
392
379
|
const listener = (event) => {
|
|
393
380
|
result = event;
|
|
394
381
|
};
|
|
395
|
-
await eventBus.subscribeOnce(
|
|
382
|
+
await eventBus.subscribeOnce("add", listener);
|
|
396
383
|
expect(result).toBeNull();
|
|
397
384
|
});
|
|
398
385
|
});
|
|
@@ -404,15 +391,14 @@ export function eventBusTestSuite(settings) {
|
|
|
404
391
|
this.result = event;
|
|
405
392
|
},
|
|
406
393
|
};
|
|
407
|
-
await eventBus.subscribeOnce(
|
|
408
|
-
const event =
|
|
394
|
+
await eventBus.subscribeOnce("add", listener);
|
|
395
|
+
const event = {
|
|
409
396
|
a: 1,
|
|
410
397
|
b: 2,
|
|
411
|
-
}
|
|
412
|
-
await eventBus.dispatch(event);
|
|
398
|
+
};
|
|
399
|
+
await eventBus.dispatch("add", event);
|
|
413
400
|
await LazyPromise.delay(TTL);
|
|
414
401
|
expect(listener.result).toEqual(event);
|
|
415
|
-
expect(listener.result).toBeInstanceOf(AddEvent);
|
|
416
402
|
});
|
|
417
403
|
test("Class instance listener", async () => {
|
|
418
404
|
class Listener {
|
|
@@ -422,30 +408,28 @@ export function eventBusTestSuite(settings) {
|
|
|
422
408
|
}
|
|
423
409
|
}
|
|
424
410
|
const listener = new Listener();
|
|
425
|
-
await eventBus.subscribeOnce(
|
|
426
|
-
const event =
|
|
411
|
+
await eventBus.subscribeOnce("add", listener);
|
|
412
|
+
const event = {
|
|
427
413
|
a: 1,
|
|
428
414
|
b: 2,
|
|
429
|
-
}
|
|
430
|
-
await eventBus.dispatch(event);
|
|
415
|
+
};
|
|
416
|
+
await eventBus.dispatch("add", event);
|
|
431
417
|
await LazyPromise.delay(TTL);
|
|
432
418
|
expect(listener.result).toEqual(event);
|
|
433
|
-
expect(listener.result).toBeInstanceOf(AddEvent);
|
|
434
419
|
});
|
|
435
420
|
test("Function listener", async () => {
|
|
436
421
|
let result = null;
|
|
437
422
|
const listener = (event) => {
|
|
438
423
|
result = event;
|
|
439
424
|
};
|
|
440
|
-
await eventBus.subscribeOnce(
|
|
441
|
-
const event =
|
|
425
|
+
await eventBus.subscribeOnce("add", listener);
|
|
426
|
+
const event = {
|
|
442
427
|
a: 1,
|
|
443
428
|
b: 2,
|
|
444
|
-
}
|
|
445
|
-
await eventBus.dispatch(event);
|
|
429
|
+
};
|
|
430
|
+
await eventBus.dispatch("add", event);
|
|
446
431
|
await LazyPromise.delay(TTL);
|
|
447
432
|
expect(result).toEqual(event);
|
|
448
|
-
expect(result).toBeInstanceOf(AddEvent);
|
|
449
433
|
});
|
|
450
434
|
});
|
|
451
435
|
describe("Should only listen for event once", () => {
|
|
@@ -456,13 +440,13 @@ export function eventBusTestSuite(settings) {
|
|
|
456
440
|
this.i++;
|
|
457
441
|
},
|
|
458
442
|
};
|
|
459
|
-
await eventBus.subscribeOnce(
|
|
460
|
-
const event =
|
|
443
|
+
await eventBus.subscribeOnce("add", listener);
|
|
444
|
+
const event = {
|
|
461
445
|
a: 1,
|
|
462
446
|
b: 2,
|
|
463
|
-
}
|
|
464
|
-
await eventBus.dispatch(event);
|
|
465
|
-
await eventBus.dispatch(event);
|
|
447
|
+
};
|
|
448
|
+
await eventBus.dispatch("add", event);
|
|
449
|
+
await eventBus.dispatch("add", event);
|
|
466
450
|
await LazyPromise.delay(TTL);
|
|
467
451
|
expect(listener.i).toBe(1);
|
|
468
452
|
});
|
|
@@ -474,13 +458,13 @@ export function eventBusTestSuite(settings) {
|
|
|
474
458
|
}
|
|
475
459
|
}
|
|
476
460
|
const listener = new Listener();
|
|
477
|
-
await eventBus.subscribeOnce(
|
|
478
|
-
const event =
|
|
461
|
+
await eventBus.subscribeOnce("add", listener);
|
|
462
|
+
const event = {
|
|
479
463
|
a: 1,
|
|
480
464
|
b: 2,
|
|
481
|
-
}
|
|
482
|
-
await eventBus.dispatch(event);
|
|
483
|
-
await eventBus.dispatch(event);
|
|
465
|
+
};
|
|
466
|
+
await eventBus.dispatch("add", event);
|
|
467
|
+
await eventBus.dispatch("add", event);
|
|
484
468
|
await LazyPromise.delay(TTL);
|
|
485
469
|
expect(listener.i).toBe(1);
|
|
486
470
|
});
|
|
@@ -489,13 +473,13 @@ export function eventBusTestSuite(settings) {
|
|
|
489
473
|
const listener = () => {
|
|
490
474
|
i++;
|
|
491
475
|
};
|
|
492
|
-
await eventBus.subscribeOnce(
|
|
493
|
-
const event =
|
|
476
|
+
await eventBus.subscribeOnce("add", listener);
|
|
477
|
+
const event = {
|
|
494
478
|
a: 1,
|
|
495
479
|
b: 2,
|
|
496
|
-
}
|
|
497
|
-
await eventBus.dispatch(event);
|
|
498
|
-
await eventBus.dispatch(event);
|
|
480
|
+
};
|
|
481
|
+
await eventBus.dispatch("add", event);
|
|
482
|
+
await eventBus.dispatch("add", event);
|
|
499
483
|
await LazyPromise.delay(TTL);
|
|
500
484
|
expect(i).toBe(1);
|
|
501
485
|
});
|
|
@@ -508,13 +492,13 @@ export function eventBusTestSuite(settings) {
|
|
|
508
492
|
this.result = event;
|
|
509
493
|
},
|
|
510
494
|
};
|
|
511
|
-
const unsubscribe = await eventBus.subscribeOnce(
|
|
495
|
+
const unsubscribe = await eventBus.subscribeOnce("add", listener);
|
|
512
496
|
await unsubscribe();
|
|
513
|
-
const event =
|
|
497
|
+
const event = {
|
|
514
498
|
a: 1,
|
|
515
499
|
b: 2,
|
|
516
|
-
}
|
|
517
|
-
await eventBus.dispatch(event);
|
|
500
|
+
};
|
|
501
|
+
await eventBus.dispatch("add", event);
|
|
518
502
|
await LazyPromise.delay(TTL);
|
|
519
503
|
expect(listener.result).toBeNull();
|
|
520
504
|
});
|
|
@@ -526,13 +510,13 @@ export function eventBusTestSuite(settings) {
|
|
|
526
510
|
}
|
|
527
511
|
}
|
|
528
512
|
const listener = new Listener();
|
|
529
|
-
const unsubscribe = await eventBus.subscribeOnce(
|
|
513
|
+
const unsubscribe = await eventBus.subscribeOnce("add", listener);
|
|
530
514
|
await unsubscribe();
|
|
531
|
-
const event =
|
|
515
|
+
const event = {
|
|
532
516
|
a: 1,
|
|
533
517
|
b: 2,
|
|
534
|
-
}
|
|
535
|
-
await eventBus.dispatch(event);
|
|
518
|
+
};
|
|
519
|
+
await eventBus.dispatch("add", event);
|
|
536
520
|
await LazyPromise.delay(TTL);
|
|
537
521
|
expect(listener.result).toBeNull();
|
|
538
522
|
});
|
|
@@ -541,13 +525,13 @@ export function eventBusTestSuite(settings) {
|
|
|
541
525
|
const listener = (event) => {
|
|
542
526
|
result = event;
|
|
543
527
|
};
|
|
544
|
-
const unsubscribe = await eventBus.subscribeOnce(
|
|
528
|
+
const unsubscribe = await eventBus.subscribeOnce("add", listener);
|
|
545
529
|
await unsubscribe();
|
|
546
|
-
const event =
|
|
530
|
+
const event = {
|
|
547
531
|
a: 1,
|
|
548
532
|
b: 2,
|
|
549
|
-
}
|
|
550
|
-
await eventBus.dispatch(event);
|
|
533
|
+
};
|
|
534
|
+
await eventBus.dispatch("add", event);
|
|
551
535
|
await LazyPromise.delay(TTL);
|
|
552
536
|
expect(result).toBeNull();
|
|
553
537
|
});
|
|
@@ -560,13 +544,13 @@ export function eventBusTestSuite(settings) {
|
|
|
560
544
|
this.result = event;
|
|
561
545
|
},
|
|
562
546
|
};
|
|
563
|
-
await eventBus.subscribeOnce(
|
|
564
|
-
await eventBus.removeListener(
|
|
565
|
-
const event =
|
|
547
|
+
await eventBus.subscribeOnce("add", listener);
|
|
548
|
+
await eventBus.removeListener("add", listener);
|
|
549
|
+
const event = {
|
|
566
550
|
a: 1,
|
|
567
551
|
b: 2,
|
|
568
|
-
}
|
|
569
|
-
await eventBus.dispatch(event);
|
|
552
|
+
};
|
|
553
|
+
await eventBus.dispatch("add", event);
|
|
570
554
|
await LazyPromise.delay(TTL);
|
|
571
555
|
expect(listener.result).toBeNull();
|
|
572
556
|
});
|
|
@@ -578,13 +562,13 @@ export function eventBusTestSuite(settings) {
|
|
|
578
562
|
}
|
|
579
563
|
}
|
|
580
564
|
const listener = new Listener();
|
|
581
|
-
await eventBus.subscribeOnce(
|
|
582
|
-
await eventBus.removeListener(
|
|
583
|
-
const event =
|
|
565
|
+
await eventBus.subscribeOnce("add", listener);
|
|
566
|
+
await eventBus.removeListener("add", listener);
|
|
567
|
+
const event = {
|
|
584
568
|
a: 1,
|
|
585
569
|
b: 2,
|
|
586
|
-
}
|
|
587
|
-
await eventBus.dispatch(event);
|
|
570
|
+
};
|
|
571
|
+
await eventBus.dispatch("add", event);
|
|
588
572
|
await LazyPromise.delay(TTL);
|
|
589
573
|
expect(listener.result).toBeNull();
|
|
590
574
|
});
|
|
@@ -593,13 +577,13 @@ export function eventBusTestSuite(settings) {
|
|
|
593
577
|
const listener = (event) => {
|
|
594
578
|
result = event;
|
|
595
579
|
};
|
|
596
|
-
await eventBus.subscribeOnce(
|
|
597
|
-
await eventBus.removeListener(
|
|
598
|
-
const event =
|
|
580
|
+
await eventBus.subscribeOnce("add", listener);
|
|
581
|
+
await eventBus.removeListener("add", listener);
|
|
582
|
+
const event = {
|
|
599
583
|
a: 1,
|
|
600
584
|
b: 2,
|
|
601
|
-
}
|
|
602
|
-
await eventBus.dispatch(event);
|
|
585
|
+
};
|
|
586
|
+
await eventBus.dispatch("add", event);
|
|
603
587
|
await LazyPromise.delay(TTL);
|
|
604
588
|
expect(result).toBeNull();
|
|
605
589
|
});
|
|
@@ -614,7 +598,7 @@ export function eventBusTestSuite(settings) {
|
|
|
614
598
|
this.result = event;
|
|
615
599
|
},
|
|
616
600
|
};
|
|
617
|
-
await eventBus.listenOnce(
|
|
601
|
+
await eventBus.listenOnce("add", listener);
|
|
618
602
|
expect(listener.result).toBeNull();
|
|
619
603
|
});
|
|
620
604
|
test("Class instance listener", async () => {
|
|
@@ -625,7 +609,7 @@ export function eventBusTestSuite(settings) {
|
|
|
625
609
|
}
|
|
626
610
|
}
|
|
627
611
|
const listener = new Listener();
|
|
628
|
-
await eventBus.listenOnce(
|
|
612
|
+
await eventBus.listenOnce("add", listener);
|
|
629
613
|
expect(listener.result).toBeNull();
|
|
630
614
|
});
|
|
631
615
|
test("Function listener", async () => {
|
|
@@ -633,7 +617,7 @@ export function eventBusTestSuite(settings) {
|
|
|
633
617
|
const listener = (event) => {
|
|
634
618
|
result = event;
|
|
635
619
|
};
|
|
636
|
-
await eventBus.listenOnce(
|
|
620
|
+
await eventBus.listenOnce("add", listener);
|
|
637
621
|
expect(result).toBeNull();
|
|
638
622
|
});
|
|
639
623
|
});
|
|
@@ -645,15 +629,14 @@ export function eventBusTestSuite(settings) {
|
|
|
645
629
|
this.result = event;
|
|
646
630
|
},
|
|
647
631
|
};
|
|
648
|
-
await eventBus.listenOnce(
|
|
649
|
-
const event =
|
|
632
|
+
await eventBus.listenOnce("add", listener);
|
|
633
|
+
const event = {
|
|
650
634
|
a: 1,
|
|
651
635
|
b: 2,
|
|
652
|
-
}
|
|
653
|
-
await eventBus.dispatch(event);
|
|
636
|
+
};
|
|
637
|
+
await eventBus.dispatch("add", event);
|
|
654
638
|
await LazyPromise.delay(TTL);
|
|
655
639
|
expect(listener.result).toEqual(event);
|
|
656
|
-
expect(listener.result).toBeInstanceOf(AddEvent);
|
|
657
640
|
});
|
|
658
641
|
test("Class instance listener", async () => {
|
|
659
642
|
class Listener {
|
|
@@ -663,30 +646,28 @@ export function eventBusTestSuite(settings) {
|
|
|
663
646
|
}
|
|
664
647
|
}
|
|
665
648
|
const listener = new Listener();
|
|
666
|
-
await eventBus.listenOnce(
|
|
667
|
-
const event =
|
|
649
|
+
await eventBus.listenOnce("add", listener);
|
|
650
|
+
const event = {
|
|
668
651
|
a: 1,
|
|
669
652
|
b: 2,
|
|
670
|
-
}
|
|
671
|
-
await eventBus.dispatch(event);
|
|
653
|
+
};
|
|
654
|
+
await eventBus.dispatch("add", event);
|
|
672
655
|
await LazyPromise.delay(TTL);
|
|
673
656
|
expect(listener.result).toEqual(event);
|
|
674
|
-
expect(listener.result).toBeInstanceOf(AddEvent);
|
|
675
657
|
});
|
|
676
658
|
test("Function listener", async () => {
|
|
677
659
|
let result = null;
|
|
678
660
|
const listener = (event) => {
|
|
679
661
|
result = event;
|
|
680
662
|
};
|
|
681
|
-
await eventBus.listenOnce(
|
|
682
|
-
const event =
|
|
663
|
+
await eventBus.listenOnce("add", listener);
|
|
664
|
+
const event = {
|
|
683
665
|
a: 1,
|
|
684
666
|
b: 2,
|
|
685
|
-
}
|
|
686
|
-
await eventBus.dispatch(event);
|
|
667
|
+
};
|
|
668
|
+
await eventBus.dispatch("add", event);
|
|
687
669
|
await LazyPromise.delay(TTL);
|
|
688
670
|
expect(result).toEqual(event);
|
|
689
|
-
expect(result).toBeInstanceOf(AddEvent);
|
|
690
671
|
});
|
|
691
672
|
});
|
|
692
673
|
describe("Should only listen for event once", () => {
|
|
@@ -697,13 +678,13 @@ export function eventBusTestSuite(settings) {
|
|
|
697
678
|
this.i++;
|
|
698
679
|
},
|
|
699
680
|
};
|
|
700
|
-
await eventBus.listenOnce(
|
|
701
|
-
const event =
|
|
681
|
+
await eventBus.listenOnce("add", listener);
|
|
682
|
+
const event = {
|
|
702
683
|
a: 1,
|
|
703
684
|
b: 2,
|
|
704
|
-
}
|
|
705
|
-
await eventBus.dispatch(event);
|
|
706
|
-
await eventBus.dispatch(event);
|
|
685
|
+
};
|
|
686
|
+
await eventBus.dispatch("add", event);
|
|
687
|
+
await eventBus.dispatch("add", event);
|
|
707
688
|
await LazyPromise.delay(TTL);
|
|
708
689
|
expect(listener.i).toBe(1);
|
|
709
690
|
});
|
|
@@ -715,13 +696,13 @@ export function eventBusTestSuite(settings) {
|
|
|
715
696
|
}
|
|
716
697
|
}
|
|
717
698
|
const listener = new Listener();
|
|
718
|
-
await eventBus.listenOnce(
|
|
719
|
-
const event =
|
|
699
|
+
await eventBus.listenOnce("add", listener);
|
|
700
|
+
const event = {
|
|
720
701
|
a: 1,
|
|
721
702
|
b: 2,
|
|
722
|
-
}
|
|
723
|
-
await eventBus.dispatch(event);
|
|
724
|
-
await eventBus.dispatch(event);
|
|
703
|
+
};
|
|
704
|
+
await eventBus.dispatch("add", event);
|
|
705
|
+
await eventBus.dispatch("add", event);
|
|
725
706
|
await LazyPromise.delay(TTL);
|
|
726
707
|
expect(listener.i).toBe(1);
|
|
727
708
|
});
|
|
@@ -730,13 +711,13 @@ export function eventBusTestSuite(settings) {
|
|
|
730
711
|
const listener = () => {
|
|
731
712
|
i++;
|
|
732
713
|
};
|
|
733
|
-
await eventBus.listenOnce(
|
|
734
|
-
const event =
|
|
714
|
+
await eventBus.listenOnce("add", listener);
|
|
715
|
+
const event = {
|
|
735
716
|
a: 1,
|
|
736
717
|
b: 2,
|
|
737
|
-
}
|
|
738
|
-
await eventBus.dispatch(event);
|
|
739
|
-
await eventBus.dispatch(event);
|
|
718
|
+
};
|
|
719
|
+
await eventBus.dispatch("add", event);
|
|
720
|
+
await eventBus.dispatch("add", event);
|
|
740
721
|
await LazyPromise.delay(TTL);
|
|
741
722
|
expect(i).toBe(1);
|
|
742
723
|
});
|
|
@@ -749,13 +730,13 @@ export function eventBusTestSuite(settings) {
|
|
|
749
730
|
this.result = event;
|
|
750
731
|
},
|
|
751
732
|
};
|
|
752
|
-
await eventBus.listenOnce(
|
|
753
|
-
await eventBus.removeListener(
|
|
754
|
-
const event =
|
|
733
|
+
await eventBus.listenOnce("add", listener);
|
|
734
|
+
await eventBus.removeListener("add", listener);
|
|
735
|
+
const event = {
|
|
755
736
|
a: 1,
|
|
756
737
|
b: 2,
|
|
757
|
-
}
|
|
758
|
-
await eventBus.dispatch(event);
|
|
738
|
+
};
|
|
739
|
+
await eventBus.dispatch("add", event);
|
|
759
740
|
await LazyPromise.delay(TTL);
|
|
760
741
|
expect(listener.result).toBeNull();
|
|
761
742
|
});
|
|
@@ -767,13 +748,13 @@ export function eventBusTestSuite(settings) {
|
|
|
767
748
|
}
|
|
768
749
|
}
|
|
769
750
|
const listener = new Listener();
|
|
770
|
-
await eventBus.listenOnce(
|
|
771
|
-
await eventBus.removeListener(
|
|
772
|
-
const event =
|
|
751
|
+
await eventBus.listenOnce("add", listener);
|
|
752
|
+
await eventBus.removeListener("add", listener);
|
|
753
|
+
const event = {
|
|
773
754
|
a: 1,
|
|
774
755
|
b: 2,
|
|
775
|
-
}
|
|
776
|
-
await eventBus.dispatch(event);
|
|
756
|
+
};
|
|
757
|
+
await eventBus.dispatch("add", event);
|
|
777
758
|
await LazyPromise.delay(TTL);
|
|
778
759
|
expect(listener.result).toBeNull();
|
|
779
760
|
});
|
|
@@ -782,13 +763,13 @@ export function eventBusTestSuite(settings) {
|
|
|
782
763
|
const listener = (event) => {
|
|
783
764
|
result = event;
|
|
784
765
|
};
|
|
785
|
-
await eventBus.listenOnce(
|
|
786
|
-
await eventBus.removeListener(
|
|
787
|
-
const event =
|
|
766
|
+
await eventBus.listenOnce("add", listener);
|
|
767
|
+
await eventBus.removeListener("add", listener);
|
|
768
|
+
const event = {
|
|
788
769
|
a: 1,
|
|
789
770
|
b: 2,
|
|
790
|
-
}
|
|
791
|
-
await eventBus.dispatch(event);
|
|
771
|
+
};
|
|
772
|
+
await eventBus.dispatch("add", event);
|
|
792
773
|
await LazyPromise.delay(TTL);
|
|
793
774
|
expect(result).toBeNull();
|
|
794
775
|
});
|
|
@@ -800,7 +781,7 @@ export function eventBusTestSuite(settings) {
|
|
|
800
781
|
const listener = (event) => {
|
|
801
782
|
result = event;
|
|
802
783
|
};
|
|
803
|
-
eventBus.asPromise(
|
|
784
|
+
eventBus.asPromise("add").then(listener);
|
|
804
785
|
expect(result).toBeNull();
|
|
805
786
|
});
|
|
806
787
|
test("Should be AddEvent when listener added and event is triggered", async () => {
|
|
@@ -808,15 +789,14 @@ export function eventBusTestSuite(settings) {
|
|
|
808
789
|
const listener = (event) => {
|
|
809
790
|
result = event;
|
|
810
791
|
};
|
|
811
|
-
eventBus.asPromise(
|
|
812
|
-
const event =
|
|
792
|
+
eventBus.asPromise("add").then(listener);
|
|
793
|
+
const event = {
|
|
813
794
|
a: 1,
|
|
814
795
|
b: 2,
|
|
815
|
-
}
|
|
816
|
-
await eventBus.dispatch(event);
|
|
796
|
+
};
|
|
797
|
+
await eventBus.dispatch("add", event);
|
|
817
798
|
await LazyPromise.delay(TTL);
|
|
818
799
|
expect(result).toEqual(event);
|
|
819
|
-
expect(result).toBeInstanceOf(AddEvent);
|
|
820
800
|
});
|
|
821
801
|
});
|
|
822
802
|
}
|