jssm 5.125.0 → 5.125.1

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 CHANGED
@@ -18,10 +18,10 @@ Please edit the file it's derived from, instead: `./src/md/readme_base.md`
18
18
 
19
19
 
20
20
 
21
- * Generated for version 5.125.0 at 5/19/2026, 6:05:01 PM
21
+ * Generated for version 5.125.1 at 5/20/2026, 3:45:22 PM
22
22
 
23
23
  -->
24
- # jssm 5.125.0
24
+ # jssm 5.125.1
25
25
 
26
26
  [**Try the live editor**](https://stonecypher.github.io/jssm-viz-demo/graph_explorer.html) ·
27
27
  [Documentation](https://stonecypher.github.io/jssm/docs/) ·
@@ -281,7 +281,7 @@ That decision shows up everywhere downstream:
281
281
  or run `npm run benny` against your own machine.
282
282
 
283
283
  - **More thoroughly tested than any other JavaScript state-machine
284
- library.** 6,095 tests at 100.0% line coverage
284
+ library.** 6,104 tests at 100.0% line coverage
285
285
  ([report](https://coveralls.io/github/StoneCypher/jssm)), plus
286
286
  fuzz testing via `fast-check`, with parser test data across ten natural
287
287
  languages and Emoji.
@@ -414,9 +414,9 @@ If your contribution is missing here, please open an issue.
414
414
 
415
415
  <br/>
416
416
 
417
- ***6,095 tests***, run 56,882 times.
417
+ ***6,104 tests***, run 56,891 times.
418
418
 
419
- - 5,582 specs with 100.0% coverage
419
+ - 5,591 specs with 100.0% coverage
420
420
  - 513 fuzz tests with 4.5% coverage
421
421
  - 4,355 TypeScript lines - 1.4 tests per line, 13.1 generated tests per line
422
422
 
package/dist/cdn/viz.js CHANGED
@@ -21041,7 +21041,7 @@ var constants = /*#__PURE__*/Object.freeze({
21041
21041
  * Useful for runtime diagnostics and for embedding in serialized machine
21042
21042
  * snapshots so that deserializers can detect version-skew.
21043
21043
  */
21044
- const version = "5.125.0";
21044
+ const version = "5.125.1";
21045
21045
 
21046
21046
  // whargarbl lots of these return arrays could/should be sets
21047
21047
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -22522,9 +22522,22 @@ class Machine {
22522
22522
  }
22523
22523
  */
22524
22524
  /** List all action names available as exits from a given state.
22525
+ *
22526
+ * Returns the empty array (does not throw) when `whichState` exists but has
22527
+ * no action-named exits — including terminal states, states whose only
22528
+ * exits are plain `->` transitions, and states in machines that use no
22529
+ * actions at all. Only nonexistent states cause a throw.
22530
+ *
22525
22531
  * @param whichState - The state to inspect. Defaults to the current state.
22526
- * @returns An array of action name strings.
22532
+ * @returns An array of action name strings, possibly empty.
22527
22533
  * @throws {JssmError} If the state does not exist.
22534
+ *
22535
+ * @example
22536
+ * const m = sm`a 'go' -> b; b -> c;`;
22537
+ * m.list_exit_actions('a'); // => ['go']
22538
+ * m.list_exit_actions('b'); // => []
22539
+ * m.list_exit_actions('c'); // => []
22540
+ * expect(() => m.list_exit_actions('z')).toThrow();
22528
22541
  */
22529
22542
  list_exit_actions(whichState = this.state()) {
22530
22543
  const ra_base = this._reverse_actions.get(whichState);