jssm 5.58.1 → 5.60.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
@@ -46,7 +46,9 @@ declare class Machine<mDT> {
46
46
  _named_hooks: Map<string, Function>;
47
47
  _entry_hooks: Map<string, Function>;
48
48
  _exit_hooks: Map<string, Function>;
49
+ _global_action_hooks: Map<string, Function>;
49
50
  _any_action_hook: HookHandler | undefined;
51
+ _standard_transition_hook: HookHandler | undefined;
50
52
  _any_transition_hook: HookHandler | undefined;
51
53
  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 }: JssmGenericConfig<mDT>);
52
54
  _new_state(state_config: JssmGenericState): StateType;
@@ -100,10 +102,12 @@ declare class Machine<mDT> {
100
102
  set_hook(HookDesc: HookDescription): void;
101
103
  hook(from: string, to: string, handler: HookHandler): Machine<mDT>;
102
104
  hook_action(from: string, to: string, action: string, handler: HookHandler): Machine<mDT>;
105
+ hook_global_action(action: string, handler: HookHandler): Machine<mDT>;
103
106
  hook_any_action(handler: HookHandler): Machine<mDT>;
104
107
  hook_any_transition(handler: HookHandler): Machine<mDT>;
105
108
  hook_entry(to: string, handler: HookHandler): Machine<mDT>;
106
109
  hook_exit(from: string, handler: HookHandler): Machine<mDT>;
110
+ edges_between(from: string, to: string): JssmTransition<mDT>[];
107
111
  transition_impl(newStateOrAction: StateType, newData: mDT | undefined, wasForced: boolean, wasAction: boolean): boolean;
108
112
  action(actionName: StateType, newData?: mDT): boolean;
109
113
  transition(newState: StateType, newData?: mDT): boolean;
package/jssm_types.d.ts CHANGED
@@ -162,10 +162,21 @@ declare type HookDescriptionWithAction = {
162
162
  action: string;
163
163
  handler: HookHandler;
164
164
  };
165
+ declare type StandardTransitionHook = {
166
+ kind: 'standard transition';
167
+ from: string;
168
+ to: string;
169
+ handler: HookHandler;
170
+ };
165
171
  declare type AnyTransitionHook = {
166
172
  kind: 'any transition';
167
173
  handler: HookHandler;
168
174
  };
175
+ declare type GlobalActionHook = {
176
+ kind: 'global action';
177
+ action: string;
178
+ handler: HookHandler;
179
+ };
169
180
  declare type AnyActionHook = {
170
181
  kind: 'any action';
171
182
  handler: HookHandler;
@@ -180,5 +191,5 @@ declare type ExitHook = {
180
191
  from: string;
181
192
  handler: HookHandler;
182
193
  };
183
- declare type HookDescription = BasicHookDescription | HookDescriptionWithAction | AnyActionHook | AnyTransitionHook | EntryHook | ExitHook;
194
+ declare type HookDescription = BasicHookDescription | HookDescriptionWithAction | GlobalActionHook | AnyActionHook | StandardTransitionHook | AnyTransitionHook | EntryHook | ExitHook;
184
195
  export { JssmColor, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmLayout, JssmParseFunctionType, JssmMachineInternalState, FslDirection, FslTheme, HookDescription, HookHandler };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jssm",
3
- "version": "5.58.1",
3
+ "version": "5.60.0",
4
4
  "engines": {
5
5
  "node": ">=10.0.0"
6
6
  },