jssm 5.73.1 → 5.74.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/jssm.d.ts CHANGED
@@ -234,6 +234,23 @@ declare class Machine<mDT> {
234
234
  _main_transition_hook: HookHandler<mDT> | undefined;
235
235
  _forced_transition_hook: HookHandler<mDT> | undefined;
236
236
  _any_transition_hook: HookHandler<mDT> | undefined;
237
+ _has_post_hooks: boolean;
238
+ _has_post_basic_hooks: boolean;
239
+ _has_post_named_hooks: boolean;
240
+ _has_post_entry_hooks: boolean;
241
+ _has_post_exit_hooks: boolean;
242
+ _has_post_global_action_hooks: boolean;
243
+ _has_post_transition_hooks: boolean;
244
+ _post_hooks: Map<string, HookHandler<mDT>>;
245
+ _post_named_hooks: Map<string, HookHandler<mDT>>;
246
+ _post_entry_hooks: Map<string, HookHandler<mDT>>;
247
+ _post_exit_hooks: Map<string, HookHandler<mDT>>;
248
+ _post_global_action_hooks: Map<string, HookHandler<mDT>>;
249
+ _post_any_action_hook: HookHandler<mDT> | undefined;
250
+ _post_standard_transition_hook: HookHandler<mDT> | undefined;
251
+ _post_main_transition_hook: HookHandler<mDT> | undefined;
252
+ _post_forced_transition_hook: HookHandler<mDT> | undefined;
253
+ _post_any_transition_hook: HookHandler<mDT> | undefined;
237
254
  _history: circular_buffer<[StateType, mDT]>;
238
255
  _history_length: number;
239
256
  constructor({ start_states, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, theme, flow, graph_layout, instance_name, history, data }: JssmGenericConfig<mDT>);
@@ -552,6 +569,16 @@ declare class Machine<mDT> {
552
569
  hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>;
553
570
  hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>;
554
571
  hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>;
572
+ post_hook(from: string, to: string, handler: HookHandler<mDT>): Machine<mDT>;
573
+ post_hook_action(from: string, to: string, action: string, handler: HookHandler<mDT>): Machine<mDT>;
574
+ post_hook_global_action(action: string, handler: HookHandler<mDT>): Machine<mDT>;
575
+ post_hook_any_action(handler: HookHandler<mDT>): Machine<mDT>;
576
+ post_hook_standard_transition(handler: HookHandler<mDT>): Machine<mDT>;
577
+ post_hook_main_transition(handler: HookHandler<mDT>): Machine<mDT>;
578
+ post_hook_forced_transition(handler: HookHandler<mDT>): Machine<mDT>;
579
+ post_hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>;
580
+ post_hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>;
581
+ post_hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>;
555
582
  edges_between(from: string, to: string): JssmTransition<mDT>[];
556
583
  transition_impl(newStateOrAction: StateType, newData: mDT | undefined, wasForced: boolean, wasAction: boolean): boolean;
557
584
  /*********
package/jssm_types.d.ts CHANGED
@@ -198,7 +198,55 @@ declare type ExitHook<mDT> = {
198
198
  from: string;
199
199
  handler: HookHandler<mDT>;
200
200
  };
201
- declare type HookDescription<mDT> = BasicHookDescription<mDT> | HookDescriptionWithAction<mDT> | GlobalActionHook<mDT> | AnyActionHook<mDT> | StandardTransitionHook<mDT> | MainTransitionHook<mDT> | ForcedTransitionHook<mDT> | AnyTransitionHook<mDT> | EntryHook<mDT> | ExitHook<mDT>;
201
+ declare type PostBasicHookDescription<mDT> = {
202
+ kind: 'post hook';
203
+ from: string;
204
+ to: string;
205
+ handler: PostHookHandler<mDT>;
206
+ };
207
+ declare type PostHookDescriptionWithAction<mDT> = {
208
+ kind: 'post named';
209
+ from: string;
210
+ to: string;
211
+ action: string;
212
+ handler: PostHookHandler<mDT>;
213
+ };
214
+ declare type PostStandardTransitionHook<mDT> = {
215
+ kind: 'post standard transition';
216
+ handler: PostHookHandler<mDT>;
217
+ };
218
+ declare type PostMainTransitionHook<mDT> = {
219
+ kind: 'post main transition';
220
+ handler: PostHookHandler<mDT>;
221
+ };
222
+ declare type PostForcedTransitionHook<mDT> = {
223
+ kind: 'post forced transition';
224
+ handler: PostHookHandler<mDT>;
225
+ };
226
+ declare type PostAnyTransitionHook<mDT> = {
227
+ kind: 'post any transition';
228
+ handler: PostHookHandler<mDT>;
229
+ };
230
+ declare type PostGlobalActionHook<mDT> = {
231
+ kind: 'post global action';
232
+ action: string;
233
+ handler: PostHookHandler<mDT>;
234
+ };
235
+ declare type PostAnyActionHook<mDT> = {
236
+ kind: 'post any action';
237
+ handler: PostHookHandler<mDT>;
238
+ };
239
+ declare type PostEntryHook<mDT> = {
240
+ kind: 'post entry';
241
+ to: string;
242
+ handler: PostHookHandler<mDT>;
243
+ };
244
+ declare type PostExitHook<mDT> = {
245
+ kind: 'post exit';
246
+ from: string;
247
+ handler: PostHookHandler<mDT>;
248
+ };
249
+ declare type HookDescription<mDT> = BasicHookDescription<mDT> | HookDescriptionWithAction<mDT> | GlobalActionHook<mDT> | AnyActionHook<mDT> | StandardTransitionHook<mDT> | MainTransitionHook<mDT> | ForcedTransitionHook<mDT> | AnyTransitionHook<mDT> | EntryHook<mDT> | ExitHook<mDT> | PostBasicHookDescription<mDT> | PostHookDescriptionWithAction<mDT> | PostGlobalActionHook<mDT> | PostAnyActionHook<mDT> | PostStandardTransitionHook<mDT> | PostMainTransitionHook<mDT> | PostForcedTransitionHook<mDT> | PostAnyTransitionHook<mDT> | PostEntryHook<mDT> | PostExitHook<mDT>;
202
250
  declare type HookComplexResult<mDT> = {
203
251
  pass: boolean;
204
252
  state?: StateType;
@@ -209,6 +257,7 @@ declare type HookContext<mDT> = {
209
257
  data: mDT;
210
258
  };
211
259
  declare type HookHandler<mDT> = (hook_context: HookContext<mDT>) => HookResult<mDT>;
260
+ declare type PostHookHandler<mDT> = (hook_context: HookContext<mDT>) => void;
212
261
  declare type JssmErrorExtendedInfo = {
213
262
  requested_state?: StateType | undefined;
214
263
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jssm",
3
- "version": "5.73.1",
3
+ "version": "5.74.0",
4
4
  "engines": {
5
5
  "node": ">=10.0.0"
6
6
  },