@xyo-network/module-events 2.111.3 → 3.0.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.
Files changed (102) hide show
  1. package/dist/neutral/index.d.ts +76 -3
  2. package/package.json +14 -33
  3. package/xy.config.ts +12 -0
  4. package/dist/browser/Events/Events.d.cts +0 -53
  5. package/dist/browser/Events/Events.d.cts.map +0 -1
  6. package/dist/browser/Events/Events.d.mts +0 -53
  7. package/dist/browser/Events/Events.d.mts.map +0 -1
  8. package/dist/browser/Events/Events.d.ts +0 -53
  9. package/dist/browser/Events/Events.d.ts.map +0 -1
  10. package/dist/browser/Events/index.d.cts +0 -2
  11. package/dist/browser/Events/index.d.cts.map +0 -1
  12. package/dist/browser/Events/index.d.mts +0 -2
  13. package/dist/browser/Events/index.d.mts.map +0 -1
  14. package/dist/browser/Events/index.d.ts +0 -2
  15. package/dist/browser/Events/index.d.ts.map +0 -1
  16. package/dist/browser/index.cjs +0 -330
  17. package/dist/browser/index.cjs.map +0 -1
  18. package/dist/browser/index.d.cts +0 -3
  19. package/dist/browser/index.d.cts.map +0 -1
  20. package/dist/browser/index.d.mts +0 -3
  21. package/dist/browser/index.d.mts.map +0 -1
  22. package/dist/browser/index.d.ts +0 -3
  23. package/dist/browser/index.d.ts.map +0 -1
  24. package/dist/browser/index.mjs +0 -309
  25. package/dist/browser/index.mjs.map +0 -1
  26. package/dist/browser/model/Event.d.cts +0 -22
  27. package/dist/browser/model/Event.d.cts.map +0 -1
  28. package/dist/browser/model/Event.d.mts +0 -22
  29. package/dist/browser/model/Event.d.mts.map +0 -1
  30. package/dist/browser/model/Event.d.ts +0 -22
  31. package/dist/browser/model/Event.d.ts.map +0 -1
  32. package/dist/browser/model/index.d.cts +0 -2
  33. package/dist/browser/model/index.d.cts.map +0 -1
  34. package/dist/browser/model/index.d.mts +0 -2
  35. package/dist/browser/model/index.d.mts.map +0 -1
  36. package/dist/browser/model/index.d.ts +0 -2
  37. package/dist/browser/model/index.d.ts.map +0 -1
  38. package/dist/neutral/Events/Events.d.cts +0 -53
  39. package/dist/neutral/Events/Events.d.cts.map +0 -1
  40. package/dist/neutral/Events/Events.d.mts +0 -53
  41. package/dist/neutral/Events/Events.d.mts.map +0 -1
  42. package/dist/neutral/Events/Events.d.ts +0 -53
  43. package/dist/neutral/Events/Events.d.ts.map +0 -1
  44. package/dist/neutral/Events/index.d.cts +0 -2
  45. package/dist/neutral/Events/index.d.cts.map +0 -1
  46. package/dist/neutral/Events/index.d.mts +0 -2
  47. package/dist/neutral/Events/index.d.mts.map +0 -1
  48. package/dist/neutral/Events/index.d.ts +0 -2
  49. package/dist/neutral/Events/index.d.ts.map +0 -1
  50. package/dist/neutral/index.cjs +0 -330
  51. package/dist/neutral/index.cjs.map +0 -1
  52. package/dist/neutral/index.d.cts +0 -3
  53. package/dist/neutral/index.d.cts.map +0 -1
  54. package/dist/neutral/index.d.mts +0 -3
  55. package/dist/neutral/index.d.mts.map +0 -1
  56. package/dist/neutral/index.d.ts.map +0 -1
  57. package/dist/neutral/model/Event.d.cts +0 -22
  58. package/dist/neutral/model/Event.d.cts.map +0 -1
  59. package/dist/neutral/model/Event.d.mts +0 -22
  60. package/dist/neutral/model/Event.d.mts.map +0 -1
  61. package/dist/neutral/model/Event.d.ts +0 -22
  62. package/dist/neutral/model/Event.d.ts.map +0 -1
  63. package/dist/neutral/model/index.d.cts +0 -2
  64. package/dist/neutral/model/index.d.cts.map +0 -1
  65. package/dist/neutral/model/index.d.mts +0 -2
  66. package/dist/neutral/model/index.d.mts.map +0 -1
  67. package/dist/neutral/model/index.d.ts +0 -2
  68. package/dist/neutral/model/index.d.ts.map +0 -1
  69. package/dist/node/Events/Events.d.cts +0 -53
  70. package/dist/node/Events/Events.d.cts.map +0 -1
  71. package/dist/node/Events/Events.d.mts +0 -53
  72. package/dist/node/Events/Events.d.mts.map +0 -1
  73. package/dist/node/Events/Events.d.ts +0 -53
  74. package/dist/node/Events/Events.d.ts.map +0 -1
  75. package/dist/node/Events/index.d.cts +0 -2
  76. package/dist/node/Events/index.d.cts.map +0 -1
  77. package/dist/node/Events/index.d.mts +0 -2
  78. package/dist/node/Events/index.d.mts.map +0 -1
  79. package/dist/node/Events/index.d.ts +0 -2
  80. package/dist/node/Events/index.d.ts.map +0 -1
  81. package/dist/node/index.cjs +0 -343
  82. package/dist/node/index.cjs.map +0 -1
  83. package/dist/node/index.d.cts +0 -3
  84. package/dist/node/index.d.cts.map +0 -1
  85. package/dist/node/index.d.mts +0 -3
  86. package/dist/node/index.d.mts.map +0 -1
  87. package/dist/node/index.d.ts +0 -3
  88. package/dist/node/index.d.ts.map +0 -1
  89. package/dist/node/index.mjs +0 -318
  90. package/dist/node/index.mjs.map +0 -1
  91. package/dist/node/model/Event.d.cts +0 -22
  92. package/dist/node/model/Event.d.cts.map +0 -1
  93. package/dist/node/model/Event.d.mts +0 -22
  94. package/dist/node/model/Event.d.mts.map +0 -1
  95. package/dist/node/model/Event.d.ts +0 -22
  96. package/dist/node/model/Event.d.ts.map +0 -1
  97. package/dist/node/model/index.d.cts +0 -2
  98. package/dist/node/model/index.d.cts.map +0 -1
  99. package/dist/node/model/index.d.mts +0 -2
  100. package/dist/node/model/index.d.mts.map +0 -1
  101. package/dist/node/model/index.d.ts +0 -2
  102. package/dist/node/model/index.d.ts.map +0 -1
@@ -1,3 +1,76 @@
1
- export * from './Events/index.ts';
2
- export * from './model/index.ts';
3
- //# sourceMappingURL=index.d.ts.map
1
+ import { BaseParams, Base } from '@xylabs/object';
2
+ import { Promisable } from '@xylabs/promise';
3
+
4
+ type EventName = PropertyKey;
5
+ type EventArgs = string | number | object;
6
+ type EventData = {
7
+ [key: EventName]: EventArgs;
8
+ };
9
+ type EventUnsubscribeFunction = () => void;
10
+ type EventAnyListener<TEventArgs extends EventArgs = EventArgs> = (eventName: EventName, eventData: TEventArgs) => Promisable<void>;
11
+ type EventListener<TEventArgs extends EventArgs = EventArgs> = (eventData: TEventArgs) => Promisable<void>;
12
+ interface EventFunctions<TEventData extends EventData> {
13
+ eventData: TEventData;
14
+ clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
15
+ emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
16
+ emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
17
+ listenerCount(eventNames: keyof TEventData | (keyof TEventData)[]): number;
18
+ off<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): void;
19
+ offAny(listener: EventAnyListener | Promise<void>): void;
20
+ on<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): EventUnsubscribeFunction;
21
+ onAny(listener: EventAnyListener): EventUnsubscribeFunction;
22
+ once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): EventUnsubscribeFunction;
23
+ }
24
+
25
+ type DebugLogger = (type: string, debugName: string, eventName?: EventName, eventData?: EventArgs) => void;
26
+ type EventListenerInfo<TEventArgs extends EventArgs = EventArgs> = {
27
+ filter?: TEventArgs;
28
+ listener: EventListener<TEventArgs>;
29
+ };
30
+ type DebugOptions = {
31
+ enabled?: boolean;
32
+ logger?: DebugLogger;
33
+ readonly name: string;
34
+ };
35
+ type MetaEventData<TEventData extends EventData> = {
36
+ listenerAdded: {
37
+ eventName?: keyof TEventData;
38
+ listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
39
+ };
40
+ listenerRemoved: {
41
+ eventName?: keyof TEventData;
42
+ listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
43
+ };
44
+ };
45
+ type EventsParams = BaseParams<{
46
+ readonly debug?: DebugOptions;
47
+ }>;
48
+ declare class Events<TEventData extends EventData = EventData> extends Base<EventsParams> implements EventFunctions<TEventData> {
49
+ protected static anyMap: WeakMap<object, Set<EventAnyListener>>;
50
+ protected static eventsMap: WeakMap<object, Map<PropertyKey, Set<EventListenerInfo<EventArgs>>>>;
51
+ private static canEmitMetaEvents;
52
+ private static isGlobalDebugEnabled;
53
+ eventData: TEventData;
54
+ constructor(params?: EventsParams);
55
+ static get isDebugEnabled(): boolean;
56
+ static set isDebugEnabled(newValue: boolean);
57
+ get debug(): DebugOptions | undefined;
58
+ clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
59
+ emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
60
+ emitMetaEvent<TEventName extends keyof MetaEventData<TEventData>>(eventName: TEventName, eventArgs: MetaEventData<TEventData>[TEventName]): Promise<void>;
61
+ emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
62
+ listenerCount(eventNames?: keyof TEventData | (keyof TEventData)[]): number;
63
+ logIfDebugEnabled<TEventName extends EventName>(type: string, eventName?: TEventName, eventArgs?: EventArgs): void;
64
+ off<TEventName extends keyof TEventData, TEventListener = EventListener<TEventData[TEventName]>>(eventNames: TEventName | TEventName[], listener: TEventListener): void;
65
+ offAny(listener: EventAnyListener): void;
66
+ on<TEventName extends keyof TEventData = keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>, filter?: TEventData[TEventName]): () => void;
67
+ onAny(listener: EventAnyListener): () => void;
68
+ once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
69
+ private emitInternal;
70
+ private emitMetaEventInternal;
71
+ private getListeners;
72
+ private safeCallAnyListener;
73
+ private safeCallListener;
74
+ }
75
+
76
+ export { type DebugLogger, type DebugOptions, type EventAnyListener, type EventArgs, type EventData, type EventFunctions, type EventListener, type EventListenerInfo, type EventName, type EventUnsubscribeFunction, Events, type EventsParams, type MetaEventData };
package/package.json CHANGED
@@ -10,48 +10,29 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^3.6.12",
14
- "@xylabs/error": "^3.6.12",
15
- "@xylabs/forget": "^3.6.12",
16
- "@xylabs/object": "^3.6.12",
17
- "@xylabs/promise": "^3.6.12"
13
+ "@xylabs/assert": "^4.0.0",
14
+ "@xylabs/error": "^4.0.0",
15
+ "@xylabs/forget": "^4.0.0",
16
+ "@xylabs/object": "^4.0.0",
17
+ "@xylabs/promise": "^4.0.0"
18
18
  },
19
19
  "devDependencies": {
20
- "@xylabs/delay": "^3.6.12",
21
- "@xylabs/ts-scripts-yarn3": "^3.15.14",
22
- "@xylabs/tsconfig": "^3.15.14",
23
- "@xylabs/tsconfig-jest": "^3.15.14",
20
+ "@xylabs/delay": "^4.0.0",
21
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
22
+ "@xylabs/tsconfig": "^4.0.0-rc.15",
23
+ "@xylabs/tsconfig-jest": "^4.0.0-rc.15",
24
24
  "typescript": "^5.5.4"
25
25
  },
26
26
  "description": "Primary SDK for using XYO Protocol 2.0",
27
- "types": "dist/node/index.d.ts",
27
+ "types": "dist/neutral/index.d.ts",
28
28
  "exports": {
29
29
  ".": {
30
- "browser": {
31
- "require": {
32
- "types": "./dist/browser/index.d.cts",
33
- "default": "./dist/browser/index.cjs"
34
- },
35
- "import": {
36
- "types": "./dist/browser/index.d.mts",
37
- "default": "./dist/browser/index.mjs"
38
- }
39
- },
40
- "node": {
41
- "require": {
42
- "types": "./dist/node/index.d.cts",
43
- "default": "./dist/node/index.cjs"
44
- },
45
- "import": {
46
- "types": "./dist/node/index.d.mts",
47
- "default": "./dist/node/index.mjs"
48
- }
49
- }
30
+ "types": "./dist/neutral/index.d.ts",
31
+ "default": "./dist/neutral/index.mjs"
50
32
  },
51
33
  "./package.json": "./package.json"
52
34
  },
53
- "main": "dist/node/index.cjs",
54
- "module": "dist/node/index.mjs",
35
+ "module": "dist/neutral/index.mjs",
55
36
  "homepage": "https://xyo.network",
56
37
  "license": "LGPL-3.0-only",
57
38
  "publishConfig": {
@@ -62,6 +43,6 @@
62
43
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
63
44
  },
64
45
  "sideEffects": false,
65
- "version": "2.111.3",
46
+ "version": "3.0.1",
66
47
  "type": "module"
67
48
  }
package/xy.config.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
+ const config: XyTsupConfig = {
3
+ compile: {
4
+ browser: {},
5
+ neutral: {
6
+ src: true,
7
+ },
8
+ node: {},
9
+ },
10
+ }
11
+
12
+ export default config
@@ -1,53 +0,0 @@
1
- import { Base, BaseParams } from '@xylabs/object';
2
- import { EventAnyListener, EventArgs, EventData, EventFunctions, EventListener, EventName } from '../model/index.ts';
3
- export type DebugLogger = (type: string, debugName: string, eventName?: EventName, eventData?: EventArgs) => void;
4
- export type EventListenerInfo<TEventArgs extends EventArgs = EventArgs> = {
5
- filter?: TEventArgs;
6
- listener: EventListener<TEventArgs>;
7
- };
8
- export type DebugOptions = {
9
- enabled?: boolean;
10
- logger?: DebugLogger;
11
- readonly name: string;
12
- };
13
- export type MetaEventData<TEventData extends EventData> = {
14
- listenerAdded: {
15
- eventName?: keyof TEventData;
16
- listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
17
- };
18
- listenerRemoved: {
19
- eventName?: keyof TEventData;
20
- listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
21
- };
22
- };
23
- export type EventsParams = BaseParams<{
24
- readonly debug?: DebugOptions;
25
- }>;
26
- export declare class Events<TEventData extends EventData = EventData> extends Base<EventsParams> implements EventFunctions<TEventData> {
27
- protected static anyMap: WeakMap<object, Set<EventAnyListener>>;
28
- protected static eventsMap: WeakMap<object, Map<PropertyKey, Set<EventListenerInfo<EventArgs>>>>;
29
- private static canEmitMetaEvents;
30
- private static isGlobalDebugEnabled;
31
- eventData: TEventData;
32
- constructor(params?: EventsParams);
33
- static get isDebugEnabled(): boolean;
34
- static set isDebugEnabled(newValue: boolean);
35
- get debug(): DebugOptions | undefined;
36
- clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
37
- emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
38
- emitMetaEvent<TEventName extends keyof MetaEventData<TEventData>>(eventName: TEventName, eventArgs: MetaEventData<TEventData>[TEventName]): Promise<void>;
39
- emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
40
- listenerCount(eventNames?: keyof TEventData | (keyof TEventData)[]): number;
41
- logIfDebugEnabled<TEventName extends EventName>(type: string, eventName?: TEventName, eventArgs?: EventArgs): void;
42
- off<TEventName extends keyof TEventData, TEventListener = EventListener<TEventData[TEventName]>>(eventNames: TEventName | TEventName[], listener: TEventListener): void;
43
- offAny(listener: EventAnyListener): void;
44
- on<TEventName extends keyof TEventData = keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>, filter?: TEventData[TEventName]): () => void;
45
- onAny(listener: EventAnyListener): () => void;
46
- once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
47
- private emitInternal;
48
- private emitMetaEventInternal;
49
- private getListeners;
50
- private safeCallAnyListener;
51
- private safeCallListener;
52
- }
53
- //# sourceMappingURL=Events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import { Base, BaseParams } from '@xylabs/object';
2
- import { EventAnyListener, EventArgs, EventData, EventFunctions, EventListener, EventName } from '../model/index.ts';
3
- export type DebugLogger = (type: string, debugName: string, eventName?: EventName, eventData?: EventArgs) => void;
4
- export type EventListenerInfo<TEventArgs extends EventArgs = EventArgs> = {
5
- filter?: TEventArgs;
6
- listener: EventListener<TEventArgs>;
7
- };
8
- export type DebugOptions = {
9
- enabled?: boolean;
10
- logger?: DebugLogger;
11
- readonly name: string;
12
- };
13
- export type MetaEventData<TEventData extends EventData> = {
14
- listenerAdded: {
15
- eventName?: keyof TEventData;
16
- listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
17
- };
18
- listenerRemoved: {
19
- eventName?: keyof TEventData;
20
- listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
21
- };
22
- };
23
- export type EventsParams = BaseParams<{
24
- readonly debug?: DebugOptions;
25
- }>;
26
- export declare class Events<TEventData extends EventData = EventData> extends Base<EventsParams> implements EventFunctions<TEventData> {
27
- protected static anyMap: WeakMap<object, Set<EventAnyListener>>;
28
- protected static eventsMap: WeakMap<object, Map<PropertyKey, Set<EventListenerInfo<EventArgs>>>>;
29
- private static canEmitMetaEvents;
30
- private static isGlobalDebugEnabled;
31
- eventData: TEventData;
32
- constructor(params?: EventsParams);
33
- static get isDebugEnabled(): boolean;
34
- static set isDebugEnabled(newValue: boolean);
35
- get debug(): DebugOptions | undefined;
36
- clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
37
- emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
38
- emitMetaEvent<TEventName extends keyof MetaEventData<TEventData>>(eventName: TEventName, eventArgs: MetaEventData<TEventData>[TEventName]): Promise<void>;
39
- emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
40
- listenerCount(eventNames?: keyof TEventData | (keyof TEventData)[]): number;
41
- logIfDebugEnabled<TEventName extends EventName>(type: string, eventName?: TEventName, eventArgs?: EventArgs): void;
42
- off<TEventName extends keyof TEventData, TEventListener = EventListener<TEventData[TEventName]>>(eventNames: TEventName | TEventName[], listener: TEventListener): void;
43
- offAny(listener: EventAnyListener): void;
44
- on<TEventName extends keyof TEventData = keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>, filter?: TEventData[TEventName]): () => void;
45
- onAny(listener: EventAnyListener): () => void;
46
- once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
47
- private emitInternal;
48
- private emitMetaEventInternal;
49
- private getListeners;
50
- private safeCallAnyListener;
51
- private safeCallListener;
52
- }
53
- //# sourceMappingURL=Events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import { Base, BaseParams } from '@xylabs/object';
2
- import { EventAnyListener, EventArgs, EventData, EventFunctions, EventListener, EventName } from '../model/index.ts';
3
- export type DebugLogger = (type: string, debugName: string, eventName?: EventName, eventData?: EventArgs) => void;
4
- export type EventListenerInfo<TEventArgs extends EventArgs = EventArgs> = {
5
- filter?: TEventArgs;
6
- listener: EventListener<TEventArgs>;
7
- };
8
- export type DebugOptions = {
9
- enabled?: boolean;
10
- logger?: DebugLogger;
11
- readonly name: string;
12
- };
13
- export type MetaEventData<TEventData extends EventData> = {
14
- listenerAdded: {
15
- eventName?: keyof TEventData;
16
- listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
17
- };
18
- listenerRemoved: {
19
- eventName?: keyof TEventData;
20
- listener: EventListener<TEventData[keyof TEventData]> | EventAnyListener<TEventData[keyof TEventData]>;
21
- };
22
- };
23
- export type EventsParams = BaseParams<{
24
- readonly debug?: DebugOptions;
25
- }>;
26
- export declare class Events<TEventData extends EventData = EventData> extends Base<EventsParams> implements EventFunctions<TEventData> {
27
- protected static anyMap: WeakMap<object, Set<EventAnyListener>>;
28
- protected static eventsMap: WeakMap<object, Map<PropertyKey, Set<EventListenerInfo<EventArgs>>>>;
29
- private static canEmitMetaEvents;
30
- private static isGlobalDebugEnabled;
31
- eventData: TEventData;
32
- constructor(params?: EventsParams);
33
- static get isDebugEnabled(): boolean;
34
- static set isDebugEnabled(newValue: boolean);
35
- get debug(): DebugOptions | undefined;
36
- clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
37
- emit<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
38
- emitMetaEvent<TEventName extends keyof MetaEventData<TEventData>>(eventName: TEventName, eventArgs: MetaEventData<TEventData>[TEventName]): Promise<void>;
39
- emitSerial<TEventName extends keyof TEventData>(eventName: TEventName, eventArgs: TEventData[TEventName]): Promise<void>;
40
- listenerCount(eventNames?: keyof TEventData | (keyof TEventData)[]): number;
41
- logIfDebugEnabled<TEventName extends EventName>(type: string, eventName?: TEventName, eventArgs?: EventArgs): void;
42
- off<TEventName extends keyof TEventData, TEventListener = EventListener<TEventData[TEventName]>>(eventNames: TEventName | TEventName[], listener: TEventListener): void;
43
- offAny(listener: EventAnyListener): void;
44
- on<TEventName extends keyof TEventData = keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>, filter?: TEventData[TEventName]): () => void;
45
- onAny(listener: EventAnyListener): () => void;
46
- once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
47
- private emitInternal;
48
- private emitMetaEventInternal;
49
- private getListeners;
50
- private safeCallAnyListener;
51
- private safeCallListener;
52
- }
53
- //# sourceMappingURL=Events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/Events/Events.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './Events.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './Events.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './Events.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}