jssm 5.35.4 → 5.42.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.
Files changed (93) hide show
  1. package/.codeclimate.yml +22 -22
  2. package/.editorconfig +12 -12
  3. package/.eslintrc +20 -20
  4. package/.nycrc +6 -6
  5. package/.travis.yml +8 -8
  6. package/LICENSE.md +21 -21
  7. package/README.md +997 -993
  8. package/dist/es6/jssm-dot.d.ts +6 -6
  9. package/dist/es6/jssm-dot.js +1 -1
  10. package/dist/es6/jssm.d.ts +100 -100
  11. package/dist/es6/jssm.js +792 -792
  12. package/dist/es6/jssm_types.d.ts +151 -151
  13. package/dist/es6/jssm_types.js +1 -1
  14. package/dist/es6/jssm_util.d.ts +8 -8
  15. package/dist/es6/jssm_util.js +34 -34
  16. package/dist/es6/version.d.ts +2 -2
  17. package/dist/es6/version.js +2 -2
  18. package/dist/jssm.es5.cjs.js +1 -1
  19. package/dist/jssm.es5.iife.js +1 -0
  20. package/jest-spec.config.js +27 -27
  21. package/jest-stoch.config.js +27 -27
  22. package/jssm-dot.d.ts +6 -6
  23. package/jssm.d.ts +100 -100
  24. package/jssm_types.d.ts +151 -151
  25. package/jssm_util.d.ts +8 -8
  26. package/package.json +125 -122
  27. package/rollup.config.iife.js +44 -44
  28. package/rollup.config.js +44 -44
  29. package/src/demo/index.html +38 -38
  30. package/src/demo/style.css +1 -1
  31. package/src/ts/jssm-dot.peg +928 -874
  32. package/src/ts/jssm.ts +1120 -1120
  33. package/src/ts/jssm_types.ts +346 -346
  34. package/src/ts/jssm_util.ts +100 -100
  35. package/src/ts/tests/actions.spec.ts +167 -167
  36. package/src/ts/tests/arrange.spec.ts +72 -72
  37. package/src/ts/tests/arrange.stoch.ts +4 -4
  38. package/src/ts/tests/array_box_if_string.spec.ts +30 -31
  39. package/src/ts/tests/array_transitions.spec.ts +129 -129
  40. package/src/ts/tests/arrow unicode.spec.ts +88 -88
  41. package/src/ts/tests/arrow.spec.ts +124 -124
  42. package/src/ts/tests/colors.spec.ts +58 -58
  43. package/src/ts/tests/comment.spec.ts +134 -134
  44. package/src/ts/tests/compile.spec.ts +79 -79
  45. package/src/ts/tests/constants.spec.ts +98 -98
  46. package/src/ts/tests/cycles.spec.ts +153 -153
  47. package/src/ts/tests/dot_preamble.spec.ts +16 -16
  48. package/src/ts/tests/embedded_sm.spec.ts +36 -36
  49. package/src/ts/tests/flow.spec.ts +22 -22
  50. package/src/ts/tests/forced transitions.spec.ts +26 -26
  51. package/src/ts/tests/general.spec.ts +933 -933
  52. package/src/ts/tests/graph node lists.spec.ts +21 -21
  53. package/src/ts/tests/histo.spec.ts +24 -24
  54. package/src/ts/tests/hooks.spec.ts +28 -0
  55. package/src/ts/tests/language.spec.ts +37 -37
  56. package/src/ts/tests/language_data/belarussian.json +13 -13
  57. package/src/ts/tests/language_data/bengali.json +15 -15
  58. package/src/ts/tests/language_data/emoji.json +21 -21
  59. package/src/ts/tests/language_data/english.json +16 -16
  60. package/src/ts/tests/language_data/french.json +16 -16
  61. package/src/ts/tests/language_data/german.json +16 -16
  62. package/src/ts/tests/language_data/hebrew.json +16 -16
  63. package/src/ts/tests/language_data/portuguese.json +12 -12
  64. package/src/ts/tests/language_data/russian.json +12 -12
  65. package/src/ts/tests/language_data/spanish.json +17 -17
  66. package/src/ts/tests/language_data/ukrainian.json +18 -18
  67. package/src/ts/tests/layout.spec.ts +29 -29
  68. package/src/ts/tests/machine_attributes.spec.ts +398 -398
  69. package/src/ts/tests/machine_name.spec.ts +14 -14
  70. package/src/ts/tests/named lists.spec.ts +24 -19
  71. package/src/ts/tests/nominated states.spec.ts +133 -133
  72. package/src/ts/tests/parse actions.spec.ts +32 -32
  73. package/src/ts/tests/parse.spec.ts +94 -94
  74. package/src/ts/tests/probability.spec.ts +146 -146
  75. package/src/ts/tests/r639.spec.ts +27 -27
  76. package/src/ts/tests/sample_select.spec.ts +173 -173
  77. package/src/ts/tests/seq.spec.ts +14 -16
  78. package/src/ts/tests/seq.stoch.ts +83 -0
  79. package/src/ts/tests/shapes.spec.ts +63 -63
  80. package/src/ts/tests/sm_tag.spec.ts +37 -37
  81. package/src/ts/tests/special characters.spec.ts +39 -39
  82. package/src/ts/tests/state_declaration.spec.ts +214 -200
  83. package/src/ts/tests/state_style.spec.ts +82 -39
  84. package/src/ts/tests/stop light.spec.ts +157 -157
  85. package/src/ts/tests/stripes.spec.ts +52 -52
  86. package/src/ts/tests/theme.spec.ts +45 -45
  87. package/src/ts/tests/weighted_histo_key.spec.ts +22 -22
  88. package/src/ts/tests/weighted_rand_select.spec.ts +27 -27
  89. package/src/ts/tests/weighted_sample_select.spec.ts +24 -26
  90. package/src/ts/version.ts +1 -1
  91. package/tree.txt +1794 -1794
  92. package/tsconfig.json +27 -27
  93. package/version.d.ts +2 -2
@@ -1,346 +1,346 @@
1
-
2
- type StateType = string;
3
-
4
-
5
-
6
-
7
-
8
- type JssmSuccess = { success: true };
9
- type JssmFailure = { success: false, error: any };
10
- type JssmIncomplete = { success: 'incomplete' };
11
- type JssmResult = JssmSuccess | JssmFailure | JssmIncomplete;
12
-
13
- type JssmColor = string; // TODO FIXME constrain to #RRGGBBAA later // whargarbl
14
-
15
-
16
-
17
- type JssmPermitted = 'required' | 'disallowed';
18
- type JssmPermittedOpt = 'required' | 'disallowed' | 'optional';
19
-
20
- type JssmArrow = '->' | '<-' | '<->' | '<=->' | '<~->'
21
- | '=>' | '<=' | '<=>' | '<-=>' | '<~=>'
22
- | '~>' | '<~' | '<~>' | '<-~>' | '<=~>';
23
- // | '⇒' | '⇐' | '⇔' | '⇐→' | '↚→'
24
- // | '→' | '←' | '↔' | '←⇒' | '↚⇒'
25
- // | '↛' | '↚' | '↮' | '←↛' | '⇐↛';
26
-
27
- // TODO finish the arrow types - unicode *and* mixed
28
-
29
- type JssmShape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "egg" | "triangle"
30
- | "plaintext" | "plain" | "diamond" | "trapezium" | "parallelogram" | "house" | "pentagon"
31
- | "hexagon" | "septagon" | "octagon" | "doublecircle" | "doubleoctagon" | "tripleoctagon"
32
- | "invtriangle" | "invtrapezium" | "invhouse" | "Mdiamond" | "Msquare" | "Mcircle" | "rect"
33
- | "rectangle" | "square" | "star" | "none" | "underline" | "cylinder" | "note" | "tab"
34
- | "folder" | "box3d" | "component" | "promoter" | "cds" | "terminator" | "utr" | "primersite"
35
- | "restrictionsite" | "fivepoverhang" | "threepoverhang" | "noverhang" | "assembly"
36
- | "signature" | "insulator" | "ribosite" | "rnastab" | "proteasesite" | "proteinstab"
37
- | "rpromoter" | "rarrow" | "larrow" | "lpromoter" | "record";
38
-
39
- type JssmArrowDirection = 'left' | 'right' | 'both';
40
- type JssmArrowKind = 'none' | 'legal' | 'main' | 'forced';
41
-
42
- type JssmLayout = 'dot' | 'circo' | 'twopi' | 'fdp'; // todo add the rest
43
-
44
- type JssmCorner = 'regular' | 'rounded' | 'lined';
45
- type JssmLineStyle = 'solid' | 'dashed' | 'dotted';
46
-
47
-
48
-
49
-
50
-
51
- type FslDirection = 'up' | 'right' | 'down' | 'left';
52
- type FslTheme = 'default' | 'ocean' | 'modern' | 'none';
53
-
54
-
55
-
56
-
57
-
58
- type State = string;
59
-
60
-
61
-
62
-
63
-
64
- type JssmTransitionPermitter<DataType> =
65
- (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
66
-
67
- type JssmTransitionPermitterMaybeArray<DataType> =
68
- JssmTransitionPermitter<DataType>
69
- | Array< JssmTransitionPermitter<DataType> >;
70
-
71
-
72
-
73
-
74
-
75
- type JssmTransition<DataType> = {
76
-
77
- from : StateType,
78
- to : StateType,
79
- name? : string,
80
- action? : StateType,
81
- check? : JssmTransitionPermitterMaybeArray<DataType>, // validate this edge's transition; usually about data
82
- probability? : number, // for stoch modelling, would like to constrain to [0..1], dunno how // TODO FIXME
83
- kind : JssmArrowKind,
84
- forced_only : boolean,
85
- main_path : boolean
86
-
87
- };
88
-
89
- type JssmTransitions<DataType> =
90
- Array< JssmTransition<DataType> >;
91
-
92
- type JssmTransitionList = {
93
- entrances : Array<StateType>,
94
- exits : Array<StateType>
95
- };
96
-
97
- type JssmTransitionCycle = {
98
- key : 'cycle',
99
- value : StateType
100
- };
101
-
102
- type JssmTransitionRule =
103
- StateType
104
- | JssmTransitionCycle;
105
-
106
-
107
-
108
-
109
-
110
- type JssmGenericState = {
111
-
112
- from : Array< StateType > ,
113
- name : StateType ,
114
- to : Array< StateType > ,
115
- complete : boolean
116
-
117
- };
118
-
119
-
120
-
121
-
122
-
123
- type JssmMachineInternalState<DataType> = {
124
-
125
- internal_state_impl_version : 1,
126
-
127
- state : StateType,
128
- states : Map< StateType, JssmGenericState >,
129
- named_transitions : Map< StateType, number >,
130
- edge_map : Map< StateType, Map<StateType, number> >,
131
- actions : Map< StateType, Map<StateType, number> >,
132
- reverse_actions : Map< StateType, Map<StateType, number> >,
133
- edges : Array< JssmTransition<DataType> >
134
-
135
- };
136
-
137
-
138
-
139
-
140
-
141
- type JssmStatePermitter<DataType> =
142
- (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
143
-
144
- type JssmStatePermitterMaybeArray<DataType> =
145
- JssmStatePermitter<DataType> | Array< JssmStatePermitter<DataType> >;
146
-
147
- type JssmGenericMachine<DataType> = {
148
-
149
- name? : string,
150
- state : StateType,
151
- data? : DataType,
152
- nodes? : Array<StateType>,
153
- transitions : JssmTransitions<DataType>,
154
- check? : JssmStatePermitterMaybeArray<DataType>,
155
-
156
- min_transitions? : number,
157
- max_transitions? : number,
158
-
159
- allow_empty? : boolean,
160
- allow_islands? : boolean,
161
- allow_force? : boolean,
162
-
163
- keep_history? : boolean | number
164
-
165
- };
166
-
167
-
168
-
169
-
170
-
171
- type JssmStateDeclarationRule = {
172
- key : string,
173
- value : any // TODO FIXME COMEBACK enumerate types against concrete keys
174
- };
175
-
176
- type JssmStateDeclaration = {
177
-
178
- declarations : Array<JssmStateDeclarationRule>,
179
-
180
- shape? : JssmShape,
181
- color? : JssmColor,
182
- corners? : JssmCorner,
183
- linestyle? : JssmLineStyle,
184
-
185
- textColor? : JssmColor,
186
- backgroundColor? : JssmColor,
187
- borderColor? : JssmColor,
188
-
189
- state : StateType
190
-
191
- };
192
-
193
-
194
-
195
-
196
-
197
- type JssmGenericConfig<DataType> = {
198
-
199
- graph_layout? : JssmLayout,
200
-
201
- complete? : Array<StateType>,
202
- transitions : JssmTransitions<DataType>,
203
-
204
- theme? : FslTheme,
205
- flow? : FslDirection,
206
-
207
- name? : string,
208
- data? : DataType,
209
- nodes? : Array<StateType>, // uncommon
210
- check? : JssmStatePermitterMaybeArray<DataType>,
211
-
212
- //locked? : bool = true,
213
- min_exits? : number,
214
- max_exits? : number,
215
- allow_islands? : false,
216
- allow_force? : false,
217
- actions? : JssmPermittedOpt,
218
-
219
- simplify_bidi? : boolean,
220
-
221
- dot_preamble? : string,
222
-
223
- start_states : Array<StateType>,
224
- end_states? : Array<StateType>,
225
-
226
- state_declaration? : Array<Object>,
227
-
228
- arrange_declaration? : Array<Array<StateType>>,
229
- arrange_start_declaration? : Array<Array<StateType>>,
230
- arrange_end_declaration? : Array<Array<StateType>>,
231
-
232
- machine_author? : string | Array<string>,
233
- machine_comment? : string,
234
- machine_contributor? : string | Array<string>,
235
- machine_definition? : string,
236
- machine_language? : string, // TODO FIXME COMEBACK
237
- machine_license? : string, // TODO FIXME COMEBACK
238
- machine_name? : string,
239
- machine_version? : string, // TODO FIXME COMEBACK
240
-
241
- fsl_version? : string, // TODO FIXME COMEBACK
242
-
243
- auto_api? : boolean | string // TODO FIXME COMEBACK // boolean false means don't; boolean true means do; string means do-with-this-prefix
244
-
245
- };
246
-
247
-
248
-
249
-
250
-
251
- type JssmCompileRule = {
252
-
253
- agg_as : string,
254
- val : any // TODO COMEBACK FIXME
255
-
256
- };
257
-
258
-
259
-
260
-
261
-
262
- type JssmCompileSe = {
263
-
264
- to : StateType,
265
- se : JssmCompileSe,
266
- kind : JssmArrow,
267
- l_action? : StateType,
268
- r_action? : StateType,
269
- l_probability : number,
270
- r_probability : number
271
-
272
- };
273
-
274
-
275
-
276
-
277
-
278
- type JssmCompileSeStart<DataType> = {
279
-
280
- from : DataType,
281
- se : JssmCompileSe,
282
- key : string,
283
- value? : string | number,
284
- name? : string
285
-
286
- };
287
-
288
-
289
-
290
-
291
-
292
- type JssmParseTree =
293
-
294
- Array< JssmCompileSeStart<StateType> >;
295
-
296
-
297
-
298
-
299
-
300
- type JssmParseFunctionType =
301
-
302
- (string) => JssmParseTree;
303
-
304
-
305
-
306
-
307
-
308
- export {
309
-
310
- JssmColor,
311
-
312
- JssmTransition,
313
- JssmTransitions,
314
- JssmTransitionList,
315
- JssmTransitionRule,
316
-
317
- JssmArrow,
318
- JssmArrowKind,
319
- JssmArrowDirection,
320
-
321
- JssmGenericConfig,
322
- JssmGenericState,
323
- JssmGenericMachine,
324
-
325
- JssmParseTree,
326
- JssmCompileSe,
327
- JssmCompileSeStart,
328
- JssmCompileRule,
329
-
330
- JssmPermitted,
331
- JssmPermittedOpt,
332
- JssmResult,
333
-
334
- JssmStateDeclaration,
335
- JssmStateDeclarationRule,
336
-
337
- JssmLayout,
338
-
339
- JssmParseFunctionType,
340
-
341
- JssmMachineInternalState,
342
-
343
- FslDirection,
344
- FslTheme
345
-
346
- };
1
+
2
+ type StateType = string;
3
+
4
+
5
+
6
+
7
+
8
+ type JssmSuccess = { success: true };
9
+ type JssmFailure = { success: false, error: any };
10
+ type JssmIncomplete = { success: 'incomplete' };
11
+ type JssmResult = JssmSuccess | JssmFailure | JssmIncomplete;
12
+
13
+ type JssmColor = string; // TODO FIXME constrain to #RRGGBBAA later // whargarbl
14
+
15
+
16
+
17
+ type JssmPermitted = 'required' | 'disallowed';
18
+ type JssmPermittedOpt = 'required' | 'disallowed' | 'optional';
19
+
20
+ type JssmArrow = '->' | '<-' | '<->' | '<=->' | '<~->'
21
+ | '=>' | '<=' | '<=>' | '<-=>' | '<~=>'
22
+ | '~>' | '<~' | '<~>' | '<-~>' | '<=~>';
23
+ // | '⇒' | '⇐' | '⇔' | '⇐→' | '↚→'
24
+ // | '→' | '←' | '↔' | '←⇒' | '↚⇒'
25
+ // | '↛' | '↚' | '↮' | '←↛' | '⇐↛';
26
+
27
+ // TODO finish the arrow types - unicode *and* mixed
28
+
29
+ type JssmShape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "egg" | "triangle"
30
+ | "plaintext" | "plain" | "diamond" | "trapezium" | "parallelogram" | "house" | "pentagon"
31
+ | "hexagon" | "septagon" | "octagon" | "doublecircle" | "doubleoctagon" | "tripleoctagon"
32
+ | "invtriangle" | "invtrapezium" | "invhouse" | "Mdiamond" | "Msquare" | "Mcircle" | "rect"
33
+ | "rectangle" | "square" | "star" | "none" | "underline" | "cylinder" | "note" | "tab"
34
+ | "folder" | "box3d" | "component" | "promoter" | "cds" | "terminator" | "utr" | "primersite"
35
+ | "restrictionsite" | "fivepoverhang" | "threepoverhang" | "noverhang" | "assembly"
36
+ | "signature" | "insulator" | "ribosite" | "rnastab" | "proteasesite" | "proteinstab"
37
+ | "rpromoter" | "rarrow" | "larrow" | "lpromoter" | "record";
38
+
39
+ type JssmArrowDirection = 'left' | 'right' | 'both';
40
+ type JssmArrowKind = 'none' | 'legal' | 'main' | 'forced';
41
+
42
+ type JssmLayout = 'dot' | 'circo' | 'twopi' | 'fdp'; // todo add the rest
43
+
44
+ type JssmCorner = 'regular' | 'rounded' | 'lined';
45
+ type JssmLineStyle = 'solid' | 'dashed' | 'dotted';
46
+
47
+
48
+
49
+
50
+
51
+ type FslDirection = 'up' | 'right' | 'down' | 'left';
52
+ type FslTheme = 'default' | 'ocean' | 'modern' | 'none';
53
+
54
+
55
+
56
+
57
+
58
+ type State = string;
59
+
60
+
61
+
62
+
63
+
64
+ type JssmTransitionPermitter<DataType> =
65
+ (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
66
+
67
+ type JssmTransitionPermitterMaybeArray<DataType> =
68
+ JssmTransitionPermitter<DataType>
69
+ | Array< JssmTransitionPermitter<DataType> >;
70
+
71
+
72
+
73
+
74
+
75
+ type JssmTransition<DataType> = {
76
+
77
+ from : StateType,
78
+ to : StateType,
79
+ name? : string,
80
+ action? : StateType,
81
+ check? : JssmTransitionPermitterMaybeArray<DataType>, // validate this edge's transition; usually about data
82
+ probability? : number, // for stoch modelling, would like to constrain to [0..1], dunno how // TODO FIXME
83
+ kind : JssmArrowKind,
84
+ forced_only : boolean,
85
+ main_path : boolean
86
+
87
+ };
88
+
89
+ type JssmTransitions<DataType> =
90
+ Array< JssmTransition<DataType> >;
91
+
92
+ type JssmTransitionList = {
93
+ entrances : Array<StateType>,
94
+ exits : Array<StateType>
95
+ };
96
+
97
+ type JssmTransitionCycle = {
98
+ key : 'cycle',
99
+ value : StateType
100
+ };
101
+
102
+ type JssmTransitionRule =
103
+ StateType
104
+ | JssmTransitionCycle;
105
+
106
+
107
+
108
+
109
+
110
+ type JssmGenericState = {
111
+
112
+ from : Array< StateType > ,
113
+ name : StateType ,
114
+ to : Array< StateType > ,
115
+ complete : boolean
116
+
117
+ };
118
+
119
+
120
+
121
+
122
+
123
+ type JssmMachineInternalState<DataType> = {
124
+
125
+ internal_state_impl_version : 1,
126
+
127
+ state : StateType,
128
+ states : Map< StateType, JssmGenericState >,
129
+ named_transitions : Map< StateType, number >,
130
+ edge_map : Map< StateType, Map<StateType, number> >,
131
+ actions : Map< StateType, Map<StateType, number> >,
132
+ reverse_actions : Map< StateType, Map<StateType, number> >,
133
+ edges : Array< JssmTransition<DataType> >
134
+
135
+ };
136
+
137
+
138
+
139
+
140
+
141
+ type JssmStatePermitter<DataType> =
142
+ (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
143
+
144
+ type JssmStatePermitterMaybeArray<DataType> =
145
+ JssmStatePermitter<DataType> | Array< JssmStatePermitter<DataType> >;
146
+
147
+ type JssmGenericMachine<DataType> = {
148
+
149
+ name? : string,
150
+ state : StateType,
151
+ data? : DataType,
152
+ nodes? : Array<StateType>,
153
+ transitions : JssmTransitions<DataType>,
154
+ check? : JssmStatePermitterMaybeArray<DataType>,
155
+
156
+ min_transitions? : number,
157
+ max_transitions? : number,
158
+
159
+ allow_empty? : boolean,
160
+ allow_islands? : boolean,
161
+ allow_force? : boolean,
162
+
163
+ keep_history? : boolean | number
164
+
165
+ };
166
+
167
+
168
+
169
+
170
+
171
+ type JssmStateDeclarationRule = {
172
+ key : string,
173
+ value : any // TODO FIXME COMEBACK enumerate types against concrete keys
174
+ };
175
+
176
+ type JssmStateDeclaration = {
177
+
178
+ declarations : Array<JssmStateDeclarationRule>,
179
+
180
+ shape? : JssmShape,
181
+ color? : JssmColor,
182
+ corners? : JssmCorner,
183
+ linestyle? : JssmLineStyle,
184
+
185
+ textColor? : JssmColor,
186
+ backgroundColor? : JssmColor,
187
+ borderColor? : JssmColor,
188
+
189
+ state : StateType
190
+
191
+ };
192
+
193
+
194
+
195
+
196
+
197
+ type JssmGenericConfig<DataType> = {
198
+
199
+ graph_layout? : JssmLayout,
200
+
201
+ complete? : Array<StateType>,
202
+ transitions : JssmTransitions<DataType>,
203
+
204
+ theme? : FslTheme,
205
+ flow? : FslDirection,
206
+
207
+ name? : string,
208
+ data? : DataType,
209
+ nodes? : Array<StateType>, // uncommon
210
+ check? : JssmStatePermitterMaybeArray<DataType>,
211
+
212
+ //locked? : bool = true,
213
+ min_exits? : number,
214
+ max_exits? : number,
215
+ allow_islands? : false,
216
+ allow_force? : false,
217
+ actions? : JssmPermittedOpt,
218
+
219
+ simplify_bidi? : boolean,
220
+
221
+ dot_preamble? : string,
222
+
223
+ start_states : Array<StateType>,
224
+ end_states? : Array<StateType>,
225
+
226
+ state_declaration? : Array<Object>,
227
+
228
+ arrange_declaration? : Array<Array<StateType>>,
229
+ arrange_start_declaration? : Array<Array<StateType>>,
230
+ arrange_end_declaration? : Array<Array<StateType>>,
231
+
232
+ machine_author? : string | Array<string>,
233
+ machine_comment? : string,
234
+ machine_contributor? : string | Array<string>,
235
+ machine_definition? : string,
236
+ machine_language? : string, // TODO FIXME COMEBACK
237
+ machine_license? : string, // TODO FIXME COMEBACK
238
+ machine_name? : string,
239
+ machine_version? : string, // TODO FIXME COMEBACK
240
+
241
+ fsl_version? : string, // TODO FIXME COMEBACK
242
+
243
+ auto_api? : boolean | string // TODO FIXME COMEBACK // boolean false means don't; boolean true means do; string means do-with-this-prefix
244
+
245
+ };
246
+
247
+
248
+
249
+
250
+
251
+ type JssmCompileRule = {
252
+
253
+ agg_as : string,
254
+ val : any // TODO COMEBACK FIXME
255
+
256
+ };
257
+
258
+
259
+
260
+
261
+
262
+ type JssmCompileSe = {
263
+
264
+ to : StateType,
265
+ se : JssmCompileSe,
266
+ kind : JssmArrow,
267
+ l_action? : StateType,
268
+ r_action? : StateType,
269
+ l_probability : number,
270
+ r_probability : number
271
+
272
+ };
273
+
274
+
275
+
276
+
277
+
278
+ type JssmCompileSeStart<DataType> = {
279
+
280
+ from : DataType,
281
+ se : JssmCompileSe,
282
+ key : string,
283
+ value? : string | number,
284
+ name? : string
285
+
286
+ };
287
+
288
+
289
+
290
+
291
+
292
+ type JssmParseTree =
293
+
294
+ Array< JssmCompileSeStart<StateType> >;
295
+
296
+
297
+
298
+
299
+
300
+ type JssmParseFunctionType =
301
+
302
+ (string) => JssmParseTree;
303
+
304
+
305
+
306
+
307
+
308
+ export {
309
+
310
+ JssmColor,
311
+
312
+ JssmTransition,
313
+ JssmTransitions,
314
+ JssmTransitionList,
315
+ JssmTransitionRule,
316
+
317
+ JssmArrow,
318
+ JssmArrowKind,
319
+ JssmArrowDirection,
320
+
321
+ JssmGenericConfig,
322
+ JssmGenericState,
323
+ JssmGenericMachine,
324
+
325
+ JssmParseTree,
326
+ JssmCompileSe,
327
+ JssmCompileSeStart,
328
+ JssmCompileRule,
329
+
330
+ JssmPermitted,
331
+ JssmPermittedOpt,
332
+ JssmResult,
333
+
334
+ JssmStateDeclaration,
335
+ JssmStateDeclarationRule,
336
+
337
+ JssmLayout,
338
+
339
+ JssmParseFunctionType,
340
+
341
+ JssmMachineInternalState,
342
+
343
+ FslDirection,
344
+ FslTheme
345
+
346
+ };