jssm 5.162.27 → 5.162.28

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.
@@ -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.162.27 at 7/15/2026, 6:41:13 AM
21
+ * Generated for version 5.162.28 at 7/15/2026, 7:23:06 AM
22
22
 
23
23
  -->
24
- # jssm 5.162.27
24
+ # jssm 5.162.28
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/) ·
@@ -333,7 +333,7 @@ That decision shows up everywhere downstream:
333
333
  or run `npm run benny` against your own machine.
334
334
 
335
335
  - **More thoroughly tested than any other JavaScript state-machine
336
- library.** 8,748 tests at 100.0% line coverage
336
+ library.** 8,753 tests at 100.0% line coverage
337
337
  ([report](https://coveralls.io/github/StoneCypher/jssm)), plus
338
338
  fuzz testing via `fast-check`, with parser test data across ten natural
339
339
  languages and Emoji.
@@ -468,11 +468,11 @@ If your contribution is missing here, please open an issue.
468
468
 
469
469
  <br/>
470
470
 
471
- ***8,748 tests***, run 98,145 times.
471
+ ***8,753 tests***, run 98,150 times.
472
472
 
473
- - 7,845 specs with 100.0% coverage
473
+ - 7,850 specs with 100.0% coverage
474
474
  - 903 fuzz tests with 56.2% coverage
475
- - 11,106 TypeScript lines - 0.8 tests per line, 8.8 generated tests per line
475
+ - 11,117 TypeScript lines - 0.8 tests per line, 8.8 generated tests per line
476
476
 
477
477
  [![Actions Status](https://github.com/StoneCypher/jssm/workflows/Node%20CI/badge.svg)](https://github.com/StoneCypher/jssm/actions)
478
478
  [![NPM version](https://img.shields.io/npm/v/jssm.svg)](https://www.npmjs.com/package/jssm)
@@ -158,6 +158,7 @@ declare class Machine<mDT> {
158
158
  _event_handlers: Map<JssmEventName, Set<JssmEventEntry<any, any>>>;
159
159
  _event_listener_count: number;
160
160
  _firing_error: boolean;
161
+ _committing_transition: boolean;
161
162
  _boundary_depth: number;
162
163
  _boundary_depth_limit: number;
163
164
  constructor({ start_states, end_states, failed_outputs, initial_state, start_states_no_enforce, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, npm_name, default_size, state_declaration, property_definition, state_property, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, oarrange_declaration, farrange_declaration, theme, flow, graph_layout, instance_name, history, boundary_depth_limit, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, default_transition_config, default_graph_config, group_registry, group_metadata, group_hooks, state_hooks, allows_override, config_allows_override, allow_islands, editor_config, rng_seed, time_source, timeout_source, clear_timeout_source }: JssmGenericConfig<StateType, mDT>);
@@ -1871,6 +1872,13 @@ declare class Machine<mDT> {
1871
1872
  * @returns `true` if the transition was valid and every hook passed;
1872
1873
  * `false` if the transition was invalid or any hook rejected.
1873
1874
  *
1875
+ * @throws {JssmError} If called reentrantly from inside a hook that is still
1876
+ * running in the enclosing transition's pre-commit pipeline — a hook that
1877
+ * calls `transition`/`go`/`do`/`action`. Committing the inner transition
1878
+ * and then the outer one would silently discard the inner result, so the
1879
+ * reentry is rejected instead (StoneCypher/fsl#1953). Post-commit reentry
1880
+ * (from a post-hook or the boundary-action cascade) is permitted.
1881
+ *
1874
1882
  * @internal
1875
1883
  *
1876
1884
  */