@daiso-tech/core 0.39.0 → 0.40.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/cache/contracts/cache-adapter.contract.d.ts +9 -9
- package/dist/cache/contracts/database-cache-adapter.contract.d.ts +10 -10
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +9 -9
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +3 -3
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +3 -3
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +1 -0
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +26 -26
- 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 +11 -4
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +17 -12
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +17 -20
- 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.js +159 -752
- 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 +52 -14
- package/dist/lock/contracts/lock-adapter.contract.d.ts +29 -8
- package/dist/lock/contracts/lock-adapter.contract.js +10 -1
- package/dist/lock/contracts/lock-adapter.contract.js.map +1 -1
- package/dist/lock/contracts/lock.contract.d.ts +17 -12
- package/dist/lock/contracts/lock.errors.d.ts +10 -0
- package/dist/lock/contracts/lock.errors.js +12 -0
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/contracts/lock.events.d.ts +12 -0
- package/dist/lock/contracts/lock.events.js +1 -0
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +24 -6
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +126 -31
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +20 -7
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +59 -35
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +9 -9
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +150 -78
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +3 -2
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +44 -22
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +42 -10
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +7 -5
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
- 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 +3 -2
- package/dist/lock/implementations/derivables/lock-provider/lock.js +60 -41
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +184 -166
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +240 -41
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +2700 -1510
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.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/package.json +1 -1
|
@@ -12,43 +12,43 @@ export type ICacheAdapter<TType = unknown> = {
|
|
|
12
12
|
/**
|
|
13
13
|
* The `get` method returns the value when `key` is found otherwise null will be returned.
|
|
14
14
|
*/
|
|
15
|
-
get(key: string):
|
|
15
|
+
get(key: string): Promise<TType | null>;
|
|
16
16
|
/**
|
|
17
17
|
* The `getAndRemove` method returns the value when `key` is found otherwise null will be returned.
|
|
18
18
|
* The key will be removed after it is returned.
|
|
19
19
|
*/
|
|
20
|
-
getAndRemove(key: string):
|
|
20
|
+
getAndRemove(key: string): Promise<TType | null>;
|
|
21
21
|
/**
|
|
22
22
|
* The `add` method adds a `key` with given `value` when key doesn't exists. Returns true when key doesn't exists otherwise false will be returned.
|
|
23
23
|
* You can provide a `ttl` value. If null is passed, the item will not expire.
|
|
24
24
|
*/
|
|
25
|
-
add(key: string, value: TType, ttl: TimeSpan | null):
|
|
25
|
+
add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
|
|
26
26
|
/**
|
|
27
27
|
* The `put` method replaces th given `key` with the given `value` and `ttl` if the `key` exists othwerwise it will add the given `value` and `ttl`.
|
|
28
28
|
* Returns true if the `key` where replaced otherwise false is returned.
|
|
29
29
|
*/
|
|
30
|
-
put(key: string, value: TType, ttl: TimeSpan | null):
|
|
30
|
+
put(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
|
|
31
31
|
/**
|
|
32
32
|
* The `update` method updates the given `key` with given `value`. Returns true if the `key` where updated otherwise false will be returned.
|
|
33
33
|
*/
|
|
34
|
-
update(key: string, value: TType):
|
|
34
|
+
update(key: string, value: TType): Promise<boolean>;
|
|
35
35
|
/**
|
|
36
36
|
* The `increment` method increments the given `key` with given `value`. Returns true if the `key` where incremented otherwise false will be returned.
|
|
37
37
|
* If `values` is not defined then it will increment the key with 1.
|
|
38
38
|
* An error will thrown if the key is not a number.
|
|
39
39
|
* @throws {TypeCacheError} {@link TypeCacheError}
|
|
40
40
|
*/
|
|
41
|
-
increment(key: string, value: number):
|
|
41
|
+
increment(key: string, value: number): Promise<boolean>;
|
|
42
42
|
/**
|
|
43
43
|
* The `removeMany` method removes many keys. Returns true if one of the keys where deleted otherwise false is returned.
|
|
44
44
|
*/
|
|
45
|
-
removeMany(keys: string[]):
|
|
45
|
+
removeMany(keys: string[]): Promise<boolean>;
|
|
46
46
|
/**
|
|
47
47
|
* The `removeAll` method removes all keys from the cache.
|
|
48
48
|
*/
|
|
49
|
-
removeAll():
|
|
49
|
+
removeAll(): Promise<void>;
|
|
50
50
|
/**
|
|
51
51
|
* The `removeByKeyPrefix` method removes all the keys in the cache that starts with the given `prefix`.
|
|
52
52
|
*/
|
|
53
|
-
removeByKeyPrefix(prefix: string):
|
|
53
|
+
removeByKeyPrefix(prefix: string): Promise<void>;
|
|
54
54
|
};
|
|
@@ -48,42 +48,42 @@ export type IDatabaseCacheAdapter<TType = unknown> = {
|
|
|
48
48
|
/**
|
|
49
49
|
* The `find` method returns the the `key` data which includs {@link ICacheData | `ICacheData.value`} and {@link ICacheData | `ICacheData.expiration`}.
|
|
50
50
|
*/
|
|
51
|
-
find(key: string):
|
|
51
|
+
find(key: string): Promise<ICacheData<TType> | null>;
|
|
52
52
|
/**
|
|
53
53
|
* The `insert` method inserts the given cache `data`.
|
|
54
54
|
*/
|
|
55
|
-
insert(data: ICacheInsert<TType>):
|
|
55
|
+
insert(data: ICacheInsert<TType>): Promise<void>;
|
|
56
56
|
/**
|
|
57
57
|
* The `upsert` method inserts a key and if the key already exists then key will be updated with new `data.value` and `data.expiration`.
|
|
58
58
|
* The method always returns the old cache data if it exists otherwise null will be returned.
|
|
59
59
|
*/
|
|
60
|
-
upsert(data: ICacheInsert<TType>):
|
|
60
|
+
upsert(data: ICacheInsert<TType>): Promise<ICacheDataExpiration | null>;
|
|
61
61
|
/**
|
|
62
62
|
* The `removeExpiredMany` method updates a expired `key`.
|
|
63
63
|
*/
|
|
64
|
-
updateExpired(data: ICacheInsert<TType>):
|
|
64
|
+
updateExpired(data: ICacheInsert<TType>): Promise<number>;
|
|
65
65
|
/**
|
|
66
66
|
* The `removeExpiredMany` method updates a unexpired `key`.
|
|
67
67
|
*/
|
|
68
|
-
updateUnexpired(data: ICacheUpdate<TType>):
|
|
68
|
+
updateUnexpired(data: ICacheUpdate<TType>): Promise<number>;
|
|
69
69
|
/**
|
|
70
70
|
* The `incrementUnexpired` should always throw an error if the existing item is not a number type.
|
|
71
71
|
*/
|
|
72
|
-
incrementUnexpired(data: ICacheUpdate<number>):
|
|
72
|
+
incrementUnexpired(data: ICacheUpdate<number>): Promise<number>;
|
|
73
73
|
/**
|
|
74
74
|
* The `removeExpiredMany` method removes multiple expired `keys`.
|
|
75
75
|
*/
|
|
76
|
-
removeExpiredMany(keys: string[]):
|
|
76
|
+
removeExpiredMany(keys: string[]): Promise<number>;
|
|
77
77
|
/**
|
|
78
78
|
* The `removeExpiredMany` method removes multiple unexpired `keys`.
|
|
79
79
|
*/
|
|
80
|
-
removeUnexpiredMany(keys: string[]):
|
|
80
|
+
removeUnexpiredMany(keys: string[]): Promise<number>;
|
|
81
81
|
/**
|
|
82
82
|
* The `removeAll` method removes all keys from the cache.
|
|
83
83
|
*/
|
|
84
|
-
removeAll():
|
|
84
|
+
removeAll(): Promise<void>;
|
|
85
85
|
/**
|
|
86
86
|
* The `removeByKeyPrefix` method removes all the keys in the cache that starts with the given `prefix`.
|
|
87
87
|
*/
|
|
88
|
-
removeByKeyPrefix(prefix: string):
|
|
88
|
+
removeByKeyPrefix(prefix: string): Promise<void>;
|
|
89
89
|
};
|
|
@@ -11,13 +11,13 @@ import type { TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
|
11
11
|
* @group Adapters
|
|
12
12
|
*/
|
|
13
13
|
export declare class NoOpCacheAdapter<TType = unknown> implements ICacheAdapter<TType> {
|
|
14
|
-
get(_key: string):
|
|
15
|
-
getAndRemove(_key: string):
|
|
16
|
-
add(_key: string, _value: TType, _ttl: TimeSpan | null):
|
|
17
|
-
put(_key: string, _value: TType, _ttl: TimeSpan | null):
|
|
18
|
-
update(_key: string, _value: TType):
|
|
19
|
-
increment(_key: string, _value: number):
|
|
20
|
-
removeMany(_keys: string[]):
|
|
21
|
-
removeAll():
|
|
22
|
-
removeByKeyPrefix(_prefix: string):
|
|
14
|
+
get(_key: string): Promise<TType | null>;
|
|
15
|
+
getAndRemove(_key: string): Promise<TType | null>;
|
|
16
|
+
add(_key: string, _value: TType, _ttl: TimeSpan | null): Promise<boolean>;
|
|
17
|
+
put(_key: string, _value: TType, _ttl: TimeSpan | null): Promise<boolean>;
|
|
18
|
+
update(_key: string, _value: TType): Promise<boolean>;
|
|
19
|
+
increment(_key: string, _value: number): Promise<boolean>;
|
|
20
|
+
removeMany(_keys: string[]): Promise<boolean>;
|
|
21
|
+
removeAll(): Promise<void>;
|
|
22
|
+
removeByKeyPrefix(_prefix: string): Promise<void>;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-op-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIN,MAAM,sCAAsC,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IACzB,GAAG,CAAC,IAAY;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,
|
|
1
|
+
{"version":3,"file":"no-op-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIN,MAAM,sCAAsC,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IACzB,GAAG,CAAC,IAAY;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,MAAa,EAAE,IAAqB;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,MAAa,EAAE,IAAqB;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,MAAa;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,MAAc;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,KAAe;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS;QACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,13 +25,13 @@ export type IEventBusAdapter = {
|
|
|
25
25
|
/**
|
|
26
26
|
* The `addListener` method is used for adding {@link EventListenerFn | `listener`} for certain `eventName`.
|
|
27
27
|
*/
|
|
28
|
-
addListener(eventName: string, listener: EventListenerFn<BaseEvent>):
|
|
28
|
+
addListener(eventName: string, listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
29
29
|
/**
|
|
30
30
|
* The `removeListener` method is used for removing {@link EventListenerFn | `listener`} for certain `eventName`.
|
|
31
31
|
*/
|
|
32
|
-
removeListener(eventName: string, listener: EventListenerFn<BaseEvent>):
|
|
32
|
+
removeListener(eventName: string, listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
33
33
|
/**
|
|
34
34
|
* The `dispatch` method is used for dispatching one or multiple `events`.
|
|
35
35
|
*/
|
|
36
|
-
dispatch(eventName: string, eventData: BaseEvent):
|
|
36
|
+
dispatch(eventName: string, eventData: BaseEvent): Promise<void>;
|
|
37
37
|
};
|
package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module-e
|
|
|
10
10
|
* @group Adapters
|
|
11
11
|
*/
|
|
12
12
|
export declare class NoOpEventBusAdapter implements IEventBusAdapter {
|
|
13
|
-
addListener(_eventName: string, _listener: EventListenerFn<BaseEvent>):
|
|
14
|
-
removeListener(_eventName: string, _listener: EventListenerFn<BaseEvent>):
|
|
15
|
-
dispatch(_eventName: string, _eventData: BaseEvent):
|
|
13
|
+
addListener(_eventName: string, _listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
14
|
+
removeListener(_eventName: string, _listener: EventListenerFn<BaseEvent>): Promise<void>;
|
|
15
|
+
dispatch(_eventName: string, _eventData: BaseEvent): Promise<void>;
|
|
16
16
|
}
|
|
@@ -94,6 +94,7 @@ export declare class EventBus<TEventMap extends BaseEventMap = BaseEventMap> imp
|
|
|
94
94
|
*/
|
|
95
95
|
constructor(settings: EventBusSettings<TEventMap>);
|
|
96
96
|
private createLazyPromise;
|
|
97
|
+
private createWrappedListener;
|
|
97
98
|
addListener<TEventName extends keyof TEventMap>(eventName: TEventName, listener: EventListener<TEventMap[TEventName]>): LazyPromise<void>;
|
|
98
99
|
removeListener<TEventName extends keyof TEventMap>(eventName: TEventName, listener: EventListener<TEventMap[TEventName]>): LazyPromise<void>;
|
|
99
100
|
listenOnce<TEventName extends keyof TEventMap>(eventName: TEventName, listener: EventListener<TEventMap[TEventName]>): LazyPromise<void>;
|
|
@@ -47,32 +47,35 @@ export class EventBus {
|
|
|
47
47
|
createLazyPromise(asyncFn) {
|
|
48
48
|
return this.lazyPromiseFactory(asyncFn);
|
|
49
49
|
}
|
|
50
|
+
createWrappedListener(eventName, listener) {
|
|
51
|
+
return async (event) => {
|
|
52
|
+
try {
|
|
53
|
+
if (this.shouldValidateOutput) {
|
|
54
|
+
await validate(this.eventMapSchema?.[eventName], event);
|
|
55
|
+
}
|
|
56
|
+
await resolveInvokable(listener)(event);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
if (this.__onUncaughtRejection !== undefined) {
|
|
60
|
+
this.__onUncaughtRejection(error);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.error(`An error of type "${String(error)}" occured in listener with name of "${getInvokableName(listener)}" for "${String(eventName)}" event`);
|
|
64
|
+
console.log("ERROR:", error);
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
50
70
|
addListener(eventName, listener) {
|
|
51
71
|
return this.createLazyPromise(async () => {
|
|
52
72
|
const key = this.namespace._getInternal().create(String(eventName));
|
|
53
|
-
const resolvedListener = this.store.getOrAdd(
|
|
54
|
-
try {
|
|
55
|
-
if (this.shouldValidateOutput) {
|
|
56
|
-
await validate(this.eventMapSchema?.[eventName], event);
|
|
57
|
-
}
|
|
58
|
-
await resolveInvokable(listener)(event);
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
if (this.__onUncaughtRejection !== undefined) {
|
|
62
|
-
this.__onUncaughtRejection(error);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
console.error(`An error of type "${String(error)}" occured in listener with name of "${getInvokableName(listener)}" for "${String(eventName)}" event`);
|
|
66
|
-
console.log("ERROR:", error);
|
|
67
|
-
throw error;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
});
|
|
73
|
+
const resolvedListener = this.store.getOrAdd(key.namespaced, listener, this.createWrappedListener(eventName, listener));
|
|
71
74
|
try {
|
|
72
75
|
await this.adapter.addListener(key.namespaced, resolvedListener);
|
|
73
76
|
}
|
|
74
77
|
catch (error) {
|
|
75
|
-
this.store.getAndRemove(
|
|
78
|
+
this.store.getAndRemove(key.namespaced, listener);
|
|
76
79
|
throw error;
|
|
77
80
|
}
|
|
78
81
|
});
|
|
@@ -80,10 +83,7 @@ export class EventBus {
|
|
|
80
83
|
removeListener(eventName, listener) {
|
|
81
84
|
return this.createLazyPromise(async () => {
|
|
82
85
|
const key = this.namespace._getInternal().create(String(eventName));
|
|
83
|
-
const resolvedListener = this.store.getAndRemove(
|
|
84
|
-
key.namespaced,
|
|
85
|
-
listener,
|
|
86
|
-
]);
|
|
86
|
+
const resolvedListener = this.store.getAndRemove(key.namespaced, listener);
|
|
87
87
|
if (resolvedListener === null) {
|
|
88
88
|
return;
|
|
89
89
|
}
|
|
@@ -91,7 +91,7 @@ export class EventBus {
|
|
|
91
91
|
await this.adapter.removeListener(key.namespaced, resolvedListener);
|
|
92
92
|
}
|
|
93
93
|
catch (error) {
|
|
94
|
-
this.store.getOrAdd(
|
|
94
|
+
this.store.getOrAdd(key.namespaced, listener, resolvedListener);
|
|
95
95
|
throw error;
|
|
96
96
|
}
|
|
97
97
|
});
|
|
@@ -121,12 +121,12 @@ export class EventBus {
|
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
const key = this.namespace._getInternal().create(String(eventName));
|
|
124
|
-
const resolvedListener = this.store.getOrAdd(
|
|
124
|
+
const resolvedListener = this.store.getOrAdd(key.namespaced, listener, wrappedListener);
|
|
125
125
|
try {
|
|
126
126
|
await this.adapter.addListener(key.namespaced, resolvedListener);
|
|
127
127
|
}
|
|
128
128
|
catch (error) {
|
|
129
|
-
this.store.getAndRemove(
|
|
129
|
+
this.store.getAndRemove(key.namespaced, listener);
|
|
130
130
|
throw error;
|
|
131
131
|
}
|
|
132
132
|
});
|
|
@@ -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;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQzD,OAAO,EAGN,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACH,gBAAgB,EAChB,SAAS,EACT,QAAQ,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAIN,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AAqEnG;;;;;GAKG;AACH,MAAM,OAAO,QAAQ;IAGA,oBAAoB,CAAU;IAC9B,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAC5B,OAAO,CAAmB;IAC1B,kBAAkB,CAGjC;IACe,SAAS,CAAY;IACrB,cAAc,CAAwC;IAEvE;;OAEG;IACc,qBAAqB,CAA4B;IAElE;;;;;;;;;;OAUG;IACH,YAAY,QAAqC;QAC7C,MAAM,EACF,qBAAqB,EACrB,oBAAoB,GAAG,IAAI,EAC3B,cAAc,EACd,SAAS,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAC7C,OAAO,EACP,kBAAkB,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,GACjE,GAAG,QAAQ,CAAC;QACb,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACvD,CAAC;IAEO,iBAAiB,CACrB,
|
|
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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"}
|
|
@@ -6,8 +6,15 @@ import type { EventListener, EventListenerFn } from "../../../../event-bus/contr
|
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
8
|
export declare class ListenerStore {
|
|
9
|
-
private readonly
|
|
10
|
-
constructor(
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
private readonly listenerMap;
|
|
10
|
+
constructor(listenerMap?: Map<string, Map<EventListener<any>, EventListenerFn<any>>>);
|
|
11
|
+
/**
|
|
12
|
+
* Retrieves the listener if it exists. If the listener doesnt exists it will be added then retrieved.
|
|
13
|
+
*/
|
|
14
|
+
getOrAdd<TInput>(eventName: string, listener: EventListener<TInput>, listenerWrapper: EventListenerFn<TInput>): EventListenerFn<TInput>;
|
|
15
|
+
/**
|
|
16
|
+
* Retrieves the listener if it exists otherwise null is returned.
|
|
17
|
+
* If the listener exists it will be removed.
|
|
18
|
+
*/
|
|
19
|
+
getAndRemove<TInput>(eventName: string, listener: EventListener<TInput>): EventListenerFn<TInput> | null;
|
|
13
20
|
}
|
|
@@ -6,27 +6,32 @@ import { resolveInvokable } from "../../../../utilities/_module-exports.js";
|
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
8
|
export class ListenerStore {
|
|
9
|
-
|
|
10
|
-
constructor(
|
|
11
|
-
this.
|
|
9
|
+
listenerMap;
|
|
10
|
+
constructor(listenerMap = new Map()) {
|
|
11
|
+
this.listenerMap = listenerMap;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Retrieves the listener if it exists. If the listener doesnt exists it will be added then retrieved.
|
|
15
|
+
*/
|
|
16
|
+
getOrAdd(eventName, listener, listenerWrapper) {
|
|
17
|
+
let eventMap = this.listenerMap.get(eventName);
|
|
16
18
|
if (eventMap === undefined) {
|
|
17
19
|
eventMap = new Map();
|
|
18
|
-
this.
|
|
20
|
+
this.listenerMap.set(eventName, eventMap);
|
|
19
21
|
}
|
|
20
22
|
let listenerFn_ = eventMap.get(listener);
|
|
21
23
|
if (listenerFn_ === undefined) {
|
|
22
|
-
listenerFn_ = resolveInvokable(
|
|
24
|
+
listenerFn_ = resolveInvokable(listenerWrapper);
|
|
23
25
|
eventMap.set(listener, listenerFn_);
|
|
24
26
|
}
|
|
25
27
|
return listenerFn_;
|
|
26
28
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves the listener if it exists otherwise null is returned.
|
|
31
|
+
* If the listener exists it will be removed.
|
|
32
|
+
*/
|
|
33
|
+
getAndRemove(eventName, listener) {
|
|
34
|
+
const eventMap = this.listenerMap.get(eventName);
|
|
30
35
|
if (eventMap === undefined) {
|
|
31
36
|
return null;
|
|
32
37
|
}
|
|
@@ -36,7 +41,7 @@ export class ListenerStore {
|
|
|
36
41
|
}
|
|
37
42
|
eventMap.delete(listener);
|
|
38
43
|
if (eventMap.size === 0) {
|
|
39
|
-
this.
|
|
44
|
+
this.listenerMap.delete(eventName);
|
|
40
45
|
}
|
|
41
46
|
return listenerFn;
|
|
42
47
|
}
|
|
@@ -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;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,aAAa;IAED;IADrB,YACqB,
|
|
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,cAAc,IAAI,GAAG,EAGnC;QAHc,gBAAW,GAAX,WAAW,CAGzB;IACJ,CAAC;IAEJ;;OAEG;IACH,QAAQ,CACJ,SAAiB,EACjB,QAA+B,EAC/B,eAAwC;QAExC,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,WAAW,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAChD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,YAAY,CACR,SAAiB,EACjB,QAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,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,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import { describe, } from "vitest";
|
|
4
|
+
import { describe, vi, } from "vitest";
|
|
5
5
|
import {} from "../../../utilities/_module-exports.js";
|
|
6
6
|
import { TimeSpan } from "../../../utilities/_module-exports.js";
|
|
7
7
|
import { LazyPromise } from "../../../async/_module-exports.js";
|
|
@@ -17,40 +17,37 @@ export function eventBusAdapterTestSuite(settings) {
|
|
|
17
17
|
beforeEach(async () => {
|
|
18
18
|
adapter = await createAdapter();
|
|
19
19
|
});
|
|
20
|
+
async function delay(time) {
|
|
21
|
+
await LazyPromise.delay(time);
|
|
22
|
+
}
|
|
20
23
|
const TTL = TimeSpan.fromMilliseconds(50);
|
|
21
24
|
describe("method: addListener, removeListener, dispatch", () => {
|
|
22
25
|
test("Should be null when listener added and event is not triggered", async () => {
|
|
23
|
-
|
|
24
|
-
await adapter.addListener("event",
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
expect(result).toBeNull();
|
|
26
|
+
const handlerFn = vi.fn((_event) => { });
|
|
27
|
+
await adapter.addListener("event", handlerFn);
|
|
28
|
+
expect(handlerFn).not.toHaveBeenCalled();
|
|
28
29
|
});
|
|
29
30
|
test("Should be TestEvent when listener added and event is triggered", async () => {
|
|
30
|
-
|
|
31
|
-
await adapter.addListener("event",
|
|
32
|
-
result = event;
|
|
33
|
-
});
|
|
31
|
+
const handlerFn = vi.fn((_event) => { });
|
|
32
|
+
await adapter.addListener("event", handlerFn);
|
|
34
33
|
const event = {
|
|
35
34
|
type: "event",
|
|
36
35
|
};
|
|
37
36
|
await adapter.dispatch("event", event);
|
|
38
|
-
await
|
|
39
|
-
expect(
|
|
37
|
+
await delay(TTL);
|
|
38
|
+
expect(handlerFn).toHaveBeenCalledTimes(1);
|
|
39
|
+
expect(handlerFn).toHaveBeenCalledWith(event);
|
|
40
40
|
});
|
|
41
41
|
test("Should be null when listener removed and event is triggered", async () => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
46
|
-
await adapter.addListener("event", listener);
|
|
47
|
-
await adapter.removeListener("event", listener);
|
|
42
|
+
const handlerFn = vi.fn((_event) => { });
|
|
43
|
+
await adapter.addListener("event", handlerFn);
|
|
44
|
+
await adapter.removeListener("event", handlerFn);
|
|
48
45
|
const event = {
|
|
49
46
|
type: "event",
|
|
50
47
|
};
|
|
51
48
|
await adapter.dispatch("event", event);
|
|
52
|
-
await
|
|
53
|
-
expect(
|
|
49
|
+
await delay(TTL);
|
|
50
|
+
expect(handlerFn).not.toHaveBeenCalled();
|
|
54
51
|
});
|
|
55
52
|
});
|
|
56
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKH,QAAQ,
|
|
1
|
+
{"version":3,"file":"event-bus-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKH,QAAQ,EACR,EAAE,GACL,MAAM,QAAQ,CAAC;AAKhB,OAAO,EAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAezD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACpC,QAA0C;IAE1C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAE7D,IAAI,OAAyB,CAAC;IAC9B,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,KAAK,CAAC,IAAc;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAC3D,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAiB,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;YAEnD,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAiB,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;YACnD,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAE9C,MAAM,KAAK,GAAG;gBACV,IAAI,EAAE,OAAO;aAChB,CAAC;YACF,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAEjB,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAiB,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;YAEnD,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC9C,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG;gBACV,IAAI,EAAE,OAAO;aAChB,CAAC;YAEF,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAEjB,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|