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_viz.es6.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ type JssmShape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "
|
|
|
28
28
|
/**
|
|
29
29
|
* Semantic category of an arrow's transition. `'legal'` is a normal
|
|
30
30
|
* transition, `'main'` is part of the machine's primary path, `'forced'`
|
|
31
|
-
* may only be taken via {@link Machine.force_transition}, and `'none'`
|
|
31
|
+
* may only be taken via {@link jssm!Machine.force_transition}, and `'none'`
|
|
32
32
|
* means no transition exists in that direction.
|
|
33
33
|
*/
|
|
34
34
|
type JssmArrowKind = 'none' | 'legal' | 'main' | 'forced';
|
|
@@ -94,8 +94,8 @@ declare const FslThemes: readonly ["default", "ocean", "modern", "plain", "bold"
|
|
|
94
94
|
*/
|
|
95
95
|
type FslTheme = typeof FslThemes[number];
|
|
96
96
|
/**
|
|
97
|
-
* Persistable snapshot of a Machine produced by {@link Machine.serialize}
|
|
98
|
-
* and consumed by {@link deserialize}. Carries the current state, the
|
|
97
|
+
* Persistable snapshot of a Machine produced by {@link jssm!Machine.serialize}
|
|
98
|
+
* and consumed by {@link jssm!deserialize}. Carries the current state, the
|
|
99
99
|
* associated machine data, the recent history (subject to the configured
|
|
100
100
|
* capacity), and metadata to detect version-skew on rehydration.
|
|
101
101
|
*
|
|
@@ -252,7 +252,7 @@ type JssmGenericState = {
|
|
|
252
252
|
complete: boolean;
|
|
253
253
|
};
|
|
254
254
|
/**
|
|
255
|
-
* The full internal bookkeeping snapshot of a {@link Machine}, exposed for
|
|
255
|
+
* The full internal bookkeeping snapshot of a {@link jssm!Machine}, exposed for
|
|
256
256
|
* advanced introspection. Contains the current state, the state map, the
|
|
257
257
|
* edge map and reverse-action map, and the original edge list. The
|
|
258
258
|
* `internal_state_impl_version` field exists so that consumers can detect
|
|
@@ -305,7 +305,7 @@ type JssmStateDeclarationRule = {
|
|
|
305
305
|
/**
|
|
306
306
|
* The fully-condensed declaration for a single state, including its raw
|
|
307
307
|
* rule list (`declarations`) and the well-known styling fields jssm-viz
|
|
308
|
-
* understands. Returned by {@link Machine.state_declaration}.
|
|
308
|
+
* understands. Returned by {@link jssm!Machine.state_declaration}.
|
|
309
309
|
*/
|
|
310
310
|
type JssmStateDeclaration = {
|
|
311
311
|
declarations: Array<JssmStateDeclarationRule>;
|
|
@@ -498,7 +498,7 @@ type JssmBaseTheme = {
|
|
|
498
498
|
title: undefined;
|
|
499
499
|
};
|
|
500
500
|
/**
|
|
501
|
-
* Full configuration object accepted by the {@link Machine} constructor and
|
|
501
|
+
* Full configuration object accepted by the {@link jssm!Machine} constructor and
|
|
502
502
|
* by {@link from}. Carries the transition list and the optional knobs
|
|
503
503
|
* governing layout, theming, history, start/end states, property
|
|
504
504
|
* definitions, machine metadata (author, license, version, ...) and the
|
|
@@ -521,14 +521,14 @@ type JssmEditorConfig = {
|
|
|
521
521
|
};
|
|
522
522
|
/** Which stochastic view a run batch produces. */
|
|
523
523
|
type JssmStochasticMode = 'montecarlo' | 'steady_state';
|
|
524
|
-
/** Options for {@link Machine.stochastic_summary} / {@link Machine.stochastic_runs}. */
|
|
524
|
+
/** Options for {@link jssm!Machine.stochastic_summary} / {@link jssm!Machine.stochastic_runs}. */
|
|
525
525
|
type JssmStochasticOptions = {
|
|
526
526
|
mode?: JssmStochasticMode;
|
|
527
527
|
runs?: number;
|
|
528
528
|
max_steps?: number;
|
|
529
529
|
seed?: number;
|
|
530
530
|
};
|
|
531
|
-
/** One walk's result, yielded by {@link Machine.stochastic_runs}. */
|
|
531
|
+
/** One walk's result, yielded by {@link jssm!Machine.stochastic_runs}. */
|
|
532
532
|
type JssmStochasticRun = {
|
|
533
533
|
states: Array<string>;
|
|
534
534
|
edges: Array<string>;
|
|
@@ -560,7 +560,7 @@ type JssmGenericConfig<StateType, DataType> = {
|
|
|
560
560
|
history?: number;
|
|
561
561
|
/**
|
|
562
562
|
* Maximum depth of the boundary-hook action cascade before the machine
|
|
563
|
-
* throws a {@link JssmError} rather than risking a stack overflow or hang.
|
|
563
|
+
* throws a {@link jssm_error!JssmError} rather than risking a stack overflow or hang.
|
|
564
564
|
*
|
|
565
565
|
* Each time a boundary action fires a transition that itself crosses a
|
|
566
566
|
* boundary, the depth counter increments. A cascade exceeding this limit is
|
|
@@ -857,7 +857,7 @@ type HookRegistryEntry = {
|
|
|
857
857
|
target: HookTarget;
|
|
858
858
|
};
|
|
859
859
|
/**
|
|
860
|
-
* Query for {@link Machine.has_hook} / {@link Machine.hooks_on}. A bare
|
|
860
|
+
* Query for {@link jssm!Machine.has_hook} / {@link jssm!Machine.hooks_on}. A bare
|
|
861
861
|
* string is read as a state name; an `{ from, to, action? }` object is read
|
|
862
862
|
* as an edge (optionally a named edge); an `{ action }` object is read as a
|
|
863
863
|
* named action; a `{ group }` object is read as a named state group. This
|
|
@@ -954,7 +954,7 @@ type JssmHistory<mDT> = circular_buffer<[StateType$1, mDT]>;
|
|
|
954
954
|
*/
|
|
955
955
|
type JssmRng = () => number;
|
|
956
956
|
/**
|
|
957
|
-
* All event names that {@link Machine.on} accepts. These are observation
|
|
957
|
+
* All event names that {@link jssm!Machine.on} accepts. These are observation
|
|
958
958
|
* events fired by the machine in addition to (not in place of) the hook
|
|
959
959
|
* system. Hooks intercept; events observe.
|
|
960
960
|
*
|
|
@@ -1095,7 +1095,7 @@ type JssmHookLifecycleEventDetail<mDT> = {
|
|
|
1095
1095
|
};
|
|
1096
1096
|
/**
|
|
1097
1097
|
* Mapped type from {@link JssmEventName} to the corresponding detail
|
|
1098
|
-
* payload. Drives the discriminated-union typing of {@link Machine.on},
|
|
1098
|
+
* payload. Drives the discriminated-union typing of {@link jssm!Machine.on},
|
|
1099
1099
|
* so `e.action` and friends only exist where they're meaningful.
|
|
1100
1100
|
*/
|
|
1101
1101
|
type JssmEventDetailMap<mDT> = {
|
|
@@ -1114,7 +1114,7 @@ type JssmEventDetailMap<mDT> = {
|
|
|
1114
1114
|
'hook-removal': JssmHookLifecycleEventDetail<mDT>;
|
|
1115
1115
|
};
|
|
1116
1116
|
/**
|
|
1117
|
-
* Filter accepted by {@link Machine.on} / {@link Machine.once} for an
|
|
1117
|
+
* Filter accepted by {@link jssm!Machine.on} / {@link jssm!Machine.once} for an
|
|
1118
1118
|
* individual event name. Only events whose detail key matches every
|
|
1119
1119
|
* filter entry fire the handler. Events that don't list a filter key in
|
|
1120
1120
|
* v1 take no filter properties.
|
|
@@ -1142,21 +1142,21 @@ type JssmEventFilterMap<mDT> = {
|
|
|
1142
1142
|
'hook-removal': Record<string, never>;
|
|
1143
1143
|
};
|
|
1144
1144
|
/**
|
|
1145
|
-
* Per-event filter object (as passed to {@link Machine.on}). Use
|
|
1145
|
+
* Per-event filter object (as passed to {@link jssm!Machine.on}). Use
|
|
1146
1146
|
* `JssmEventDetailMap<mDT>[Ev]` to find the matching detail type.
|
|
1147
|
-
* @
|
|
1148
|
-
* @
|
|
1147
|
+
* @typeParam mDT The type of the machine data member.
|
|
1148
|
+
* @typeParam Ev The event name.
|
|
1149
1149
|
*/
|
|
1150
1150
|
type JssmEventFilter<mDT, Ev extends JssmEventName> = JssmEventFilterMap<mDT>[Ev];
|
|
1151
1151
|
/**
|
|
1152
1152
|
* Per-event handler signature. Receives a detail object typed by event
|
|
1153
1153
|
* name, so `e.action` (etc.) only exist where they're meaningful.
|
|
1154
|
-
* @
|
|
1155
|
-
* @
|
|
1154
|
+
* @typeParam mDT The type of the machine data member.
|
|
1155
|
+
* @typeParam Ev The event name.
|
|
1156
1156
|
*/
|
|
1157
1157
|
type JssmEventHandler<mDT, Ev extends JssmEventName> = (detail: JssmEventDetailMap<mDT>[Ev]) => void;
|
|
1158
1158
|
/**
|
|
1159
|
-
* Function returned by {@link Machine.on} and {@link Machine.once} that
|
|
1159
|
+
* Function returned by {@link jssm!Machine.on} and {@link jssm!Machine.once} that
|
|
1160
1160
|
* removes the subscription. Calling it more than once is a no-op.
|
|
1161
1161
|
*/
|
|
1162
1162
|
type JssmUnsubscribe = () => void;
|
|
@@ -1406,7 +1406,7 @@ declare class Machine<mDT> {
|
|
|
1406
1406
|
* console.log( lswitch.state() ); // 'off'
|
|
1407
1407
|
* ```
|
|
1408
1408
|
*
|
|
1409
|
-
* @
|
|
1409
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1410
1410
|
*
|
|
1411
1411
|
* @returns The current state name.
|
|
1412
1412
|
*
|
|
@@ -1426,7 +1426,7 @@ declare class Machine<mDT> {
|
|
|
1426
1426
|
*
|
|
1427
1427
|
* See also {@link display_text}.
|
|
1428
1428
|
*
|
|
1429
|
-
* @
|
|
1429
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1430
1430
|
*
|
|
1431
1431
|
* @param state The state to get the label for.
|
|
1432
1432
|
*
|
|
@@ -1453,7 +1453,7 @@ declare class Machine<mDT> {
|
|
|
1453
1453
|
* console.log( lswitch.display_text('b') ); // 'b'
|
|
1454
1454
|
* ```
|
|
1455
1455
|
*
|
|
1456
|
-
* @
|
|
1456
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1457
1457
|
*
|
|
1458
1458
|
* @param state The state to get display text for.
|
|
1459
1459
|
*
|
|
@@ -1472,7 +1472,7 @@ declare class Machine<mDT> {
|
|
|
1472
1472
|
* console.log( lswitch.data() ); // 1
|
|
1473
1473
|
* ```
|
|
1474
1474
|
*
|
|
1475
|
-
* @
|
|
1475
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1476
1476
|
*
|
|
1477
1477
|
* @returns A deep clone of the machine's current data value.
|
|
1478
1478
|
*
|
|
@@ -1636,7 +1636,7 @@ declare class Machine<mDT> {
|
|
|
1636
1636
|
* console.log( final_test.is_start_state('b') ); // true
|
|
1637
1637
|
* ```
|
|
1638
1638
|
*
|
|
1639
|
-
* @
|
|
1639
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1640
1640
|
*
|
|
1641
1641
|
* @param whichState The name of the state to check
|
|
1642
1642
|
*
|
|
@@ -1661,7 +1661,7 @@ declare class Machine<mDT> {
|
|
|
1661
1661
|
* console.log( final_test.is_start_state('b') ); // true
|
|
1662
1662
|
* ```
|
|
1663
1663
|
*
|
|
1664
|
-
* @
|
|
1664
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1665
1665
|
*
|
|
1666
1666
|
* @param whichState The name of the state to check
|
|
1667
1667
|
*
|
|
@@ -1714,7 +1714,7 @@ declare class Machine<mDT> {
|
|
|
1714
1714
|
* console.log( final_test.state_is_final('second') ); // true
|
|
1715
1715
|
* ```
|
|
1716
1716
|
*
|
|
1717
|
-
* @
|
|
1717
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1718
1718
|
*
|
|
1719
1719
|
* @param whichState The name of the state to check for finality
|
|
1720
1720
|
*
|
|
@@ -1742,9 +1742,9 @@ declare class Machine<mDT> {
|
|
|
1742
1742
|
* Serialize the current machine, including all defining state but not the
|
|
1743
1743
|
* machine string, to a structure. This means you will need the machine
|
|
1744
1744
|
* string to recreate (to not waste repeated space;) if you want the machine
|
|
1745
|
-
* string embedded, call
|
|
1745
|
+
* string embedded, call `serialize_with_string` instead.
|
|
1746
1746
|
*
|
|
1747
|
-
* @
|
|
1747
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1748
1748
|
*
|
|
1749
1749
|
* @param comment An optional comment string to embed in the serialized
|
|
1750
1750
|
* output for identification or debugging.
|
|
@@ -1904,7 +1904,7 @@ declare class Machine<mDT> {
|
|
|
1904
1904
|
* console.log( lswitch.states() ); // ['on', 'off']
|
|
1905
1905
|
* ```
|
|
1906
1906
|
*
|
|
1907
|
-
* @
|
|
1907
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1908
1908
|
*
|
|
1909
1909
|
* @returns An array of all state names in the machine.
|
|
1910
1910
|
*
|
|
@@ -1929,7 +1929,7 @@ declare class Machine<mDT> {
|
|
|
1929
1929
|
* console.log( lswitch.has_state('dance') ); // false
|
|
1930
1930
|
* ```
|
|
1931
1931
|
*
|
|
1932
|
-
* @
|
|
1932
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1933
1933
|
*
|
|
1934
1934
|
* @param whichState The state to be checked for existence.
|
|
1935
1935
|
*
|
|
@@ -1967,7 +1967,7 @@ declare class Machine<mDT> {
|
|
|
1967
1967
|
* ]
|
|
1968
1968
|
* ```
|
|
1969
1969
|
*
|
|
1970
|
-
* @
|
|
1970
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
1971
1971
|
*
|
|
1972
1972
|
* @returns An array of all {@link JssmTransition} edge objects.
|
|
1973
1973
|
*
|
|
@@ -2118,7 +2118,7 @@ declare class Machine<mDT> {
|
|
|
2118
2118
|
* light.list_transitions(); // { entrances: [ 'yellow', 'off' ], exits: [ 'green', 'off' ] }
|
|
2119
2119
|
* ```
|
|
2120
2120
|
*
|
|
2121
|
-
* @
|
|
2121
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2122
2122
|
*
|
|
2123
2123
|
* @param whichState The state whose transitions to have listed
|
|
2124
2124
|
*
|
|
@@ -2129,7 +2129,7 @@ declare class Machine<mDT> {
|
|
|
2129
2129
|
* List all entrances attached to the current state. Please note that the
|
|
2130
2130
|
* order of the list is not defined. This list includes both unforced and
|
|
2131
2131
|
* forced entrances; if this isn't desired, consider
|
|
2132
|
-
*
|
|
2132
|
+
* `list_unforced_entrances` or `list_forced_entrances` as
|
|
2133
2133
|
* appropriate.
|
|
2134
2134
|
*
|
|
2135
2135
|
* ```typescript
|
|
@@ -2141,7 +2141,7 @@ declare class Machine<mDT> {
|
|
|
2141
2141
|
* light.list_entrances(); // [ 'yellow', 'off' ]
|
|
2142
2142
|
* ```
|
|
2143
2143
|
*
|
|
2144
|
-
* @
|
|
2144
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2145
2145
|
*
|
|
2146
2146
|
* @param whichState The state whose entrances to have listed
|
|
2147
2147
|
*
|
|
@@ -2151,8 +2151,8 @@ declare class Machine<mDT> {
|
|
|
2151
2151
|
*
|
|
2152
2152
|
* List all exits attached to the current state. Please note that the order
|
|
2153
2153
|
* of the list is not defined. This list includes both unforced and forced
|
|
2154
|
-
* exits; if this isn't desired, consider
|
|
2155
|
-
*
|
|
2154
|
+
* exits; if this isn't desired, consider `list_unforced_exits` or
|
|
2155
|
+
* `list_forced_exits` as appropriate.
|
|
2156
2156
|
*
|
|
2157
2157
|
* ```typescript
|
|
2158
2158
|
* import { sm } from 'jssm';
|
|
@@ -2163,7 +2163,7 @@ declare class Machine<mDT> {
|
|
|
2163
2163
|
* light.list_exits(); // [ 'green', 'off' ]
|
|
2164
2164
|
* ```
|
|
2165
2165
|
*
|
|
2166
|
-
* @
|
|
2166
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2167
2167
|
*
|
|
2168
2168
|
* @param whichState The state whose exits to have listed
|
|
2169
2169
|
*
|
|
@@ -2301,7 +2301,7 @@ declare class Machine<mDT> {
|
|
|
2301
2301
|
* console.log( machine.actions() ); // logs ['next', 'shutdown']
|
|
2302
2302
|
* ```
|
|
2303
2303
|
*
|
|
2304
|
-
* @
|
|
2304
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2305
2305
|
*
|
|
2306
2306
|
* @param whichState The state whose actions to list. Defaults to the
|
|
2307
2307
|
* current state.
|
|
@@ -2327,7 +2327,7 @@ declare class Machine<mDT> {
|
|
|
2327
2327
|
* console.log( machine.list_states_having_action('start') ); // ['off']
|
|
2328
2328
|
* ```
|
|
2329
2329
|
*
|
|
2330
|
-
* @
|
|
2330
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2331
2331
|
*
|
|
2332
2332
|
* @param whichState The action to be checked for associated states
|
|
2333
2333
|
*
|
|
@@ -2400,7 +2400,7 @@ declare class Machine<mDT> {
|
|
|
2400
2400
|
* m.isIn('nonesuch'); // false — undeclared group has no members
|
|
2401
2401
|
* ```
|
|
2402
2402
|
*
|
|
2403
|
-
* @
|
|
2403
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2404
2404
|
*
|
|
2405
2405
|
* @param groupName The group to test the current state against.
|
|
2406
2406
|
*
|
|
@@ -2428,7 +2428,7 @@ declare class Machine<mDT> {
|
|
|
2428
2428
|
* m.groupsOf('z'); // Set {} — not in any group
|
|
2429
2429
|
* ```
|
|
2430
2430
|
*
|
|
2431
|
-
* @
|
|
2431
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2432
2432
|
*
|
|
2433
2433
|
* @param state The state whose containing groups are wanted.
|
|
2434
2434
|
*
|
|
@@ -2454,7 +2454,7 @@ declare class Machine<mDT> {
|
|
|
2454
2454
|
* m.groups(); // [ 'first', 'second' ]
|
|
2455
2455
|
* ```
|
|
2456
2456
|
*
|
|
2457
|
-
* @
|
|
2457
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2458
2458
|
*
|
|
2459
2459
|
* @returns The declared group names, in declaration order.
|
|
2460
2460
|
*
|
|
@@ -2477,7 +2477,7 @@ declare class Machine<mDT> {
|
|
|
2477
2477
|
* m.statesIn('inner'); // [ 'a', 'b' ]
|
|
2478
2478
|
* ```
|
|
2479
2479
|
*
|
|
2480
|
-
* @
|
|
2480
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
2481
2481
|
*
|
|
2482
2482
|
* @param groupName The group whose transitive member states are wanted.
|
|
2483
2483
|
*
|
|
@@ -2525,11 +2525,11 @@ declare class Machine<mDT> {
|
|
|
2525
2525
|
* off(); // unsubscribe
|
|
2526
2526
|
* ```
|
|
2527
2527
|
*
|
|
2528
|
-
* @
|
|
2528
|
+
* @typeParam Ev The event name (drives the detail type).
|
|
2529
2529
|
* @param name The event name to subscribe to.
|
|
2530
|
-
* @param
|
|
2531
|
-
*
|
|
2532
|
-
*
|
|
2530
|
+
* @param handler The handler invoked on each matching delivery. The
|
|
2531
|
+
* three-argument `(name, filter, handler)` form inserts a
|
|
2532
|
+
* filter object before the handler (see the example above).
|
|
2533
2533
|
* @returns A function that unsubscribes when called.
|
|
2534
2534
|
*
|
|
2535
2535
|
* @see Machine.off
|
|
@@ -2546,10 +2546,11 @@ declare class Machine<mDT> {
|
|
|
2546
2546
|
* m.once('terminal', e => console.log(`done at ${e.state}`));
|
|
2547
2547
|
* ```
|
|
2548
2548
|
*
|
|
2549
|
-
* @
|
|
2549
|
+
* @typeParam Ev The event name.
|
|
2550
2550
|
* @param name The event name.
|
|
2551
|
-
* @param
|
|
2552
|
-
*
|
|
2551
|
+
* @param handler The handler invoked on the first matching delivery. The
|
|
2552
|
+
* three-argument `(name, filter, handler)` form inserts a
|
|
2553
|
+
* filter object before the handler (same shapes as `on`).
|
|
2553
2554
|
* @returns A function that unsubscribes early if called before the
|
|
2554
2555
|
* handler has fired.
|
|
2555
2556
|
*
|
|
@@ -3050,7 +3051,7 @@ declare class Machine<mDT> {
|
|
|
3050
3051
|
* - When multiple edges exist between two states with different `kind`
|
|
3051
3052
|
* values, only the first edge's kind is used to pick the edge-type hook.
|
|
3052
3053
|
*
|
|
3053
|
-
* @
|
|
3054
|
+
* @typeParam mDT The type of the machine data member; usually omitted.
|
|
3054
3055
|
*
|
|
3055
3056
|
* @param newStateOrAction The target state name (for a plain or forced
|
|
3056
3057
|
* transition) or the action name (when `wasAction` is true).
|
|
@@ -3102,7 +3103,7 @@ declare class Machine<mDT> {
|
|
|
3102
3103
|
*
|
|
3103
3104
|
* Notice that the machine's current state, `e`, is not in the returned list.
|
|
3104
3105
|
*
|
|
3105
|
-
* @
|
|
3106
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3106
3107
|
*
|
|
3107
3108
|
*/
|
|
3108
3109
|
get history(): [string, mDT][];
|
|
@@ -3135,7 +3136,7 @@ declare class Machine<mDT> {
|
|
|
3135
3136
|
*
|
|
3136
3137
|
* Notice that the machine's current state, `e`, is in the returned list.
|
|
3137
3138
|
*
|
|
3138
|
-
* @
|
|
3139
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3139
3140
|
*
|
|
3140
3141
|
*/
|
|
3141
3142
|
get history_inclusive(): [string, mDT][];
|
|
@@ -3154,7 +3155,7 @@ declare class Machine<mDT> {
|
|
|
3154
3155
|
* foo.history_length; // 5
|
|
3155
3156
|
* ```
|
|
3156
3157
|
*
|
|
3157
|
-
* @
|
|
3158
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3158
3159
|
*
|
|
3159
3160
|
*/
|
|
3160
3161
|
get history_length(): number;
|
|
@@ -3171,7 +3172,7 @@ declare class Machine<mDT> {
|
|
|
3171
3172
|
* light.state(); // 'green'
|
|
3172
3173
|
* ```
|
|
3173
3174
|
*
|
|
3174
|
-
* @
|
|
3175
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3175
3176
|
*
|
|
3176
3177
|
* @param actionName The action to engage
|
|
3177
3178
|
*
|
|
@@ -3198,7 +3199,7 @@ declare class Machine<mDT> {
|
|
|
3198
3199
|
* // { shape: 'circle' }
|
|
3199
3200
|
* ```
|
|
3200
3201
|
*
|
|
3201
|
-
* @
|
|
3202
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3202
3203
|
*
|
|
3203
3204
|
* @returns The {@link JssmStateConfig} for standard states.
|
|
3204
3205
|
*
|
|
@@ -3224,7 +3225,7 @@ declare class Machine<mDT> {
|
|
|
3224
3225
|
* // { shape: 'circle' }
|
|
3225
3226
|
* ```
|
|
3226
3227
|
*
|
|
3227
|
-
* @
|
|
3228
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3228
3229
|
*
|
|
3229
3230
|
* @returns The {@link JssmStateConfig} for hooked states.
|
|
3230
3231
|
*
|
|
@@ -3249,7 +3250,7 @@ declare class Machine<mDT> {
|
|
|
3249
3250
|
* // { shape: 'circle' }
|
|
3250
3251
|
* ```
|
|
3251
3252
|
*
|
|
3252
|
-
* @
|
|
3253
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3253
3254
|
*
|
|
3254
3255
|
* @returns The {@link JssmStateConfig} for start states.
|
|
3255
3256
|
*
|
|
@@ -3279,7 +3280,7 @@ declare class Machine<mDT> {
|
|
|
3279
3280
|
* // { shape: 'circle' }
|
|
3280
3281
|
* ```
|
|
3281
3282
|
*
|
|
3282
|
-
* @
|
|
3283
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3283
3284
|
*
|
|
3284
3285
|
* @returns The {@link JssmStateConfig} for end states.
|
|
3285
3286
|
*
|
|
@@ -3304,7 +3305,7 @@ declare class Machine<mDT> {
|
|
|
3304
3305
|
* // { shape: 'circle' }
|
|
3305
3306
|
* ```
|
|
3306
3307
|
*
|
|
3307
|
-
* @
|
|
3308
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3308
3309
|
*
|
|
3309
3310
|
* @returns The {@link JssmStateConfig} for terminal states.
|
|
3310
3311
|
*
|
|
@@ -3326,7 +3327,7 @@ declare class Machine<mDT> {
|
|
|
3326
3327
|
* // { shape: 'circle' }
|
|
3327
3328
|
* ```
|
|
3328
3329
|
*
|
|
3329
|
-
* @
|
|
3330
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3330
3331
|
*
|
|
3331
3332
|
* @returns The {@link JssmStateConfig} for the active state.
|
|
3332
3333
|
*
|
|
@@ -3506,7 +3507,7 @@ declare class Machine<mDT> {
|
|
|
3506
3507
|
* state's declaration into a fresh {@link JssmStateConfig} — the tier-5
|
|
3507
3508
|
* "`state foo : { … }`" contribution of the config cascade. A state with no
|
|
3508
3509
|
* declaration yields an all-`undefined` config (which contributes nothing
|
|
3509
|
-
* once folded with
|
|
3510
|
+
* once folded with `merge_state_config`).
|
|
3510
3511
|
*
|
|
3511
3512
|
* @param state The state whose per-state declared style is wanted.
|
|
3512
3513
|
*
|
|
@@ -3546,7 +3547,7 @@ declare class Machine<mDT> {
|
|
|
3546
3547
|
* overlay (tier 6) is NOT applied here; it is layered on top by
|
|
3547
3548
|
* {@link resolve_state_config} so it wins over per-state config.
|
|
3548
3549
|
*
|
|
3549
|
-
* Tiers, folded least-specific → most-specific with
|
|
3550
|
+
* Tiers, folded least-specific → most-specific with `merge_state_config`
|
|
3550
3551
|
* (later wins, never throwing on a cross-tier key collision):
|
|
3551
3552
|
*
|
|
3552
3553
|
* 1. theme defaults — `base_theme.state`, then each selected theme's
|
|
@@ -3578,7 +3579,7 @@ declare class Machine<mDT> {
|
|
|
3578
3579
|
* successor to the ad-hoc layer merge {@link style_for} used to perform.
|
|
3579
3580
|
*
|
|
3580
3581
|
* For any state OTHER than the current one, this returns the memoized static
|
|
3581
|
-
* resolution (tiers 1–5; see
|
|
3582
|
+
* resolution (tiers 1–5; see `_compose_state_config`) — theme →
|
|
3582
3583
|
* `default_state_config` → per-kind defaults → depth-ordered group metadata →
|
|
3583
3584
|
* per-state config. The cache is keyed by state and never invalidated, since
|
|
3584
3585
|
* those tiers do not depend on which state is current.
|
|
@@ -3588,7 +3589,7 @@ declare class Machine<mDT> {
|
|
|
3588
3589
|
* layers: the active-state THEME layers fold in just below the per-state
|
|
3589
3590
|
* config (tier 3-active), and the user `active_state : { … }` overlay folds
|
|
3590
3591
|
* in LAST (tier 6), on top of everything, so it wins over per-state config.
|
|
3591
|
-
* Every fold uses
|
|
3592
|
+
* Every fold uses `merge_state_config`, so a key set at a lower tier is
|
|
3592
3593
|
* overridden — never rejected — by a higher one.
|
|
3593
3594
|
*
|
|
3594
3595
|
* ```typescript
|
|
@@ -3598,7 +3599,7 @@ declare class Machine<mDT> {
|
|
|
3598
3599
|
* m.resolve_state_config('working').color; // '#ffa500ff' — from group &busy
|
|
3599
3600
|
* ```
|
|
3600
3601
|
*
|
|
3601
|
-
* @
|
|
3602
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3602
3603
|
*
|
|
3603
3604
|
* @param state The state to compute the composite config for.
|
|
3604
3605
|
*
|
|
@@ -3621,7 +3622,7 @@ declare class Machine<mDT> {
|
|
|
3621
3622
|
* winning over outer), then the per-state config, and finally — for the
|
|
3622
3623
|
* current state only — the active overlay. Last wins at every tier.
|
|
3623
3624
|
*
|
|
3624
|
-
* @
|
|
3625
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3625
3626
|
*
|
|
3626
3627
|
* @param state The state to compute the composite style for.
|
|
3627
3628
|
*
|
|
@@ -3655,7 +3656,7 @@ declare class Machine<mDT> {
|
|
|
3655
3656
|
* light.state(); // 'yellow'
|
|
3656
3657
|
* ```
|
|
3657
3658
|
*
|
|
3658
|
-
* @
|
|
3659
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3659
3660
|
*
|
|
3660
3661
|
* @param actionName The action to engage
|
|
3661
3662
|
*
|
|
@@ -3688,7 +3689,7 @@ declare class Machine<mDT> {
|
|
|
3688
3689
|
* light.state(); // 'green'
|
|
3689
3690
|
* ```
|
|
3690
3691
|
*
|
|
3691
|
-
* @
|
|
3692
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3692
3693
|
*
|
|
3693
3694
|
* @param newState The state to switch to
|
|
3694
3695
|
*
|
|
@@ -3710,7 +3711,7 @@ declare class Machine<mDT> {
|
|
|
3710
3711
|
* light.state(); // 'green'
|
|
3711
3712
|
* ```
|
|
3712
3713
|
*
|
|
3713
|
-
* @
|
|
3714
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3714
3715
|
*
|
|
3715
3716
|
* @param newState The state to switch to
|
|
3716
3717
|
*
|
|
@@ -3735,7 +3736,7 @@ declare class Machine<mDT> {
|
|
|
3735
3736
|
* light.state(); // 'off'
|
|
3736
3737
|
* ```
|
|
3737
3738
|
*
|
|
3738
|
-
* @
|
|
3739
|
+
* @typeParam mDT The type of the machine data member; usually omitted
|
|
3739
3740
|
*
|
|
3740
3741
|
* @param newState The state to switch to
|
|
3741
3742
|
*
|
|
@@ -4317,7 +4318,7 @@ declare function chips_for_render_mode<T>(u_jssm: Machine<T>, l_states: string[]
|
|
|
4317
4318
|
* the state's display text plus any group chips the node builder appends, with
|
|
4318
4319
|
* DOT's `\"` escaping undone (SVG carries the literal character). A label that
|
|
4319
4320
|
* wraps across lines becomes several `<text>` elements; this returns the lines
|
|
4320
|
-
* joined by `\n`, exactly how
|
|
4321
|
+
* joined by `\n`, exactly how `extract_state_fills` reads them back — so
|
|
4321
4322
|
* the derived key and the extracted key meet at the same string.
|
|
4322
4323
|
*
|
|
4323
4324
|
* This is the single source of truth the static fence renderer keys its
|