jssm 5.89.3 → 5.90.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 +49 -59
- package/README.md +3 -3
- package/dist/es6/jssm.d.ts +7 -3
- package/dist/es6/jssm.js +16 -3
- package/dist/es6/jssm_types.d.ts +3 -1
- package/dist/es6/jssm_util.d.ts +6 -4
- package/dist/es6/jssm_util.js +17 -10
- package/dist/es6/version.js +1 -1
- package/dist/jssm.es5.cjs.js +1 -1
- package/dist/jssm.es5.iife.js +1 -1
- package/jssm.d.ts +7 -3
- package/jssm_types.d.ts +3 -1
- package/jssm_util.d.ts +6 -4
- package/package.json +2 -2
- package/tutorial_learn_testing.md +168 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1102 merges; 187 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ All notable changes to this project will be documented in this file.
|
|
|
12
12
|
|
|
13
13
|
Published tags:
|
|
14
14
|
|
|
15
|
-
<a href="#5__89__2">5.89.2</a>, <a href="#5__89__1">5.89.1</a>, <a href="#5__89__0">5.89.0</a>, <a href="#5__88__4">5.88.4</a>, <a href="#5__88__3">5.88.3</a>, <a href="#5__88__2">5.88.2</a>, <a href="#5__88__1">5.88.1</a>, <a href="#5__88__0">5.88.0</a>, <a href="#5__87__0">5.87.0</a>, <a href="#5__86__3">5.86.3</a>, <a href="#5__86__2">5.86.2</a>, <a href="#5__86__1">5.86.1</a>, <a href="#5__86__0">5.86.0</a>, <a href="#5__85__11">5.85.11</a>, <a href="#5__85__10">5.85.10</a>, <a href="#5__85__9">5.85.9</a>, <a href="#5__85__8">5.85.8</a>, <a href="#5__85__7">5.85.7</a>, <a href="#5__85__6">5.85.6</a>, <a href="#5__85__5">5.85.5</a>, <a href="#5__85__4">5.85.4</a>, <a href="#5__85__3">5.85.3</a>, <a href="#5__85__2">5.85.2</a>, <a href="#5__85__1">5.85.1</a>, <a href="#5__85__0">5.85.0</a>, <a href="#5__84__1">5.84.1</a>, <a href="#5__84__0">5.84.0</a>, <a href="#5__83__2">5.83.2</a>, <a href="#5__83__1">5.83.1</a>, <a href="#5__83__0">5.83.0</a>, <a href="#5__82__5">5.82.5</a>, <a href="#5__82__4">5.82.4</a>, <a href="#5__82__3">5.82.3</a>, <a href="#5__82__2">5.82.2</a>, <a href="#5__82__1">5.82.1</a>, <a href="#5__82__0">5.82.0</a>, <a href="#5__81__2">5.81.2</a>, <a href="#5__81__0">5.81.0</a>, <a href="#5__80__1">5.80.1</a>, <a href="#5__80__0">5.80.0</a>, <a href="#5__79__18">5.79.18</a>, <a href="#5__79__17">5.79.17</a>, <a href="#5__79__16">5.79.16</a>, <a href="#5__79__15">5.79.15</a>, <a href="#5__79__11">5.79.11</a>, <a href="#5__79__10">5.79.10</a>, <a href="#5__79__9">5.79.9</a>, <a href="#5__79__8">5.79.8</a>, <a href="#5__79__6">5.79.6</a>, <a href="#5__79__4">5.79.4</a>, <a href="#5__79__3">5.79.3</a>, <a href="#5__79__2">5.79.2</a>, <a href="#5__79__1">5.79.1</a>, <a href="#5__79__0">5.79.0</a>, <a href="#5__78__0">5.78.0</a>, <a href="#5__77__1">5.77.1</a>, <a href="#5__77__0">5.77.0</a>, <a href="#5__76__2">5.76.2</a>, <a href="#5__76__0">5.76.0</a>, <a href="#5__75__1">5.75.1</a>, <a href="#5__75__0">5.75.0</a>, <a href="#5__74__0">5.74.0</a>, <a href="#5__73__1">5.73.1</a>, <a href="#5__73__0">5.73.0</a>, <a href="#5__72__5">5.72.5</a>, <a href="#5__72__4">5.72.4</a>, <a href="#5__72__3">5.72.3</a>, <a href="#5__72__2">5.72.2</a>, <a href="#5__72__1">5.72.1</a>, <a href="#5__72__0">5.72.0</a>, <a href="#5__71__1">5.71.1</a>, <a href="#5__71__0">5.71.0</a>, <a href="#5__70__36">5.70.36</a>, <a href="#5__70__35">5.70.35</a>, <a href="#5__70__34">5.70.34</a>, <a href="#5__70__33">5.70.33</a>, <a href="#5__70__32">5.70.32</a>, <a href="#5__70__31">5.70.31</a>, <a href="#5__70__30">5.70.30</a>, <a href="#5__70__29">5.70.29</a>, <a href="#5__70__28">5.70.28</a>, <a href="#5__70__27">5.70.27</a>, <a href="#5__70__26">5.70.26</a>, <a href="#5__70__25">5.70.25</a>, <a href="#5__70__24">5.70.24</a>, <a href="#5__70__23">5.70.23</a>, <a href="#5__70__22">5.70.22</a>, <a href="#5__70__21">5.70.21</a>, <a href="#5__70__20">5.70.20</a>, <a href="#5__70__19">5.70.19</a>, <a href="#5__70__18">5.70.18</a>, <a href="#5__70__16">5.70.16</a>, <a href="#5__70__15">5.70.15</a>, <a href="#5__70__14">5.70.14</a>, <a href="#5__70__13">5.70.13</a>, <a href="#5__70__12">5.70.12</a>, <a href="#5__70__11">5.70.11</a>, <a href="#5__70__10">5.70.10</a>, <a href="#5__70__9">5.70.9</a>, <a href="#5__70__8">5.70.8</a>, <a href="#5__70__7">5.70.7</a>, <a href="#5__70__6">5.70.6</a>, <a href="#5__70__5">5.70.5</a>, <a href="#5__70__4">5.70.4</a>, <a href="#5__70__3">5.70.3</a>, <a href="#5__70__2">5.70.2</a>, <a href="#5__70__1">5.70.1</a>, <a href="#5__70__0">5.70.0</a>, <a href="#5__69__4">5.69.4</a>, <a href="#5__69__3">5.69.3</a>, <a href="#5__69__2">5.69.2</a>, <a href="#5__69__0">5.69.0</a>, <a href="#5__68__0">5.68.0</a>, <a href="#5__67__2">5.67.2</a>, <a href="#5__67__0">5.67.0</a>, <a href="#5__66__0">5.66.0</a>, <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>
|
|
15
|
+
<a href="#5__89__3">5.89.3</a>, <a href="#5__89__2">5.89.2</a>, <a href="#5__89__1">5.89.1</a>, <a href="#5__89__0">5.89.0</a>, <a href="#5__88__4">5.88.4</a>, <a href="#5__88__3">5.88.3</a>, <a href="#5__88__2">5.88.2</a>, <a href="#5__88__1">5.88.1</a>, <a href="#5__88__0">5.88.0</a>, <a href="#5__87__0">5.87.0</a>, <a href="#5__86__3">5.86.3</a>, <a href="#5__86__2">5.86.2</a>, <a href="#5__86__1">5.86.1</a>, <a href="#5__86__0">5.86.0</a>, <a href="#5__85__11">5.85.11</a>, <a href="#5__85__10">5.85.10</a>, <a href="#5__85__9">5.85.9</a>, <a href="#5__85__8">5.85.8</a>, <a href="#5__85__7">5.85.7</a>, <a href="#5__85__6">5.85.6</a>, <a href="#5__85__5">5.85.5</a>, <a href="#5__85__4">5.85.4</a>, <a href="#5__85__3">5.85.3</a>, <a href="#5__85__2">5.85.2</a>, <a href="#5__85__1">5.85.1</a>, <a href="#5__85__0">5.85.0</a>, <a href="#5__84__1">5.84.1</a>, <a href="#5__84__0">5.84.0</a>, <a href="#5__83__2">5.83.2</a>, <a href="#5__83__1">5.83.1</a>, <a href="#5__83__0">5.83.0</a>, <a href="#5__82__5">5.82.5</a>, <a href="#5__82__4">5.82.4</a>, <a href="#5__82__3">5.82.3</a>, <a href="#5__82__2">5.82.2</a>, <a href="#5__82__1">5.82.1</a>, <a href="#5__82__0">5.82.0</a>, <a href="#5__81__2">5.81.2</a>, <a href="#5__81__0">5.81.0</a>, <a href="#5__80__1">5.80.1</a>, <a href="#5__80__0">5.80.0</a>, <a href="#5__79__18">5.79.18</a>, <a href="#5__79__17">5.79.17</a>, <a href="#5__79__16">5.79.16</a>, <a href="#5__79__15">5.79.15</a>, <a href="#5__79__11">5.79.11</a>, <a href="#5__79__10">5.79.10</a>, <a href="#5__79__9">5.79.9</a>, <a href="#5__79__8">5.79.8</a>, <a href="#5__79__6">5.79.6</a>, <a href="#5__79__4">5.79.4</a>, <a href="#5__79__3">5.79.3</a>, <a href="#5__79__2">5.79.2</a>, <a href="#5__79__1">5.79.1</a>, <a href="#5__79__0">5.79.0</a>, <a href="#5__78__0">5.78.0</a>, <a href="#5__77__1">5.77.1</a>, <a href="#5__77__0">5.77.0</a>, <a href="#5__76__2">5.76.2</a>, <a href="#5__76__0">5.76.0</a>, <a href="#5__75__1">5.75.1</a>, <a href="#5__75__0">5.75.0</a>, <a href="#5__74__0">5.74.0</a>, <a href="#5__73__1">5.73.1</a>, <a href="#5__73__0">5.73.0</a>, <a href="#5__72__5">5.72.5</a>, <a href="#5__72__4">5.72.4</a>, <a href="#5__72__3">5.72.3</a>, <a href="#5__72__2">5.72.2</a>, <a href="#5__72__1">5.72.1</a>, <a href="#5__72__0">5.72.0</a>, <a href="#5__71__1">5.71.1</a>, <a href="#5__71__0">5.71.0</a>, <a href="#5__70__36">5.70.36</a>, <a href="#5__70__35">5.70.35</a>, <a href="#5__70__34">5.70.34</a>, <a href="#5__70__33">5.70.33</a>, <a href="#5__70__32">5.70.32</a>, <a href="#5__70__31">5.70.31</a>, <a href="#5__70__30">5.70.30</a>, <a href="#5__70__29">5.70.29</a>, <a href="#5__70__28">5.70.28</a>, <a href="#5__70__27">5.70.27</a>, <a href="#5__70__26">5.70.26</a>, <a href="#5__70__25">5.70.25</a>, <a href="#5__70__24">5.70.24</a>, <a href="#5__70__23">5.70.23</a>, <a href="#5__70__22">5.70.22</a>, <a href="#5__70__21">5.70.21</a>, <a href="#5__70__20">5.70.20</a>, <a href="#5__70__19">5.70.19</a>, <a href="#5__70__18">5.70.18</a>, <a href="#5__70__16">5.70.16</a>, <a href="#5__70__15">5.70.15</a>, <a href="#5__70__14">5.70.14</a>, <a href="#5__70__13">5.70.13</a>, <a href="#5__70__12">5.70.12</a>, <a href="#5__70__11">5.70.11</a>, <a href="#5__70__10">5.70.10</a>, <a href="#5__70__9">5.70.9</a>, <a href="#5__70__8">5.70.8</a>, <a href="#5__70__7">5.70.7</a>, <a href="#5__70__6">5.70.6</a>, <a href="#5__70__5">5.70.5</a>, <a href="#5__70__4">5.70.4</a>, <a href="#5__70__3">5.70.3</a>, <a href="#5__70__2">5.70.2</a>, <a href="#5__70__1">5.70.1</a>, <a href="#5__70__0">5.70.0</a>, <a href="#5__69__4">5.69.4</a>, <a href="#5__69__3">5.69.3</a>, <a href="#5__69__2">5.69.2</a>, <a href="#5__69__0">5.69.0</a>, <a href="#5__68__0">5.68.0</a>, <a href="#5__67__2">5.67.2</a>, <a href="#5__67__0">5.67.0</a>, <a href="#5__66__0">5.66.0</a>, <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
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -22,13 +22,15 @@ Published tags:
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
## [Untagged] - 10/25/2023
|
|
25
|
+
## [Untagged] - 10/25/2023 11:31:11 AM
|
|
26
26
|
|
|
27
|
-
Commit [
|
|
27
|
+
Commit [966c142a44db8c5f890b2cc4edadca9faee2d625](https://github.com/StoneCypher/jssm/commit/966c142a44db8c5f890b2cc4edadca9faee2d625)
|
|
28
28
|
|
|
29
29
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
Merges [9944585, bba1f0a]
|
|
32
|
+
|
|
33
|
+
* Merge branch 'main' into NewGraphicAssets
|
|
32
34
|
|
|
33
35
|
|
|
34
36
|
|
|
@@ -37,13 +39,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
|
|
40
|
-
## [Untagged] - 10/25/2023
|
|
42
|
+
## [Untagged] - 10/25/2023 11:29:11 AM
|
|
41
43
|
|
|
42
|
-
Commit [
|
|
44
|
+
Commit [bba1f0a273ca73ffe105eed27619fc6b31247568](https://github.com/StoneCypher/jssm/commit/bba1f0a273ca73ffe105eed27619fc6b31247568)
|
|
43
45
|
|
|
44
46
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
45
47
|
|
|
46
|
-
*
|
|
48
|
+
* update github action to cover more modern node versions to cover 20 and 21
|
|
47
49
|
|
|
48
50
|
|
|
49
51
|
|
|
@@ -52,16 +54,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
52
54
|
|
|
53
55
|
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
## [5.89.2] - 6/6/2023 12:30:48 AM
|
|
57
|
+
## [Untagged] - 10/25/2023 11:23:28 AM
|
|
58
58
|
|
|
59
|
-
Commit [
|
|
59
|
+
Commit [21be69d4b3e592534342a113d259f59bbea4e23b](https://github.com/StoneCypher/jssm/commit/21be69d4b3e592534342a113d259f59bbea4e23b)
|
|
60
60
|
|
|
61
61
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
Merges [1401a08, a0fa6f3]
|
|
64
|
+
|
|
65
|
+
* Merge branch 'UpdateWorkflowNodeVersions'
|
|
65
66
|
|
|
66
67
|
|
|
67
68
|
|
|
@@ -70,17 +71,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
70
71
|
|
|
71
72
|
|
|
72
73
|
|
|
73
|
-
## [Untagged] -
|
|
74
|
+
## [Untagged] - 10/25/2023 11:21:44 AM
|
|
74
75
|
|
|
75
|
-
Commit [
|
|
76
|
+
Commit [1401a08396ff0f47bf67f52f8895a513513b3c17](https://github.com/StoneCypher/jssm/commit/1401a08396ff0f47bf67f52f8895a513513b3c17)
|
|
76
77
|
|
|
77
78
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
78
79
|
|
|
79
|
-
*
|
|
80
|
-
* alpine linux discord @toomanyusershavethisname noticed an error in the readme.
|
|
81
|
-
* i'll have to manually trigger a second build to clear this because for some nightmare reason i'm doing this in the web editor on a tablet instead of just going upstairs and using the computer like an adult, and that means i can't do two files at once and so this build will bounce when the version number isn't yet bounced
|
|
82
|
-
* "but you could start a branch"
|
|
83
|
-
* yeah but i won't, is the thing
|
|
80
|
+
* replace mulberry with splitmix32, fixes StoneCypher/fsl#1250
|
|
84
81
|
|
|
85
82
|
|
|
86
83
|
|
|
@@ -89,18 +86,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
89
86
|
|
|
90
87
|
|
|
91
88
|
|
|
92
|
-
<a name="
|
|
89
|
+
<a name="5__89__3" />
|
|
93
90
|
|
|
94
|
-
## [5.89.
|
|
91
|
+
## [5.89.3] - 10/25/2023 10:58:24 AM
|
|
95
92
|
|
|
96
|
-
Commit [
|
|
93
|
+
Commit [e1ef14c5268547a18010d378267f7196e186a08c](https://github.com/StoneCypher/jssm/commit/e1ef14c5268547a18010d378267f7196e186a08c)
|
|
97
94
|
|
|
98
95
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
99
96
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
* Merge pull request #556 from StoneCypher/FinalizeDenoSupport
|
|
103
|
-
* Standard deno support
|
|
97
|
+
* silence most build warnings
|
|
104
98
|
|
|
105
99
|
|
|
106
100
|
|
|
@@ -109,13 +103,13 @@ Merges [d04a575, 6337159]
|
|
|
109
103
|
|
|
110
104
|
|
|
111
105
|
|
|
112
|
-
## [Untagged] -
|
|
106
|
+
## [Untagged] - 10/25/2023 10:48:13 AM
|
|
113
107
|
|
|
114
|
-
Commit [
|
|
108
|
+
Commit [a0fa6f3a6f58169ae45ed294c4fd7ae1d1f84a26](https://github.com/StoneCypher/jssm/commit/a0fa6f3a6f58169ae45ed294c4fd7ae1d1f84a26)
|
|
115
109
|
|
|
116
110
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
117
111
|
|
|
118
|
-
*
|
|
112
|
+
* Newer node stuff
|
|
119
113
|
|
|
120
114
|
|
|
121
115
|
|
|
@@ -124,18 +118,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
124
118
|
|
|
125
119
|
|
|
126
120
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
## [5.89.0] - 5/7/2023 12:34:42 PM
|
|
121
|
+
## [Untagged] - 10/25/2023 10:47:08 AM
|
|
130
122
|
|
|
131
|
-
Commit [
|
|
123
|
+
Commit [99445857bb32492c06ef0d766177260b3221bb70](https://github.com/StoneCypher/jssm/commit/99445857bb32492c06ef0d766177260b3221bb70)
|
|
132
124
|
|
|
133
125
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
134
126
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
* Merge pull request #555 from StoneCypher/ReattemptDenoSupport
|
|
138
|
-
* draft support for deno
|
|
127
|
+
* Purty
|
|
139
128
|
|
|
140
129
|
|
|
141
130
|
|
|
@@ -144,13 +133,16 @@ Merges [ef4285a, 2a87cf1]
|
|
|
144
133
|
|
|
145
134
|
|
|
146
135
|
|
|
147
|
-
|
|
136
|
+
<a name="5__89__2" />
|
|
137
|
+
|
|
138
|
+
## [5.89.2] - 6/6/2023 12:30:48 AM
|
|
148
139
|
|
|
149
|
-
Commit [
|
|
140
|
+
Commit [66725ae01f4692e7720a6b7a0add6cd71b77ce85](https://github.com/StoneCypher/jssm/commit/66725ae01f4692e7720a6b7a0add6cd71b77ce85)
|
|
150
141
|
|
|
151
142
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
152
143
|
|
|
153
|
-
*
|
|
144
|
+
* Update package.json
|
|
145
|
+
* bumping version for readme error by alpine discord @toomanyusershavethisname as mentioned in prior patch
|
|
154
146
|
|
|
155
147
|
|
|
156
148
|
|
|
@@ -159,22 +151,17 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
159
151
|
|
|
160
152
|
|
|
161
153
|
|
|
162
|
-
## [Untagged] -
|
|
154
|
+
## [Untagged] - 6/6/2023 12:29:53 AM
|
|
163
155
|
|
|
164
|
-
Commit [
|
|
156
|
+
Commit [e04f055eec397f7c1679579caec8c4565dd993a4](https://github.com/StoneCypher/jssm/commit/e04f055eec397f7c1679579caec8c4565dd993a4)
|
|
165
157
|
|
|
166
|
-
Author: `
|
|
158
|
+
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
167
159
|
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
*
|
|
173
|
-
updated-dependencies:
|
|
174
|
-
- dependency-name: xml2js
|
|
175
|
-
dependency-type: direct:development
|
|
176
|
-
...
|
|
177
|
-
* Signed-off-by: dependabot[bot] <support@github.com>
|
|
160
|
+
* Update README_base.md
|
|
161
|
+
* alpine linux discord @toomanyusershavethisname noticed an error in the readme.
|
|
162
|
+
* i'll have to manually trigger a second build to clear this because for some nightmare reason i'm doing this in the web editor on a tablet instead of just going upstairs and using the computer like an adult, and that means i can't do two files at once and so this build will bounce when the version number isn't yet bounced
|
|
163
|
+
* "but you could start a branch"
|
|
164
|
+
* yeah but i won't, is the thing
|
|
178
165
|
|
|
179
166
|
|
|
180
167
|
|
|
@@ -183,12 +170,15 @@ updated-dependencies:
|
|
|
183
170
|
|
|
184
171
|
|
|
185
172
|
|
|
186
|
-
<a name="
|
|
173
|
+
<a name="5__89__1" />
|
|
187
174
|
|
|
188
|
-
## [5.
|
|
175
|
+
## [5.89.1] - 5/13/2023 11:42:13 PM
|
|
189
176
|
|
|
190
|
-
Commit [
|
|
177
|
+
Commit [7fb4622f3b8651ea259f8a785210810bd0ae328a](https://github.com/StoneCypher/jssm/commit/7fb4622f3b8651ea259f8a785210810bd0ae328a)
|
|
191
178
|
|
|
192
179
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
193
180
|
|
|
194
|
-
|
|
181
|
+
Merges [d04a575, 6337159]
|
|
182
|
+
|
|
183
|
+
* Merge pull request #556 from StoneCypher/FinalizeDenoSupport
|
|
184
|
+
* Standard deno support
|
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.
|
|
21
|
+
* Generated for version 5.90.0 at 10/25/2023, 12:32:59 PM
|
|
22
22
|
|
|
23
23
|
-->
|
|
24
|
-
# jssm 5.
|
|
24
|
+
# jssm 5.90.0
|
|
25
25
|
|
|
26
26
|
Easy. Small. Fast. TS, es6, es5. Node, Browser. 100% coverage. Property
|
|
27
27
|
tests. Fuzz tests. Language tests for a dozen languages and emoji. Easy to
|
|
@@ -29,7 +29,7 @@ share online. Easy to embed.
|
|
|
29
29
|
|
|
30
30
|
Readable, useful state machines as one-liner strings.
|
|
31
31
|
|
|
32
|
-
***4,
|
|
32
|
+
***4,937 tests*** run 5,828 times. 4,928 specs with 100.0% coverage, 9 fuzz tests with 13.0% coverage. With 2,855 lines, that's about 1.7 tests per line, or {{line_run_ratio}} generated tests per line.
|
|
33
33
|
|
|
34
34
|
***Meet your new state machine library.***
|
|
35
35
|
|
package/dist/es6/jssm.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare type StateType = string;
|
|
2
2
|
import { JssmGenericState, JssmGenericConfig, JssmStateConfig, JssmTransition, JssmTransitionList, // JssmTransitionRule,
|
|
3
|
-
JssmMachineInternalState, JssmAllowsOverride, JssmStateDeclaration, JssmStateStyleKeyList, JssmLayout, JssmHistory, JssmSerialization, FslDirection, FslDirections, FslTheme, HookDescription, HookHandler, HookContext, HookResult, HookComplexResult } from './jssm_types';
|
|
3
|
+
JssmMachineInternalState, JssmAllowsOverride, JssmStateDeclaration, JssmStateStyleKeyList, JssmLayout, JssmHistory, JssmSerialization, FslDirection, FslDirections, FslTheme, HookDescription, HookHandler, HookContext, HookResult, HookComplexResult, JssmRng } from './jssm_types';
|
|
4
4
|
import { arrow_direction, arrow_left_kind, arrow_right_kind } from './jssm_arrow';
|
|
5
5
|
import { compile, make, wrap_parse } from './jssm_compiler';
|
|
6
6
|
import { seq, unique, find_repeated, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key } from './jssm_util';
|
|
@@ -40,8 +40,10 @@ declare class Machine<mDT> {
|
|
|
40
40
|
_fsl_version?: string;
|
|
41
41
|
_raw_state_declaration?: Array<Object>;
|
|
42
42
|
_state_declarations: Map<StateType, JssmStateDeclaration>;
|
|
43
|
-
_instance_name: string;
|
|
44
43
|
_data?: mDT;
|
|
44
|
+
_instance_name: string;
|
|
45
|
+
_rng_seed: number;
|
|
46
|
+
_rng: JssmRng;
|
|
45
47
|
_graph_layout: JssmLayout;
|
|
46
48
|
_dot_preamble: string;
|
|
47
49
|
_arrange_declaration: Array<Array<StateType>>;
|
|
@@ -99,7 +101,7 @@ declare class Machine<mDT> {
|
|
|
99
101
|
_start_state_style: JssmStateConfig;
|
|
100
102
|
_end_state_style: JssmStateConfig;
|
|
101
103
|
_state_labels: Map<string, string>;
|
|
102
|
-
constructor({ start_states, end_states, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, property_definition, state_property, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, theme, flow, graph_layout, instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override }: JssmGenericConfig<StateType, mDT>);
|
|
104
|
+
constructor({ start_states, end_states, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, property_definition, state_property, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, theme, flow, graph_layout, instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override, rng_seed }: JssmGenericConfig<StateType, mDT>);
|
|
103
105
|
/********
|
|
104
106
|
*
|
|
105
107
|
* Internal method for fabricating states. Not meant for external use.
|
|
@@ -668,6 +670,8 @@ declare class Machine<mDT> {
|
|
|
668
670
|
post_hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
669
671
|
post_hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
670
672
|
post_hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
673
|
+
get rng_seed(): number;
|
|
674
|
+
set rng_seed(to: number | undefined);
|
|
671
675
|
edges_between(from: string, to: string): JssmTransition<StateType, mDT>[];
|
|
672
676
|
/*********
|
|
673
677
|
*
|
package/dist/es6/jssm.js
CHANGED
|
@@ -4,7 +4,7 @@ import { FslDirections } from './jssm_types';
|
|
|
4
4
|
import { arrow_direction, arrow_left_kind, arrow_right_kind } from './jssm_arrow';
|
|
5
5
|
import { compile, make, wrap_parse } from './jssm_compiler';
|
|
6
6
|
import { theme_mapping, base_theme } from './jssm_theme';
|
|
7
|
-
import { seq, unique, find_repeated, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key, array_box_if_string, name_bind_prop_and_state, hook_name, named_hook_name } from './jssm_util';
|
|
7
|
+
import { seq, unique, find_repeated, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key, array_box_if_string, name_bind_prop_and_state, hook_name, named_hook_name, gen_splitmix32 } from './jssm_util';
|
|
8
8
|
import * as constants from './jssm_constants';
|
|
9
9
|
const { shapes, gviz_shapes, named_colors } = constants;
|
|
10
10
|
import { version, build_time } from './version'; // replaced from package.js in build
|
|
@@ -126,7 +126,7 @@ function state_style_condense(jssk) {
|
|
|
126
126
|
// TODO add a lotta docblock here
|
|
127
127
|
class Machine {
|
|
128
128
|
// whargarbl this badly needs to be broken up, monolith master
|
|
129
|
-
constructor({ start_states, end_states = [], complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, property_definition, state_property, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = ['default'], flow = 'down', graph_layout = 'dot', instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override }) {
|
|
129
|
+
constructor({ start_states, end_states = [], complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, property_definition, state_property, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = ['default'], flow = 'down', graph_layout = 'dot', instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override, rng_seed }) {
|
|
130
130
|
this._instance_name = instance_name;
|
|
131
131
|
this._state = start_states[0];
|
|
132
132
|
this._states = new Map();
|
|
@@ -212,6 +212,8 @@ class Machine {
|
|
|
212
212
|
this._history_length = history || 0;
|
|
213
213
|
this._history = new circular_buffer(this._history_length);
|
|
214
214
|
this._state_labels = new Map();
|
|
215
|
+
this._rng_seed = rng_seed !== null && rng_seed !== void 0 ? rng_seed : new Date().getTime();
|
|
216
|
+
this._rng = gen_splitmix32(this._rng_seed);
|
|
215
217
|
// consolidate the state declarations
|
|
216
218
|
if (state_declaration) {
|
|
217
219
|
state_declaration.map((state_decl) => {
|
|
@@ -1076,7 +1078,7 @@ class Machine {
|
|
|
1076
1078
|
return wtf;
|
|
1077
1079
|
}
|
|
1078
1080
|
probabilistic_transition() {
|
|
1079
|
-
const selected = weighted_rand_select(this.probable_exits_for(this.state()));
|
|
1081
|
+
const selected = weighted_rand_select(this.probable_exits_for(this.state()), undefined, this._rng);
|
|
1080
1082
|
return this.transition(selected.to);
|
|
1081
1083
|
}
|
|
1082
1084
|
probabilistic_walk(n) {
|
|
@@ -1419,6 +1421,17 @@ class Machine {
|
|
|
1419
1421
|
this.set_hook({ kind: 'post exit', from, handler });
|
|
1420
1422
|
return this;
|
|
1421
1423
|
}
|
|
1424
|
+
get rng_seed() {
|
|
1425
|
+
return this._rng_seed;
|
|
1426
|
+
}
|
|
1427
|
+
set rng_seed(to) {
|
|
1428
|
+
if (typeof to === 'undefined') {
|
|
1429
|
+
this._rng_seed = new Date().getTime();
|
|
1430
|
+
}
|
|
1431
|
+
else {
|
|
1432
|
+
this._rng_seed = to;
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1422
1435
|
// remove_hook(HookDesc: HookDescription) {
|
|
1423
1436
|
// throw new JssmError(this, 'TODO: Should remove hook here');
|
|
1424
1437
|
// }
|
package/dist/es6/jssm_types.d.ts
CHANGED
|
@@ -219,6 +219,7 @@ declare type JssmGenericConfig<StateType, DataType> = {
|
|
|
219
219
|
default_hooked_state_config?: JssmStateStyleKeyList;
|
|
220
220
|
default_terminal_state_config?: JssmStateStyleKeyList;
|
|
221
221
|
default_active_state_config?: JssmStateStyleKeyList;
|
|
222
|
+
rng_seed?: number | undefined;
|
|
222
223
|
};
|
|
223
224
|
declare type JssmCompileRule<StateType> = {
|
|
224
225
|
agg_as: string;
|
|
@@ -359,4 +360,5 @@ declare type JssmErrorExtendedInfo = {
|
|
|
359
360
|
requested_state?: StateType | undefined;
|
|
360
361
|
};
|
|
361
362
|
declare type JssmHistory<mDT> = circular_buffer<[StateType, mDT]>;
|
|
362
|
-
|
|
363
|
+
declare type JssmRng = () => number;
|
|
364
|
+
export { JssmColor, JssmShape, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmStateConfig, JssmStateStyleKey, JssmStateStyleKeyList, JssmBaseTheme, JssmTheme, JssmLayout, JssmHistory, JssmSerialization, JssmPropertyDefinition, JssmAllowsOverride, JssmParseFunctionType, JssmMachineInternalState, JssmErrorExtendedInfo, FslDirections, FslDirection, FslThemes, FslTheme, HookDescription, HookHandler, HookContext, HookResult, HookComplexResult, JssmRng };
|
package/dist/es6/jssm_util.d.ts
CHANGED
|
@@ -58,12 +58,14 @@ declare const hook_name: (from: string, to: string) => string;
|
|
|
58
58
|
declare const named_hook_name: (from: string, to: string, action: string) => string;
|
|
59
59
|
/*******
|
|
60
60
|
*
|
|
61
|
-
* Creates a
|
|
61
|
+
* Creates a SplitMix32 random generator. Used by the randomness test suite.
|
|
62
62
|
*
|
|
63
|
-
* Sourced from `bryc
|
|
63
|
+
* Sourced from `bryc`: https://github.com/bryc/code/blob/master/jshash/PRNGs.md#splitmix32
|
|
64
|
+
*
|
|
65
|
+
* Replaces the Mulberry generator, which was found to have problems
|
|
64
66
|
*
|
|
65
67
|
*/
|
|
66
|
-
declare
|
|
68
|
+
declare function gen_splitmix32(a?: number | undefined): () => number;
|
|
67
69
|
/*******
|
|
68
70
|
*
|
|
69
71
|
* Reduces an array to its unique contents. Compares with `===` and makes no
|
|
@@ -100,4 +102,4 @@ declare const unique: <T>(arr?: T[]) => T[];
|
|
|
100
102
|
*
|
|
101
103
|
*/
|
|
102
104
|
declare function find_repeated<T>(arr: T[]): [T, number][];
|
|
103
|
-
export { seq, unique, find_repeated, arr_uniq_p, histograph, weighted_histo_key, weighted_rand_select, weighted_sample_select, array_box_if_string, name_bind_prop_and_state, hook_name, named_hook_name,
|
|
105
|
+
export { seq, unique, find_repeated, arr_uniq_p, histograph, weighted_histo_key, weighted_rand_select, weighted_sample_select, array_box_if_string, name_bind_prop_and_state, hook_name, named_hook_name, gen_splitmix32 };
|
package/dist/es6/jssm_util.js
CHANGED
|
@@ -11,7 +11,7 @@ function arr_uniq_p(el, i, source) {
|
|
|
11
11
|
const array_box_if_string = n => typeof n === 'string' ? [n] : n;
|
|
12
12
|
// this is explicitly about other peoples' data, so it has to be weakly typed
|
|
13
13
|
/* eslint-disable flowtype/no-weak-types */
|
|
14
|
-
const weighted_rand_select = (options, probability_property = 'probability') => {
|
|
14
|
+
const weighted_rand_select = (options, probability_property = 'probability', rng) => {
|
|
15
15
|
if (!Array.isArray(options)) {
|
|
16
16
|
throw new TypeError('options must be a non-empty array of objects');
|
|
17
17
|
}
|
|
@@ -102,20 +102,27 @@ const hook_name = (from, to) => JSON.stringify([from, to]);
|
|
|
102
102
|
const named_hook_name = (from, to, action) => JSON.stringify([from, to, action]);
|
|
103
103
|
/*******
|
|
104
104
|
*
|
|
105
|
-
* Creates a
|
|
105
|
+
* Creates a SplitMix32 random generator. Used by the randomness test suite.
|
|
106
106
|
*
|
|
107
|
-
* Sourced from `bryc
|
|
107
|
+
* Sourced from `bryc`: https://github.com/bryc/code/blob/master/jshash/PRNGs.md#splitmix32
|
|
108
|
+
*
|
|
109
|
+
* Replaces the Mulberry generator, which was found to have problems
|
|
108
110
|
*
|
|
109
111
|
*/
|
|
110
|
-
|
|
112
|
+
function gen_splitmix32(a) {
|
|
111
113
|
if (a === undefined) {
|
|
112
114
|
a = new Date().getTime();
|
|
113
115
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
return function () {
|
|
117
|
+
a |= 0;
|
|
118
|
+
a = a + 0x9e3779b9 | 0;
|
|
119
|
+
var t = a ^ a >>> 16;
|
|
120
|
+
t = Math.imul(t, 0x21f0aaad);
|
|
121
|
+
t = t ^ t >>> 15;
|
|
122
|
+
t = Math.imul(t, 0x735a2d97);
|
|
123
|
+
return ((t = t ^ t >>> 15) >>> 0) / 4294967296;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
119
126
|
/*******
|
|
120
127
|
*
|
|
121
128
|
* Reduces an array to its unique contents. Compares with `===` and makes no
|
|
@@ -167,4 +174,4 @@ function find_repeated(arr) {
|
|
|
167
174
|
return [];
|
|
168
175
|
}
|
|
169
176
|
}
|
|
170
|
-
export { seq, unique, find_repeated, arr_uniq_p, histograph, weighted_histo_key, weighted_rand_select, weighted_sample_select, array_box_if_string, name_bind_prop_and_state, hook_name, named_hook_name,
|
|
177
|
+
export { seq, unique, find_repeated, arr_uniq_p, histograph, weighted_histo_key, weighted_rand_select, weighted_sample_select, array_box_if_string, name_bind_prop_and_state, hook_name, named_hook_name, gen_splitmix32 };
|
package/dist/es6/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const version = "5.
|
|
1
|
+
const version = "5.90.0", build_time = 1698262297064;
|
|
2
2
|
export { version, build_time };
|