@context-action/core 1.1.0 → 1.1.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.
- package/CHANGELOG.md +8 -0
- package/README.md +93 -20
- package/dist/index.d.cts +3 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.1.1] (2026-08-31)
|
|
7
|
+
|
|
8
|
+
### Reliability fixes
|
|
9
|
+
|
|
10
|
+
- Export the documented consumer-facing ActionRegister diagnostics, execution,
|
|
11
|
+
payload, and result-dispatch types from the package root. Consumers can now
|
|
12
|
+
import the types used by the public ActionRegister return contracts directly.
|
|
13
|
+
|
|
6
14
|
## [1.1.0] (2026-08-11)
|
|
7
15
|
|
|
8
16
|
### Features
|
package/README.md
CHANGED
|
@@ -173,7 +173,48 @@ const actions = new ActionRegister<MyActions>({
|
|
|
173
173
|
// should be treated as a programming error.
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
##
|
|
176
|
+
## v1.1 Pipeline Contract
|
|
177
|
+
|
|
178
|
+
### Phase-specific registration
|
|
179
|
+
|
|
180
|
+
New pipelines should make their role explicit: guards decide admission, result
|
|
181
|
+
handlers contribute typed results, and observers run after the terminal result.
|
|
182
|
+
|
|
183
|
+
<!-- @context-action-compile -->
|
|
184
|
+
```typescript
|
|
185
|
+
import { ActionRegister, type ActionPayloadMap } from '@context-action/core';
|
|
186
|
+
|
|
187
|
+
interface AppActions extends ActionPayloadMap {
|
|
188
|
+
save: { id: string; valid: boolean };
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
interface AppResults {
|
|
192
|
+
save: { persisted: true };
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
const registry = new ActionRegister<AppActions, AppResults>({ name: 'App' });
|
|
196
|
+
|
|
197
|
+
registry.registerGuard('save', payload => {
|
|
198
|
+
if (!payload.valid) throw new Error('Save requires valid input');
|
|
199
|
+
}, { id: 'validate-save' });
|
|
200
|
+
|
|
201
|
+
registry.registerResult('save', async payload => {
|
|
202
|
+
await Promise.resolve(payload);
|
|
203
|
+
return { persisted: true };
|
|
204
|
+
}, {
|
|
205
|
+
id: 'persist-save',
|
|
206
|
+
scheduling: 'await-before-next',
|
|
207
|
+
errorPolicy: 'fatal',
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
registry.registerObserver('save', event => {
|
|
211
|
+
console.info(event.outcome);
|
|
212
|
+
}, { when: 'always' });
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
`register()` and `HandlerConfig.blocking` remain supported compatibility APIs
|
|
216
|
+
in 1.x. Prefer the phase-specific methods plus explicit `scheduling` and
|
|
217
|
+
`errorPolicy` for new code.
|
|
177
218
|
|
|
178
219
|
### Advanced Filtering System
|
|
179
220
|
|
|
@@ -218,7 +259,8 @@ await actions.dispatch('complexAction', data, {
|
|
|
218
259
|
actions.register('myAction', handler, {
|
|
219
260
|
priority: 10,
|
|
220
261
|
id: 'my-handler',
|
|
221
|
-
|
|
262
|
+
scheduling: 'await-before-next',
|
|
263
|
+
errorPolicy: 'fatal',
|
|
222
264
|
once: false,
|
|
223
265
|
debounce: 300,
|
|
224
266
|
throttle: 1000,
|
|
@@ -474,6 +516,9 @@ registry.destroy();
|
|
|
474
516
|
|
|
475
517
|
// Or await proof that started handlers settled and cleanup callbacks ran.
|
|
476
518
|
await registry.destroyAsync();
|
|
519
|
+
|
|
520
|
+
// Close admission now but defer user cleanup until the next microtask.
|
|
521
|
+
await registry.destroyAsync({ deferCleanup: true });
|
|
477
522
|
```
|
|
478
523
|
|
|
479
524
|
## API Reference
|
|
@@ -481,7 +526,10 @@ await registry.destroyAsync();
|
|
|
481
526
|
### ActionRegister<T>
|
|
482
527
|
|
|
483
528
|
#### Registration Methods
|
|
484
|
-
- `
|
|
529
|
+
- `registerGuard<K>(action, handler, config?)` - Register admission logic
|
|
530
|
+
- `registerResult<K>(action, handler, config?)` - Register a typed result handler
|
|
531
|
+
- `registerObserver<K>(action, handler, config?)` - Register a post-result observer
|
|
532
|
+
- `register<K>(action, handler, config?)` - Compatibility registration API
|
|
485
533
|
- `clearAction(action)` - Remove all handlers for action
|
|
486
534
|
- `clearAll()` - Remove all handlers
|
|
487
535
|
|
|
@@ -505,7 +553,7 @@ await registry.destroyAsync();
|
|
|
505
553
|
- `getName()` - Get registry name
|
|
506
554
|
- `isDebugEnabled()` - Check if debug mode is enabled
|
|
507
555
|
- `destroy()` - Begin terminal cleanup without waiting
|
|
508
|
-
- `destroyAsync()` - Resolve after started handlers settle and cleanup completes
|
|
556
|
+
- `destroyAsync({ deferCleanup? })` - Resolve after started handlers settle and cleanup completes
|
|
509
557
|
|
|
510
558
|
### Configuration Interfaces
|
|
511
559
|
|
|
@@ -513,7 +561,9 @@ await registry.destroyAsync();
|
|
|
513
561
|
interface HandlerConfig {
|
|
514
562
|
priority?: number; // Handler priority (higher = first)
|
|
515
563
|
id?: string; // Unique handler identifier
|
|
516
|
-
blocking?: boolean; //
|
|
564
|
+
blocking?: boolean; // Compatibility 1.x shorthand
|
|
565
|
+
scheduling?: 'await-before-next' | 'start-and-continue';
|
|
566
|
+
errorPolicy?: 'fatal' | 'collect';
|
|
517
567
|
once?: boolean; // Remove after first execution
|
|
518
568
|
debounce?: number; // Debounce delay in ms
|
|
519
569
|
throttle?: number; // Throttle delay in ms
|
|
@@ -581,27 +631,50 @@ await actions.dispatch('setUser', { id: '1' }); // Missing required fields
|
|
|
581
631
|
await actions.dispatch('invalidAction'); // Unknown action
|
|
582
632
|
```
|
|
583
633
|
|
|
584
|
-
##
|
|
634
|
+
## Registration compatibility
|
|
585
635
|
|
|
586
|
-
|
|
636
|
+
Existing `register()` calls remain supported in 1.x. Migrate individual
|
|
637
|
+
pipelines to explicit phase registration when you need typed results,
|
|
638
|
+
admission guards, or terminal observers:
|
|
587
639
|
|
|
640
|
+
<!-- @context-action-compile -->
|
|
588
641
|
```typescript
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
}
|
|
642
|
+
import {
|
|
643
|
+
ActionRegister,
|
|
644
|
+
type ActionPayloadMap,
|
|
645
|
+
type ActionResultMap,
|
|
646
|
+
} from '@context-action/core';
|
|
647
|
+
|
|
648
|
+
interface AppActions extends ActionPayloadMap {
|
|
649
|
+
myAction: { id: string };
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
interface AppResults extends ActionResultMap<AppActions> {
|
|
653
|
+
myAction: { persisted: true };
|
|
654
|
+
}
|
|
598
655
|
|
|
599
|
-
|
|
600
|
-
|
|
656
|
+
const legacyActions = new ActionRegister<AppActions, AppResults>();
|
|
657
|
+
const handler = (_payload: AppActions['myAction']) => ({ persisted: true } as const);
|
|
658
|
+
|
|
659
|
+
// Existing registration — still supported
|
|
660
|
+
legacyActions.register('myAction', handler, { id: 'persist' });
|
|
661
|
+
await legacyActions.dispatch('myAction', { id: 'example' });
|
|
662
|
+
|
|
663
|
+
// Or replace that registration in your application with an explicit result phase.
|
|
664
|
+
const migratedActions = new ActionRegister<AppActions, AppResults>();
|
|
665
|
+
migratedActions.registerResult('myAction', handler, {
|
|
666
|
+
id: 'persist',
|
|
667
|
+
scheduling: 'await-before-next',
|
|
668
|
+
errorPolicy: 'fatal',
|
|
601
669
|
});
|
|
602
670
|
|
|
603
|
-
//
|
|
604
|
-
|
|
671
|
+
// Add a guard or observer only when the pipeline needs that phase.
|
|
672
|
+
migratedActions.registerGuard('myAction', payload => {
|
|
673
|
+
if (!payload.id) throw new Error('An id is required');
|
|
674
|
+
});
|
|
675
|
+
migratedActions.registerObserver('myAction', event => {
|
|
676
|
+
console.info(event.outcome);
|
|
677
|
+
}, { when: 'always' });
|
|
605
678
|
```
|
|
606
679
|
|
|
607
680
|
## Performance Tips
|
package/dist/index.d.cts
CHANGED
|
@@ -15,6 +15,7 @@ interface ActionSchemaLike {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
type ActionNames<T extends ActionPayloadMap> = Extract<keyof T, string>;
|
|
18
|
+
type ActionPayload<T extends ActionPayloadMap, K extends keyof T> = T[K];
|
|
18
19
|
type ActionResultMap<T extends ActionPayloadMap> = Partial<Record<ActionNames<T>, unknown>>;
|
|
19
20
|
type ActionResult<TResultMap extends ActionPayloadMap, K extends PropertyKey> = K extends keyof TResultMap ? TResultMap[K] : void;
|
|
20
21
|
interface PipelineController<T = unknown, R = void> {
|
|
@@ -263,6 +264,7 @@ type UnregisterFunction = () => void;
|
|
|
263
264
|
type DispatchArgs<P> = [P] extends [void] ? [payload?: undefined, options?: DispatchOptions] : [payload: P, options?: DispatchOptions];
|
|
264
265
|
type ReservedActionKey = 'then' | 'catch' | 'finally' | 'toJSON' | 'constructor' | '__proto__' | 'prototype';
|
|
265
266
|
type ProxyActionKey<T extends ActionPayloadMap> = Exclude<ActionNames<T>, ReservedActionKey>;
|
|
267
|
+
type ActionDispatcherWithResult<T extends ActionPayloadMap, TResultMap extends ActionResultMap<T> = {}> = <K extends ActionNames<T>, R = ActionResult<TResultMap, K>>(action: K, ...args: DispatchArgs<T[K]>) => Promise<ExecutionResult<R>>;
|
|
266
268
|
type ActionDispatcher<T extends ActionPayloadMap> = <K extends ActionNames<T>>(action: K, ...args: DispatchArgs<T[K]>) => Promise<void>;
|
|
267
269
|
interface ActionRegistryInfo<T extends ActionPayloadMap> {
|
|
268
270
|
name: string;
|
|
@@ -490,5 +492,5 @@ declare function executeSequential<T, R = void>(context: PipelineContext<T, R>,
|
|
|
490
492
|
declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number, state: PipelineControllerState<T, R>) => PipelineController<T, R>): Promise<void>;
|
|
491
493
|
declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number, state: PipelineControllerState<T, R>) => PipelineController<T, R>): Promise<void>;
|
|
492
494
|
//#endregion
|
|
493
|
-
export { ActionAttemptSupersededError, type ActionDispatcher, type ActionEffectController, type ActionEffectHandler, ActionGuard, type ActionGuardController, type ActionGuardHandler, type ActionHandler, type ActionNames, type ActionObserverEvent, type ActionObserverHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionResult, type ActionResultController, type ActionResultHandler, type ActionResultMap, ActionResultProcessingError, type ActionSchemaLike, ActionTimeoutError, ActionValidationError, type DispatchArgs, type DispatchOptions, type EffectConfig, type ExecutionMode, type ExecutionResult, type GuardConfig, type HandlerConfig, type HandlerErrorPolicy, type HandlerRegistration, type HandlerRole, type HandlerScheduling, type ObserverConfig, type PipelineContext, type PipelineController, type ProxyActionKey, type ReservedActionKey, type ResolvedHandlerConfig, type UnregisterFunction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionResultProcessingError, isActionTimeoutError, isActionValidationError, resolveHandlerConfig };
|
|
495
|
+
export { ActionAttemptSupersededError, type ActionDispatcher, type ActionDispatcherWithResult, type ActionEffectController, type ActionEffectHandler, ActionGuard, type ActionGuardController, type ActionGuardHandler, type ActionHandler, type ActionHandlerStats, type ActionNames, type ActionObserverEvent, type ActionObserverHandler, type ActionPayload, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionRegistryInfo, type ActionResult, type ActionResultController, type ActionResultHandler, type ActionResultMap, ActionResultProcessingError, type ActionSchemaLike, ActionTimeoutError, ActionValidationError, type DispatchArgs, type DispatchOptions, type EffectConfig, type ExecutionMode, type ExecutionResult, type GuardConfig, type HandlerConfig, type HandlerError, type HandlerErrorPolicy, type HandlerExecutionOutcome, type HandlerExecutionStatus, type HandlerRegistration, type HandlerRole, type HandlerScheduling, type ObserverConfig, type PipelineContext, type PipelineController, type ProxyActionKey, type ReservedActionKey, type ResolvedHandlerConfig, type UnregisterFunction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionResultProcessingError, isActionTimeoutError, isActionValidationError, resolveHandlerConfig };
|
|
494
496
|
//# 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/errors.ts","../src/execution-modes.ts"],"mappings":";KAmBY;UASK;EACf,UAAU;IACJ;IAAe;;IAEf;IACA;MACE;MACA;QAAmB;;;;;KAsKjB,YAAY,UAAU,oBAAoB,cAAc;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/errors.ts","../src/execution-modes.ts"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ interface ActionSchemaLike {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
type ActionNames<T extends ActionPayloadMap> = Extract<keyof T, string>;
|
|
18
|
+
type ActionPayload<T extends ActionPayloadMap, K extends keyof T> = T[K];
|
|
18
19
|
type ActionResultMap<T extends ActionPayloadMap> = Partial<Record<ActionNames<T>, unknown>>;
|
|
19
20
|
type ActionResult<TResultMap extends ActionPayloadMap, K extends PropertyKey> = K extends keyof TResultMap ? TResultMap[K] : void;
|
|
20
21
|
interface PipelineController<T = unknown, R = void> {
|
|
@@ -263,6 +264,7 @@ type UnregisterFunction = () => void;
|
|
|
263
264
|
type DispatchArgs<P> = [P] extends [void] ? [payload?: undefined, options?: DispatchOptions] : [payload: P, options?: DispatchOptions];
|
|
264
265
|
type ReservedActionKey = 'then' | 'catch' | 'finally' | 'toJSON' | 'constructor' | '__proto__' | 'prototype';
|
|
265
266
|
type ProxyActionKey<T extends ActionPayloadMap> = Exclude<ActionNames<T>, ReservedActionKey>;
|
|
267
|
+
type ActionDispatcherWithResult<T extends ActionPayloadMap, TResultMap extends ActionResultMap<T> = {}> = <K extends ActionNames<T>, R = ActionResult<TResultMap, K>>(action: K, ...args: DispatchArgs<T[K]>) => Promise<ExecutionResult<R>>;
|
|
266
268
|
type ActionDispatcher<T extends ActionPayloadMap> = <K extends ActionNames<T>>(action: K, ...args: DispatchArgs<T[K]>) => Promise<void>;
|
|
267
269
|
interface ActionRegistryInfo<T extends ActionPayloadMap> {
|
|
268
270
|
name: string;
|
|
@@ -490,5 +492,5 @@ declare function executeSequential<T, R = void>(context: PipelineContext<T, R>,
|
|
|
490
492
|
declare function executeParallel<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number, state: PipelineControllerState<T, R>) => PipelineController<T, R>): Promise<void>;
|
|
491
493
|
declare function executeRace<T, R = void>(context: PipelineContext<T, R>, createController: (registration: HandlerRegistration<T, R>, index: number, state: PipelineControllerState<T, R>) => PipelineController<T, R>): Promise<void>;
|
|
492
494
|
//#endregion
|
|
493
|
-
export { ActionAttemptSupersededError, type ActionDispatcher, type ActionEffectController, type ActionEffectHandler, ActionGuard, type ActionGuardController, type ActionGuardHandler, type ActionHandler, type ActionNames, type ActionObserverEvent, type ActionObserverHandler, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionResult, type ActionResultController, type ActionResultHandler, type ActionResultMap, ActionResultProcessingError, type ActionSchemaLike, ActionTimeoutError, ActionValidationError, type DispatchArgs, type DispatchOptions, type EffectConfig, type ExecutionMode, type ExecutionResult, type GuardConfig, type HandlerConfig, type HandlerErrorPolicy, type HandlerRegistration, type HandlerRole, type HandlerScheduling, type ObserverConfig, type PipelineContext, type PipelineController, type ProxyActionKey, type ReservedActionKey, type ResolvedHandlerConfig, type UnregisterFunction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionResultProcessingError, isActionTimeoutError, isActionValidationError, resolveHandlerConfig };
|
|
495
|
+
export { ActionAttemptSupersededError, type ActionDispatcher, type ActionDispatcherWithResult, type ActionEffectController, type ActionEffectHandler, ActionGuard, type ActionGuardController, type ActionGuardHandler, type ActionHandler, type ActionHandlerStats, type ActionNames, type ActionObserverEvent, type ActionObserverHandler, type ActionPayload, type ActionPayloadMap, ActionRegister, type ActionRegisterConfig, ActionRegisterDestroyedError, type ActionRegistryInfo, type ActionResult, type ActionResultController, type ActionResultHandler, type ActionResultMap, ActionResultProcessingError, type ActionSchemaLike, ActionTimeoutError, ActionValidationError, type DispatchArgs, type DispatchOptions, type EffectConfig, type ExecutionMode, type ExecutionResult, type GuardConfig, type HandlerConfig, type HandlerError, type HandlerErrorPolicy, type HandlerExecutionOutcome, type HandlerExecutionStatus, type HandlerRegistration, type HandlerRole, type HandlerScheduling, type ObserverConfig, type PipelineContext, type PipelineController, type ProxyActionKey, type ReservedActionKey, type ResolvedHandlerConfig, type UnregisterFunction, executeParallel, executeRace, executeSequential, isActionRegisterDestroyedError, isActionResultProcessingError, isActionTimeoutError, isActionValidationError, resolveHandlerConfig };
|
|
494
496
|
//# 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/errors.ts","../src/execution-modes.ts"],"mappings":";KAmBY;UASK;EACf,UAAU;IACJ;IAAe;;IAEf;IACA;MACE;MACA;QAAmB;;;;;KAsKjB,YAAY,UAAU,oBAAoB,cAAc;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/ActionRegister.ts","../src/action-guard.ts","../src/errors.ts","../src/execution-modes.ts"],"mappings":"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"}
|