jssm 5.65.12 → 5.66.0

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/CHANGELOG.md CHANGED
@@ -1 +1,183 @@
1
+ # Changelog
1
2
 
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ 873 merges; 70 releases; Changlogging the last 10 commits; Full changelog at [10](10)
6
+
7
+
8
+
9
+  
10
+
11
+  
12
+
13
+ Published tags:
14
+
15
+ <a href="#5__65__14">5.65.14</a>, <a href="#5__65__12">5.65.12</a>, <a href="#5__65__11">5.65.11</a>, <a href="#5__65__10">5.65.10</a>, <a href="#5__65__9">5.65.9</a>, <a href="#5__65__8">5.65.8</a>, <a href="#5__65__7">5.65.7</a>, <a href="#5__65__5">5.65.5</a>, <a href="#5__65__4">5.65.4</a>, <a href="#5__65__3">5.65.3</a>, <a href="#5__65__2">5.65.2</a>, <a href="#5__65__1">5.65.1</a>, <a href="#5__65__0">5.65.0</a>, <a href="#5__64__2">5.64.2</a>, <a href="#5__64__1">5.64.1</a>, <a href="#5__64__0">5.64.0</a>, <a href="#5__63__0">5.63.0</a>, <a href="#5__62__0">5.62.0</a>, <a href="#5__61__4">5.61.4</a>, <a href="#5__61__3">5.61.3</a>, <a href="#5__61__2">5.61.2</a>, <a href="#5__61__1">5.61.1</a>, <a href="#5__60__4">5.60.4</a>, <a href="#5__60__3">5.60.3</a>, <a href="#5__60__0">5.60.0</a>, <a href="#5__59__1">5.59.1</a>, <a href="#5__59__0">5.59.0</a>, <a href="#5__58__1">5.58.1</a>, <a href="#5__58__0">5.58.0</a>, <a href="#5__57__1">5.57.1</a>, <a href="#5__57__0">5.57.0</a>, <a href="#5__56__2">5.56.2</a>, <a href="#5__56__1">5.56.1</a>, <a href="#5__55__0">5.55.0</a>, <a href="#5__54__0">5.54.0</a>, <a href="#5__53__0">5.53.0</a>, <a href="#5__52__0">5.52.0</a>, <a href="#5__51__0">5.51.0</a>, <a href="#5__50__0">5.50.0</a>, <a href="#5__49__0">5.49.0</a>, <a href="#5__48__0">5.48.0</a>, <a href="#5__47__0">5.47.0</a>, <a href="#5__46__0">5.46.0</a>, <a href="#5__45__2">5.45.2</a>, <a href="#5__45__0">5.45.0</a>, <a href="#5__44__0">5.44.0</a>, <a href="#5__43__2">5.43.2</a>, <a href="#v5__42__0">v5.42.0</a>, <a href="#5__42__0">5.42.0</a>, <a href="#v5__41__15">v5.41.15</a>, <a href="#5__41__15">5.41.15</a>, <a href="#v5__41__14">v5.41.14</a>, <a href="#5__41__14">5.41.14</a>, <a href="#v5__41__12">v5.41.12</a>, <a href="#5__41__12">5.41.12</a>, <a href="#v5__41__10">v5.41.10</a>, <a href="#5__41__10">5.41.10</a>, <a href="#v5__41__9">v5.41.9</a>, <a href="#5__41__9">5.41.9</a>, <a href="#v5__41__8">v5.41.8</a>, <a href="#5__41__8">5.41.8</a>, <a href="#v5__41__7">v5.41.7</a>, <a href="#v5__41__2">v5.41.2</a>, <a href="#v5__41__1">v5.41.1</a>, <a href="#v5__32__14">v5.32.14</a>, <a href="#5__14__0">5.14.0</a>, <a href="#5__12__0">5.12.0</a>, <a href="#5__11__12">5.11.12</a>, <a href="#5__11__1">5.11.1</a>, <a href="#5__11__0">5.11.0</a>
16
+
17
+
18
+
19
+
20
+
21
+ &nbsp;
22
+
23
+ &nbsp;
24
+
25
+ ## [Untagged] - 6/6/2022 11:20:01 AM
26
+
27
+ Commit [bcb1edaf59fbbd0a9fcfbb293d3ba1cfca129aa0](https://github.com/StoneCypher/jssm/commit/bcb1edaf59fbbd0a9fcfbb293d3ba1cfca129aa0)
28
+
29
+ Author: `John Haugeland <stonecypher@gmail.com>`
30
+
31
+ Merges [d19a094, 966e56b]
32
+
33
+ * Merge branch 'main' of github.com:StoneCypher/jssm
34
+
35
+
36
+
37
+
38
+ &nbsp;
39
+
40
+ &nbsp;
41
+
42
+ ## [Untagged] - 6/6/2022 11:19:47 AM
43
+
44
+ Commit [d19a0949fdb44e76f946cf0f06020e9a497e8732](https://github.com/StoneCypher/jssm/commit/d19a0949fdb44e76f946cf0f06020e9a497e8732)
45
+
46
+ Author: `John Haugeland <stonecypher@gmail.com>`
47
+
48
+ * Long and short changelogs to un-break GH releases
49
+
50
+
51
+
52
+
53
+ &nbsp;
54
+
55
+ &nbsp;
56
+
57
+ ## [Untagged] - 6/2/2022 7:14:41 PM
58
+
59
+ Commit [966e56b5db15b792ee8efc648f76c279dd1c8b0c](https://github.com/StoneCypher/jssm/commit/966e56b5db15b792ee8efc648f76c279dd1c8b0c)
60
+
61
+ Author: `John Haugeland <stonecypher@gmail.com>`
62
+
63
+ * Update README.md
64
+
65
+
66
+
67
+
68
+ &nbsp;
69
+
70
+ &nbsp;
71
+
72
+ <a name="5__65__14" />
73
+
74
+ ## [5.65.14] - 5/25/2022 10:01:42 PM
75
+
76
+ Commit [1c597f900bb8daa127d1ec490f1277db0dfc822e](https://github.com/StoneCypher/jssm/commit/1c597f900bb8daa127d1ec490f1277db0dfc822e)
77
+
78
+ Author: `John Haugeland <stonecypher@gmail.com>`
79
+
80
+ Merges [6a6f1c8, 4c2e830]
81
+
82
+ * Merge pull request #489 from StoneCypher/ImproveDocumentationLayout
83
+ * Improve documentation layout
84
+
85
+
86
+
87
+
88
+ &nbsp;
89
+
90
+ &nbsp;
91
+
92
+ ## [Untagged] - 5/25/2022 9:57:42 PM
93
+
94
+ Commit [4c2e830a1a4cfc8f808a67a04cfb0efe7e6993c8](https://github.com/StoneCypher/jssm/commit/4c2e830a1a4cfc8f808a67a04cfb0efe7e6993c8)
95
+
96
+ Author: `John Haugeland <stonecypher@gmail.com>`
97
+
98
+ * Needed version bump
99
+
100
+
101
+
102
+
103
+ &nbsp;
104
+
105
+ &nbsp;
106
+
107
+ ## [Untagged] - 5/25/2022 9:51:54 PM
108
+
109
+ Commit [6353caf50948fc5985e1603fc06673add48bc376](https://github.com/StoneCypher/jssm/commit/6353caf50948fc5985e1603fc06673add48bc376)
110
+
111
+ Author: `John Haugeland <stonecypher@gmail.com>`
112
+
113
+ * moar dox
114
+
115
+
116
+
117
+
118
+ &nbsp;
119
+
120
+ &nbsp;
121
+
122
+ <a name="5__65__12" />
123
+
124
+ ## [5.65.12] - 5/22/2022 4:28:55 PM
125
+
126
+ Commit [6a6f1c8a256f2f943c3230ec32dd32d2c2344927](https://github.com/StoneCypher/jssm/commit/6a6f1c8a256f2f943c3230ec32dd32d2c2344927)
127
+
128
+ Author: `John Haugeland <stonecypher@gmail.com>`
129
+
130
+ Merges [e084bf4, f0f3961]
131
+
132
+ * Merge pull request #488 from StoneCypher/Doc_Action_Transition_ForceTransition
133
+ * Document action, transition, force_transition; fixes StoneCypher/fsl#801, StoneCypher/fsl#802, StoneCypher/fsl#803
134
+
135
+
136
+
137
+
138
+ &nbsp;
139
+
140
+ &nbsp;
141
+
142
+ ## [Untagged] - 5/22/2022 4:24:24 PM
143
+
144
+ Commit [f0f3961d25dc11cfb547eca55c7e3a65b9cf3ccf](https://github.com/StoneCypher/jssm/commit/f0f3961d25dc11cfb547eca55c7e3a65b9cf3ccf)
145
+
146
+ Author: `John Haugeland <stonecypher@gmail.com>`
147
+
148
+ * Document action, transition, force_transition; fixes StoneCypher/fsl#801, StoneCypher/fsl#802, StoneCypher/fsl#803
149
+
150
+
151
+
152
+
153
+ &nbsp;
154
+
155
+ &nbsp;
156
+
157
+ <a name="5__65__11" />
158
+
159
+ ## [5.65.11] - 5/22/2022 3:54:12 PM
160
+
161
+ Commit [e084bf4a0936d419b5a9921e746a707644ad263f](https://github.com/StoneCypher/jssm/commit/e084bf4a0936d419b5a9921e746a707644ad263f)
162
+
163
+ Author: `John Haugeland <stonecypher@gmail.com>`
164
+
165
+ Merges [a7d9fba, b2558b2]
166
+
167
+ * Merge pull request #487 from StoneCypher/Doc_ListEdges_ListTransitions_ListEntrances_ListExits
168
+ * Doc list edges list transitions list entrances list exits
169
+
170
+
171
+
172
+
173
+ &nbsp;
174
+
175
+ &nbsp;
176
+
177
+ ## [Untagged] - 5/22/2022 3:44:19 PM
178
+
179
+ Commit [b2558b2457dfaf6cb61782d0c758cf1ad043149b](https://github.com/StoneCypher/jssm/commit/b2558b2457dfaf6cb61782d0c758cf1ad043149b)
180
+
181
+ Author: `John Haugeland <stonecypher@gmail.com>`
182
+
183
+ * Forgot to update benny labels
package/README.md CHANGED
@@ -1009,6 +1009,8 @@ If you'd like to help, it's straightforward.
1009
1009
 
1010
1010
  ## Code and Language
1011
1011
 
1012
+ [Vat Raghavan](https://github.com/MachinShin) has participated extensively in language discussion and implemented several features.
1013
+
1012
1014
  [Forest Belton](https://github.com/forestbelton) has provided guidance, bugfixes, parser and language commentary.
1013
1015
 
1014
1016
  [Jordan Harbrand](https://github.com/ljharb) suggested two interesting features and provided strong feedback on the initial tutorial draft.
@@ -15,6 +15,8 @@ import { version } from './version';
15
15
  * arrow_direction('<~=>'); // 'both'
16
16
  * ```
17
17
  *
18
+ * @param arrow The arrow to be evaluated
19
+ *
18
20
  */
19
21
  declare function arrow_direction(arrow: JssmArrow): JssmArrowDirection;
20
22
  /*********
@@ -31,6 +33,8 @@ declare function arrow_direction(arrow: JssmArrow): JssmArrowDirection;
31
33
  * arrow_left_kind('->'); // 'none'
32
34
  * ```
33
35
  *
36
+ * @param arrow The arrow to be evaluated
37
+ *
34
38
  */
35
39
  declare function arrow_left_kind(arrow: JssmArrow): JssmArrowKind;
36
40
  /*********
@@ -47,6 +51,8 @@ declare function arrow_left_kind(arrow: JssmArrow): JssmArrowKind;
47
51
  * arrow_left_kind('<-'); // 'none'
48
52
  * ```
49
53
  *
54
+ * @param arrow The arrow to be evaluated
55
+ *
50
56
  */
51
57
  declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
52
58
  /*********
@@ -101,6 +107,10 @@ declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
101
107
  * `wrap_parse` itself is an internal convenience method for alting out an
102
108
  * object as the options call. Not generally meant for external use.
103
109
  *
110
+ * @param input The FSL code to be evaluated
111
+ *
112
+ * @param options Things to control about the instance
113
+ *
104
114
  */
105
115
  declare function wrap_parse(input: string, options?: Object): any;
106
116
  /*********
@@ -149,6 +159,10 @@ declare function wrap_parse(input: string, options?: Object): any;
149
159
  * const toggle = jssm.from('up <=> down;');
150
160
  * ```
151
161
  *
162
+ * @typeparam mDT The type of the machine data member; usually omitted
163
+ *
164
+ * @param tree The parse tree to be boiled down into a machine config
165
+ *
152
166
  */
153
167
  declare function compile<mDT>(tree: JssmParseTree): JssmGenericConfig<mDT>;
154
168
  /*********
@@ -157,6 +171,10 @@ declare function compile<mDT>(tree: JssmParseTree): JssmGenericConfig<mDT>;
157
171
  * Not generally meant for external use. Please see {@link compile} or
158
172
  * {@link sm}.
159
173
  *
174
+ * @typeparam mDT The type of the machine data member; usually omitted
175
+ *
176
+ * @param plan The FSL code to be evaluated and built into a machine config
177
+ *
160
178
  */
161
179
  declare function make<mDT>(plan: string): JssmGenericConfig<mDT>;
162
180
  /*********
@@ -165,6 +183,8 @@ declare function make<mDT>(plan: string): JssmGenericConfig<mDT>;
165
183
  * a single multi-faceted declaration, in the process of building a state. Not
166
184
  * generally meant for external use.
167
185
  *
186
+ * @internal
187
+ *
168
188
  */
169
189
  declare function transfer_state_properties(state_decl: JssmStateDeclaration): JssmStateDeclaration;
170
190
  declare class Machine<mDT> {
@@ -217,6 +237,8 @@ declare class Machine<mDT> {
217
237
  *
218
238
  * Internal method for fabricating states. Not meant for external use.
219
239
  *
240
+ * @internal
241
+ *
220
242
  */
221
243
  _new_state(state_config: JssmGenericState): StateType;
222
244
  /*********
@@ -233,6 +255,8 @@ declare class Machine<mDT> {
233
255
  * console.log( switch.state() ); // 'off'
234
256
  * ```
235
257
  *
258
+ * @typeparam mDT The type of the machine data member; usually omitted
259
+ *
236
260
  */
237
261
  state(): StateType;
238
262
  /********
@@ -249,6 +273,10 @@ declare class Machine<mDT> {
249
273
  * console.log( final_test.state_is_final('second') ); // true
250
274
  * ```
251
275
  *
276
+ * @typeparam mDT The type of the machine data member; usually omitted
277
+ *
278
+ * @param whichState The name of the state to check for finality
279
+ *
252
280
  */
253
281
  state_is_final(whichState: StateType): boolean;
254
282
  /********
@@ -266,6 +294,8 @@ declare class Machine<mDT> {
266
294
  * console.log( final_test.is_final() ); // true
267
295
  * ```
268
296
  *
297
+ * @typeparam mDT The type of the machine data member; usually omitted
298
+ *
269
299
  */
270
300
  is_final(): boolean;
271
301
  graph_layout(): string;
@@ -295,6 +325,8 @@ declare class Machine<mDT> {
295
325
  * console.log( switch.states() ); // ['on', 'off']
296
326
  * ```
297
327
  *
328
+ * @typeparam mDT The type of the machine data member; usually omitted
329
+ *
298
330
  */
299
331
  states(): Array<StateType>;
300
332
  state_for(whichState: StateType): JssmGenericState;
@@ -311,6 +343,10 @@ declare class Machine<mDT> {
311
343
  * console.log( switch.has_state('dance') ); // false
312
344
  * ```
313
345
  *
346
+ * @typeparam mDT The type of the machine data member; usually omitted
347
+ *
348
+ * @param whichState The state to be checked for extance
349
+ *
314
350
  */
315
351
  has_state(whichState: StateType): boolean;
316
352
  /*********
@@ -343,6 +379,8 @@ declare class Machine<mDT> {
343
379
  * ]
344
380
  * ```
345
381
  *
382
+ * @typeparam mDT The type of the machine data member; usually omitted
383
+ *
346
384
  */
347
385
  list_edges(): Array<JssmTransition<mDT>>;
348
386
  list_named_transitions(): Map<StateType, number>;
@@ -366,6 +404,10 @@ declare class Machine<mDT> {
366
404
  * light.list_transitions(); // { entrances: [ 'yellow', 'off' ], exits: [ 'green', 'off' ] }
367
405
  * ```
368
406
  *
407
+ * @typeparam mDT The type of the machine data member; usually omitted
408
+ *
409
+ * @param whichState The state whose transitions to have listed
410
+ *
369
411
  */
370
412
  list_transitions(whichState?: StateType): JssmTransitionList;
371
413
  /********
@@ -382,6 +424,10 @@ declare class Machine<mDT> {
382
424
  * light.list_entrances(); // [ 'yellow', 'off' ]
383
425
  * ```
384
426
  *
427
+ * @typeparam mDT The type of the machine data member; usually omitted
428
+ *
429
+ * @param whichState The state whose entrances to have listed
430
+ *
385
431
  */
386
432
  list_entrances(whichState?: StateType): Array<StateType>;
387
433
  /********
@@ -398,6 +444,10 @@ declare class Machine<mDT> {
398
444
  * light.list_exits(); // [ 'green', 'off' ]
399
445
  * ```
400
446
  *
447
+ * @typeparam mDT The type of the machine data member; usually omitted
448
+ *
449
+ * @param whichState The state whose exits to have listed
450
+ *
401
451
  */
402
452
  list_exits(whichState?: StateType): Array<StateType>;
403
453
  probable_exits_for(whichState: StateType): Array<JssmTransition<mDT>>;
@@ -433,6 +483,10 @@ declare class Machine<mDT> {
433
483
  * console.log( machine.actions() ); // logs ['next', 'shutdown']
434
484
  * ```
435
485
  *
486
+ * @typeparam mDT The type of the machine data member; usually omitted
487
+ *
488
+ * @param whichState The state whose actions to have listed
489
+ *
436
490
  */
437
491
  actions(whichState?: StateType): Array<StateType>;
438
492
  /********
@@ -452,6 +506,10 @@ declare class Machine<mDT> {
452
506
  * console.log( machine.list_states_having_action('start') ); // ['off']
453
507
  * ```
454
508
  *
509
+ * @typeparam mDT The type of the machine data member; usually omitted
510
+ *
511
+ * @param whichState The action to be checked for associated states
512
+ *
455
513
  */
456
514
  list_states_having_action(whichState: StateType): Array<StateType>;
457
515
  list_exit_actions(whichState?: StateType): Array<StateType>;
@@ -489,6 +547,12 @@ declare class Machine<mDT> {
489
547
  * light.state(); // 'green'
490
548
  * ```
491
549
  *
550
+ * @typeparam mDT The type of the machine data member; usually omitted
551
+ *
552
+ * @param actionName The action to engage
553
+ *
554
+ * @param newData The data change to insert during the action
555
+ *
492
556
  */
493
557
  action(actionName: StateType, newData?: mDT): boolean;
494
558
  /********
@@ -503,6 +567,12 @@ declare class Machine<mDT> {
503
567
  * light.state(); // 'green'
504
568
  * ```
505
569
  *
570
+ * @typeparam mDT The type of the machine data member; usually omitted
571
+ *
572
+ * @param newState The state to switch to
573
+ *
574
+ * @param newData The data change to insert during the transition
575
+ *
506
576
  */
507
577
  transition(newState: StateType, newData?: mDT): boolean;
508
578
  /********
@@ -520,6 +590,12 @@ declare class Machine<mDT> {
520
590
  * light.state(); // 'off'
521
591
  * ```
522
592
  *
593
+ * @typeparam mDT The type of the machine data member; usually omitted
594
+ *
595
+ * @param newState The state to switch to
596
+ *
597
+ * @param newData The data change to insert during the transition
598
+ *
523
599
  */
524
600
  force_transition(newState: StateType, newData?: mDT): boolean;
525
601
  current_action_for(action: StateType): number;
@@ -546,6 +622,12 @@ declare class Machine<mDT> {
546
622
  * const switch = jssm.from('on <=> off;');
547
623
  * ```
548
624
  *
625
+ * @typeparam mDT The type of the machine data member; usually omitted
626
+ *
627
+ * @param template_strings The assembled code
628
+ *
629
+ * @param remainder The mechanic for template argument insertion
630
+ *
549
631
  */
550
632
  declare function sm<mDT>(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>;
551
633
  /*********
@@ -563,6 +645,12 @@ declare function sm<mDT>(template_strings: TemplateStringsArray, ...remainder: a
563
645
  * const switch = jssm.from('on <=> off;');
564
646
  * ```
565
647
  *
648
+ * @typeparam mDT The type of the machine data member; usually omitted
649
+ *
650
+ * @param MachineAsString The FSL code to evaluate
651
+ *
652
+ * @param ExtraConstructorFields Extra non-code configuration to pass at creation time
653
+ *
566
654
  */
567
655
  declare function from<mDT>(MachineAsString: string, ExtraConstructorFields?: Partial<JssmGenericConfig<mDT>> | undefined): Machine<mDT>;
568
656
  export { version, transfer_state_properties, Machine, make, wrap_parse as parse, compile, sm, from, arrow_direction, arrow_left_kind, arrow_right_kind, seq, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key, shapes, gviz_shapes, named_colors };