jssm 5.71.1 → 5.72.2
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 +36 -42
- package/dist/es6/jssm.d.ts +33 -17
- package/dist/es6/jssm.js +27 -12
- package/dist/es6/jssm_types.d.ts +27 -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 +33 -17
- package/jssm_types.d.ts +27 -23
- package/package.json +1 -1
package/jssm.d.ts
CHANGED
|
@@ -208,6 +208,7 @@ declare class Machine<mDT> {
|
|
|
208
208
|
_raw_state_declaration?: Array<Object>;
|
|
209
209
|
_state_declarations: Map<StateType, JssmStateDeclaration>;
|
|
210
210
|
_instance_name: string;
|
|
211
|
+
_data?: mDT;
|
|
211
212
|
_graph_layout: JssmLayout;
|
|
212
213
|
_dot_preamble: string;
|
|
213
214
|
_arrange_declaration: Array<Array<StateType>>;
|
|
@@ -227,12 +228,12 @@ declare class Machine<mDT> {
|
|
|
227
228
|
_entry_hooks: Map<string, Function>;
|
|
228
229
|
_exit_hooks: Map<string, Function>;
|
|
229
230
|
_global_action_hooks: Map<string, Function>;
|
|
230
|
-
_any_action_hook: HookHandler | undefined;
|
|
231
|
-
_standard_transition_hook: HookHandler | undefined;
|
|
232
|
-
_main_transition_hook: HookHandler | undefined;
|
|
233
|
-
_forced_transition_hook: HookHandler | undefined;
|
|
234
|
-
_any_transition_hook: HookHandler | undefined;
|
|
235
|
-
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 }: JssmGenericConfig<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
|
+
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>);
|
|
236
237
|
/********
|
|
237
238
|
*
|
|
238
239
|
* Internal method for fabricating states. Not meant for external use.
|
|
@@ -259,6 +260,21 @@ declare class Machine<mDT> {
|
|
|
259
260
|
*
|
|
260
261
|
*/
|
|
261
262
|
state(): StateType;
|
|
263
|
+
/*********
|
|
264
|
+
*
|
|
265
|
+
* Get the current data of a machine.
|
|
266
|
+
*
|
|
267
|
+
* ```typescript
|
|
268
|
+
* import * as jssm from 'jssm';
|
|
269
|
+
*
|
|
270
|
+
* const switch = jssm.from('on <=> off;', {data: 1});
|
|
271
|
+
* console.log( switch.data() ); // 1
|
|
272
|
+
* ```
|
|
273
|
+
*
|
|
274
|
+
* @typeparam mDT The type of the machine data member; usually omitted
|
|
275
|
+
*
|
|
276
|
+
*/
|
|
277
|
+
data(): mDT;
|
|
262
278
|
/********
|
|
263
279
|
*
|
|
264
280
|
* Check whether a given state is final (either has no exits or is marked
|
|
@@ -522,17 +538,17 @@ declare class Machine<mDT> {
|
|
|
522
538
|
is_complete(): boolean;
|
|
523
539
|
state_is_complete(whichState: StateType): boolean;
|
|
524
540
|
has_completes(): boolean;
|
|
525
|
-
set_hook(HookDesc: HookDescription): void;
|
|
526
|
-
hook(from: string, to: string, handler: HookHandler): Machine<mDT>;
|
|
527
|
-
hook_action(from: string, to: string, action: string, handler: HookHandler): Machine<mDT>;
|
|
528
|
-
hook_global_action(action: string, handler: HookHandler): Machine<mDT>;
|
|
529
|
-
hook_any_action(handler: HookHandler): Machine<mDT>;
|
|
530
|
-
hook_standard_transition(handler: HookHandler): Machine<mDT>;
|
|
531
|
-
hook_main_transition(handler: HookHandler): Machine<mDT>;
|
|
532
|
-
hook_forced_transition(handler: HookHandler): Machine<mDT>;
|
|
533
|
-
hook_any_transition(handler: HookHandler): Machine<mDT>;
|
|
534
|
-
hook_entry(to: string, handler: HookHandler): Machine<mDT>;
|
|
535
|
-
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>;
|
|
536
552
|
edges_between(from: string, to: string): JssmTransition<mDT>[];
|
|
537
553
|
transition_impl(newStateOrAction: StateType, newData: mDT | undefined, wasForced: boolean, wasAction: boolean): boolean;
|
|
538
554
|
/********
|
package/jssm_types.d.ts
CHANGED
|
@@ -149,57 +149,61 @@ 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 HookResult = true | false | undefined | void;
|
|
202
|
+
declare type HookContext<mDT> = {
|
|
203
|
+
data: mDT;
|
|
204
|
+
};
|
|
205
|
+
declare type HookHandler<mDT> = (hook_context: HookContext<mDT>) => HookResult;
|
|
202
206
|
declare type JssmErrorExtendedInfo = {
|
|
203
207
|
requested_state?: StateType | undefined;
|
|
204
208
|
};
|
|
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 };
|
|
209
|
+
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, HookResult };
|