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,100 +1,100 @@
1
- declare type StateType = string;
2
- import { JssmGenericState, JssmGenericConfig, JssmTransition, JssmTransitionList, // JssmTransitionRule,
3
- JssmMachineInternalState, JssmParseTree, JssmStateDeclaration, JssmArrow, JssmArrowDirection, JssmArrowKind, JssmLayout, FslDirection, FslTheme } from './jssm_types';
4
- import { seq, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key } from './jssm_util';
5
- import { version } from './version';
6
- declare function arrow_direction(arrow: JssmArrow): JssmArrowDirection;
7
- declare function arrow_left_kind(arrow: JssmArrow): JssmArrowKind;
8
- declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
9
- declare function wrap_parse(input: string, options?: Object): any;
10
- declare function compile<mDT>(tree: JssmParseTree): JssmGenericConfig<mDT>;
11
- declare function make<mDT>(plan: string): JssmGenericConfig<mDT>;
12
- declare function transfer_state_properties(state_decl: JssmStateDeclaration): JssmStateDeclaration;
13
- declare class Machine<mDT> {
14
- _state: StateType;
15
- _states: Map<StateType, JssmGenericState>;
16
- _edges: Array<JssmTransition<mDT>>;
17
- _edge_map: Map<StateType, Map<StateType, number>>;
18
- _named_transitions: Map<StateType, number>;
19
- _actions: Map<StateType, Map<StateType, number>>;
20
- _reverse_actions: Map<StateType, Map<StateType, number>>;
21
- _reverse_action_targets: Map<StateType, Map<StateType, number>>;
22
- _machine_author?: Array<string>;
23
- _machine_comment?: string;
24
- _machine_contributor?: Array<string>;
25
- _machine_definition?: string;
26
- _machine_language?: string;
27
- _machine_license?: string;
28
- _machine_name?: string;
29
- _machine_version?: string;
30
- _fsl_version?: string;
31
- _raw_state_declaration?: Array<Object>;
32
- _state_declarations: Map<StateType, JssmStateDeclaration>;
33
- _graph_layout: JssmLayout;
34
- _dot_preamble: string;
35
- _arrange_declaration: Array<Array<StateType>>;
36
- _arrange_start_declaration: Array<Array<StateType>>;
37
- _arrange_end_declaration: Array<Array<StateType>>;
38
- _theme: FslTheme;
39
- _flow: FslDirection;
40
- 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 }: JssmGenericConfig<mDT>);
41
- _new_state(state_config: JssmGenericState): StateType;
42
- state(): StateType;
43
- state_is_final(whichState: StateType): boolean;
44
- is_final(): boolean;
45
- graph_layout(): string;
46
- dot_preamble(): string;
47
- machine_author(): Array<string>;
48
- machine_comment(): string;
49
- machine_contributor(): Array<string>;
50
- machine_definition(): string;
51
- machine_language(): string;
52
- machine_license(): string;
53
- machine_name(): string;
54
- machine_version(): string;
55
- raw_state_declarations(): Array<Object>;
56
- state_declaration(which: StateType): JssmStateDeclaration;
57
- state_declarations(): Map<StateType, JssmStateDeclaration>;
58
- fsl_version(): string;
59
- machine_state(): JssmMachineInternalState<mDT>;
60
- states(): Array<StateType>;
61
- state_for(whichState: StateType): JssmGenericState;
62
- has_state(whichState: StateType): boolean;
63
- list_edges(): Array<JssmTransition<mDT>>;
64
- list_named_transitions(): Map<StateType, number>;
65
- list_actions(): Array<StateType>;
66
- theme(): FslTheme;
67
- flow(): FslDirection;
68
- get_transition_by_state_names(from: StateType, to: StateType): number;
69
- lookup_transition_for(from: StateType, to: StateType): JssmTransition<mDT>;
70
- list_transitions(whichState?: StateType): JssmTransitionList;
71
- list_entrances(whichState?: StateType): Array<StateType>;
72
- list_exits(whichState?: StateType): Array<StateType>;
73
- probable_exits_for(whichState: StateType): Array<JssmTransition<mDT>>;
74
- probabilistic_transition(): boolean;
75
- probabilistic_walk(n: number): Array<StateType>;
76
- probabilistic_histo_walk(n: number): Map<StateType, number>;
77
- actions(whichState?: StateType): Array<StateType>;
78
- list_states_having_action(whichState: StateType): Array<StateType>;
79
- list_exit_actions(whichState?: StateType): Array<StateType>;
80
- probable_action_exits(whichState?: StateType): Array<any>;
81
- is_unenterable(whichState: StateType): boolean;
82
- has_unenterables(): boolean;
83
- is_terminal(): boolean;
84
- state_is_terminal(whichState: StateType): boolean;
85
- has_terminals(): boolean;
86
- is_complete(): boolean;
87
- state_is_complete(whichState: StateType): boolean;
88
- has_completes(): boolean;
89
- action(name: StateType, newData?: mDT): boolean;
90
- transition(newState: StateType, newData?: mDT): boolean;
91
- force_transition(newState: StateType, newData?: mDT): boolean;
92
- current_action_for(action: StateType): number;
93
- current_action_edge_for(action: StateType): JssmTransition<mDT>;
94
- valid_action(action: StateType, _newData?: mDT): boolean;
95
- valid_transition(newState: StateType, _newData?: mDT): boolean;
96
- valid_force_transition(newState: StateType, _newData?: mDT): boolean;
97
- sm(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>;
98
- }
99
- declare function sm<mDT>(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>;
100
- export { version, transfer_state_properties, Machine, make, wrap_parse as parse, compile, sm, arrow_direction, arrow_left_kind, arrow_right_kind, seq, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key };
1
+ declare type StateType = string;
2
+ import { JssmGenericState, JssmGenericConfig, JssmTransition, JssmTransitionList, // JssmTransitionRule,
3
+ JssmMachineInternalState, JssmParseTree, JssmStateDeclaration, JssmArrow, JssmArrowDirection, JssmArrowKind, JssmLayout, FslDirection, FslTheme } from './jssm_types';
4
+ import { seq, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key } from './jssm_util';
5
+ import { version } from './version';
6
+ declare function arrow_direction(arrow: JssmArrow): JssmArrowDirection;
7
+ declare function arrow_left_kind(arrow: JssmArrow): JssmArrowKind;
8
+ declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind;
9
+ declare function wrap_parse(input: string, options?: Object): any;
10
+ declare function compile<mDT>(tree: JssmParseTree): JssmGenericConfig<mDT>;
11
+ declare function make<mDT>(plan: string): JssmGenericConfig<mDT>;
12
+ declare function transfer_state_properties(state_decl: JssmStateDeclaration): JssmStateDeclaration;
13
+ declare class Machine<mDT> {
14
+ _state: StateType;
15
+ _states: Map<StateType, JssmGenericState>;
16
+ _edges: Array<JssmTransition<mDT>>;
17
+ _edge_map: Map<StateType, Map<StateType, number>>;
18
+ _named_transitions: Map<StateType, number>;
19
+ _actions: Map<StateType, Map<StateType, number>>;
20
+ _reverse_actions: Map<StateType, Map<StateType, number>>;
21
+ _reverse_action_targets: Map<StateType, Map<StateType, number>>;
22
+ _machine_author?: Array<string>;
23
+ _machine_comment?: string;
24
+ _machine_contributor?: Array<string>;
25
+ _machine_definition?: string;
26
+ _machine_language?: string;
27
+ _machine_license?: string;
28
+ _machine_name?: string;
29
+ _machine_version?: string;
30
+ _fsl_version?: string;
31
+ _raw_state_declaration?: Array<Object>;
32
+ _state_declarations: Map<StateType, JssmStateDeclaration>;
33
+ _graph_layout: JssmLayout;
34
+ _dot_preamble: string;
35
+ _arrange_declaration: Array<Array<StateType>>;
36
+ _arrange_start_declaration: Array<Array<StateType>>;
37
+ _arrange_end_declaration: Array<Array<StateType>>;
38
+ _theme: FslTheme;
39
+ _flow: FslDirection;
40
+ 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 }: JssmGenericConfig<mDT>);
41
+ _new_state(state_config: JssmGenericState): StateType;
42
+ state(): StateType;
43
+ state_is_final(whichState: StateType): boolean;
44
+ is_final(): boolean;
45
+ graph_layout(): string;
46
+ dot_preamble(): string;
47
+ machine_author(): Array<string>;
48
+ machine_comment(): string;
49
+ machine_contributor(): Array<string>;
50
+ machine_definition(): string;
51
+ machine_language(): string;
52
+ machine_license(): string;
53
+ machine_name(): string;
54
+ machine_version(): string;
55
+ raw_state_declarations(): Array<Object>;
56
+ state_declaration(which: StateType): JssmStateDeclaration;
57
+ state_declarations(): Map<StateType, JssmStateDeclaration>;
58
+ fsl_version(): string;
59
+ machine_state(): JssmMachineInternalState<mDT>;
60
+ states(): Array<StateType>;
61
+ state_for(whichState: StateType): JssmGenericState;
62
+ has_state(whichState: StateType): boolean;
63
+ list_edges(): Array<JssmTransition<mDT>>;
64
+ list_named_transitions(): Map<StateType, number>;
65
+ list_actions(): Array<StateType>;
66
+ theme(): FslTheme;
67
+ flow(): FslDirection;
68
+ get_transition_by_state_names(from: StateType, to: StateType): number;
69
+ lookup_transition_for(from: StateType, to: StateType): JssmTransition<mDT>;
70
+ list_transitions(whichState?: StateType): JssmTransitionList;
71
+ list_entrances(whichState?: StateType): Array<StateType>;
72
+ list_exits(whichState?: StateType): Array<StateType>;
73
+ probable_exits_for(whichState: StateType): Array<JssmTransition<mDT>>;
74
+ probabilistic_transition(): boolean;
75
+ probabilistic_walk(n: number): Array<StateType>;
76
+ probabilistic_histo_walk(n: number): Map<StateType, number>;
77
+ actions(whichState?: StateType): Array<StateType>;
78
+ list_states_having_action(whichState: StateType): Array<StateType>;
79
+ list_exit_actions(whichState?: StateType): Array<StateType>;
80
+ probable_action_exits(whichState?: StateType): Array<any>;
81
+ is_unenterable(whichState: StateType): boolean;
82
+ has_unenterables(): boolean;
83
+ is_terminal(): boolean;
84
+ state_is_terminal(whichState: StateType): boolean;
85
+ has_terminals(): boolean;
86
+ is_complete(): boolean;
87
+ state_is_complete(whichState: StateType): boolean;
88
+ has_completes(): boolean;
89
+ action(name: StateType, newData?: mDT): boolean;
90
+ transition(newState: StateType, newData?: mDT): boolean;
91
+ force_transition(newState: StateType, newData?: mDT): boolean;
92
+ current_action_for(action: StateType): number;
93
+ current_action_edge_for(action: StateType): JssmTransition<mDT>;
94
+ valid_action(action: StateType, _newData?: mDT): boolean;
95
+ valid_transition(newState: StateType, _newData?: mDT): boolean;
96
+ valid_force_transition(newState: StateType, _newData?: mDT): boolean;
97
+ sm(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>;
98
+ }
99
+ declare function sm<mDT>(template_strings: TemplateStringsArray, ...remainder: any[]): Machine<mDT>;
100
+ export { version, transfer_state_properties, Machine, make, wrap_parse as parse, compile, sm, arrow_direction, arrow_left_kind, arrow_right_kind, seq, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key };