@plyaz/types 1.7.18 → 1.7.19
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/api/client/enum.d.ts +12 -0
- package/dist/api/client/index.d.ts +1 -0
- package/dist/api/client/types.d.ts +114 -0
- package/dist/api/config/types.d.ts +58 -10
- package/dist/api/debugger/enums.d.ts +152 -0
- package/dist/api/debugger/factories/index.d.ts +1 -0
- package/dist/api/debugger/factories/types.d.ts +191 -0
- package/dist/api/debugger/index.d.ts +2 -0
- package/dist/api/debugger/types.d.ts +664 -0
- package/dist/api/endpoints/campaigns/index.d.ts +1 -0
- package/dist/api/endpoints/campaigns/types.d.ts +68 -0
- package/dist/api/endpoints/health/index.d.ts +1 -0
- package/dist/api/endpoints/health/types.d.ts +127 -0
- package/dist/api/endpoints/index.d.ts +3 -0
- package/dist/api/endpoints/types.d.ts +5 -0
- package/dist/api/errors/enum.d.ts +182 -0
- package/dist/api/errors/index.d.ts +1 -0
- package/dist/api/errors/types.d.ts +126 -27
- package/dist/api/events/enum.d.ts +261 -0
- package/dist/api/events/factories/cache/index.d.ts +1 -0
- package/dist/api/events/factories/cache/types.d.ts +60 -0
- package/dist/api/events/factories/client/index.d.ts +1 -0
- package/dist/api/events/factories/client/types.d.ts +120 -0
- package/dist/api/events/factories/config/index.d.ts +1 -0
- package/dist/api/events/factories/config/types.d.ts +79 -0
- package/dist/api/events/factories/debug/index.d.ts +1 -0
- package/dist/api/events/factories/debug/types.d.ts +130 -0
- package/dist/api/events/factories/errors/index.d.ts +1 -0
- package/dist/api/events/factories/errors/types.d.ts +293 -0
- package/dist/api/events/factories/headers/index.d.ts +1 -0
- package/dist/api/events/factories/headers/types.d.ts +256 -0
- package/dist/api/events/factories/index.d.ts +9 -0
- package/dist/api/events/factories/network/index.d.ts +1 -0
- package/dist/api/events/factories/network/types.d.ts +196 -0
- package/dist/api/events/factories/performance/index.d.ts +1 -0
- package/dist/api/events/factories/performance/types.d.ts +150 -0
- package/dist/api/events/factories/types.d.ts +84 -0
- package/dist/api/events/index.d.ts +2 -0
- package/dist/api/events/types.d.ts +1 -726
- package/dist/api/headers/enum.d.ts +34 -0
- package/dist/api/headers/index.d.ts +1 -0
- package/dist/api/headers/types.d.ts +456 -0
- package/dist/api/hooks/index.d.ts +1 -0
- package/dist/api/hooks/types.d.ts +131 -0
- package/dist/api/index.d.ts +6 -1
- package/dist/api/network/enums.d.ts +75 -5
- package/dist/api/network/frameworks/index.d.ts +2 -0
- package/dist/api/network/frameworks/nestjs/index.d.ts +1 -0
- package/dist/api/network/frameworks/nestjs/types.d.ts +47 -0
- package/dist/api/network/frameworks/types.d.ts +76 -0
- package/dist/api/network/index.d.ts +1 -0
- package/dist/api/network/types.d.ts +347 -39
- package/dist/api/performance/types.d.ts +17 -10
- package/dist/api/polling/types.d.ts +1 -1
- package/dist/api/pubsub/enum.d.ts +12 -0
- package/dist/api/pubsub/index.d.ts +2 -0
- package/dist/api/pubsub/types.d.ts +61 -0
- package/dist/api/queue/types.d.ts +69 -0
- package/dist/api/regional/enum.d.ts +75 -0
- package/dist/api/regional/index.d.ts +1 -0
- package/dist/api/regional/types.d.ts +2 -1
- package/dist/api/request/index.d.ts +1 -0
- package/dist/api/request/types.d.ts +44 -0
- package/dist/api/retry/types.d.ts +31 -0
- package/dist/api/strategies/types.d.ts +12 -8
- package/dist/errors/index.cjs +69 -0
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.js +66 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/features/cache/types.d.ts +5 -0
- package/dist/testing/features/api/types.d.ts +355 -4
- package/package.json +5 -3
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network Event Factory
|
|
3
|
+
* Creates and emits network-related events with type safety
|
|
4
|
+
*/
|
|
5
|
+
import { type BaseEvent, type EventOptions } from '..';
|
|
6
|
+
import type { NetworkClientHints as NetworkHints, NETWORK_QUALITY, NetworkInfo } from '../../../network';
|
|
7
|
+
import type { ConfigSource, NETWORK_EVENTS } from '../..';
|
|
8
|
+
/**
|
|
9
|
+
* Base structure for network events
|
|
10
|
+
*/
|
|
11
|
+
export interface NetworkEvent extends BaseEvent {
|
|
12
|
+
type: string;
|
|
13
|
+
data: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Network quality change event
|
|
17
|
+
*/
|
|
18
|
+
export interface NetworkQualityEvent extends NetworkEvent {
|
|
19
|
+
type: typeof NETWORK_EVENTS.QUALITY_CHANGE;
|
|
20
|
+
data: {
|
|
21
|
+
previous?: NETWORK_QUALITY;
|
|
22
|
+
current: NETWORK_QUALITY;
|
|
23
|
+
networkInfo: NetworkInfo;
|
|
24
|
+
score: number;
|
|
25
|
+
factors: {
|
|
26
|
+
downlink?: number;
|
|
27
|
+
rtt?: number;
|
|
28
|
+
effectiveType?: string;
|
|
29
|
+
saveData?: boolean;
|
|
30
|
+
};
|
|
31
|
+
recommendation: 'reduce_quality' | 'maintain' | 'increase_quality';
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Network info update event
|
|
36
|
+
*/
|
|
37
|
+
export interface NetworkInfoEvent extends NetworkEvent {
|
|
38
|
+
type: typeof NETWORK_EVENTS.INFO_UPDATE;
|
|
39
|
+
data: {
|
|
40
|
+
previous?: NetworkInfo;
|
|
41
|
+
current: NetworkInfo;
|
|
42
|
+
changes: {
|
|
43
|
+
downlink?: boolean;
|
|
44
|
+
effectiveType?: boolean;
|
|
45
|
+
rtt?: boolean;
|
|
46
|
+
saveData?: boolean;
|
|
47
|
+
type?: boolean;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Network config override event
|
|
53
|
+
*/
|
|
54
|
+
export interface NetworkConfigOverrideEvent extends NetworkEvent {
|
|
55
|
+
type: typeof NETWORK_EVENTS.CONFIG_OVERRIDE | typeof NETWORK_EVENTS.CONFIG_RESTORED;
|
|
56
|
+
data: {
|
|
57
|
+
property: string;
|
|
58
|
+
previousValue: unknown;
|
|
59
|
+
newValue: unknown;
|
|
60
|
+
source: ConfigSource;
|
|
61
|
+
overrideReason: string;
|
|
62
|
+
temporaryOverride?: boolean;
|
|
63
|
+
duration?: number;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Network preset event
|
|
68
|
+
*/
|
|
69
|
+
export interface NetworkPresetEvent extends NetworkEvent {
|
|
70
|
+
type: typeof NETWORK_EVENTS.PRESET_APPLIED | typeof NETWORK_EVENTS.PRESET_CHANGED;
|
|
71
|
+
data: {
|
|
72
|
+
preset: string;
|
|
73
|
+
previousPreset?: string;
|
|
74
|
+
config: Record<string, unknown>;
|
|
75
|
+
quality: NETWORK_QUALITY;
|
|
76
|
+
auto: boolean;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Network client hints event
|
|
81
|
+
*/
|
|
82
|
+
export interface NetworkClientHintsEvent extends NetworkEvent {
|
|
83
|
+
type: typeof NETWORK_EVENTS.HINTS_UPDATED;
|
|
84
|
+
data: {
|
|
85
|
+
previous?: NetworkHints;
|
|
86
|
+
current: NetworkHints;
|
|
87
|
+
source: 'auto' | 'headers' | 'manual';
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Network auto detection event
|
|
92
|
+
*/
|
|
93
|
+
export interface NetworkAutoDetectionEvent extends NetworkEvent {
|
|
94
|
+
type: typeof NETWORK_EVENTS.AUTO_DETECTION;
|
|
95
|
+
data: {
|
|
96
|
+
detected: NetworkInfo;
|
|
97
|
+
applied: boolean;
|
|
98
|
+
reason?: string;
|
|
99
|
+
confidence: 'high' | 'medium' | 'low';
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Network manual update event
|
|
104
|
+
*/
|
|
105
|
+
export interface NetworkManualUpdateEvent extends NetworkEvent {
|
|
106
|
+
type: typeof NETWORK_EVENTS.MANUAL_UPDATE;
|
|
107
|
+
data: {
|
|
108
|
+
updates: Partial<NetworkInfo>;
|
|
109
|
+
source: 'user' | 'api' | 'config';
|
|
110
|
+
reason?: string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Options for emitQualityChange method
|
|
115
|
+
*/
|
|
116
|
+
export interface EmitQualityChangeOptions extends EventOptions {
|
|
117
|
+
current: NETWORK_QUALITY;
|
|
118
|
+
networkInfo: NetworkInfo;
|
|
119
|
+
score: number;
|
|
120
|
+
recommendation: 'reduce_quality' | 'maintain' | 'increase_quality';
|
|
121
|
+
previous?: NETWORK_QUALITY;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Options for emitConfigOverride method
|
|
125
|
+
*/
|
|
126
|
+
export interface EmitConfigOverrideOptions extends EventOptions {
|
|
127
|
+
property: string;
|
|
128
|
+
previousValue: unknown;
|
|
129
|
+
newValue: unknown;
|
|
130
|
+
source: ConfigSource;
|
|
131
|
+
overrideReason: string;
|
|
132
|
+
temporaryOverride?: boolean;
|
|
133
|
+
duration?: number;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Options for emitConfigRestored method
|
|
137
|
+
*/
|
|
138
|
+
export interface EmitConfigRestoredOptions extends EventOptions {
|
|
139
|
+
property: string;
|
|
140
|
+
previousValue: unknown;
|
|
141
|
+
newValue: unknown;
|
|
142
|
+
source: ConfigSource;
|
|
143
|
+
reason: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Options for emitPresetApplied method
|
|
147
|
+
*/
|
|
148
|
+
export interface EmitPresetAppliedOptions extends EventOptions {
|
|
149
|
+
preset: string;
|
|
150
|
+
config: Record<string, unknown>;
|
|
151
|
+
quality: NETWORK_QUALITY;
|
|
152
|
+
auto?: boolean;
|
|
153
|
+
previousPreset?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Options for emitPresetChanged method
|
|
157
|
+
*/
|
|
158
|
+
export interface EmitPresetChangedOptions extends EventOptions {
|
|
159
|
+
preset: string;
|
|
160
|
+
previousPreset: string;
|
|
161
|
+
config: Record<string, unknown>;
|
|
162
|
+
quality: NETWORK_QUALITY;
|
|
163
|
+
auto?: boolean;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Options for emitAutoDetection method
|
|
167
|
+
*/
|
|
168
|
+
export interface EmitAutoDetectionOptions extends EventOptions {
|
|
169
|
+
detected: NetworkInfo;
|
|
170
|
+
applied: boolean;
|
|
171
|
+
confidence: 'high' | 'medium' | 'low';
|
|
172
|
+
reason?: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Union type for all network event types
|
|
176
|
+
*/
|
|
177
|
+
export type NetworkEventType = NetworkQualityEvent | NetworkInfoEvent | NetworkConfigOverrideEvent | NetworkPresetEvent | NetworkClientHintsEvent | NetworkAutoDetectionEvent | NetworkManualUpdateEvent;
|
|
178
|
+
/**
|
|
179
|
+
* Network event handlers interface
|
|
180
|
+
*/
|
|
181
|
+
export interface NetworkEventHandlers {
|
|
182
|
+
onNetworkQualityChange?: (event: NetworkQualityEvent) => void;
|
|
183
|
+
onNetworkInfoUpdate?: (event: NetworkInfoEvent) => void;
|
|
184
|
+
onNetworkConfigOverride?: (event: NetworkConfigOverrideEvent) => void;
|
|
185
|
+
onNetworkConfigRestored?: (event: NetworkConfigOverrideEvent) => void;
|
|
186
|
+
onNetworkPresetApplied?: (event: NetworkPresetEvent) => void;
|
|
187
|
+
onNetworkPresetChanged?: (event: NetworkPresetEvent) => void;
|
|
188
|
+
onClientHintsUpdated?: (event: NetworkClientHintsEvent) => void;
|
|
189
|
+
onAutoDetection?: (event: NetworkAutoDetectionEvent) => void;
|
|
190
|
+
onManualUpdate?: (event: NetworkManualUpdateEvent) => void;
|
|
191
|
+
onAnyNetworkEvent?: (event: NetworkEventType) => void;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Union type for all network event types
|
|
195
|
+
*/
|
|
196
|
+
export type NetworkEventData = NetworkQualityEvent | NetworkInfoEvent | NetworkConfigOverrideEvent | NetworkPresetEvent | NetworkClientHintsEvent | NetworkAutoDetectionEvent | NetworkManualUpdateEvent;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from './types';
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Event Factory
|
|
3
|
+
* Factory for creating and emitting performance-related events
|
|
4
|
+
*/
|
|
5
|
+
import type { EventOptions } from '..';
|
|
6
|
+
import type { PERFORMANCE_EVENTS } from '../..';
|
|
7
|
+
/**
|
|
8
|
+
* Request start event
|
|
9
|
+
*/
|
|
10
|
+
export interface PerformanceRequestStartEvent {
|
|
11
|
+
type: typeof PERFORMANCE_EVENTS.REQUEST_START;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
data: {
|
|
14
|
+
requestId: string;
|
|
15
|
+
url: string;
|
|
16
|
+
method: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Request complete event
|
|
21
|
+
*/
|
|
22
|
+
export interface PerformanceRequestCompleteEvent {
|
|
23
|
+
type: typeof PERFORMANCE_EVENTS.REQUEST_COMPLETE;
|
|
24
|
+
timestamp: number;
|
|
25
|
+
data: {
|
|
26
|
+
requestId: string;
|
|
27
|
+
url: string;
|
|
28
|
+
method: string;
|
|
29
|
+
status: number;
|
|
30
|
+
duration: number;
|
|
31
|
+
size?: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Retry event
|
|
36
|
+
*/
|
|
37
|
+
export interface PerformanceRetryEvent {
|
|
38
|
+
type: typeof PERFORMANCE_EVENTS.RETRY;
|
|
39
|
+
timestamp: number;
|
|
40
|
+
data: {
|
|
41
|
+
requestId: string;
|
|
42
|
+
attempt: number;
|
|
43
|
+
maxAttempts: number;
|
|
44
|
+
reason: string;
|
|
45
|
+
delay: number;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Threshold exceeded event
|
|
50
|
+
*/
|
|
51
|
+
export interface PerformanceThresholdExceededEvent {
|
|
52
|
+
type: typeof PERFORMANCE_EVENTS.THRESHOLD_EXCEEDED;
|
|
53
|
+
timestamp: number;
|
|
54
|
+
data: {
|
|
55
|
+
type: string;
|
|
56
|
+
threshold: number;
|
|
57
|
+
actual: number;
|
|
58
|
+
context?: Record<string, unknown>;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Optimization applied event
|
|
63
|
+
*/
|
|
64
|
+
export interface PerformanceOptimizationAppliedEvent {
|
|
65
|
+
type: typeof PERFORMANCE_EVENTS.OPTIMIZATION_APPLIED;
|
|
66
|
+
timestamp: number;
|
|
67
|
+
data: {
|
|
68
|
+
type: string;
|
|
69
|
+
reason: string;
|
|
70
|
+
impact?: string;
|
|
71
|
+
context?: Record<string, unknown>;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Metric recorded event
|
|
76
|
+
*/
|
|
77
|
+
export interface PerformanceMetricRecordedEvent {
|
|
78
|
+
type: typeof PERFORMANCE_EVENTS.METRIC_RECORDED;
|
|
79
|
+
timestamp: number;
|
|
80
|
+
data: {
|
|
81
|
+
type: string;
|
|
82
|
+
value: number | string;
|
|
83
|
+
unit?: string;
|
|
84
|
+
tags?: Record<string, string>;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* All performance event types
|
|
89
|
+
*/
|
|
90
|
+
export type PerformanceEventData = PerformanceRequestStartEvent | PerformanceRequestCompleteEvent | PerformanceRetryEvent | PerformanceThresholdExceededEvent | PerformanceOptimizationAppliedEvent | PerformanceMetricRecordedEvent;
|
|
91
|
+
/**
|
|
92
|
+
* Options for emitRequestComplete method
|
|
93
|
+
*/
|
|
94
|
+
export interface EmitRequestCompleteOptions extends EventOptions {
|
|
95
|
+
requestId: string;
|
|
96
|
+
url: string;
|
|
97
|
+
method: string;
|
|
98
|
+
status: number;
|
|
99
|
+
duration: number;
|
|
100
|
+
size?: number;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Options for emitRetry method
|
|
104
|
+
*/
|
|
105
|
+
export interface EmitRetryOptions extends EventOptions {
|
|
106
|
+
requestId: string;
|
|
107
|
+
attempt: number;
|
|
108
|
+
maxAttempts: number;
|
|
109
|
+
reason: string;
|
|
110
|
+
delay: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Options for emitThresholdExceeded method
|
|
114
|
+
*/
|
|
115
|
+
export interface EmitThresholdExceededOptions extends EventOptions {
|
|
116
|
+
type: string;
|
|
117
|
+
threshold: number;
|
|
118
|
+
actual: number;
|
|
119
|
+
context?: Record<string, unknown>;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Options for emitOptimizationApplied method
|
|
123
|
+
*/
|
|
124
|
+
export interface EmitOptimizationAppliedOptions extends EventOptions {
|
|
125
|
+
type: string;
|
|
126
|
+
reason: string;
|
|
127
|
+
impact?: string;
|
|
128
|
+
context?: Record<string, unknown>;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Options for emitMetricRecorded method
|
|
132
|
+
*/
|
|
133
|
+
export interface EmitMetricRecordedOptions extends EventOptions {
|
|
134
|
+
type: string;
|
|
135
|
+
value: number | string;
|
|
136
|
+
unit?: string;
|
|
137
|
+
tags?: Record<string, string>;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Performance event handlers interface
|
|
141
|
+
*/
|
|
142
|
+
export interface PerformanceEventHandlers {
|
|
143
|
+
onRequestStart?: (event: PerformanceRequestStartEvent) => void;
|
|
144
|
+
onRequestComplete?: (event: PerformanceRequestCompleteEvent) => void;
|
|
145
|
+
onRetry?: (event: PerformanceRetryEvent) => void;
|
|
146
|
+
onMetricRecorded?: (event: PerformanceMetricRecordedEvent) => void;
|
|
147
|
+
onThresholdExceeded?: (event: PerformanceThresholdExceededEvent) => void;
|
|
148
|
+
onOptimizationApplied?: (event: PerformanceOptimizationAppliedEvent) => void;
|
|
149
|
+
onAnyPerformanceEvent?: (event: PerformanceEventData) => void;
|
|
150
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { EventScope, EventScopeWithTemporary, HandlerStrategy } from '..';
|
|
2
|
+
import type { EventEmitter, HandlerOptions } from '../..';
|
|
3
|
+
/**
|
|
4
|
+
* Base structure for all events
|
|
5
|
+
*/
|
|
6
|
+
export interface BaseEvent {
|
|
7
|
+
/** Event type/name */
|
|
8
|
+
type: string;
|
|
9
|
+
/** Timestamp when event was created (milliseconds since epoch) */
|
|
10
|
+
timestamp: number;
|
|
11
|
+
/** Optional event source identifier */
|
|
12
|
+
source?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Options for event creation
|
|
16
|
+
*/
|
|
17
|
+
export interface EventOptions {
|
|
18
|
+
/** Whether to emit immediately after creation */
|
|
19
|
+
emit?: boolean;
|
|
20
|
+
/** Additional metadata to attach */
|
|
21
|
+
metadata?: Record<string, unknown>;
|
|
22
|
+
/** Event source identifier */
|
|
23
|
+
source?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Interface representing the public API of BaseEventFactory
|
|
27
|
+
* Useful for type-checking without requiring the actual class instance
|
|
28
|
+
*
|
|
29
|
+
* This interface allows for:
|
|
30
|
+
* - Duck typing compatibility
|
|
31
|
+
* - Easier mocking in tests
|
|
32
|
+
* - Type-safe function parameters without importing the class
|
|
33
|
+
* - Clearer documentation of the public API contract
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* function useEventFactory(factory: BaseEventFactoryLike<'headers'>): void {
|
|
38
|
+
* factory.on('changed', (data) => console.log(data));
|
|
39
|
+
* factory.emit('changed', { headers: {} });
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export interface BaseEventFactoryLike<TNamespace extends string = string> {
|
|
44
|
+
readonly emitter: EventEmitter;
|
|
45
|
+
readonly namespace: TNamespace;
|
|
46
|
+
readonly scope: string;
|
|
47
|
+
emit<T = unknown>(event: string, data?: T): void;
|
|
48
|
+
emitAcrossScopes(eventType: string, eventName: string, data: unknown, scopes?: EventScopeWithTemporary[]): void;
|
|
49
|
+
emitGeneric(eventNameOrType: string, data?: unknown): void;
|
|
50
|
+
on<T = unknown>(eventName: string, handler: (data: T) => void): () => void;
|
|
51
|
+
onAny<T = unknown>(handler: (data: T) => void): () => void;
|
|
52
|
+
once<T = unknown>(eventName: string, handler: (data: T) => void): () => void;
|
|
53
|
+
onceAny<T = unknown>(handler: (data: T) => void): () => void;
|
|
54
|
+
onScoped<T = unknown>(scope: EventScope, eventName: string, handler: (data: T) => void): () => void;
|
|
55
|
+
onceScoped<T = unknown>(scope: EventScope, eventName: string, handler: (data: T) => void): () => void;
|
|
56
|
+
addScopedHandler<T = unknown>(scope: EventScope, eventName: string, handler: (data: T) => void, options?: HandlerOptions & {
|
|
57
|
+
originalHandler?: (data: T) => void;
|
|
58
|
+
}): () => void;
|
|
59
|
+
off(event: string, handler?: Function): void;
|
|
60
|
+
offNamespaced(eventName: string, handler?: (data: unknown) => void): void;
|
|
61
|
+
offAny(handler?: (data: unknown) => void): void;
|
|
62
|
+
removeAllListeners(event?: string): void;
|
|
63
|
+
removeAllListenersNamespaced(eventName?: string): void;
|
|
64
|
+
removeAllScopedListeners(scope: EventScope, eventName?: string): void;
|
|
65
|
+
listeners(event: string): Function[];
|
|
66
|
+
listenersNamespaced(eventName: string): Function[];
|
|
67
|
+
listenerCount(event: string): number;
|
|
68
|
+
listenerCountNamespaced(eventName: string): number;
|
|
69
|
+
getScopedHandlers(scope: EventScope): Map<string, Array<(data: unknown) => void>>;
|
|
70
|
+
getScopedEventHandlers(scope: EventScope, eventName: string): Array<(data: unknown) => void>;
|
|
71
|
+
getOriginalScopedHandlers(scope: EventScope): Map<string, Array<(data: unknown) => void>>;
|
|
72
|
+
getOriginalScopedEventHandlers(scope: EventScope, eventName: string): Array<(data: unknown) => void>;
|
|
73
|
+
clearScopedHandlers(scope: EventScope): void;
|
|
74
|
+
mergeHandlerGroup<T>(global?: T, client?: T, request?: T): T | T[] | undefined;
|
|
75
|
+
mergeHandlersByPriority<T>(global?: T, config?: T, client?: T, request?: T): T | undefined;
|
|
76
|
+
mergeHandlers<T extends object | Function | undefined>(options: {
|
|
77
|
+
strategy: HandlerStrategy;
|
|
78
|
+
usePriority: boolean;
|
|
79
|
+
global?: T;
|
|
80
|
+
client?: T;
|
|
81
|
+
request?: T;
|
|
82
|
+
}): T | undefined;
|
|
83
|
+
getNamespace(): string;
|
|
84
|
+
}
|