@daiso-tech/core 0.31.1 → 0.32.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/_module-exports.d.ts +1 -0
- package/dist/async/_module-exports.js +1 -0
- package/dist/async/_module-exports.js.map +1 -1
- package/dist/async/async.events.d.ts +82 -0
- package/dist/async/async.events.js +59 -0
- package/dist/async/async.events.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.d.ts +15 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js +50 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.d.ts +23 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js +44 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +87 -41
- package/dist/async/utilities/lazy-promise/lazy-promise.js +141 -86
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/retry/retry-or-fail.d.ts +1 -1
- package/dist/async/utilities/retry/retry-or-fail.js +1 -1
- package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
- package/dist/async/utilities/retry/retry.d.ts +1 -1
- package/dist/async/utilities/retry/retry.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +13 -8
- package/dist/cache/implementations/derivables/cache/cache.js +7 -23
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +3 -22
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -42
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -8
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +5 -19
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -8
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +9 -28
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +3 -29
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -48
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +14 -8
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +7 -24
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +3 -25
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -47
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/utilities/classes/_module.d.ts +1 -0
- package/dist/utilities/classes/_module.js +1 -0
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/sync-event-bus/_module.d.ts +1 -0
- package/dist/utilities/classes/sync-event-bus/_module.js +2 -0
- package/dist/utilities/classes/sync-event-bus/_module.js.map +1 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +16 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +53 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +1 -0
- package/dist/utilities/contracts/_module.d.ts +1 -0
- package/dist/utilities/contracts/_module.js +1 -0
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +13 -0
- package/dist/utilities/contracts/sync-event-bus-listenable.js +5 -0
- package/dist/utilities/contracts/sync-event-bus-listenable.js.map +1 -0
- package/dist/utilities/functions/invokable.d.ts +4 -0
- package/dist/utilities/functions/invokable.js +9 -0
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { TimeSpan, type AsyncFactoryable, type IKeyPrefixer, type Items } from "../../../../utilities/_module-exports.js";
|
|
4
|
+
import { TimeSpan, type AsyncFactoryable, type IKeyPrefixer, type Items, type Factory, type AsyncLazy } from "../../../../utilities/_module-exports.js";
|
|
5
5
|
import { type OneOrMore } from "../../../../utilities/_module-exports.js";
|
|
6
6
|
import type { IDatabaseLockAdapter, LockEvents } from "../../../../lock/contracts/_module-exports.js";
|
|
7
7
|
import { type ILock, type IGroupableLockProvider, type LockProviderCreateSettings, type ILockProvider, type ILockAdapter } from "../../../../lock/contracts/_module-exports.js";
|
|
8
|
-
import { LazyPromise
|
|
8
|
+
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
9
9
|
import type { EventClass, EventInstance, EventListener, IGroupableEventBus, Unsubscribe } from "../../../../event-bus/contracts/_module-exports.js";
|
|
10
10
|
import type { IFlexibleSerde } from "../../../../serde/contracts/_module-exports.js";
|
|
11
11
|
/**
|
|
@@ -13,8 +13,18 @@ import type { IFlexibleSerde } from "../../../../serde/contracts/_module-exports
|
|
|
13
13
|
* IMPORT_PATH: ```"@daiso-tech/core/lock"```
|
|
14
14
|
* @group Derivables
|
|
15
15
|
*/
|
|
16
|
-
export type LockProviderSettingsBase =
|
|
16
|
+
export type LockProviderSettingsBase = {
|
|
17
17
|
keyPrefixer: IKeyPrefixer;
|
|
18
|
+
/**
|
|
19
|
+
* You can pass a <i>{@link Factory}</i> of <i>{@link LazyPromise}</i> to configure default settings for all <i>{@link LazyPromise}</i> instances used in the <i>LockProvider</i> class.
|
|
20
|
+
* @default
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { LazyPromise } from "@daiso-tech/core/async";
|
|
23
|
+
*
|
|
24
|
+
* (invokable) => new LazyPromise(invokable)
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
lazyPromiseFactory?: Factory<AsyncLazy<any>, LazyPromise<any>>;
|
|
18
28
|
serde: OneOrMore<IFlexibleSerde>;
|
|
19
29
|
/**
|
|
20
30
|
* @default {""}
|
|
@@ -102,11 +112,6 @@ export declare class LockProvider implements IGroupableLockProvider {
|
|
|
102
112
|
private readonly eventBus;
|
|
103
113
|
private readonly adapterFactoryable;
|
|
104
114
|
private readonly adapterPromise;
|
|
105
|
-
private readonly retryAttempts;
|
|
106
|
-
private readonly backoffPolicy;
|
|
107
|
-
private readonly retryPolicy;
|
|
108
|
-
private readonly retryTimeout;
|
|
109
|
-
private readonly totalTimeout;
|
|
110
115
|
private readonly keyPrefixer;
|
|
111
116
|
private readonly createOwnerId;
|
|
112
117
|
private readonly defaultTtl;
|
|
@@ -114,6 +119,7 @@ export declare class LockProvider implements IGroupableLockProvider {
|
|
|
114
119
|
private readonly defaultBlockingTime;
|
|
115
120
|
private readonly defaultRefreshTime;
|
|
116
121
|
private readonly serde;
|
|
122
|
+
private readonly lazyPromiseFactory;
|
|
117
123
|
/**
|
|
118
124
|
* @example
|
|
119
125
|
* ```ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { resolveOneOrMore, TimeSpan, CORE, resolveAsyncFactoryable, } from "../../../../utilities/_module-exports.js";
|
|
4
|
+
import { resolveOneOrMore, TimeSpan, CORE, resolveAsyncFactoryable, resolveFactory, } from "../../../../utilities/_module-exports.js";
|
|
5
5
|
import { KeyPrefixer } from "../../../../utilities/_module-exports.js";
|
|
6
6
|
import {} from "../../../../lock/contracts/_module-exports.js";
|
|
7
|
-
import { LazyPromise
|
|
7
|
+
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
8
8
|
import { isDatabaseLockAdapter } from "../../../../lock/implementations/derivables/lock-provider/is-database-lock-adapter.js";
|
|
9
9
|
import { DatabaseLockAdapter } from "../../../../lock/implementations/derivables/lock-provider/database-lock-adapter.js";
|
|
10
10
|
import { EventBus } from "../../../../event-bus/implementations/derivables/_module-exports.js";
|
|
@@ -55,11 +55,6 @@ export class LockProvider {
|
|
|
55
55
|
eventBus;
|
|
56
56
|
adapterFactoryable;
|
|
57
57
|
adapterPromise;
|
|
58
|
-
retryAttempts;
|
|
59
|
-
backoffPolicy;
|
|
60
|
-
retryPolicy;
|
|
61
|
-
retryTimeout;
|
|
62
|
-
totalTimeout;
|
|
63
58
|
keyPrefixer;
|
|
64
59
|
createOwnerId;
|
|
65
60
|
defaultTtl;
|
|
@@ -67,6 +62,7 @@ export class LockProvider {
|
|
|
67
62
|
defaultBlockingTime;
|
|
68
63
|
defaultRefreshTime;
|
|
69
64
|
serde;
|
|
65
|
+
lazyPromiseFactory;
|
|
70
66
|
/**
|
|
71
67
|
* @example
|
|
72
68
|
* ```ts
|
|
@@ -162,7 +158,7 @@ export class LockProvider {
|
|
|
162
158
|
const { defaultTtl = TimeSpan.fromMinutes(5), defaultBlockingInterval = TimeSpan.fromSeconds(1), defaultBlockingTime = TimeSpan.fromMinutes(1), defaultRefreshTime = TimeSpan.fromMinutes(5), createOwnerId = () => v4(), serde, keyPrefixer, adapter, eventBus: groupableEventBus = new EventBus({
|
|
163
159
|
keyPrefixer: new KeyPrefixer("events"),
|
|
164
160
|
adapter: new MemoryEventBusAdapter(),
|
|
165
|
-
}),
|
|
161
|
+
}), serdeTransformerName = "", lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
|
|
166
162
|
this.serde = serde;
|
|
167
163
|
this.defaultBlockingInterval = defaultBlockingInterval;
|
|
168
164
|
this.defaultBlockingTime = defaultBlockingTime;
|
|
@@ -172,12 +168,8 @@ export class LockProvider {
|
|
|
172
168
|
this.groupableEventBus = groupableEventBus;
|
|
173
169
|
this.adapterFactoryable = adapter;
|
|
174
170
|
this.defaultTtl = defaultTtl;
|
|
175
|
-
this.retryAttempts = retryAttempts;
|
|
176
|
-
this.backoffPolicy = backoffPolicy;
|
|
177
|
-
this.retryPolicy = retryPolicy;
|
|
178
|
-
this.retryTimeout = retryTimeout;
|
|
179
|
-
this.totalTimeout = totalTimeout;
|
|
180
171
|
this.eventBus = this.eventBus = this.groupableEventBus.withGroup(this.keyPrefixer.resolvedRootPrefix);
|
|
172
|
+
this.lazyPromiseFactory = resolveFactory(lazyPromiseFactory);
|
|
181
173
|
if (this.keyPrefixer.resolvedGroup) {
|
|
182
174
|
this.eventBus = this.groupableEventBus.withGroup([
|
|
183
175
|
this.keyPrefixer.resolvedRootPrefix,
|
|
@@ -260,13 +252,7 @@ export class LockProvider {
|
|
|
260
252
|
return this.eventBus.subscribeMany(events, listener);
|
|
261
253
|
}
|
|
262
254
|
createLazyPromise(asyncFn) {
|
|
263
|
-
return new LazyPromise(asyncFn
|
|
264
|
-
retryAttempts: this.retryAttempts,
|
|
265
|
-
backoffPolicy: this.backoffPolicy,
|
|
266
|
-
retryPolicy: this.retryPolicy,
|
|
267
|
-
retryTimeout: this.retryTimeout,
|
|
268
|
-
totalTimeout: this.totalTimeout,
|
|
269
|
-
});
|
|
255
|
+
return new LazyPromise(asyncFn);
|
|
270
256
|
}
|
|
271
257
|
/**
|
|
272
258
|
* @example
|
|
@@ -388,10 +374,7 @@ export class LockProvider {
|
|
|
388
374
|
defaultBlockingInterval: this.defaultBlockingInterval,
|
|
389
375
|
defaultBlockingTime: this.defaultBlockingTime,
|
|
390
376
|
defaultRefreshTime: this.defaultRefreshTime,
|
|
391
|
-
|
|
392
|
-
backoffPolicy: this.backoffPolicy,
|
|
393
|
-
retryPolicy: this.retryPolicy,
|
|
394
|
-
retryTimeout: this.retryTimeout,
|
|
377
|
+
lazyPromiseFactory: this.lazyPromiseFactory,
|
|
395
378
|
});
|
|
396
379
|
}
|
|
397
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-provider.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/lock-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,gBAAgB,EAChB,QAAQ,EAMR,IAAI,EACJ,uBAAuB,
|
|
1
|
+
{"version":3,"file":"lock-provider.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/lock-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import type { BackoffPolicy, RetryPolicy } from "../../../../async/_module-exports.js";
|
|
5
4
|
import type { IGroupableEventBus } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
5
|
import type { ILockProviderFactory, IGroupableLockProvider } from "../../../../lock/contracts/_module-exports.js";
|
|
7
|
-
import type { IKeyPrefixer, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
6
|
+
import type { AsyncLazy, Factory, IKeyPrefixer, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
8
7
|
import { type LockAdapterFactoryable, type LockProviderSettingsBase } from "../../../../lock/implementations/derivables/lock-provider/_module.js";
|
|
8
|
+
import type { LazyPromise } from "../../../../async/_module-exports.js";
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
11
11
|
* IMPORT_PATH: ```"@daiso-tech/core/lock"```
|
|
@@ -76,11 +76,7 @@ export declare class LockProviderFactory<TAdapters extends string> implements IL
|
|
|
76
76
|
setDefaultBlockingInterval(interval: TimeSpan): LockProviderFactory<TAdapters>;
|
|
77
77
|
setDefaultBlockingTime(time: TimeSpan): LockProviderFactory<TAdapters>;
|
|
78
78
|
setDefaultRefreshTime(time: TimeSpan): LockProviderFactory<TAdapters>;
|
|
79
|
-
|
|
80
|
-
setBackoffPolicy(policy: BackoffPolicy): LockProviderFactory<TAdapters>;
|
|
81
|
-
setRetryPolicy(policy: RetryPolicy): LockProviderFactory<TAdapters>;
|
|
82
|
-
setRetryTimeout(timeout: TimeSpan): LockProviderFactory<TAdapters>;
|
|
83
|
-
setTotalTimeout(timeout: TimeSpan): LockProviderFactory<TAdapters>;
|
|
79
|
+
setLazyPromiseFactory(factory: Factory<AsyncLazy<any>, LazyPromise<any>>): LockProviderFactory<TAdapters>;
|
|
84
80
|
/**
|
|
85
81
|
* @example
|
|
86
82
|
* ```ts
|
|
@@ -138,24 +134,6 @@ export declare class LockProviderFactory<TAdapters extends string> implements IL
|
|
|
138
134
|
* .use("sqlite")
|
|
139
135
|
* .create("a")
|
|
140
136
|
* .acquire();
|
|
141
|
-
*
|
|
142
|
-
* // You can reuse the settings
|
|
143
|
-
* const longLivedLockProviderFactory = lockProviderFactory
|
|
144
|
-
* .setDefaultTtl(TimeSpan.fromMinutes(2));
|
|
145
|
-
*
|
|
146
|
-
* await longLivedLockProviderFactory
|
|
147
|
-
* .use()
|
|
148
|
-
* .create("a")
|
|
149
|
-
* .acquire();
|
|
150
|
-
*
|
|
151
|
-
* // You can extend the settings
|
|
152
|
-
* const extendedLockProviderFactory = longLivedLockProviderFactory
|
|
153
|
-
* .setRetryTimeout(TimeSpan.fromSeconds(1));
|
|
154
|
-
*
|
|
155
|
-
* await extendedLockProviderFactory
|
|
156
|
-
* .use()
|
|
157
|
-
* .create("a")
|
|
158
|
-
* .acquire();
|
|
159
137
|
* ```
|
|
160
138
|
*/
|
|
161
139
|
use(adapterName?: TAdapters | undefined): IGroupableLockProvider;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Lock
|
|
3
|
-
*/
|
|
4
1
|
import { DefaultAdapterNotDefinedError, KeyPrefixer, resolveOneOrMore, UnregisteredAdapterError, } from "../../../../utilities/_module-exports.js";
|
|
5
2
|
import { LockProvider, } from "../../../../lock/implementations/derivables/lock-provider/_module.js";
|
|
6
3
|
/**
|
|
@@ -95,34 +92,10 @@ export class LockProviderFactory {
|
|
|
95
92
|
defaultRefreshTime: time,
|
|
96
93
|
});
|
|
97
94
|
}
|
|
98
|
-
|
|
99
|
-
return new LockProviderFactory({
|
|
100
|
-
...this.settings,
|
|
101
|
-
retryAttempts: attempts,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
setBackoffPolicy(policy) {
|
|
105
|
-
return new LockProviderFactory({
|
|
106
|
-
...this.settings,
|
|
107
|
-
backoffPolicy: policy,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
setRetryPolicy(policy) {
|
|
111
|
-
return new LockProviderFactory({
|
|
112
|
-
...this.settings,
|
|
113
|
-
retryPolicy: policy,
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
setRetryTimeout(timeout) {
|
|
95
|
+
setLazyPromiseFactory(factory) {
|
|
117
96
|
return new LockProviderFactory({
|
|
118
97
|
...this.settings,
|
|
119
|
-
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
setTotalTimeout(timeout) {
|
|
123
|
-
return new LockProviderFactory({
|
|
124
|
-
...this.settings,
|
|
125
|
-
totalTimeout: timeout,
|
|
98
|
+
lazyPromiseFactory: factory,
|
|
126
99
|
});
|
|
127
100
|
}
|
|
128
101
|
/**
|
|
@@ -182,24 +155,6 @@ export class LockProviderFactory {
|
|
|
182
155
|
* .use("sqlite")
|
|
183
156
|
* .create("a")
|
|
184
157
|
* .acquire();
|
|
185
|
-
*
|
|
186
|
-
* // You can reuse the settings
|
|
187
|
-
* const longLivedLockProviderFactory = lockProviderFactory
|
|
188
|
-
* .setDefaultTtl(TimeSpan.fromMinutes(2));
|
|
189
|
-
*
|
|
190
|
-
* await longLivedLockProviderFactory
|
|
191
|
-
* .use()
|
|
192
|
-
* .create("a")
|
|
193
|
-
* .acquire();
|
|
194
|
-
*
|
|
195
|
-
* // You can extend the settings
|
|
196
|
-
* const extendedLockProviderFactory = longLivedLockProviderFactory
|
|
197
|
-
* .setRetryTimeout(TimeSpan.fromSeconds(1));
|
|
198
|
-
*
|
|
199
|
-
* await extendedLockProviderFactory
|
|
200
|
-
* .use()
|
|
201
|
-
* .create("a")
|
|
202
|
-
* .acquire();
|
|
203
158
|
* ```
|
|
204
159
|
*/
|
|
205
160
|
use(adapterName = this.settings.defaultAdapter) {
|
package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-provider-factory.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock-provider-factory.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,6BAA6B,EAC7B,WAAW,EACX,gBAAgB,EAChB,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AAOxC,OAAO,EACH,YAAY,GAGf,MAAM,4DAA4D,CAAC;AAwBpE;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IA4CP;IAzCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,YACqB,QAAgD;QAAhD,aAAQ,GAAR,QAAQ,CAAwC;IAClE,CAAC;IAEJ,cAAc,CAAC,WAAyB;QACpC,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,QAAsB;QACnC,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,aAAa,EAAE,QAAQ;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,QAAiC;QAEjC,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,GAAa;QACvB,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,GAAG;SAClB,CAAC,CAAC;IACP,CAAC;IAED,0BAA0B,CACtB,QAAkB;QAElB,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,uBAAuB,EAAE,QAAQ;SACpC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB,CAAC,IAAc;QACjC,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,mBAAmB,EAAE,IAAI;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CAAC,IAAc;QAChC,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,OAAkD;QAElD,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;YACP,WAAW,EAAE,IAAI,WAAW,CAAC;gBACzB,GAAG,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAC;gBACnD,WAAW;aACd,CAAC;YACF,oBAAoB,EAAE,WAAW;SACpC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from "../../utilities/classes/key-prefixer/_module.js";
|
|
2
2
|
export * from "../../utilities/classes/kysely-table-name-transformer-plugin/_module.js";
|
|
3
|
+
export * from "../../utilities/classes/sync-event-bus/_module.js";
|
|
3
4
|
export * from "../../utilities/classes/time-span/_module.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "../../utilities/classes/key-prefixer/_module.js";
|
|
2
2
|
export * from "../../utilities/classes/kysely-table-name-transformer-plugin/_module.js";
|
|
3
|
+
export * from "../../utilities/classes/sync-event-bus/_module.js";
|
|
3
4
|
export * from "../../utilities/classes/time-span/_module.js";
|
|
4
5
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/classes/_module.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qEAAqE,CAAC;AACpF,cAAc,0CAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/classes/_module.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qEAAqE,CAAC;AACpF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../utilities/classes/sync-event-bus/sync-event-bus.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/utilities/classes/sync-event-bus/_module.ts"],"names":[],"mappings":"AAAA,cAAc,sDAAsD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { EventClass, EventInstance, EventListener } from "../../../event-bus/contracts/_module-exports.js";
|
|
5
|
+
import type { BaseEvent } from "../../../event-bus/contracts/_shared.js";
|
|
6
|
+
import type { ISyncEventListenable } from "../../../utilities/contracts/sync-event-bus-listenable.js";
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare class SyncEventBus<TEvents extends BaseEvent> implements ISyncEventListenable<TEvents> {
|
|
11
|
+
private readonly eventMap;
|
|
12
|
+
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
13
|
+
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
14
|
+
dispatch(event: TEvents): void;
|
|
15
|
+
clear(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import { callInvokable, getConstructorName, } from "../../../utilities/_module-exports.js";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export class SyncEventBus {
|
|
9
|
+
eventMap = new Map();
|
|
10
|
+
addListener(event, listener) {
|
|
11
|
+
const eventName = getConstructorName(event);
|
|
12
|
+
let listeners = this.eventMap.get(eventName);
|
|
13
|
+
if (listeners === undefined) {
|
|
14
|
+
listeners = new Set();
|
|
15
|
+
this.eventMap.set(eventName, listeners);
|
|
16
|
+
}
|
|
17
|
+
listeners.add(listener);
|
|
18
|
+
}
|
|
19
|
+
removeListener(event, listener) {
|
|
20
|
+
const eventName = getConstructorName(event);
|
|
21
|
+
const listeners = this.eventMap.get(eventName);
|
|
22
|
+
if (listeners === undefined) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
listeners.delete(listener);
|
|
26
|
+
if (listeners.size === 0) {
|
|
27
|
+
this.eventMap.delete(eventName);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
dispatch(event) {
|
|
31
|
+
const eventName = getConstructorName(event);
|
|
32
|
+
if (this.eventMap.size === 0) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const listeners = this.eventMap.get(eventName);
|
|
36
|
+
if (listeners === undefined) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (listeners.size === 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
for (const listener of listeners) {
|
|
43
|
+
callInvokable(listener, event);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
clear() {
|
|
47
|
+
for (const listeners of this.eventMap.values()) {
|
|
48
|
+
listeners.clear();
|
|
49
|
+
}
|
|
50
|
+
this.eventMap.clear();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=sync-event-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-event-bus.js","sourceRoot":"","sources":["../../../../src/utilities/classes/sync-event-bus/sync-event-bus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EACH,aAAa,EACb,kBAAkB,GACrB,MAAM,gCAAgC,CAAC;AAGxC;;GAEG;AACH,MAAM,OAAO,YAAY;IAGJ,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEvE,WAAW,CACP,KAAkB,EAClB,QAAmD;QAEnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CACV,KAAkB,EAClB,QAAmD;QAEnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAc;QACnB,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,KAAK;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,SAAS,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACJ"}
|
|
@@ -3,3 +3,4 @@ export * from "../../utilities/contracts/initizable.contract.js";
|
|
|
3
3
|
export * from "../../utilities/contracts/prunable.contract.js";
|
|
4
4
|
export * from "../../utilities/contracts/serialized-error.contract.js";
|
|
5
5
|
export * from "../../utilities/contracts/sqlite-database.contract.js";
|
|
6
|
+
export * from "../../utilities/contracts/sync-event-bus-listenable.js";
|
|
@@ -3,4 +3,5 @@ export * from "../../utilities/contracts/initizable.contract.js";
|
|
|
3
3
|
export * from "../../utilities/contracts/prunable.contract.js";
|
|
4
4
|
export * from "../../utilities/contracts/serialized-error.contract.js";
|
|
5
5
|
export * from "../../utilities/contracts/sqlite-database.contract.js";
|
|
6
|
+
export * from "../../utilities/contracts/sync-event-bus-listenable.js";
|
|
6
7
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC"}
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { BaseEvent, EventClass, EventInstance, EventListener } from "../../event-bus/contracts/_module-exports.js";
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* IMPORT_PATH: ```"@daiso-tech/core/utilities"```
|
|
8
|
+
* @group Contracts
|
|
9
|
+
*/
|
|
10
|
+
export type ISyncEventListenable<TEvents extends BaseEvent> = {
|
|
11
|
+
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
12
|
+
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-event-bus-listenable.js","sourceRoot":"","sources":["../../../src/utilities/contracts/sync-event-bus-listenable.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -18,3 +18,7 @@ export declare function isInvokable<TValue, TArgs extends unknown[], TReturn>(in
|
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
20
|
export declare function resolveInvokable<TArgs extends unknown[], TReturn>(invokable: Invokable<TArgs, TReturn>): InvokableFn<TArgs, TReturn>;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare function callInvokable<TArgs extends unknown[], TReturn>(invokable: Invokable<TArgs, TReturn>, ...args: TArgs): TReturn;
|
|
@@ -30,4 +30,13 @@ export function resolveInvokable(invokable) {
|
|
|
30
30
|
}
|
|
31
31
|
return invokable;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export function callInvokable(invokable, ...args) {
|
|
37
|
+
if (isInvokableObject(invokable)) {
|
|
38
|
+
return invokable.invoke(...args);
|
|
39
|
+
}
|
|
40
|
+
return invokable(...args);
|
|
41
|
+
}
|
|
33
42
|
//# sourceMappingURL=invokable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokable.js","sourceRoot":"","sources":["../../../src/utilities/functions/invokable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC7B,SAA6C;IAE7C,MAAM,UAAU,GAAG,SAAoC,CAAC;IACxD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAA6C;IAE7C,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACvB,SAA6C;IAE7C,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,SAAoC;IAEpC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"invokable.js","sourceRoot":"","sources":["../../../src/utilities/functions/invokable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC7B,SAA6C;IAE7C,MAAM,UAAU,GAAG,SAAoC,CAAC;IACxD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAA6C;IAE7C,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACvB,SAA6C;IAE7C,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,SAAoC;IAEpC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAAoC,EACpC,GAAG,IAAW;IAEd,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|