jssm 5.65.7 → 5.65.10
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 +99 -15
- package/dist/es6/jssm.js +99 -15
- 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 +99 -15
- package/package.json +2 -2
package/jssm.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { version } from './version';
|
|
|
9
9
|
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
10
10
|
*
|
|
11
11
|
* ```typescript
|
|
12
|
-
* import { arrow_direction } from '
|
|
12
|
+
* import { arrow_direction } from 'jssm';
|
|
13
13
|
*
|
|
14
14
|
* arrow_direction('->'); // 'right'
|
|
15
15
|
* arrow_direction('<~=>'); // 'both'
|
|
@@ -22,7 +22,7 @@ declare function arrow_direction(arrow: JssmArrow): JssmArrowDirection;
|
|
|
22
22
|
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
23
23
|
*
|
|
24
24
|
* ```typescript
|
|
25
|
-
* import { arrow_left_kind } from '
|
|
25
|
+
* import { arrow_left_kind } from 'jssm';
|
|
26
26
|
*
|
|
27
27
|
* arrow_left_kind('<-'); // 'legal'
|
|
28
28
|
* arrow_left_kind('<='); // 'main'
|
|
@@ -38,7 +38,7 @@ declare function arrow_left_kind(arrow: JssmArrow): JssmArrowKind;
|
|
|
38
38
|
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
39
39
|
*
|
|
40
40
|
* ```typescript
|
|
41
|
-
* import { arrow_left_kind } from '
|
|
41
|
+
* import { arrow_left_kind } from 'jssm';
|
|
42
42
|
*
|
|
43
43
|
* arrow_left_kind('->'); // 'legal'
|
|
44
44
|
* arrow_left_kind('=>'); // 'main'
|
|
@@ -60,7 +60,7 @@ declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
|
|
|
60
60
|
* probably also using {@link compile} and {@link Machine.constructor}.
|
|
61
61
|
*
|
|
62
62
|
* ```typescript
|
|
63
|
-
* import { parse, compile, Machine } from '
|
|
63
|
+
* import { parse, compile, Machine } from 'jssm';
|
|
64
64
|
*
|
|
65
65
|
* const intermediate = wrap_parse('a -> b;', {});
|
|
66
66
|
* // [ {key:'transition', from:'a', se:{kind:'->',to:'b'}} ]
|
|
@@ -85,7 +85,7 @@ declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
|
|
|
85
85
|
* Operator {@link sm}:
|
|
86
86
|
*
|
|
87
87
|
* ```typescript
|
|
88
|
-
* import { sm } from '
|
|
88
|
+
* import { sm } from 'jssm';
|
|
89
89
|
*
|
|
90
90
|
* const switch = sm`on <=> off;`;
|
|
91
91
|
* ```
|
|
@@ -93,7 +93,7 @@ declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
|
|
|
93
93
|
* Method {@link from}:
|
|
94
94
|
*
|
|
95
95
|
* ```typescript
|
|
96
|
-
* import * as jssm from '
|
|
96
|
+
* import * as jssm from 'jssm';
|
|
97
97
|
*
|
|
98
98
|
* const toggle = jssm.from('up <=> down;');
|
|
99
99
|
* ```
|
|
@@ -111,7 +111,7 @@ declare function wrap_parse(input: string, options?: Object): any;
|
|
|
111
111
|
* {@link Machine.construct} to turn the config object into a workable machine.
|
|
112
112
|
*
|
|
113
113
|
* ```typescript
|
|
114
|
-
* import { parse, compile, Machine } from '
|
|
114
|
+
* import { parse, compile, Machine } from 'jssm';
|
|
115
115
|
*
|
|
116
116
|
* const intermediate = parse('a -> b;');
|
|
117
117
|
* // [ {key:'transition', from:'a', se:{kind:'->',to:'b'}} ]
|
|
@@ -136,7 +136,7 @@ declare function wrap_parse(input: string, options?: Object): any;
|
|
|
136
136
|
* Operator {@link sm}:
|
|
137
137
|
*
|
|
138
138
|
* ```typescript
|
|
139
|
-
* import { sm } from '
|
|
139
|
+
* import { sm } from 'jssm';
|
|
140
140
|
*
|
|
141
141
|
* const switch = sm`on <=> off;`;
|
|
142
142
|
* ```
|
|
@@ -144,7 +144,7 @@ declare function wrap_parse(input: string, options?: Object): any;
|
|
|
144
144
|
* Method {@link from}:
|
|
145
145
|
*
|
|
146
146
|
* ```typescript
|
|
147
|
-
* import * as jssm from '
|
|
147
|
+
* import * as jssm from 'jssm';
|
|
148
148
|
*
|
|
149
149
|
* const toggle = jssm.from('up <=> down;');
|
|
150
150
|
* ```
|
|
@@ -213,13 +213,18 @@ declare class Machine<mDT> {
|
|
|
213
213
|
_forced_transition_hook: HookHandler | undefined;
|
|
214
214
|
_any_transition_hook: HookHandler | undefined;
|
|
215
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>);
|
|
216
|
+
/********
|
|
217
|
+
*
|
|
218
|
+
* Internal method for fabricating states. Not meant for external use.
|
|
219
|
+
*
|
|
220
|
+
*/
|
|
216
221
|
_new_state(state_config: JssmGenericState): StateType;
|
|
217
222
|
/*********
|
|
218
223
|
*
|
|
219
224
|
* Get the current state of a machine.
|
|
220
225
|
*
|
|
221
226
|
* ```typescript
|
|
222
|
-
* import * as jssm from '
|
|
227
|
+
* import * as jssm from 'jssm';
|
|
223
228
|
*
|
|
224
229
|
* const switch = jssm.from('on <=> off;');
|
|
225
230
|
* console.log( switch.state() ); // 'on'
|
|
@@ -230,7 +235,38 @@ declare class Machine<mDT> {
|
|
|
230
235
|
*
|
|
231
236
|
*/
|
|
232
237
|
state(): StateType;
|
|
238
|
+
/********
|
|
239
|
+
*
|
|
240
|
+
* Check whether a given state is final (either has no exits or is marked
|
|
241
|
+
* `complete`.)
|
|
242
|
+
*
|
|
243
|
+
* ```typescript
|
|
244
|
+
* import { sm, state_is_final } from 'jssm';
|
|
245
|
+
*
|
|
246
|
+
* const final_test = sm`first -> second;`;
|
|
247
|
+
*
|
|
248
|
+
* console.log( final_test.state_is_final('first') ); // false
|
|
249
|
+
* console.log( final_test.state_is_final('second') ); // true
|
|
250
|
+
* ```
|
|
251
|
+
*
|
|
252
|
+
*/
|
|
233
253
|
state_is_final(whichState: StateType): boolean;
|
|
254
|
+
/********
|
|
255
|
+
*
|
|
256
|
+
* Check whether the current state is final (either has no exits or is marked
|
|
257
|
+
* `complete`.)
|
|
258
|
+
*
|
|
259
|
+
* ```typescript
|
|
260
|
+
* import { sm, state_is_final } from 'jssm';
|
|
261
|
+
*
|
|
262
|
+
* const final_test = sm`first -> second;`;
|
|
263
|
+
*
|
|
264
|
+
* console.log( final_test.is_final() ); // false
|
|
265
|
+
* state.transition('second');
|
|
266
|
+
* console.log( final_test.is_final() ); // true
|
|
267
|
+
* ```
|
|
268
|
+
*
|
|
269
|
+
*/
|
|
234
270
|
is_final(): boolean;
|
|
235
271
|
graph_layout(): string;
|
|
236
272
|
dot_preamble(): string;
|
|
@@ -253,7 +289,7 @@ declare class Machine<mDT> {
|
|
|
253
289
|
* these states is not guaranteed.
|
|
254
290
|
*
|
|
255
291
|
* ```typescript
|
|
256
|
-
* import * as jssm from '
|
|
292
|
+
* import * as jssm from 'jssm';
|
|
257
293
|
*
|
|
258
294
|
* const switch = jssm.from('on <=> off;');
|
|
259
295
|
* console.log( switch.states() ); // ['on', 'off']
|
|
@@ -267,10 +303,10 @@ declare class Machine<mDT> {
|
|
|
267
303
|
* Check whether the machine knows a given state.
|
|
268
304
|
*
|
|
269
305
|
* ```typescript
|
|
270
|
-
* import * as jssm from '
|
|
306
|
+
* import * as jssm from 'jssm';
|
|
271
307
|
*
|
|
272
308
|
* const switch = jssm.from('on <=> off;');
|
|
273
|
-
|
|
309
|
+
*
|
|
274
310
|
* console.log( switch.has_state('off') ); // true
|
|
275
311
|
* console.log( switch.has_state('dance') ); // false
|
|
276
312
|
* ```
|
|
@@ -291,7 +327,55 @@ declare class Machine<mDT> {
|
|
|
291
327
|
probabilistic_transition(): boolean;
|
|
292
328
|
probabilistic_walk(n: number): Array<StateType>;
|
|
293
329
|
probabilistic_histo_walk(n: number): Map<StateType, number>;
|
|
330
|
+
/********
|
|
331
|
+
*
|
|
332
|
+
* List all actions available from this state. Please note that the order of
|
|
333
|
+
* the actions is not guaranteed.
|
|
334
|
+
*
|
|
335
|
+
* ```typescript
|
|
336
|
+
* import { sm } from 'jssm';
|
|
337
|
+
*
|
|
338
|
+
* const machine = sm`
|
|
339
|
+
* red 'next' -> green 'next' -> yellow 'next' -> red;
|
|
340
|
+
* [red yellow green] 'shutdown' ~> off 'start' -> red;
|
|
341
|
+
* `;
|
|
342
|
+
*
|
|
343
|
+
* console.log( machine.state() ); // logs 'red'
|
|
344
|
+
* console.log( machine.actions() ); // logs ['next', 'shutdown']
|
|
345
|
+
*
|
|
346
|
+
* machine.action('next'); // true
|
|
347
|
+
* console.log( machine.state() ); // logs 'green'
|
|
348
|
+
* console.log( machine.actions() ); // logs ['next', 'shutdown']
|
|
349
|
+
*
|
|
350
|
+
* machine.action('shutdown'); // true
|
|
351
|
+
* console.log( machine.state() ); // logs 'off'
|
|
352
|
+
* console.log( machine.actions() ); // logs ['start']
|
|
353
|
+
*
|
|
354
|
+
* machine.action('start'); // true
|
|
355
|
+
* console.log( machine.state() ); // logs 'red'
|
|
356
|
+
* console.log( machine.actions() ); // logs ['next', 'shutdown']
|
|
357
|
+
* ```
|
|
358
|
+
*
|
|
359
|
+
*/
|
|
294
360
|
actions(whichState?: StateType): Array<StateType>;
|
|
361
|
+
/********
|
|
362
|
+
*
|
|
363
|
+
* List all states that have a specific action attached. Please note that
|
|
364
|
+
* the order of the states is not guaranteed.
|
|
365
|
+
*
|
|
366
|
+
* ```typescript
|
|
367
|
+
* import { sm } from 'jssm';
|
|
368
|
+
*
|
|
369
|
+
* const machine = sm`
|
|
370
|
+
* red 'next' -> green 'next' -> yellow 'next' -> red;
|
|
371
|
+
* [red yellow green] 'shutdown' ~> off 'start' -> red;
|
|
372
|
+
* `;
|
|
373
|
+
*
|
|
374
|
+
* console.log( machine.list_states_having_action('next') ); // ['red', 'green', 'yellow']
|
|
375
|
+
* console.log( machine.list_states_having_action('start') ); // ['off']
|
|
376
|
+
* ```
|
|
377
|
+
*
|
|
378
|
+
*/
|
|
295
379
|
list_states_having_action(whichState: StateType): Array<StateType>;
|
|
296
380
|
list_exit_actions(whichState?: StateType): Array<StateType>;
|
|
297
381
|
probable_action_exits(whichState?: StateType): Array<any>;
|
|
@@ -338,7 +422,7 @@ declare class Machine<mDT> {
|
|
|
338
422
|
*
|
|
339
423
|
*
|
|
340
424
|
* ```typescript
|
|
341
|
-
* import * as jssm from '
|
|
425
|
+
* import * as jssm from 'jssm';
|
|
342
426
|
*
|
|
343
427
|
* const switch = jssm.from('on <=> off;');
|
|
344
428
|
* ```
|
|
@@ -355,7 +439,7 @@ declare function sm<mDT>(template_strings: TemplateStringsArray, ...remainder: a
|
|
|
355
439
|
* template expression.
|
|
356
440
|
*
|
|
357
441
|
* ```typescript
|
|
358
|
-
* import * as jssm from '
|
|
442
|
+
* import * as jssm from 'jssm';
|
|
359
443
|
*
|
|
360
444
|
* const switch = jssm.from('on <=> off;');
|
|
361
445
|
* ```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jssm",
|
|
3
|
-
"version": "5.65.
|
|
3
|
+
"version": "5.65.10",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=10.0.0"
|
|
6
6
|
},
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"min_iife": "mv dist/jssm.es5.iife.js dist/jssm.es5.iife.nonmin.js && terser dist/jssm.es5.iife.nonmin.js > dist/jssm.es5.iife.js",
|
|
53
53
|
"min_cjs": "mv dist/jssm.es5.cjs.js dist/jssm.es5.cjs.nonmin.js && terser dist/jssm.es5.cjs.nonmin.js > dist/jssm.es5.cjs.js",
|
|
54
54
|
"site": "cp src/site/* docs/",
|
|
55
|
-
"docs": "typedoc src/ts/jssm.ts --out docs/docs",
|
|
55
|
+
"docs": "typedoc src/ts/jssm.ts --out docs/docs --customCss ./src/site/typedoc-addon.css",
|
|
56
56
|
"changelog": "rm -f CHANGELOG.md && changelog-maker -a > CHANGELOG.md"
|
|
57
57
|
},
|
|
58
58
|
"repository": {
|