@xyo-network/module-events 2.52.1 → 2.53.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/Events/Events.js +74 -47
- package/dist/cjs/Events/Events.js.map +1 -1
- package/dist/docs.json +1089 -881
- package/dist/esm/Events/Events.js +68 -43
- package/dist/esm/Events/Events.js.map +1 -1
- package/dist/types/Events/Events.d.ts +17 -15
- package/dist/types/Events/Events.d.ts.map +1 -1
- package/dist/types/model/Event.d.ts +10 -16
- package/dist/types/model/Event.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/Events/Events.ts +109 -67
- package/src/model/Event.ts +13 -22
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { forget } from '@xylabs/forget';
|
|
3
3
|
const resolvedPromise = Promise.resolve();
|
|
4
|
-
const listenerAdded = 'listenerAdded';
|
|
5
|
-
const listenerRemoved = 'listenerRemoved';
|
|
6
4
|
let canEmitMetaEvents = false;
|
|
7
5
|
let isGlobalDebugEnabled = false;
|
|
8
6
|
function assertEventName(eventName) {
|
|
@@ -15,12 +13,14 @@ function assertListener(listener) {
|
|
|
15
13
|
throw new TypeError('listener must be a function');
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
|
-
const isMetaEvent = (eventName) => eventName === listenerAdded || eventName === listenerRemoved;
|
|
16
|
+
const isMetaEvent = (eventName) => eventName === 'listenerAdded' || eventName === 'listenerRemoved';
|
|
19
17
|
export class Events {
|
|
20
18
|
static anyMap = new WeakMap();
|
|
21
19
|
static eventsMap = new WeakMap();
|
|
22
20
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
21
|
debug;
|
|
22
|
+
//this is here to be able to query the type, not use
|
|
23
|
+
eventData = {};
|
|
24
24
|
constructor(options = {}) {
|
|
25
25
|
Events.anyMap.set(this, new Set());
|
|
26
26
|
Events.eventsMap.set(this, new Map());
|
|
@@ -82,50 +82,26 @@ export class Events {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
async emit(eventName,
|
|
86
|
-
await this.emitInternal(eventName,
|
|
87
|
-
}
|
|
88
|
-
async emitInternal(eventName, eventArgs) {
|
|
89
|
-
assertEventName(eventName);
|
|
90
|
-
if (isMetaEvent(eventName) && !canEmitMetaEvents) {
|
|
91
|
-
throw new TypeError('`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`');
|
|
92
|
-
}
|
|
93
|
-
this.logIfDebugEnabled('emit', eventName, eventArgs);
|
|
94
|
-
const listeners = this.getListeners(eventName) ?? new Set();
|
|
95
|
-
const anyListeners = assertEx(Events.anyMap.get(this));
|
|
96
|
-
const staticListeners = [...listeners];
|
|
97
|
-
const staticAnyListeners = isMetaEvent(eventName) ? [] : [...anyListeners];
|
|
98
|
-
await resolvedPromise;
|
|
99
|
-
await Promise.all([
|
|
100
|
-
...staticListeners.map(async (listener) => {
|
|
101
|
-
if (listeners.has(listener)) {
|
|
102
|
-
return await listener(eventArgs);
|
|
103
|
-
}
|
|
104
|
-
}),
|
|
105
|
-
...staticAnyListeners.map(async (listener) => {
|
|
106
|
-
if (anyListeners.has(listener)) {
|
|
107
|
-
return await listener(eventName, eventArgs);
|
|
108
|
-
}
|
|
109
|
-
}),
|
|
110
|
-
]);
|
|
85
|
+
async emit(eventName, eventArgs) {
|
|
86
|
+
await this.emitInternal(eventName, eventArgs);
|
|
111
87
|
}
|
|
112
88
|
async emitMetaEvent(eventName, eventArgs) {
|
|
113
89
|
if (isMetaEvent(eventName)) {
|
|
114
90
|
try {
|
|
115
91
|
canEmitMetaEvents = true;
|
|
116
|
-
await this.
|
|
92
|
+
await this.emitMetaEventInternal(eventName, eventArgs);
|
|
117
93
|
}
|
|
118
94
|
finally {
|
|
119
95
|
canEmitMetaEvents = false;
|
|
120
96
|
}
|
|
121
97
|
}
|
|
122
98
|
}
|
|
123
|
-
async emitSerial(eventName,
|
|
99
|
+
async emitSerial(eventName, eventArgs) {
|
|
124
100
|
assertEventName(eventName);
|
|
125
101
|
if (isMetaEvent(eventName) && !canEmitMetaEvents) {
|
|
126
102
|
throw new TypeError('`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`');
|
|
127
103
|
}
|
|
128
|
-
this.logIfDebugEnabled('emitSerial', eventName,
|
|
104
|
+
this.logIfDebugEnabled('emitSerial', eventName, eventArgs);
|
|
129
105
|
const listeners = this.getListeners(eventName) ?? new Set();
|
|
130
106
|
const anyListeners = assertEx(Events.anyMap.get(this));
|
|
131
107
|
const staticListeners = [...listeners];
|
|
@@ -133,12 +109,12 @@ export class Events {
|
|
|
133
109
|
await resolvedPromise;
|
|
134
110
|
for (const listener of staticListeners) {
|
|
135
111
|
if (listeners.has(listener)) {
|
|
136
|
-
await listener(
|
|
112
|
+
await listener(eventArgs);
|
|
137
113
|
}
|
|
138
114
|
}
|
|
139
115
|
for (const listener of staticAnyListeners) {
|
|
140
116
|
if (anyListeners.has(listener)) {
|
|
141
|
-
await listener(eventName,
|
|
117
|
+
await listener(eventName, eventArgs);
|
|
142
118
|
}
|
|
143
119
|
}
|
|
144
120
|
}
|
|
@@ -187,15 +163,16 @@ export class Events {
|
|
|
187
163
|
}
|
|
188
164
|
this.logIfDebugEnabled('unsubscribe', eventName, undefined);
|
|
189
165
|
if (!isMetaEvent(eventName)) {
|
|
190
|
-
forget(this.emitMetaEvent(listenerRemoved, { eventName, listener }));
|
|
166
|
+
forget(this.emitMetaEvent('listenerRemoved', { eventName, listener: listener }));
|
|
191
167
|
}
|
|
192
168
|
}
|
|
193
169
|
}
|
|
194
170
|
offAny(listener) {
|
|
195
171
|
assertListener(listener);
|
|
196
172
|
this.logIfDebugEnabled('unsubscribeAny', undefined, undefined);
|
|
197
|
-
Events.anyMap.get(this)
|
|
198
|
-
|
|
173
|
+
const typedMap = Events.anyMap.get(this);
|
|
174
|
+
typedMap?.delete(listener);
|
|
175
|
+
forget(this.emitMetaEvent('listenerRemoved', { listener: listener }));
|
|
199
176
|
}
|
|
200
177
|
on(eventNames, listener) {
|
|
201
178
|
assertListener(listener);
|
|
@@ -211,7 +188,7 @@ export class Events {
|
|
|
211
188
|
set.add(listener);
|
|
212
189
|
this.logIfDebugEnabled('subscribe', eventName, undefined);
|
|
213
190
|
if (!isMetaEvent(eventName)) {
|
|
214
|
-
forget(this.emitMetaEvent(listenerAdded, { eventName, listener }));
|
|
191
|
+
forget(this.emitMetaEvent('listenerAdded', { eventName, listener: listener }));
|
|
215
192
|
}
|
|
216
193
|
}
|
|
217
194
|
return this.off.bind(this, eventNames, listener);
|
|
@@ -220,16 +197,64 @@ export class Events {
|
|
|
220
197
|
assertListener(listener);
|
|
221
198
|
this.logIfDebugEnabled('subscribeAny', undefined, undefined);
|
|
222
199
|
Events.anyMap.get(this)?.add(listener);
|
|
223
|
-
forget(this.emitMetaEvent(listenerAdded, { listener }));
|
|
200
|
+
forget(this.emitMetaEvent('listenerAdded', { listener: listener }));
|
|
224
201
|
return this.offAny.bind(this, listener);
|
|
225
202
|
}
|
|
226
|
-
once(
|
|
203
|
+
once(eventName, listener) {
|
|
227
204
|
const subListener = async (args) => {
|
|
228
|
-
this.off(
|
|
205
|
+
this.off(eventName, subListener);
|
|
229
206
|
await listener(args);
|
|
230
207
|
};
|
|
231
|
-
this.on(
|
|
232
|
-
return this.off.bind(this,
|
|
208
|
+
this.on(eventName, subListener);
|
|
209
|
+
return this.off.bind(this, eventName, subListener);
|
|
210
|
+
}
|
|
211
|
+
async emitInternal(eventName, eventArgs) {
|
|
212
|
+
assertEventName(eventName);
|
|
213
|
+
if (isMetaEvent(eventName) && !canEmitMetaEvents) {
|
|
214
|
+
throw new TypeError('`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`');
|
|
215
|
+
}
|
|
216
|
+
this.logIfDebugEnabled('emit', eventName, eventArgs);
|
|
217
|
+
const listeners = this.getListeners(eventName) ?? new Set();
|
|
218
|
+
const anyListeners = assertEx(Events.anyMap.get(this));
|
|
219
|
+
const staticListeners = [...listeners];
|
|
220
|
+
const staticAnyListeners = isMetaEvent(eventName) ? [] : [...anyListeners];
|
|
221
|
+
await resolvedPromise;
|
|
222
|
+
await Promise.all([
|
|
223
|
+
...staticListeners.map(async (listener) => {
|
|
224
|
+
if (listeners.has(listener)) {
|
|
225
|
+
return await listener(eventArgs);
|
|
226
|
+
}
|
|
227
|
+
}),
|
|
228
|
+
...staticAnyListeners.map(async (listener) => {
|
|
229
|
+
if (anyListeners.has(listener)) {
|
|
230
|
+
return await listener(eventName, eventArgs);
|
|
231
|
+
}
|
|
232
|
+
}),
|
|
233
|
+
]);
|
|
234
|
+
}
|
|
235
|
+
async emitMetaEventInternal(eventName, eventArgs) {
|
|
236
|
+
assertEventName(eventName);
|
|
237
|
+
if (isMetaEvent(eventName) && !canEmitMetaEvents) {
|
|
238
|
+
throw new TypeError('`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`');
|
|
239
|
+
}
|
|
240
|
+
this.logIfDebugEnabled('emit', eventName, eventArgs);
|
|
241
|
+
const listeners = this.getListeners(eventName) ?? new Set();
|
|
242
|
+
const anyListeners = assertEx(Events.anyMap.get(this));
|
|
243
|
+
const staticListeners = [...listeners];
|
|
244
|
+
const staticAnyListeners = isMetaEvent(eventName) ? [] : [...anyListeners];
|
|
245
|
+
await resolvedPromise;
|
|
246
|
+
await Promise.all([
|
|
247
|
+
...staticListeners.map(async (listener) => {
|
|
248
|
+
if (listeners.has(listener)) {
|
|
249
|
+
return await listener(eventArgs);
|
|
250
|
+
}
|
|
251
|
+
}),
|
|
252
|
+
...staticAnyListeners.map(async (listener) => {
|
|
253
|
+
if (anyListeners.has(listener)) {
|
|
254
|
+
return await listener(eventName, eventArgs);
|
|
255
|
+
}
|
|
256
|
+
}),
|
|
257
|
+
]);
|
|
233
258
|
}
|
|
234
259
|
}
|
|
235
260
|
//# sourceMappingURL=Events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAkCvC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,32 +24,34 @@ export type Options<TEventData extends EventData> = {
|
|
|
24
24
|
export type MetaEventData<TEventData extends EventData> = {
|
|
25
25
|
listenerAdded: {
|
|
26
26
|
eventName?: keyof TEventData;
|
|
27
|
-
listener: EventListener<TEventData>;
|
|
27
|
+
listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
|
|
28
28
|
};
|
|
29
29
|
listenerRemoved: {
|
|
30
30
|
eventName?: keyof TEventData;
|
|
31
|
-
listener: EventListener<TEventData>;
|
|
31
|
+
listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
|
-
export declare class Events<TEventData extends EventData> implements EventFunctions<TEventData> {
|
|
35
|
-
static anyMap: WeakMap<object, Set<EventAnyListener<
|
|
36
|
-
static eventsMap: WeakMap<object, Map<
|
|
34
|
+
export declare class Events<TEventData extends EventData = EventData> implements EventFunctions<TEventData> {
|
|
35
|
+
static anyMap: WeakMap<object, Set<EventAnyListener<EventArgs>>>;
|
|
36
|
+
static eventsMap: WeakMap<object, Map<PropertyKey, Set<EventListener<EventArgs>>>>;
|
|
37
37
|
debug?: DebugOptions<any>;
|
|
38
|
+
eventData: TEventData;
|
|
38
39
|
constructor(options?: Options<TEventData>);
|
|
39
40
|
static get isDebugEnabled(): boolean;
|
|
40
41
|
static set isDebugEnabled(newValue: boolean);
|
|
41
42
|
clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
|
|
42
|
-
emit(eventName:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
getListeners(eventName: keyof TEventData): Set<EventListener<any>> | undefined;
|
|
43
|
+
emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
|
|
44
|
+
emitMetaEvent<TEventName extends keyof MetaEventData<TEventData>>(eventName: TEventName, eventArgs: MetaEventData<TEventData>[TEventName]): Promise<void>;
|
|
45
|
+
emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
|
|
46
|
+
getListeners(eventName: keyof TEventData): Set<EventListener<EventArgs>> | undefined;
|
|
47
47
|
listenerCount(eventNames: keyof TEventData | (keyof TEventData)[]): number;
|
|
48
48
|
logIfDebugEnabled<TEventName extends EventName, TEventArgs extends EventArgs>(type: string, eventName?: TEventName, eventArgs?: TEventArgs): void;
|
|
49
|
-
off(eventNames:
|
|
50
|
-
offAny(listener: EventAnyListener
|
|
51
|
-
on
|
|
52
|
-
onAny(listener: EventAnyListener
|
|
53
|
-
once
|
|
49
|
+
off<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): void;
|
|
50
|
+
offAny(listener: EventAnyListener): void;
|
|
51
|
+
on<TEventName extends keyof TEventData = keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): () => void;
|
|
52
|
+
onAny(listener: EventAnyListener): () => void;
|
|
53
|
+
once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
|
|
54
|
+
private emitInternal;
|
|
55
|
+
private emitMetaEventInternal;
|
|
54
56
|
}
|
|
55
57
|
//# sourceMappingURL=Events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE3G;;;;;;EAME;AACF,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,SAAS,EAAE,KAAK,SAAS,MAAM,UAAU,IAAI,CACtF,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,KAAK,EACjB,SAAS,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,KAC1B,IAAI,CAAA;AAET;;EAEE;AACF,MAAM,MAAM,YAAY,CAAC,UAAU,SAAS,SAAS,IAAI;IACvD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,MAAM,UAAU,CAAC,CAAA;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;EAEE;AACF,MAAM,MAAM,OAAO,CAAC,UAAU,SAAS,SAAS,IAAI;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;CAC1C,CAAA;
|
|
1
|
+
{"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { BaseParams } from '@xyo-network/core';
|
|
2
1
|
import { Promisable } from '@xyo-network/promise';
|
|
3
2
|
export type EventName = PropertyKey;
|
|
4
3
|
export type EventArgs = string | number | object;
|
|
@@ -6,23 +5,18 @@ export type EventData = {
|
|
|
6
5
|
[key: EventName]: EventArgs;
|
|
7
6
|
};
|
|
8
7
|
export type EventUnsubscribeFunction = () => void;
|
|
9
|
-
export type EventAnyListener<
|
|
10
|
-
export type EventListener<
|
|
11
|
-
export type OncePromise<T> = {
|
|
12
|
-
off(): void;
|
|
13
|
-
} & Promise<T>;
|
|
8
|
+
export type EventAnyListener<TEventArgs extends EventArgs = EventArgs> = (eventName: EventName, eventData: TEventArgs) => Promisable<void>;
|
|
9
|
+
export type EventListener<TEventArgs extends EventArgs = EventArgs> = (eventData: TEventArgs) => Promisable<void>;
|
|
14
10
|
export interface EventFunctions<TEventData extends EventData> {
|
|
11
|
+
eventData: TEventData;
|
|
15
12
|
clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
|
|
16
|
-
emit(eventName:
|
|
17
|
-
emitSerial(eventName:
|
|
13
|
+
emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
|
|
14
|
+
emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
|
|
18
15
|
listenerCount(eventNames: keyof TEventData | (keyof TEventData)[]): number;
|
|
19
|
-
off
|
|
20
|
-
offAny(listener: EventAnyListener
|
|
21
|
-
on
|
|
22
|
-
onAny(listener: EventAnyListener
|
|
23
|
-
once
|
|
16
|
+
off<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): void;
|
|
17
|
+
offAny(listener: EventAnyListener | Promise<void>): void;
|
|
18
|
+
on<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): EventUnsubscribeFunction;
|
|
19
|
+
onAny(listener: EventAnyListener): EventUnsubscribeFunction;
|
|
20
|
+
once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): EventUnsubscribeFunction;
|
|
24
21
|
}
|
|
25
|
-
export type EventDataParams<TEventData extends EventData | undefined = undefined, TParams extends BaseParams = BaseParams> = TParams & {
|
|
26
|
-
eventData?: TEventData extends EventData ? TEventData | any : any;
|
|
27
|
-
};
|
|
28
22
|
//# sourceMappingURL=Event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../src/model/Event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../src/model/Event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAA;AACnC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAChD,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,CAAA;AACvD,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAA;AACjD,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAA;AAC1I,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAA;AAEjH,MAAM,WAAW,cAAc,CAAC,UAAU,SAAS,SAAS;IAC1D,SAAS,EAAE,UAAU,CAAA;IACrB,cAAc,CAAC,UAAU,EAAE,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,EAAE,GAAG,IAAI,CAAA;IACzE,IAAI,CAAC,UAAU,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClH,UAAU,CAAC,UAAU,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxH,aAAa,CAAC,UAAU,EAAE,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,EAAE,GAAG,MAAM,CAAA;IAC1E,GAAG,CAAC,UAAU,SAAS,MAAM,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAA;IACtI,MAAM,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACxD,EAAE,CAAC,UAAU,SAAS,MAAM,UAAU,EACpC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,EACrC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAC9C,wBAAwB,CAAA;IAC3B,KAAK,CAAC,QAAQ,EAAE,gBAAgB,GAAG,wBAAwB,CAAA;IAC3D,IAAI,CAAC,UAAU,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,wBAAwB,CAAA;CAC5I"}
|
package/package.json
CHANGED
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.7.4",
|
|
14
14
|
"@xylabs/forget": "^2.7.4",
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/promise": "^2.52.1"
|
|
15
|
+
"@xyo-network/promise": "^2.53.0"
|
|
17
16
|
},
|
|
18
17
|
"devDependencies": {
|
|
19
18
|
"@xylabs/ts-scripts-yarn3": "^2.16.1",
|
|
@@ -53,5 +52,5 @@
|
|
|
53
52
|
},
|
|
54
53
|
"sideEffects": false,
|
|
55
54
|
"types": "dist/types/index.d.ts",
|
|
56
|
-
"version": "2.
|
|
55
|
+
"version": "2.53.0"
|
|
57
56
|
}
|