@daiso-tech/core 0.28.1 → 0.30.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 +8 -2
- package/dist/async/utilities/abort/abort.d.ts +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +3 -4
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/retry/retry.d.ts +1 -1
- package/dist/async/utilities/timeout/timeout.d.ts +1 -1
- package/dist/cache/contracts/cache-factory.contract.js +1 -1
- package/dist/cache/contracts/cache-factory.contract.js.map +1 -1
- package/dist/cache/contracts/cache.contract.d.ts +3 -3
- package/dist/cache/implementations/derivables/cache/cache.d.ts +18 -13
- package/dist/cache/implementations/derivables/cache/cache.js +10 -3
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -1
- package/dist/collection/contracts/_module-exports.d.ts +1 -1
- package/dist/collection/contracts/_module-exports.js +1 -1
- package/dist/collection/contracts/_module-exports.js.map +1 -1
- package/dist/collection/contracts/_shared/_module.d.ts +11 -0
- package/dist/collection/contracts/_shared/_module.js +12 -0
- package/dist/collection/contracts/_shared/_module.js.map +1 -0
- package/dist/collection/contracts/_shared/compartor.type.d.ts +9 -0
- package/dist/collection/contracts/_shared/compartor.type.js +5 -0
- package/dist/collection/contracts/_shared/compartor.type.js.map +1 -0
- package/dist/collection/contracts/_shared/cross-join-result.type.d.ts +11 -0
- package/dist/collection/contracts/_shared/cross-join-result.type.js +5 -0
- package/dist/collection/contracts/_shared/cross-join-result.type.js.map +1 -0
- package/dist/collection/contracts/_shared/ensure-map.type.d.ts +8 -0
- package/dist/collection/contracts/_shared/ensure-map.type.js +5 -0
- package/dist/collection/contracts/_shared/ensure-map.type.js.map +1 -0
- package/dist/collection/contracts/_shared/ensure-record.type.d.ts +8 -0
- package/dist/collection/contracts/_shared/ensure-record.type.js +5 -0
- package/dist/collection/contracts/_shared/ensure-record.type.js.map +1 -0
- package/dist/collection/contracts/_shared/foreach.type.d.ts +22 -0
- package/dist/collection/contracts/_shared/foreach.type.js +5 -0
- package/dist/collection/contracts/_shared/foreach.type.js.map +1 -0
- package/dist/collection/contracts/_shared/map.type.d.ts +22 -0
- package/dist/collection/contracts/{_shared.js → _shared/map.type.js} +1 -1
- package/dist/collection/contracts/_shared/map.type.js.map +1 -0
- package/dist/collection/contracts/_shared/modifier.type.d.ts +18 -0
- package/dist/collection/contracts/_shared/modifier.type.js +5 -0
- package/dist/collection/contracts/_shared/modifier.type.js.map +1 -0
- package/dist/collection/contracts/_shared/predicate.type.d.ts +49 -0
- package/dist/collection/contracts/_shared/predicate.type.js +5 -0
- package/dist/collection/contracts/_shared/predicate.type.js.map +1 -0
- package/dist/collection/contracts/_shared/reduce.type.d.ts +24 -0
- package/dist/collection/contracts/_shared/reduce.type.js +5 -0
- package/dist/collection/contracts/_shared/reduce.type.js.map +1 -0
- package/dist/collection/contracts/_shared/tap.type.d.ts +16 -0
- package/dist/collection/contracts/_shared/tap.type.js +5 -0
- package/dist/collection/contracts/_shared/tap.type.js.map +1 -0
- package/dist/collection/contracts/_shared/transform.type.d.ts +16 -0
- package/dist/collection/contracts/_shared/transform.type.js +5 -0
- package/dist/collection/contracts/_shared/transform.type.js.map +1 -0
- package/dist/collection/contracts/async-collection.contract.d.ts +3 -3
- package/dist/collection/contracts/collection.contract.d.ts +31 -31
- package/dist/collection/contracts/collection.errors.d.ts +1 -1
- package/dist/collection/contracts/collection.errors.js +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-filter-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-filter-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-flat-map-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-flat-map-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-map-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-map-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.js +6 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js +3 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-when-iterable.js +2 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-when-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +3 -3
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +25 -24
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/count-by-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/count-by-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/flat-map-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/flat-map-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/group-by-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/group-by-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.js +3 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.js +3 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/map-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/map-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/sort-iterable.js +6 -1
- package/dist/collection/implementations/iterable-collection/_shared/sort-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/tap-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/tap-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/unique-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/unique-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/update-iterable.d.ts +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/update-iterable.js +3 -2
- package/dist/collection/implementations/iterable-collection/_shared/update-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/when-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/when-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +31 -31
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +23 -22
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +31 -31
- package/dist/collection/implementations/list-collection/list-collection.js +44 -38
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +10 -4
- package/dist/event-bus/contracts/event-bus.contract.d.ts +26 -8
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +3 -4
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +0 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +3 -4
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -4
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +0 -1
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +11 -10
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +30 -6
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +4 -4
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +10 -8
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +453 -4
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
- package/dist/lock/contracts/lock-provider-factory.contract.js +1 -1
- package/dist/lock/contracts/lock-provider-factory.contract.js.map +1 -1
- package/dist/lock/contracts/lock.contract.d.ts +5 -5
- package/dist/lock/contracts/lock.events.d.ts +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +16 -11
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +10 -3
- 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 +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +18 -13
- package/dist/lock/implementations/derivables/lock-provider/lock.js +12 -17
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/utilities/_module-exports.d.ts +2 -2
- package/dist/utilities/_module-exports.js +2 -2
- package/dist/utilities/_module-exports.js.map +1 -1
- package/dist/utilities/classes/_module.d.ts +0 -1
- package/dist/utilities/classes/_module.js +0 -1
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
- package/dist/utilities/functions/_module-exports.d.ts +7 -0
- package/dist/utilities/functions/_module-exports.js +8 -0
- package/dist/utilities/functions/_module-exports.js.map +1 -0
- package/dist/utilities/functions/factory.d.ts +44 -0
- package/dist/utilities/functions/factory.js +80 -0
- package/dist/utilities/functions/factory.js.map +1 -0
- package/dist/utilities/functions/get-constructor-name.d.ts +7 -0
- package/dist/utilities/functions/get-constructor-name.js +10 -0
- package/dist/utilities/functions/get-constructor-name.js.map +1 -0
- package/dist/utilities/functions/invokable.d.ts +20 -0
- package/dist/utilities/functions/invokable.js +33 -0
- package/dist/utilities/functions/invokable.js.map +1 -0
- package/dist/utilities/functions/is-nullable.d.ts +7 -0
- package/dist/utilities/functions/is-nullable.js +10 -0
- package/dist/utilities/functions/is-nullable.js.map +1 -0
- package/dist/utilities/functions/lazy.d.ts +20 -0
- package/dist/utilities/functions/lazy.js +39 -0
- package/dist/utilities/functions/lazy.js.map +1 -0
- package/dist/utilities/functions/object.d.ts +15 -0
- package/dist/utilities/functions/object.js +33 -0
- package/dist/utilities/functions/object.js.map +1 -0
- package/dist/utilities/functions/resolve-one-or-more.d.ts +12 -0
- package/dist/utilities/functions/resolve-one-or-more.js +25 -0
- package/dist/utilities/functions/resolve-one-or-more.js.map +1 -0
- package/dist/utilities/types/_module.d.ts +10 -0
- package/dist/utilities/types/_module.js +11 -0
- package/dist/utilities/types/_module.js.map +1 -0
- package/dist/utilities/types/async-iterable-value.type.d.ts +8 -0
- package/dist/utilities/types/async-iterable-value.type.js +5 -0
- package/dist/utilities/types/async-iterable-value.type.js.map +1 -0
- package/dist/utilities/types/at-least-one.type.d.ts +8 -0
- package/dist/utilities/types/at-least-one.type.js +5 -0
- package/dist/utilities/types/at-least-one.type.js.map +1 -0
- package/dist/utilities/types/factory.type.d.ts +49 -0
- package/dist/utilities/types/factory.type.js +5 -0
- package/dist/utilities/types/factory.type.js.map +1 -0
- package/dist/utilities/types/invokable.type.d.ts +20 -0
- package/dist/utilities/types/invokable.type.js +5 -0
- package/dist/utilities/types/invokable.type.js.map +1 -0
- package/dist/utilities/types/items.type.d.ts +8 -0
- package/dist/utilities/types/items.type.js +5 -0
- package/dist/utilities/types/items.type.js.map +1 -0
- package/dist/utilities/types/lazy.type.d.ts +31 -0
- package/dist/utilities/{types.js → types/lazy.type.js} +1 -1
- package/dist/utilities/types/lazy.type.js.map +1 -0
- package/dist/utilities/types/none-func.type.d.ts +8 -0
- package/dist/utilities/types/none-func.type.js +5 -0
- package/dist/utilities/types/none-func.type.js.map +1 -0
- package/dist/utilities/types/one-or-more.type.d.ts +8 -0
- package/dist/utilities/types/one-or-more.type.js +5 -0
- package/dist/utilities/types/one-or-more.type.js.map +1 -0
- package/dist/utilities/types/promiseable.type.d.ts +8 -0
- package/dist/utilities/types/promiseable.type.js +5 -0
- package/dist/utilities/types/promiseable.type.js.map +1 -0
- package/dist/utilities/types/result.type.d.ts +8 -0
- package/dist/utilities/types/result.type.js +5 -0
- package/dist/utilities/types/result.type.js.map +1 -0
- package/package.json +85 -25
- package/dist/collection/contracts/_shared.d.ts +0 -141
- package/dist/collection/contracts/_shared.js.map +0 -1
- package/dist/utilities/classes/pipeline/_module.d.ts +0 -1
- package/dist/utilities/classes/pipeline/_module.js +0 -2
- package/dist/utilities/classes/pipeline/_module.js.map +0 -1
- package/dist/utilities/classes/pipeline/pipeline.d.ts +0 -46
- package/dist/utilities/classes/pipeline/pipeline.js +0 -76
- package/dist/utilities/classes/pipeline/pipeline.js.map +0 -1
- package/dist/utilities/functions.d.ts +0 -57
- package/dist/utilities/functions.js +0 -123
- package/dist/utilities/functions.js.map +0 -1
- package/dist/utilities/types.d.ts +0 -104
- package/dist/utilities/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-pub-sub-event-bus-adapter.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,EACH,UAAU;AACV,6DAA6D;AAC7D,qBAAqB,GACxB,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"redis-pub-sub-event-bus-adapter.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,EACH,UAAU;AACV,6DAA6D;AAC7D,qBAAqB,GACxB,MAAM,qDAAqD,CAAC;AAO7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAa3C;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAClB,KAAK,CAAiB;IACtB,gBAAgB,CAAQ;IACxB,cAAc,CAAQ;IACtB,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,EACR,gBAAgB,EAChB,cAAc,EACd,KAAK,GAC4B;QACjC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,aAAa,GAAG,CAAC,OAAe,EAAE,OAAe,EAAQ,EAAE;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,KAAK,CAAC,WAAW,CACb,SAAiB,EACjB,QAAoC;QAEpC,kEAAkE;QAClE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE/C,kEAAkE;QAClE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,SAAiB,EACjB,QAAoC;QAEpC,kEAAkE;QAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,SAAoB;QAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAC/B,SAAS,EACT,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAClC,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { LazyPromiseSettingsBase } from "../../../../async/_module-exports.js";
|
|
5
5
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
6
|
-
import type { EventClass, EventInstance, Unsubscribe } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
|
+
import type { EventClass, EventInstance, EventListener, Unsubscribe } from "../../../../event-bus/contracts/_module-exports.js";
|
|
7
7
|
import { type IEventBus, type IGroupableEventBus, type IEventBusAdapter, type BaseEvent } from "../../../../event-bus/contracts/_module-exports.js";
|
|
8
|
-
import type {
|
|
8
|
+
import type { AsyncFactoryable, IKeyPrefixer, OneOrMore, Items } from "../../../../utilities/_module-exports.js";
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
11
11
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
|
|
@@ -19,7 +19,7 @@ export type EventBusSettingsBase = LazyPromiseSettingsBase & {
|
|
|
19
19
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
|
|
20
20
|
* @group Derivables
|
|
21
21
|
*/
|
|
22
|
-
export type EventBusAdapterFactoryable =
|
|
22
|
+
export type EventBusAdapterFactoryable = AsyncFactoryable<string, IEventBusAdapter>;
|
|
23
23
|
/**
|
|
24
24
|
*
|
|
25
25
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
|
|
@@ -119,14 +119,15 @@ export declare class EventBus<TEvents extends BaseEvent = BaseEvent> implements
|
|
|
119
119
|
private createLazyPromise;
|
|
120
120
|
withGroup(group: OneOrMore<string>): IEventBus<TEvents>;
|
|
121
121
|
getGroup(): string | null;
|
|
122
|
-
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
123
|
-
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
124
|
-
addListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener:
|
|
125
|
-
removeListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener:
|
|
126
|
-
listenOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
122
|
+
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
123
|
+
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
124
|
+
addListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: EventListener<EventInstance<Items<TEventClassArr>>>): LazyPromise<void>;
|
|
125
|
+
removeListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: EventListener<EventInstance<Items<TEventClassArr>>>): LazyPromise<void>;
|
|
126
|
+
listenOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
127
127
|
asPromise<TEventClass extends EventClass<TEvents>>(event: TEventClass): LazyPromise<EventInstance<TEventClass>>;
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
subscribeOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
|
|
129
|
+
subscribe<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
|
|
130
|
+
subscribeMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: EventListener<EventInstance<Items<TEventClassArr>>>): LazyPromise<Unsubscribe>;
|
|
130
131
|
dispatchMany(events: TEvents[]): LazyPromise<void>;
|
|
131
132
|
dispatch(event: TEvents): LazyPromise<void>;
|
|
132
133
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
5
5
|
import { UnableToDispatchEventBusError, UnableToRemoveListenerEventBusError, UnableToAddListenerEventBusError, } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
|
-
import { getConstructorName,
|
|
6
|
+
import { getConstructorName, resolveAsyncFactoryable, resolveInvokable, } from "../../../../utilities/_module-exports.js";
|
|
7
7
|
import { ListenerStore } from "../../../../event-bus/implementations/derivables/event-bus/listener-store.js";
|
|
8
8
|
/**
|
|
9
9
|
* <i>EventBus</i> class can be derived from any <i>{@link IEventBusAdapter}</i>.
|
|
@@ -101,7 +101,7 @@ export class EventBus {
|
|
|
101
101
|
this.backoffPolicy = backoffPolicy;
|
|
102
102
|
this.retryPolicy = retryPolicy;
|
|
103
103
|
this.retryTimeout = retryTimeout;
|
|
104
|
-
this.adapterPromise = new LazyPromise(() =>
|
|
104
|
+
this.adapterPromise = new LazyPromise(() => resolveAsyncFactoryable(this.adapterFactoryable, this.keyPrefixer.keyPrefix));
|
|
105
105
|
}
|
|
106
106
|
createLazyPromise(asyncFn) {
|
|
107
107
|
return new LazyPromise(asyncFn, {
|
|
@@ -128,12 +128,13 @@ export class EventBus {
|
|
|
128
128
|
addListener(event, listener) {
|
|
129
129
|
return this.createLazyPromise(async () => {
|
|
130
130
|
const eventName = this.keyPrefixer.create(event.name);
|
|
131
|
-
const resolvedListener = this.store.getOrAdd(eventName.prefixed, listener);
|
|
131
|
+
const resolvedListener = this.store.getOrAdd([eventName.prefixed, listener], resolveInvokable(listener));
|
|
132
132
|
try {
|
|
133
133
|
const adapter = await this.adapterPromise;
|
|
134
134
|
await adapter.addListener(eventName.prefixed, resolvedListener);
|
|
135
135
|
}
|
|
136
136
|
catch (error) {
|
|
137
|
+
this.store.getAndRemove([eventName.prefixed, listener]);
|
|
137
138
|
throw new UnableToAddListenerEventBusError(`A listener with name of "${resolvedListener.name}" could not added for "${String(event)}" event`, error);
|
|
138
139
|
}
|
|
139
140
|
});
|
|
@@ -141,7 +142,10 @@ export class EventBus {
|
|
|
141
142
|
removeListener(event, listener) {
|
|
142
143
|
return this.createLazyPromise(async () => {
|
|
143
144
|
const eventName = this.keyPrefixer.create(event.name);
|
|
144
|
-
const resolvedListener = this.store.getAndRemove(
|
|
145
|
+
const resolvedListener = this.store.getAndRemove([
|
|
146
|
+
eventName.prefixed,
|
|
147
|
+
listener,
|
|
148
|
+
]);
|
|
145
149
|
if (resolvedListener === null) {
|
|
146
150
|
return;
|
|
147
151
|
}
|
|
@@ -186,10 +190,19 @@ export class EventBus {
|
|
|
186
190
|
await resolvedListener(event_);
|
|
187
191
|
}
|
|
188
192
|
finally {
|
|
189
|
-
await this.removeListener(event,
|
|
193
|
+
await this.removeListener(event, listener);
|
|
190
194
|
}
|
|
191
195
|
};
|
|
192
|
-
|
|
196
|
+
const eventName = this.keyPrefixer.create(event.name);
|
|
197
|
+
const resolvedListener = this.store.getOrAdd([eventName.prefixed, listener], wrappedListener);
|
|
198
|
+
try {
|
|
199
|
+
const adapter = await this.adapterPromise;
|
|
200
|
+
await adapter.addListener(eventName.prefixed, resolvedListener);
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
this.store.getAndRemove([eventName.prefixed, listener]);
|
|
204
|
+
throw new UnableToAddListenerEventBusError(`A listener with name of "${resolvedListener.name}" could not added for "${String(event)}" event`, error);
|
|
205
|
+
}
|
|
193
206
|
});
|
|
194
207
|
}
|
|
195
208
|
asPromise(event) {
|
|
@@ -199,6 +212,17 @@ export class EventBus {
|
|
|
199
212
|
reject);
|
|
200
213
|
}));
|
|
201
214
|
}
|
|
215
|
+
subscribeOnce(event, listener) {
|
|
216
|
+
return this.createLazyPromise(async () => {
|
|
217
|
+
await this.listenOnce(event, listener);
|
|
218
|
+
const unsubscribe = () => {
|
|
219
|
+
return this.createLazyPromise(async () => {
|
|
220
|
+
await this.removeListener(event, listener);
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
return unsubscribe;
|
|
224
|
+
});
|
|
225
|
+
}
|
|
202
226
|
subscribe(event, listener) {
|
|
203
227
|
return this.subscribeMany([event], listener);
|
|
204
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import type { EventListener, EventListenerFn } from "../../../../event-bus/contracts/_module-exports.js";
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
8
|
export declare class ListenerStore {
|
|
9
9
|
private readonly store;
|
|
10
|
-
constructor(store?: Map<string, Map<
|
|
11
|
-
getOrAdd<TInput
|
|
12
|
-
getAndRemove<TInput
|
|
10
|
+
constructor(store?: Map<string, Map<EventListener<any>, EventListenerFn<any>>>);
|
|
11
|
+
getOrAdd<TInput>(key: [eventName: string, listener: EventListener<TInput>], value: EventListenerFn<TInput>): EventListenerFn<TInput>;
|
|
12
|
+
getAndRemove<TInput>(key: [eventName: string, listener: EventListener<TInput>]): EventListenerFn<TInput> | null;
|
|
13
13
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import { resolveInvokable
|
|
4
|
+
import { resolveInvokable } from "../../../../utilities/_module-exports.js";
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
@@ -10,20 +10,22 @@ export class ListenerStore {
|
|
|
10
10
|
constructor(store = new Map()) {
|
|
11
11
|
this.store = store;
|
|
12
12
|
}
|
|
13
|
-
getOrAdd(
|
|
13
|
+
getOrAdd(key, value) {
|
|
14
|
+
const [eventName, listener] = key;
|
|
14
15
|
let eventMap = this.store.get(eventName);
|
|
15
16
|
if (eventMap === undefined) {
|
|
16
17
|
eventMap = new Map();
|
|
17
18
|
this.store.set(eventName, eventMap);
|
|
18
19
|
}
|
|
19
|
-
let
|
|
20
|
-
if (
|
|
21
|
-
|
|
22
|
-
eventMap.set(listener,
|
|
20
|
+
let listenerFn_ = eventMap.get(listener);
|
|
21
|
+
if (listenerFn_ === undefined) {
|
|
22
|
+
listenerFn_ = resolveInvokable(value);
|
|
23
|
+
eventMap.set(listener, listenerFn_);
|
|
23
24
|
}
|
|
24
|
-
return
|
|
25
|
+
return listenerFn_;
|
|
25
26
|
}
|
|
26
|
-
getAndRemove(
|
|
27
|
+
getAndRemove(key) {
|
|
28
|
+
const [eventName, listener] = key;
|
|
27
29
|
const eventMap = this.store.get(eventName);
|
|
28
30
|
if (eventMap === undefined) {
|
|
29
31
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener-store.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/listener-store.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"listener-store.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/listener-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,aAAa;IAED;IADrB,YACqB,QAAQ,IAAI,GAAG,EAG7B;QAHc,UAAK,GAAL,KAAK,CAGnB;IACJ,CAAC;IAEJ,QAAQ,CACJ,GAAyD,EACzD,KAA8B;QAE9B,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,YAAY,CACR,GAAyD;QAEzD,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
|