jssm 5.65.3 → 5.65.7
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/dist/es6/jssm.d.ts +81 -2
- package/dist/es6/jssm.js +81 -2
- package/dist/es6/jssm_util.d.ts +43 -1
- package/dist/es6/jssm_util.js +53 -2
- 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 +81 -2
- package/jssm_util.d.ts +43 -1
- package/package.json +1 -1
package/jssm.d.ts
CHANGED
|
@@ -82,13 +82,15 @@ declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
|
|
|
82
82
|
* operator `sm`, and mostly falls back to `.from` when needing to parse
|
|
83
83
|
* strings dynamically instead of from template literals.
|
|
84
84
|
*
|
|
85
|
+
* Operator {@link sm}:
|
|
86
|
+
*
|
|
85
87
|
* ```typescript
|
|
86
88
|
* import { sm } from './jssm';
|
|
87
89
|
*
|
|
88
90
|
* const switch = sm`on <=> off;`;
|
|
89
91
|
* ```
|
|
90
92
|
*
|
|
91
|
-
*
|
|
93
|
+
* Method {@link from}:
|
|
92
94
|
*
|
|
93
95
|
* ```typescript
|
|
94
96
|
* import * as jssm from './jssm';
|
|
@@ -131,13 +133,15 @@ declare function wrap_parse(input: string, options?: Object): any;
|
|
|
131
133
|
* operator `sm`, and mostly falls back to `.from` when needing to parse
|
|
132
134
|
* strings dynamically instead of from template literals.
|
|
133
135
|
*
|
|
136
|
+
* Operator {@link sm}:
|
|
137
|
+
*
|
|
134
138
|
* ```typescript
|
|
135
139
|
* import { sm } from './jssm';
|
|
136
140
|
*
|
|
137
141
|
* const switch = sm`on <=> off;`;
|
|
138
142
|
* ```
|
|
139
143
|
*
|
|
140
|
-
*
|
|
144
|
+
* Method {@link from}:
|
|
141
145
|
*
|
|
142
146
|
* ```typescript
|
|
143
147
|
* import * as jssm from './jssm';
|
|
@@ -210,6 +214,21 @@ declare class Machine<mDT> {
|
|
|
210
214
|
_any_transition_hook: HookHandler | undefined;
|
|
211
215
|
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>);
|
|
212
216
|
_new_state(state_config: JssmGenericState): StateType;
|
|
217
|
+
/*********
|
|
218
|
+
*
|
|
219
|
+
* Get the current state of a machine.
|
|
220
|
+
*
|
|
221
|
+
* ```typescript
|
|
222
|
+
* import * as jssm from './jssm';
|
|
223
|
+
*
|
|
224
|
+
* const switch = jssm.from('on <=> off;');
|
|
225
|
+
* console.log( switch.state() ); // 'on'
|
|
226
|
+
*
|
|
227
|
+
* switch.transition('off');
|
|
228
|
+
* console.log( switch.state() ); // 'off'
|
|
229
|
+
* ```
|
|
230
|
+
*
|
|
231
|
+
*/
|
|
213
232
|
state(): StateType;
|
|
214
233
|
state_is_final(whichState: StateType): boolean;
|
|
215
234
|
is_final(): boolean;
|
|
@@ -228,8 +247,35 @@ declare class Machine<mDT> {
|
|
|
228
247
|
state_declarations(): Map<StateType, JssmStateDeclaration>;
|
|
229
248
|
fsl_version(): string;
|
|
230
249
|
machine_state(): JssmMachineInternalState<mDT>;
|
|
250
|
+
/*********
|
|
251
|
+
*
|
|
252
|
+
* List all the states known by the machine. Please note that the order of
|
|
253
|
+
* these states is not guaranteed.
|
|
254
|
+
*
|
|
255
|
+
* ```typescript
|
|
256
|
+
* import * as jssm from './jssm';
|
|
257
|
+
*
|
|
258
|
+
* const switch = jssm.from('on <=> off;');
|
|
259
|
+
* console.log( switch.states() ); // ['on', 'off']
|
|
260
|
+
* ```
|
|
261
|
+
*
|
|
262
|
+
*/
|
|
231
263
|
states(): Array<StateType>;
|
|
232
264
|
state_for(whichState: StateType): JssmGenericState;
|
|
265
|
+
/*********
|
|
266
|
+
*
|
|
267
|
+
* Check whether the machine knows a given state.
|
|
268
|
+
*
|
|
269
|
+
* ```typescript
|
|
270
|
+
* import * as jssm from './jssm';
|
|
271
|
+
*
|
|
272
|
+
* const switch = jssm.from('on <=> off;');
|
|
273
|
+
|
|
274
|
+
* console.log( switch.has_state('off') ); // true
|
|
275
|
+
* console.log( switch.has_state('dance') ); // false
|
|
276
|
+
* ```
|
|
277
|
+
*
|
|
278
|
+
*/
|
|
233
279
|
has_state(whichState: StateType): boolean;
|
|
234
280
|
list_edges(): Array<JssmTransition<mDT>>;
|
|
235
281
|
list_named_transitions(): Map<StateType, number>;
|
|
@@ -281,6 +327,39 @@ declare class Machine<mDT> {
|
|
|
281
327
|
instance_name(): string | undefined;
|
|
282
328
|
sm(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>;
|
|
283
329
|
}
|
|
330
|
+
/*********
|
|
331
|
+
*
|
|
332
|
+
* Create a state machine from a template string. This is one of the two main
|
|
333
|
+
* paths for working with JSSM, alongside {@link from}.
|
|
334
|
+
*
|
|
335
|
+
* Use this method when you want to work directly and conveniently with a
|
|
336
|
+
* constant template expression. Use `.from` when you want to pull from
|
|
337
|
+
* dynamic strings.
|
|
338
|
+
*
|
|
339
|
+
*
|
|
340
|
+
* ```typescript
|
|
341
|
+
* import * as jssm from './jssm';
|
|
342
|
+
*
|
|
343
|
+
* const switch = jssm.from('on <=> off;');
|
|
344
|
+
* ```
|
|
345
|
+
*
|
|
346
|
+
*/
|
|
284
347
|
declare function sm<mDT>(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>;
|
|
348
|
+
/*********
|
|
349
|
+
*
|
|
350
|
+
* Create a state machine from an implementation string. This is one of the
|
|
351
|
+
* two main paths for working with JSSM, alongside {@link sm}.
|
|
352
|
+
*
|
|
353
|
+
* Use this method when you want to conveniently pull a state machine from a
|
|
354
|
+
* string dynamically. Use operator `sm` when you just want to work with a
|
|
355
|
+
* template expression.
|
|
356
|
+
*
|
|
357
|
+
* ```typescript
|
|
358
|
+
* import * as jssm from './jssm';
|
|
359
|
+
*
|
|
360
|
+
* const switch = jssm.from('on <=> off;');
|
|
361
|
+
* ```
|
|
362
|
+
*
|
|
363
|
+
*/
|
|
285
364
|
declare function from<mDT>(MachineAsString: string, ExtraConstructorFields?: Partial<JssmGenericConfig<mDT>> | undefined): Machine<mDT>;
|
|
286
365
|
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 };
|
package/jssm_util.d.ts
CHANGED
|
@@ -1,10 +1,52 @@
|
|
|
1
|
+
/*******
|
|
2
|
+
*
|
|
3
|
+
* Predicate for validating an array for uniqueness. Not generally meant for
|
|
4
|
+
* external use.
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
1
7
|
declare function arr_uniq_p<T>(el: T, i: number, source: T[]): boolean;
|
|
2
8
|
declare const array_box_if_string: (n: any) => any;
|
|
3
9
|
declare const weighted_rand_select: Function;
|
|
4
|
-
|
|
10
|
+
/*******
|
|
11
|
+
*
|
|
12
|
+
* Returns, for a non-negative integer argument `n`, the series `[0 .. n]`.
|
|
13
|
+
*
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { seq } from './jssm';
|
|
16
|
+
*
|
|
17
|
+
* seq(5); // [0, 1, 2, 3, 4]
|
|
18
|
+
* seq(0); // []
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
declare function seq(n: number): number[];
|
|
23
|
+
/*******
|
|
24
|
+
*
|
|
25
|
+
* Returns the histograph of an array as a `Map`. Makes no attempt to cope
|
|
26
|
+
* with deep equality; will fail for complex contents, as such.
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import { histograph } from './jssm';
|
|
30
|
+
*
|
|
31
|
+
* histograph( [0, 0, 1, 1, 2, 2, 1] ); // Map()
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
5
35
|
declare const histograph: Function;
|
|
6
36
|
declare const weighted_sample_select: Function;
|
|
7
37
|
declare const weighted_histo_key: Function;
|
|
38
|
+
/*******
|
|
39
|
+
*
|
|
40
|
+
* Internal method generating names for edges for the hook lookup map. Not
|
|
41
|
+
* meant for external use.
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
8
44
|
declare const hook_name: (from: string, to: string) => string;
|
|
45
|
+
/*******
|
|
46
|
+
*
|
|
47
|
+
* Internal method generating names for actions for the hook lookup map. Not
|
|
48
|
+
* meant for external use.
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
9
51
|
declare const named_hook_name: (from: string, to: string, action: string) => string;
|
|
10
52
|
export { seq, arr_uniq_p, histograph, weighted_histo_key, weighted_rand_select, weighted_sample_select, array_box_if_string, hook_name, named_hook_name };
|