jssm 5.85.5 → 5.85.8
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 +43 -53
- package/README.md +2 -2
- package/dist/es6/jssm.d.ts +5 -54
- package/dist/es6/jssm.js +25 -188
- package/dist/es6/jssm_arrow.d.ts +53 -0
- package/dist/es6/jssm_arrow.js +187 -0
- 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 +5 -54
- package/jssm_arrow.d.ts +53 -0
- package/package.json +4 -2
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
|
+
1055 merges; 167 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__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__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,14 @@ Published tags:
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
## [Untagged] - 9/12/2022
|
|
25
|
+
## [Untagged] - 9/12/2022 7:19:21 PM
|
|
26
26
|
|
|
27
|
-
Commit [
|
|
27
|
+
Commit [771f4c8d67274b40451ae6dfef168fe3c15949df](https://github.com/StoneCypher/jssm/commit/771f4c8d67274b40451ae6dfef168fe3c15949df)
|
|
28
28
|
|
|
29
29
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
30
30
|
|
|
31
|
-
*
|
|
31
|
+
* Add tests for unicode labels (atom and string)
|
|
32
|
+
* Fixes StoneCypher/fsl#1193, fixes StoneCypher/fsl#1194
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
|
|
@@ -37,18 +38,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## [5.85.3] - 9/12/2022 11:25:36 AM
|
|
41
|
+
## [Untagged] - 9/12/2022 6:52:26 PM
|
|
43
42
|
|
|
44
|
-
Commit [
|
|
43
|
+
Commit [3eb246ddb992372ceca4c0adc9dc45295a0a7177](https://github.com/StoneCypher/jssm/commit/3eb246ddb992372ceca4c0adc9dc45295a0a7177)
|
|
45
44
|
|
|
46
45
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* Merge pull request #540 from StoneCypher/ReintroduceDisplayText
|
|
51
|
-
* Reintroduce display text, lost in a bad merge
|
|
47
|
+
* Return twitter envvar to GHA yaml
|
|
52
48
|
|
|
53
49
|
|
|
54
50
|
|
|
@@ -57,13 +53,13 @@ Merges [98b7b14, 6475296]
|
|
|
57
53
|
|
|
58
54
|
|
|
59
55
|
|
|
60
|
-
## [Untagged] - 9/12/2022
|
|
56
|
+
## [Untagged] - 9/12/2022 6:52:26 PM
|
|
61
57
|
|
|
62
|
-
Commit [
|
|
58
|
+
Commit [3a01b8d7ae2cee185e4f36c90a95338bf30002cb](https://github.com/StoneCypher/jssm/commit/3a01b8d7ae2cee185e4f36c90a95338bf30002cb)
|
|
63
59
|
|
|
64
60
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
65
61
|
|
|
66
|
-
*
|
|
62
|
+
* that wasn't supposed to be removed...
|
|
67
63
|
|
|
68
64
|
|
|
69
65
|
|
|
@@ -72,18 +68,14 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
72
68
|
|
|
73
69
|
|
|
74
70
|
|
|
75
|
-
|
|
71
|
+
## [Untagged] - 9/12/2022 6:39:19 PM
|
|
76
72
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
Commit [98b7b14217ea7e83550e4ed15b6b6be80799e246](https://github.com/StoneCypher/jssm/commit/98b7b14217ea7e83550e4ed15b6b6be80799e246)
|
|
73
|
+
Commit [37c0bdf33263bf4b9dd60ba329108297cf5ea68f](https://github.com/StoneCypher/jssm/commit/37c0bdf33263bf4b9dd60ba329108297cf5ea68f)
|
|
80
74
|
|
|
81
75
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
82
76
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
* Merge pull request #539 from StoneCypher/TrimTweet
|
|
86
|
-
* Shorten the tweet notice
|
|
77
|
+
* Prevent request of illegal state as start state
|
|
78
|
+
* Fixes StoneCypher/fsl#1203, fixes StoneCypher/fsl#1204, fixes StoneCypher/fsl#1205
|
|
87
79
|
|
|
88
80
|
|
|
89
81
|
|
|
@@ -92,13 +84,13 @@ Merges [461a287, 0f3025a]
|
|
|
92
84
|
|
|
93
85
|
|
|
94
86
|
|
|
95
|
-
## [Untagged] - 9/12/2022
|
|
87
|
+
## [Untagged] - 9/12/2022 3:27:58 PM
|
|
96
88
|
|
|
97
|
-
Commit [
|
|
89
|
+
Commit [4b9fefde004f1c1ac5f36ad760105109475af95a](https://github.com/StoneCypher/jssm/commit/4b9fefde004f1c1ac5f36ad760105109475af95a)
|
|
98
90
|
|
|
99
91
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
100
92
|
|
|
101
|
-
*
|
|
93
|
+
* expose build date directly on module (also -viz and -demo,) support logging in -demo
|
|
102
94
|
|
|
103
95
|
|
|
104
96
|
|
|
@@ -107,18 +99,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
107
99
|
|
|
108
100
|
|
|
109
101
|
|
|
110
|
-
<a name="
|
|
102
|
+
<a name="5__85__5" />
|
|
111
103
|
|
|
112
|
-
## [5.85.
|
|
104
|
+
## [5.85.5] - 9/12/2022 3:10:10 PM
|
|
113
105
|
|
|
114
|
-
Commit [
|
|
106
|
+
Commit [35ad7228d5bb15d963a2e4d9e6e35721cce36b33](https://github.com/StoneCypher/jssm/commit/35ad7228d5bb15d963a2e4d9e6e35721cce36b33)
|
|
115
107
|
|
|
116
108
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
117
109
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
* Merge pull request #538 from StoneCypher/RemoveYmlEcho
|
|
121
|
-
* Remove noisy echo in the YML
|
|
110
|
+
* Add build time to module
|
|
122
111
|
|
|
123
112
|
|
|
124
113
|
|
|
@@ -127,13 +116,15 @@ Merges [2eec2c8, 76d6729]
|
|
|
127
116
|
|
|
128
117
|
|
|
129
118
|
|
|
130
|
-
|
|
119
|
+
<a name="5__85__4" />
|
|
131
120
|
|
|
132
|
-
|
|
121
|
+
## [5.85.4] - 9/12/2022 1:55:57 PM
|
|
122
|
+
|
|
123
|
+
Commit [293e2cb9c07734fef562b455d786b7c63ea7647b](https://github.com/StoneCypher/jssm/commit/293e2cb9c07734fef562b455d786b7c63ea7647b)
|
|
133
124
|
|
|
134
125
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
135
126
|
|
|
136
|
-
*
|
|
127
|
+
* Clean up the gh action a skosh
|
|
137
128
|
|
|
138
129
|
|
|
139
130
|
|
|
@@ -142,18 +133,18 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
142
133
|
|
|
143
134
|
|
|
144
135
|
|
|
145
|
-
<a name="
|
|
136
|
+
<a name="5__85__3" />
|
|
146
137
|
|
|
147
|
-
## [5.85.
|
|
138
|
+
## [5.85.3] - 9/12/2022 11:25:36 AM
|
|
148
139
|
|
|
149
|
-
Commit [
|
|
140
|
+
Commit [87ec233d3511d30358660ad161f932e13eb1738e](https://github.com/StoneCypher/jssm/commit/87ec233d3511d30358660ad161f932e13eb1738e)
|
|
150
141
|
|
|
151
142
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
152
143
|
|
|
153
|
-
Merges [
|
|
144
|
+
Merges [98b7b14, 6475296]
|
|
154
145
|
|
|
155
|
-
* Merge pull request #
|
|
156
|
-
*
|
|
146
|
+
* Merge pull request #540 from StoneCypher/ReintroduceDisplayText
|
|
147
|
+
* Reintroduce display text, lost in a bad merge
|
|
157
148
|
|
|
158
149
|
|
|
159
150
|
|
|
@@ -162,14 +153,13 @@ Merges [a7b92f9, a0b9fb5]
|
|
|
162
153
|
|
|
163
154
|
|
|
164
155
|
|
|
165
|
-
## [Untagged] - 9/12/2022
|
|
156
|
+
## [Untagged] - 9/12/2022 11:24:38 AM
|
|
166
157
|
|
|
167
|
-
Commit [
|
|
158
|
+
Commit [6475296d979dab3d227828b80319d60c4f6ab2f5](https://github.com/StoneCypher/jssm/commit/6475296d979dab3d227828b80319d60c4f6ab2f5)
|
|
168
159
|
|
|
169
160
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
170
161
|
|
|
171
|
-
*
|
|
172
|
-
* fixes StoneCypher/fsl#1202
|
|
162
|
+
* Reintroduce display text, lost in a bad merge
|
|
173
163
|
|
|
174
164
|
|
|
175
165
|
|
|
@@ -178,15 +168,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
178
168
|
|
|
179
169
|
|
|
180
170
|
|
|
181
|
-
<a name="
|
|
171
|
+
<a name="5__85__2" />
|
|
182
172
|
|
|
183
|
-
## [5.
|
|
173
|
+
## [5.85.2] - 9/12/2022 10:03:27 AM
|
|
184
174
|
|
|
185
|
-
Commit [
|
|
175
|
+
Commit [98b7b14217ea7e83550e4ed15b6b6be80799e246](https://github.com/StoneCypher/jssm/commit/98b7b14217ea7e83550e4ed15b6b6be80799e246)
|
|
186
176
|
|
|
187
177
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
188
178
|
|
|
189
|
-
Merges [
|
|
179
|
+
Merges [461a287, 0f3025a]
|
|
190
180
|
|
|
191
|
-
* Merge pull request #
|
|
192
|
-
*
|
|
181
|
+
* Merge pull request #539 from StoneCypher/TrimTweet
|
|
182
|
+
* Shorten the tweet notice
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ 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.85.
|
|
21
|
+
* Generated for version 5.85.8 at 9/12/2022, 8:16:52 PM
|
|
22
22
|
|
|
23
23
|
-->
|
|
24
24
|
# jssm
|
|
@@ -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,864 tests*** run 5,755 times. 4,855 specs with 100.0% coverage, 9 fuzz tests with 13.2% coverage. With 2,725 lines, that's about 1.8 tests per line, or 2.1 generated tests per line.
|
|
33
33
|
|
|
34
34
|
***Meet your new state machine library.***
|
|
35
35
|
|
package/dist/es6/jssm.d.ts
CHANGED
|
@@ -1,61 +1,11 @@
|
|
|
1
1
|
declare type StateType = string;
|
|
2
2
|
import { JssmGenericState, JssmGenericConfig, JssmStateConfig, JssmTransition, JssmTransitionList, // JssmTransitionRule,
|
|
3
|
-
JssmMachineInternalState, JssmParseTree, JssmStateDeclaration, JssmStateStyleKeyList,
|
|
3
|
+
JssmMachineInternalState, JssmParseTree, JssmStateDeclaration, JssmStateStyleKeyList, JssmLayout, JssmHistory, JssmSerialization, FslDirection, FslDirections, FslTheme, HookDescription, HookHandler, HookContext, HookResult, HookComplexResult } from './jssm_types';
|
|
4
|
+
import { arrow_direction, arrow_left_kind, arrow_right_kind } from './jssm_arrow';
|
|
4
5
|
import { seq, unique, find_repeated, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key } from './jssm_util';
|
|
5
6
|
import * as constants from './jssm_constants';
|
|
6
7
|
declare const shapes: string[], gviz_shapes: string[], named_colors: string[];
|
|
7
|
-
import { version } from './version';
|
|
8
|
-
/*********
|
|
9
|
-
*
|
|
10
|
-
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
11
|
-
*
|
|
12
|
-
* ```typescript
|
|
13
|
-
* import { arrow_direction } from 'jssm';
|
|
14
|
-
*
|
|
15
|
-
* arrow_direction('->'); // 'right'
|
|
16
|
-
* arrow_direction('<~=>'); // 'both'
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @param arrow The arrow to be evaluated
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
|
-
declare function arrow_direction(arrow: JssmArrow): JssmArrowDirection;
|
|
23
|
-
/*********
|
|
24
|
-
*
|
|
25
|
-
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
26
|
-
*
|
|
27
|
-
* ```typescript
|
|
28
|
-
* import { arrow_left_kind } from 'jssm';
|
|
29
|
-
*
|
|
30
|
-
* arrow_left_kind('<-'); // 'legal'
|
|
31
|
-
* arrow_left_kind('<='); // 'main'
|
|
32
|
-
* arrow_left_kind('<~'); // 'forced'
|
|
33
|
-
* arrow_left_kind('<->'); // 'legal'
|
|
34
|
-
* arrow_left_kind('->'); // 'none'
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @param arrow The arrow to be evaluated
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
declare function arrow_left_kind(arrow: JssmArrow): JssmArrowKind;
|
|
41
|
-
/*********
|
|
42
|
-
*
|
|
43
|
-
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
44
|
-
*
|
|
45
|
-
* ```typescript
|
|
46
|
-
* import { arrow_left_kind } from 'jssm';
|
|
47
|
-
*
|
|
48
|
-
* arrow_left_kind('->'); // 'legal'
|
|
49
|
-
* arrow_left_kind('=>'); // 'main'
|
|
50
|
-
* arrow_left_kind('~>'); // 'forced'
|
|
51
|
-
* arrow_left_kind('<->'); // 'legal'
|
|
52
|
-
* arrow_left_kind('<-'); // 'none'
|
|
53
|
-
* ```
|
|
54
|
-
*
|
|
55
|
-
* @param arrow The arrow to be evaluated
|
|
56
|
-
*
|
|
57
|
-
*/
|
|
58
|
-
declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
|
|
8
|
+
import { version, build_time } from './version';
|
|
59
9
|
/*********
|
|
60
10
|
*
|
|
61
11
|
* This method wraps the parser call that comes from the peg grammar,
|
|
@@ -651,6 +601,7 @@ declare class Machine<mDT> {
|
|
|
651
601
|
list_edges(): Array<JssmTransition<mDT>>;
|
|
652
602
|
list_named_transitions(): Map<StateType, number>;
|
|
653
603
|
list_actions(): Array<StateType>;
|
|
604
|
+
get uses_actions(): boolean;
|
|
654
605
|
all_themes(): FslTheme[];
|
|
655
606
|
get themes(): FslTheme | FslTheme[];
|
|
656
607
|
set themes(to: FslTheme | FslTheme[]);
|
|
@@ -1237,4 +1188,4 @@ declare function is_hook_complex_result<mDT>(hr: unknown): hr is HookComplexResu
|
|
|
1237
1188
|
declare function is_hook_rejection<mDT>(hr: HookResult<mDT>): boolean;
|
|
1238
1189
|
declare function abstract_hook_step<mDT>(maybe_hook: HookHandler<mDT> | undefined, hook_args: HookContext<mDT>): HookComplexResult<mDT>;
|
|
1239
1190
|
declare function deserialize<mDT>(machine_string: string, ser: JssmSerialization<mDT>): Machine<mDT>;
|
|
1240
|
-
export { version, transfer_state_properties, Machine, deserialize, make, wrap_parse as parse, compile, sm, from, arrow_direction, arrow_left_kind, arrow_right_kind, seq, unique, find_repeated, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key, constants, shapes, gviz_shapes, named_colors, is_hook_rejection, is_hook_complex_result, abstract_hook_step, state_style_condense, FslDirections };
|
|
1191
|
+
export { version, build_time, transfer_state_properties, Machine, deserialize, make, wrap_parse as parse, compile, sm, from, arrow_direction, arrow_left_kind, arrow_right_kind, seq, unique, find_repeated, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key, constants, shapes, gviz_shapes, named_colors, is_hook_rejection, is_hook_complex_result, abstract_hook_step, state_style_condense, FslDirections };
|
package/dist/es6/jssm.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { reduce as reduce_to_639 } from 'reduce-to-639-1';
|
|
3
3
|
import { circular_buffer } from 'circular_buffer_js';
|
|
4
4
|
import { FslDirections } from './jssm_types';
|
|
5
|
+
import { arrow_direction, arrow_left_kind, arrow_right_kind } from './jssm_arrow';
|
|
5
6
|
import { base_theme } from './themes/jssm_base_stylesheet';
|
|
6
7
|
import { default_theme } from './themes/jssm_theme_default';
|
|
7
8
|
import { modern_theme } from './themes/jssm_theme_modern';
|
|
@@ -18,193 +19,8 @@ import { seq, unique, find_repeated, weighted_rand_select, weighted_sample_selec
|
|
|
18
19
|
import * as constants from './jssm_constants';
|
|
19
20
|
const { shapes, gviz_shapes, named_colors } = constants;
|
|
20
21
|
import { parse } from './fsl_parser';
|
|
21
|
-
import { version } from './version'; // replaced from package.js in build
|
|
22
|
+
import { version, build_time } from './version'; // replaced from package.js in build
|
|
22
23
|
import { JssmError } from './jssm_error';
|
|
23
|
-
/* eslint-disable complexity */
|
|
24
|
-
/*********
|
|
25
|
-
*
|
|
26
|
-
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
27
|
-
*
|
|
28
|
-
* ```typescript
|
|
29
|
-
* import { arrow_direction } from 'jssm';
|
|
30
|
-
*
|
|
31
|
-
* arrow_direction('->'); // 'right'
|
|
32
|
-
* arrow_direction('<~=>'); // 'both'
|
|
33
|
-
* ```
|
|
34
|
-
*
|
|
35
|
-
* @param arrow The arrow to be evaluated
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
function arrow_direction(arrow) {
|
|
39
|
-
switch (String(arrow)) {
|
|
40
|
-
case '->':
|
|
41
|
-
case '→':
|
|
42
|
-
case '=>':
|
|
43
|
-
case '⇒':
|
|
44
|
-
case '~>':
|
|
45
|
-
case '↛':
|
|
46
|
-
return 'right';
|
|
47
|
-
case '<-':
|
|
48
|
-
case '←':
|
|
49
|
-
case '<=':
|
|
50
|
-
case '⇐':
|
|
51
|
-
case '<~':
|
|
52
|
-
case '↚':
|
|
53
|
-
return 'left';
|
|
54
|
-
case '<->':
|
|
55
|
-
case '↔':
|
|
56
|
-
case '<-=>':
|
|
57
|
-
case '←⇒':
|
|
58
|
-
case '←=>':
|
|
59
|
-
case '<-⇒':
|
|
60
|
-
case '<-~>':
|
|
61
|
-
case '←↛':
|
|
62
|
-
case '←~>':
|
|
63
|
-
case '<-↛':
|
|
64
|
-
case '<=>':
|
|
65
|
-
case '⇔':
|
|
66
|
-
case '<=->':
|
|
67
|
-
case '⇐→':
|
|
68
|
-
case '⇐->':
|
|
69
|
-
case '<=→':
|
|
70
|
-
case '<=~>':
|
|
71
|
-
case '⇐↛':
|
|
72
|
-
case '⇐~>':
|
|
73
|
-
case '<=↛':
|
|
74
|
-
case '<~>':
|
|
75
|
-
case '↮':
|
|
76
|
-
case '<~->':
|
|
77
|
-
case '↚→':
|
|
78
|
-
case '↚->':
|
|
79
|
-
case '<~→':
|
|
80
|
-
case '<~=>':
|
|
81
|
-
case '↚⇒':
|
|
82
|
-
case '↚=>':
|
|
83
|
-
case '<~⇒':
|
|
84
|
-
return 'both';
|
|
85
|
-
default:
|
|
86
|
-
throw new JssmError(undefined, `arrow_direction: unknown arrow type ${arrow}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/* eslint-enable complexity */
|
|
90
|
-
/* eslint-disable complexity */
|
|
91
|
-
/*********
|
|
92
|
-
*
|
|
93
|
-
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
94
|
-
*
|
|
95
|
-
* ```typescript
|
|
96
|
-
* import { arrow_left_kind } from 'jssm';
|
|
97
|
-
*
|
|
98
|
-
* arrow_left_kind('<-'); // 'legal'
|
|
99
|
-
* arrow_left_kind('<='); // 'main'
|
|
100
|
-
* arrow_left_kind('<~'); // 'forced'
|
|
101
|
-
* arrow_left_kind('<->'); // 'legal'
|
|
102
|
-
* arrow_left_kind('->'); // 'none'
|
|
103
|
-
* ```
|
|
104
|
-
*
|
|
105
|
-
* @param arrow The arrow to be evaluated
|
|
106
|
-
*
|
|
107
|
-
*/
|
|
108
|
-
function arrow_left_kind(arrow) {
|
|
109
|
-
switch (String(arrow)) {
|
|
110
|
-
case '->':
|
|
111
|
-
case '→':
|
|
112
|
-
case '=>':
|
|
113
|
-
case '⇒':
|
|
114
|
-
case '~>':
|
|
115
|
-
case '↛':
|
|
116
|
-
return 'none';
|
|
117
|
-
case '<-':
|
|
118
|
-
case '←':
|
|
119
|
-
case '<->':
|
|
120
|
-
case '↔':
|
|
121
|
-
case '<-=>':
|
|
122
|
-
case '←⇒':
|
|
123
|
-
case '<-~>':
|
|
124
|
-
case '←↛':
|
|
125
|
-
return 'legal';
|
|
126
|
-
case '<=':
|
|
127
|
-
case '⇐':
|
|
128
|
-
case '<=>':
|
|
129
|
-
case '⇔':
|
|
130
|
-
case '<=->':
|
|
131
|
-
case '⇐→':
|
|
132
|
-
case '<=~>':
|
|
133
|
-
case '⇐↛':
|
|
134
|
-
return 'main';
|
|
135
|
-
case '<~':
|
|
136
|
-
case '↚':
|
|
137
|
-
case '<~>':
|
|
138
|
-
case '↮':
|
|
139
|
-
case '<~->':
|
|
140
|
-
case '↚→':
|
|
141
|
-
case '<~=>':
|
|
142
|
-
case '↚⇒':
|
|
143
|
-
return 'forced';
|
|
144
|
-
default:
|
|
145
|
-
throw new JssmError(undefined, `arrow_direction: unknown arrow type ${arrow}`);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
/* eslint-enable complexity */
|
|
149
|
-
/* eslint-disable complexity */
|
|
150
|
-
/*********
|
|
151
|
-
*
|
|
152
|
-
* Return the direction of an arrow - `right`, `left`, or `both`.
|
|
153
|
-
*
|
|
154
|
-
* ```typescript
|
|
155
|
-
* import { arrow_left_kind } from 'jssm';
|
|
156
|
-
*
|
|
157
|
-
* arrow_left_kind('->'); // 'legal'
|
|
158
|
-
* arrow_left_kind('=>'); // 'main'
|
|
159
|
-
* arrow_left_kind('~>'); // 'forced'
|
|
160
|
-
* arrow_left_kind('<->'); // 'legal'
|
|
161
|
-
* arrow_left_kind('<-'); // 'none'
|
|
162
|
-
* ```
|
|
163
|
-
*
|
|
164
|
-
* @param arrow The arrow to be evaluated
|
|
165
|
-
*
|
|
166
|
-
*/
|
|
167
|
-
function arrow_right_kind(arrow) {
|
|
168
|
-
switch (String(arrow)) {
|
|
169
|
-
case '<-':
|
|
170
|
-
case '←':
|
|
171
|
-
case '<=':
|
|
172
|
-
case '⇐':
|
|
173
|
-
case '<~':
|
|
174
|
-
case '↚':
|
|
175
|
-
return 'none';
|
|
176
|
-
case '->':
|
|
177
|
-
case '→':
|
|
178
|
-
case '<->':
|
|
179
|
-
case '↔':
|
|
180
|
-
case '<=->':
|
|
181
|
-
case '⇐→':
|
|
182
|
-
case '<~->':
|
|
183
|
-
case '↚→':
|
|
184
|
-
return 'legal';
|
|
185
|
-
case '=>':
|
|
186
|
-
case '⇒':
|
|
187
|
-
case '<=>':
|
|
188
|
-
case '⇔':
|
|
189
|
-
case '<-=>':
|
|
190
|
-
case '←⇒':
|
|
191
|
-
case '<~=>':
|
|
192
|
-
case '↚⇒':
|
|
193
|
-
return 'main';
|
|
194
|
-
case '~>':
|
|
195
|
-
case '↛':
|
|
196
|
-
case '<~>':
|
|
197
|
-
case '↮':
|
|
198
|
-
case '<-~>':
|
|
199
|
-
case '←↛':
|
|
200
|
-
case '<=~>':
|
|
201
|
-
case '⇐↛':
|
|
202
|
-
return 'forced';
|
|
203
|
-
default:
|
|
204
|
-
throw new JssmError(undefined, `arrow_direction: unknown arrow type ${arrow}`);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
/* eslint-enable complexity */
|
|
208
24
|
/*********
|
|
209
25
|
*
|
|
210
26
|
* Internal method meant to perform factory assembly of an edge. Not meant for
|
|
@@ -217,7 +33,9 @@ function arrow_right_kind(arrow) {
|
|
|
217
33
|
*/
|
|
218
34
|
// TODO add at-param to docblock
|
|
219
35
|
function makeTransition(this_se, from, to, isRight, _wasList, _wasIndex) {
|
|
220
|
-
const kind = isRight
|
|
36
|
+
const kind = isRight
|
|
37
|
+
? arrow_right_kind(this_se.kind)
|
|
38
|
+
: arrow_left_kind(this_se.kind), edge = {
|
|
221
39
|
from,
|
|
222
40
|
to,
|
|
223
41
|
kind,
|
|
@@ -877,6 +695,7 @@ class Machine {
|
|
|
877
695
|
});
|
|
878
696
|
}
|
|
879
697
|
// done building, do checks
|
|
698
|
+
// assert all props are valid
|
|
880
699
|
this._state_properties.forEach((_value, key) => {
|
|
881
700
|
const inside = JSON.parse(key);
|
|
882
701
|
if (Array.isArray(inside)) {
|
|
@@ -891,6 +710,7 @@ class Machine {
|
|
|
891
710
|
}
|
|
892
711
|
}
|
|
893
712
|
});
|
|
713
|
+
// assert all required properties are serviced
|
|
894
714
|
this._required_properties.forEach(dp_key => {
|
|
895
715
|
if (this._default_properties.has(dp_key)) {
|
|
896
716
|
throw new JssmError(this, `The property "${dp_key}" is required, but also has a default; these conflict`);
|
|
@@ -902,6 +722,20 @@ class Machine {
|
|
|
902
722
|
}
|
|
903
723
|
});
|
|
904
724
|
});
|
|
725
|
+
// assert chosen starting state is valid
|
|
726
|
+
if (!(this.has_state(this.state()))) {
|
|
727
|
+
throw new JssmError(this, `Current start state "${this.state()}" does not exist`);
|
|
728
|
+
}
|
|
729
|
+
// assert all starting states are valid
|
|
730
|
+
start_states.forEach((ss, ssi) => {
|
|
731
|
+
if (!(this.has_state(ss))) {
|
|
732
|
+
throw new JssmError(this, `Start state ${ssi} "${ss}" does not exist`);
|
|
733
|
+
}
|
|
734
|
+
});
|
|
735
|
+
// assert chosen starting state is valid
|
|
736
|
+
if (!(start_states.length === this._start_states.size)) {
|
|
737
|
+
throw new JssmError(this, `Start states cannot be repeated`);
|
|
738
|
+
}
|
|
905
739
|
}
|
|
906
740
|
/********
|
|
907
741
|
*
|
|
@@ -1421,6 +1255,9 @@ class Machine {
|
|
|
1421
1255
|
list_actions() {
|
|
1422
1256
|
return Array.from(this._actions.keys());
|
|
1423
1257
|
}
|
|
1258
|
+
get uses_actions() {
|
|
1259
|
+
return Array.from(this._actions.keys()).length > 0;
|
|
1260
|
+
}
|
|
1424
1261
|
all_themes() {
|
|
1425
1262
|
return [...theme_mapping.keys()]; // constructor sets this to "default" otherwise
|
|
1426
1263
|
}
|
|
@@ -2759,7 +2596,7 @@ function deserialize(machine_string, ser) {
|
|
|
2759
2596
|
ser.history.forEach(history_item => machine._history.push(history_item));
|
|
2760
2597
|
return machine;
|
|
2761
2598
|
}
|
|
2762
|
-
export { version, transfer_state_properties, Machine, deserialize, make, wrap_parse as parse, compile, sm, from, arrow_direction, arrow_left_kind, arrow_right_kind,
|
|
2599
|
+
export { version, build_time, transfer_state_properties, Machine, deserialize, make, wrap_parse as parse, compile, sm, from, arrow_direction, arrow_left_kind, arrow_right_kind,
|
|
2763
2600
|
// WHARGARBL TODO these should be exported to a utility library
|
|
2764
2601
|
seq, unique, find_repeated, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key, constants, shapes, gviz_shapes, named_colors, is_hook_rejection, is_hook_complex_result, abstract_hook_step, state_style_condense, FslDirections
|
|
2765
2602
|
// FslThemes
|