@xylabs/events 4.13.4 → 4.13.5
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/neutral/index.d.ts +108 -120
- package/package.json +12 -12
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,120 +1,108 @@
|
|
|
1
|
-
import { Base } from '@xylabs/base';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
static
|
|
83
|
-
static
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
private
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export
|
|
108
|
-
|
|
109
|
-
export declare type MetaEventData<TEventData extends EventData> = {
|
|
110
|
-
listenerAdded: {
|
|
111
|
-
eventName?: keyof TEventData;
|
|
112
|
-
listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
|
|
113
|
-
};
|
|
114
|
-
listenerRemoved: {
|
|
115
|
-
eventName?: keyof TEventData;
|
|
116
|
-
listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
export { }
|
|
1
|
+
import { BaseParams, Base } from '@xylabs/base';
|
|
2
|
+
import { EmptyObject } from '@xylabs/object';
|
|
3
|
+
import { Promisable } from '@xylabs/promise';
|
|
4
|
+
|
|
5
|
+
type EventName = PropertyKey;
|
|
6
|
+
type EventArgs = string | number | object;
|
|
7
|
+
type EventData = {
|
|
8
|
+
[key: EventName]: EventArgs;
|
|
9
|
+
};
|
|
10
|
+
type EventUnsubscribeFunction = () => void;
|
|
11
|
+
type EventAnyListener<TEventArgs extends EventArgs = EventArgs> = (eventName: EventName, eventData: TEventArgs) => Promisable<void>;
|
|
12
|
+
type EventListener<TEventArgs extends EventArgs = EventArgs> = (eventData: TEventArgs) => Promisable<void>;
|
|
13
|
+
|
|
14
|
+
interface EventEmitter<T extends EventData> {
|
|
15
|
+
eventData: T;
|
|
16
|
+
clearListeners(eventNames: keyof T | (keyof T)[]): void;
|
|
17
|
+
emit<TEventName extends keyof T>(eventName: TEventName, eventArgs: T[TEventName]): Promise<void>;
|
|
18
|
+
emitSerial<TEventName extends keyof T>(eventName: TEventName, eventArgs: T[TEventName]): Promise<void>;
|
|
19
|
+
listenerCount(eventNames: keyof T | (keyof T)[]): number;
|
|
20
|
+
off<TEventName extends keyof T>(eventNames: TEventName | TEventName[], listener: EventListener<T[TEventName]>): void;
|
|
21
|
+
offAny(listener: EventAnyListener | Promise<void>): void;
|
|
22
|
+
on<TEventName extends keyof T>(eventNames: TEventName | TEventName[], listener: EventListener<T[TEventName]>): EventUnsubscribeFunction;
|
|
23
|
+
onAny(listener: EventAnyListener): EventUnsubscribeFunction;
|
|
24
|
+
once<TEventName extends keyof T>(eventName: TEventName, listener: EventListener<T[TEventName]>): EventUnsubscribeFunction;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface BaseEmitterParamsFields {
|
|
28
|
+
}
|
|
29
|
+
type BaseEmitterParams<T extends EmptyObject = EmptyObject> = BaseParams<T & BaseEmitterParamsFields & T>;
|
|
30
|
+
declare class BaseEmitter<TParams extends BaseParams = BaseParams, TEventData extends EventData = EventData> extends Base<TParams> implements EventEmitter<TEventData> {
|
|
31
|
+
eventData: TEventData;
|
|
32
|
+
private events;
|
|
33
|
+
constructor(params: BaseParams<TParams>);
|
|
34
|
+
clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): this;
|
|
35
|
+
emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
|
|
36
|
+
emitSerial<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
|
|
37
|
+
listenerCount(eventNames: keyof TEventData | (keyof TEventData)[]): number;
|
|
38
|
+
off<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): void;
|
|
39
|
+
offAny(listener: EventAnyListener): void;
|
|
40
|
+
on<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): () => void;
|
|
41
|
+
onAny(listener: EventAnyListener): () => void;
|
|
42
|
+
once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
Emittery can collect and log debug information.
|
|
47
|
+
|
|
48
|
+
To enable this feature set the `DEBUG` environment variable to `emittery` or `*`. Additionally, you can set the static `isDebugEnabled` variable to true
|
|
49
|
+
on the Emittery class, or `myEmitter.debug.enabled` on an instance of it for debugging a single instance.
|
|
50
|
+
|
|
51
|
+
See API for more information on how debugging works.
|
|
52
|
+
*/
|
|
53
|
+
type DebugLogger = (type: string, debugName: string, eventName?: EventName, eventData?: EventArgs) => void;
|
|
54
|
+
type EventListenerInfo<TEventArgs extends EventArgs = EventArgs> = {
|
|
55
|
+
filter?: TEventArgs;
|
|
56
|
+
listener: EventListener<TEventArgs>;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
Configure debug options of an instance.
|
|
60
|
+
*/
|
|
61
|
+
type DebugOptions = {
|
|
62
|
+
enabled?: boolean;
|
|
63
|
+
logger?: DebugLogger;
|
|
64
|
+
readonly name: string;
|
|
65
|
+
};
|
|
66
|
+
type MetaEventData<TEventData extends EventData> = {
|
|
67
|
+
listenerAdded: {
|
|
68
|
+
eventName?: keyof TEventData;
|
|
69
|
+
listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
|
|
70
|
+
};
|
|
71
|
+
listenerRemoved: {
|
|
72
|
+
eventName?: keyof TEventData;
|
|
73
|
+
listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
type EventsParams = BaseParams<{
|
|
77
|
+
readonly debug?: DebugOptions;
|
|
78
|
+
}>;
|
|
79
|
+
declare class Events<TEventData extends EventData = EventData> extends Base<EventsParams> implements EventEmitter<TEventData> {
|
|
80
|
+
protected static anyMap: WeakMap<object, Set<EventAnyListener>>;
|
|
81
|
+
protected static eventsMap: WeakMap<object, Map<PropertyKey, Set<EventListenerInfo<EventArgs>>>>;
|
|
82
|
+
private static canEmitMetaEvents;
|
|
83
|
+
private static isGlobalDebugEnabled;
|
|
84
|
+
eventData: TEventData;
|
|
85
|
+
constructor(params?: EventsParams);
|
|
86
|
+
static get isDebugEnabled(): boolean;
|
|
87
|
+
static set isDebugEnabled(newValue: boolean);
|
|
88
|
+
get debug(): DebugOptions | undefined;
|
|
89
|
+
clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
|
|
90
|
+
emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
|
|
91
|
+
emitMetaEvent<TEventName extends keyof MetaEventData<TEventData>>(eventName: TEventName, eventArgs: MetaEventData<TEventData>[TEventName]): Promise<boolean | undefined>;
|
|
92
|
+
emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
|
|
93
|
+
listenerCount(eventNames?: keyof TEventData | (keyof TEventData)[]): number;
|
|
94
|
+
logIfDebugEnabled<TEventName extends EventName>(type: string, eventName?: TEventName, eventArgs?: EventArgs): void;
|
|
95
|
+
off<TEventName extends keyof TEventData, TEventListener = EventListener<TEventData[TEventName]>>(eventNames: TEventName | TEventName[], listener: TEventListener): void;
|
|
96
|
+
offAny(listener: EventAnyListener): void;
|
|
97
|
+
on<TEventName extends keyof TEventData = keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>, filter?: TEventData[TEventName]): () => void;
|
|
98
|
+
onAny(listener: EventAnyListener): () => void;
|
|
99
|
+
once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
|
|
100
|
+
private emitInternal;
|
|
101
|
+
private emitMetaEventInternal;
|
|
102
|
+
private getListeners;
|
|
103
|
+
private safeCallAnyListener;
|
|
104
|
+
private safeCallListener;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { BaseEmitter, Events };
|
|
108
|
+
export type { BaseEmitterParams, BaseEmitterParamsFields, DebugLogger, DebugOptions, EventAnyListener, EventArgs, EventData, EventEmitter, EventListener, EventListenerInfo, EventName, EventUnsubscribeFunction, EventsParams, MetaEventData };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/events",
|
|
3
|
-
"version": "4.13.
|
|
3
|
+
"version": "4.13.5",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -30,19 +30,19 @@
|
|
|
30
30
|
"source": "./src/index.ts",
|
|
31
31
|
"types": "dist/neutral/index.d.ts",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@xylabs/assert": "^4.13.
|
|
34
|
-
"@xylabs/base": "^4.13.
|
|
35
|
-
"@xylabs/error": "^4.13.
|
|
36
|
-
"@xylabs/forget": "^4.13.
|
|
37
|
-
"@xylabs/object": "^4.13.
|
|
38
|
-
"@xylabs/promise": "^4.13.
|
|
39
|
-
"@xylabs/typeof": "^4.13.
|
|
33
|
+
"@xylabs/assert": "^4.13.5",
|
|
34
|
+
"@xylabs/base": "^4.13.5",
|
|
35
|
+
"@xylabs/error": "^4.13.5",
|
|
36
|
+
"@xylabs/forget": "^4.13.5",
|
|
37
|
+
"@xylabs/object": "^4.13.5",
|
|
38
|
+
"@xylabs/promise": "^4.13.5",
|
|
39
|
+
"@xylabs/typeof": "^4.13.5"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@xylabs/delay": "^4.13.
|
|
43
|
-
"@xylabs/ts-scripts-yarn3": "^7.0.0-rc.
|
|
44
|
-
"@xylabs/tsconfig": "^7.0.0-rc.
|
|
45
|
-
"@xylabs/vitest-extended": "^4.13.
|
|
42
|
+
"@xylabs/delay": "^4.13.5",
|
|
43
|
+
"@xylabs/ts-scripts-yarn3": "^7.0.0-rc.8",
|
|
44
|
+
"@xylabs/tsconfig": "^7.0.0-rc.8",
|
|
45
|
+
"@xylabs/vitest-extended": "^4.13.5",
|
|
46
46
|
"typescript": "^5.8.3",
|
|
47
47
|
"vitest": "^3.2.4"
|
|
48
48
|
},
|