@daiso-tech/core 0.31.1 → 0.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/async/_module-exports.d.ts +1 -0
- package/dist/async/_module-exports.js +1 -0
- package/dist/async/_module-exports.js.map +1 -1
- package/dist/async/async.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 +105 -0
- package/dist/async/async.events.js +82 -0
- package/dist/async/async.events.js.map +1 -0
- 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-event-bus.d.ts +15 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js +50 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.d.ts +23 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js +44 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +66 -54
- package/dist/async/utilities/lazy-promise/lazy-promise.js +148 -94
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/retry/retry-or-fail.d.ts +1 -1
- package/dist/async/utilities/retry/retry-or-fail.js +1 -1
- package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
- package/dist/async/utilities/retry/retry.d.ts +1 -1
- package/dist/async/utilities/retry/retry.js.map +1 -1
- package/dist/cache/contracts/cache.errors.d.ts +13 -0
- package/dist/cache/contracts/cache.errors.js +13 -0
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +26 -2
- package/dist/cache/contracts/cache.events.js +26 -2
- 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/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 +13 -8
- package/dist/cache/implementations/derivables/cache/cache.js +17 -33
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +3 -22
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -42
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/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 +2 -2
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +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/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -8
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +5 -19
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.errors.d.ts +15 -0
- package/dist/event-bus/contracts/event-bus.errors.js +15 -0
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -8
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +9 -28
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +3 -29
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -48
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/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 +2 -2
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +1 -1
- 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 +14 -8
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +7 -24
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +3 -25
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -47
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/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/_module.d.ts +1 -0
- package/dist/utilities/classes/_module.js +1 -0
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +20 -2
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +20 -2
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
- package/dist/utilities/classes/sync-event-bus/_module.d.ts +1 -0
- package/dist/utilities/classes/sync-event-bus/_module.js +2 -0
- package/dist/utilities/classes/sync-event-bus/_module.js.map +1 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +16 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +53 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +1 -0
- package/dist/utilities/contracts/_module.d.ts +1 -0
- package/dist/utilities/contracts/_module.js +1 -0
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +13 -0
- package/dist/utilities/contracts/sync-event-bus-listenable.js +5 -0
- package/dist/utilities/contracts/sync-event-bus-listenable.js.map +1 -0
- package/dist/utilities/errors.d.ts +2 -0
- package/dist/utilities/errors.js +2 -0
- package/dist/utilities/errors.js.map +1 -1
- package/dist/utilities/functions/invokable.d.ts +4 -0
- package/dist/utilities/functions/invokable.js +9 -0
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/package.json +3 -4
|
@@ -6,7 +6,7 @@ import { beforeEach } from "vitest";
|
|
|
6
6
|
* The <i>flexibleSerdeTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IFlexibleSerde}</i> with <i>vitest</i>.
|
|
7
7
|
*
|
|
8
8
|
* IMPORT_PATH: ```"@daiso-tech/core/serde/test-utilities"```
|
|
9
|
-
* @group
|
|
9
|
+
* @group TestUtilities
|
|
10
10
|
* @example
|
|
11
11
|
* ```ts
|
|
12
12
|
* import { describe, test, expect } from "vitest";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from "../../utilities/classes/key-prefixer/_module.js";
|
|
2
2
|
export * from "../../utilities/classes/kysely-table-name-transformer-plugin/_module.js";
|
|
3
|
+
export * from "../../utilities/classes/sync-event-bus/_module.js";
|
|
3
4
|
export * from "../../utilities/classes/time-span/_module.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "../../utilities/classes/key-prefixer/_module.js";
|
|
2
2
|
export * from "../../utilities/classes/kysely-table-name-transformer-plugin/_module.js";
|
|
3
|
+
export * from "../../utilities/classes/sync-event-bus/_module.js";
|
|
3
4
|
export * from "../../utilities/classes/time-span/_module.js";
|
|
4
5
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/classes/_module.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qEAAqE,CAAC;AACpF,cAAc,0CAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/classes/_module.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qEAAqE,CAAC;AACpF,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC"}
|
|
@@ -14,8 +14,7 @@ type KeySettings = {
|
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
* @group KeyPrefixer
|
|
17
|
+
* @internal
|
|
19
18
|
*/
|
|
20
19
|
declare class Key implements IKey {
|
|
21
20
|
private readonly prefixArr;
|
|
@@ -57,17 +56,36 @@ export declare class KeyPrefixer implements IKeyPrefixer {
|
|
|
57
56
|
private readonly groupIdentifier;
|
|
58
57
|
private readonly keyIdentifier;
|
|
59
58
|
constructor(_rootPrefix: OneOrMore<string>, settings?: KeyPrefixerSettings);
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
60
62
|
get originalGroup(): OneOrMore<string> | null;
|
|
63
|
+
/**
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
61
66
|
get resolvedGroup(): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
62
70
|
get originalRootPrefix(): OneOrMore<string>;
|
|
71
|
+
/**
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
63
74
|
get resolvedRootPrefix(): string;
|
|
64
75
|
private validate;
|
|
65
76
|
private getKeyPrefixArray;
|
|
77
|
+
/**
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
66
80
|
get keyPrefix(): string;
|
|
67
81
|
/**
|
|
68
82
|
* Chaining this method multiple times will have no effect.
|
|
83
|
+
* @internal
|
|
69
84
|
*/
|
|
70
85
|
withGroup(group: OneOrMore<string>): KeyPrefixer;
|
|
86
|
+
/**
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
71
89
|
create(key: OneOrMore<string>): Key;
|
|
72
90
|
}
|
|
73
91
|
export {};
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
import { resolveOneOrMoreStr } from "../../../utilities/_module-exports.js";
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
* @group KeyPrefixer
|
|
7
|
+
* @internal
|
|
9
8
|
*/
|
|
10
9
|
class Key {
|
|
11
10
|
prefixArr;
|
|
@@ -62,18 +61,30 @@ export class KeyPrefixer {
|
|
|
62
61
|
this.validate(this._group);
|
|
63
62
|
}
|
|
64
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
65
67
|
get originalGroup() {
|
|
66
68
|
return this._group;
|
|
67
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
68
73
|
get resolvedGroup() {
|
|
69
74
|
if (this._group === null) {
|
|
70
75
|
return null;
|
|
71
76
|
}
|
|
72
77
|
return resolveOneOrMoreStr(this._group);
|
|
73
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* @internal
|
|
81
|
+
*/
|
|
74
82
|
get originalRootPrefix() {
|
|
75
83
|
return this._rootPrefix;
|
|
76
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
77
88
|
get resolvedRootPrefix() {
|
|
78
89
|
return resolveOneOrMoreStr(this._rootPrefix);
|
|
79
90
|
}
|
|
@@ -103,11 +114,15 @@ export class KeyPrefixer {
|
|
|
103
114
|
}
|
|
104
115
|
return [...array, this.keyIdentifier];
|
|
105
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
106
120
|
get keyPrefix() {
|
|
107
121
|
return resolveOneOrMoreStr(this.getKeyPrefixArray(), this.identifierDelimeter);
|
|
108
122
|
}
|
|
109
123
|
/**
|
|
110
124
|
* Chaining this method multiple times will have no effect.
|
|
125
|
+
* @internal
|
|
111
126
|
*/
|
|
112
127
|
withGroup(group) {
|
|
113
128
|
const keyProvider = new KeyPrefixer(this._rootPrefix, {
|
|
@@ -122,6 +137,9 @@ export class KeyPrefixer {
|
|
|
122
137
|
}
|
|
123
138
|
return keyProvider;
|
|
124
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
125
143
|
create(key) {
|
|
126
144
|
this.validate(key);
|
|
127
145
|
return new Key({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-prefixer.js","sourceRoot":"","sources":["../../../../src/utilities/classes/key-prefixer/key-prefixer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAiBtE
|
|
1
|
+
{"version":3,"file":"key-prefixer.js","sourceRoot":"","sources":["../../../../src/utilities/classes/key-prefixer/key-prefixer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../utilities/classes/sync-event-bus/sync-event-bus.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/utilities/classes/sync-event-bus/_module.ts"],"names":[],"mappings":"AAAA,cAAc,sDAAsD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { EventClass, EventInstance, EventListener } from "../../../event-bus/contracts/_module-exports.js";
|
|
5
|
+
import type { BaseEvent } from "../../../event-bus/contracts/_shared.js";
|
|
6
|
+
import type { ISyncEventListenable } from "../../../utilities/contracts/sync-event-bus-listenable.js";
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare class SyncEventBus<TEvents extends BaseEvent> implements ISyncEventListenable<TEvents> {
|
|
11
|
+
private readonly eventMap;
|
|
12
|
+
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
13
|
+
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
14
|
+
dispatch(event: TEvents): void;
|
|
15
|
+
clear(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import { callInvokable, getConstructorName, } from "../../../utilities/_module-exports.js";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export class SyncEventBus {
|
|
9
|
+
eventMap = new Map();
|
|
10
|
+
addListener(event, listener) {
|
|
11
|
+
const eventName = getConstructorName(event);
|
|
12
|
+
let listeners = this.eventMap.get(eventName);
|
|
13
|
+
if (listeners === undefined) {
|
|
14
|
+
listeners = new Set();
|
|
15
|
+
this.eventMap.set(eventName, listeners);
|
|
16
|
+
}
|
|
17
|
+
listeners.add(listener);
|
|
18
|
+
}
|
|
19
|
+
removeListener(event, listener) {
|
|
20
|
+
const eventName = getConstructorName(event);
|
|
21
|
+
const listeners = this.eventMap.get(eventName);
|
|
22
|
+
if (listeners === undefined) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
listeners.delete(listener);
|
|
26
|
+
if (listeners.size === 0) {
|
|
27
|
+
this.eventMap.delete(eventName);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
dispatch(event) {
|
|
31
|
+
const eventName = getConstructorName(event);
|
|
32
|
+
if (this.eventMap.size === 0) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const listeners = this.eventMap.get(eventName);
|
|
36
|
+
if (listeners === undefined) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (listeners.size === 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
for (const listener of listeners) {
|
|
43
|
+
callInvokable(listener, event);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
clear() {
|
|
47
|
+
for (const listeners of this.eventMap.values()) {
|
|
48
|
+
listeners.clear();
|
|
49
|
+
}
|
|
50
|
+
this.eventMap.clear();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=sync-event-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-event-bus.js","sourceRoot":"","sources":["../../../../src/utilities/classes/sync-event-bus/sync-event-bus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EACH,aAAa,EACb,kBAAkB,GACrB,MAAM,gCAAgC,CAAC;AAGxC;;GAEG;AACH,MAAM,OAAO,YAAY;IAGJ,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEvE,WAAW,CACP,KAAkB,EAClB,QAAmD;QAEnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CACV,KAAkB,EAClB,QAAmD;QAEnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAc;QACnB,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,KAAK;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,SAAS,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACJ"}
|
|
@@ -3,3 +3,4 @@ export * from "../../utilities/contracts/initizable.contract.js";
|
|
|
3
3
|
export * from "../../utilities/contracts/prunable.contract.js";
|
|
4
4
|
export * from "../../utilities/contracts/serialized-error.contract.js";
|
|
5
5
|
export * from "../../utilities/contracts/sqlite-database.contract.js";
|
|
6
|
+
export * from "../../utilities/contracts/sync-event-bus-listenable.js";
|
|
@@ -3,4 +3,5 @@ export * from "../../utilities/contracts/initizable.contract.js";
|
|
|
3
3
|
export * from "../../utilities/contracts/prunable.contract.js";
|
|
4
4
|
export * from "../../utilities/contracts/serialized-error.contract.js";
|
|
5
5
|
export * from "../../utilities/contracts/sqlite-database.contract.js";
|
|
6
|
+
export * from "../../utilities/contracts/sync-event-bus-listenable.js";
|
|
6
7
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC"}
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { BaseEvent, EventClass, EventInstance, EventListener } from "../../event-bus/contracts/_module-exports.js";
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* IMPORT_PATH: ```"@daiso-tech/core/utilities"```
|
|
8
|
+
* @group Contracts
|
|
9
|
+
*/
|
|
10
|
+
export type ISyncEventListenable<TEvents extends BaseEvent> = {
|
|
11
|
+
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
12
|
+
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: EventListener<EventInstance<TEventClass>>): void;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-event-bus-listenable.js","sourceRoot":"","sources":["../../../src/utilities/contracts/sync-event-bus-listenable.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -10,6 +10,7 @@ export declare class FactoryError extends Error {
|
|
|
10
10
|
constructor(message: string, cause?: unknown);
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
+
* The error occurs when attempting to access the default adapter of the <i>Factory</i> class instance, which has not been defined.
|
|
13
14
|
*
|
|
14
15
|
* IMPORT_PATH: ```"@daiso-tech/core/utilities"```
|
|
15
16
|
* @group Errors
|
|
@@ -18,6 +19,7 @@ export declare class DefaultAdapterNotDefinedError extends FactoryError {
|
|
|
18
19
|
constructor(factoryName: string);
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
22
|
+
* The error occurs when attempting to access the an adapter of the <i>Factory</i> class instance, which has not been registered.
|
|
21
23
|
*
|
|
22
24
|
* IMPORT_PATH: ```"@daiso-tech/core/utilities"```
|
|
23
25
|
* @group Errors
|
package/dist/utilities/errors.js
CHANGED
|
@@ -13,6 +13,7 @@ export class FactoryError extends Error {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
+
* The error occurs when attempting to access the default adapter of the <i>Factory</i> class instance, which has not been defined.
|
|
16
17
|
*
|
|
17
18
|
* IMPORT_PATH: ```"@daiso-tech/core/utilities"```
|
|
18
19
|
* @group Errors
|
|
@@ -24,6 +25,7 @@ export class DefaultAdapterNotDefinedError extends FactoryError {
|
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
28
|
+
* The error occurs when attempting to access the an adapter of the <i>Factory</i> class instance, which has not been registered.
|
|
27
29
|
*
|
|
28
30
|
* IMPORT_PATH: ```"@daiso-tech/core/utilities"```
|
|
29
31
|
* @group Errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utilities/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACnC,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;CACJ;AAED
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utilities/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACnC,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,6BAA8B,SAAQ,YAAY;IAC3D,YAAY,WAAmB;QAC3B,KAAK,CAAC,wCAAwC,WAAW,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC;IACnD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,YAAY;IACtD,YAAY,WAAmB;QAC3B,KAAK,CAAC,yBAAyB,WAAW,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAC9C,CAAC;CACJ"}
|
|
@@ -18,3 +18,7 @@ export declare function isInvokable<TValue, TArgs extends unknown[], TReturn>(in
|
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
20
|
export declare function resolveInvokable<TArgs extends unknown[], TReturn>(invokable: Invokable<TArgs, TReturn>): InvokableFn<TArgs, TReturn>;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare function callInvokable<TArgs extends unknown[], TReturn>(invokable: Invokable<TArgs, TReturn>, ...args: TArgs): TReturn;
|
|
@@ -30,4 +30,13 @@ export function resolveInvokable(invokable) {
|
|
|
30
30
|
}
|
|
31
31
|
return invokable;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export function callInvokable(invokable, ...args) {
|
|
37
|
+
if (isInvokableObject(invokable)) {
|
|
38
|
+
return invokable.invoke(...args);
|
|
39
|
+
}
|
|
40
|
+
return invokable(...args);
|
|
41
|
+
}
|
|
33
42
|
//# sourceMappingURL=invokable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokable.js","sourceRoot":"","sources":["../../../src/utilities/functions/invokable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC7B,SAA6C;IAE7C,MAAM,UAAU,GAAG,SAAoC,CAAC;IACxD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAA6C;IAE7C,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACvB,SAA6C;IAE7C,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,SAAoC;IAEpC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"invokable.js","sourceRoot":"","sources":["../../../src/utilities/functions/invokable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC7B,SAA6C;IAE7C,MAAM,UAAU,GAAG,SAAoC,CAAC;IACxD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAA6C;IAE7C,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACvB,SAA6C;IAE7C,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,SAAoC;IAEpC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAAoC,EACpC,GAAG,IAAW;IAEd,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daiso-tech/core",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.32.1",
|
|
5
5
|
"author": "Yousif Abdulkarim",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"type": "module",
|
|
@@ -160,9 +160,8 @@
|
|
|
160
160
|
"publint": "^0.3.8",
|
|
161
161
|
"rimraf": "^6.0.1",
|
|
162
162
|
"tsc-alias": "^1.8.10",
|
|
163
|
-
"typedoc": "
|
|
164
|
-
"typedoc-
|
|
165
|
-
"typedoc-plugin-merge-modules": "^6.0.0",
|
|
163
|
+
"typedoc": "0.27.1",
|
|
164
|
+
"typedoc-plugin-merge-modules": "6.1.0",
|
|
166
165
|
"typescript": "^5.5.4",
|
|
167
166
|
"vite-tsconfig-paths": "^4.3.2",
|
|
168
167
|
"vitest": "^3.0.2"
|