jssm 5.162.1 → 5.162.3
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/README.md +3 -3
- package/dist/cdn/instance.js +1 -1
- package/dist/cdn/viz.js +1 -1
- package/dist/cli/fsl-export-system-prompt.cjs +1 -1
- package/dist/cli/fsl-render.cjs +1 -1
- package/dist/cli/fsl.cjs +1 -1
- package/dist/cli/lib.cjs +1 -1
- package/dist/cli/lib.mjs +1 -1
- package/dist/deno/README.md +3 -3
- package/dist/deno/jssm.d.ts +60 -59
- package/dist/deno/jssm.js +1 -1
- package/dist/deno/jssm_compiler.d.ts +5 -5
- package/dist/deno/jssm_types.d.ts +21 -21
- package/dist/deno/jssm_viz.d.ts +1 -1
- package/dist/fence/fence.js +58 -58
- package/dist/jssm.es5.cjs +1 -1
- package/dist/jssm.es5.iife.js +1 -1
- package/dist/jssm.es6.mjs +1 -1
- package/dist/jssm_viz.cjs +1 -1
- package/dist/jssm_viz.iife.cjs +1 -1
- package/dist/jssm_viz.mjs +1 -1
- package/jssm.es5.d.cts +82 -81
- package/jssm.es6.d.ts +82 -81
- package/jssm.fence.d.ts +72 -71
- package/jssm_viz.es5.d.cts +73 -72
- package/jssm_viz.es6.d.ts +73 -72
- package/package.json +1 -1
package/jssm.fence.d.ts
CHANGED
|
@@ -185,7 +185,7 @@ type JssmShape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "
|
|
|
185
185
|
/**
|
|
186
186
|
* Semantic category of an arrow's transition. `'legal'` is a normal
|
|
187
187
|
* transition, `'main'` is part of the machine's primary path, `'forced'`
|
|
188
|
-
* may only be taken via {@link Machine.force_transition}, and `'none'`
|
|
188
|
+
* may only be taken via {@link jssm!Machine.force_transition}, and `'none'`
|
|
189
189
|
* means no transition exists in that direction.
|
|
190
190
|
*/
|
|
191
191
|
type JssmArrowKind = 'none' | 'legal' | 'main' | 'forced';
|
|
@@ -251,8 +251,8 @@ declare const FslThemes: readonly ["default", "ocean", "modern", "plain", "bold"
|
|
|
251
251
|
*/
|
|
252
252
|
type FslTheme = typeof FslThemes[number];
|
|
253
253
|
/**
|
|
254
|
-
* Persistable snapshot of a Machine produced by {@link Machine.serialize}
|
|
255
|
-
* and consumed by {@link deserialize}. Carries the current state, the
|
|
254
|
+
* Persistable snapshot of a Machine produced by {@link jssm!Machine.serialize}
|
|
255
|
+
* and consumed by {@link jssm!deserialize}. Carries the current state, the
|
|
256
256
|
* associated machine data, the recent history (subject to the configured
|
|
257
257
|
* capacity), and metadata to detect version-skew on rehydration.
|
|
258
258
|
*
|
|
@@ -409,7 +409,7 @@ type JssmGenericState = {
|
|
|
409
409
|
complete: boolean;
|
|
410
410
|
};
|
|
411
411
|
/**
|
|
412
|
-
* The full internal bookkeeping snapshot of a {@link Machine}, exposed for
|
|
412
|
+
* The full internal bookkeeping snapshot of a {@link jssm!Machine}, exposed for
|
|
413
413
|
* advanced introspection. Contains the current state, the state map, the
|
|
414
414
|
* edge map and reverse-action map, and the original edge list. The
|
|
415
415
|
* `internal_state_impl_version` field exists so that consumers can detect
|
|
@@ -462,7 +462,7 @@ type JssmStateDeclarationRule = {
|
|
|
462
462
|
/**
|
|
463
463
|
* The fully-condensed declaration for a single state, including its raw
|
|
464
464
|
* rule list (`declarations`) and the well-known styling fields jssm-viz
|
|
465
|
-
* understands. Returned by {@link Machine.state_declaration}.
|
|
465
|
+
* understands. Returned by {@link jssm!Machine.state_declaration}.
|
|
466
466
|
*/
|
|
467
467
|
type JssmStateDeclaration = {
|
|
468
468
|
declarations: Array<JssmStateDeclarationRule>;
|
|
@@ -655,7 +655,7 @@ type JssmBaseTheme = {
|
|
|
655
655
|
title: undefined;
|
|
656
656
|
};
|
|
657
657
|
/**
|
|
658
|
-
* Full configuration object accepted by the {@link Machine} constructor and
|
|
658
|
+
* Full configuration object accepted by the {@link jssm!Machine} constructor and
|
|
659
659
|
* by {@link from}. Carries the transition list and the optional knobs
|
|
660
660
|
* governing layout, theming, history, start/end states, property
|
|
661
661
|
* definitions, machine metadata (author, license, version, ...) and the
|
|
@@ -678,14 +678,14 @@ type JssmEditorConfig = {
|
|
|
678
678
|
};
|
|
679
679
|
/** Which stochastic view a run batch produces. */
|
|
680
680
|
type JssmStochasticMode = 'montecarlo' | 'steady_state';
|
|
681
|
-
/** Options for {@link Machine.stochastic_summary} / {@link Machine.stochastic_runs}. */
|
|
681
|
+
/** Options for {@link jssm!Machine.stochastic_summary} / {@link jssm!Machine.stochastic_runs}. */
|
|
682
682
|
type JssmStochasticOptions = {
|
|
683
683
|
mode?: JssmStochasticMode;
|
|
684
684
|
runs?: number;
|
|
685
685
|
max_steps?: number;
|
|
686
686
|
seed?: number;
|
|
687
687
|
};
|
|
688
|
-
/** One walk's result, yielded by {@link Machine.stochastic_runs}. */
|
|
688
|
+
/** One walk's result, yielded by {@link jssm!Machine.stochastic_runs}. */
|
|
689
689
|
type JssmStochasticRun = {
|
|
690
690
|
states: Array<string>;
|
|
691
691
|
edges: Array<string>;
|
|
@@ -717,7 +717,7 @@ type JssmGenericConfig<StateType, DataType> = {
|
|
|
717
717
|
history?: number;
|
|
718
718
|
/**
|
|
719
719
|
* Maximum depth of the boundary-hook action cascade before the machine
|
|
720
|
-
* throws a {@link JssmError} rather than risking a stack overflow or hang.
|
|
720
|
+
* throws a {@link jssm_error!JssmError} rather than risking a stack overflow or hang.
|
|
721
721
|
*
|
|
722
722
|
* Each time a boundary action fires a transition that itself crosses a
|
|
723
723
|
* boundary, the depth counter increments. A cascade exceeding this limit is
|
|
@@ -1014,7 +1014,7 @@ type HookRegistryEntry = {
|
|
|
1014
1014
|
target: HookTarget;
|
|
1015
1015
|
};
|
|
1016
1016
|
/**
|
|
1017
|
-
* Query for {@link Machine.has_hook} / {@link Machine.hooks_on}. A bare
|
|
1017
|
+
* Query for {@link jssm!Machine.has_hook} / {@link jssm!Machine.hooks_on}. A bare
|
|
1018
1018
|
* string is read as a state name; an `{ from, to, action? }` object is read
|
|
1019
1019
|
* as an edge (optionally a named edge); an `{ action }` object is read as a
|
|
1020
1020
|
* named action; a `{ group }` object is read as a named state group. This
|
|
@@ -1111,7 +1111,7 @@ type JssmHistory<mDT> = circular_buffer<[StateType$1, mDT]>;
|
|
|
1111
1111
|
*/
|
|
1112
1112
|
type JssmRng = () => number;
|
|
1113
1113
|
/**
|
|
1114
|
-
* All event names that {@link Machine.on} accepts. These are observation
|
|
1114
|
+
* All event names that {@link jssm!Machine.on} accepts. These are observation
|
|
1115
1115
|
* events fired by the machine in addition to (not in place of) the hook
|
|
1116
1116
|
* system. Hooks intercept; events observe.
|
|
1117
1117
|
*
|
|
@@ -1252,7 +1252,7 @@ type JssmHookLifecycleEventDetail<mDT> = {
|
|
|
1252
1252
|
};
|
|
1253
1253
|
/**
|
|
1254
1254
|
* Mapped type from {@link JssmEventName} to the corresponding detail
|
|
1255
|
-
* payload. Drives the discriminated-union typing of {@link Machine.on},
|
|
1255
|
+
* payload. Drives the discriminated-union typing of {@link jssm!Machine.on},
|
|
1256
1256
|
* so `e.action` and friends only exist where they're meaningful.
|
|
1257
1257
|
*/
|
|
1258
1258
|
type JssmEventDetailMap<mDT> = {
|
|
@@ -1271,7 +1271,7 @@ type JssmEventDetailMap<mDT> = {
|
|
|
1271
1271
|
'hook-removal': JssmHookLifecycleEventDetail<mDT>;
|
|
1272
1272
|
};
|
|
1273
1273
|
/**
|
|
1274
|
-
* Filter accepted by {@link Machine.on} / {@link Machine.once} for an
|
|
1274
|
+
* Filter accepted by {@link jssm!Machine.on} / {@link jssm!Machine.once} for an
|
|
1275
1275
|
* individual event name. Only events whose detail key matches every
|
|
1276
1276
|
* filter entry fire the handler. Events that don't list a filter key in
|
|
1277
1277
|
* v1 take no filter properties.
|
|
@@ -1299,21 +1299,21 @@ type JssmEventFilterMap<mDT> = {
|
|
|
1299
1299
|
'hook-removal': Record<string, never>;
|
|
1300
1300
|
};
|
|
1301
1301
|
/**
|
|
1302
|
-
* Per-event filter object (as passed to {@link Machine.on}). Use
|
|
1302
|
+
* Per-event filter object (as passed to {@link jssm!Machine.on}). Use
|
|
1303
1303
|
* `JssmEventDetailMap<mDT>[Ev]` to find the matching detail type.
|
|
1304
|
-
* @
|
|
1305
|
-
* @
|
|
1304
|
+
* @typeParam mDT The type of the machine data member.
|
|
1305
|
+
* @typeParam Ev The event name.
|
|
1306
1306
|
*/
|
|
1307
1307
|
type JssmEventFilter<mDT, Ev extends JssmEventName> = JssmEventFilterMap<mDT>[Ev];
|
|
1308
1308
|
/**
|
|
1309
1309
|
* Per-event handler signature. Receives a detail object typed by event
|
|
1310
1310
|
* name, so `e.action` (etc.) only exist where they're meaningful.
|
|
1311
|
-
* @
|
|
1312
|
-
* @
|
|
1311
|
+
* @typeParam mDT The type of the machine data member.
|
|
1312
|
+
* @typeParam Ev The event name.
|
|
1313
1313
|
*/
|
|
1314
1314
|
type JssmEventHandler<mDT, Ev extends JssmEventName> = (detail: JssmEventDetailMap<mDT>[Ev]) => void;
|
|
1315
1315
|
/**
|
|
1316
|
-
* Function returned by {@link Machine.on} and {@link Machine.once} that
|
|
1316
|
+
* Function returned by {@link jssm!Machine.on} and {@link jssm!Machine.once} that
|
|
1317
1317
|
* removes the subscription. Calling it more than once is a no-op.
|
|
1318
1318
|
*/
|
|
1319
1319
|
type JssmUnsubscribe = () => void;
|
|
@@ -1549,7 +1549,7 @@ declare class Machine<mDT> {
|
|
|
1549
1549
|
* console.log( lswitch.state() ); // 'off'
|
|
1550
1550
|
* ```
|
|
1551
1551
|
*
|
|
1552
|
-
* @
|
|
1552
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1553
1553
|
*
|
|
1554
1554
|
* @returns The current state name.
|
|
1555
1555
|
*
|
|
@@ -1569,7 +1569,7 @@ declare class Machine<mDT> {
|
|
|
1569
1569
|
*
|
|
1570
1570
|
* See also {@link display_text}.
|
|
1571
1571
|
*
|
|
1572
|
-
* @
|
|
1572
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1573
1573
|
*
|
|
1574
1574
|
* @param state The state to get the label for.
|
|
1575
1575
|
*
|
|
@@ -1596,7 +1596,7 @@ declare class Machine<mDT> {
|
|
|
1596
1596
|
* console.log( lswitch.display_text('b') ); // 'b'
|
|
1597
1597
|
* ```
|
|
1598
1598
|
*
|
|
1599
|
-
* @
|
|
1599
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1600
1600
|
*
|
|
1601
1601
|
* @param state The state to get display text for.
|
|
1602
1602
|
*
|
|
@@ -1615,7 +1615,7 @@ declare class Machine<mDT> {
|
|
|
1615
1615
|
* console.log( lswitch.data() ); // 1
|
|
1616
1616
|
* ```
|
|
1617
1617
|
*
|
|
1618
|
-
* @
|
|
1618
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1619
1619
|
*
|
|
1620
1620
|
* @returns A deep clone of the machine's current data value.
|
|
1621
1621
|
*
|
|
@@ -1779,7 +1779,7 @@ declare class Machine<mDT> {
|
|
|
1779
1779
|
* console.log( final_test.is_start_state('b') ); // true
|
|
1780
1780
|
* ```
|
|
1781
1781
|
*
|
|
1782
|
-
* @
|
|
1782
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1783
1783
|
*
|
|
1784
1784
|
* @param whichState The name of the state to check
|
|
1785
1785
|
*
|
|
@@ -1804,7 +1804,7 @@ declare class Machine<mDT> {
|
|
|
1804
1804
|
* console.log( final_test.is_start_state('b') ); // true
|
|
1805
1805
|
* ```
|
|
1806
1806
|
*
|
|
1807
|
-
* @
|
|
1807
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1808
1808
|
*
|
|
1809
1809
|
* @param whichState The name of the state to check
|
|
1810
1810
|
*
|
|
@@ -1857,7 +1857,7 @@ declare class Machine<mDT> {
|
|
|
1857
1857
|
* console.log( final_test.state_is_final('second') ); // true
|
|
1858
1858
|
* ```
|
|
1859
1859
|
*
|
|
1860
|
-
* @
|
|
1860
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1861
1861
|
*
|
|
1862
1862
|
* @param whichState The name of the state to check for finality
|
|
1863
1863
|
*
|
|
@@ -1885,9 +1885,9 @@ declare class Machine<mDT> {
|
|
|
1885
1885
|
* Serialize the current machine, including all defining state but not the
|
|
1886
1886
|
* machine string, to a structure. This means you will need the machine
|
|
1887
1887
|
* string to recreate (to not waste repeated space;) if you want the machine
|
|
1888
|
-
* string embedded, call
|
|
1888
|
+
* string embedded, call `serialize_with_string` instead.
|
|
1889
1889
|
*
|
|
1890
|
-
* @
|
|
1890
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1891
1891
|
*
|
|
1892
1892
|
* @param comment An optional comment string to embed in the serialized
|
|
1893
1893
|
* output for identification or debugging.
|
|
@@ -2047,7 +2047,7 @@ declare class Machine<mDT> {
|
|
|
2047
2047
|
* console.log( lswitch.states() ); // ['on', 'off']
|
|
2048
2048
|
* ```
|
|
2049
2049
|
*
|
|
2050
|
-
* @
|
|
2050
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2051
2051
|
*
|
|
2052
2052
|
* @returns An array of all state names in the machine.
|
|
2053
2053
|
*
|
|
@@ -2072,7 +2072,7 @@ declare class Machine<mDT> {
|
|
|
2072
2072
|
* console.log( lswitch.has_state('dance') ); // false
|
|
2073
2073
|
* ```
|
|
2074
2074
|
*
|
|
2075
|
-
* @
|
|
2075
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2076
2076
|
*
|
|
2077
2077
|
* @param whichState The state to be checked for existence.
|
|
2078
2078
|
*
|
|
@@ -2110,7 +2110,7 @@ declare class Machine<mDT> {
|
|
|
2110
2110
|
* ]
|
|
2111
2111
|
* ```
|
|
2112
2112
|
*
|
|
2113
|
-
* @
|
|
2113
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2114
2114
|
*
|
|
2115
2115
|
* @returns An array of all {@link JssmTransition} edge objects.
|
|
2116
2116
|
*
|
|
@@ -2261,7 +2261,7 @@ declare class Machine<mDT> {
|
|
|
2261
2261
|
* light.list_transitions(); // { entrances: [ 'yellow', 'off' ], exits: [ 'green', 'off' ] }
|
|
2262
2262
|
* ```
|
|
2263
2263
|
*
|
|
2264
|
-
* @
|
|
2264
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2265
2265
|
*
|
|
2266
2266
|
* @param whichState The state whose transitions to have listed
|
|
2267
2267
|
*
|
|
@@ -2272,7 +2272,7 @@ declare class Machine<mDT> {
|
|
|
2272
2272
|
* List all entrances attached to the current state. Please note that the
|
|
2273
2273
|
* order of the list is not defined. This list includes both unforced and
|
|
2274
2274
|
* forced entrances; if this isn't desired, consider
|
|
2275
|
-
*
|
|
2275
|
+
* `list_unforced_entrances` or `list_forced_entrances` as
|
|
2276
2276
|
* appropriate.
|
|
2277
2277
|
*
|
|
2278
2278
|
* ```typescript
|
|
@@ -2284,7 +2284,7 @@ declare class Machine<mDT> {
|
|
|
2284
2284
|
* light.list_entrances(); // [ 'yellow', 'off' ]
|
|
2285
2285
|
* ```
|
|
2286
2286
|
*
|
|
2287
|
-
* @
|
|
2287
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2288
2288
|
*
|
|
2289
2289
|
* @param whichState The state whose entrances to have listed
|
|
2290
2290
|
*
|
|
@@ -2294,8 +2294,8 @@ declare class Machine<mDT> {
|
|
|
2294
2294
|
*
|
|
2295
2295
|
* List all exits attached to the current state. Please note that the order
|
|
2296
2296
|
* of the list is not defined. This list includes both unforced and forced
|
|
2297
|
-
* exits; if this isn't desired, consider
|
|
2298
|
-
*
|
|
2297
|
+
* exits; if this isn't desired, consider `list_unforced_exits` or
|
|
2298
|
+
* `list_forced_exits` as appropriate.
|
|
2299
2299
|
*
|
|
2300
2300
|
* ```typescript
|
|
2301
2301
|
* import { sm } from 'jssm';
|
|
@@ -2306,7 +2306,7 @@ declare class Machine<mDT> {
|
|
|
2306
2306
|
* light.list_exits(); // [ 'green', 'off' ]
|
|
2307
2307
|
* ```
|
|
2308
2308
|
*
|
|
2309
|
-
* @
|
|
2309
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2310
2310
|
*
|
|
2311
2311
|
* @param whichState The state whose exits to have listed
|
|
2312
2312
|
*
|
|
@@ -2444,7 +2444,7 @@ declare class Machine<mDT> {
|
|
|
2444
2444
|
* console.log( machine.actions() ); // logs ['next', 'shutdown']
|
|
2445
2445
|
* ```
|
|
2446
2446
|
*
|
|
2447
|
-
* @
|
|
2447
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2448
2448
|
*
|
|
2449
2449
|
* @param whichState The state whose actions to list. Defaults to the
|
|
2450
2450
|
* current state.
|
|
@@ -2470,7 +2470,7 @@ declare class Machine<mDT> {
|
|
|
2470
2470
|
* console.log( machine.list_states_having_action('start') ); // ['off']
|
|
2471
2471
|
* ```
|
|
2472
2472
|
*
|
|
2473
|
-
* @
|
|
2473
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2474
2474
|
*
|
|
2475
2475
|
* @param whichState The action to be checked for associated states
|
|
2476
2476
|
*
|
|
@@ -2543,7 +2543,7 @@ declare class Machine<mDT> {
|
|
|
2543
2543
|
* m.isIn('nonesuch'); // false — undeclared group has no members
|
|
2544
2544
|
* ```
|
|
2545
2545
|
*
|
|
2546
|
-
* @
|
|
2546
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2547
2547
|
*
|
|
2548
2548
|
* @param groupName The group to test the current state against.
|
|
2549
2549
|
*
|
|
@@ -2571,7 +2571,7 @@ declare class Machine<mDT> {
|
|
|
2571
2571
|
* m.groupsOf('z'); // Set {} — not in any group
|
|
2572
2572
|
* ```
|
|
2573
2573
|
*
|
|
2574
|
-
* @
|
|
2574
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2575
2575
|
*
|
|
2576
2576
|
* @param state The state whose containing groups are wanted.
|
|
2577
2577
|
*
|
|
@@ -2597,7 +2597,7 @@ declare class Machine<mDT> {
|
|
|
2597
2597
|
* m.groups(); // [ 'first', 'second' ]
|
|
2598
2598
|
* ```
|
|
2599
2599
|
*
|
|
2600
|
-
* @
|
|
2600
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2601
2601
|
*
|
|
2602
2602
|
* @returns The declared group names, in declaration order.
|
|
2603
2603
|
*
|
|
@@ -2620,7 +2620,7 @@ declare class Machine<mDT> {
|
|
|
2620
2620
|
* m.statesIn('inner'); // [ 'a', 'b' ]
|
|
2621
2621
|
* ```
|
|
2622
2622
|
*
|
|
2623
|
-
* @
|
|
2623
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2624
2624
|
*
|
|
2625
2625
|
* @param groupName The group whose transitive member states are wanted.
|
|
2626
2626
|
*
|
|
@@ -2668,11 +2668,11 @@ declare class Machine<mDT> {
|
|
|
2668
2668
|
* off(); // unsubscribe
|
|
2669
2669
|
* ```
|
|
2670
2670
|
*
|
|
2671
|
-
* @
|
|
2671
|
+
* @typeParam Ev The event name (drives the detail type).
|
|
2672
2672
|
* @param name The event name to subscribe to.
|
|
2673
|
-
* @param
|
|
2674
|
-
*
|
|
2675
|
-
*
|
|
2673
|
+
* @param handler The handler invoked on each matching delivery. The
|
|
2674
|
+
* three-argument `(name, filter, handler)` form inserts a
|
|
2675
|
+
* filter object before the handler (see the example above).
|
|
2676
2676
|
* @returns A function that unsubscribes when called.
|
|
2677
2677
|
*
|
|
2678
2678
|
* @see Machine.off
|
|
@@ -2689,10 +2689,11 @@ declare class Machine<mDT> {
|
|
|
2689
2689
|
* m.once('terminal', e => console.log(`done at ${e.state}`));
|
|
2690
2690
|
* ```
|
|
2691
2691
|
*
|
|
2692
|
-
* @
|
|
2692
|
+
* @typeParam Ev The event name.
|
|
2693
2693
|
* @param name The event name.
|
|
2694
|
-
* @param
|
|
2695
|
-
*
|
|
2694
|
+
* @param handler The handler invoked on the first matching delivery. The
|
|
2695
|
+
* three-argument `(name, filter, handler)` form inserts a
|
|
2696
|
+
* filter object before the handler (same shapes as `on`).
|
|
2696
2697
|
* @returns A function that unsubscribes early if called before the
|
|
2697
2698
|
* handler has fired.
|
|
2698
2699
|
*
|
|
@@ -3193,7 +3194,7 @@ declare class Machine<mDT> {
|
|
|
3193
3194
|
* - When multiple edges exist between two states with different `kind`
|
|
3194
3195
|
* values, only the first edge's kind is used to pick the edge-type hook.
|
|
3195
3196
|
*
|
|
3196
|
-
* @
|
|
3197
|
+
* @typeParam mDT The type of the machine data member; usually omitted.
|
|
3197
3198
|
*
|
|
3198
3199
|
* @param newStateOrAction The target state name (for a plain or forced
|
|
3199
3200
|
* transition) or the action name (when `wasAction` is true).
|
|
@@ -3245,7 +3246,7 @@ declare class Machine<mDT> {
|
|
|
3245
3246
|
*
|
|
3246
3247
|
* Notice that the machine's current state, `e`, is not in the returned list.
|
|
3247
3248
|
*
|
|
3248
|
-
* @
|
|
3249
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3249
3250
|
*
|
|
3250
3251
|
*/
|
|
3251
3252
|
get history(): [string, mDT][];
|
|
@@ -3278,7 +3279,7 @@ declare class Machine<mDT> {
|
|
|
3278
3279
|
*
|
|
3279
3280
|
* Notice that the machine's current state, `e`, is in the returned list.
|
|
3280
3281
|
*
|
|
3281
|
-
* @
|
|
3282
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3282
3283
|
*
|
|
3283
3284
|
*/
|
|
3284
3285
|
get history_inclusive(): [string, mDT][];
|
|
@@ -3297,7 +3298,7 @@ declare class Machine<mDT> {
|
|
|
3297
3298
|
* foo.history_length; // 5
|
|
3298
3299
|
* ```
|
|
3299
3300
|
*
|
|
3300
|
-
* @
|
|
3301
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3301
3302
|
*
|
|
3302
3303
|
*/
|
|
3303
3304
|
get history_length(): number;
|
|
@@ -3314,7 +3315,7 @@ declare class Machine<mDT> {
|
|
|
3314
3315
|
* light.state(); // 'green'
|
|
3315
3316
|
* ```
|
|
3316
3317
|
*
|
|
3317
|
-
* @
|
|
3318
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3318
3319
|
*
|
|
3319
3320
|
* @param actionName The action to engage
|
|
3320
3321
|
*
|
|
@@ -3341,7 +3342,7 @@ declare class Machine<mDT> {
|
|
|
3341
3342
|
* // { shape: 'circle' }
|
|
3342
3343
|
* ```
|
|
3343
3344
|
*
|
|
3344
|
-
* @
|
|
3345
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3345
3346
|
*
|
|
3346
3347
|
* @returns The {@link JssmStateConfig} for standard states.
|
|
3347
3348
|
*
|
|
@@ -3367,7 +3368,7 @@ declare class Machine<mDT> {
|
|
|
3367
3368
|
* // { shape: 'circle' }
|
|
3368
3369
|
* ```
|
|
3369
3370
|
*
|
|
3370
|
-
* @
|
|
3371
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3371
3372
|
*
|
|
3372
3373
|
* @returns The {@link JssmStateConfig} for hooked states.
|
|
3373
3374
|
*
|
|
@@ -3392,7 +3393,7 @@ declare class Machine<mDT> {
|
|
|
3392
3393
|
* // { shape: 'circle' }
|
|
3393
3394
|
* ```
|
|
3394
3395
|
*
|
|
3395
|
-
* @
|
|
3396
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3396
3397
|
*
|
|
3397
3398
|
* @returns The {@link JssmStateConfig} for start states.
|
|
3398
3399
|
*
|
|
@@ -3422,7 +3423,7 @@ declare class Machine<mDT> {
|
|
|
3422
3423
|
* // { shape: 'circle' }
|
|
3423
3424
|
* ```
|
|
3424
3425
|
*
|
|
3425
|
-
* @
|
|
3426
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3426
3427
|
*
|
|
3427
3428
|
* @returns The {@link JssmStateConfig} for end states.
|
|
3428
3429
|
*
|
|
@@ -3447,7 +3448,7 @@ declare class Machine<mDT> {
|
|
|
3447
3448
|
* // { shape: 'circle' }
|
|
3448
3449
|
* ```
|
|
3449
3450
|
*
|
|
3450
|
-
* @
|
|
3451
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3451
3452
|
*
|
|
3452
3453
|
* @returns The {@link JssmStateConfig} for terminal states.
|
|
3453
3454
|
*
|
|
@@ -3469,7 +3470,7 @@ declare class Machine<mDT> {
|
|
|
3469
3470
|
* // { shape: 'circle' }
|
|
3470
3471
|
* ```
|
|
3471
3472
|
*
|
|
3472
|
-
* @
|
|
3473
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3473
3474
|
*
|
|
3474
3475
|
* @returns The {@link JssmStateConfig} for the active state.
|
|
3475
3476
|
*
|
|
@@ -3649,7 +3650,7 @@ declare class Machine<mDT> {
|
|
|
3649
3650
|
* state's declaration into a fresh {@link JssmStateConfig} — the tier-5
|
|
3650
3651
|
* "`state foo : { … }`" contribution of the config cascade. A state with no
|
|
3651
3652
|
* declaration yields an all-`undefined` config (which contributes nothing
|
|
3652
|
-
* once folded with
|
|
3653
|
+
* once folded with `merge_state_config`).
|
|
3653
3654
|
*
|
|
3654
3655
|
* @param state The state whose per-state declared style is wanted.
|
|
3655
3656
|
*
|
|
@@ -3689,7 +3690,7 @@ declare class Machine<mDT> {
|
|
|
3689
3690
|
* overlay (tier 6) is NOT applied here; it is layered on top by
|
|
3690
3691
|
* {@link resolve_state_config} so it wins over per-state config.
|
|
3691
3692
|
*
|
|
3692
|
-
* Tiers, folded least-specific → most-specific with
|
|
3693
|
+
* Tiers, folded least-specific → most-specific with `merge_state_config`
|
|
3693
3694
|
* (later wins, never throwing on a cross-tier key collision):
|
|
3694
3695
|
*
|
|
3695
3696
|
* 1. theme defaults — `base_theme.state`, then each selected theme's
|
|
@@ -3721,7 +3722,7 @@ declare class Machine<mDT> {
|
|
|
3721
3722
|
* successor to the ad-hoc layer merge {@link style_for} used to perform.
|
|
3722
3723
|
*
|
|
3723
3724
|
* For any state OTHER than the current one, this returns the memoized static
|
|
3724
|
-
* resolution (tiers 1–5; see
|
|
3725
|
+
* resolution (tiers 1–5; see `_compose_state_config`) — theme →
|
|
3725
3726
|
* `default_state_config` → per-kind defaults → depth-ordered group metadata →
|
|
3726
3727
|
* per-state config. The cache is keyed by state and never invalidated, since
|
|
3727
3728
|
* those tiers do not depend on which state is current.
|
|
@@ -3731,7 +3732,7 @@ declare class Machine<mDT> {
|
|
|
3731
3732
|
* layers: the active-state THEME layers fold in just below the per-state
|
|
3732
3733
|
* config (tier 3-active), and the user `active_state : { … }` overlay folds
|
|
3733
3734
|
* in LAST (tier 6), on top of everything, so it wins over per-state config.
|
|
3734
|
-
* Every fold uses
|
|
3735
|
+
* Every fold uses `merge_state_config`, so a key set at a lower tier is
|
|
3735
3736
|
* overridden — never rejected — by a higher one.
|
|
3736
3737
|
*
|
|
3737
3738
|
* ```typescript
|
|
@@ -3741,7 +3742,7 @@ declare class Machine<mDT> {
|
|
|
3741
3742
|
* m.resolve_state_config('working').color; // '#ffa500ff' — from group &busy
|
|
3742
3743
|
* ```
|
|
3743
3744
|
*
|
|
3744
|
-
* @
|
|
3745
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3745
3746
|
*
|
|
3746
3747
|
* @param state The state to compute the composite config for.
|
|
3747
3748
|
*
|
|
@@ -3764,7 +3765,7 @@ declare class Machine<mDT> {
|
|
|
3764
3765
|
* winning over outer), then the per-state config, and finally — for the
|
|
3765
3766
|
* current state only — the active overlay. Last wins at every tier.
|
|
3766
3767
|
*
|
|
3767
|
-
* @
|
|
3768
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3768
3769
|
*
|
|
3769
3770
|
* @param state The state to compute the composite style for.
|
|
3770
3771
|
*
|
|
@@ -3798,7 +3799,7 @@ declare class Machine<mDT> {
|
|
|
3798
3799
|
* light.state(); // 'yellow'
|
|
3799
3800
|
* ```
|
|
3800
3801
|
*
|
|
3801
|
-
* @
|
|
3802
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3802
3803
|
*
|
|
3803
3804
|
* @param actionName The action to engage
|
|
3804
3805
|
*
|
|
@@ -3831,7 +3832,7 @@ declare class Machine<mDT> {
|
|
|
3831
3832
|
* light.state(); // 'green'
|
|
3832
3833
|
* ```
|
|
3833
3834
|
*
|
|
3834
|
-
* @
|
|
3835
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3835
3836
|
*
|
|
3836
3837
|
* @param newState The state to switch to
|
|
3837
3838
|
*
|
|
@@ -3853,7 +3854,7 @@ declare class Machine<mDT> {
|
|
|
3853
3854
|
* light.state(); // 'green'
|
|
3854
3855
|
* ```
|
|
3855
3856
|
*
|
|
3856
|
-
* @
|
|
3857
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3857
3858
|
*
|
|
3858
3859
|
* @param newState The state to switch to
|
|
3859
3860
|
*
|
|
@@ -3878,7 +3879,7 @@ declare class Machine<mDT> {
|
|
|
3878
3879
|
* light.state(); // 'off'
|
|
3879
3880
|
* ```
|
|
3880
3881
|
*
|
|
3881
|
-
* @
|
|
3882
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3882
3883
|
*
|
|
3883
3884
|
* @param newState The state to switch to
|
|
3884
3885
|
*
|