jssm 5.157.13 → 5.157.15

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.157.13 at 7/2/2026, 5:46:25 PM
21
+ * Generated for version 5.157.15 at 7/2/2026, 10:05:02 PM
22
22
 
23
23
  -->
24
- # jssm 5.157.13
24
+ # jssm 5.157.15
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/) ·
@@ -312,7 +312,7 @@ That decision shows up everywhere downstream:
312
312
  or run `npm run benny` against your own machine.
313
313
 
314
314
  - **More thoroughly tested than any other JavaScript state-machine
315
- library.** 7,871 tests at 100.0% line coverage
315
+ library.** 7,872 tests at 100.0% line coverage
316
316
  ([report](https://coveralls.io/github/StoneCypher/jssm)), plus
317
317
  fuzz testing via `fast-check`, with parser test data across ten natural
318
318
  languages and Emoji.
@@ -445,11 +445,11 @@ If your contribution is missing here, please open an issue.
445
445
 
446
446
  <br/>
447
447
 
448
- ***7,871 tests***, run 82,913 times.
448
+ ***7,872 tests***, run 82,914 times.
449
449
 
450
- - 7,113 specs with 100.0% coverage
451
- - 758 fuzz tests with 52.6% coverage
452
- - 9,997 TypeScript lines - 0.8 tests per line, 8.3 generated tests per line
450
+ - 7,114 specs with 100.0% coverage
451
+ - 758 fuzz tests with 52.7% coverage
452
+ - 10,007 TypeScript lines - 0.8 tests per line, 8.3 generated tests per line
453
453
 
454
454
  [![Actions Status](https://github.com/StoneCypher/jssm/workflows/Node%20CI/badge.svg)](https://github.com/StoneCypher/jssm/actions)
455
455
  [![NPM version](https://img.shields.io/npm/v/jssm.svg)](https://www.npmjs.com/package/jssm)
@@ -1437,6 +1437,29 @@ declare class Machine<mDT> {
1437
1437
  *
1438
1438
  * @internal
1439
1439
  */
1440
+ /**
1441
+ * Whether at least one live subscriber is registered for `name`. Used by
1442
+ * the transition-commit observation block to skip building a detail
1443
+ * literal that {@link Machine._fire} would immediately discard — a panel
1444
+ * listening only to `'transition'` (fsl-bind, fsl-viz, fsl-info-panel)
1445
+ * previously paid for the exit/entry/data-change detail allocations on
1446
+ * every transition. Read at fire time, so a listener installed by a
1447
+ * pre-hook is still seen (#671).
1448
+ *
1449
+ * @param name The event name to probe.
1450
+ * @returns `true` when a subsequent `_fire(name, ...)` would reach at
1451
+ * least one handler.
1452
+ *
1453
+ * ```typescript
1454
+ * machine.on('transition', () => {});
1455
+ * machine._has_subscribers('transition'); // true
1456
+ * machine._has_subscribers('exit'); // false
1457
+ * ```
1458
+ *
1459
+ * @see Machine._fire
1460
+ * @internal
1461
+ */
1462
+ _has_subscribers(name: JssmEventName): boolean;
1440
1463
  _fire<Ev extends JssmEventName>(name: Ev, detail: JssmEventDetailMap<mDT>[Ev]): void;
1441
1464
  /** Low-level hook registration. Installs a handler described by a
1442
1465
  * {@link HookDescription} into the appropriate internal map. Prefer the