@context-action/core 0.3.1 → 0.5.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/README.md +379 -161
- package/dist/index.cjs +692 -725
- package/dist/index.d.cts +81 -58
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +81 -58
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +686 -725
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
package/dist/index.d.cts
CHANGED
|
@@ -18,28 +18,9 @@ interface HandlerConfig {
|
|
|
18
18
|
id?: string;
|
|
19
19
|
blocking?: boolean;
|
|
20
20
|
once?: boolean;
|
|
21
|
-
condition?: (payload?: any) => boolean;
|
|
22
21
|
debounce?: number;
|
|
23
22
|
throttle?: number;
|
|
24
|
-
|
|
25
|
-
middleware?: boolean;
|
|
26
|
-
tags?: string[];
|
|
27
|
-
category?: string;
|
|
28
|
-
description?: string;
|
|
29
|
-
version?: string;
|
|
30
|
-
returnType?: 'value' | 'merge' | 'collect';
|
|
31
|
-
timeout?: number;
|
|
32
|
-
retries?: number;
|
|
33
|
-
dependencies?: string[];
|
|
34
|
-
conflicts?: string[];
|
|
35
|
-
environment?: 'development' | 'production' | 'test';
|
|
36
|
-
feature?: string;
|
|
37
|
-
metrics?: {
|
|
38
|
-
collectTiming?: boolean;
|
|
39
|
-
collectErrors?: boolean;
|
|
40
|
-
customMetrics?: Record<string, any>;
|
|
41
|
-
};
|
|
42
|
-
metadata?: Record<string, any>;
|
|
23
|
+
replaceExisting?: boolean;
|
|
43
24
|
}
|
|
44
25
|
interface HandlerRegistration<T = any, R = void> {
|
|
45
26
|
handler: ActionHandler<T, R>;
|
|
@@ -65,10 +46,10 @@ interface ActionRegisterConfig {
|
|
|
65
46
|
registry?: {
|
|
66
47
|
debug?: boolean;
|
|
67
48
|
autoCleanup?: boolean;
|
|
68
|
-
maxHandlers?: number;
|
|
69
|
-
maxRetries?: number;
|
|
70
|
-
retryDelay?: number;
|
|
71
49
|
defaultExecutionMode?: ExecutionMode;
|
|
50
|
+
useConcurrencyQueue?: boolean;
|
|
51
|
+
maxHandlersPerAction?: number;
|
|
52
|
+
errorHandler?: (error: Error, context: unknown) => void;
|
|
72
53
|
};
|
|
73
54
|
}
|
|
74
55
|
interface DispatchOptions {
|
|
@@ -76,30 +57,33 @@ interface DispatchOptions {
|
|
|
76
57
|
throttle?: number;
|
|
77
58
|
executionMode?: ExecutionMode;
|
|
78
59
|
signal?: AbortSignal;
|
|
60
|
+
immediate?: boolean;
|
|
61
|
+
queuePriority?: number;
|
|
79
62
|
timeout?: number;
|
|
80
|
-
|
|
63
|
+
retryOnError?: {
|
|
64
|
+
maxAttempts: number;
|
|
65
|
+
delay: number;
|
|
66
|
+
};
|
|
81
67
|
autoAbort?: {
|
|
82
68
|
enabled: boolean;
|
|
83
69
|
onControllerCreated?: (controller: AbortController) => void;
|
|
84
70
|
allowHandlerAbort?: boolean;
|
|
85
71
|
};
|
|
86
72
|
filter?: {
|
|
87
|
-
tags?: string[];
|
|
88
|
-
category?: string;
|
|
89
73
|
handlerIds?: string[];
|
|
90
|
-
excludeTags?: string[];
|
|
91
|
-
excludeCategory?: string;
|
|
92
74
|
excludeHandlerIds?: string[];
|
|
93
|
-
|
|
94
|
-
|
|
75
|
+
priority?: {
|
|
76
|
+
min?: number;
|
|
77
|
+
max?: number;
|
|
78
|
+
};
|
|
95
79
|
custom?: (config: Required<HandlerConfig>) => boolean;
|
|
96
80
|
};
|
|
97
81
|
result?: {
|
|
98
82
|
strategy?: 'first' | 'last' | 'all' | 'merge' | 'custom';
|
|
99
83
|
merger?: <R>(results: Array<R | undefined>) => R;
|
|
100
84
|
collect?: boolean;
|
|
101
|
-
timeout?: number;
|
|
102
85
|
maxResults?: number;
|
|
86
|
+
includeErrors?: boolean;
|
|
103
87
|
};
|
|
104
88
|
}
|
|
105
89
|
interface ExecutionResult<R = void> {
|
|
@@ -108,7 +92,13 @@ interface ExecutionResult<R = void> {
|
|
|
108
92
|
abortReason?: string;
|
|
109
93
|
terminated: boolean;
|
|
110
94
|
result?: R;
|
|
95
|
+
successResults: R[];
|
|
111
96
|
results: Array<R | undefined>;
|
|
97
|
+
failedResults: Array<{
|
|
98
|
+
handlerId: string;
|
|
99
|
+
error: Error;
|
|
100
|
+
expectedType: string;
|
|
101
|
+
}>;
|
|
112
102
|
execution: {
|
|
113
103
|
duration: number;
|
|
114
104
|
handlersExecuted: number;
|
|
@@ -125,11 +115,13 @@ interface ExecutionResult<R = void> {
|
|
|
125
115
|
error?: Error;
|
|
126
116
|
metadata?: Record<string, any>;
|
|
127
117
|
}>;
|
|
128
|
-
errors:
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
118
|
+
errors: HandlerError[];
|
|
119
|
+
}
|
|
120
|
+
interface HandlerError {
|
|
121
|
+
handlerId: string;
|
|
122
|
+
error: Error;
|
|
123
|
+
timestamp: number;
|
|
124
|
+
severity: 'blocking' | 'non-blocking';
|
|
133
125
|
}
|
|
134
126
|
type UnregisterFunction = () => void;
|
|
135
127
|
type VoidActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? K : never }[keyof T];
|
|
@@ -156,44 +148,39 @@ interface ActionHandlerStats<T extends ActionPayloadMap> {
|
|
|
156
148
|
priority: number;
|
|
157
149
|
handlers: Array<{
|
|
158
150
|
id: string;
|
|
159
|
-
tags: string[];
|
|
160
|
-
category?: string;
|
|
161
|
-
description?: string;
|
|
162
|
-
version?: string;
|
|
163
151
|
}>;
|
|
164
152
|
}>;
|
|
165
|
-
executionStats?:
|
|
166
|
-
totalExecutions: number;
|
|
167
|
-
averageDuration: number;
|
|
168
|
-
successRate: number;
|
|
169
|
-
errorCount: number;
|
|
170
|
-
};
|
|
153
|
+
executionStats?: undefined;
|
|
171
154
|
}
|
|
172
155
|
//#endregion
|
|
173
156
|
//#region src/ActionRegister.d.ts
|
|
174
157
|
declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
|
|
175
158
|
private pipelines;
|
|
176
|
-
private handlerCounter;
|
|
177
159
|
private readonly actionGuard;
|
|
178
160
|
private executionMode;
|
|
179
161
|
private actionExecutionModes;
|
|
180
162
|
readonly name: string;
|
|
181
163
|
private readonly registryConfig;
|
|
182
|
-
private
|
|
183
|
-
private
|
|
184
|
-
private dispatchQueue
|
|
164
|
+
private readonly isDebugMode;
|
|
165
|
+
private readonly maxHandlersPerAction;
|
|
166
|
+
private dispatchQueue?;
|
|
167
|
+
private filterCache;
|
|
168
|
+
private filterCacheMaxSize;
|
|
185
169
|
constructor(config?: ActionRegisterConfig);
|
|
186
170
|
register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig): UnregisterFunction;
|
|
171
|
+
private log;
|
|
172
|
+
private generateHandlerId;
|
|
173
|
+
private createAbortSignal;
|
|
187
174
|
private _performRegistrationSync;
|
|
188
|
-
private _performRegistration;
|
|
189
175
|
dispatch<K extends keyof T>(action: K, payload?: T[K], options?: DispatchOptions): Promise<void>;
|
|
190
176
|
private _performDispatch;
|
|
191
177
|
dispatchWithResult<K extends keyof T, R = void>(action: K, payload?: T[K], options?: DispatchOptions): Promise<ExecutionResult<R>>;
|
|
178
|
+
private generateFilterCacheKey;
|
|
179
|
+
private invalidateFilterCache;
|
|
192
180
|
private filterHandlers;
|
|
193
181
|
private processResults;
|
|
194
182
|
private executePipeline;
|
|
195
183
|
private cleanupOneTimeHandlers;
|
|
196
|
-
private updateExecutionStats;
|
|
197
184
|
getHandlerCount<K extends keyof T>(action: K): number;
|
|
198
185
|
hasHandlers<K extends keyof T>(action: K): boolean;
|
|
199
186
|
getRegisteredActions(): (keyof T)[];
|
|
@@ -203,15 +190,12 @@ declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
|
|
|
203
190
|
getRegistryInfo(): ActionRegistryInfo<T>;
|
|
204
191
|
getActionStats<K extends keyof T>(action: K): ActionHandlerStats<T> | null;
|
|
205
192
|
getAllActionStats(): Array<ActionHandlerStats<T>>;
|
|
206
|
-
getHandlersByTag(tag: string): Map<keyof T, HandlerRegistration<any, any>[]>;
|
|
207
|
-
getHandlersByCategory(category: string): Map<keyof T, HandlerRegistration<any, any>[]>;
|
|
208
193
|
setActionExecutionMode<K extends keyof T>(action: K, mode: ExecutionMode): void;
|
|
209
194
|
getActionExecutionMode<K extends keyof T>(action: K): ExecutionMode;
|
|
210
195
|
removeActionExecutionMode<K extends keyof T>(action: K): void;
|
|
211
|
-
clearExecutionStats(): void;
|
|
212
|
-
clearActionExecutionStats<K extends keyof T>(action: K): void;
|
|
213
196
|
getRegistryConfig(): ActionRegisterConfig['registry'];
|
|
214
197
|
isDebugEnabled(): boolean;
|
|
198
|
+
destroy(): void;
|
|
215
199
|
}
|
|
216
200
|
//#endregion
|
|
217
201
|
//#region src/action-guard.d.ts
|
|
@@ -225,13 +209,22 @@ interface GuardState {
|
|
|
225
209
|
}
|
|
226
210
|
declare class ActionGuard {
|
|
227
211
|
private guards;
|
|
228
|
-
|
|
212
|
+
private cleanupInterval?;
|
|
213
|
+
private readonly maxIdleTime;
|
|
214
|
+
private readonly cleanupIntervalMs;
|
|
215
|
+
constructor(autoCleanup?: boolean);
|
|
216
|
+
private startAutoCleanup;
|
|
229
217
|
debounce(actionKey: string, debounceMs: number): Promise<boolean>;
|
|
230
218
|
throttle(actionKey: string, throttleMs: number): boolean;
|
|
231
219
|
clearGuards(actionKey: string): void;
|
|
232
220
|
clearAll(): void;
|
|
233
221
|
getGuardState(actionKey: string): GuardState | undefined;
|
|
234
222
|
getAllGuardStates(): Map<string, GuardState>;
|
|
223
|
+
destroy(): void;
|
|
224
|
+
getStats(): {
|
|
225
|
+
activeGuards: number;
|
|
226
|
+
withTimers: number;
|
|
227
|
+
};
|
|
235
228
|
}
|
|
236
229
|
//#endregion
|
|
237
230
|
//#region src/execution-modes.d.ts
|
|
@@ -239,5 +232,35 @@ declare function executeSequential<T, R = void>(context: PipelineContext<T, R>,
|
|
|
239
232
|
declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
|
|
240
233
|
declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
|
|
241
234
|
//#endregion
|
|
242
|
-
|
|
235
|
+
//#region src/react-helpers.d.ts
|
|
236
|
+
declare function createActionHandler<T extends ActionPayloadMap, K extends keyof T>(registry: ActionRegister<T>, action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig): {
|
|
237
|
+
register: () => UnregisterFunction;
|
|
238
|
+
unregister: () => void;
|
|
239
|
+
registerWithCleanup: () => () => void;
|
|
240
|
+
config: Required<HandlerConfig>;
|
|
241
|
+
};
|
|
242
|
+
declare function createReactHandlerConfig(action: string, componentId?: string, config?: HandlerConfig): Required<HandlerConfig>;
|
|
243
|
+
declare function createReactDispatcher<T extends ActionPayloadMap>(registry: ActionRegister<T>, errorHandler?: (error: Error, action: keyof T, payload?: any) => void): <K extends keyof T>(action: K, payload?: T[K], options?: Parameters<ActionRegister<T>["dispatch"]>[2]) => Promise<void>;
|
|
244
|
+
declare const ReactDevUtils: {
|
|
245
|
+
enableDebugMode(): void;
|
|
246
|
+
disableDebugMode(): void;
|
|
247
|
+
isDebugMode(): boolean;
|
|
248
|
+
log(component: string, action: string, message: string, data?: any): void;
|
|
249
|
+
getStats(registry: ActionRegister<any>): {
|
|
250
|
+
totalHandlers: number;
|
|
251
|
+
reactHandlers: number;
|
|
252
|
+
registryInfo: ReturnType<ActionRegister<any>["getRegistryInfo"]>;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
declare class ReactActionError extends Error {
|
|
256
|
+
readonly action: string;
|
|
257
|
+
readonly payload?: any;
|
|
258
|
+
readonly handlerId?: string;
|
|
259
|
+
readonly timestamp: number;
|
|
260
|
+
constructor(message: string, action: string, payload?: any, handlerId?: string, originalError?: Error);
|
|
261
|
+
static fromActionError(originalError: Error, action: string, payload?: any, handlerId?: string): ReactActionError;
|
|
262
|
+
}
|
|
263
|
+
declare function isReactActionError(error: any): error is ReactActionError;
|
|
264
|
+
//#endregion
|
|
265
|
+
export { type ActionDispatcher, ActionGuard, type ActionHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, type DispatchOptions, type ExecutionMode, type ExecutionResult, type HandlerConfig, type HandlerRegistration, type PipelineContext, type PipelineController, ReactActionError, ReactDevUtils, type UnregisterFunction, createActionHandler, createReactDispatcher, createReactHandlerConfig, executeParallel, executeRace, executeSequential, isReactActionError };
|
|
243
266
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts"],"sourcesContent":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts","../src/react-helpers.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,28 +18,9 @@ interface HandlerConfig {
|
|
|
18
18
|
id?: string;
|
|
19
19
|
blocking?: boolean;
|
|
20
20
|
once?: boolean;
|
|
21
|
-
condition?: (payload?: any) => boolean;
|
|
22
21
|
debounce?: number;
|
|
23
22
|
throttle?: number;
|
|
24
|
-
|
|
25
|
-
middleware?: boolean;
|
|
26
|
-
tags?: string[];
|
|
27
|
-
category?: string;
|
|
28
|
-
description?: string;
|
|
29
|
-
version?: string;
|
|
30
|
-
returnType?: 'value' | 'merge' | 'collect';
|
|
31
|
-
timeout?: number;
|
|
32
|
-
retries?: number;
|
|
33
|
-
dependencies?: string[];
|
|
34
|
-
conflicts?: string[];
|
|
35
|
-
environment?: 'development' | 'production' | 'test';
|
|
36
|
-
feature?: string;
|
|
37
|
-
metrics?: {
|
|
38
|
-
collectTiming?: boolean;
|
|
39
|
-
collectErrors?: boolean;
|
|
40
|
-
customMetrics?: Record<string, any>;
|
|
41
|
-
};
|
|
42
|
-
metadata?: Record<string, any>;
|
|
23
|
+
replaceExisting?: boolean;
|
|
43
24
|
}
|
|
44
25
|
interface HandlerRegistration<T = any, R = void> {
|
|
45
26
|
handler: ActionHandler<T, R>;
|
|
@@ -65,10 +46,10 @@ interface ActionRegisterConfig {
|
|
|
65
46
|
registry?: {
|
|
66
47
|
debug?: boolean;
|
|
67
48
|
autoCleanup?: boolean;
|
|
68
|
-
maxHandlers?: number;
|
|
69
|
-
maxRetries?: number;
|
|
70
|
-
retryDelay?: number;
|
|
71
49
|
defaultExecutionMode?: ExecutionMode;
|
|
50
|
+
useConcurrencyQueue?: boolean;
|
|
51
|
+
maxHandlersPerAction?: number;
|
|
52
|
+
errorHandler?: (error: Error, context: unknown) => void;
|
|
72
53
|
};
|
|
73
54
|
}
|
|
74
55
|
interface DispatchOptions {
|
|
@@ -76,30 +57,33 @@ interface DispatchOptions {
|
|
|
76
57
|
throttle?: number;
|
|
77
58
|
executionMode?: ExecutionMode;
|
|
78
59
|
signal?: AbortSignal;
|
|
60
|
+
immediate?: boolean;
|
|
61
|
+
queuePriority?: number;
|
|
79
62
|
timeout?: number;
|
|
80
|
-
|
|
63
|
+
retryOnError?: {
|
|
64
|
+
maxAttempts: number;
|
|
65
|
+
delay: number;
|
|
66
|
+
};
|
|
81
67
|
autoAbort?: {
|
|
82
68
|
enabled: boolean;
|
|
83
69
|
onControllerCreated?: (controller: AbortController) => void;
|
|
84
70
|
allowHandlerAbort?: boolean;
|
|
85
71
|
};
|
|
86
72
|
filter?: {
|
|
87
|
-
tags?: string[];
|
|
88
|
-
category?: string;
|
|
89
73
|
handlerIds?: string[];
|
|
90
|
-
excludeTags?: string[];
|
|
91
|
-
excludeCategory?: string;
|
|
92
74
|
excludeHandlerIds?: string[];
|
|
93
|
-
|
|
94
|
-
|
|
75
|
+
priority?: {
|
|
76
|
+
min?: number;
|
|
77
|
+
max?: number;
|
|
78
|
+
};
|
|
95
79
|
custom?: (config: Required<HandlerConfig>) => boolean;
|
|
96
80
|
};
|
|
97
81
|
result?: {
|
|
98
82
|
strategy?: 'first' | 'last' | 'all' | 'merge' | 'custom';
|
|
99
83
|
merger?: <R>(results: Array<R | undefined>) => R;
|
|
100
84
|
collect?: boolean;
|
|
101
|
-
timeout?: number;
|
|
102
85
|
maxResults?: number;
|
|
86
|
+
includeErrors?: boolean;
|
|
103
87
|
};
|
|
104
88
|
}
|
|
105
89
|
interface ExecutionResult<R = void> {
|
|
@@ -108,7 +92,13 @@ interface ExecutionResult<R = void> {
|
|
|
108
92
|
abortReason?: string;
|
|
109
93
|
terminated: boolean;
|
|
110
94
|
result?: R;
|
|
95
|
+
successResults: R[];
|
|
111
96
|
results: Array<R | undefined>;
|
|
97
|
+
failedResults: Array<{
|
|
98
|
+
handlerId: string;
|
|
99
|
+
error: Error;
|
|
100
|
+
expectedType: string;
|
|
101
|
+
}>;
|
|
112
102
|
execution: {
|
|
113
103
|
duration: number;
|
|
114
104
|
handlersExecuted: number;
|
|
@@ -125,11 +115,13 @@ interface ExecutionResult<R = void> {
|
|
|
125
115
|
error?: Error;
|
|
126
116
|
metadata?: Record<string, any>;
|
|
127
117
|
}>;
|
|
128
|
-
errors:
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
118
|
+
errors: HandlerError[];
|
|
119
|
+
}
|
|
120
|
+
interface HandlerError {
|
|
121
|
+
handlerId: string;
|
|
122
|
+
error: Error;
|
|
123
|
+
timestamp: number;
|
|
124
|
+
severity: 'blocking' | 'non-blocking';
|
|
133
125
|
}
|
|
134
126
|
type UnregisterFunction = () => void;
|
|
135
127
|
type VoidActions<T extends ActionPayloadMap> = { [K in keyof T]: T[K] extends void | undefined ? K : never }[keyof T];
|
|
@@ -156,44 +148,39 @@ interface ActionHandlerStats<T extends ActionPayloadMap> {
|
|
|
156
148
|
priority: number;
|
|
157
149
|
handlers: Array<{
|
|
158
150
|
id: string;
|
|
159
|
-
tags: string[];
|
|
160
|
-
category?: string;
|
|
161
|
-
description?: string;
|
|
162
|
-
version?: string;
|
|
163
151
|
}>;
|
|
164
152
|
}>;
|
|
165
|
-
executionStats?:
|
|
166
|
-
totalExecutions: number;
|
|
167
|
-
averageDuration: number;
|
|
168
|
-
successRate: number;
|
|
169
|
-
errorCount: number;
|
|
170
|
-
};
|
|
153
|
+
executionStats?: undefined;
|
|
171
154
|
}
|
|
172
155
|
//#endregion
|
|
173
156
|
//#region src/ActionRegister.d.ts
|
|
174
157
|
declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
|
|
175
158
|
private pipelines;
|
|
176
|
-
private handlerCounter;
|
|
177
159
|
private readonly actionGuard;
|
|
178
160
|
private executionMode;
|
|
179
161
|
private actionExecutionModes;
|
|
180
162
|
readonly name: string;
|
|
181
163
|
private readonly registryConfig;
|
|
182
|
-
private
|
|
183
|
-
private
|
|
184
|
-
private dispatchQueue
|
|
164
|
+
private readonly isDebugMode;
|
|
165
|
+
private readonly maxHandlersPerAction;
|
|
166
|
+
private dispatchQueue?;
|
|
167
|
+
private filterCache;
|
|
168
|
+
private filterCacheMaxSize;
|
|
185
169
|
constructor(config?: ActionRegisterConfig);
|
|
186
170
|
register<K extends keyof T, R = void>(action: K, handler: ActionHandler<T[K], R>, config?: HandlerConfig): UnregisterFunction;
|
|
171
|
+
private log;
|
|
172
|
+
private generateHandlerId;
|
|
173
|
+
private createAbortSignal;
|
|
187
174
|
private _performRegistrationSync;
|
|
188
|
-
private _performRegistration;
|
|
189
175
|
dispatch<K extends keyof T>(action: K, payload?: T[K], options?: DispatchOptions): Promise<void>;
|
|
190
176
|
private _performDispatch;
|
|
191
177
|
dispatchWithResult<K extends keyof T, R = void>(action: K, payload?: T[K], options?: DispatchOptions): Promise<ExecutionResult<R>>;
|
|
178
|
+
private generateFilterCacheKey;
|
|
179
|
+
private invalidateFilterCache;
|
|
192
180
|
private filterHandlers;
|
|
193
181
|
private processResults;
|
|
194
182
|
private executePipeline;
|
|
195
183
|
private cleanupOneTimeHandlers;
|
|
196
|
-
private updateExecutionStats;
|
|
197
184
|
getHandlerCount<K extends keyof T>(action: K): number;
|
|
198
185
|
hasHandlers<K extends keyof T>(action: K): boolean;
|
|
199
186
|
getRegisteredActions(): (keyof T)[];
|
|
@@ -203,15 +190,12 @@ declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
|
|
|
203
190
|
getRegistryInfo(): ActionRegistryInfo<T>;
|
|
204
191
|
getActionStats<K extends keyof T>(action: K): ActionHandlerStats<T> | null;
|
|
205
192
|
getAllActionStats(): Array<ActionHandlerStats<T>>;
|
|
206
|
-
getHandlersByTag(tag: string): Map<keyof T, HandlerRegistration<any, any>[]>;
|
|
207
|
-
getHandlersByCategory(category: string): Map<keyof T, HandlerRegistration<any, any>[]>;
|
|
208
193
|
setActionExecutionMode<K extends keyof T>(action: K, mode: ExecutionMode): void;
|
|
209
194
|
getActionExecutionMode<K extends keyof T>(action: K): ExecutionMode;
|
|
210
195
|
removeActionExecutionMode<K extends keyof T>(action: K): void;
|
|
211
|
-
clearExecutionStats(): void;
|
|
212
|
-
clearActionExecutionStats<K extends keyof T>(action: K): void;
|
|
213
196
|
getRegistryConfig(): ActionRegisterConfig['registry'];
|
|
214
197
|
isDebugEnabled(): boolean;
|
|
198
|
+
destroy(): void;
|
|
215
199
|
}
|
|
216
200
|
//#endregion
|
|
217
201
|
//#region src/action-guard.d.ts
|
|
@@ -225,13 +209,22 @@ interface GuardState {
|
|
|
225
209
|
}
|
|
226
210
|
declare class ActionGuard {
|
|
227
211
|
private guards;
|
|
228
|
-
|
|
212
|
+
private cleanupInterval?;
|
|
213
|
+
private readonly maxIdleTime;
|
|
214
|
+
private readonly cleanupIntervalMs;
|
|
215
|
+
constructor(autoCleanup?: boolean);
|
|
216
|
+
private startAutoCleanup;
|
|
229
217
|
debounce(actionKey: string, debounceMs: number): Promise<boolean>;
|
|
230
218
|
throttle(actionKey: string, throttleMs: number): boolean;
|
|
231
219
|
clearGuards(actionKey: string): void;
|
|
232
220
|
clearAll(): void;
|
|
233
221
|
getGuardState(actionKey: string): GuardState | undefined;
|
|
234
222
|
getAllGuardStates(): Map<string, GuardState>;
|
|
223
|
+
destroy(): void;
|
|
224
|
+
getStats(): {
|
|
225
|
+
activeGuards: number;
|
|
226
|
+
withTimers: number;
|
|
227
|
+
};
|
|
235
228
|
}
|
|
236
229
|
//#endregion
|
|
237
230
|
//#region src/execution-modes.d.ts
|
|
@@ -239,5 +232,35 @@ declare function executeSequential<T, R = void>(context: PipelineContext<T, R>,
|
|
|
239
232
|
declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
|
|
240
233
|
declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number) => PipelineController<T, R>): Promise<void>;
|
|
241
234
|
//#endregion
|
|
242
|
-
|
|
235
|
+
//#region src/react-helpers.d.ts
|
|
236
|
+
declare function createActionHandler<T extends ActionPayloadMap, K extends keyof T>(registry: ActionRegister<T>, action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig): {
|
|
237
|
+
register: () => UnregisterFunction;
|
|
238
|
+
unregister: () => void;
|
|
239
|
+
registerWithCleanup: () => () => void;
|
|
240
|
+
config: Required<HandlerConfig>;
|
|
241
|
+
};
|
|
242
|
+
declare function createReactHandlerConfig(action: string, componentId?: string, config?: HandlerConfig): Required<HandlerConfig>;
|
|
243
|
+
declare function createReactDispatcher<T extends ActionPayloadMap>(registry: ActionRegister<T>, errorHandler?: (error: Error, action: keyof T, payload?: any) => void): <K extends keyof T>(action: K, payload?: T[K], options?: Parameters<ActionRegister<T>["dispatch"]>[2]) => Promise<void>;
|
|
244
|
+
declare const ReactDevUtils: {
|
|
245
|
+
enableDebugMode(): void;
|
|
246
|
+
disableDebugMode(): void;
|
|
247
|
+
isDebugMode(): boolean;
|
|
248
|
+
log(component: string, action: string, message: string, data?: any): void;
|
|
249
|
+
getStats(registry: ActionRegister<any>): {
|
|
250
|
+
totalHandlers: number;
|
|
251
|
+
reactHandlers: number;
|
|
252
|
+
registryInfo: ReturnType<ActionRegister<any>["getRegistryInfo"]>;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
declare class ReactActionError extends Error {
|
|
256
|
+
readonly action: string;
|
|
257
|
+
readonly payload?: any;
|
|
258
|
+
readonly handlerId?: string;
|
|
259
|
+
readonly timestamp: number;
|
|
260
|
+
constructor(message: string, action: string, payload?: any, handlerId?: string, originalError?: Error);
|
|
261
|
+
static fromActionError(originalError: Error, action: string, payload?: any, handlerId?: string): ReactActionError;
|
|
262
|
+
}
|
|
263
|
+
declare function isReactActionError(error: any): error is ReactActionError;
|
|
264
|
+
//#endregion
|
|
265
|
+
export { type ActionDispatcher, ActionGuard, type ActionHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, type DispatchOptions, type ExecutionMode, type ExecutionResult, type HandlerConfig, type HandlerRegistration, type PipelineContext, type PipelineController, ReactActionError, ReactDevUtils, type UnregisterFunction, createActionHandler, createReactDispatcher, createReactHandlerConfig, executeParallel, executeRace, executeSequential, isReactActionError };
|
|
243
266
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts"],"sourcesContent":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/execution-modes.ts","../src/react-helpers.ts"],"sourcesContent":[],"mappings":"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"}
|