@daiso-tech/core 0.22.2 → 0.23.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/cjs/lock/contracts/lock.errors.js +4 -4
- package/dist/cjs/lock/contracts/lock.errors.js.map +1 -1
- package/dist/cjs/lock/implementations/_shared/lock-adapter.test-suite.js +0 -129
- package/dist/cjs/lock/implementations/_shared/lock-adapter.test-suite.js.map +1 -1
- package/dist/cjs/lock/implementations/_shared/lock-provider.test-suite.js +487 -489
- package/dist/cjs/lock/implementations/_shared/lock-provider.test-suite.js.map +1 -1
- package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
- package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +0 -16
- package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
- package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +5 -5
- package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +0 -13
- package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
- package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
- package/dist/cjs/lock/implementations/derivables/lock-provider/database-lock-adapter.js +0 -32
- package/dist/cjs/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock-provider.js +22 -12
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock-state.js +58 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock-state.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock.js +32 -39
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/cjs/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +1 -1
- package/dist/cjs/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/cjs/utilities/contracts/_module.js +0 -1
- package/dist/cjs/utilities/contracts/_module.js.map +1 -1
- package/dist/esm/lock/contracts/lock.errors.js +2 -2
- package/dist/esm/lock/contracts/lock.errors.js.map +1 -1
- package/dist/esm/lock/implementations/_shared/lock-adapter.test-suite.js +0 -129
- package/dist/esm/lock/implementations/_shared/lock-adapter.test-suite.js.map +1 -1
- package/dist/esm/lock/implementations/_shared/lock-provider.test-suite.js +488 -490
- package/dist/esm/lock/implementations/_shared/lock-provider.test-suite.js.map +1 -1
- package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +1 -1
- package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +1 -1
- package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
- package/dist/esm/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +1 -17
- package/dist/esm/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
- package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +6 -6
- package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/esm/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +1 -14
- package/dist/esm/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
- package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +1 -1
- package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
- package/dist/esm/lock/implementations/derivables/lock-provider/database-lock-adapter.js +1 -33
- package/dist/esm/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
- package/dist/esm/lock/implementations/derivables/lock-provider/lock-provider.js +22 -12
- package/dist/esm/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/esm/lock/implementations/derivables/lock-provider/lock-state.js +54 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/lock-state.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/lock.js +33 -40
- package/dist/esm/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/esm/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +1 -1
- package/dist/esm/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/esm/utilities/contracts/_module.js +0 -1
- package/dist/esm/utilities/contracts/_module.js.map +1 -1
- package/dist/types/lock/contracts/database-lock-adapter.contract.d.ts +1 -2
- package/dist/types/lock/contracts/lock-adapter.contract.d.ts +0 -9
- package/dist/types/lock/contracts/lock.contract.d.ts +1 -1
- package/dist/types/lock/contracts/lock.errors.d.ts +2 -2
- package/dist/types/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +2 -2
- package/dist/types/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +2 -2
- package/dist/types/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +1 -3
- package/dist/types/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +2 -1
- package/dist/types/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +1 -3
- package/dist/types/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +2 -2
- package/dist/types/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +2 -7
- package/dist/types/lock/implementations/derivables/lock-provider/lock-provider.d.ts +8 -10
- package/dist/types/lock/implementations/derivables/lock-provider/lock-state.d.ts +40 -0
- package/dist/types/lock/implementations/derivables/lock-provider/lock.d.ts +8 -2
- package/dist/types/utilities/contracts/_module.d.ts +0 -1
- package/package.json +1 -1
- package/dist/cjs/utilities/contracts/serde-registrable.contract.js +0 -3
- package/dist/cjs/utilities/contracts/serde-registrable.contract.js.map +0 -1
- package/dist/esm/utilities/contracts/serde-registrable.contract.js +0 -1
- package/dist/esm/utilities/contracts/serde-registrable.contract.js.map +0 -1
- package/dist/types/utilities/contracts/serde-registrable.contract.d.ts +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-lock-adapter.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider/database-lock-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"database-lock-adapter.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider/database-lock-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AASjD,MAAM,OAAO,mBAAmB;IACC;IAA7B,YAA6B,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IAE9D,KAAK,CAAC,OAAO,CACT,GAAW,EACX,KAAa,EACb,GAAoB;QAEpB,MAAM,UAAU,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC;QAE5C,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;gBACxC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACjE,OAAO,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAa;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,OAAO,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;CACJ"}
|
|
@@ -27,6 +27,7 @@ export class LockProvider {
|
|
|
27
27
|
typeof adapter_["withGroup"] === "function" &&
|
|
28
28
|
adapter_["withGroup"].length === 1);
|
|
29
29
|
}
|
|
30
|
+
serde;
|
|
30
31
|
createOwnerId;
|
|
31
32
|
adapter;
|
|
32
33
|
defaultTtl;
|
|
@@ -37,13 +38,11 @@ export class LockProvider {
|
|
|
37
38
|
timeout;
|
|
38
39
|
eventBus;
|
|
39
40
|
lockProviderEventBus;
|
|
40
|
-
|
|
41
|
-
return Lock.name;
|
|
42
|
-
}
|
|
41
|
+
stateRecord = {};
|
|
43
42
|
constructor(settings) {
|
|
44
43
|
const { createOwnerId = () => v4(), adapter, defaultTtl = LockProvider.DEFAULT_TTL, defaultRefreshTime = LockProvider.DEFAULT_REFRESH_TIME, retryAttempts = null, backoffPolicy = null, retryPolicy = null, timeout = null, eventBus = new EventBus({
|
|
45
44
|
adapter: new NoOpEventBusAdapter(),
|
|
46
|
-
}), } = settings;
|
|
45
|
+
}), serde, } = settings;
|
|
47
46
|
this.createOwnerId = createOwnerId;
|
|
48
47
|
if (LockProvider.isDatabaseAdapter(adapter)) {
|
|
49
48
|
this.adapter = new DatabaseLockAdapter(adapter);
|
|
@@ -51,6 +50,7 @@ export class LockProvider {
|
|
|
51
50
|
else {
|
|
52
51
|
this.adapter = adapter;
|
|
53
52
|
}
|
|
53
|
+
this.serde = serde;
|
|
54
54
|
this.defaultTtl = defaultTtl ?? LockProvider.DEFAULT_TTL;
|
|
55
55
|
this.defaultRefreshTime = defaultRefreshTime;
|
|
56
56
|
this.retryAttempts = retryAttempts;
|
|
@@ -59,6 +59,16 @@ export class LockProvider {
|
|
|
59
59
|
this.timeout = timeout;
|
|
60
60
|
this.eventBus = eventBus;
|
|
61
61
|
this.lockProviderEventBus = eventBus.withGroup(adapter.getGroup());
|
|
62
|
+
this.registerToSerde();
|
|
63
|
+
}
|
|
64
|
+
registerToSerde() {
|
|
65
|
+
let serde = this.serde;
|
|
66
|
+
if (!Array.isArray(serde)) {
|
|
67
|
+
serde = [serde];
|
|
68
|
+
}
|
|
69
|
+
for (const serde_ of serde) {
|
|
70
|
+
serde_.registerCustom(this);
|
|
71
|
+
}
|
|
62
72
|
}
|
|
63
73
|
addListener(event, listener) {
|
|
64
74
|
return this.lockProviderEventBus.addListener(event, listener);
|
|
@@ -81,6 +91,9 @@ export class LockProvider {
|
|
|
81
91
|
subscribeMany(events, listener) {
|
|
82
92
|
return this.lockProviderEventBus.subscribeMany(events, listener);
|
|
83
93
|
}
|
|
94
|
+
get name() {
|
|
95
|
+
return Lock.name;
|
|
96
|
+
}
|
|
84
97
|
isApplicable(value) {
|
|
85
98
|
return value instanceof Lock && getConstructorName(value) === Lock.name;
|
|
86
99
|
}
|
|
@@ -111,6 +124,8 @@ export class LockProvider {
|
|
|
111
124
|
retryPolicy: this.retryPolicy,
|
|
112
125
|
timeout: this.timeout,
|
|
113
126
|
},
|
|
127
|
+
stateRecord: this.stateRecord,
|
|
128
|
+
expirationInMs: serializedValue.expirationInMs,
|
|
114
129
|
});
|
|
115
130
|
}
|
|
116
131
|
create(key, settings = {}) {
|
|
@@ -129,6 +144,8 @@ export class LockProvider {
|
|
|
129
144
|
retryPolicy: this.retryPolicy,
|
|
130
145
|
timeout: this.timeout,
|
|
131
146
|
},
|
|
147
|
+
stateRecord: this.stateRecord,
|
|
148
|
+
expirationInMs: null,
|
|
132
149
|
});
|
|
133
150
|
}
|
|
134
151
|
getGroup() {
|
|
@@ -144,15 +161,8 @@ export class LockProvider {
|
|
|
144
161
|
backoffPolicy: this.backoffPolicy,
|
|
145
162
|
retryPolicy: this.retryPolicy,
|
|
146
163
|
timeout: this.timeout,
|
|
164
|
+
serde: this.serde,
|
|
147
165
|
});
|
|
148
166
|
}
|
|
149
|
-
registerToSerde(serde) {
|
|
150
|
-
if (!Array.isArray(serde)) {
|
|
151
|
-
serde = [serde];
|
|
152
|
-
}
|
|
153
|
-
for (const serde_ of serde) {
|
|
154
|
-
serde_.registerCustom(this);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
167
|
}
|
|
158
168
|
//# sourceMappingURL=lock-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-provider.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider/lock-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock-provider.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider/lock-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TimeSpan } from "../../../../utilities/_module";
|
|
2
|
+
export class LockState {
|
|
3
|
+
stateRecord;
|
|
4
|
+
key;
|
|
5
|
+
constructor(stateRecord, key) {
|
|
6
|
+
this.stateRecord = stateRecord;
|
|
7
|
+
this.key = key;
|
|
8
|
+
}
|
|
9
|
+
get() {
|
|
10
|
+
const state = this.stateRecord[this.key];
|
|
11
|
+
if (state === undefined) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const { expiration } = state;
|
|
15
|
+
return expiration;
|
|
16
|
+
}
|
|
17
|
+
set(ttl) {
|
|
18
|
+
if (typeof ttl === "number") {
|
|
19
|
+
this.stateRecord[this.key] = {
|
|
20
|
+
expiration: new Date(ttl),
|
|
21
|
+
};
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.stateRecord[this.key] = {
|
|
25
|
+
expiration: ttl?.toEndDate() ?? null,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
isExpired() {
|
|
29
|
+
const state = this.stateRecord[this.key];
|
|
30
|
+
if (state === undefined) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
const { expiration } = state;
|
|
34
|
+
if (expiration === null) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return expiration.getTime() < Date.now();
|
|
38
|
+
}
|
|
39
|
+
getRemainingTime() {
|
|
40
|
+
const state = this.stateRecord[this.key];
|
|
41
|
+
if (state === undefined) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const { expiration } = state;
|
|
45
|
+
if (expiration === null) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return TimeSpan.fromDateRange(new Date(), expiration);
|
|
49
|
+
}
|
|
50
|
+
remove() {
|
|
51
|
+
delete this.stateRecord[this.key];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=lock-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-state.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider/lock-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAiB/C,MAAM,OAAO,SAAS;IAEN;IACS;IAFrB,YACY,WAA6B,EACpB,GAAW;QADpB,gBAAW,GAAX,WAAW,CAAkB;QACpB,QAAG,GAAH,GAAG,CAAQ;IAC7B,CAAC;IAKJ,GAAG;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC7B,OAAO,UAAU,CAAC;IACtB,CAAC;IAMD,GAAG,CAAC,GAA6B;QAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACzB,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC;aAC5B,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACzB,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI;SACvC,CAAC;IACN,CAAC;IAKD,SAAS;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC7B,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7C,CAAC;IAKD,gBAAgB;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC7B,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAKD,MAAM;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACJ"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LazyPromise } from "../../../../async/_module";
|
|
2
|
-
import { UnexpectedErrorLockEvent, KeyAcquiredLockEvent, KeyAlreadyAcquiredLockError, KeyAlreadyAcquiredLockEvent, KeyForceReleasedLockEvent, KeyReleasedLockEvent, KeyRefreshedLockEvent, UnableToAquireLockError,
|
|
2
|
+
import { UnexpectedErrorLockEvent, KeyAcquiredLockEvent, KeyAlreadyAcquiredLockError, KeyAlreadyAcquiredLockEvent, KeyForceReleasedLockEvent, KeyReleasedLockEvent, KeyRefreshedLockEvent, UnableToAquireLockError, UnownedRefreshLockError, UnownedRefreshLockEvent, UnownedReleaseLockError, UnownedReleaseLockEvent, } from "../../../../lock/contracts/_module";
|
|
3
|
+
import { LockState, } from "../../../../lock/implementations/derivables/lock-provider/lock-state";
|
|
3
4
|
export class Lock {
|
|
4
5
|
static serialize(deserializedValue) {
|
|
5
6
|
return {
|
|
@@ -7,6 +8,7 @@ export class Lock {
|
|
|
7
8
|
key: deserializedValue.key,
|
|
8
9
|
owner: deserializedValue.owner,
|
|
9
10
|
ttlInMs: deserializedValue.ttl?.toMilliseconds() ?? null,
|
|
11
|
+
expirationInMs: deserializedValue.state.get()?.getTime() ?? null,
|
|
10
12
|
};
|
|
11
13
|
}
|
|
12
14
|
lockProviderEventDispatcher;
|
|
@@ -17,8 +19,11 @@ export class Lock {
|
|
|
17
19
|
ttl;
|
|
18
20
|
defaultRefreshTime;
|
|
19
21
|
lazyPromiseSettings;
|
|
22
|
+
state;
|
|
23
|
+
expirationInMs;
|
|
20
24
|
constructor(settings) {
|
|
21
|
-
const { lockProviderEventDispatcher, lockEventBus, defaultRefreshTime, adapter, key, owner, ttl, lazyPromiseSettings, } = settings;
|
|
25
|
+
const { lockProviderEventDispatcher, lockEventBus, defaultRefreshTime, adapter, key, owner, ttl, lazyPromiseSettings, stateRecord, expirationInMs, } = settings;
|
|
26
|
+
this.expirationInMs = expirationInMs;
|
|
22
27
|
this.lockProviderEventDispatcher = lockProviderEventDispatcher;
|
|
23
28
|
this.lockEventBus = lockEventBus.withGroup([adapter.getGroup(), key]);
|
|
24
29
|
this.defaultRefreshTime = defaultRefreshTime;
|
|
@@ -27,6 +32,8 @@ export class Lock {
|
|
|
27
32
|
this.owner = owner;
|
|
28
33
|
this.ttl = ttl;
|
|
29
34
|
this.lazyPromiseSettings = lazyPromiseSettings;
|
|
35
|
+
this.state = new LockState(stateRecord, key);
|
|
36
|
+
this.state.set(expirationInMs);
|
|
30
37
|
}
|
|
31
38
|
createLayPromise(asyncFn) {
|
|
32
39
|
return new LazyPromise(asyncFn)
|
|
@@ -35,7 +42,7 @@ export class Lock {
|
|
|
35
42
|
.setRetryPolicy(this.lazyPromiseSettings.retryPolicy)
|
|
36
43
|
.setTimeout(this.lazyPromiseSettings.timeout);
|
|
37
44
|
}
|
|
38
|
-
run(asyncFn
|
|
45
|
+
run(asyncFn) {
|
|
39
46
|
return this.createLayPromise(async () => {
|
|
40
47
|
if (typeof asyncFn === "function") {
|
|
41
48
|
asyncFn = new LazyPromise(asyncFn);
|
|
@@ -45,12 +52,9 @@ export class Lock {
|
|
|
45
52
|
if (!hasAquired) {
|
|
46
53
|
return [
|
|
47
54
|
null,
|
|
48
|
-
new KeyAlreadyAcquiredLockError("
|
|
55
|
+
new KeyAlreadyAcquiredLockError(`Key "${this.key}" already acquired`),
|
|
49
56
|
];
|
|
50
57
|
}
|
|
51
|
-
if (shouldTimeout) {
|
|
52
|
-
asyncFn.setTimeout(this.ttl);
|
|
53
|
-
}
|
|
54
58
|
return [await asyncFn, null];
|
|
55
59
|
}
|
|
56
60
|
finally {
|
|
@@ -58,16 +62,13 @@ export class Lock {
|
|
|
58
62
|
}
|
|
59
63
|
}).setRetryPolicy((error) => error instanceof UnableToAquireLockError);
|
|
60
64
|
}
|
|
61
|
-
runOrFail(asyncFn
|
|
65
|
+
runOrFail(asyncFn) {
|
|
62
66
|
return this.createLayPromise(async () => {
|
|
63
67
|
try {
|
|
64
68
|
if (typeof asyncFn === "function") {
|
|
65
69
|
asyncFn = new LazyPromise(asyncFn);
|
|
66
70
|
}
|
|
67
71
|
await this.acquireOrFail();
|
|
68
|
-
if (shouldTimeout) {
|
|
69
|
-
asyncFn.setTimeout(this.ttl);
|
|
70
|
-
}
|
|
71
72
|
return await asyncFn;
|
|
72
73
|
}
|
|
73
74
|
finally {
|
|
@@ -79,8 +80,10 @@ export class Lock {
|
|
|
79
80
|
acquire() {
|
|
80
81
|
return this.createLayPromise(async () => {
|
|
81
82
|
try {
|
|
83
|
+
this.state.remove();
|
|
82
84
|
const hasAquired = await this.adapter.acquire(this.key, this.owner, this.ttl);
|
|
83
85
|
if (hasAquired) {
|
|
86
|
+
this.state.set(this.ttl);
|
|
84
87
|
const event = new KeyAcquiredLockEvent({
|
|
85
88
|
key: this.key,
|
|
86
89
|
owner: this.owner,
|
|
@@ -116,7 +119,7 @@ export class Lock {
|
|
|
116
119
|
return this.createLayPromise(async () => {
|
|
117
120
|
const hasAquired = await this.acquire();
|
|
118
121
|
if (!hasAquired) {
|
|
119
|
-
throw new KeyAlreadyAcquiredLockError("
|
|
122
|
+
throw new KeyAlreadyAcquiredLockError(`Key "${this.key}" already acquired`);
|
|
120
123
|
}
|
|
121
124
|
});
|
|
122
125
|
}
|
|
@@ -125,6 +128,7 @@ export class Lock {
|
|
|
125
128
|
try {
|
|
126
129
|
const hasReleased = await this.adapter.release(this.key, this.owner);
|
|
127
130
|
if (hasReleased) {
|
|
131
|
+
this.state.remove();
|
|
128
132
|
const event = new KeyReleasedLockEvent({
|
|
129
133
|
key: this.key,
|
|
130
134
|
owner: this.owner,
|
|
@@ -159,7 +163,7 @@ export class Lock {
|
|
|
159
163
|
return this.createLayPromise(async () => {
|
|
160
164
|
const hasRelased = await this.release();
|
|
161
165
|
if (!hasRelased) {
|
|
162
|
-
throw new UnownedReleaseLockError("
|
|
166
|
+
throw new UnownedReleaseLockError(`Unonwed release on key "${this.key}" by owner "${this.owner}"`);
|
|
163
167
|
}
|
|
164
168
|
});
|
|
165
169
|
}
|
|
@@ -167,6 +171,7 @@ export class Lock {
|
|
|
167
171
|
return this.createLayPromise(async () => {
|
|
168
172
|
try {
|
|
169
173
|
await this.adapter.forceRelease(this.key);
|
|
174
|
+
this.state.remove();
|
|
170
175
|
const event = new KeyForceReleasedLockEvent({
|
|
171
176
|
key: this.key,
|
|
172
177
|
});
|
|
@@ -187,15 +192,9 @@ export class Lock {
|
|
|
187
192
|
});
|
|
188
193
|
}
|
|
189
194
|
isExpired() {
|
|
190
|
-
return this.createLayPromise(async () => {
|
|
191
|
-
const isLocked = await this.isLocked();
|
|
192
|
-
return !isLocked;
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
isLocked() {
|
|
196
195
|
return this.createLayPromise(async () => {
|
|
197
196
|
try {
|
|
198
|
-
return
|
|
197
|
+
return this.state.isExpired();
|
|
199
198
|
}
|
|
200
199
|
catch (error) {
|
|
201
200
|
const event = new UnexpectedErrorLockEvent({
|
|
@@ -210,16 +209,23 @@ export class Lock {
|
|
|
210
209
|
}
|
|
211
210
|
});
|
|
212
211
|
}
|
|
212
|
+
isLocked() {
|
|
213
|
+
return this.createLayPromise(async () => {
|
|
214
|
+
const isExpired = await this.isExpired();
|
|
215
|
+
return !isExpired;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
213
218
|
refresh(ttl = this.defaultRefreshTime) {
|
|
214
219
|
return this.createLayPromise(async () => {
|
|
215
220
|
try {
|
|
216
|
-
const
|
|
217
|
-
if (
|
|
221
|
+
const hasRefreshed = await this.adapter.refresh(this.key, this.owner, ttl);
|
|
222
|
+
if (hasRefreshed) {
|
|
218
223
|
const event = new KeyRefreshedLockEvent({
|
|
219
224
|
key: this.key,
|
|
220
225
|
owner: this.owner,
|
|
221
226
|
ttl,
|
|
222
227
|
});
|
|
228
|
+
this.state.set(ttl);
|
|
223
229
|
this.lockEventBus.dispatch(event).defer();
|
|
224
230
|
this.lockProviderEventDispatcher.dispatch(event).defer();
|
|
225
231
|
}
|
|
@@ -231,7 +237,7 @@ export class Lock {
|
|
|
231
237
|
this.lockEventBus.dispatch(event).defer();
|
|
232
238
|
this.lockProviderEventDispatcher.dispatch(event).defer();
|
|
233
239
|
}
|
|
234
|
-
return
|
|
240
|
+
return hasRefreshed;
|
|
235
241
|
}
|
|
236
242
|
catch (error) {
|
|
237
243
|
const event = new UnexpectedErrorLockEvent({
|
|
@@ -248,28 +254,15 @@ export class Lock {
|
|
|
248
254
|
}
|
|
249
255
|
refreshOrFail(ttl) {
|
|
250
256
|
return this.createLayPromise(async () => {
|
|
251
|
-
const
|
|
252
|
-
if (!
|
|
253
|
-
throw new
|
|
257
|
+
const hasRefreshed = await this.refresh(ttl);
|
|
258
|
+
if (!hasRefreshed) {
|
|
259
|
+
throw new UnownedRefreshLockError(`Unonwed refresh on key "${this.key}" by owner "${this.owner}"`);
|
|
254
260
|
}
|
|
255
261
|
});
|
|
256
262
|
}
|
|
257
263
|
getRemainingTime() {
|
|
258
264
|
return this.createLayPromise(async () => {
|
|
259
|
-
|
|
260
|
-
return await this.adapter.getRemainingTime(this.key);
|
|
261
|
-
}
|
|
262
|
-
catch (error) {
|
|
263
|
-
const event = new UnexpectedErrorLockEvent({
|
|
264
|
-
key: this.key,
|
|
265
|
-
owner: this.owner,
|
|
266
|
-
ttl: this.ttl,
|
|
267
|
-
error,
|
|
268
|
-
});
|
|
269
|
-
this.lockEventBus.dispatch(event).defer();
|
|
270
|
-
this.lockProviderEventDispatcher.dispatch(event).defer();
|
|
271
|
-
throw error;
|
|
272
|
-
}
|
|
265
|
+
return this.state.getRemainingTime();
|
|
273
266
|
});
|
|
274
267
|
}
|
|
275
268
|
getOwner() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider/lock.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EACH,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider/lock.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js
CHANGED
|
@@ -46,6 +46,7 @@ export class LockProviderFactory {
|
|
|
46
46
|
}
|
|
47
47
|
const lockProvider = new LockProvider({
|
|
48
48
|
adapter,
|
|
49
|
+
serde: this.serde,
|
|
49
50
|
eventBus: this.eventBus,
|
|
50
51
|
defaultTtl: this.defaultTtl,
|
|
51
52
|
retryAttempts: this.retryAttempts,
|
|
@@ -55,7 +56,6 @@ export class LockProviderFactory {
|
|
|
55
56
|
defaultRefreshTime: this.defaultExtendTime,
|
|
56
57
|
createOwnerId: this.createOwnerId,
|
|
57
58
|
});
|
|
58
|
-
lockProvider.registerToSerde(this.serde);
|
|
59
59
|
cacheRecord[key] = lockProvider;
|
|
60
60
|
}
|
|
61
61
|
return cacheRecord;
|
package/dist/esm/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":"AAUA,OAAO,EACH,yBAAyB,EACzB,yBAAyB,GAC5B,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,GAE3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AA8FvF,MAAM,OAAO,mBAAmB;IAGX,KAAK,CAA4B;IACjC,oBAAoB,CAAW;IAC/B,oBAAoB,CAAW;IAC/B,cAAc,CAAsB;IACpC,kBAAkB,CAAgC;IAClD,aAAa,CAAgB;IAC7B,QAAQ,CAA2B;IACnC,UAAU,CAAmB;IAC7B,iBAAiB,CAAY;IAC7B,aAAa,CAAiB;IAC9B,aAAa,CAAwB;IACrC,WAAW,CAAsB;IACjC,OAAO,CAAmB;IA4B3C,YAAY,QAAgD;QACxD,MAAM,EACF,KAAK,EACL,oBAAoB,GAAG,IAAI,EAC3B,oBAAoB,GAAG,IAAI,EAC3B,QAAQ,EACR,cAAc,EACd,aAAa,EACb,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EACX,OAAO,GACV,GAAG,QAAQ,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEO,IAAI,CACR,QAAiC;QAEjC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,WAAW,GAAkC,EAAE,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;YACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACb,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;gBAClC,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;gBAC1C,aAAa,EAAE,IAAI,CAAC,aAAa;aACpC,CAAC,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"lock-provider-factory.js","sourceRoot":"","sources":["../../../../../../src/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,4 @@ export * from "../../utilities/contracts/serialized-error.contract";
|
|
|
2
2
|
export * from "../../utilities/contracts/buildable.contract";
|
|
3
3
|
export * from "../../utilities/contracts/deinitizable.contract";
|
|
4
4
|
export * from "../../utilities/contracts/initizable.contract";
|
|
5
|
-
export * from "../../utilities/contracts/serde-registrable.contract";
|
|
6
5
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/utilities/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,iDAAiD,CAAC;AAChE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/utilities/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,iDAAiD,CAAC;AAChE,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import type { IDeinitizable, IInitizable } from "../../utilities/_module";
|
|
5
4
|
/**
|
|
6
5
|
* @group Contracts
|
|
7
6
|
*/
|
|
@@ -14,7 +13,7 @@ export type ILockData = {
|
|
|
14
13
|
* This contract is not meant to be used directly, instead you should use <i>{@link ILockProvider}</i> contract.
|
|
15
14
|
* @group Contracts
|
|
16
15
|
*/
|
|
17
|
-
export type IDatabaseLockAdapter =
|
|
16
|
+
export type IDatabaseLockAdapter = {
|
|
18
17
|
/**
|
|
19
18
|
* The <i>insert</i> method will create a lock if one does not already exist.
|
|
20
19
|
*/
|
|
@@ -22,15 +22,6 @@ export type ILockAdapter = {
|
|
|
22
22
|
* The <i>forceRelease</i> method releases a lock regardless of the owner.
|
|
23
23
|
*/
|
|
24
24
|
forceRelease(key: string): PromiseLike<void>;
|
|
25
|
-
/**
|
|
26
|
-
* The <i>isLocked</i> method return true if locked otherwise false is returned.
|
|
27
|
-
*/
|
|
28
|
-
isLocked(key: string): PromiseLike<boolean>;
|
|
29
|
-
/**
|
|
30
|
-
* The <i>getRemainingTime</i> return the reaming time as <i>{@link TimeSpan}</i>.
|
|
31
|
-
* Returns null if the key doesnt exist, key has no expiration and key has expired.
|
|
32
|
-
*/
|
|
33
|
-
getRemainingTime(key: string): PromiseLike<TimeSpan | null>;
|
|
34
25
|
/**
|
|
35
26
|
* The <i>refresh</i> method will upadte ttl of lock if it matches the given <i>key</i> and matches the given <i>owner</i>.
|
|
36
27
|
* Returns true if the update occured otherwise false is returned.
|
|
@@ -204,7 +204,7 @@ export type ILock = ILockListener & {
|
|
|
204
204
|
/**
|
|
205
205
|
* The <i>refreshOrFail</i> method updates the TTL of the lock if owned by the same owner.
|
|
206
206
|
* Throws an error if a different owner attempts to refresh the lock.
|
|
207
|
-
* @throws {
|
|
207
|
+
* @throws {UnownedRefreshLockError} {@link UnownedRefreshLockError}
|
|
208
208
|
*/
|
|
209
209
|
refreshOrFail(ttl?: TimeSpan): LazyPromise<void>;
|
|
210
210
|
/**
|
|
@@ -54,8 +54,8 @@ export declare class UnownedReleaseLockError extends LockError implements ISeria
|
|
|
54
54
|
/**
|
|
55
55
|
* @group Errors
|
|
56
56
|
*/
|
|
57
|
-
export declare class
|
|
58
|
-
static deserialize(serializedError: ISerializedError):
|
|
57
|
+
export declare class UnownedRefreshLockError extends LockError implements ISerializable<ISerializedError> {
|
|
58
|
+
static deserialize(serializedError: ISerializedError): UnownedRefreshLockError;
|
|
59
59
|
constructor(message: string, cause?: unknown);
|
|
60
60
|
serialize(): ISerializedError;
|
|
61
61
|
}
|
package/dist/types/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module";
|
|
5
5
|
import type { Kysely } from "kysely";
|
|
6
|
-
import { TimeSpan } from "../../../../utilities/_module";
|
|
6
|
+
import { type IDeinitizable, type IInitizable, TimeSpan } from "../../../../utilities/_module";
|
|
7
7
|
/**
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
@@ -31,7 +31,7 @@ type KyselySettings = {
|
|
|
31
31
|
/**
|
|
32
32
|
* @internal
|
|
33
33
|
*/
|
|
34
|
-
export declare class KyselyLockAdapter implements IDatabaseLockAdapter {
|
|
34
|
+
export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
35
35
|
private readonly group;
|
|
36
36
|
private readonly database;
|
|
37
37
|
private readonly expiredKeysRemovalInterval;
|
package/dist/types/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
4
|
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module";
|
|
5
|
-
import { TimeSpan } from "../../../../utilities/_module";
|
|
5
|
+
import { type IDeinitizable, type IInitizable, TimeSpan } from "../../../../utilities/_module";
|
|
6
6
|
import type { Client } from "@libsql/client/.";
|
|
7
7
|
/**
|
|
8
8
|
* @group Adapters
|
|
@@ -18,7 +18,7 @@ export type LibsqlLockAdapterSettings = {
|
|
|
18
18
|
* To utilize the <i>LibsqlLockAdapter</i>, you must install the <i>"@libsql/client"</i> package.
|
|
19
19
|
* @group Adapters
|
|
20
20
|
*/
|
|
21
|
-
export declare class LibsqlLockAdapter implements IDatabaseLockAdapter {
|
|
21
|
+
export declare class LibsqlLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
22
22
|
private databaseLockAdapter;
|
|
23
23
|
/***
|
|
24
24
|
* @example
|
package/dist/types/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { TimeSpan } from "../../../../utilities/_module";
|
|
4
|
+
import type { TimeSpan } from "../../../../utilities/_module";
|
|
5
5
|
import type { ILockAdapter, ILockData } from "../../../../lock/contracts/_module";
|
|
6
6
|
/**
|
|
7
7
|
* @group Adapters
|
|
@@ -44,8 +44,6 @@ export declare class MemoryLockAdapter implements ILockAdapter {
|
|
|
44
44
|
acquire(key: string, owner: string, ttl: TimeSpan | null): Promise<boolean>;
|
|
45
45
|
release(key: string, owner: string): Promise<boolean>;
|
|
46
46
|
forceRelease(key: string): Promise<void>;
|
|
47
|
-
isLocked(key: string): Promise<boolean>;
|
|
48
|
-
getRemainingTime(key: string): Promise<TimeSpan | null>;
|
|
49
47
|
refresh(key: string, owner: string, time: TimeSpan): Promise<boolean>;
|
|
50
48
|
getGroup(): string;
|
|
51
49
|
withGroup(group: string): ILockAdapter;
|
package/dist/types/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
+
import { type IDeinitizable, type IInitizable } from "../../../../utilities/_module";
|
|
4
5
|
import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts/_module";
|
|
5
6
|
import type { CollectionOptions, Db } from "mongodb";
|
|
6
7
|
/**
|
|
@@ -15,7 +16,7 @@ export type MongodbLockAdapterSettings = {
|
|
|
15
16
|
/**
|
|
16
17
|
* @group Adapters
|
|
17
18
|
*/
|
|
18
|
-
export declare class MongodbLockAdapter implements IDatabaseLockAdapter {
|
|
19
|
+
export declare class MongodbLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
19
20
|
private readonly group;
|
|
20
21
|
private readonly database;
|
|
21
22
|
private readonly collection;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { TimeSpan } from "../../../../utilities/_module";
|
|
4
|
+
import type { TimeSpan } from "../../../../utilities/_module";
|
|
5
5
|
import type { ILockAdapter } from "../../../../lock/contracts/_module";
|
|
6
6
|
import type Redis from "ioredis";
|
|
7
7
|
import type { Result } from "ioredis";
|
|
@@ -49,8 +49,6 @@ export declare class RedisLockAdapter implements ILockAdapter {
|
|
|
49
49
|
acquire(key: string, owner: string, ttl: TimeSpan | null): Promise<boolean>;
|
|
50
50
|
release(key: string, owner: string): Promise<boolean>;
|
|
51
51
|
forceRelease(key: string): Promise<void>;
|
|
52
|
-
isLocked(key: string): Promise<boolean>;
|
|
53
|
-
getRemainingTime(key: string): Promise<TimeSpan | null>;
|
|
54
52
|
refresh(key: string, owner: string, ttl: TimeSpan): Promise<boolean>;
|
|
55
53
|
getGroup(): string;
|
|
56
54
|
withGroup(group: string): ILockAdapter;
|