jssm 5.72.1 → 5.72.4
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 +39 -42
- package/dist/es6/jssm.d.ts +26 -23
- package/dist/es6/jssm.js +102 -52
- package/dist/es6/jssm_types.d.ts +32 -23
- package/dist/es6/version.js +1 -1
- package/dist/jssm.es5.cjs.js +1 -1
- package/dist/jssm.es5.iife.js +1 -1
- package/jssm.d.ts +26 -23
- package/jssm_types.d.ts +32 -23
- package/package.json +1 -1
package/jssm.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare type StateType = string;
|
|
2
2
|
import { JssmGenericState, JssmGenericConfig, JssmTransition, JssmTransitionList, // JssmTransitionRule,
|
|
3
|
-
JssmMachineInternalState, JssmParseTree, JssmStateDeclaration, JssmArrow, JssmArrowDirection, JssmArrowKind, JssmLayout, FslDirection, FslTheme, HookDescription, HookHandler } from './jssm_types';
|
|
3
|
+
JssmMachineInternalState, JssmParseTree, JssmStateDeclaration, JssmArrow, JssmArrowDirection, JssmArrowKind, JssmLayout, FslDirection, FslTheme, HookDescription, HookHandler, HookContext, HookResult, HookComplexResult } from './jssm_types';
|
|
4
4
|
import { seq, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key } from './jssm_util';
|
|
5
5
|
import { shapes, gviz_shapes, named_colors } from './jssm_constants';
|
|
6
6
|
import { version } from './version';
|
|
@@ -223,16 +223,16 @@ declare class Machine<mDT> {
|
|
|
223
223
|
_has_exit_hooks: boolean;
|
|
224
224
|
_has_global_action_hooks: boolean;
|
|
225
225
|
_has_transition_hooks: boolean;
|
|
226
|
-
_hooks: Map<string,
|
|
227
|
-
_named_hooks: Map<string,
|
|
228
|
-
_entry_hooks: Map<string,
|
|
229
|
-
_exit_hooks: Map<string,
|
|
230
|
-
_global_action_hooks: Map<string,
|
|
231
|
-
_any_action_hook: HookHandler | undefined;
|
|
232
|
-
_standard_transition_hook: HookHandler | undefined;
|
|
233
|
-
_main_transition_hook: HookHandler | undefined;
|
|
234
|
-
_forced_transition_hook: HookHandler | undefined;
|
|
235
|
-
_any_transition_hook: HookHandler | undefined;
|
|
226
|
+
_hooks: Map<string, HookHandler<mDT>>;
|
|
227
|
+
_named_hooks: Map<string, HookHandler<mDT>>;
|
|
228
|
+
_entry_hooks: Map<string, HookHandler<mDT>>;
|
|
229
|
+
_exit_hooks: Map<string, HookHandler<mDT>>;
|
|
230
|
+
_global_action_hooks: Map<string, HookHandler<mDT>>;
|
|
231
|
+
_any_action_hook: HookHandler<mDT> | undefined;
|
|
232
|
+
_standard_transition_hook: HookHandler<mDT> | undefined;
|
|
233
|
+
_main_transition_hook: HookHandler<mDT> | undefined;
|
|
234
|
+
_forced_transition_hook: HookHandler<mDT> | undefined;
|
|
235
|
+
_any_transition_hook: HookHandler<mDT> | undefined;
|
|
236
236
|
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, data }: JssmGenericConfig<mDT>);
|
|
237
237
|
/********
|
|
238
238
|
*
|
|
@@ -538,17 +538,17 @@ declare class Machine<mDT> {
|
|
|
538
538
|
is_complete(): boolean;
|
|
539
539
|
state_is_complete(whichState: StateType): boolean;
|
|
540
540
|
has_completes(): boolean;
|
|
541
|
-
set_hook(HookDesc: HookDescription): void;
|
|
542
|
-
hook(from: string, to: string, handler: HookHandler): Machine<mDT>;
|
|
543
|
-
hook_action(from: string, to: string, action: string, handler: HookHandler): Machine<mDT>;
|
|
544
|
-
hook_global_action(action: string, handler: HookHandler): Machine<mDT>;
|
|
545
|
-
hook_any_action(handler: HookHandler): Machine<mDT>;
|
|
546
|
-
hook_standard_transition(handler: HookHandler): Machine<mDT>;
|
|
547
|
-
hook_main_transition(handler: HookHandler): Machine<mDT>;
|
|
548
|
-
hook_forced_transition(handler: HookHandler): Machine<mDT>;
|
|
549
|
-
hook_any_transition(handler: HookHandler): Machine<mDT>;
|
|
550
|
-
hook_entry(to: string, handler: HookHandler): Machine<mDT>;
|
|
551
|
-
hook_exit(from: string, handler: HookHandler): Machine<mDT>;
|
|
541
|
+
set_hook(HookDesc: HookDescription<mDT>): void;
|
|
542
|
+
hook(from: string, to: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
543
|
+
hook_action(from: string, to: string, action: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
544
|
+
hook_global_action(action: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
545
|
+
hook_any_action(handler: HookHandler<mDT>): Machine<mDT>;
|
|
546
|
+
hook_standard_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
547
|
+
hook_main_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
548
|
+
hook_forced_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
549
|
+
hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
550
|
+
hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
551
|
+
hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
552
552
|
edges_between(from: string, to: string): JssmTransition<mDT>[];
|
|
553
553
|
transition_impl(newStateOrAction: StateType, newData: mDT | undefined, wasForced: boolean, wasAction: boolean): boolean;
|
|
554
554
|
/********
|
|
@@ -669,4 +669,7 @@ declare function sm<mDT>(template_strings: TemplateStringsArray, ...remainder: a
|
|
|
669
669
|
*
|
|
670
670
|
*/
|
|
671
671
|
declare function from<mDT>(MachineAsString: string, ExtraConstructorFields?: Partial<JssmGenericConfig<mDT>> | undefined): Machine<mDT>;
|
|
672
|
-
|
|
672
|
+
declare function is_hook_complex_result<mDT>(hr: unknown): hr is HookComplexResult<mDT>;
|
|
673
|
+
declare function is_hook_rejection<mDT>(hr: HookResult<mDT>): boolean;
|
|
674
|
+
declare function abstract_hook_step<mDT>(maybe_hook: HookHandler<mDT> | undefined, hook_args: HookContext<mDT>): HookComplexResult<mDT>;
|
|
675
|
+
export { version, transfer_state_properties, Machine, make, wrap_parse as parse, compile, sm, from, arrow_direction, arrow_left_kind, arrow_right_kind, seq, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key, shapes, gviz_shapes, named_colors, is_hook_rejection, is_hook_complex_result, abstract_hook_step };
|
package/jssm_types.d.ts
CHANGED
|
@@ -149,57 +149,66 @@ declare type JssmCompileSeStart<DataType> = {
|
|
|
149
149
|
};
|
|
150
150
|
declare type JssmParseTree = Array<JssmCompileSeStart<StateType>>;
|
|
151
151
|
declare type JssmParseFunctionType = (string: any) => JssmParseTree;
|
|
152
|
-
declare type
|
|
153
|
-
declare type BasicHookDescription = {
|
|
152
|
+
declare type BasicHookDescription<mDT> = {
|
|
154
153
|
kind: 'hook';
|
|
155
154
|
from: string;
|
|
156
155
|
to: string;
|
|
157
|
-
handler: HookHandler
|
|
156
|
+
handler: HookHandler<mDT>;
|
|
158
157
|
};
|
|
159
|
-
declare type HookDescriptionWithAction = {
|
|
158
|
+
declare type HookDescriptionWithAction<mDT> = {
|
|
160
159
|
kind: 'named';
|
|
161
160
|
from: string;
|
|
162
161
|
to: string;
|
|
163
162
|
action: string;
|
|
164
|
-
handler: HookHandler
|
|
163
|
+
handler: HookHandler<mDT>;
|
|
165
164
|
};
|
|
166
|
-
declare type StandardTransitionHook = {
|
|
165
|
+
declare type StandardTransitionHook<mDT> = {
|
|
167
166
|
kind: 'standard transition';
|
|
168
|
-
handler: HookHandler
|
|
167
|
+
handler: HookHandler<mDT>;
|
|
169
168
|
};
|
|
170
|
-
declare type MainTransitionHook = {
|
|
169
|
+
declare type MainTransitionHook<mDT> = {
|
|
171
170
|
kind: 'main transition';
|
|
172
|
-
handler: HookHandler
|
|
171
|
+
handler: HookHandler<mDT>;
|
|
173
172
|
};
|
|
174
|
-
declare type ForcedTransitionHook = {
|
|
173
|
+
declare type ForcedTransitionHook<mDT> = {
|
|
175
174
|
kind: 'forced transition';
|
|
176
|
-
handler: HookHandler
|
|
175
|
+
handler: HookHandler<mDT>;
|
|
177
176
|
};
|
|
178
|
-
declare type AnyTransitionHook = {
|
|
177
|
+
declare type AnyTransitionHook<mDT> = {
|
|
179
178
|
kind: 'any transition';
|
|
180
|
-
handler: HookHandler
|
|
179
|
+
handler: HookHandler<mDT>;
|
|
181
180
|
};
|
|
182
|
-
declare type GlobalActionHook = {
|
|
181
|
+
declare type GlobalActionHook<mDT> = {
|
|
183
182
|
kind: 'global action';
|
|
184
183
|
action: string;
|
|
185
|
-
handler: HookHandler
|
|
184
|
+
handler: HookHandler<mDT>;
|
|
186
185
|
};
|
|
187
|
-
declare type AnyActionHook = {
|
|
186
|
+
declare type AnyActionHook<mDT> = {
|
|
188
187
|
kind: 'any action';
|
|
189
|
-
handler: HookHandler
|
|
188
|
+
handler: HookHandler<mDT>;
|
|
190
189
|
};
|
|
191
|
-
declare type EntryHook = {
|
|
190
|
+
declare type EntryHook<mDT> = {
|
|
192
191
|
kind: 'entry';
|
|
193
192
|
to: string;
|
|
194
|
-
handler: HookHandler
|
|
193
|
+
handler: HookHandler<mDT>;
|
|
195
194
|
};
|
|
196
|
-
declare type ExitHook = {
|
|
195
|
+
declare type ExitHook<mDT> = {
|
|
197
196
|
kind: 'exit';
|
|
198
197
|
from: string;
|
|
199
|
-
handler: HookHandler
|
|
198
|
+
handler: HookHandler<mDT>;
|
|
200
199
|
};
|
|
201
|
-
declare type HookDescription = BasicHookDescription | HookDescriptionWithAction | GlobalActionHook | AnyActionHook | StandardTransitionHook | MainTransitionHook | ForcedTransitionHook | AnyTransitionHook | EntryHook | ExitHook
|
|
200
|
+
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 HookComplexResult<mDT> = {
|
|
202
|
+
pass: boolean;
|
|
203
|
+
state?: StateType;
|
|
204
|
+
data?: mDT;
|
|
205
|
+
};
|
|
206
|
+
declare type HookResult<mDT> = true | false | undefined | void | HookComplexResult<mDT>;
|
|
207
|
+
declare type HookContext<mDT> = {
|
|
208
|
+
data: mDT;
|
|
209
|
+
};
|
|
210
|
+
declare type HookHandler<mDT> = (hook_context: HookContext<mDT>) => HookResult<mDT>;
|
|
202
211
|
declare type JssmErrorExtendedInfo = {
|
|
203
212
|
requested_state?: StateType | undefined;
|
|
204
213
|
};
|
|
205
|
-
export { JssmColor, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmLayout, JssmParseFunctionType, JssmMachineInternalState, JssmErrorExtendedInfo, FslDirection, FslTheme, HookDescription, HookHandler };
|
|
214
|
+
export { JssmColor, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmLayout, JssmParseFunctionType, JssmMachineInternalState, JssmErrorExtendedInfo, FslDirection, FslTheme, HookDescription, HookHandler, HookContext, HookResult, HookComplexResult };
|