@daiso-tech/core 0.32.0 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/async/async.errors.d.ts +14 -0
- package/dist/async/async.errors.js +14 -0
- package/dist/async/async.errors.js.map +1 -1
- package/dist/async/async.events.d.ts +23 -0
- package/dist/async/async.events.js +23 -0
- package/dist/async/async.events.js.map +1 -1
- package/dist/async/backof-policies/_shared.d.ts +1 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +7 -41
- package/dist/async/utilities/lazy-promise/lazy-promise.js +7 -8
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/cache/contracts/cache-factory.contract.d.ts +3 -3
- package/dist/cache/contracts/cache.contract.d.ts +0 -22
- package/dist/cache/contracts/cache.errors.d.ts +14 -1
- package/dist/cache/contracts/cache.errors.js +14 -1
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +28 -14
- package/dist/cache/contracts/cache.events.js +28 -3
- package/dist/cache/contracts/cache.events.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +3 -3
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +0 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +3 -3
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +9 -139
- package/dist/cache/implementations/derivables/cache/cache.js +38 -229
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +6 -6
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +2 -2
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +4 -4
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +239 -433
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +2 -2
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +1 -1
- package/dist/collection/contracts/collection.errors.d.ts +17 -0
- package/dist/collection/contracts/collection.errors.js +17 -0
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +3 -3
- package/dist/event-bus/contracts/event-bus.contract.d.ts +2 -44
- package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.errors.d.ts +16 -1
- package/dist/event-bus/contracts/event-bus.errors.js +16 -1
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +6 -77
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +11 -131
- 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 +4 -4
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -2
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +4 -4
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +691 -1432
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
- package/dist/lock/contracts/lock-provider-factory.contract.d.ts +3 -3
- package/dist/lock/contracts/lock-provider.contract.d.ts +10 -20
- package/dist/lock/contracts/lock.contract.d.ts +1 -10
- package/dist/lock/contracts/lock.errors.d.ts +18 -0
- package/dist/lock/contracts/lock.errors.js +18 -0
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/contracts/lock.events.d.ts +22 -0
- package/dist/lock/contracts/lock.events.js +22 -0
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +12 -155
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +31 -228
- 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 +5 -5
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +7 -30
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +8 -58
- package/dist/lock/implementations/derivables/lock-provider/lock.js +33 -105
- 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 +9 -8
- 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 +2 -2
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +178 -659
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/contracts/deserializer.contract.d.ts +1 -1
- package/dist/serde/contracts/deserializer.contract.js +1 -1
- package/dist/serde/contracts/deserializer.contract.js.map +1 -1
- package/dist/serde/contracts/serde.errors.d.ts +14 -2
- package/dist/serde/contracts/serde.errors.js +16 -4
- package/dist/serde/contracts/serde.errors.js.map +1 -1
- package/dist/serde/contracts/serializer.contract.d.ts +1 -1
- package/dist/serde/contracts/serializer.contract.js +1 -1
- package/dist/serde/contracts/serializer.contract.js.map +1 -1
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +3 -3
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +3 -3
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +3 -3
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +3 -3
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +2 -2
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +2 -2
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +1 -1
- package/dist/utilities/classes/key-prefixer/_module.d.ts +0 -1
- package/dist/utilities/classes/key-prefixer/_module.js +0 -1
- package/dist/utilities/classes/key-prefixer/_module.js.map +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +2 -11
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +4 -46
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
- package/dist/utilities/errors.d.ts +2 -0
- package/dist/utilities/errors.js +2 -0
- package/dist/utilities/errors.js.map +1 -1
- package/package.json +3 -4
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.d.ts +0 -15
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js +0 -50
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js.map +0 -1
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.d.ts +0 -23
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js +0 -44
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js.map +0 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +0 -28
- package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js +0 -5
- package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js.map +0 -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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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { ILockProvider } from "../../lock/contracts/lock-provider.contract.js";
|
|
5
5
|
/**
|
|
6
|
-
* The <i>ILockProviderFactory</i> contract makes it easy to configure and switch between different <i>{@link
|
|
6
|
+
* The <i>ILockProviderFactory</i> contract makes it easy to configure and switch between different <i>{@link ILockProvider}</i> dynamically.
|
|
7
7
|
*
|
|
8
8
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
9
9
|
* @group Contracts
|
|
@@ -15,5 +15,5 @@ export type ILockProviderFactory<TAdapters extends string = string> = {
|
|
|
15
15
|
* @throws {UnregisteredAdapterError} {@link UnregisteredAdapterError}
|
|
16
16
|
* @throws {DefaultAdapterNotDefinedError} {@link DefaultAdapterNotDefinedError}
|
|
17
17
|
*/
|
|
18
|
-
use(adapterName?: TAdapters):
|
|
18
|
+
use(adapterName?: TAdapters): ILockProvider;
|
|
19
19
|
};
|
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
4
|
import type { OneOrMore, TimeSpan } from "../../utilities/_module-exports.js";
|
|
5
|
-
import type { ILock
|
|
5
|
+
import type { ILock } from "../../lock/contracts/lock.contract.js";
|
|
6
|
+
import type { IEventListenable } from "../../event-bus/contracts/_module-exports.js";
|
|
7
|
+
import type { LockEvents } from "../../lock/contracts/lock.events.js";
|
|
8
|
+
/**
|
|
9
|
+
* The <i>ILockListenable</i> contract defines a way for listening <i>{@link ILock}</i> operations.
|
|
10
|
+
*
|
|
11
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
12
|
+
* @group Contracts
|
|
13
|
+
*/
|
|
14
|
+
export type ILockListenable = IEventListenable<LockEvents>;
|
|
6
15
|
/**
|
|
7
16
|
*
|
|
8
17
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
@@ -32,10 +41,6 @@ export type ILockProviderBase = {
|
|
|
32
41
|
* Think of an <i>Iterable</i> as representing a path.
|
|
33
42
|
*/
|
|
34
43
|
create(key: OneOrMore<string>, settings?: LockProviderCreateSettings): ILock;
|
|
35
|
-
/**
|
|
36
|
-
* The <i>getGroup</i> method returns the group name.
|
|
37
|
-
*/
|
|
38
|
-
getGroup(): string | null;
|
|
39
44
|
};
|
|
40
45
|
/**
|
|
41
46
|
* The <i>ILockProvider</i> contract defines a way for managing locks independent of the underlying technology.
|
|
@@ -45,18 +50,3 @@ export type ILockProviderBase = {
|
|
|
45
50
|
* @group Contracts
|
|
46
51
|
*/
|
|
47
52
|
export type ILockProvider = ILockListenable & ILockProviderBase;
|
|
48
|
-
/**
|
|
49
|
-
* The <i>IGroupableLockProvider</i> contract defines a way for managing locks independent of the underlying technology.
|
|
50
|
-
* It commes with one extra method which is useful for multitennat applications compared to <i>{@link ILockProvider}</i>.
|
|
51
|
-
*
|
|
52
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
53
|
-
* @group Contracts
|
|
54
|
-
*/
|
|
55
|
-
export type IGroupableLockProvider = ILockProvider & {
|
|
56
|
-
/**
|
|
57
|
-
* The <i>withGroup</i> method returns a new <i>{@link ILockProvider}</i> instance that groups locks together.
|
|
58
|
-
* Only locks in the same group will be acquired and released, leaving locks outside the group unaffected.
|
|
59
|
-
* This useful for multitennat applications.
|
|
60
|
-
*/
|
|
61
|
-
withGroup(group: OneOrMore<string>): ILockProvider;
|
|
62
|
-
};
|
|
@@ -4,15 +4,6 @@
|
|
|
4
4
|
import type { AsyncLazy, Result, TimeSpan } from "../../utilities/_module-exports.js";
|
|
5
5
|
import type { LazyPromise } from "../../async/_module-exports.js";
|
|
6
6
|
import type { KeyAlreadyAcquiredLockError } from "../../lock/contracts/lock.errors.js";
|
|
7
|
-
import type { IEventListenable } from "../../event-bus/contracts/_module-exports.js";
|
|
8
|
-
import type { LockEvents } from "../../lock/contracts/lock.events.js";
|
|
9
|
-
/**
|
|
10
|
-
* The <i>ILockListenable</i> contract defines a way for listening <i>{@link ILock}</i> operations.
|
|
11
|
-
*
|
|
12
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
13
|
-
* @group Contracts
|
|
14
|
-
*/
|
|
15
|
-
export type ILockListenable = IEventListenable<LockEvents>;
|
|
16
7
|
/**
|
|
17
8
|
*
|
|
18
9
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
@@ -27,7 +18,7 @@ export type AquireBlockingSettings = {
|
|
|
27
18
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
28
19
|
* @group Contracts
|
|
29
20
|
*/
|
|
30
|
-
export type ILock =
|
|
21
|
+
export type ILock = {
|
|
31
22
|
/**
|
|
32
23
|
* The <i>run</i> method wraps an <i>{@link Invokable}</i> or <i>{@link LazyPromise}</i> with the <i>acquire</i> and <i>release</i> method.
|
|
33
24
|
* @throws {UnableToAquireLockError} {@link UnableToAquireLockError}
|
|
@@ -24,6 +24,7 @@ export declare class UnexpectedLockError extends LockError implements ISerializa
|
|
|
24
24
|
serialize(): ISerializedError;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
+
* The error is thrown when an unexpected error occurs while acquiring a lock.
|
|
27
28
|
*
|
|
28
29
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
29
30
|
* @group Errors
|
|
@@ -34,6 +35,7 @@ export declare class UnableToAquireLockError extends UnexpectedLockError impleme
|
|
|
34
35
|
serialize(): ISerializedError;
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
38
|
+
* The error is thrown when an unexpected error occurs while releasing a lock.
|
|
37
39
|
*
|
|
38
40
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
39
41
|
* @group Errors
|
|
@@ -44,6 +46,7 @@ export declare class UnableToReleaseLockError extends UnexpectedLockError implem
|
|
|
44
46
|
serialize(): ISerializedError;
|
|
45
47
|
}
|
|
46
48
|
/**
|
|
49
|
+
* The error is thrown when trying to acquire a lock that is owned by a different owner.
|
|
47
50
|
*
|
|
48
51
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
49
52
|
* @group Errors
|
|
@@ -54,6 +57,7 @@ export declare class KeyAlreadyAcquiredLockError extends LockError implements IS
|
|
|
54
57
|
serialize(): ISerializedError;
|
|
55
58
|
}
|
|
56
59
|
/**
|
|
60
|
+
* The error is thrown when trying to release a lock that is owned by a different owner.
|
|
57
61
|
*
|
|
58
62
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
59
63
|
* @group Errors
|
|
@@ -64,6 +68,7 @@ export declare class UnownedReleaseLockError extends LockError implements ISeria
|
|
|
64
68
|
serialize(): ISerializedError;
|
|
65
69
|
}
|
|
66
70
|
/**
|
|
71
|
+
* The error is thrown when trying to referesh a lock that is owned by a different owner.
|
|
67
72
|
*
|
|
68
73
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
69
74
|
* @group Errors
|
|
@@ -73,6 +78,19 @@ export declare class UnownedRefreshLockError extends LockError implements ISeria
|
|
|
73
78
|
constructor(message: string, cause?: unknown);
|
|
74
79
|
serialize(): ISerializedError;
|
|
75
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
84
|
+
* @group Errors
|
|
85
|
+
*/
|
|
86
|
+
export declare const LOCK_ERRORS: {
|
|
87
|
+
readonly Base: typeof LockError;
|
|
88
|
+
readonly Unexpected: typeof UnexpectedLockError;
|
|
89
|
+
readonly UnableToAquire: typeof UnableToAquireLockError;
|
|
90
|
+
readonly UnableToRelease: typeof UnableToReleaseLockError;
|
|
91
|
+
readonly KeyAlreadyAcquired: typeof KeyAlreadyAcquiredLockError;
|
|
92
|
+
readonly UnownedRelease: typeof UnownedReleaseLockError;
|
|
93
|
+
};
|
|
76
94
|
/**
|
|
77
95
|
* The <i>registerLockErrorsToSerde</i> function registers all <i>{@link ILock}</i> related errors with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
78
96
|
*
|
|
@@ -43,6 +43,7 @@ export class UnexpectedLockError extends LockError {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
+
* The error is thrown when an unexpected error occurs while acquiring a lock.
|
|
46
47
|
*
|
|
47
48
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
48
49
|
* @group Errors
|
|
@@ -63,6 +64,7 @@ export class UnableToAquireLockError extends UnexpectedLockError {
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
67
|
+
* The error is thrown when an unexpected error occurs while releasing a lock.
|
|
66
68
|
*
|
|
67
69
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
68
70
|
* @group Errors
|
|
@@ -83,6 +85,7 @@ export class UnableToReleaseLockError extends UnexpectedLockError {
|
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
/**
|
|
88
|
+
* The error is thrown when trying to acquire a lock that is owned by a different owner.
|
|
86
89
|
*
|
|
87
90
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
88
91
|
* @group Errors
|
|
@@ -103,6 +106,7 @@ export class KeyAlreadyAcquiredLockError extends LockError {
|
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
/**
|
|
109
|
+
* The error is thrown when trying to release a lock that is owned by a different owner.
|
|
106
110
|
*
|
|
107
111
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
108
112
|
* @group Errors
|
|
@@ -123,6 +127,7 @@ export class UnownedReleaseLockError extends LockError {
|
|
|
123
127
|
}
|
|
124
128
|
}
|
|
125
129
|
/**
|
|
130
|
+
* The error is thrown when trying to referesh a lock that is owned by a different owner.
|
|
126
131
|
*
|
|
127
132
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
128
133
|
* @group Errors
|
|
@@ -142,6 +147,19 @@ export class UnownedRefreshLockError extends LockError {
|
|
|
142
147
|
};
|
|
143
148
|
}
|
|
144
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
*
|
|
152
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
153
|
+
* @group Errors
|
|
154
|
+
*/
|
|
155
|
+
export const LOCK_ERRORS = {
|
|
156
|
+
Base: LockError,
|
|
157
|
+
Unexpected: UnexpectedLockError,
|
|
158
|
+
UnableToAquire: UnableToAquireLockError,
|
|
159
|
+
UnableToRelease: UnableToReleaseLockError,
|
|
160
|
+
KeyAlreadyAcquired: KeyAlreadyAcquiredLockError,
|
|
161
|
+
UnownedRelease: UnownedReleaseLockError,
|
|
162
|
+
};
|
|
145
163
|
/**
|
|
146
164
|
* The <i>registerLockErrorsToSerde</i> function registers all <i>{@link ILock}</i> related errors with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
147
165
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACH,IAAI,EACJ,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AAMxC;;;;GAIG;AACH,MAAM,OAAO,SACT,SAAQ,KAAK;IAGb,MAAM,CAAC,WAAW,CAAC,eAAiC;QAChD,OAAO,IAAI,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,mBACT,SAAQ,SAAS;IAGjB,MAAM,CAAU,WAAW,CACvB,eAAiC;QAEjC,OAAO,IAAI,mBAAmB,CAC1B,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,KAAK,CACxB,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAEQ,SAAS;QACd,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;CACJ;AAED
|
|
1
|
+
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import type { IFlexibleSerde } from "../../serde/contracts/_module-exports.js";
|
|
|
6
6
|
import type { OneOrMore } from "../../utilities/_module-exports.js";
|
|
7
7
|
import { type TimeSpan } from "../../utilities/_module-exports.js";
|
|
8
8
|
/**
|
|
9
|
+
* The event is dispatched when a lock is aquired.
|
|
9
10
|
*
|
|
10
11
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
11
12
|
* @group Events
|
|
@@ -17,6 +18,7 @@ export declare class KeyAcquiredLockEvent extends BaseEvent<{
|
|
|
17
18
|
}> {
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
21
|
+
* The event is dispatched when a lock is released.
|
|
20
22
|
*
|
|
21
23
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
22
24
|
* @group Events
|
|
@@ -27,6 +29,7 @@ export declare class KeyReleasedLockEvent extends BaseEvent<{
|
|
|
27
29
|
}> {
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
32
|
+
* The event is dispatched when a lock is forcefully released.
|
|
30
33
|
*
|
|
31
34
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
32
35
|
* @group Events
|
|
@@ -36,6 +39,7 @@ export declare class KeyForceReleasedLockEvent extends BaseEvent<{
|
|
|
36
39
|
}> {
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
42
|
+
* The event is dispatched when trying to release a lock that is owned by a different owner.
|
|
39
43
|
*
|
|
40
44
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
41
45
|
* @group Events
|
|
@@ -46,6 +50,7 @@ export declare class UnownedReleaseLockEvent extends BaseEvent<{
|
|
|
46
50
|
}> {
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
53
|
+
* The event is dispatched when trying to refefresh a lock that is owned by a different owner.
|
|
49
54
|
*
|
|
50
55
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
51
56
|
* @group Events
|
|
@@ -56,6 +61,7 @@ export declare class UnownedRefreshLockEvent extends BaseEvent<{
|
|
|
56
61
|
}> {
|
|
57
62
|
}
|
|
58
63
|
/**
|
|
64
|
+
* The event is dispatched when trying to acquire a lock that is owned by a different owner.
|
|
59
65
|
*
|
|
60
66
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
61
67
|
* @group Events
|
|
@@ -66,6 +72,7 @@ export declare class KeyAlreadyAcquiredLockEvent extends BaseEvent<{
|
|
|
66
72
|
}> {
|
|
67
73
|
}
|
|
68
74
|
/**
|
|
75
|
+
* The event is dispatched when a lock is refreshed.
|
|
69
76
|
*
|
|
70
77
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
71
78
|
* @group Events
|
|
@@ -88,6 +95,21 @@ export declare class UnexpectedErrorLockEvent extends BaseEvent<{
|
|
|
88
95
|
error: unknown;
|
|
89
96
|
}> {
|
|
90
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
101
|
+
* @group Events
|
|
102
|
+
*/
|
|
103
|
+
export declare const LOCK_EVENTS: {
|
|
104
|
+
readonly KeyAcquired: typeof KeyAcquiredLockEvent;
|
|
105
|
+
readonly KeyReleased: typeof KeyReleasedLockEvent;
|
|
106
|
+
readonly UnownedRelease: typeof UnownedReleaseLockEvent;
|
|
107
|
+
readonly UnownedRefresh: typeof UnownedRefreshLockEvent;
|
|
108
|
+
readonly KeyAlreadyAcquired: typeof KeyAlreadyAcquiredLockEvent;
|
|
109
|
+
readonly KeyForceReleased: typeof KeyForceReleasedLockEvent;
|
|
110
|
+
readonly KeyRefreshed: typeof KeyRefreshedLockEvent;
|
|
111
|
+
readonly UnexpectedError: typeof UnexpectedErrorLockEvent;
|
|
112
|
+
};
|
|
91
113
|
/**
|
|
92
114
|
*
|
|
93
115
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { BaseEvent } from "../../event-bus/contracts/_module-exports.js";
|
|
5
5
|
import { CORE, resolveOneOrMore, } from "../../utilities/_module-exports.js";
|
|
6
6
|
/**
|
|
7
|
+
* The event is dispatched when a lock is aquired.
|
|
7
8
|
*
|
|
8
9
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
9
10
|
* @group Events
|
|
@@ -11,6 +12,7 @@ import { CORE, resolveOneOrMore, } from "../../utilities/_module-exports.js";
|
|
|
11
12
|
export class KeyAcquiredLockEvent extends BaseEvent {
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
15
|
+
* The event is dispatched when a lock is released.
|
|
14
16
|
*
|
|
15
17
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
16
18
|
* @group Events
|
|
@@ -18,6 +20,7 @@ export class KeyAcquiredLockEvent extends BaseEvent {
|
|
|
18
20
|
export class KeyReleasedLockEvent extends BaseEvent {
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
23
|
+
* The event is dispatched when a lock is forcefully released.
|
|
21
24
|
*
|
|
22
25
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
23
26
|
* @group Events
|
|
@@ -25,6 +28,7 @@ export class KeyReleasedLockEvent extends BaseEvent {
|
|
|
25
28
|
export class KeyForceReleasedLockEvent extends BaseEvent {
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
31
|
+
* The event is dispatched when trying to release a lock that is owned by a different owner.
|
|
28
32
|
*
|
|
29
33
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
30
34
|
* @group Events
|
|
@@ -32,6 +36,7 @@ export class KeyForceReleasedLockEvent extends BaseEvent {
|
|
|
32
36
|
export class UnownedReleaseLockEvent extends BaseEvent {
|
|
33
37
|
}
|
|
34
38
|
/**
|
|
39
|
+
* The event is dispatched when trying to refefresh a lock that is owned by a different owner.
|
|
35
40
|
*
|
|
36
41
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
37
42
|
* @group Events
|
|
@@ -39,6 +44,7 @@ export class UnownedReleaseLockEvent extends BaseEvent {
|
|
|
39
44
|
export class UnownedRefreshLockEvent extends BaseEvent {
|
|
40
45
|
}
|
|
41
46
|
/**
|
|
47
|
+
* The event is dispatched when trying to acquire a lock that is owned by a different owner.
|
|
42
48
|
*
|
|
43
49
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
44
50
|
* @group Events
|
|
@@ -46,6 +52,7 @@ export class UnownedRefreshLockEvent extends BaseEvent {
|
|
|
46
52
|
export class KeyAlreadyAcquiredLockEvent extends BaseEvent {
|
|
47
53
|
}
|
|
48
54
|
/**
|
|
55
|
+
* The event is dispatched when a lock is refreshed.
|
|
49
56
|
*
|
|
50
57
|
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
51
58
|
* @group Events
|
|
@@ -59,6 +66,21 @@ export class KeyRefreshedLockEvent extends BaseEvent {
|
|
|
59
66
|
*/
|
|
60
67
|
export class UnexpectedErrorLockEvent extends BaseEvent {
|
|
61
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/contracts"```
|
|
72
|
+
* @group Events
|
|
73
|
+
*/
|
|
74
|
+
export const LOCK_EVENTS = {
|
|
75
|
+
KeyAcquired: KeyAcquiredLockEvent,
|
|
76
|
+
KeyReleased: KeyReleasedLockEvent,
|
|
77
|
+
UnownedRelease: UnownedReleaseLockEvent,
|
|
78
|
+
UnownedRefresh: UnownedRefreshLockEvent,
|
|
79
|
+
KeyAlreadyAcquired: KeyAlreadyAcquiredLockEvent,
|
|
80
|
+
KeyForceReleased: KeyForceReleasedLockEvent,
|
|
81
|
+
KeyRefreshed: KeyRefreshedLockEvent,
|
|
82
|
+
UnexpectedError: UnexpectedErrorLockEvent,
|
|
83
|
+
};
|
|
62
84
|
/**
|
|
63
85
|
* The <i>registerLockEventsToSerde</i> function registers all <i>{@link ILock}</i> related events with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
64
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.events.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,EACH,IAAI,EACJ,gBAAgB,GAEnB,MAAM,gCAAgC,CAAC;AAExC
|
|
1
|
+
{"version":3,"file":"lock.events.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,EACH,IAAI,EACJ,gBAAgB,GAEnB,MAAM,gCAAgC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAIxC;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAGxC;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,SAE7C;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAG3C;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAG3C;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,SAG/C;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAIzC;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,SAK5C;CAAG;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,uBAAuB;IACvC,cAAc,EAAE,uBAAuB;IACvC,kBAAkB,EAAE,2BAA2B;IAC/C,gBAAgB,EAAE,yBAAyB;IAC3C,YAAY,EAAE,qBAAqB;IACnC,eAAe,EAAE,wBAAwB;CACnC,CAAC;AAiBX;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACrC,KAAgC;IAEhC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM;aACD,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;aACzC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;aACzC,aAAa,CAAC,uBAAuB,EAAE,IAAI,CAAC;aAC5C,aAAa,CAAC,2BAA2B,EAAE,IAAI,CAAC;aAChD,aAAa,CAAC,uBAAuB,EAAE,IAAI,CAAC;aAC5C,aAAa,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;AACL,CAAC"}
|