jssm 5.148.2 → 5.149.2

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.148.2 at 6/28/2026, 1:26:54 AM
21
+ * Generated for version 5.149.2 at 6/28/2026, 9:27:00 AM
22
22
 
23
23
  -->
24
- # jssm 5.148.2
24
+ # jssm 5.149.2
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,683 tests at 100.0% line coverage
315
+ library.** 7,704 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,683 tests***, run 82,329 times.
448
+ ***7,704 tests***, run 82,350 times.
449
449
 
450
- - 6,929 specs with 100.0% coverage
451
- - 754 fuzz tests with 59.4% coverage
452
- - 8,790 TypeScript lines - 0.9 tests per line, 9.4 generated tests per line
450
+ - 6,950 specs with 100.0% coverage
451
+ - 754 fuzz tests with 57.5% coverage
452
+ - 8,989 TypeScript lines - 0.9 tests per line, 9.2 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)
@@ -412,6 +412,278 @@
412
412
  }
413
413
  ]
414
414
  },
415
+ {
416
+ "kind": "javascript-module",
417
+ "path": "src/ts/wc/fsl_docs_markdown.ts",
418
+ "declarations": [
419
+ {
420
+ "kind": "function",
421
+ "name": "parseFenceInfo",
422
+ "return": {
423
+ "type": {
424
+ "text": "{ lang: string; attrs: Record<string, string | boolean> }"
425
+ }
426
+ },
427
+ "parameters": [
428
+ {
429
+ "name": "info",
430
+ "type": {
431
+ "text": "string"
432
+ }
433
+ }
434
+ ],
435
+ "description": "Parse a fenced-code info string like `fsl {teaches: x, run: true}`."
436
+ },
437
+ {
438
+ "kind": "function",
439
+ "name": "renderMarkdown",
440
+ "return": {
441
+ "type": {
442
+ "text": "string"
443
+ }
444
+ },
445
+ "parameters": [
446
+ {
447
+ "name": "md",
448
+ "type": {
449
+ "text": "string"
450
+ }
451
+ }
452
+ ],
453
+ "description": "Render the supported markdown subset to an HTML string."
454
+ }
455
+ ],
456
+ "exports": [
457
+ {
458
+ "kind": "js",
459
+ "name": "parseFenceInfo",
460
+ "declaration": {
461
+ "name": "parseFenceInfo",
462
+ "module": "src/ts/wc/fsl_docs_markdown.ts"
463
+ }
464
+ },
465
+ {
466
+ "kind": "js",
467
+ "name": "renderMarkdown",
468
+ "declaration": {
469
+ "name": "renderMarkdown",
470
+ "module": "src/ts/wc/fsl_docs_markdown.ts"
471
+ }
472
+ }
473
+ ]
474
+ },
475
+ {
476
+ "kind": "javascript-module",
477
+ "path": "src/ts/wc/fsl_docs_wc.ts",
478
+ "declarations": [
479
+ {
480
+ "kind": "class",
481
+ "description": "`<fsl-docs>` — the language-docs content engine: drill-in nav over the bundled\ncurriculum (Getting Started / About State Machines / Tutorials / Example\nMachines / Index / Search), a markdown page renderer, and \"load into editor\"\nfor tagged FSL examples. Content-only; slot it into `<fsl-help>`.",
482
+ "name": "FslDocs",
483
+ "members": [
484
+ {
485
+ "kind": "field",
486
+ "name": "theme",
487
+ "type": {
488
+ "text": "'light' | 'dark'"
489
+ },
490
+ "default": "'light'",
491
+ "description": "Color theme; reflected so it drives the `--fsl-*` token defaults.",
492
+ "attribute": "theme",
493
+ "reflects": true
494
+ },
495
+ {
496
+ "kind": "field",
497
+ "name": "_view",
498
+ "type": {
499
+ "text": "DocsView"
500
+ },
501
+ "privacy": "private",
502
+ "default": "'sections'"
503
+ },
504
+ {
505
+ "kind": "field",
506
+ "name": "_section",
507
+ "type": {
508
+ "text": "string"
509
+ },
510
+ "privacy": "private",
511
+ "default": "''"
512
+ },
513
+ {
514
+ "kind": "field",
515
+ "name": "_pageId",
516
+ "type": {
517
+ "text": "string"
518
+ },
519
+ "privacy": "private",
520
+ "default": "''"
521
+ },
522
+ {
523
+ "kind": "field",
524
+ "name": "_query",
525
+ "type": {
526
+ "text": "string"
527
+ },
528
+ "privacy": "private",
529
+ "default": "''"
530
+ },
531
+ {
532
+ "kind": "method",
533
+ "name": "_pagesIn",
534
+ "privacy": "private",
535
+ "return": {
536
+ "type": {
537
+ "text": "DocsPage[]"
538
+ }
539
+ },
540
+ "parameters": [
541
+ {
542
+ "name": "section",
543
+ "type": {
544
+ "text": "string"
545
+ }
546
+ }
547
+ ]
548
+ },
549
+ {
550
+ "kind": "method",
551
+ "name": "_sectionLabel",
552
+ "privacy": "private",
553
+ "return": {
554
+ "type": {
555
+ "text": "string"
556
+ }
557
+ },
558
+ "parameters": [
559
+ {
560
+ "name": "id",
561
+ "type": {
562
+ "text": "string"
563
+ }
564
+ }
565
+ ],
566
+ "description": "Display label for a section id (falls back to the id for unknown sections)."
567
+ },
568
+ {
569
+ "kind": "field",
570
+ "name": "_go",
571
+ "privacy": "private"
572
+ },
573
+ {
574
+ "kind": "field",
575
+ "name": "_loadExample",
576
+ "privacy": "private"
577
+ },
578
+ {
579
+ "kind": "method",
580
+ "name": "_renderSections",
581
+ "privacy": "private",
582
+ "return": {
583
+ "type": {
584
+ "text": "TemplateResult"
585
+ }
586
+ }
587
+ },
588
+ {
589
+ "kind": "method",
590
+ "name": "_renderPages",
591
+ "privacy": "private",
592
+ "return": {
593
+ "type": {
594
+ "text": "TemplateResult"
595
+ }
596
+ }
597
+ },
598
+ {
599
+ "kind": "method",
600
+ "name": "_renderPage",
601
+ "privacy": "private",
602
+ "return": {
603
+ "type": {
604
+ "text": "TemplateResult"
605
+ }
606
+ }
607
+ },
608
+ {
609
+ "kind": "method",
610
+ "name": "_withButtons",
611
+ "privacy": "private",
612
+ "return": {
613
+ "type": {
614
+ "text": "string"
615
+ }
616
+ },
617
+ "parameters": [
618
+ {
619
+ "name": "htmlStr",
620
+ "type": {
621
+ "text": "string"
622
+ }
623
+ }
624
+ ],
625
+ "description": "Append a \"Load into editor\" button to every runnable fsl fence."
626
+ },
627
+ {
628
+ "kind": "method",
629
+ "name": "_renderIndex",
630
+ "privacy": "private",
631
+ "return": {
632
+ "type": {
633
+ "text": "TemplateResult"
634
+ }
635
+ }
636
+ },
637
+ {
638
+ "kind": "method",
639
+ "name": "_renderSearch",
640
+ "privacy": "private",
641
+ "return": {
642
+ "type": {
643
+ "text": "TemplateResult"
644
+ }
645
+ }
646
+ }
647
+ ],
648
+ "events": [
649
+ {
650
+ "type": {
651
+ "text": "CustomEvent<FslDocsLoadExampleDetail>"
652
+ },
653
+ "description": "When a fence's \"Load into editor\" is clicked.",
654
+ "name": "load-example"
655
+ }
656
+ ],
657
+ "attributes": [
658
+ {
659
+ "name": "theme",
660
+ "type": {
661
+ "text": "'light' | 'dark'"
662
+ },
663
+ "default": "'light'",
664
+ "description": "Color theme; reflected so it drives the `--fsl-*` token defaults.",
665
+ "fieldName": "theme"
666
+ }
667
+ ],
668
+ "superclass": {
669
+ "name": "LitElement",
670
+ "package": "lit"
671
+ },
672
+ "tagName": "fsl-docs",
673
+ "customElement": true
674
+ }
675
+ ],
676
+ "exports": [
677
+ {
678
+ "kind": "js",
679
+ "name": "FslDocs",
680
+ "declaration": {
681
+ "name": "FslDocs",
682
+ "module": "src/ts/wc/fsl_docs_wc.ts"
683
+ }
684
+ }
685
+ ]
686
+ },
415
687
  {
416
688
  "kind": "javascript-module",
417
689
  "path": "src/ts/wc/fsl_editor_wc.ts",
@@ -22956,7 +22956,7 @@ var constants = /*#__PURE__*/Object.freeze({
22956
22956
  * Useful for runtime diagnostics and for embedding in serialized machine
22957
22957
  * snapshots so that deserializers can detect version-skew.
22958
22958
  */
22959
- const version = "5.148.2";
22959
+ const version = "5.149.2";
22960
22960
 
22961
22961
  // whargarbl lots of these return arrays could/should be sets
22962
22962
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
package/dist/cdn/viz.js CHANGED
@@ -22981,7 +22981,7 @@ var constants = /*#__PURE__*/Object.freeze({
22981
22981
  * Useful for runtime diagnostics and for embedding in serialized machine
22982
22982
  * snapshots so that deserializers can detect version-skew.
22983
22983
  */
22984
- const version = "5.148.2";
22984
+ const version = "5.149.2";
22985
22985
 
22986
22986
  // whargarbl lots of these return arrays could/should be sets
22987
22987
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -108,7 +108,7 @@ function parseFslArgs(argv, spec) {
108
108
  return { positional, flags, helpText };
109
109
  }
110
110
 
111
- const getVersion = () => "5.148.2";
111
+ const getVersion = () => "5.149.2";
112
112
  const SPEC = {
113
113
  flags: {
114
114
  help: { short: "h", boolean: true },