@daiso-tech/core 0.35.3 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -54
- package/dist/async/backof-policies/_shared.d.ts +8 -2
- package/dist/async/backof-policies/_shared.js +0 -1
- package/dist/async/backof-policies/_shared.js.map +1 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +10 -4
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +10 -4
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +10 -4
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +10 -4
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -1
- package/dist/async/middlewares/fallback/fallback.middleware.d.ts +2 -2
- package/dist/async/middlewares/fallback/fallback.middleware.js +2 -2
- package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -1
- package/dist/async/middlewares/hedging/_shared.d.ts +7 -7
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +7 -7
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -1
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +6 -6
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +1 -1
- package/dist/async/middlewares/observe/observe.middleware.d.ts +4 -4
- package/dist/async/middlewares/retry/retry.middleware.d.ts +5 -4
- package/dist/async/middlewares/retry/retry.middleware.js +9 -9
- package/dist/async/middlewares/retry/retry.middleware.js.map +1 -1
- package/dist/async/middlewares/timeout/timeout.middleware.d.ts +4 -2
- package/dist/async/middlewares/timeout/timeout.middleware.js +3 -1
- package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.js +1 -1
- package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -1
- package/dist/cache/contracts/cache.errors.d.ts +3 -3
- package/dist/cache/contracts/cache.errors.js +1 -1
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +2 -2
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +14 -0
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +3 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +11 -0
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +12 -8
- package/dist/cache/implementations/derivables/cache/cache.js +25 -34
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +6 -41
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +10 -45
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +4 -5
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +11 -12
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/collection/contracts/async-collection.contract.d.ts +121 -121
- package/dist/collection/contracts/collection.contract.d.ts +120 -120
- package/dist/collection/contracts/collection.errors.d.ts +3 -3
- package/dist/collection/contracts/collection.errors.js +1 -1
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/collection/implementations/_shared.d.ts +4 -4
- package/dist/collection/implementations/_shared.js +2 -2
- package/dist/collection/implementations/_shared.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +13 -13
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +15 -15
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +12 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +12 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +12 -12
- package/dist/collection/implementations/list-collection/list-collection.js +12 -12
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +1 -1
- package/dist/event-bus/contracts/event-bus.contract.d.ts +2 -2
- package/dist/event-bus/contracts/event-bus.errors.d.ts +3 -3
- package/dist/event-bus/contracts/event-bus.errors.js +1 -1
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -6
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +21 -19
- 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 +5 -36
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +4 -35
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/lock/contracts/lock.errors.d.ts +2 -2
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -2
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +2 -2
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +6 -3
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +4 -4
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +3 -3
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +22 -18
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +20 -22
- 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 +3 -3
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +12 -6
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -2
- package/dist/lock/implementations/derivables/lock-provider/lock.js +16 -18
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +6 -50
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +10 -54
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +1 -9
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +1 -9
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/contracts/flexible-serde.contract.d.ts +9 -2
- package/dist/utilities/classes/_module.d.ts +1 -1
- package/dist/utilities/classes/_module.js +1 -1
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/hooks/hooks.d.ts +2 -2
- package/dist/utilities/classes/hooks/hooks.js +2 -2
- package/dist/utilities/classes/namespace/_module.d.ts +1 -0
- package/dist/utilities/classes/namespace/_module.js +2 -0
- package/dist/utilities/classes/namespace/_module.js.map +1 -0
- package/dist/utilities/classes/{key-prefixer/key-prefixer.d.ts → namespace/namespace.d.ts} +38 -17
- package/dist/utilities/classes/{key-prefixer/key-prefixer.js → namespace/namespace.js} +51 -19
- package/dist/utilities/classes/namespace/namespace.js.map +1 -0
- package/dist/utilities/classes/time-span/time-span.d.ts +1 -2
- package/dist/utilities/classes/time-span/time-span.js +1 -4
- package/dist/utilities/classes/time-span/time-span.js.map +1 -1
- package/dist/utilities/functions/_module-exports.d.ts +1 -1
- package/dist/utilities/functions/_module-exports.js +1 -1
- package/dist/utilities/functions/_module-exports.js.map +1 -1
- package/dist/utilities/functions/result.d.ts +11 -0
- package/dist/utilities/functions/result.js +15 -0
- package/dist/utilities/functions/result.js.map +1 -0
- package/dist/utilities/types/factory.type.d.ts +13 -18
- package/dist/utilities/types/result.type.d.ts +11 -1
- package/package.json +3 -2
- package/dist/utilities/classes/key-prefixer/_module.d.ts +0 -1
- package/dist/utilities/classes/key-prefixer/_module.js +0 -2
- package/dist/utilities/classes/key-prefixer/_module.js.map +0 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +0 -1
- package/dist/utilities/functions/factory.d.ts +0 -44
- package/dist/utilities/functions/factory.js +0 -80
- package/dist/utilities/functions/factory.js.map +0 -1
|
@@ -4,14 +4,23 @@
|
|
|
4
4
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
5
5
|
import type { BaseEventMap, EventListener, Unsubscribe } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
6
|
import { type IEventBus, type IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
7
|
-
import
|
|
7
|
+
import { Namespace } from "../../../../utilities/_module-exports.js";
|
|
8
|
+
import { type Factory, type AsyncLazy } from "../../../../utilities/_module-exports.js";
|
|
8
9
|
/**
|
|
9
10
|
*
|
|
10
11
|
* IMPORT_PATH: `"@daiso-tech/core/event-bus"`
|
|
11
12
|
* @group Derivables
|
|
12
13
|
*/
|
|
13
14
|
export type EventBusSettingsBase = {
|
|
14
|
-
|
|
15
|
+
/**
|
|
16
|
+
* @default
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { Namespace } from "@daiso-tech/core/utilities";
|
|
19
|
+
*
|
|
20
|
+
* new Namespace(["@", "event-bus"])
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
namespace?: Namespace;
|
|
15
24
|
/**
|
|
16
25
|
* You can pass a {@link Factory | `Factory`} of {@link LazyPromise| `LazyPromise`} to configure default settings for all {@link LazyPromise| `LazyPromise`} instances used in the `EventBus` class.
|
|
17
26
|
* @default
|
|
@@ -37,20 +46,18 @@ export type EventBusSettings = EventBusSettingsBase & {
|
|
|
37
46
|
* IMPORT_PATH: `"@daiso-tech/core/event-bus"`
|
|
38
47
|
* @group Derivables
|
|
39
48
|
*/
|
|
40
|
-
export declare class EventBus<TEventMap extends BaseEventMap> implements IEventBus<TEventMap> {
|
|
49
|
+
export declare class EventBus<TEventMap extends BaseEventMap = BaseEventMap> implements IEventBus<TEventMap> {
|
|
41
50
|
private readonly store;
|
|
42
51
|
private readonly adapter;
|
|
43
52
|
private readonly lazyPromiseFactory;
|
|
44
|
-
private
|
|
53
|
+
private namespace;
|
|
45
54
|
/**
|
|
46
55
|
* @example
|
|
47
56
|
* ```ts
|
|
48
57
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
49
58
|
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
50
|
-
* import { KeyPrefixer } from "@daiso-tech/core/utilities";
|
|
51
59
|
*
|
|
52
60
|
* const eventBus = new EventBus({
|
|
53
|
-
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
54
61
|
* adapter: new MemoryEventBusAdapter()
|
|
55
62
|
* });
|
|
56
63
|
* ```
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
5
5
|
import { UnableToDispatchEventBusError, UnableToRemoveListenerEventBusError, UnableToAddListenerEventBusError, } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
|
-
import {
|
|
6
|
+
import { Namespace } from "../../../../utilities/_module-exports.js";
|
|
7
|
+
import {} from "../../../../utilities/_module-exports.js";
|
|
8
|
+
import { resolveInvokable } from "../../../../utilities/_module-exports.js";
|
|
7
9
|
import { ListenerStore } from "../../../../event-bus/implementations/derivables/event-bus/listener-store.js";
|
|
8
10
|
/**
|
|
9
11
|
* `EventBus` class can be derived from any {@link IEventBusAdapter | `IEventBusAdapter`}.
|
|
@@ -15,56 +17,55 @@ export class EventBus {
|
|
|
15
17
|
store = new ListenerStore();
|
|
16
18
|
adapter;
|
|
17
19
|
lazyPromiseFactory;
|
|
18
|
-
|
|
20
|
+
namespace;
|
|
19
21
|
/**
|
|
20
22
|
* @example
|
|
21
23
|
* ```ts
|
|
22
24
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
23
25
|
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
24
|
-
* import { KeyPrefixer } from "@daiso-tech/core/utilities";
|
|
25
26
|
*
|
|
26
27
|
* const eventBus = new EventBus({
|
|
27
|
-
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
28
28
|
* adapter: new MemoryEventBusAdapter()
|
|
29
29
|
* });
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
constructor(settings) {
|
|
33
|
-
const {
|
|
34
|
-
this.lazyPromiseFactory =
|
|
33
|
+
const { namespace = new Namespace(["@", "event-bus"]), adapter, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
|
|
34
|
+
this.lazyPromiseFactory = resolveInvokable(lazyPromiseFactory);
|
|
35
35
|
this.adapter = adapter;
|
|
36
|
-
this.
|
|
36
|
+
this.namespace = namespace;
|
|
37
37
|
}
|
|
38
38
|
createLazyPromise(asyncFn) {
|
|
39
39
|
return this.lazyPromiseFactory(asyncFn);
|
|
40
40
|
}
|
|
41
41
|
addListener(eventName, listener) {
|
|
42
42
|
return this.createLazyPromise(async () => {
|
|
43
|
-
const key = this.
|
|
44
|
-
const resolvedListener = this.store.getOrAdd([key.
|
|
43
|
+
const key = this.namespace._getInternal().create(String(eventName));
|
|
44
|
+
const resolvedListener = this.store.getOrAdd([key.namespaced, listener], resolveInvokable(listener));
|
|
45
45
|
try {
|
|
46
|
-
await this.adapter.addListener(key.
|
|
46
|
+
await this.adapter.addListener(key.namespaced, resolvedListener);
|
|
47
47
|
}
|
|
48
48
|
catch (error) {
|
|
49
|
-
this.store.getAndRemove([key.
|
|
49
|
+
this.store.getAndRemove([key.namespaced, listener]);
|
|
50
50
|
throw new UnableToAddListenerEventBusError(`A listener with name of "${String(eventName)}" could not added for "${String(eventName)}" event`, error);
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
removeListener(eventName, listener) {
|
|
55
55
|
return this.createLazyPromise(async () => {
|
|
56
|
-
const key = this.
|
|
56
|
+
const key = this.namespace._getInternal().create(String(eventName));
|
|
57
57
|
const resolvedListener = this.store.getAndRemove([
|
|
58
|
-
key.
|
|
58
|
+
key.namespaced,
|
|
59
59
|
listener,
|
|
60
60
|
]);
|
|
61
61
|
if (resolvedListener === null) {
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
64
|
try {
|
|
65
|
-
await this.adapter.removeListener(key.
|
|
65
|
+
await this.adapter.removeListener(key.namespaced, resolvedListener);
|
|
66
66
|
}
|
|
67
67
|
catch (error) {
|
|
68
|
+
this.store.getOrAdd([key.namespaced, listener], resolvedListener);
|
|
68
69
|
throw new UnableToRemoveListenerEventBusError(`A listener with name of "${String(eventName)}" could not removed of "${String(eventName)}" event`, error);
|
|
69
70
|
}
|
|
70
71
|
});
|
|
@@ -80,13 +81,13 @@ export class EventBus {
|
|
|
80
81
|
await this.removeListener(eventName, listener);
|
|
81
82
|
}
|
|
82
83
|
};
|
|
83
|
-
const key = this.
|
|
84
|
-
const resolvedListener = this.store.getOrAdd([key.
|
|
84
|
+
const key = this.namespace._getInternal().create(String(eventName));
|
|
85
|
+
const resolvedListener = this.store.getOrAdd([key.namespaced, listener], wrappedListener);
|
|
85
86
|
try {
|
|
86
|
-
await this.adapter.addListener(key.
|
|
87
|
+
await this.adapter.addListener(key.namespaced, resolvedListener);
|
|
87
88
|
}
|
|
88
89
|
catch (error) {
|
|
89
|
-
this.store.getAndRemove([key.
|
|
90
|
+
this.store.getAndRemove([key.namespaced, listener]);
|
|
90
91
|
throw new UnableToAddListenerEventBusError(`A listener with name of "${String(eventName)}" could not added for "${String(eventName)}" event`, error);
|
|
91
92
|
}
|
|
92
93
|
});
|
|
@@ -121,7 +122,8 @@ export class EventBus {
|
|
|
121
122
|
dispatch(eventName, event) {
|
|
122
123
|
return this.createLazyPromise(async () => {
|
|
123
124
|
try {
|
|
124
|
-
await this.adapter.dispatch(this.
|
|
125
|
+
await this.adapter.dispatch(this.namespace._getInternal().create(String(eventName))
|
|
126
|
+
.namespaced, event);
|
|
125
127
|
}
|
|
126
128
|
catch (error) {
|
|
127
129
|
throw new UnableToDispatchEventBusError(`Events of type "${String(eventName)}" could not be dispatched`, error);
|
|
@@ -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,EAGH,6BAA6B,EAC7B,mCAAmC,EACnC,gCAAgC,GACnC,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { LazyPromise } from "../../../../async/_module-exports.js";
|
|
5
5
|
import { type IEventBus, type IEventBusFactory, type BaseEventMap, type IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
6
|
import { type EventBusSettingsBase } from "../../../../event-bus/implementations/derivables/event-bus/_module.js";
|
|
7
|
-
import type { AsyncLazy, Factory,
|
|
7
|
+
import type { AsyncLazy, Factory, Namespace } from "../../../../utilities/_module-exports.js";
|
|
8
8
|
/**
|
|
9
9
|
*
|
|
10
10
|
* IMPORT_PATH: `"@daiso-tech/core/event-bus"`
|
|
@@ -34,31 +34,18 @@ export declare class EventBusFactory<TAdapters extends string = string> implemen
|
|
|
34
34
|
* import { type IEventBusAdapter, BaseEvent } from "@daiso-tech/core/event-bus/contracts";
|
|
35
35
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
36
36
|
* import { MemoryEventBusAdapter, RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
37
|
-
* import {
|
|
37
|
+
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
38
38
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
39
39
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
40
40
|
* import Redis from "ioredis";
|
|
41
41
|
*
|
|
42
42
|
* type Store = Partial<Record<string, IEventBusAdapter>>;
|
|
43
43
|
*
|
|
44
|
-
* function cahceAdapterFactory(store: Store): FactoryFn<string, IEventBusAdapter> {
|
|
45
|
-
* return (prefix) => {
|
|
46
|
-
* let adapter = store[prefix];
|
|
47
|
-
* if (adapter === undefined) {
|
|
48
|
-
* adapter = new MemoryEventBusAdapter();
|
|
49
|
-
* store[prefix] = adapter;
|
|
50
|
-
* }
|
|
51
|
-
* return adapter;
|
|
52
|
-
* }
|
|
53
|
-
* }
|
|
54
|
-
*
|
|
55
44
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
56
45
|
* const store: Store = {};
|
|
57
46
|
* const eventBusFactory = new EventBusFactory({
|
|
58
|
-
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
59
47
|
* adapters: {
|
|
60
48
|
* memory: new MemoryEventBusAdapter(),
|
|
61
|
-
* memoryFactory: cahceAdapterFactory(store),
|
|
62
49
|
* redis: new RedisPubSubEventBusAdapter({
|
|
63
50
|
* serde,
|
|
64
51
|
* dispatcherClient: new Redis("YOUR_REDIS_CONNECTION_STRING"),
|
|
@@ -70,7 +57,7 @@ export declare class EventBusFactory<TAdapters extends string = string> implemen
|
|
|
70
57
|
* ```
|
|
71
58
|
*/
|
|
72
59
|
constructor(settings: EventBusFactorySettings<TAdapters>);
|
|
73
|
-
|
|
60
|
+
setNamespace(namespace: Namespace): EventBusFactory<TAdapters>;
|
|
74
61
|
setLazyPromiseFactory(factory: Factory<AsyncLazy<any>, LazyPromise<any>>): EventBusFactory<TAdapters>;
|
|
75
62
|
/**
|
|
76
63
|
* @example
|
|
@@ -78,33 +65,15 @@ export declare class EventBusFactory<TAdapters extends string = string> implemen
|
|
|
78
65
|
* import { type IEventBusAdapter, BaseEvent } from "@daiso-tech/core/event-bus/contracts";
|
|
79
66
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
80
67
|
* import { MemoryEventBusAdapter, RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
81
|
-
* import {
|
|
68
|
+
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
82
69
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
83
70
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
84
71
|
* import Redis from "ioredis";
|
|
85
72
|
*
|
|
86
|
-
* type Store = Partial<Record<string, IEventBusAdapter>>;
|
|
87
|
-
*
|
|
88
|
-
* function cahceAdapterFactory(store: Store): FactoryFn<string, IEventBusAdapter> {
|
|
89
|
-
* return (prefix) => {
|
|
90
|
-
* let adapter = store[prefix];
|
|
91
|
-
* if (adapter === undefined) {
|
|
92
|
-
* adapter = new MemoryEventBusAdapter();
|
|
93
|
-
* store[prefix] = adapter;
|
|
94
|
-
* }
|
|
95
|
-
* return adapter;
|
|
96
|
-
* }
|
|
97
|
-
* }
|
|
98
|
-
*
|
|
99
|
-
* const dispatcherClient = new Redis("YOUR_REDIS_CONNECTION_STRING");
|
|
100
|
-
* const listenerClient = new Redis("YOUR_REDIS_CONNECTION_STRING");
|
|
101
73
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
102
|
-
* const store: Store = {};
|
|
103
74
|
* const eventBusFactory = new EventBusFactory({
|
|
104
|
-
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
105
75
|
* adapters: {
|
|
106
76
|
* memory: new MemoryEventBusAdapter(),
|
|
107
|
-
* memoryFactory: cahceAdapterFactory(store),
|
|
108
77
|
* redis: new RedisPubSubEventBusAdapter({
|
|
109
78
|
* serde,
|
|
110
79
|
* dispatcherClient: new Redis("YOUR_REDIS_CONNECTION_STRING"),
|
|
@@ -133,5 +102,5 @@ export declare class EventBusFactory<TAdapters extends string = string> implemen
|
|
|
133
102
|
* .dispatch("add", { a: 1, b: 2 });
|
|
134
103
|
* ```
|
|
135
104
|
*/
|
|
136
|
-
use<TEventMap extends BaseEventMap>(adapterName?: TAdapters | undefined): IEventBus<TEventMap>;
|
|
105
|
+
use<TEventMap extends BaseEventMap = BaseEventMap>(adapterName?: TAdapters | undefined): IEventBus<TEventMap>;
|
|
137
106
|
}
|
|
@@ -18,31 +18,18 @@ export class EventBusFactory {
|
|
|
18
18
|
* import { type IEventBusAdapter, BaseEvent } from "@daiso-tech/core/event-bus/contracts";
|
|
19
19
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
20
20
|
* import { MemoryEventBusAdapter, RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
21
|
-
* import {
|
|
21
|
+
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
22
22
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
23
23
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
24
24
|
* import Redis from "ioredis";
|
|
25
25
|
*
|
|
26
26
|
* type Store = Partial<Record<string, IEventBusAdapter>>;
|
|
27
27
|
*
|
|
28
|
-
* function cahceAdapterFactory(store: Store): FactoryFn<string, IEventBusAdapter> {
|
|
29
|
-
* return (prefix) => {
|
|
30
|
-
* let adapter = store[prefix];
|
|
31
|
-
* if (adapter === undefined) {
|
|
32
|
-
* adapter = new MemoryEventBusAdapter();
|
|
33
|
-
* store[prefix] = adapter;
|
|
34
|
-
* }
|
|
35
|
-
* return adapter;
|
|
36
|
-
* }
|
|
37
|
-
* }
|
|
38
|
-
*
|
|
39
28
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
40
29
|
* const store: Store = {};
|
|
41
30
|
* const eventBusFactory = new EventBusFactory({
|
|
42
|
-
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
43
31
|
* adapters: {
|
|
44
32
|
* memory: new MemoryEventBusAdapter(),
|
|
45
|
-
* memoryFactory: cahceAdapterFactory(store),
|
|
46
33
|
* redis: new RedisPubSubEventBusAdapter({
|
|
47
34
|
* serde,
|
|
48
35
|
* dispatcherClient: new Redis("YOUR_REDIS_CONNECTION_STRING"),
|
|
@@ -56,10 +43,10 @@ export class EventBusFactory {
|
|
|
56
43
|
constructor(settings) {
|
|
57
44
|
this.settings = settings;
|
|
58
45
|
}
|
|
59
|
-
|
|
46
|
+
setNamespace(namespace) {
|
|
60
47
|
return new EventBusFactory({
|
|
61
48
|
...this.settings,
|
|
62
|
-
|
|
49
|
+
namespace,
|
|
63
50
|
});
|
|
64
51
|
}
|
|
65
52
|
setLazyPromiseFactory(factory) {
|
|
@@ -74,33 +61,15 @@ export class EventBusFactory {
|
|
|
74
61
|
* import { type IEventBusAdapter, BaseEvent } from "@daiso-tech/core/event-bus/contracts";
|
|
75
62
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
76
63
|
* import { MemoryEventBusAdapter, RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
77
|
-
* import {
|
|
64
|
+
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
78
65
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
79
66
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
80
67
|
* import Redis from "ioredis";
|
|
81
68
|
*
|
|
82
|
-
* type Store = Partial<Record<string, IEventBusAdapter>>;
|
|
83
|
-
*
|
|
84
|
-
* function cahceAdapterFactory(store: Store): FactoryFn<string, IEventBusAdapter> {
|
|
85
|
-
* return (prefix) => {
|
|
86
|
-
* let adapter = store[prefix];
|
|
87
|
-
* if (adapter === undefined) {
|
|
88
|
-
* adapter = new MemoryEventBusAdapter();
|
|
89
|
-
* store[prefix] = adapter;
|
|
90
|
-
* }
|
|
91
|
-
* return adapter;
|
|
92
|
-
* }
|
|
93
|
-
* }
|
|
94
|
-
*
|
|
95
|
-
* const dispatcherClient = new Redis("YOUR_REDIS_CONNECTION_STRING");
|
|
96
|
-
* const listenerClient = new Redis("YOUR_REDIS_CONNECTION_STRING");
|
|
97
69
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
98
|
-
* const store: Store = {};
|
|
99
70
|
* const eventBusFactory = new EventBusFactory({
|
|
100
|
-
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
101
71
|
* adapters: {
|
|
102
72
|
* memory: new MemoryEventBusAdapter(),
|
|
103
|
-
* memoryFactory: cahceAdapterFactory(store),
|
|
104
73
|
* redis: new RedisPubSubEventBusAdapter({
|
|
105
74
|
* serde,
|
|
106
75
|
* dispatcherClient: new Redis("YOUR_REDIS_CONNECTION_STRING"),
|
package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-factory.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAKN,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,QAAQ,GAEX,MAAM,6DAA6D,CAAC;AAMrE,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AAuBxC;;;;;GAKG;AACH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"event-bus-factory.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAKN,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,QAAQ,GAEX,MAAM,6DAA6D,CAAC;AAMrE,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AAuBxC;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAgCH;IA7BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YACqB,QAA4C;QAA5C,aAAQ,GAAR,QAAQ,CAAoC;IAC9D,CAAC;IAEJ,YAAY,CAAC,SAAoB;QAC7B,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,OAAkD;QAElD,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClE,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,OAAO,IAAI,QAAQ,CAAC;YAChB,OAAO;YACP,GAAG,IAAI,CAAC,QAAQ;SACnB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
4
|
import { type ISerializedError, type OneOrMore } from "../../utilities/_module-exports.js";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ISerderRegister, ISerializable } from "../../serde/contracts/_module-exports.js";
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
8
|
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
@@ -97,4 +97,4 @@ export declare const LOCK_ERRORS: {
|
|
|
97
97
|
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
98
98
|
* @group Errors
|
|
99
99
|
*/
|
|
100
|
-
export declare function registerLockErrorsToSerde(serde: OneOrMore<
|
|
100
|
+
export declare function registerLockErrorsToSerde(serde: OneOrMore<ISerderRegister>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module-exports.js";
|
|
5
5
|
import type { Kysely } from "kysely";
|
|
6
|
-
import { type IDeinitizable, type IInitizable, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
6
|
+
import { type IDeinitizable, type IInitizable, type IPrunable, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
7
7
|
/**
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
@@ -29,7 +29,7 @@ type KyselySettings = {
|
|
|
29
29
|
/**
|
|
30
30
|
* @internal
|
|
31
31
|
*/
|
|
32
|
-
export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
32
|
+
export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable, IPrunable {
|
|
33
33
|
private readonly database;
|
|
34
34
|
private readonly expiredKeysRemovalInterval;
|
|
35
35
|
private readonly shouldRemoveExpiredKeys;
|
|
@@ -37,7 +37,7 @@ export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
37
37
|
constructor(settings: KyselySettings);
|
|
38
38
|
deInit(): Promise<void>;
|
|
39
39
|
init(): Promise<void>;
|
|
40
|
-
|
|
40
|
+
removeAllExpired(): Promise<void>;
|
|
41
41
|
insert(key: string, owner: string, expiration: Date | null): Promise<void>;
|
|
42
42
|
update(key: string, owner: string, expiration: Date | null): Promise<number>;
|
|
43
43
|
remove(key: string, owner: string | null): Promise<void>;
|
|
@@ -43,11 +43,11 @@ export class KyselyLockAdapter {
|
|
|
43
43
|
.execute();
|
|
44
44
|
if (this.shouldRemoveExpiredKeys) {
|
|
45
45
|
this.timeoutId = setTimeout(() => {
|
|
46
|
-
void this.
|
|
46
|
+
void this.removeAllExpired();
|
|
47
47
|
}, this.expiredKeysRemovalInterval.toMilliseconds());
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
async
|
|
50
|
+
async removeAllExpired() {
|
|
51
51
|
await this.database
|
|
52
52
|
.deleteFrom("lock")
|
|
53
53
|
.where("lock.expiresAt", "<=", new Date().getTime())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kysely-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,
|
|
1
|
+
{"version":3,"file":"kysely-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
4
|
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module-exports.js";
|
|
5
|
-
import { type IDeinitizable, type IInitizable, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
5
|
+
import { type IDeinitizable, type IInitizable, type IPrunable, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
6
6
|
import type { Client } from "@libsql/client";
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
@@ -24,7 +24,7 @@ export type LibsqlLockAdapterSettings = {
|
|
|
24
24
|
* IMPORT_PATH: `"@daiso-tech/core/lock/adapters"`
|
|
25
25
|
* @group Adapters
|
|
26
26
|
*/
|
|
27
|
-
export declare class LibsqlLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
27
|
+
export declare class LibsqlLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable, IPrunable {
|
|
28
28
|
private databaseLockAdapter;
|
|
29
29
|
/***
|
|
30
30
|
* @example
|
|
@@ -41,7 +41,7 @@ export declare class LibsqlLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
43
|
constructor(settings: LibsqlLockAdapterSettings);
|
|
44
|
-
|
|
44
|
+
removeAllExpired(): Promise<void>;
|
|
45
45
|
/**
|
|
46
46
|
* Removes the table where the lock keys are stored and removes the table indexes.
|
|
47
47
|
* Note all lock data will be removed.
|
|
@@ -48,8 +48,8 @@ export class LibsqlLockAdapter {
|
|
|
48
48
|
shouldRemoveExpiredKeys,
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
-
async
|
|
52
|
-
await this.databaseLockAdapter.
|
|
51
|
+
async removeAllExpired() {
|
|
52
|
+
await this.databaseLockAdapter.removeAllExpired();
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Removes the table where the lock keys are stored and removes the table indexes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsql-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,
|
|
1
|
+
{"version":3,"file":"libsql-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAIH,QAAQ,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AAenG;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IAGlB,mBAAmB,CAAoB;IAE/C;;;;;;;;;;;;;OAaG;IACH,YAAY,QAAmC;QAC3C,MAAM,EACF,QAAQ,EACR,SAAS,GAAG,MAAM,EAClB,0BAA0B,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EACpD,uBAAuB,GAAG,IAAI,GACjC,GAAG,QAAQ,CAAC;QAEb,IAAI,CAAC,mBAAmB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,QAAQ,EAAE,IAAI,MAAM,CAAC;gBACjB,OAAO,EAAE,IAAI,aAAa,CAAC;oBACvB,MAAM,EAAE,QAAQ;iBACI,CAAC;gBACzB,OAAO,EAAE;oBACL,IAAI,gCAAgC,CAAC;wBACjC,IAAI,EAAE,SAAS;qBAClB,CAAC;iBACL;aACJ,CAAC;YACF,0BAA0B;YAC1B,uBAAuB;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAW,EACX,KAAa,EACb,UAAuB;QAEvB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAW,EACX,KAAa,EACb,UAAuB;QAEvB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAoB;QAC1C,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CACT,GAAW,EACX,KAAa,EACb,UAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QAClB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { type IDeinitizable, type IInitizable } from "../../../../utilities/_module-exports.js";
|
|
4
|
+
import { type IDeinitizable, type IInitizable, type IPrunable } from "../../../../utilities/_module-exports.js";
|
|
5
5
|
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module-exports.js";
|
|
6
6
|
import type { CollectionOptions, Db } from "mongodb";
|
|
7
7
|
/**
|
|
@@ -11,6 +11,9 @@ import type { CollectionOptions, Db } from "mongodb";
|
|
|
11
11
|
*/
|
|
12
12
|
export type MongodbLockAdapterSettings = {
|
|
13
13
|
database: Db;
|
|
14
|
+
/**
|
|
15
|
+
* @default {"lock"}
|
|
16
|
+
*/
|
|
14
17
|
collectionName?: string;
|
|
15
18
|
collectionSettings?: CollectionOptions;
|
|
16
19
|
};
|
|
@@ -22,7 +25,7 @@ export type MongodbLockAdapterSettings = {
|
|
|
22
25
|
* IMPORT_PATH: `"@daiso-tech/core/lock/adapters"`
|
|
23
26
|
* @group Adapters
|
|
24
27
|
*/
|
|
25
|
-
export declare class MongodbLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
28
|
+
export declare class MongodbLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable, IPrunable {
|
|
26
29
|
private readonly database;
|
|
27
30
|
private readonly collection;
|
|
28
31
|
private readonly collectionName;
|
|
@@ -42,7 +45,7 @@ export declare class MongodbLockAdapter implements IDatabaseLockAdapter, IDeinit
|
|
|
42
45
|
* ```
|
|
43
46
|
*/
|
|
44
47
|
constructor({ collectionName, collectionSettings, database, }: MongodbLockAdapterSettings);
|
|
45
|
-
|
|
48
|
+
removeAllExpired(): Promise<void>;
|
|
46
49
|
/**
|
|
47
50
|
* Creates all related indexes.
|
|
48
51
|
* Note the `init` method needs to be called before using the adapter.
|
|
@@ -36,7 +36,7 @@ export class MongodbLockAdapter {
|
|
|
36
36
|
this.database = database;
|
|
37
37
|
this.collection = database.collection(collectionName, collectionSettings);
|
|
38
38
|
}
|
|
39
|
-
async
|
|
39
|
+
async removeAllExpired() {
|
|
40
40
|
await this.collection.deleteMany({
|
|
41
41
|
expiresAt: {
|
|
42
42
|
$lte: new Date(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"mongodb-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
4
|
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module-exports.js";
|
|
5
|
-
import { type IDeinitizable, type IInitizable, type ISqliteDatabase, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
5
|
+
import { type IDeinitizable, type IInitizable, type IPrunable, type ISqliteDatabase, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
8
|
* IMPORT_PATH: `"@daiso-tech/core/lock/adapters"`
|
|
@@ -18,12 +18,12 @@ export type SqliteLockAdapterSettings = {
|
|
|
18
18
|
* To utilize the `SqliteLockAdapter`, you must install the `"better-sqlite3"` and `"@types/better-sqlite3"` packages.
|
|
19
19
|
*
|
|
20
20
|
* Note the `SqliteLockAdapter` is limited to single server usage and cannot be shared across multiple servers but it can be shared between different processes.
|
|
21
|
-
* To use it correctly, ensure all process instances access the same
|
|
21
|
+
* To use it correctly, ensure all process instances access the same persisted database.
|
|
22
22
|
*
|
|
23
23
|
* IMPORT_PATH: `"@daiso-tech/core/lock/adapters"`
|
|
24
24
|
* @group Adapters
|
|
25
25
|
*/
|
|
26
|
-
export declare class SqliteLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
26
|
+
export declare class SqliteLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable, IPrunable {
|
|
27
27
|
private databaseLockAdapter;
|
|
28
28
|
/**
|
|
29
29
|
* @example
|
|
@@ -40,7 +40,7 @@ export declare class SqliteLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
42
42
|
constructor(settings: SqliteLockAdapterSettings);
|
|
43
|
-
|
|
43
|
+
removeAllExpired(): Promise<void>;
|
|
44
44
|
/**
|
|
45
45
|
* Removes the table where the lock keys are stored and removes the table indexes.
|
|
46
46
|
* Note all lock data will be removed.
|