@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus.test-suite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-bus.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus.test-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,24 @@
|
|
|
6
6
|
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
7
7
|
* @group Contracts
|
|
8
8
|
*/
|
|
9
|
-
export type
|
|
10
|
-
|
|
9
|
+
export type ILockExpirationData = {
|
|
10
|
+
/**
|
|
11
|
+
* The expiration date and time of the lock.
|
|
12
|
+
* `null` indicates the lock does not expire.
|
|
13
|
+
*/
|
|
11
14
|
expiration: Date | null;
|
|
12
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
19
|
+
* @group Contracts
|
|
20
|
+
*/
|
|
21
|
+
export type ILockData = ILockExpirationData & {
|
|
22
|
+
/**
|
|
23
|
+
* The identifier of the entity currently holding the lock.
|
|
24
|
+
*/
|
|
25
|
+
owner: string;
|
|
26
|
+
};
|
|
13
27
|
/**
|
|
14
28
|
* The `IDatabaseLockAdapter` contract defines a way for managing locks independent of data storage.
|
|
15
29
|
* This contract simplifies the implementation of lock adapters with CRUD-based databases, such as SQL databases and ORMs like TypeOrm and MikroOrm.
|
|
@@ -19,27 +33,51 @@ export type ILockData = {
|
|
|
19
33
|
*/
|
|
20
34
|
export type IDatabaseLockAdapter = {
|
|
21
35
|
/**
|
|
22
|
-
*
|
|
36
|
+
* Inserts a new lock into the database.
|
|
37
|
+
*
|
|
38
|
+
* @param key The unique identifier for the lock.
|
|
39
|
+
* @param owner The identifier of the entity acquiring the lock.
|
|
40
|
+
* @param expiration The date and time when the lock should expire. Use `null` for a lock that doesn't expire.
|
|
23
41
|
*/
|
|
24
|
-
insert(key: string, owner: string, expiration: Date | null):
|
|
42
|
+
insert(key: string, owner: string, expiration: Date | null): Promise<void>;
|
|
25
43
|
/**
|
|
26
|
-
*
|
|
44
|
+
* Conditionally renews the lock on `key` if it has already expired, setting a new `owner` and `expiration`.
|
|
45
|
+
* Note you need to check if the expiration field is not null and greater than or equal to current time.
|
|
27
46
|
*
|
|
28
|
-
* @
|
|
47
|
+
* @param key The unique identifier for the lock.
|
|
48
|
+
* @param owner The new identifier for the entity acquiring the lock.
|
|
49
|
+
* @param expiration The new date and time when the lock should expire. Use `null` for a lock that doesn't expire.
|
|
50
|
+
* @returns Returns number of updated.
|
|
29
51
|
*/
|
|
30
|
-
|
|
52
|
+
updateIfExpired(key: string, owner: string, expiration: Date | null): Promise<number>;
|
|
31
53
|
/**
|
|
32
|
-
*
|
|
54
|
+
* Removes a lock from the database regardless of its owner.
|
|
55
|
+
*
|
|
56
|
+
* @param key The unique identifier for the lock to remove.
|
|
33
57
|
*/
|
|
34
|
-
remove(key: string
|
|
58
|
+
remove(key: string): Promise<ILockExpirationData | null>;
|
|
35
59
|
/**
|
|
36
|
-
*
|
|
60
|
+
* Removes a lock from the database only if it is currently held by the specified owner.
|
|
37
61
|
*
|
|
38
|
-
* @
|
|
62
|
+
* @param key The unique identifier for the lock.
|
|
63
|
+
* @param owner The identifier of the expected owner.
|
|
64
|
+
* @returns Returns {@link ILockExpirationData |`ILockExpirationData | null`}. The {@link ILockExpirationData |`ILockExpirationData`} data if successfully removed, otherwise `null` if the lock wasn't found or the owner didn't match.
|
|
39
65
|
*/
|
|
40
|
-
|
|
66
|
+
removeIfOwner(key: string, owner: string): Promise<ILockData | null>;
|
|
41
67
|
/**
|
|
42
|
-
*
|
|
68
|
+
* Updates the expiration date of a lock if it is currently held by the specified owner.
|
|
69
|
+
*
|
|
70
|
+
* @param key The unique identifier for the lock.
|
|
71
|
+
* @param owner The identifier of the expected owner.
|
|
72
|
+
* @param expiration The new date and time when the lock should expire.
|
|
73
|
+
* @returns Returns a number greater than or equal to `1` if the lock's expiration was updated, or `0` if the lock wasn't found or the owner didn't match.
|
|
74
|
+
*/
|
|
75
|
+
updateExpirationIfOwner(key: string, owner: string, expiration: Date): Promise<number>;
|
|
76
|
+
/**
|
|
77
|
+
* Retrieves the current lock data for a given key.
|
|
78
|
+
*
|
|
79
|
+
* @param key The unique identifier for the lock.
|
|
80
|
+
* @returns Returns the lock's owner and expiration data if found, otherwise `null`.
|
|
43
81
|
*/
|
|
44
|
-
find(key: string):
|
|
82
|
+
find(key: string): Promise<ILockData | null>;
|
|
45
83
|
};
|
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
4
|
import type { TimeSpan } from "../../utilities/_module-exports.js";
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
8
|
+
* @group Contracts
|
|
9
|
+
*/
|
|
10
|
+
export declare const LOCK_REFRESH_RESULT: {
|
|
11
|
+
readonly REFRESHED: "refreshed";
|
|
12
|
+
readonly UNOWNED_REFRESH: "unonwned_refresh";
|
|
13
|
+
readonly UNEXPIRABLE_KEY: "unexpireable_key";
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
18
|
+
* @group Contracts
|
|
19
|
+
*/
|
|
20
|
+
export type LockRefreshResult = (typeof LOCK_REFRESH_RESULT)[keyof typeof LOCK_REFRESH_RESULT];
|
|
5
21
|
/**
|
|
6
22
|
* The `ILockAdapter` contract defines a way for managing locks independent of the underlying technology.
|
|
7
23
|
* This contract is not meant to be used directly, instead you should use {@link ILockProvider | `ILockProvider`} contract.
|
|
@@ -11,24 +27,29 @@ import type { TimeSpan } from "../../utilities/_module-exports.js";
|
|
|
11
27
|
*/
|
|
12
28
|
export type ILockAdapter = {
|
|
13
29
|
/**
|
|
14
|
-
* The `acquire` method acquires a lock only if the lock is not
|
|
30
|
+
* The `acquire` method acquires a lock only if the lock is not acquired.
|
|
15
31
|
*
|
|
16
|
-
* @returns Returns true if not already acquired
|
|
32
|
+
* @returns Returns true if lock is not already acquired or false.
|
|
17
33
|
*/
|
|
18
|
-
acquire(key: string, owner: string, ttl: TimeSpan | null):
|
|
34
|
+
acquire(key: string, owner: string, ttl: TimeSpan | null): Promise<boolean>;
|
|
19
35
|
/**
|
|
20
36
|
* The `release` method releases a lock if the owner matches.
|
|
21
37
|
*
|
|
22
38
|
* @returns Returns true if released otherwise false is returned.
|
|
23
39
|
*/
|
|
24
|
-
release(key: string, owner: string):
|
|
40
|
+
release(key: string, owner: string): Promise<boolean>;
|
|
25
41
|
/**
|
|
26
42
|
* The `forceRelease` method releases a lock regardless of the owner.
|
|
43
|
+
*
|
|
44
|
+
* @returns Returns true if the lock was released or false if the lock doesnt exists
|
|
27
45
|
*/
|
|
28
|
-
forceRelease(key: string):
|
|
46
|
+
forceRelease(key: string): Promise<boolean>;
|
|
29
47
|
/**
|
|
30
|
-
* The `refresh` method will upadte `ttl` of lock if it matches the given `key` and
|
|
31
|
-
*
|
|
48
|
+
* The `refresh` method will upadte `ttl` of lock if it matches the given `key`, given `owner` and is expireable.
|
|
49
|
+
* @returns
|
|
50
|
+
* - {@link LOCK_REFRESH_RESULT.UNOWNED_REFRESH | `LOCK_REFRESH_RESULT.UNOWNED_REFRESH`}: The lock doesn't exist or is owned by a different owner.
|
|
51
|
+
* - {@link LOCK_REFRESH_RESULT.UNEXPIRABLE_KEY | `LOCK_REFRESH_RESULT.UNEXPIRABLE_KEY`}: The lock is owned by the same owner but cannot be refreshed because it's unexpirable.
|
|
52
|
+
* - {@link LOCK_REFRESH_RESULT.REFRESHED | `LOCK_REFRESH_RESULT.REFRESHED`}: The lock is owned by the same owner and its ttl has been updated.
|
|
32
53
|
*/
|
|
33
|
-
refresh(key: string, owner: string, ttl: TimeSpan):
|
|
54
|
+
refresh(key: string, owner: string, ttl: TimeSpan): Promise<LockRefreshResult>;
|
|
34
55
|
};
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
7
|
+
* @group Contracts
|
|
8
|
+
*/
|
|
9
|
+
export const LOCK_REFRESH_RESULT = {
|
|
10
|
+
REFRESHED: "refreshed",
|
|
11
|
+
UNOWNED_REFRESH: "unonwned_refresh",
|
|
12
|
+
UNEXPIRABLE_KEY: "unexpireable_key",
|
|
13
|
+
};
|
|
5
14
|
//# sourceMappingURL=lock-adapter.contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-adapter.contract.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock-adapter.contract.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
1
|
+
{"version":3,"file":"lock-adapter.contract.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock-adapter.contract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,kBAAkB;CAC7B,CAAC"}
|
|
@@ -38,29 +38,29 @@ export type ILock = {
|
|
|
38
38
|
*/
|
|
39
39
|
runBlockingOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: LockAquireBlockingSettings): LazyPromise<TValue>;
|
|
40
40
|
/**
|
|
41
|
-
* The `acquire` method acquires a lock only if the lock is
|
|
41
|
+
* The `acquire` method acquires a lock only if the lock is not already acquired by different owner.
|
|
42
42
|
*
|
|
43
|
-
* @returns Returns true if the lock is acquired otherwise false is returned.
|
|
43
|
+
* @returns Returns true if the lock is not already acquired otherwise false is returned.
|
|
44
44
|
*/
|
|
45
45
|
acquire(): LazyPromise<boolean>;
|
|
46
46
|
/**
|
|
47
|
-
* The `acquireOrFail` method acquires a lock only if the lock is
|
|
48
|
-
* Throws an error if already acquired.
|
|
47
|
+
* The `acquireOrFail` method acquires a lock only if the lock is not already acquired by different owner.
|
|
48
|
+
* Throws an error if the lock is already acquired by different owner.
|
|
49
49
|
*
|
|
50
50
|
* @throws {KeyAlreadyAcquiredLockError} {@link KeyAlreadyAcquiredLockError}
|
|
51
51
|
*/
|
|
52
52
|
acquireOrFail(): LazyPromise<void>;
|
|
53
53
|
/**
|
|
54
|
-
* The `acquireBlocking` method acquires a lock only if the lock is
|
|
54
|
+
* The `acquireBlocking` method acquires a lock only if the lock is not already acquired by different owner.
|
|
55
55
|
* If the lock is not acquired, it retries every `settings.interval` until `settings.time` is reached.
|
|
56
56
|
*
|
|
57
|
-
* @returns Returns true if the lock is acquired otherwise false is returned.
|
|
57
|
+
* @returns Returns true if the lock is not already acquired otherwise false is returned.
|
|
58
58
|
*/
|
|
59
59
|
acquireBlocking(settings?: LockAquireBlockingSettings): LazyPromise<boolean>;
|
|
60
60
|
/**
|
|
61
|
-
* The `acquireBlockingOrFail` method acquires a lock only if the lock is
|
|
61
|
+
* The `acquireBlockingOrFail` method acquires a lock only if the lock is not already acquired by different owner.
|
|
62
62
|
* If the lock is not acquired, it retries every `settings.interval` until `settings.time` is reached.
|
|
63
|
-
* Throws an error if the lock
|
|
63
|
+
* Throws an error if the lock is already acquired by different owner.
|
|
64
64
|
*
|
|
65
65
|
* @throws {KeyAlreadyAcquiredLockError} {@link KeyAlreadyAcquiredLockError}
|
|
66
66
|
*/
|
|
@@ -80,26 +80,31 @@ export type ILock = {
|
|
|
80
80
|
releaseOrFail(): LazyPromise<void>;
|
|
81
81
|
/**
|
|
82
82
|
* The `forceRelease` method releases a lock regardless of the owner.
|
|
83
|
+
*
|
|
84
|
+
* @returns Returns true if the lock was released or false if the lock doesnt exists
|
|
83
85
|
*/
|
|
84
|
-
forceRelease(): LazyPromise<
|
|
86
|
+
forceRelease(): LazyPromise<boolean>;
|
|
85
87
|
/**
|
|
86
88
|
* The `isExpired` method returns true if the lock is expired otherwise false is returned.
|
|
87
89
|
*/
|
|
88
90
|
isExpired(): LazyPromise<boolean>;
|
|
89
91
|
/**
|
|
90
|
-
* The `isLocked` method returns true if the
|
|
92
|
+
* The `isLocked` method returns true if the lock is unexpirable or unexpired otherwise false is returned.
|
|
91
93
|
*/
|
|
92
94
|
isLocked(): LazyPromise<boolean>;
|
|
93
95
|
/**
|
|
94
|
-
* The `refresh` method updates the `ttl` of the lock if owned by the same owner.
|
|
96
|
+
* The `refresh` method updates the `ttl` of the lock if expireable and owned by the same owner.
|
|
95
97
|
*
|
|
96
98
|
* @returns Returns true if the lock is refreshed otherwise false is returned.
|
|
97
99
|
*/
|
|
98
100
|
refresh(ttl?: TimeSpan): LazyPromise<boolean>;
|
|
99
101
|
/**
|
|
100
|
-
* The `refreshOrFail` method updates the `ttl` of the lock if owned by the same owner.
|
|
102
|
+
* The `refreshOrFail` method updates the `ttl` of the lock if expireable and owned by the same owner.
|
|
101
103
|
* Throws an error if a different owner attempts to refresh the lock.
|
|
104
|
+
* Throws an error if the key is unexpirable.
|
|
105
|
+
*
|
|
102
106
|
* @throws {UnownedRefreshLockError} {@link UnownedRefreshLockError}
|
|
107
|
+
* @throws {UnrefreshableKeyLockError} {@link UnrefreshableKeyLockError}
|
|
103
108
|
*/
|
|
104
109
|
refreshOrFail(ttl?: TimeSpan): LazyPromise<void>;
|
|
105
110
|
/**
|
|
@@ -36,6 +36,15 @@ export declare class UnownedReleaseLockError extends LockError {
|
|
|
36
36
|
export declare class UnownedRefreshLockError extends LockError {
|
|
37
37
|
constructor(message: string, cause?: unknown);
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* The error is thrown when trying to referesh a lock that is unexpireable.
|
|
41
|
+
*
|
|
42
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
43
|
+
* @group Errors
|
|
44
|
+
*/
|
|
45
|
+
export declare class UnrefreshableKeyLockError extends LockError {
|
|
46
|
+
constructor(message: string, cause?: unknown);
|
|
47
|
+
}
|
|
39
48
|
/**
|
|
40
49
|
*
|
|
41
50
|
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
@@ -43,6 +52,7 @@ export declare class UnownedRefreshLockError extends LockError {
|
|
|
43
52
|
*/
|
|
44
53
|
export declare const LOCK_ERRORS: {
|
|
45
54
|
readonly Base: typeof LockError;
|
|
55
|
+
readonly UnrefreshableKey: typeof UnrefreshableKeyLockError;
|
|
46
56
|
readonly KeyAlreadyAcquired: typeof KeyAlreadyAcquiredLockError;
|
|
47
57
|
readonly UnownedRelease: typeof UnownedReleaseLockError;
|
|
48
58
|
readonly UnownedRefresh: typeof UnownedRefreshLockError;
|
|
@@ -44,6 +44,17 @@ export class UnownedRefreshLockError extends LockError {
|
|
|
44
44
|
super(message, { cause });
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* The error is thrown when trying to referesh a lock that is unexpireable.
|
|
49
|
+
*
|
|
50
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
51
|
+
* @group Errors
|
|
52
|
+
*/
|
|
53
|
+
export class UnrefreshableKeyLockError extends LockError {
|
|
54
|
+
constructor(message, cause) {
|
|
55
|
+
super(message, { cause });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
47
58
|
/**
|
|
48
59
|
*
|
|
49
60
|
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
@@ -51,6 +62,7 @@ export class UnownedRefreshLockError extends LockError {
|
|
|
51
62
|
*/
|
|
52
63
|
export const LOCK_ERRORS = {
|
|
53
64
|
Base: LockError,
|
|
65
|
+
UnrefreshableKey: UnrefreshableKeyLockError,
|
|
54
66
|
KeyAlreadyAcquired: KeyAlreadyAcquiredLockError,
|
|
55
67
|
UnownedRelease: UnownedReleaseLockError,
|
|
56
68
|
UnownedRefresh: UnownedRefreshLockError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAChC,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,SAAS;IACtD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IAClD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IAClD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,IAAI,EAAE,SAAS;IACf,kBAAkB,EAAE,2BAA2B;IAC/C,cAAc,EAAE,uBAAuB;IACvC,cAAc,EAAE,uBAAuB;CACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAChC,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,SAAS;IACtD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IAClD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IAClD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,SAAS;IACpD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,IAAI,EAAE,SAAS;IACf,gBAAgB,EAAE,yBAAyB;IAC3C,kBAAkB,EAAE,2BAA2B;IAC/C,cAAc,EAAE,uBAAuB;IACvC,cAAc,EAAE,uBAAuB;CACjC,CAAC"}
|
|
@@ -52,6 +52,16 @@ export type UnownedRefreshTryLockEvent = {
|
|
|
52
52
|
key: string;
|
|
53
53
|
owner: string;
|
|
54
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* The event is dispatched when trying to refefresh a lock that is unexpireable.
|
|
57
|
+
*
|
|
58
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
59
|
+
* @group Events
|
|
60
|
+
*/
|
|
61
|
+
export type UnexpireableKeyRefreshTryLockEvent = {
|
|
62
|
+
key: string;
|
|
63
|
+
owner: string;
|
|
64
|
+
};
|
|
55
65
|
/**
|
|
56
66
|
* The event is dispatched when trying to acquire a lock that is owned by a different owner.
|
|
57
67
|
*
|
|
@@ -94,6 +104,7 @@ export declare const LOCK_EVENTS: {
|
|
|
94
104
|
readonly RELEASED: "RELEASED";
|
|
95
105
|
readonly UNOWNED_RELEASE_TRY: "UNOWNED_RELEASE_TRY";
|
|
96
106
|
readonly UNOWNED_REFRESH_TRY: "UNOWNED_REFRESH_TRY";
|
|
107
|
+
readonly UNEXPIREABLE_KEY_REFRESH_TRY: "UNEXPIREABLE_KEY_REFRESH_TRY";
|
|
97
108
|
readonly UNAVAILABLE: "UNAVAILABLE";
|
|
98
109
|
readonly FORCE_RELEASED: "FORCE_RELEASED";
|
|
99
110
|
readonly REFRESHED: "REFRESHED";
|
|
@@ -109,6 +120,7 @@ export type LockEventMap = {
|
|
|
109
120
|
[LOCK_EVENTS.RELEASED]: ReleasedLockEvent;
|
|
110
121
|
[LOCK_EVENTS.UNOWNED_RELEASE_TRY]: UnownedReleaseTryLockEvent;
|
|
111
122
|
[LOCK_EVENTS.UNOWNED_REFRESH_TRY]: UnownedRefreshTryLockEvent;
|
|
123
|
+
[LOCK_EVENTS.UNEXPIREABLE_KEY_REFRESH_TRY]: UnexpireableKeyRefreshTryLockEvent;
|
|
112
124
|
[LOCK_EVENTS.UNAVAILABLE]: UnavailableLockEvent;
|
|
113
125
|
[LOCK_EVENTS.FORCE_RELEASED]: ForceReleasedLockEvent;
|
|
114
126
|
[LOCK_EVENTS.REFRESHED]: RefreshedLockEvent;
|
|
@@ -11,6 +11,7 @@ export const LOCK_EVENTS = {
|
|
|
11
11
|
RELEASED: "RELEASED",
|
|
12
12
|
UNOWNED_RELEASE_TRY: "UNOWNED_RELEASE_TRY",
|
|
13
13
|
UNOWNED_REFRESH_TRY: "UNOWNED_REFRESH_TRY",
|
|
14
|
+
UNEXPIREABLE_KEY_REFRESH_TRY: "UNEXPIREABLE_KEY_REFRESH_TRY",
|
|
14
15
|
UNAVAILABLE: "UNAVAILABLE",
|
|
15
16
|
FORCE_RELEASED: "FORCE_RELEASED",
|
|
16
17
|
REFRESHED: "REFRESHED",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.events.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.events.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"lock.events.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.events.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2GH;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,4BAA4B,EAAE,8BAA8B;IAC5D,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;CAC9B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module-exports.js";
|
|
5
|
-
import type
|
|
4
|
+
import type { IDatabaseLockAdapter, ILockData, ILockExpirationData } from "../../../../lock/contracts/_module-exports.js";
|
|
5
|
+
import { type Kysely } from "kysely";
|
|
6
6
|
import { type IDeinitizable, type IInitizable, type IPrunable, TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
@@ -12,7 +12,7 @@ import { type IDeinitizable, type IInitizable, type IPrunable, TimeSpan } from "
|
|
|
12
12
|
export type KyselyLockAdapterTable = {
|
|
13
13
|
key: string;
|
|
14
14
|
owner: string;
|
|
15
|
-
|
|
15
|
+
expiration: number | bigint | string | null;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
*
|
|
@@ -40,6 +40,20 @@ export type KyselyLockAdapterSettings = {
|
|
|
40
40
|
* @default true
|
|
41
41
|
*/
|
|
42
42
|
shouldRemoveExpiredKeys?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* @default
|
|
45
|
+
* ```ts
|
|
46
|
+
* () => new Date()
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
currentDate?: () => Date;
|
|
50
|
+
/**
|
|
51
|
+
* @default
|
|
52
|
+
* ```ts
|
|
53
|
+
* globalThis.setInterval
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
setInterval?: typeof setInterval;
|
|
43
57
|
};
|
|
44
58
|
/**
|
|
45
59
|
* To utilize the `KyselyLockAdapter`, you must install the [`"kysely"`](https://www.npmjs.com/package/kysely) package and configure a `Kysely` class instance.
|
|
@@ -55,6 +69,9 @@ export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
55
69
|
private readonly expiredKeysRemovalInterval;
|
|
56
70
|
private readonly shouldRemoveExpiredKeys;
|
|
57
71
|
private timeoutId;
|
|
72
|
+
private readonly currentDate;
|
|
73
|
+
private readonly setInterval;
|
|
74
|
+
private readonly isMysql;
|
|
58
75
|
/**
|
|
59
76
|
* @example
|
|
60
77
|
* ```ts
|
|
@@ -77,8 +94,9 @@ export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
77
94
|
init(): Promise<void>;
|
|
78
95
|
removeAllExpired(): Promise<void>;
|
|
79
96
|
insert(key: string, owner: string, expiration: Date | null): Promise<void>;
|
|
80
|
-
|
|
81
|
-
remove(key: string
|
|
82
|
-
|
|
97
|
+
updateIfExpired(key: string, owner: string, expiration: Date | null): Promise<number>;
|
|
98
|
+
remove(key: string): Promise<ILockExpirationData | null>;
|
|
99
|
+
removeIfOwner(key: string, owner: string): Promise<ILockData | null>;
|
|
100
|
+
updateExpirationIfOwner(key: string, owner: string, expiration: Date): Promise<number>;
|
|
83
101
|
find(key: string): Promise<ILockData | null>;
|
|
84
102
|
}
|