jssm 5.73.1 → 5.75.1
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/.clocignore +1 -0
- package/CHANGELOG.md +37 -47
- package/README.md +4 -2
- package/dist/es6/jssm.d.ts +27 -0
- package/dist/es6/jssm.js +187 -11
- package/dist/es6/jssm_types.d.ts +57 -5
- package/dist/es6/version.js +1 -1
- package/dist/jssm.es5.cjs.js +1 -1
- package/dist/jssm.es5.iife.js +1 -1
- package/jest-stoch.config.js +11 -5
- package/jssm.d.ts +27 -0
- package/jssm_types.d.ts +57 -5
- package/package.json +13 -15
package/.clocignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
./src/ts/jssm-dot.ts
|
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
|
+
949 merges; 125 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__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__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,18 +22,13 @@ Published tags:
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
## [Untagged] - 7/3/2022 11:42:38 AM
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Commit [39f9a8671a45e1e9a903289431bc3bc7a1e292e5](https://github.com/StoneCypher/jssm/commit/39f9a8671a45e1e9a903289431bc3bc7a1e292e5)
|
|
27
|
+
Commit [840dcb95c04c49e04e92cd5564a09b18cd755ea4](https://github.com/StoneCypher/jssm/commit/840dcb95c04c49e04e92cd5564a09b18cd755ea4)
|
|
30
28
|
|
|
31
29
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
32
30
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* Merge pull request #504 from StoneCypher/AddHistoryAndCircularBuffer
|
|
36
|
-
* Working history, fixes StoneCypher/fsl#950, fixes StoneCypher/fsl#951,fixes StoneCypher/fsl#948, fixes StoneCypher/fsl#949, fixes StoneCypher/fsl#947, fixes StoneCypher/fsl#946, fixes StoneCypher/fsl#203
|
|
31
|
+
* Force this directory to exist with a meaningles file that defies the gitignore, then roll version back because apparently .0 didn't get released
|
|
37
32
|
|
|
38
33
|
|
|
39
34
|
|
|
@@ -42,13 +37,13 @@ Merges [f1a61f1, c494012]
|
|
|
42
37
|
|
|
43
38
|
|
|
44
39
|
|
|
45
|
-
## [Untagged] -
|
|
40
|
+
## [Untagged] - 7/3/2022 11:41:29 AM
|
|
46
41
|
|
|
47
|
-
Commit [
|
|
42
|
+
Commit [7bf27e64e929c449d613d461fd1de1ceee4e8183](https://github.com/StoneCypher/jssm/commit/7bf27e64e929c449d613d461fd1de1ceee4e8183)
|
|
48
43
|
|
|
49
44
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
50
45
|
|
|
51
|
-
*
|
|
46
|
+
* Force this directory to exist with a meaningles file that defies the gitignore, then roll version back because apparently .0 didn't get released
|
|
52
47
|
|
|
53
48
|
|
|
54
49
|
|
|
@@ -57,18 +52,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
57
52
|
|
|
58
53
|
|
|
59
54
|
|
|
60
|
-
|
|
55
|
+
## [Untagged] - 7/3/2022 11:41:18 AM
|
|
61
56
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
Commit [f1a61f1e967df66b87f2b6b39f75636659f496e9](https://github.com/StoneCypher/jssm/commit/f1a61f1e967df66b87f2b6b39f75636659f496e9)
|
|
57
|
+
Commit [bed41d9f0a3d18c7d7cfc4b28e96e92702b854eb](https://github.com/StoneCypher/jssm/commit/bed41d9f0a3d18c7d7cfc4b28e96e92702b854eb)
|
|
65
58
|
|
|
66
59
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
67
60
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
* Merge pull request #503 from StoneCypher/AttemptToCaptureTestResults
|
|
71
|
-
* Captures test results, fixes StoneCypher/fsl#944, tools readme, fixes StoneCypher/fsl#736
|
|
61
|
+
* Force this directory to exist with a meaningles file that defies the gitignore, then roll version back because apparently .0 didn't get released
|
|
72
62
|
|
|
73
63
|
|
|
74
64
|
|
|
@@ -77,13 +67,13 @@ Merges [dc3096f, 751c5fd]
|
|
|
77
67
|
|
|
78
68
|
|
|
79
69
|
|
|
80
|
-
## [Untagged] -
|
|
70
|
+
## [Untagged] - 7/3/2022 10:40:28 AM
|
|
81
71
|
|
|
82
|
-
Commit [
|
|
72
|
+
Commit [2526a1be2684b58e56fa44d28090a756e330b495](https://github.com/StoneCypher/jssm/commit/2526a1be2684b58e56fa44d28090a756e330b495)
|
|
83
73
|
|
|
84
74
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
85
75
|
|
|
86
|
-
*
|
|
76
|
+
* Parsing of JSON part done.
|
|
87
77
|
|
|
88
78
|
|
|
89
79
|
|
|
@@ -92,18 +82,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
92
82
|
|
|
93
83
|
|
|
94
84
|
|
|
95
|
-
|
|
85
|
+
## [Untagged] - 7/3/2022 10:08:02 AM
|
|
96
86
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
Commit [dc3096f064e58ea616899b12d3d25c973f326c1c](https://github.com/StoneCypher/jssm/commit/dc3096f064e58ea616899b12d3d25c973f326c1c)
|
|
87
|
+
Commit [99ef3d9866ff6830528005c9196456e2b766dc09](https://github.com/StoneCypher/jssm/commit/99ef3d9866ff6830528005c9196456e2b766dc09)
|
|
100
88
|
|
|
101
89
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
102
90
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
* Merge pull request #502 from StoneCypher/AllowHooksToChangeData
|
|
106
|
-
* Allow hooks to change data
|
|
91
|
+
* added cloc, turned to disk, made a cute little reporter, fixes StoneCypher/fsl#985
|
|
107
92
|
|
|
108
93
|
|
|
109
94
|
|
|
@@ -112,13 +97,13 @@ Merges [a184324, 8762d17]
|
|
|
112
97
|
|
|
113
98
|
|
|
114
99
|
|
|
115
|
-
## [Untagged] -
|
|
100
|
+
## [Untagged] - 7/3/2022 10:08:02 AM
|
|
116
101
|
|
|
117
|
-
Commit [
|
|
102
|
+
Commit [986fd0dd50adcb739f54e4fa3712628c94004505](https://github.com/StoneCypher/jssm/commit/986fd0dd50adcb739f54e4fa3712628c94004505)
|
|
118
103
|
|
|
119
104
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
120
105
|
|
|
121
|
-
*
|
|
106
|
+
* added cloc, turned to disk, made a cute little reporter, fixes StoneCypher/fsl#985
|
|
122
107
|
|
|
123
108
|
|
|
124
109
|
|
|
@@ -127,13 +112,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
127
112
|
|
|
128
113
|
|
|
129
114
|
|
|
130
|
-
## [Untagged] -
|
|
115
|
+
## [Untagged] - 7/3/2022 10:08:02 AM
|
|
131
116
|
|
|
132
|
-
Commit [
|
|
117
|
+
Commit [0c34b68d5a5d6666895965e5f8b4b9a9dadfe397](https://github.com/StoneCypher/jssm/commit/0c34b68d5a5d6666895965e5f8b4b9a9dadfe397)
|
|
133
118
|
|
|
134
119
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
135
120
|
|
|
136
|
-
*
|
|
121
|
+
* added cloc, turned to disk, made a cute little reporter, fixes StoneCypher/fsl#985
|
|
137
122
|
|
|
138
123
|
|
|
139
124
|
|
|
@@ -142,13 +127,18 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
142
127
|
|
|
143
128
|
|
|
144
129
|
|
|
145
|
-
|
|
130
|
+
<a name="5__74__0" />
|
|
146
131
|
|
|
147
|
-
|
|
132
|
+
## [5.74.0] - 7/2/2022 11:38:27 AM
|
|
133
|
+
|
|
134
|
+
Commit [3940ac2b520c843153af11b2c67b0e8915ede619](https://github.com/StoneCypher/jssm/commit/3940ac2b520c843153af11b2c67b0e8915ede619)
|
|
148
135
|
|
|
149
136
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
150
137
|
|
|
151
|
-
|
|
138
|
+
Merges [89b9c2c, 9543655]
|
|
139
|
+
|
|
140
|
+
* Merge pull request #505 from StoneCypher/PostHooks
|
|
141
|
+
* Post hooks Fixes StoneCypher/fsl#897, StoneCypher/fsl#898, StoneCypher/fsl#899, StoneCypher/fsl#900, StoneCypher/fsl#901, StoneCypher/fsl#902, StoneCypher/fsl#903, StoneCypher/fsl#904, StoneCypher/fsl#905, StoneCypher/fsl#906, StoneCypher/fsl#959, StoneCypher/fsl#960, StoneCypher/fsl#961, StoneCypher/fsl#962, StoneCypher/fsl#963, StoneCypher/fsl#964, StoneCypher/fsl#965, StoneCypher/fsl#966, StoneCypher/fsl#967, StoneCypher/fsl#968, StoneCypher/fsl#969, StoneCypher/fsl#970, StoneCypher/fsl#971, StoneCypher/fsl#972, StoneCypher/fsl#973, StoneCypher/fsl#974, StoneCypher/fsl#976, StoneCypher/fsl#975, StoneCypher/fsl#977
|
|
152
142
|
|
|
153
143
|
|
|
154
144
|
|
|
@@ -157,13 +147,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
157
147
|
|
|
158
148
|
|
|
159
149
|
|
|
160
|
-
## [Untagged] -
|
|
150
|
+
## [Untagged] - 7/2/2022 11:35:19 AM
|
|
161
151
|
|
|
162
|
-
Commit [
|
|
152
|
+
Commit [95436551d075df2f4bb2c4baea55d9f1132e90a6](https://github.com/StoneCypher/jssm/commit/95436551d075df2f4bb2c4baea55d9f1132e90a6)
|
|
163
153
|
|
|
164
154
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
165
155
|
|
|
166
|
-
*
|
|
156
|
+
* Basic posthooks complete. Fixes StoneCypher/fsl#897, StoneCypher/fsl#898, StoneCypher/fsl#899, StoneCypher/fsl#900, StoneCypher/fsl#901, StoneCypher/fsl#902, StoneCypher/fsl#903, StoneCypher/fsl#904, StoneCypher/fsl#905, StoneCypher/fsl#906, StoneCypher/fsl#959, StoneCypher/fsl#960, StoneCypher/fsl#961, StoneCypher/fsl#962, StoneCypher/fsl#963, StoneCypher/fsl#964, StoneCypher/fsl#965, StoneCypher/fsl#966, StoneCypher/fsl#967, StoneCypher/fsl#968, StoneCypher/fsl#969, StoneCypher/fsl#970, StoneCypher/fsl#971, StoneCypher/fsl#972, StoneCypher/fsl#973, StoneCypher/fsl#974, StoneCypher/fsl#976, StoneCypher/fsl#975, StoneCypher/fsl#977
|
|
167
157
|
|
|
168
158
|
|
|
169
159
|
|
|
@@ -172,10 +162,10 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
172
162
|
|
|
173
163
|
|
|
174
164
|
|
|
175
|
-
## [Untagged] -
|
|
165
|
+
## [Untagged] - 7/2/2022 11:04:51 AM
|
|
176
166
|
|
|
177
|
-
Commit [
|
|
167
|
+
Commit [0222ce4624e1463b875bbb68292a39b438f267a3](https://github.com/StoneCypher/jssm/commit/0222ce4624e1463b875bbb68292a39b438f267a3)
|
|
178
168
|
|
|
179
169
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
180
170
|
|
|
181
|
-
*
|
|
171
|
+
* Nicely tied up, basic set_hook posthooks, all simply tested
|
package/README.md
CHANGED
|
@@ -18,17 +18,19 @@ 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.75.1 at 7/3/2022, 1:24:04 PM
|
|
22
22
|
|
|
23
23
|
-->
|
|
24
24
|
# jssm
|
|
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
|
|
28
|
-
share online. Easy to embed.
|
|
28
|
+
share online. Easy to embed.
|
|
29
29
|
|
|
30
30
|
Readable, useful state machines as one-liner strings.
|
|
31
31
|
|
|
32
|
+
***4,655 tests*** run 5,546 times. 4,646 specs with 100.0% coverage, 9 fuzz tests with 5.3% coverage. With 1,712 lines, that's about 2.7 tests per line, or 3.2 generated tests per line.
|
|
33
|
+
|
|
32
34
|
***Meet your new state machine library.***
|
|
33
35
|
|
|
34
36
|
# <a href="https://stonecypher.github.io/jssm-viz-demo/graph_explorer.html" target="_blank" rel="noopener noreferrer">TRY THE LIVE EDITOR</a>
|
package/dist/es6/jssm.d.ts
CHANGED
|
@@ -234,6 +234,23 @@ declare class Machine<mDT> {
|
|
|
234
234
|
_main_transition_hook: HookHandler<mDT> | undefined;
|
|
235
235
|
_forced_transition_hook: HookHandler<mDT> | undefined;
|
|
236
236
|
_any_transition_hook: HookHandler<mDT> | undefined;
|
|
237
|
+
_has_post_hooks: boolean;
|
|
238
|
+
_has_post_basic_hooks: boolean;
|
|
239
|
+
_has_post_named_hooks: boolean;
|
|
240
|
+
_has_post_entry_hooks: boolean;
|
|
241
|
+
_has_post_exit_hooks: boolean;
|
|
242
|
+
_has_post_global_action_hooks: boolean;
|
|
243
|
+
_has_post_transition_hooks: boolean;
|
|
244
|
+
_post_hooks: Map<string, HookHandler<mDT>>;
|
|
245
|
+
_post_named_hooks: Map<string, HookHandler<mDT>>;
|
|
246
|
+
_post_entry_hooks: Map<string, HookHandler<mDT>>;
|
|
247
|
+
_post_exit_hooks: Map<string, HookHandler<mDT>>;
|
|
248
|
+
_post_global_action_hooks: Map<string, HookHandler<mDT>>;
|
|
249
|
+
_post_any_action_hook: HookHandler<mDT> | undefined;
|
|
250
|
+
_post_standard_transition_hook: HookHandler<mDT> | undefined;
|
|
251
|
+
_post_main_transition_hook: HookHandler<mDT> | undefined;
|
|
252
|
+
_post_forced_transition_hook: HookHandler<mDT> | undefined;
|
|
253
|
+
_post_any_transition_hook: HookHandler<mDT> | undefined;
|
|
237
254
|
_history: circular_buffer<[StateType, mDT]>;
|
|
238
255
|
_history_length: number;
|
|
239
256
|
constructor({ start_states, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, theme, flow, graph_layout, instance_name, history, data }: JssmGenericConfig<mDT>);
|
|
@@ -552,6 +569,16 @@ declare class Machine<mDT> {
|
|
|
552
569
|
hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
553
570
|
hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
554
571
|
hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
572
|
+
post_hook(from: string, to: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
573
|
+
post_hook_action(from: string, to: string, action: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
574
|
+
post_hook_global_action(action: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
575
|
+
post_hook_any_action(handler: HookHandler<mDT>): Machine<mDT>;
|
|
576
|
+
post_hook_standard_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
577
|
+
post_hook_main_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
578
|
+
post_hook_forced_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
579
|
+
post_hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>;
|
|
580
|
+
post_hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
581
|
+
post_hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>;
|
|
555
582
|
edges_between(from: string, to: string): JssmTransition<mDT>[];
|
|
556
583
|
transition_impl(newStateOrAction: StateType, newData: mDT | undefined, wasForced: boolean, wasAction: boolean): boolean;
|
|
557
584
|
/*********
|
package/dist/es6/jssm.js
CHANGED
|
@@ -570,7 +570,7 @@ class Machine {
|
|
|
570
570
|
this._has_exit_hooks = false;
|
|
571
571
|
this._has_global_action_hooks = false;
|
|
572
572
|
this._has_transition_hooks = true;
|
|
573
|
-
// no need for a boolean
|
|
573
|
+
// no need for a boolean for single hooks, just test for undefinedness
|
|
574
574
|
this._hooks = new Map();
|
|
575
575
|
this._named_hooks = new Map();
|
|
576
576
|
this._entry_hooks = new Map();
|
|
@@ -581,7 +581,24 @@ class Machine {
|
|
|
581
581
|
this._main_transition_hook = undefined;
|
|
582
582
|
this._forced_transition_hook = undefined;
|
|
583
583
|
this._any_transition_hook = undefined;
|
|
584
|
-
this.
|
|
584
|
+
this._has_post_hooks = false;
|
|
585
|
+
this._has_post_basic_hooks = false;
|
|
586
|
+
this._has_post_named_hooks = false;
|
|
587
|
+
this._has_post_entry_hooks = false;
|
|
588
|
+
this._has_post_exit_hooks = false;
|
|
589
|
+
this._has_post_global_action_hooks = false;
|
|
590
|
+
this._has_post_transition_hooks = true;
|
|
591
|
+
// no need for a boolean for single hooks, just test for undefinedness
|
|
592
|
+
this._post_hooks = new Map();
|
|
593
|
+
this._post_named_hooks = new Map();
|
|
594
|
+
this._post_entry_hooks = new Map();
|
|
595
|
+
this._post_exit_hooks = new Map();
|
|
596
|
+
this._post_global_action_hooks = new Map();
|
|
597
|
+
this._post_any_action_hook = undefined;
|
|
598
|
+
this._post_standard_transition_hook = undefined;
|
|
599
|
+
this._post_main_transition_hook = undefined;
|
|
600
|
+
this._post_forced_transition_hook = undefined;
|
|
601
|
+
this._post_any_transition_hook = undefined;
|
|
585
602
|
this._data = data;
|
|
586
603
|
this._history_length = history || 0;
|
|
587
604
|
this._history = new circular_buffer(this._history_length);
|
|
@@ -1252,6 +1269,54 @@ class Machine {
|
|
|
1252
1269
|
this._has_hooks = true;
|
|
1253
1270
|
this._has_exit_hooks = true;
|
|
1254
1271
|
break;
|
|
1272
|
+
case 'post hook':
|
|
1273
|
+
this._post_hooks.set(hook_name(HookDesc.from, HookDesc.to), HookDesc.handler);
|
|
1274
|
+
this._has_post_hooks = true;
|
|
1275
|
+
this._has_post_basic_hooks = true;
|
|
1276
|
+
break;
|
|
1277
|
+
case 'post named':
|
|
1278
|
+
this._post_named_hooks.set(named_hook_name(HookDesc.from, HookDesc.to, HookDesc.action), HookDesc.handler);
|
|
1279
|
+
this._has_post_hooks = true;
|
|
1280
|
+
this._has_post_named_hooks = true;
|
|
1281
|
+
break;
|
|
1282
|
+
case 'post global action':
|
|
1283
|
+
this._post_global_action_hooks.set(HookDesc.action, HookDesc.handler);
|
|
1284
|
+
this._has_post_hooks = true;
|
|
1285
|
+
this._has_post_global_action_hooks = true;
|
|
1286
|
+
break;
|
|
1287
|
+
case 'post any action':
|
|
1288
|
+
this._post_any_action_hook = HookDesc.handler;
|
|
1289
|
+
this._has_post_hooks = true;
|
|
1290
|
+
break;
|
|
1291
|
+
case 'post standard transition':
|
|
1292
|
+
this._post_standard_transition_hook = HookDesc.handler;
|
|
1293
|
+
this._has_post_transition_hooks = true;
|
|
1294
|
+
this._has_post_hooks = true;
|
|
1295
|
+
break;
|
|
1296
|
+
case 'post main transition':
|
|
1297
|
+
this._post_main_transition_hook = HookDesc.handler;
|
|
1298
|
+
this._has_post_transition_hooks = true;
|
|
1299
|
+
this._has_post_hooks = true;
|
|
1300
|
+
break;
|
|
1301
|
+
case 'post forced transition':
|
|
1302
|
+
this._post_forced_transition_hook = HookDesc.handler;
|
|
1303
|
+
this._has_post_transition_hooks = true;
|
|
1304
|
+
this._has_post_hooks = true;
|
|
1305
|
+
break;
|
|
1306
|
+
case 'post any transition':
|
|
1307
|
+
this._post_any_transition_hook = HookDesc.handler;
|
|
1308
|
+
this._has_post_hooks = true;
|
|
1309
|
+
break;
|
|
1310
|
+
case 'post entry':
|
|
1311
|
+
this._post_entry_hooks.set(HookDesc.to, HookDesc.handler);
|
|
1312
|
+
this._has_post_entry_hooks = true;
|
|
1313
|
+
this._has_post_hooks = true;
|
|
1314
|
+
break;
|
|
1315
|
+
case 'post exit':
|
|
1316
|
+
this._post_exit_hooks.set(HookDesc.from, HookDesc.handler);
|
|
1317
|
+
this._has_post_exit_hooks = true;
|
|
1318
|
+
this._has_post_hooks = true;
|
|
1319
|
+
break;
|
|
1255
1320
|
default:
|
|
1256
1321
|
throw new JssmError(this, `Unknown hook type ${HookDesc.kind}, should be impossible`);
|
|
1257
1322
|
}
|
|
@@ -1296,6 +1361,46 @@ class Machine {
|
|
|
1296
1361
|
this.set_hook({ kind: 'exit', from, handler });
|
|
1297
1362
|
return this;
|
|
1298
1363
|
}
|
|
1364
|
+
post_hook(from, to, handler) {
|
|
1365
|
+
this.set_hook({ kind: 'post hook', from, to, handler });
|
|
1366
|
+
return this;
|
|
1367
|
+
}
|
|
1368
|
+
post_hook_action(from, to, action, handler) {
|
|
1369
|
+
this.set_hook({ kind: 'post named', from, to, action, handler });
|
|
1370
|
+
return this;
|
|
1371
|
+
}
|
|
1372
|
+
post_hook_global_action(action, handler) {
|
|
1373
|
+
this.set_hook({ kind: 'post global action', action, handler });
|
|
1374
|
+
return this;
|
|
1375
|
+
}
|
|
1376
|
+
post_hook_any_action(handler) {
|
|
1377
|
+
this.set_hook({ kind: 'post any action', handler });
|
|
1378
|
+
return this;
|
|
1379
|
+
}
|
|
1380
|
+
post_hook_standard_transition(handler) {
|
|
1381
|
+
this.set_hook({ kind: 'post standard transition', handler });
|
|
1382
|
+
return this;
|
|
1383
|
+
}
|
|
1384
|
+
post_hook_main_transition(handler) {
|
|
1385
|
+
this.set_hook({ kind: 'post main transition', handler });
|
|
1386
|
+
return this;
|
|
1387
|
+
}
|
|
1388
|
+
post_hook_forced_transition(handler) {
|
|
1389
|
+
this.set_hook({ kind: 'post forced transition', handler });
|
|
1390
|
+
return this;
|
|
1391
|
+
}
|
|
1392
|
+
post_hook_any_transition(handler) {
|
|
1393
|
+
this.set_hook({ kind: 'post any transition', handler });
|
|
1394
|
+
return this;
|
|
1395
|
+
}
|
|
1396
|
+
post_hook_entry(to, handler) {
|
|
1397
|
+
this.set_hook({ kind: 'post entry', to, handler });
|
|
1398
|
+
return this;
|
|
1399
|
+
}
|
|
1400
|
+
post_hook_exit(from, handler) {
|
|
1401
|
+
this.set_hook({ kind: 'post exit', from, handler });
|
|
1402
|
+
return this;
|
|
1403
|
+
}
|
|
1299
1404
|
// remove_hook(HookDesc: HookDescription) {
|
|
1300
1405
|
// throw new JssmError(this, 'TODO: Should remove hook here');
|
|
1301
1406
|
// }
|
|
@@ -1331,15 +1436,16 @@ class Machine {
|
|
|
1331
1436
|
newState = newStateOrAction;
|
|
1332
1437
|
}
|
|
1333
1438
|
}
|
|
1439
|
+
const hook_args = {
|
|
1440
|
+
data: this._data,
|
|
1441
|
+
action: fromAction,
|
|
1442
|
+
from: this._state,
|
|
1443
|
+
to: newState,
|
|
1444
|
+
forced: wasForced,
|
|
1445
|
+
trans_type
|
|
1446
|
+
};
|
|
1334
1447
|
if (valid) {
|
|
1335
1448
|
if (this._has_hooks) {
|
|
1336
|
-
const hook_args = {
|
|
1337
|
-
data: this._data,
|
|
1338
|
-
action: fromAction,
|
|
1339
|
-
from: this._state,
|
|
1340
|
-
to: newState,
|
|
1341
|
-
forced: wasForced
|
|
1342
|
-
};
|
|
1343
1449
|
function update_fields(res) {
|
|
1344
1450
|
if (res.hasOwnProperty('data')) {
|
|
1345
1451
|
hook_args.data = res.data;
|
|
@@ -1436,7 +1542,8 @@ class Machine {
|
|
|
1436
1542
|
if (data_changed) {
|
|
1437
1543
|
this._data = hook_args.data;
|
|
1438
1544
|
}
|
|
1439
|
-
return
|
|
1545
|
+
// success fallthrough to posthooks; intentionally no return here
|
|
1546
|
+
// look for "posthooks begin here"
|
|
1440
1547
|
// or without hooks
|
|
1441
1548
|
}
|
|
1442
1549
|
else {
|
|
@@ -1444,13 +1551,82 @@ class Machine {
|
|
|
1444
1551
|
this._history.shove([this._state, this._data]);
|
|
1445
1552
|
}
|
|
1446
1553
|
this._state = newState;
|
|
1447
|
-
return
|
|
1554
|
+
// success fallthrough to posthooks; intentionally no return here
|
|
1555
|
+
// look for "posthooks begin here"
|
|
1448
1556
|
}
|
|
1449
1557
|
// not valid
|
|
1450
1558
|
}
|
|
1451
1559
|
else {
|
|
1452
1560
|
return false;
|
|
1453
1561
|
}
|
|
1562
|
+
// posthooks begin here
|
|
1563
|
+
if (this._has_post_hooks) {
|
|
1564
|
+
if (wasAction) {
|
|
1565
|
+
// 1. any action posthook
|
|
1566
|
+
if (this._post_any_action_hook !== undefined) {
|
|
1567
|
+
this._post_any_action_hook(hook_args);
|
|
1568
|
+
}
|
|
1569
|
+
// 2. global specific action hook
|
|
1570
|
+
const pgah = this._post_global_action_hooks.get(hook_args.action);
|
|
1571
|
+
if (pgah !== undefined) {
|
|
1572
|
+
pgah(hook_args);
|
|
1573
|
+
}
|
|
1574
|
+
}
|
|
1575
|
+
// 3. any transition hook
|
|
1576
|
+
if (this._post_any_transition_hook !== undefined) {
|
|
1577
|
+
this._post_any_transition_hook(hook_args);
|
|
1578
|
+
}
|
|
1579
|
+
// 4. exit hook
|
|
1580
|
+
if (this._has_post_exit_hooks) {
|
|
1581
|
+
const peh = this._post_exit_hooks.get(hook_args.from); // todo this is probably from instead
|
|
1582
|
+
if (peh !== undefined) {
|
|
1583
|
+
peh(hook_args);
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
// 5. named transition / action hook
|
|
1587
|
+
if (this._has_post_named_hooks) {
|
|
1588
|
+
if (wasAction) {
|
|
1589
|
+
const nhn = named_hook_name(hook_args.from, hook_args.to, hook_args.action), pnh = this._post_named_hooks.get(nhn);
|
|
1590
|
+
if (pnh !== undefined) {
|
|
1591
|
+
pnh(hook_args);
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
1595
|
+
// 6. regular hook
|
|
1596
|
+
if (this._has_post_basic_hooks) {
|
|
1597
|
+
const hook = this._post_hooks.get(hook_name(hook_args.from, hook_args.to));
|
|
1598
|
+
if (hook !== undefined) {
|
|
1599
|
+
hook(hook_args);
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1602
|
+
// 7. edge type hook
|
|
1603
|
+
// 7a. standard transition hook
|
|
1604
|
+
if (trans_type === 'legal') {
|
|
1605
|
+
if (this._post_standard_transition_hook !== undefined) {
|
|
1606
|
+
this._post_standard_transition_hook(hook_args);
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
// 7b. main type hook
|
|
1610
|
+
if (trans_type === 'main') {
|
|
1611
|
+
if (this._post_main_transition_hook !== undefined) {
|
|
1612
|
+
this._post_main_transition_hook(hook_args);
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
// 7c. forced transition hook
|
|
1616
|
+
if (trans_type === 'forced') {
|
|
1617
|
+
if (this._post_forced_transition_hook !== undefined) {
|
|
1618
|
+
this._post_forced_transition_hook(hook_args);
|
|
1619
|
+
}
|
|
1620
|
+
}
|
|
1621
|
+
// 8. entry hook
|
|
1622
|
+
if (this._has_post_entry_hooks) {
|
|
1623
|
+
const hook = this._post_entry_hooks.get(hook_args.to);
|
|
1624
|
+
if (hook !== undefined) {
|
|
1625
|
+
hook(hook_args);
|
|
1626
|
+
}
|
|
1627
|
+
}
|
|
1628
|
+
}
|
|
1629
|
+
return true;
|
|
1454
1630
|
}
|
|
1455
1631
|
/*********
|
|
1456
1632
|
*
|
package/dist/es6/jssm_types.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
declare type StateType = string;
|
|
2
2
|
declare type JssmSuccess = {
|
|
3
3
|
success: true;
|
|
4
|
-
};
|
|
4
|
+
}; /** Composite type indicating success as part of a result */
|
|
5
5
|
declare type JssmFailure = {
|
|
6
6
|
success: false;
|
|
7
7
|
error: any;
|
|
8
|
-
};
|
|
8
|
+
}; /** Composite type indicating an error, and why, as part of a result */
|
|
9
9
|
declare type JssmIncomplete = {
|
|
10
10
|
success: 'incomplete';
|
|
11
|
-
};
|
|
12
|
-
declare type JssmResult = JssmSuccess | JssmFailure | JssmIncomplete;
|
|
11
|
+
}; /** Composite type indicating that a result isn't finished */
|
|
12
|
+
declare type JssmResult = JssmSuccess | JssmFailure | JssmIncomplete; /** Composite type composing whether or not a result was successful */
|
|
13
13
|
declare type JssmColor = string;
|
|
14
14
|
declare type JssmPermitted = 'required' | 'disallowed';
|
|
15
15
|
declare type JssmPermittedOpt = 'required' | 'disallowed' | 'optional';
|
|
@@ -198,17 +198,69 @@ declare type ExitHook<mDT> = {
|
|
|
198
198
|
from: string;
|
|
199
199
|
handler: HookHandler<mDT>;
|
|
200
200
|
};
|
|
201
|
-
declare type
|
|
201
|
+
declare type PostBasicHookDescription<mDT> = {
|
|
202
|
+
kind: 'post hook';
|
|
203
|
+
from: string;
|
|
204
|
+
to: string;
|
|
205
|
+
handler: PostHookHandler<mDT>;
|
|
206
|
+
};
|
|
207
|
+
declare type PostHookDescriptionWithAction<mDT> = {
|
|
208
|
+
kind: 'post named';
|
|
209
|
+
from: string;
|
|
210
|
+
to: string;
|
|
211
|
+
action: string;
|
|
212
|
+
handler: PostHookHandler<mDT>;
|
|
213
|
+
};
|
|
214
|
+
declare type PostStandardTransitionHook<mDT> = {
|
|
215
|
+
kind: 'post standard transition';
|
|
216
|
+
handler: PostHookHandler<mDT>;
|
|
217
|
+
};
|
|
218
|
+
declare type PostMainTransitionHook<mDT> = {
|
|
219
|
+
kind: 'post main transition';
|
|
220
|
+
handler: PostHookHandler<mDT>;
|
|
221
|
+
};
|
|
222
|
+
declare type PostForcedTransitionHook<mDT> = {
|
|
223
|
+
kind: 'post forced transition';
|
|
224
|
+
handler: PostHookHandler<mDT>;
|
|
225
|
+
};
|
|
226
|
+
declare type PostAnyTransitionHook<mDT> = {
|
|
227
|
+
kind: 'post any transition';
|
|
228
|
+
handler: PostHookHandler<mDT>;
|
|
229
|
+
};
|
|
230
|
+
declare type PostGlobalActionHook<mDT> = {
|
|
231
|
+
kind: 'post global action';
|
|
232
|
+
action: string;
|
|
233
|
+
handler: PostHookHandler<mDT>;
|
|
234
|
+
};
|
|
235
|
+
declare type PostAnyActionHook<mDT> = {
|
|
236
|
+
kind: 'post any action';
|
|
237
|
+
handler: PostHookHandler<mDT>;
|
|
238
|
+
};
|
|
239
|
+
declare type PostEntryHook<mDT> = {
|
|
240
|
+
kind: 'post entry';
|
|
241
|
+
to: string;
|
|
242
|
+
handler: PostHookHandler<mDT>;
|
|
243
|
+
};
|
|
244
|
+
declare type PostExitHook<mDT> = {
|
|
245
|
+
kind: 'post exit';
|
|
246
|
+
from: string;
|
|
247
|
+
handler: PostHookHandler<mDT>;
|
|
248
|
+
};
|
|
249
|
+
declare type HookDescription<mDT> = BasicHookDescription<mDT> | HookDescriptionWithAction<mDT> | GlobalActionHook<mDT> | AnyActionHook<mDT> | StandardTransitionHook<mDT> | MainTransitionHook<mDT> | ForcedTransitionHook<mDT> | AnyTransitionHook<mDT> | EntryHook<mDT> | ExitHook<mDT> | PostBasicHookDescription<mDT> | PostHookDescriptionWithAction<mDT> | PostGlobalActionHook<mDT> | PostAnyActionHook<mDT> | PostStandardTransitionHook<mDT> | PostMainTransitionHook<mDT> | PostForcedTransitionHook<mDT> | PostAnyTransitionHook<mDT> | PostEntryHook<mDT> | PostExitHook<mDT>;
|
|
202
250
|
declare type HookComplexResult<mDT> = {
|
|
203
251
|
pass: boolean;
|
|
204
252
|
state?: StateType;
|
|
205
253
|
data?: mDT;
|
|
206
254
|
};
|
|
255
|
+
/********
|
|
256
|
+
* Documents whether a hook succeeded, either with a primitive or a reference to the hook complex object
|
|
257
|
+
*/
|
|
207
258
|
declare type HookResult<mDT> = true | false | undefined | void | HookComplexResult<mDT>;
|
|
208
259
|
declare type HookContext<mDT> = {
|
|
209
260
|
data: mDT;
|
|
210
261
|
};
|
|
211
262
|
declare type HookHandler<mDT> = (hook_context: HookContext<mDT>) => HookResult<mDT>;
|
|
263
|
+
declare type PostHookHandler<mDT> = (hook_context: HookContext<mDT>) => void;
|
|
212
264
|
declare type JssmErrorExtendedInfo = {
|
|
213
265
|
requested_state?: StateType | undefined;
|
|
214
266
|
};
|
package/dist/es6/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const version = "5.
|
|
1
|
+
const version = "5.75.1";
|
|
2
2
|
export { version };
|