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,27 +1,27 @@
1
-
2
- module.exports = {
3
-
4
- testEnvironment : 'node',
5
-
6
- moduleFileExtensions : ['js', 'ts'],
7
- coveragePathIgnorePatterns : ["/node_modules/", "/src/ts/tests/"],
8
- testMatch : ['**/*.spec.ts'],
9
-
10
- transform : { '^.+\\.ts$': 'ts-jest' },
11
-
12
- verbose : false,
13
- collectCoverage : true,
14
- coverageDirectory : "coverage/spec/",
15
-
16
- coverageThreshold : {
17
- global : {
18
- branches : 90,
19
- functions : 90,
20
- lines : 90,
21
- statements : 90,
22
- },
23
- },
24
-
25
- collectCoverageFrom: ["src/ts/**/{!(jssm-dot),}.{js,ts}"]
26
-
27
- };
1
+
2
+ module.exports = {
3
+
4
+ testEnvironment : 'node',
5
+
6
+ moduleFileExtensions : ['js', 'ts'],
7
+ coveragePathIgnorePatterns : ["/node_modules/", "/src/ts/tests/"],
8
+ testMatch : ['**/*.spec.ts'],
9
+
10
+ transform : { '^.+\\.ts$': 'ts-jest' },
11
+
12
+ verbose : false,
13
+ collectCoverage : true,
14
+ coverageDirectory : "coverage/spec/",
15
+
16
+ coverageThreshold : {
17
+ global : {
18
+ branches : 90,
19
+ functions : 90,
20
+ lines : 90,
21
+ statements : 90,
22
+ },
23
+ },
24
+
25
+ collectCoverageFrom: ["src/ts/**/{!(jssm-dot),}.{js,ts}"]
26
+
27
+ };
@@ -1,27 +1,27 @@
1
-
2
- module.exports = {
3
-
4
- testEnvironment : 'node',
5
-
6
- moduleFileExtensions : ['js', 'ts'],
7
- coveragePathIgnorePatterns : ["/node_modules/", "/src/ts/tests/"],
8
- testMatch : ['**/*.stoch.ts'],
9
-
10
- transform : { '^.+\\.ts$': 'ts-jest' },
11
-
12
- verbose : false,
13
- collectCoverage : true,
14
- coverageDirectory : "coverage/stoch/",
15
-
16
- coverageThreshold : {
17
- global : {
18
- branches : 1,
19
- functions : 1,
20
- lines : 1,
21
- statements : 1,
22
- },
23
- },
24
-
25
- collectCoverageFrom: ["src/ts/**/{!(jssm-dot),}.{js,ts}"]
26
-
27
- };
1
+
2
+ module.exports = {
3
+
4
+ testEnvironment : 'node',
5
+
6
+ moduleFileExtensions : ['js', 'ts'],
7
+ coveragePathIgnorePatterns : ["/node_modules/", "/src/ts/tests/"],
8
+ testMatch : ['**/*.stoch.ts'],
9
+
10
+ transform : { '^.+\\.ts$': 'ts-jest' },
11
+
12
+ verbose : false,
13
+ collectCoverage : true,
14
+ coverageDirectory : "coverage/stoch/",
15
+
16
+ coverageThreshold : {
17
+ global : {
18
+ branches : 1,
19
+ functions : 1,
20
+ lines : 1,
21
+ statements : 1,
22
+ },
23
+ },
24
+
25
+ collectCoverageFrom: ["src/ts/**/{!(jssm-dot),}.{js,ts}"]
26
+
27
+ };
package/jssm-dot.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- declare function peg$SyntaxError(message: any, expected: any, found: any, location: any): void;
2
- declare namespace peg$SyntaxError {
3
- var buildMessage: (expected: any, found: any) => string;
4
- }
5
- declare function peg$parse(input: any, options: any): any;
6
- export { peg$SyntaxError as SyntaxError, peg$parse as parse };
1
+ declare function peg$SyntaxError(message: any, expected: any, found: any, location: any): void;
2
+ declare namespace peg$SyntaxError {
3
+ var buildMessage: (expected: any, found: any) => string;
4
+ }
5
+ declare function peg$parse(input: any, options: any): any;
6
+ export { peg$SyntaxError as SyntaxError, peg$parse as parse };
package/jssm.d.ts CHANGED
@@ -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 };
package/jssm_types.d.ts CHANGED
@@ -1,151 +1,151 @@
1
- declare type StateType = string;
2
- declare type JssmSuccess = {
3
- success: true;
4
- };
5
- declare type JssmFailure = {
6
- success: false;
7
- error: any;
8
- };
9
- declare type JssmIncomplete = {
10
- success: 'incomplete';
11
- };
12
- declare type JssmResult = JssmSuccess | JssmFailure | JssmIncomplete;
13
- declare type JssmColor = string;
14
- declare type JssmPermitted = 'required' | 'disallowed';
15
- declare type JssmPermittedOpt = 'required' | 'disallowed' | 'optional';
16
- declare type JssmArrow = '->' | '<-' | '<->' | '<=->' | '<~->' | '=>' | '<=' | '<=>' | '<-=>' | '<~=>' | '~>' | '<~' | '<~>' | '<-~>' | '<=~>';
17
- declare type JssmShape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "egg" | "triangle" | "plaintext" | "plain" | "diamond" | "trapezium" | "parallelogram" | "house" | "pentagon" | "hexagon" | "septagon" | "octagon" | "doublecircle" | "doubleoctagon" | "tripleoctagon" | "invtriangle" | "invtrapezium" | "invhouse" | "Mdiamond" | "Msquare" | "Mcircle" | "rect" | "rectangle" | "square" | "star" | "none" | "underline" | "cylinder" | "note" | "tab" | "folder" | "box3d" | "component" | "promoter" | "cds" | "terminator" | "utr" | "primersite" | "restrictionsite" | "fivepoverhang" | "threepoverhang" | "noverhang" | "assembly" | "signature" | "insulator" | "ribosite" | "rnastab" | "proteasesite" | "proteinstab" | "rpromoter" | "rarrow" | "larrow" | "lpromoter" | "record";
18
- declare type JssmArrowDirection = 'left' | 'right' | 'both';
19
- declare type JssmArrowKind = 'none' | 'legal' | 'main' | 'forced';
20
- declare type JssmLayout = 'dot' | 'circo' | 'twopi' | 'fdp';
21
- declare type JssmCorner = 'regular' | 'rounded' | 'lined';
22
- declare type JssmLineStyle = 'solid' | 'dashed' | 'dotted';
23
- declare type FslDirection = 'up' | 'right' | 'down' | 'left';
24
- declare type FslTheme = 'default' | 'ocean' | 'modern' | 'none';
25
- declare type JssmTransitionPermitter<DataType> = (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
26
- declare type JssmTransitionPermitterMaybeArray<DataType> = JssmTransitionPermitter<DataType> | Array<JssmTransitionPermitter<DataType>>;
27
- declare type JssmTransition<DataType> = {
28
- from: StateType;
29
- to: StateType;
30
- name?: string;
31
- action?: StateType;
32
- check?: JssmTransitionPermitterMaybeArray<DataType>;
33
- probability?: number;
34
- kind: JssmArrowKind;
35
- forced_only: boolean;
36
- main_path: boolean;
37
- };
38
- declare type JssmTransitions<DataType> = Array<JssmTransition<DataType>>;
39
- declare type JssmTransitionList = {
40
- entrances: Array<StateType>;
41
- exits: Array<StateType>;
42
- };
43
- declare type JssmTransitionCycle = {
44
- key: 'cycle';
45
- value: StateType;
46
- };
47
- declare type JssmTransitionRule = StateType | JssmTransitionCycle;
48
- declare type JssmGenericState = {
49
- from: Array<StateType>;
50
- name: StateType;
51
- to: Array<StateType>;
52
- complete: boolean;
53
- };
54
- declare type JssmMachineInternalState<DataType> = {
55
- internal_state_impl_version: 1;
56
- state: StateType;
57
- states: Map<StateType, JssmGenericState>;
58
- named_transitions: Map<StateType, number>;
59
- edge_map: Map<StateType, Map<StateType, number>>;
60
- actions: Map<StateType, Map<StateType, number>>;
61
- reverse_actions: Map<StateType, Map<StateType, number>>;
62
- edges: Array<JssmTransition<DataType>>;
63
- };
64
- declare type JssmStatePermitter<DataType> = (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
65
- declare type JssmStatePermitterMaybeArray<DataType> = JssmStatePermitter<DataType> | Array<JssmStatePermitter<DataType>>;
66
- declare type JssmGenericMachine<DataType> = {
67
- name?: string;
68
- state: StateType;
69
- data?: DataType;
70
- nodes?: Array<StateType>;
71
- transitions: JssmTransitions<DataType>;
72
- check?: JssmStatePermitterMaybeArray<DataType>;
73
- min_transitions?: number;
74
- max_transitions?: number;
75
- allow_empty?: boolean;
76
- allow_islands?: boolean;
77
- allow_force?: boolean;
78
- keep_history?: boolean | number;
79
- };
80
- declare type JssmStateDeclarationRule = {
81
- key: string;
82
- value: any;
83
- };
84
- declare type JssmStateDeclaration = {
85
- declarations: Array<JssmStateDeclarationRule>;
86
- shape?: JssmShape;
87
- color?: JssmColor;
88
- corners?: JssmCorner;
89
- linestyle?: JssmLineStyle;
90
- textColor?: JssmColor;
91
- backgroundColor?: JssmColor;
92
- borderColor?: JssmColor;
93
- state: StateType;
94
- };
95
- declare type JssmGenericConfig<DataType> = {
96
- graph_layout?: JssmLayout;
97
- complete?: Array<StateType>;
98
- transitions: JssmTransitions<DataType>;
99
- theme?: FslTheme;
100
- flow?: FslDirection;
101
- name?: string;
102
- data?: DataType;
103
- nodes?: Array<StateType>;
104
- check?: JssmStatePermitterMaybeArray<DataType>;
105
- min_exits?: number;
106
- max_exits?: number;
107
- allow_islands?: false;
108
- allow_force?: false;
109
- actions?: JssmPermittedOpt;
110
- simplify_bidi?: boolean;
111
- dot_preamble?: string;
112
- start_states: Array<StateType>;
113
- end_states?: Array<StateType>;
114
- state_declaration?: Array<Object>;
115
- arrange_declaration?: Array<Array<StateType>>;
116
- arrange_start_declaration?: Array<Array<StateType>>;
117
- arrange_end_declaration?: Array<Array<StateType>>;
118
- machine_author?: string | Array<string>;
119
- machine_comment?: string;
120
- machine_contributor?: string | Array<string>;
121
- machine_definition?: string;
122
- machine_language?: string;
123
- machine_license?: string;
124
- machine_name?: string;
125
- machine_version?: string;
126
- fsl_version?: string;
127
- auto_api?: boolean | string;
128
- };
129
- declare type JssmCompileRule = {
130
- agg_as: string;
131
- val: any;
132
- };
133
- declare type JssmCompileSe = {
134
- to: StateType;
135
- se: JssmCompileSe;
136
- kind: JssmArrow;
137
- l_action?: StateType;
138
- r_action?: StateType;
139
- l_probability: number;
140
- r_probability: number;
141
- };
142
- declare type JssmCompileSeStart<DataType> = {
143
- from: DataType;
144
- se: JssmCompileSe;
145
- key: string;
146
- value?: string | number;
147
- name?: string;
148
- };
149
- declare type JssmParseTree = Array<JssmCompileSeStart<StateType>>;
150
- declare type JssmParseFunctionType = (string: any) => JssmParseTree;
151
- export { JssmColor, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmLayout, JssmParseFunctionType, JssmMachineInternalState, FslDirection, FslTheme };
1
+ declare type StateType = string;
2
+ declare type JssmSuccess = {
3
+ success: true;
4
+ };
5
+ declare type JssmFailure = {
6
+ success: false;
7
+ error: any;
8
+ };
9
+ declare type JssmIncomplete = {
10
+ success: 'incomplete';
11
+ };
12
+ declare type JssmResult = JssmSuccess | JssmFailure | JssmIncomplete;
13
+ declare type JssmColor = string;
14
+ declare type JssmPermitted = 'required' | 'disallowed';
15
+ declare type JssmPermittedOpt = 'required' | 'disallowed' | 'optional';
16
+ declare type JssmArrow = '->' | '<-' | '<->' | '<=->' | '<~->' | '=>' | '<=' | '<=>' | '<-=>' | '<~=>' | '~>' | '<~' | '<~>' | '<-~>' | '<=~>';
17
+ declare type JssmShape = "box" | "polygon" | "ellipse" | "oval" | "circle" | "point" | "egg" | "triangle" | "plaintext" | "plain" | "diamond" | "trapezium" | "parallelogram" | "house" | "pentagon" | "hexagon" | "septagon" | "octagon" | "doublecircle" | "doubleoctagon" | "tripleoctagon" | "invtriangle" | "invtrapezium" | "invhouse" | "Mdiamond" | "Msquare" | "Mcircle" | "rect" | "rectangle" | "square" | "star" | "none" | "underline" | "cylinder" | "note" | "tab" | "folder" | "box3d" | "component" | "promoter" | "cds" | "terminator" | "utr" | "primersite" | "restrictionsite" | "fivepoverhang" | "threepoverhang" | "noverhang" | "assembly" | "signature" | "insulator" | "ribosite" | "rnastab" | "proteasesite" | "proteinstab" | "rpromoter" | "rarrow" | "larrow" | "lpromoter" | "record";
18
+ declare type JssmArrowDirection = 'left' | 'right' | 'both';
19
+ declare type JssmArrowKind = 'none' | 'legal' | 'main' | 'forced';
20
+ declare type JssmLayout = 'dot' | 'circo' | 'twopi' | 'fdp';
21
+ declare type JssmCorner = 'regular' | 'rounded' | 'lined';
22
+ declare type JssmLineStyle = 'solid' | 'dashed' | 'dotted';
23
+ declare type FslDirection = 'up' | 'right' | 'down' | 'left';
24
+ declare type FslTheme = 'default' | 'ocean' | 'modern' | 'none';
25
+ declare type JssmTransitionPermitter<DataType> = (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
26
+ declare type JssmTransitionPermitterMaybeArray<DataType> = JssmTransitionPermitter<DataType> | Array<JssmTransitionPermitter<DataType>>;
27
+ declare type JssmTransition<DataType> = {
28
+ from: StateType;
29
+ to: StateType;
30
+ name?: string;
31
+ action?: StateType;
32
+ check?: JssmTransitionPermitterMaybeArray<DataType>;
33
+ probability?: number;
34
+ kind: JssmArrowKind;
35
+ forced_only: boolean;
36
+ main_path: boolean;
37
+ };
38
+ declare type JssmTransitions<DataType> = Array<JssmTransition<DataType>>;
39
+ declare type JssmTransitionList = {
40
+ entrances: Array<StateType>;
41
+ exits: Array<StateType>;
42
+ };
43
+ declare type JssmTransitionCycle = {
44
+ key: 'cycle';
45
+ value: StateType;
46
+ };
47
+ declare type JssmTransitionRule = StateType | JssmTransitionCycle;
48
+ declare type JssmGenericState = {
49
+ from: Array<StateType>;
50
+ name: StateType;
51
+ to: Array<StateType>;
52
+ complete: boolean;
53
+ };
54
+ declare type JssmMachineInternalState<DataType> = {
55
+ internal_state_impl_version: 1;
56
+ state: StateType;
57
+ states: Map<StateType, JssmGenericState>;
58
+ named_transitions: Map<StateType, number>;
59
+ edge_map: Map<StateType, Map<StateType, number>>;
60
+ actions: Map<StateType, Map<StateType, number>>;
61
+ reverse_actions: Map<StateType, Map<StateType, number>>;
62
+ edges: Array<JssmTransition<DataType>>;
63
+ };
64
+ declare type JssmStatePermitter<DataType> = (OldState: StateType, NewState: StateType, OldData: DataType, NewData: DataType) => boolean;
65
+ declare type JssmStatePermitterMaybeArray<DataType> = JssmStatePermitter<DataType> | Array<JssmStatePermitter<DataType>>;
66
+ declare type JssmGenericMachine<DataType> = {
67
+ name?: string;
68
+ state: StateType;
69
+ data?: DataType;
70
+ nodes?: Array<StateType>;
71
+ transitions: JssmTransitions<DataType>;
72
+ check?: JssmStatePermitterMaybeArray<DataType>;
73
+ min_transitions?: number;
74
+ max_transitions?: number;
75
+ allow_empty?: boolean;
76
+ allow_islands?: boolean;
77
+ allow_force?: boolean;
78
+ keep_history?: boolean | number;
79
+ };
80
+ declare type JssmStateDeclarationRule = {
81
+ key: string;
82
+ value: any;
83
+ };
84
+ declare type JssmStateDeclaration = {
85
+ declarations: Array<JssmStateDeclarationRule>;
86
+ shape?: JssmShape;
87
+ color?: JssmColor;
88
+ corners?: JssmCorner;
89
+ linestyle?: JssmLineStyle;
90
+ textColor?: JssmColor;
91
+ backgroundColor?: JssmColor;
92
+ borderColor?: JssmColor;
93
+ state: StateType;
94
+ };
95
+ declare type JssmGenericConfig<DataType> = {
96
+ graph_layout?: JssmLayout;
97
+ complete?: Array<StateType>;
98
+ transitions: JssmTransitions<DataType>;
99
+ theme?: FslTheme;
100
+ flow?: FslDirection;
101
+ name?: string;
102
+ data?: DataType;
103
+ nodes?: Array<StateType>;
104
+ check?: JssmStatePermitterMaybeArray<DataType>;
105
+ min_exits?: number;
106
+ max_exits?: number;
107
+ allow_islands?: false;
108
+ allow_force?: false;
109
+ actions?: JssmPermittedOpt;
110
+ simplify_bidi?: boolean;
111
+ dot_preamble?: string;
112
+ start_states: Array<StateType>;
113
+ end_states?: Array<StateType>;
114
+ state_declaration?: Array<Object>;
115
+ arrange_declaration?: Array<Array<StateType>>;
116
+ arrange_start_declaration?: Array<Array<StateType>>;
117
+ arrange_end_declaration?: Array<Array<StateType>>;
118
+ machine_author?: string | Array<string>;
119
+ machine_comment?: string;
120
+ machine_contributor?: string | Array<string>;
121
+ machine_definition?: string;
122
+ machine_language?: string;
123
+ machine_license?: string;
124
+ machine_name?: string;
125
+ machine_version?: string;
126
+ fsl_version?: string;
127
+ auto_api?: boolean | string;
128
+ };
129
+ declare type JssmCompileRule = {
130
+ agg_as: string;
131
+ val: any;
132
+ };
133
+ declare type JssmCompileSe = {
134
+ to: StateType;
135
+ se: JssmCompileSe;
136
+ kind: JssmArrow;
137
+ l_action?: StateType;
138
+ r_action?: StateType;
139
+ l_probability: number;
140
+ r_probability: number;
141
+ };
142
+ declare type JssmCompileSeStart<DataType> = {
143
+ from: DataType;
144
+ se: JssmCompileSe;
145
+ key: string;
146
+ value?: string | number;
147
+ name?: string;
148
+ };
149
+ declare type JssmParseTree = Array<JssmCompileSeStart<StateType>>;
150
+ declare type JssmParseFunctionType = (string: any) => JssmParseTree;
151
+ export { JssmColor, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmLayout, JssmParseFunctionType, JssmMachineInternalState, FslDirection, FslTheme };
package/jssm_util.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- declare function arr_uniq_p<T>(el: T, i: number, source: T[]): boolean;
2
- declare const array_box_if_string: (n: any) => any;
3
- declare const weighted_rand_select: Function;
4
- declare const seq: Function;
5
- declare const histograph: Function;
6
- declare const weighted_sample_select: Function;
7
- declare const weighted_histo_key: Function;
8
- export { seq, arr_uniq_p, histograph, weighted_histo_key, weighted_rand_select, weighted_sample_select, array_box_if_string };
1
+ declare function arr_uniq_p<T>(el: T, i: number, source: T[]): boolean;
2
+ declare const array_box_if_string: (n: any) => any;
3
+ declare const weighted_rand_select: Function;
4
+ declare const seq: Function;
5
+ declare const histograph: Function;
6
+ declare const weighted_sample_select: Function;
7
+ declare const weighted_histo_key: Function;
8
+ export { seq, arr_uniq_p, histograph, weighted_histo_key, weighted_rand_select, weighted_sample_select, array_box_if_string };