@daiso-tech/core 0.29.0 → 0.31.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/dist/async/utilities/abort/abort.d.ts +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +4 -5
- package/dist/async/utilities/lazy-promise/lazy-promise.js +3 -3
- 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 +14 -14
- package/dist/cache/implementations/derivables/cache/cache.js +3 -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 +22 -9
- 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 -11
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +2 -2
- 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 +1 -1
- 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.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 +12 -12
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +3 -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 +14 -14
- package/dist/lock/implementations/derivables/lock-provider/lock.js +5 -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 +1 -1
- 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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { isIterable } from "../../../collection/implementations/_shared.js";
|
|
5
5
|
import { ItemNotFoundCollectionError, MultipleItemsFoundCollectionError, UnexpectedCollectionError, TypeCollectionError, EmptyCollectionError, } from "../../../collection/contracts/_module-exports.js";
|
|
6
|
-
import {} from "../../../utilities/_module-exports.js";
|
|
6
|
+
import { isInvokable, resolveInvokable, } from "../../../utilities/_module-exports.js";
|
|
7
7
|
import { resolveLazyable } from "../../../utilities/_module-exports.js";
|
|
8
8
|
/**
|
|
9
9
|
* All methods in <i>ListCollection</i> are executed eagerly.
|
|
@@ -191,20 +191,20 @@ export class ListCollection {
|
|
|
191
191
|
return new ListCollection(this);
|
|
192
192
|
}
|
|
193
193
|
filter(predicateFn) {
|
|
194
|
-
return new ListCollection(this.array.filter((item, index) => predicateFn(item, index, this)));
|
|
194
|
+
return new ListCollection(this.array.filter((item, index) => resolveInvokable(predicateFn)(item, index, this)));
|
|
195
195
|
}
|
|
196
196
|
reject(predicateFn) {
|
|
197
|
-
return new ListCollection(this.array.filter((item, index) => !predicateFn(item, index, this)));
|
|
197
|
+
return new ListCollection(this.array.filter((item, index) => !resolveInvokable(predicateFn)(item, index, this)));
|
|
198
198
|
}
|
|
199
199
|
map(mapFn) {
|
|
200
|
-
return new ListCollection(this.array.map((item, index) => mapFn(item, index, this)));
|
|
200
|
+
return new ListCollection(this.array.map((item, index) => resolveInvokable(mapFn)(item, index, this)));
|
|
201
201
|
}
|
|
202
202
|
reduce(reduceFn, initialValue) {
|
|
203
203
|
if (initialValue === undefined && this.isEmpty()) {
|
|
204
204
|
throw new TypeCollectionError("Reduce of empty array must be inputed a initial value");
|
|
205
205
|
}
|
|
206
206
|
if (initialValue !== undefined) {
|
|
207
|
-
return this.array.reduce((initialValue, item, index) => reduceFn(initialValue, item, index, this), initialValue);
|
|
207
|
+
return this.array.reduce((initialValue, item, index) => resolveInvokable(reduceFn)(initialValue, item, index, this), initialValue);
|
|
208
208
|
}
|
|
209
209
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
210
210
|
return this.array.reduce((initialValue, item, index) => {
|
|
@@ -236,12 +236,14 @@ export class ListCollection {
|
|
|
236
236
|
return new ListCollection(items);
|
|
237
237
|
}
|
|
238
238
|
flatMap(mapFn) {
|
|
239
|
-
return new ListCollection(this.array.flatMap((item, index) => [
|
|
239
|
+
return new ListCollection(this.array.flatMap((item, index) => [
|
|
240
|
+
...resolveInvokable(mapFn)(item, index, this),
|
|
241
|
+
]));
|
|
240
242
|
}
|
|
241
243
|
change(predicateFn, mapFn) {
|
|
242
244
|
return new ListCollection(this.array.map((item, index) => {
|
|
243
|
-
if (predicateFn(item, index, this)) {
|
|
244
|
-
return mapFn(item, index, this);
|
|
245
|
+
if (resolveInvokable(predicateFn)(item, index, this)) {
|
|
246
|
+
return resolveInvokable(mapFn)(item, index, this);
|
|
245
247
|
}
|
|
246
248
|
return item;
|
|
247
249
|
}));
|
|
@@ -257,9 +259,8 @@ export class ListCollection {
|
|
|
257
259
|
if (item === undefined) {
|
|
258
260
|
return this;
|
|
259
261
|
}
|
|
260
|
-
if (
|
|
261
|
-
|
|
262
|
-
value = fn(item, index, this);
|
|
262
|
+
if (isInvokable(value)) {
|
|
263
|
+
value = resolveInvokable(value)(item, index, this);
|
|
263
264
|
}
|
|
264
265
|
const newArray = [...this.array];
|
|
265
266
|
newArray[index] = value;
|
|
@@ -365,10 +366,10 @@ export class ListCollection {
|
|
|
365
366
|
return (this.count(predicateFn) / this.size()) * 100;
|
|
366
367
|
}
|
|
367
368
|
some(predicateFn) {
|
|
368
|
-
return this.array.some((item, index) => predicateFn(item, index, this));
|
|
369
|
+
return this.array.some((item, index) => resolveInvokable(predicateFn)(item, index, this));
|
|
369
370
|
}
|
|
370
371
|
every(predicateFn) {
|
|
371
|
-
return this.array.every((item, index) => predicateFn(item, index, this));
|
|
372
|
+
return this.array.every((item, index) => resolveInvokable(predicateFn)(item, index, this));
|
|
372
373
|
}
|
|
373
374
|
take(limit) {
|
|
374
375
|
return new ListCollection(this.array.slice(0, limit));
|
|
@@ -376,7 +377,7 @@ export class ListCollection {
|
|
|
376
377
|
takeUntil(predicateFn) {
|
|
377
378
|
const items = [];
|
|
378
379
|
for (const [index, item] of this.array.entries()) {
|
|
379
|
-
if (predicateFn(item, index, this)) {
|
|
380
|
+
if (resolveInvokable(predicateFn)(item, index, this)) {
|
|
380
381
|
break;
|
|
381
382
|
}
|
|
382
383
|
items.push(item);
|
|
@@ -384,7 +385,7 @@ export class ListCollection {
|
|
|
384
385
|
return new ListCollection(items);
|
|
385
386
|
}
|
|
386
387
|
takeWhile(predicateFn) {
|
|
387
|
-
return this.takeUntil((...arguments_) => !predicateFn(...arguments_));
|
|
388
|
+
return this.takeUntil((...arguments_) => !resolveInvokable(predicateFn)(...arguments_));
|
|
388
389
|
}
|
|
389
390
|
skip(offset) {
|
|
390
391
|
return new ListCollection(this.array.slice(offset));
|
|
@@ -394,7 +395,7 @@ export class ListCollection {
|
|
|
394
395
|
const items = [];
|
|
395
396
|
for (const [index, item] of this.array.entries()) {
|
|
396
397
|
if (!hasMatched) {
|
|
397
|
-
hasMatched = predicateFn(item, index, this);
|
|
398
|
+
hasMatched = resolveInvokable(predicateFn)(item, index, this);
|
|
398
399
|
}
|
|
399
400
|
if (hasMatched) {
|
|
400
401
|
items.push(item);
|
|
@@ -403,11 +404,11 @@ export class ListCollection {
|
|
|
403
404
|
return new ListCollection(items);
|
|
404
405
|
}
|
|
405
406
|
skipWhile(predicateFn) {
|
|
406
|
-
return this.skipUntil((...arguments_) => !predicateFn(...arguments_));
|
|
407
|
+
return this.skipUntil((...arguments_) => !resolveInvokable(predicateFn)(...arguments_));
|
|
407
408
|
}
|
|
408
409
|
when(condition, callback) {
|
|
409
410
|
if (condition) {
|
|
410
|
-
return callback(this);
|
|
411
|
+
return resolveInvokable(callback)(this);
|
|
411
412
|
}
|
|
412
413
|
return this;
|
|
413
414
|
}
|
|
@@ -421,10 +422,10 @@ export class ListCollection {
|
|
|
421
422
|
return this.when(this.isNotEmpty(), callback);
|
|
422
423
|
}
|
|
423
424
|
pipe(callback) {
|
|
424
|
-
return callback(this);
|
|
425
|
+
return resolveInvokable(callback)(this);
|
|
425
426
|
}
|
|
426
427
|
tap(callback) {
|
|
427
|
-
callback(new ListCollection(this));
|
|
428
|
+
resolveInvokable(callback)(new ListCollection(this));
|
|
428
429
|
return this;
|
|
429
430
|
}
|
|
430
431
|
chunk(chunkSize) {
|
|
@@ -441,7 +442,7 @@ export class ListCollection {
|
|
|
441
442
|
if (index === 0) {
|
|
442
443
|
currentChunk = currentChunk.append([item]);
|
|
443
444
|
}
|
|
444
|
-
else if (predicateFn(item, index, currentChunk)) {
|
|
445
|
+
else if (resolveInvokable(predicateFn)(item, index, currentChunk)) {
|
|
445
446
|
currentChunk = currentChunk.append([item]);
|
|
446
447
|
}
|
|
447
448
|
else {
|
|
@@ -474,7 +475,7 @@ export class ListCollection {
|
|
|
474
475
|
partition(predicateFn) {
|
|
475
476
|
const chunkA = [], chunkB = [];
|
|
476
477
|
for (const [index, item] of this.array.entries()) {
|
|
477
|
-
if (predicateFn(item, index, this)) {
|
|
478
|
+
if (resolveInvokable(predicateFn)(item, index, this)) {
|
|
478
479
|
chunkA.push(item);
|
|
479
480
|
}
|
|
480
481
|
else {
|
|
@@ -504,7 +505,7 @@ export class ListCollection {
|
|
|
504
505
|
groupBy(selectFn = (item) => item) {
|
|
505
506
|
const map = new Map();
|
|
506
507
|
for (const [index, item] of this.array.entries()) {
|
|
507
|
-
const key = selectFn(item, index, this);
|
|
508
|
+
const key = resolveInvokable(selectFn)(item, index, this);
|
|
508
509
|
let collection = map.get(key);
|
|
509
510
|
if (collection === undefined) {
|
|
510
511
|
collection = new ListCollection([]);
|
|
@@ -519,7 +520,7 @@ export class ListCollection {
|
|
|
519
520
|
countBy(selectFn = (item) => item) {
|
|
520
521
|
const map = new Map();
|
|
521
522
|
for (const [index, item] of this.array.entries()) {
|
|
522
|
-
const key = selectFn(item, index, this);
|
|
523
|
+
const key = resolveInvokable(selectFn)(item, index, this);
|
|
523
524
|
if (!map.has(key)) {
|
|
524
525
|
map.set(key, 0);
|
|
525
526
|
}
|
|
@@ -533,7 +534,7 @@ export class ListCollection {
|
|
|
533
534
|
unique(selectFn = (item) => item) {
|
|
534
535
|
const set = new Set([]), items = [];
|
|
535
536
|
for (const [index, item] of this.array.entries()) {
|
|
536
|
-
const item_ = selectFn(item, index, this);
|
|
537
|
+
const item_ = resolveInvokable(selectFn)(item, index, this);
|
|
537
538
|
if (!set.has(item_)) {
|
|
538
539
|
items.push(item);
|
|
539
540
|
}
|
|
@@ -545,8 +546,8 @@ export class ListCollection {
|
|
|
545
546
|
const differenceCollection = new ListCollection(iterable);
|
|
546
547
|
return this.filter((item, index, collection) => {
|
|
547
548
|
return !differenceCollection.some((matchItem, matchIndex, matchCollection) => {
|
|
548
|
-
return (selectFn(item, index, collection) ===
|
|
549
|
-
selectFn(matchItem, matchIndex, matchCollection));
|
|
549
|
+
return (resolveInvokable(selectFn)(item, index, collection) ===
|
|
550
|
+
resolveInvokable(selectFn)(matchItem, matchIndex, matchCollection));
|
|
550
551
|
});
|
|
551
552
|
});
|
|
552
553
|
}
|
|
@@ -603,7 +604,7 @@ export class ListCollection {
|
|
|
603
604
|
return new ListCollection([...this.array, ...iterable]);
|
|
604
605
|
}
|
|
605
606
|
insertBefore(predicateFn, iterable) {
|
|
606
|
-
const index = this.array.findIndex((item, index) => predicateFn(item, index, this));
|
|
607
|
+
const index = this.array.findIndex((item, index) => resolveInvokable(predicateFn)(item, index, this));
|
|
607
608
|
if (index === -1) {
|
|
608
609
|
return new ListCollection(this.array);
|
|
609
610
|
}
|
|
@@ -612,7 +613,7 @@ export class ListCollection {
|
|
|
612
613
|
return new ListCollection(newArray);
|
|
613
614
|
}
|
|
614
615
|
insertAfter(predicateFn, iterable) {
|
|
615
|
-
const index = this.array.findIndex((item, index) => predicateFn(item, index, this));
|
|
616
|
+
const index = this.array.findIndex((item, index) => resolveInvokable(predicateFn)(item, index, this));
|
|
616
617
|
if (index === -1) {
|
|
617
618
|
return new ListCollection(this.array);
|
|
618
619
|
}
|
|
@@ -662,7 +663,10 @@ export class ListCollection {
|
|
|
662
663
|
return new ListCollection(items);
|
|
663
664
|
}
|
|
664
665
|
sort(comparator) {
|
|
665
|
-
|
|
666
|
+
if (comparator === undefined) {
|
|
667
|
+
return new ListCollection(this.array.sort());
|
|
668
|
+
}
|
|
669
|
+
return new ListCollection(this.array.sort(resolveInvokable(comparator)));
|
|
666
670
|
}
|
|
667
671
|
reverse(_chunkSize) {
|
|
668
672
|
return new ListCollection([...this.array].reverse());
|
|
@@ -687,7 +691,7 @@ export class ListCollection {
|
|
|
687
691
|
firstOr(defaultValue, predicateFn) {
|
|
688
692
|
if (predicateFn) {
|
|
689
693
|
for (const [index, item] of this.array.entries()) {
|
|
690
|
-
if (predicateFn(item, index, this)) {
|
|
694
|
+
if (resolveInvokable(predicateFn)(item, index, this)) {
|
|
691
695
|
return item;
|
|
692
696
|
}
|
|
693
697
|
}
|
|
@@ -714,7 +718,7 @@ export class ListCollection {
|
|
|
714
718
|
if (predicateFn) {
|
|
715
719
|
let matchedItem = null;
|
|
716
720
|
for (const [index, item] of this.array.entries()) {
|
|
717
|
-
if (predicateFn(item, index, this)) {
|
|
721
|
+
if (resolveInvokable(predicateFn)(item, index, this)) {
|
|
718
722
|
matchedItem = item;
|
|
719
723
|
}
|
|
720
724
|
}
|
|
@@ -743,7 +747,8 @@ export class ListCollection {
|
|
|
743
747
|
beforeOr(defaultValue, predicateFn) {
|
|
744
748
|
for (const [index, item] of this.array.entries()) {
|
|
745
749
|
const beforeItem = this.array[index - 1];
|
|
746
|
-
if (predicateFn(item, index, this) &&
|
|
750
|
+
if (resolveInvokable(predicateFn)(item, index, this) &&
|
|
751
|
+
beforeItem !== undefined) {
|
|
747
752
|
return beforeItem;
|
|
748
753
|
}
|
|
749
754
|
}
|
|
@@ -762,7 +767,8 @@ export class ListCollection {
|
|
|
762
767
|
afterOr(defaultValue, predicateFn) {
|
|
763
768
|
for (const [index, item] of this.array.entries()) {
|
|
764
769
|
const beforeItem = this.array[index + 1];
|
|
765
|
-
if (predicateFn(item, index, this) &&
|
|
770
|
+
if (resolveInvokable(predicateFn)(item, index, this) &&
|
|
771
|
+
beforeItem !== undefined) {
|
|
766
772
|
return beforeItem;
|
|
767
773
|
}
|
|
768
774
|
}
|
|
@@ -778,7 +784,7 @@ export class ListCollection {
|
|
|
778
784
|
sole(predicateFn) {
|
|
779
785
|
const matchedItems = [];
|
|
780
786
|
for (const [index, item] of this.array.entries()) {
|
|
781
|
-
if (predicateFn(item, index, this)) {
|
|
787
|
+
if (resolveInvokable(predicateFn)(item, index, this)) {
|
|
782
788
|
matchedItems.push(item);
|
|
783
789
|
}
|
|
784
790
|
if (matchedItems.length > 1) {
|
|
@@ -807,12 +813,12 @@ export class ListCollection {
|
|
|
807
813
|
return this.array.length !== 0;
|
|
808
814
|
}
|
|
809
815
|
searchFirst(predicateFn) {
|
|
810
|
-
return this.array.findIndex((item, index) => predicateFn(item, index, this));
|
|
816
|
+
return this.array.findIndex((item, index) => resolveInvokable(predicateFn)(item, index, this));
|
|
811
817
|
}
|
|
812
818
|
searchLast(predicateFn) {
|
|
813
819
|
let matchedIndex = -1;
|
|
814
820
|
for (const [index, item] of this.array.entries()) {
|
|
815
|
-
if (predicateFn(item, index, this)) {
|
|
821
|
+
if (resolveInvokable(predicateFn)(item, index, this)) {
|
|
816
822
|
matchedIndex = index;
|
|
817
823
|
}
|
|
818
824
|
}
|
|
@@ -820,7 +826,7 @@ export class ListCollection {
|
|
|
820
826
|
}
|
|
821
827
|
forEach(callback) {
|
|
822
828
|
for (const [index, item] of this.array.entries()) {
|
|
823
|
-
callback(item, index, this);
|
|
829
|
+
resolveInvokable(callback)(item, index, this);
|
|
824
830
|
}
|
|
825
831
|
}
|
|
826
832
|
toArray() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/list-collection/list-collection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"list-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/list-collection/list-collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { BaseEvent } from "../../event-bus/contracts/_shared.js";
|
|
5
5
|
import type { InvokableFn } from "../../utilities/_module-exports.js";
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* IMPORT_PATH: ```"@daiso-tech/core/event-bus/contracts"```
|
|
9
|
+
* @group Contracts
|
|
10
|
+
*/
|
|
11
|
+
export type EventListenerFn<TEvent> = InvokableFn<[event: TEvent]>;
|
|
6
12
|
/**
|
|
7
13
|
* The <i>IEventBusAdapter</i> contract defines a way for dispatching and listening to events independent of underlying technology.
|
|
8
14
|
* This contract is not meant to be used directly, instead you should use <i>IEventBus</i>
|
|
@@ -12,13 +18,13 @@ import type { InvokableFn } from "../../utilities/_module-exports.js";
|
|
|
12
18
|
*/
|
|
13
19
|
export type IEventBusAdapter = {
|
|
14
20
|
/**
|
|
15
|
-
* The <i>addListener</i> method is used for adding <i>{@link
|
|
21
|
+
* The <i>addListener</i> method is used for adding <i>{@link EventListenerFn | listener}</i> for certain <i>eventName</i>.
|
|
16
22
|
*/
|
|
17
|
-
addListener(eventName: string, listener:
|
|
23
|
+
addListener(eventName: string, listener: EventListenerFn<BaseEvent>): PromiseLike<void>;
|
|
18
24
|
/**
|
|
19
|
-
* The <i>removeListener</i> method is used for removing <i>{@link
|
|
25
|
+
* The <i>removeListener</i> method is used for removing <i>{@link EventListenerFn | listener}</i> for certain <i>eventName</i>.
|
|
20
26
|
*/
|
|
21
|
-
removeListener(eventName: string, listener:
|
|
27
|
+
removeListener(eventName: string, listener: EventListenerFn<BaseEvent>): PromiseLike<void>;
|
|
22
28
|
/**
|
|
23
29
|
* The <i>dispatch</i> method is used for dispatching one or multiple <i>events</i>.
|
|
24
30
|
*/
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { IInvokableObject, Items, OneOrMore } from "../../utilities/_module-exports.js";
|
|
5
5
|
import type { LazyPromise } from "../../async/_module-exports.js";
|
|
6
6
|
import type { BaseEvent } from "../../event-bus/contracts/_shared.js";
|
|
7
|
+
import type { EventListenerFn } from "../../event-bus/contracts/event-bus-adapter.contract.js";
|
|
7
8
|
/**
|
|
8
9
|
*
|
|
9
10
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus/contracts"```
|
|
@@ -26,6 +27,18 @@ export type EventInstance<TEventClass extends EventClass<BaseEvent>> = TEventCla
|
|
|
26
27
|
* @group Contracts
|
|
27
28
|
*/
|
|
28
29
|
export type Unsubscribe = () => LazyPromise<void>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* IMPORT_PATH: ```"@daiso-tech/core/event-bus/contracts"```
|
|
33
|
+
* @group Contracts
|
|
34
|
+
*/
|
|
35
|
+
export type IEventListenerObject<TEvent> = IInvokableObject<[event: TEvent]>;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* IMPORT_PATH: ```"@daiso-tech/core/event-bus/contracts"```
|
|
39
|
+
* @group Contracts
|
|
40
|
+
*/
|
|
41
|
+
export type EventListener<TEvent> = IEventListenerObject<TEvent> | EventListenerFn<TEvent>;
|
|
29
42
|
/**
|
|
30
43
|
* The <i>IEventListenable</i> contract defines a way listening to events independent of underlying technology
|
|
31
44
|
*
|
|
@@ -38,30 +51,30 @@ export type IEventListenable<TEvents extends BaseEvent = BaseEvent> = {
|
|
|
38
51
|
* The same listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
|
|
39
52
|
* @throws {UnableToAddListenerEventBusError} {@link UnableToAddListenerEventBusError}
|
|
40
53
|
*/
|
|
41
|
-
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
54
|
+
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
42
55
|
/**
|
|
43
56
|
* The <i>addListenerMany</i> method is used for listening to multiple <i>{@link BaseEvent}</i>.
|
|
44
57
|
* The same listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
|
|
45
58
|
* @throws {UnableToAddListenerEventBusError} {@link UnableToAddListenerEventBusError}
|
|
46
59
|
*/
|
|
47
|
-
addListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener:
|
|
60
|
+
addListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: EventListener<EventInstance<Items<TEventClassArr>>>): LazyPromise<void>;
|
|
48
61
|
/**
|
|
49
62
|
* The <i>removeListener</i> method is used for stop listening to a <i>{@link BaseEvent}</i>.
|
|
50
63
|
* Removing unadded listener will have no effect and nothing will occur.
|
|
51
64
|
* @throws {UnableToRemoveListenerEventBusError} {@link UnableToRemoveListenerEventBusError}
|
|
52
65
|
*/
|
|
53
|
-
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
66
|
+
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
54
67
|
/**
|
|
55
68
|
* The <i>removeListener</i> method is used for stop listening to multiple <i>{@link BaseEvent}</i>.
|
|
56
69
|
* Removing unadded listener will have no effect and nothing will occur.
|
|
57
70
|
* @throws {UnableToRemoveListenerEventBusError} {@link UnableToRemoveListenerEventBusError}
|
|
58
71
|
*/
|
|
59
|
-
removeListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener:
|
|
72
|
+
removeListenerMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: EventListener<EventInstance<Items<TEventClassArr>>>): LazyPromise<void>;
|
|
60
73
|
/**
|
|
61
74
|
* The <i>listenOnce</i> method is used for listening to a <i>{@link BaseEvent}</i> once.
|
|
62
75
|
* @throws {UnableToAddListenerEventBusError} {@link UnableToAddListenerEventBusError}
|
|
63
76
|
*/
|
|
64
|
-
listenOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
77
|
+
listenOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
65
78
|
/**
|
|
66
79
|
* The <i>asPromise</i> method returns <i>{@link LazyPromise}</i> objecet that resolves once the <i>{@link BaseEvent}</i> is dispatched.
|
|
67
80
|
* @throws {UnableToAddListenerEventBusError} {@link UnableToAddListenerEventBusError}
|
|
@@ -71,17 +84,17 @@ export type IEventListenable<TEvents extends BaseEvent = BaseEvent> = {
|
|
|
71
84
|
* The <i>subscribeOnce</i> method is used for listening to a <i>{@link BaseEvent}</i> once and it returns a cleanup function that removes listener when called.
|
|
72
85
|
* The same listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
|
|
73
86
|
*/
|
|
74
|
-
subscribeOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
87
|
+
subscribeOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
|
|
75
88
|
/**
|
|
76
89
|
* The <i>subscribe</i> method is used for listening to a <i>{@link BaseEvent}</i> and it returns a cleanup function that removes listener when called.
|
|
77
90
|
* The same listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
|
|
78
91
|
*/
|
|
79
|
-
subscribe<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener:
|
|
92
|
+
subscribe<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): LazyPromise<Unsubscribe>;
|
|
80
93
|
/**
|
|
81
94
|
* The <i>subscribeMany</i> method is used for listening to multiple <i>{@link BaseEvent}</i> and it returns a cleanup function that removes listener when called.
|
|
82
95
|
* The same listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
|
|
83
96
|
*/
|
|
84
|
-
subscribeMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener:
|
|
97
|
+
subscribeMany<TEventClassArr extends EventClass<TEvents>[]>(events: [...TEventClassArr], listener: EventListener<EventInstance<Items<TEventClassArr>>>): LazyPromise<Unsubscribe>;
|
|
85
98
|
};
|
|
86
99
|
/**
|
|
87
100
|
* The <i>IEventDispatcher</i> contract defines a way for dispatching to events independent of underlying technology.
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import type { BaseEvent, IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
4
|
+
import type { BaseEvent, EventListenerFn, IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
5
|
import { EventEmitter } from "node:events";
|
|
7
6
|
/**
|
|
8
7
|
* To utilize the <i>MemoryEventBusAdapter</i>, you must create instance of it.
|
|
@@ -30,7 +29,7 @@ export declare class MemoryEventBusAdapter implements IEventBusAdapter {
|
|
|
30
29
|
* ```
|
|
31
30
|
*/
|
|
32
31
|
constructor(eventEmitter?: EventEmitter);
|
|
33
|
-
addListener(eventName: string, listener:
|
|
34
|
-
removeListener(eventName: string, listener:
|
|
32
|
+
addListener(eventName: string, listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
33
|
+
removeListener(eventName: string, listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
35
34
|
dispatch(eventName: string, eventData: BaseEvent): Promise<void>;
|
|
36
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-event-bus-adapter.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"memory-event-bus-adapter.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAmBT;IAlBrB;;;;;;;;;;;;;;;;OAgBG;IACH,YACqB,eAA6B,IAAI,YAAY,EAAE;QAA/C,iBAAY,GAAZ,YAAY,CAAmC;QAEhE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,WAAW,CACb,SAAiB,EACjB,QAAoC;QAEpC,kEAAkE;QAClE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,cAAc,CAChB,SAAiB,EACjB,QAAoC;QAEpC,kEAAkE;QAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,SAAoB;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;CACJ"}
|
package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import type { BaseEvent } from "../../../../event-bus/contracts/_module-exports.js";
|
|
4
|
+
import type { BaseEvent, EventListenerFn } from "../../../../event-bus/contracts/_module-exports.js";
|
|
5
5
|
import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
|
-
import type { InvokableFn } from "../../../../utilities/types.js";
|
|
7
6
|
/**
|
|
8
7
|
* This <i>NoOpEventBusAdapter</i> will do nothing and is used for easily mocking <i>{@link IEventBus}</i> for testing.
|
|
9
8
|
*
|
|
@@ -11,7 +10,7 @@ import type { InvokableFn } from "../../../../utilities/types.js";
|
|
|
11
10
|
* @group Adapters
|
|
12
11
|
*/
|
|
13
12
|
export declare class NoOpEventBusAdapter implements IEventBusAdapter {
|
|
14
|
-
addListener(_eventName: string, _listener:
|
|
15
|
-
removeListener(_eventName: string, _listener:
|
|
13
|
+
addListener(_eventName: string, _listener: EventListenerFn<BaseEvent>): PromiseLike<void>;
|
|
14
|
+
removeListener(_eventName: string, _listener: EventListenerFn<BaseEvent>): PromiseLike<void>;
|
|
16
15
|
dispatch(_eventName: string, _eventData: BaseEvent): PromiseLike<void>;
|
|
17
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-op-event-bus-adapter.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"no-op-event-bus-adapter.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAC5B,WAAW,CACP,UAAkB,EAClB,SAAqC;QAErC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc,CACV,UAAkB,EAClB,SAAqC;QAErC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,UAAkB,EAAE,UAAqB;QAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ"}
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
4
|
import { type ISerde } from "../../../../serde/contracts/_module-exports.js";
|
|
5
|
-
import type { BaseEvent, IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
5
|
+
import type { BaseEvent, EventListenerFn, IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
6
|
import type { Redis } from "ioredis";
|
|
7
|
-
import { type InvokableFn } from "../../../../utilities/_module-exports.js";
|
|
8
7
|
/**
|
|
9
8
|
*
|
|
10
9
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus/adapters"```
|
|
@@ -46,7 +45,7 @@ export declare class RedisPubSubEventBusAdapter implements IEventBusAdapter {
|
|
|
46
45
|
*/
|
|
47
46
|
constructor({ dispatcherClient, listenerClient, serde, }: RedisPubSubEventBusAdapterSettings);
|
|
48
47
|
private redisListener;
|
|
49
|
-
addListener(eventName: string, listener:
|
|
50
|
-
removeListener(eventName: string, listener:
|
|
48
|
+
addListener(eventName: string, listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
49
|
+
removeListener(eventName: string, listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
51
50
|
dispatch(eventName: string, eventData: BaseEvent): Promise<void>;
|
|
52
51
|
}
|
|
@@ -6,7 +6,6 @@ import { RedisSerde,
|
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
7
|
SuperJsonSerdeAdapter, } from "../../../../serde/implementations/adapters/_module-exports.js";
|
|
8
8
|
import { EventEmitter } from "node:events";
|
|
9
|
-
import {} from "../../../../utilities/_module-exports.js";
|
|
10
9
|
/**
|
|
11
10
|
* To utilize the <i>RedisPubSubEventBusAdapter</i>, you must install the <i>"ioredis"</i> package and supply a <i>{@link ISerde | ISerde<string> }</i>, with a <i>{@link SuperJsonSerdeAdapter}</i>.
|
|
12
11
|
*
|