@primmel/primmel 1.0.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 (223) hide show
  1. package/LICENSE +21 -0
  2. package/README.adoc +52 -0
  3. package/dist/index.d.ts +23 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +9 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/ser-des/config/approval.d.ts +6 -0
  8. package/dist/src/ser-des/config/approval.d.ts.map +1 -0
  9. package/dist/src/ser-des/config/approval.js +115 -0
  10. package/dist/src/ser-des/config/approval.js.map +1 -0
  11. package/dist/src/ser-des/config/calculation.d.ts +7 -0
  12. package/dist/src/ser-des/config/calculation.d.ts.map +1 -0
  13. package/dist/src/ser-des/config/calculation.js +182 -0
  14. package/dist/src/ser-des/config/calculation.js.map +1 -0
  15. package/dist/src/ser-des/config/data.d.ts +12 -0
  16. package/dist/src/ser-des/config/data.d.ts.map +1 -0
  17. package/dist/src/ser-des/config/data.js +278 -0
  18. package/dist/src/ser-des/config/data.js.map +1 -0
  19. package/dist/src/ser-des/config/event.d.ts +8 -0
  20. package/dist/src/ser-des/config/event.d.ts.map +1 -0
  21. package/dist/src/ser-des/config/event.js +144 -0
  22. package/dist/src/ser-des/config/event.js.map +1 -0
  23. package/dist/src/ser-des/config/figure.d.ts +5 -0
  24. package/dist/src/ser-des/config/figure.d.ts.map +1 -0
  25. package/dist/src/ser-des/config/figure.js +42 -0
  26. package/dist/src/ser-des/config/figure.js.map +1 -0
  27. package/dist/src/ser-des/config/flow.d.ts +20 -0
  28. package/dist/src/ser-des/config/flow.d.ts.map +1 -0
  29. package/dist/src/ser-des/config/flow.js +288 -0
  30. package/dist/src/ser-des/config/flow.js.map +1 -0
  31. package/dist/src/ser-des/config/form.d.ts +5 -0
  32. package/dist/src/ser-des/config/form.d.ts.map +1 -0
  33. package/dist/src/ser-des/config/form.js +353 -0
  34. package/dist/src/ser-des/config/form.js.map +1 -0
  35. package/dist/src/ser-des/config/gateway.d.ts +5 -0
  36. package/dist/src/ser-des/config/gateway.d.ts.map +1 -0
  37. package/dist/src/ser-des/config/gateway.js +50 -0
  38. package/dist/src/ser-des/config/gateway.js.map +1 -0
  39. package/dist/src/ser-des/config/index.d.ts +5 -0
  40. package/dist/src/ser-des/config/index.d.ts.map +1 -0
  41. package/dist/src/ser-des/config/index.js +266 -0
  42. package/dist/src/ser-des/config/index.js.map +1 -0
  43. package/dist/src/ser-des/config/link.d.ts +5 -0
  44. package/dist/src/ser-des/config/link.d.ts.map +1 -0
  45. package/dist/src/ser-des/config/link.js +55 -0
  46. package/dist/src/ser-des/config/link.js.map +1 -0
  47. package/dist/src/ser-des/config/mapProfile.d.ts +5 -0
  48. package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -0
  49. package/dist/src/ser-des/config/mapProfile.js +65 -0
  50. package/dist/src/ser-des/config/mapProfile.js.map +1 -0
  51. package/dist/src/ser-des/config/metadata.d.ts +5 -0
  52. package/dist/src/ser-des/config/metadata.d.ts.map +1 -0
  53. package/dist/src/ser-des/config/metadata.js +64 -0
  54. package/dist/src/ser-des/config/metadata.js.map +1 -0
  55. package/dist/src/ser-des/config/note.d.ts +7 -0
  56. package/dist/src/ser-des/config/note.d.ts.map +1 -0
  57. package/dist/src/ser-des/config/note.js +77 -0
  58. package/dist/src/ser-des/config/note.js.map +1 -0
  59. package/dist/src/ser-des/config/process.d.ts +6 -0
  60. package/dist/src/ser-des/config/process.d.ts.map +1 -0
  61. package/dist/src/ser-des/config/process.js +152 -0
  62. package/dist/src/ser-des/config/process.js.map +1 -0
  63. package/dist/src/ser-des/config/provision.d.ts +7 -0
  64. package/dist/src/ser-des/config/provision.d.ts.map +1 -0
  65. package/dist/src/ser-des/config/provision.js +81 -0
  66. package/dist/src/ser-des/config/provision.js.map +1 -0
  67. package/dist/src/ser-des/config/reference.d.ts +5 -0
  68. package/dist/src/ser-des/config/reference.d.ts.map +1 -0
  69. package/dist/src/ser-des/config/reference.js +46 -0
  70. package/dist/src/ser-des/config/reference.js.map +1 -0
  71. package/dist/src/ser-des/config/role.d.ts +5 -0
  72. package/dist/src/ser-des/config/role.d.ts.map +1 -0
  73. package/dist/src/ser-des/config/role.js +39 -0
  74. package/dist/src/ser-des/config/role.js.map +1 -0
  75. package/dist/src/ser-des/config/stateMachine.d.ts +5 -0
  76. package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -0
  77. package/dist/src/ser-des/config/stateMachine.js +175 -0
  78. package/dist/src/ser-des/config/stateMachine.js.map +1 -0
  79. package/dist/src/ser-des/config/subform.d.ts +5 -0
  80. package/dist/src/ser-des/config/subform.d.ts.map +1 -0
  81. package/dist/src/ser-des/config/subform.js +248 -0
  82. package/dist/src/ser-des/config/subform.js.map +1 -0
  83. package/dist/src/ser-des/config/symbol.d.ts +7 -0
  84. package/dist/src/ser-des/config/symbol.d.ts.map +1 -0
  85. package/dist/src/ser-des/config/symbol.js +111 -0
  86. package/dist/src/ser-des/config/symbol.js.map +1 -0
  87. package/dist/src/ser-des/config/table.d.ts +5 -0
  88. package/dist/src/ser-des/config/table.d.ts.map +1 -0
  89. package/dist/src/ser-des/config/table.js +92 -0
  90. package/dist/src/ser-des/config/table.js.map +1 -0
  91. package/dist/src/ser-des/config/viewProfile.d.ts +5 -0
  92. package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -0
  93. package/dist/src/ser-des/config/viewProfile.js +57 -0
  94. package/dist/src/ser-des/config/viewProfile.js.map +1 -0
  95. package/dist/src/ser-des/dump.d.ts +12 -0
  96. package/dist/src/ser-des/dump.d.ts.map +1 -0
  97. package/dist/src/ser-des/dump.js +28 -0
  98. package/dist/src/ser-des/dump.js.map +1 -0
  99. package/dist/src/ser-des/includes.d.ts +13 -0
  100. package/dist/src/ser-des/includes.d.ts.map +1 -0
  101. package/dist/src/ser-des/includes.js +51 -0
  102. package/dist/src/ser-des/includes.js.map +1 -0
  103. package/dist/src/ser-des/index.d.ts +19 -0
  104. package/dist/src/ser-des/index.d.ts.map +1 -0
  105. package/dist/src/ser-des/index.js +33 -0
  106. package/dist/src/ser-des/index.js.map +1 -0
  107. package/dist/src/ser-des/parse.d.ts +11 -0
  108. package/dist/src/ser-des/parse.d.ts.map +1 -0
  109. package/dist/src/ser-des/parse.js +64 -0
  110. package/dist/src/ser-des/parse.js.map +1 -0
  111. package/dist/src/ser-des/resolve.d.ts +22 -0
  112. package/dist/src/ser-des/resolve.d.ts.map +1 -0
  113. package/dist/src/ser-des/resolve.js +110 -0
  114. package/dist/src/ser-des/resolve.js.map +1 -0
  115. package/dist/src/ser-des/tokenize.d.ts +5 -0
  116. package/dist/src/ser-des/tokenize.d.ts.map +1 -0
  117. package/dist/src/ser-des/tokenize.js +127 -0
  118. package/dist/src/ser-des/tokenize.js.map +1 -0
  119. package/dist/src/ser-des/types.d.ts +65 -0
  120. package/dist/src/ser-des/types.d.ts.map +1 -0
  121. package/dist/src/ser-des/types.js +3 -0
  122. package/dist/src/ser-des/types.js.map +1 -0
  123. package/dist/src/types/Approval.d.ts +15 -0
  124. package/dist/src/types/Approval.d.ts.map +1 -0
  125. package/dist/src/types/Approval.js +3 -0
  126. package/dist/src/types/Approval.js.map +1 -0
  127. package/dist/src/types/Calculation.d.ts +26 -0
  128. package/dist/src/types/Calculation.d.ts.map +1 -0
  129. package/dist/src/types/Calculation.js +3 -0
  130. package/dist/src/types/Calculation.js.map +1 -0
  131. package/dist/src/types/Figure.d.ts +9 -0
  132. package/dist/src/types/Figure.d.ts.map +1 -0
  133. package/dist/src/types/Figure.js +3 -0
  134. package/dist/src/types/Figure.js.map +1 -0
  135. package/dist/src/types/Form.d.ts +67 -0
  136. package/dist/src/types/Form.d.ts.map +1 -0
  137. package/dist/src/types/Form.js +3 -0
  138. package/dist/src/types/Form.js.map +1 -0
  139. package/dist/src/types/Gateway.d.ts +14 -0
  140. package/dist/src/types/Gateway.d.ts.map +1 -0
  141. package/dist/src/types/Gateway.js +3 -0
  142. package/dist/src/types/Gateway.js.map +1 -0
  143. package/dist/src/types/Link.d.ts +11 -0
  144. package/dist/src/types/Link.d.ts.map +1 -0
  145. package/dist/src/types/Link.js +3 -0
  146. package/dist/src/types/Link.js.map +1 -0
  147. package/dist/src/types/MapProfile.d.ts +9 -0
  148. package/dist/src/types/MapProfile.d.ts.map +1 -0
  149. package/dist/src/types/MapProfile.js +3 -0
  150. package/dist/src/types/MapProfile.js.map +1 -0
  151. package/dist/src/types/Metadata.d.ts +9 -0
  152. package/dist/src/types/Metadata.d.ts.map +1 -0
  153. package/dist/src/types/Metadata.js +3 -0
  154. package/dist/src/types/Metadata.js.map +1 -0
  155. package/dist/src/types/Node.d.ts +4 -0
  156. package/dist/src/types/Node.d.ts.map +1 -0
  157. package/dist/src/types/Node.js +3 -0
  158. package/dist/src/types/Node.js.map +1 -0
  159. package/dist/src/types/Note.d.ts +12 -0
  160. package/dist/src/types/Note.d.ts.map +1 -0
  161. package/dist/src/types/Note.js +3 -0
  162. package/dist/src/types/Note.js.map +1 -0
  163. package/dist/src/types/ParallelGateway.d.ts +3 -0
  164. package/dist/src/types/ParallelGateway.d.ts.map +1 -0
  165. package/dist/src/types/ParallelGateway.js +3 -0
  166. package/dist/src/types/ParallelGateway.js.map +1 -0
  167. package/dist/src/types/Provision.d.ts +11 -0
  168. package/dist/src/types/Provision.d.ts.map +1 -0
  169. package/dist/src/types/Provision.js +3 -0
  170. package/dist/src/types/Provision.js.map +1 -0
  171. package/dist/src/types/Reference.d.ts +6 -0
  172. package/dist/src/types/Reference.d.ts.map +1 -0
  173. package/dist/src/types/Reference.js +3 -0
  174. package/dist/src/types/Reference.js.map +1 -0
  175. package/dist/src/types/Resolvable.d.ts +7 -0
  176. package/dist/src/types/Resolvable.d.ts.map +1 -0
  177. package/dist/src/types/Resolvable.js +3 -0
  178. package/dist/src/types/Resolvable.js.map +1 -0
  179. package/dist/src/types/Role.d.ts +5 -0
  180. package/dist/src/types/Role.d.ts.map +1 -0
  181. package/dist/src/types/Role.js +3 -0
  182. package/dist/src/types/Role.js.map +1 -0
  183. package/dist/src/types/Standard.d.ts +49 -0
  184. package/dist/src/types/Standard.d.ts.map +1 -0
  185. package/dist/src/types/Standard.js +3 -0
  186. package/dist/src/types/Standard.js.map +1 -0
  187. package/dist/src/types/StateMachine.d.ts +38 -0
  188. package/dist/src/types/StateMachine.d.ts.map +1 -0
  189. package/dist/src/types/StateMachine.js +3 -0
  190. package/dist/src/types/StateMachine.js.map +1 -0
  191. package/dist/src/types/Subform.d.ts +30 -0
  192. package/dist/src/types/Subform.d.ts.map +1 -0
  193. package/dist/src/types/Subform.js +3 -0
  194. package/dist/src/types/Subform.js.map +1 -0
  195. package/dist/src/types/Symbol.d.ts +16 -0
  196. package/dist/src/types/Symbol.d.ts.map +1 -0
  197. package/dist/src/types/Symbol.js +3 -0
  198. package/dist/src/types/Symbol.js.map +1 -0
  199. package/dist/src/types/Table.d.ts +12 -0
  200. package/dist/src/types/Table.d.ts.map +1 -0
  201. package/dist/src/types/Table.js +3 -0
  202. package/dist/src/types/Table.js.map +1 -0
  203. package/dist/src/types/ViewProfile.d.ts +10 -0
  204. package/dist/src/types/ViewProfile.d.ts.map +1 -0
  205. package/dist/src/types/ViewProfile.js +3 -0
  206. package/dist/src/types/ViewProfile.js.map +1 -0
  207. package/dist/src/types/data.d.ts +42 -0
  208. package/dist/src/types/data.d.ts.map +1 -0
  209. package/dist/src/types/data.js +3 -0
  210. package/dist/src/types/data.js.map +1 -0
  211. package/dist/src/types/events.d.ts +20 -0
  212. package/dist/src/types/events.d.ts.map +1 -0
  213. package/dist/src/types/events.js +3 -0
  214. package/dist/src/types/events.js.map +1 -0
  215. package/dist/src/types/flow.d.ts +32 -0
  216. package/dist/src/types/flow.d.ts.map +1 -0
  217. package/dist/src/types/flow.js +3 -0
  218. package/dist/src/types/flow.js.map +1 -0
  219. package/dist/src/types/process.d.ts +18 -0
  220. package/dist/src/types/process.d.ts.map +1 -0
  221. package/dist/src/types/process.js +3 -0
  222. package/dist/src/types/process.js.map +1 -0
  223. package/package.json +43 -0
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpNote = exports.resolveNote = exports.parseNote = void 0;
4
+ const tokenize_1 = require("../tokenize");
5
+ const resolve_1 = require("../resolve");
6
+ const VALID_NOTE_TYPES = ['NOTE', 'CAUTION', 'WARNING'];
7
+ const parseNote = function (id, data) {
8
+ const result = {
9
+ id: id,
10
+ type: 'NOTE',
11
+ message: '',
12
+ ref: [],
13
+ _relations: {
14
+ ref: [],
15
+ },
16
+ };
17
+ if (data !== '') {
18
+ const t = (0, tokenize_1.tokenizePackage)(data);
19
+ let i = 0;
20
+ while (i < t.length) {
21
+ const command = t[i++];
22
+ if (i < t.length) {
23
+ if (command === 'type') {
24
+ const v = t[i++];
25
+ if (!VALID_NOTE_TYPES.includes(v)) {
26
+ throw new Error(`Parsing error: note. ID ${id}: Unknown type ${v} (valid: ${VALID_NOTE_TYPES.join(', ')})`);
27
+ }
28
+ result.type = v;
29
+ }
30
+ else if (command === 'message') {
31
+ result.message = (0, tokenize_1.removePackage)(t[i++]);
32
+ }
33
+ else if (command === 'reference') {
34
+ result._relations.ref = (0, tokenize_1.tokenizePackage)(t[i++]);
35
+ }
36
+ else {
37
+ i++; // forward-compatible: skip unknown keyword value
38
+ }
39
+ }
40
+ else {
41
+ throw new Error(`Parsing error: note. ID ${id}: Expecting value for ${command}`);
42
+ }
43
+ }
44
+ }
45
+ return ctx => {
46
+ ctx.notes[id] = result;
47
+ return ctx;
48
+ };
49
+ };
50
+ exports.parseNote = parseNote;
51
+ const resolveNote = function (ctx, unresolved) {
52
+ const ref = [];
53
+ for (const id of unresolved._relations.ref) {
54
+ const r = (0, resolve_1.resolveFromContext)(ctx, 'references', id);
55
+ if (r !== undefined) {
56
+ ref.push(r);
57
+ }
58
+ }
59
+ return { ...unresolved, ref };
60
+ };
61
+ exports.resolveNote = resolveNote;
62
+ const dumpNote = function (n) {
63
+ let out = 'note ' + n.id + ' {\n';
64
+ out += ' type ' + n.type + '\n';
65
+ out += ' message "' + n.message + '"\n';
66
+ if (n.ref.length > 0) {
67
+ out += ' reference {\n';
68
+ for (const r of n.ref) {
69
+ out += ' ' + r.id + '\n';
70
+ }
71
+ out += ' }\n';
72
+ }
73
+ out += '}\n';
74
+ return out;
75
+ };
76
+ exports.dumpNote = dumpNote;
77
+ //# sourceMappingURL=note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.js","sourceRoot":"","sources":["../../../../src/ser-des/config/note.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import Process, { ResolvableProcess } from '../../types/process';
2
+ import { Dumper, Parser, Resolver } from '../types';
3
+ export declare const parseProcess: Parser;
4
+ export declare const resolveProcess: Resolver<Process, ResolvableProcess>;
5
+ export declare const dumpProcess: Dumper<Process>;
6
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/process.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMpD,eAAO,MAAM,YAAY,EAAE,MAwD1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAuC/D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,CA0CvC,CAAC"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpProcess = exports.resolveProcess = exports.parseProcess = void 0;
4
+ const resolve_1 = require("../resolve");
5
+ const tokenize_1 = require("../tokenize");
6
+ const parseProcess = function (id, data) {
7
+ const result = {
8
+ id: id,
9
+ name: '',
10
+ modality: '',
11
+ actor: null,
12
+ output: [],
13
+ input: [],
14
+ provision: [],
15
+ page: null,
16
+ measure: [],
17
+ _relations: {
18
+ actor: '',
19
+ output: [],
20
+ input: [],
21
+ provision: [],
22
+ page: '',
23
+ },
24
+ };
25
+ if (data !== '') {
26
+ const t = (0, tokenize_1.tokenizePackage)(data);
27
+ let i = 0;
28
+ while (i < t.length) {
29
+ const keyword = t[i++];
30
+ if (i < t.length) {
31
+ if (keyword === 'modality') {
32
+ result.modality = t[i++];
33
+ }
34
+ else if (keyword === 'name') {
35
+ result.name = (0, tokenize_1.removePackage)(t[i++]);
36
+ }
37
+ else if (keyword === 'actor') {
38
+ result._relations.actor = t[i++];
39
+ }
40
+ else if (keyword === 'subprocess') {
41
+ result._relations.page = t[i++];
42
+ }
43
+ else if (keyword === 'validate_provision') {
44
+ result._relations.provision = (0, tokenize_1.tokenizePackage)(t[i++]);
45
+ }
46
+ else if (keyword === 'validate_measurement') {
47
+ result.measure = (0, tokenize_1.tokenizePackage)(t[i++]).map(x => (0, tokenize_1.removePackage)(x));
48
+ }
49
+ else if (keyword === 'output') {
50
+ result._relations.output = (0, tokenize_1.tokenizePackage)(t[i++]);
51
+ }
52
+ else if (keyword === 'reference_data_registry') {
53
+ result._relations.input = (0, tokenize_1.tokenizePackage)(t[i++]);
54
+ }
55
+ else {
56
+ i++; // forward-compatible: skip unknown keyword value
57
+ }
58
+ }
59
+ else {
60
+ throw new Error(`Parsing error: process. ID ${id}: Expecting value for ${keyword}`);
61
+ }
62
+ }
63
+ }
64
+ return ctx => {
65
+ ctx.processes[id] = result;
66
+ return ctx;
67
+ };
68
+ };
69
+ exports.parseProcess = parseProcess;
70
+ const resolveProcess = function (ctx, unresolved) {
71
+ const { _relations, ...rest } = unresolved;
72
+ const p = {
73
+ ...rest,
74
+ output: [],
75
+ input: [],
76
+ provision: [],
77
+ actor: null,
78
+ page: null,
79
+ };
80
+ for (const id of _relations.output) {
81
+ const r = (0, resolve_1.resolveFromContext)(ctx, 'registers', id);
82
+ if (r !== undefined) {
83
+ p.output.push(r);
84
+ }
85
+ }
86
+ for (const id of _relations.input) {
87
+ const r = (0, resolve_1.resolveFromContext)(ctx, 'registers', id);
88
+ if (r !== undefined) {
89
+ p.input.push(r);
90
+ }
91
+ }
92
+ for (const id of _relations.provision) {
93
+ const r = (0, resolve_1.resolveFromContext)(ctx, 'provisions', id);
94
+ if (r !== undefined) {
95
+ p.provision.push(r);
96
+ }
97
+ }
98
+ if (_relations.actor !== '') {
99
+ p.actor = (0, resolve_1.resolveFromContext)(ctx, 'roles', _relations.actor) ?? null;
100
+ }
101
+ if (_relations.page !== '') {
102
+ const page = (0, resolve_1.resolveFromContext)(ctx, 'pages', _relations.page);
103
+ p.page = page ?? null;
104
+ }
105
+ return p;
106
+ };
107
+ exports.resolveProcess = resolveProcess;
108
+ const dumpProcess = function (process) {
109
+ let out = 'process ' + process.id + ' {\n';
110
+ out += ' name "' + process.name + '"\n';
111
+ if (process.actor !== null) {
112
+ out += ' actor ' + process.actor.id + '\n';
113
+ }
114
+ if (process.modality !== '') {
115
+ out += ' modality ' + process.modality + '\n';
116
+ }
117
+ if (process.input.length > 0) {
118
+ out += ' reference_data_registry {\n';
119
+ for (const dr of process.input) {
120
+ out += ' ' + dr.id + '\n';
121
+ }
122
+ out += ' }\n';
123
+ }
124
+ if (process.provision.length > 0) {
125
+ out += ' validate_provision {\n';
126
+ for (const r of process.provision) {
127
+ out += ' ' + r.id + '\n';
128
+ }
129
+ out += ' }\n';
130
+ }
131
+ if (process.measure.length > 0) {
132
+ out += ' validate_measurement {\n';
133
+ for (const v of process.measure) {
134
+ out += ' "' + v + '"\n';
135
+ }
136
+ out += ' }\n';
137
+ }
138
+ if (process.output.length > 0) {
139
+ out += ' output {\n';
140
+ for (const c of process.output) {
141
+ out += ' ' + c.id + '\n';
142
+ }
143
+ out += ' }\n';
144
+ }
145
+ if (process.page !== null) {
146
+ out += ' subprocess ' + process.page.id + '\n';
147
+ }
148
+ out += '}\n';
149
+ return out;
150
+ };
151
+ exports.dumpProcess = dumpProcess;
152
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/ser-des/config/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type Provision from '../../types/Provision';
2
+ import type { Dumper, Parser, Resolver } from '../types';
3
+ import { ResolvableProvision } from '../../types/Provision';
4
+ export declare const parseProvision: Parser;
5
+ export declare const resolveProvision: Resolver<Provision, ResolvableProvision>;
6
+ export declare const dumpProvision: Dumper<Provision>;
7
+ //# sourceMappingURL=provision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/provision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,eAAO,MAAM,cAAc,EAAE,MA0C5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAUnE,CAAC;AAEJ,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAkB3C,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpProvision = exports.resolveProvision = exports.parseProvision = void 0;
4
+ const tokenize_1 = require("../tokenize");
5
+ const resolve_1 = require("../resolve");
6
+ const parseProvision = function (id, data) {
7
+ const result = {
8
+ subject: new Map(),
9
+ id: id,
10
+ modality: '',
11
+ condition: '',
12
+ ref: [],
13
+ _relations: {
14
+ ref: [],
15
+ },
16
+ };
17
+ if (data !== '') {
18
+ const t = (0, tokenize_1.tokenizePackage)(data);
19
+ let i = 0;
20
+ while (i < t.length) {
21
+ const command = t[i++];
22
+ if (i < t.length) {
23
+ if (command === 'modality') {
24
+ result.modality = t[i++];
25
+ }
26
+ else if (command === 'condition') {
27
+ result.condition = (0, tokenize_1.removePackage)(t[i++]);
28
+ }
29
+ else if (command === 'reference') {
30
+ result._relations.ref = (0, tokenize_1.tokenizePackage)(t[i++]);
31
+ }
32
+ else {
33
+ result.subject.set(command, t[i++]);
34
+ }
35
+ }
36
+ else {
37
+ throw new Error('Parsing error: provision. ID ' +
38
+ id +
39
+ ': Expecting value for ' +
40
+ command);
41
+ }
42
+ }
43
+ }
44
+ return ctx => {
45
+ ctx.provisions[id] = result;
46
+ return ctx;
47
+ };
48
+ };
49
+ exports.parseProvision = parseProvision;
50
+ const resolveProvision = function (ctx, unresolved) {
51
+ const ref = [];
52
+ for (const id of unresolved._relations.ref) {
53
+ const r = (0, resolve_1.resolveFromContext)(ctx, 'references', id);
54
+ if (r !== undefined) {
55
+ ref.push(r);
56
+ }
57
+ }
58
+ return { ...unresolved, ref };
59
+ };
60
+ exports.resolveProvision = resolveProvision;
61
+ const dumpProvision = function (pro) {
62
+ let out = 'provision ' + pro.id + ' {\n';
63
+ pro.subject.forEach((value, key) => {
64
+ out += ' ' + key + ' ' + value + '\n';
65
+ });
66
+ out += ' condition "' + pro.condition + '"\n';
67
+ if (pro.modality !== '') {
68
+ out += ' modality ' + pro.modality + '\n';
69
+ }
70
+ if (pro.ref.length > 0) {
71
+ out += ' reference {\n';
72
+ for (const r of pro.ref) {
73
+ out += ' ' + r.id + '\n';
74
+ }
75
+ out += ' }\n';
76
+ }
77
+ out += '}\n';
78
+ return out;
79
+ };
80
+ exports.dumpProvision = dumpProvision;
81
+ //# sourceMappingURL=provision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../../src/ser-des/config/provision.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import Reference from '../../types/Reference';
3
+ export declare const parseReference: Parser;
4
+ export declare const dumpReference: Dumper<Reference>;
5
+ //# sourceMappingURL=reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,eAAO,MAAM,cAAc,EAAE,MA+B5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAM3C,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpReference = exports.parseReference = void 0;
4
+ const tokenize_1 = require("../tokenize");
5
+ const parseReference = (id, data) => {
6
+ const ref = {
7
+ id: id,
8
+ document: '',
9
+ clause: '',
10
+ };
11
+ if (data !== '') {
12
+ const t = (0, tokenize_1.tokenizePackage)(data);
13
+ let i = 0;
14
+ while (i < t.length) {
15
+ const keyword = t[i++];
16
+ if (i < t.length) {
17
+ if (keyword === 'document') {
18
+ ref.document = (0, tokenize_1.removePackage)(t[i++]);
19
+ }
20
+ else if (keyword === 'clause') {
21
+ ref.clause = (0, tokenize_1.removePackage)(t[i++]);
22
+ }
23
+ else {
24
+ i++; // forward-compatible: skip unknown keyword value
25
+ }
26
+ }
27
+ else {
28
+ throw new Error(`Parsing error: reference. ID ${id}: Expecting value for ${keyword}`);
29
+ }
30
+ }
31
+ }
32
+ return ctx => {
33
+ ctx.references[id] = ref;
34
+ return ctx;
35
+ };
36
+ };
37
+ exports.parseReference = parseReference;
38
+ const dumpReference = function (ref) {
39
+ let out = 'reference ' + ref.id + ' {\n';
40
+ out += ' document "' + ref.document + '"\n';
41
+ out += ' clause "' + ref.clause + '"\n';
42
+ out += '}\n';
43
+ return out;
44
+ };
45
+ exports.dumpReference = dumpReference;
46
+ //# sourceMappingURL=reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../src/ser-des/config/reference.ts"],"names":[],"mappings":";;;AACA,0CAA6D;AAGtD,MAAM,cAAc,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IACjE,MAAM,GAAG,GAAc;QACrB,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX,CAAC;IACF,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAa,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,GAAG,CAAC,QAAQ,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,GAAG,CAAC,MAAM,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,CAAC,EAAE,CAAC,CAAC,iDAAiD;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,gCAAgC,EAAE,yBAAyB,OAAO,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,cAAc,kBA+BzB;AAEK,MAAM,aAAa,GAAsB,UAAU,GAAG;IAC3D,IAAI,GAAG,GAAW,YAAY,GAAG,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC;IACjD,GAAG,IAAI,cAAc,GAAG,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC7C,GAAG,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;IACzC,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB"}
@@ -0,0 +1,5 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import Role from '../../types/Role';
3
+ export declare const parseRole: Parser;
4
+ export declare const dumpRole: Dumper<Role>;
5
+ //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAEpC,eAAO,MAAM,SAAS,EAAE,MAyBvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,IAAI,CAKjC,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpRole = exports.parseRole = void 0;
4
+ const tokenize_1 = require("../tokenize");
5
+ const parseRole = (id, data) => {
6
+ const role = {
7
+ id: id,
8
+ name: '',
9
+ };
10
+ const t = (0, tokenize_1.tokenizePackage)(data);
11
+ let i = 0;
12
+ while (i < t.length) {
13
+ const keyword = t[i++];
14
+ if (i < t.length) {
15
+ if (keyword === 'name') {
16
+ role.name = (0, tokenize_1.removePackage)(t[i++]);
17
+ }
18
+ else {
19
+ i++; // forward-compatible: skip unknown keyword value
20
+ }
21
+ }
22
+ else {
23
+ throw new Error(`Parsing error: role. ID ${id}: Expecting value for ${keyword}`);
24
+ }
25
+ }
26
+ return ctx => {
27
+ ctx.roles[id] = role;
28
+ return ctx;
29
+ };
30
+ };
31
+ exports.parseRole = parseRole;
32
+ const dumpRole = function (role) {
33
+ let out = 'role ' + role.id + ' {\n';
34
+ out += ' name "' + role.name + '"\n';
35
+ out += '}\n';
36
+ return out;
37
+ };
38
+ exports.dumpRole = dumpRole;
39
+ //# sourceMappingURL=role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../src/ser-des/config/role.ts"],"names":[],"mappings":";;;AACA,0CAA6D;AAGtD,MAAM,SAAS,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAS;QACjB,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,EAAE;KACT,CAAC;IACF,MAAM,CAAC,GAAkB,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,iDAAiD;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2BAA2B,EAAE,yBAAyB,OAAO,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,SAAS,aAyBpB;AAEK,MAAM,QAAQ,GAAiB,UAAU,IAAI;IAClD,IAAI,GAAG,GAAW,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IAC7C,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtC,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AALW,QAAA,QAAQ,YAKnB"}
@@ -0,0 +1,5 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import type StateMachine from '../../types/StateMachine';
3
+ export declare const parseStateMachine: Parser;
4
+ export declare const dumpStateMachine: Dumper<StateMachine>;
5
+ //# sourceMappingURL=stateMachine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateMachine.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/stateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AAGzD,eAAO,MAAM,iBAAiB,EAAE,MA0F/B,CAAC;AAoCF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAqCjD,CAAC"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpStateMachine = exports.parseStateMachine = void 0;
4
+ const tokenize_1 = require("../tokenize");
5
+ const parseStateMachine = function (entityName, data) {
6
+ const result = {
7
+ entityName,
8
+ initialState: '',
9
+ states: [],
10
+ transitions: [],
11
+ referenceIds: [],
12
+ };
13
+ if (data !== '') {
14
+ const t = (0, tokenize_1.tokenizePackage)(data);
15
+ let i = 0;
16
+ while (i < t.length) {
17
+ const command = t[i++];
18
+ if (i < t.length) {
19
+ if (command === 'initial') {
20
+ result.initialState = t[i++];
21
+ }
22
+ else if (command === 'states') {
23
+ const stateBlock = (0, tokenize_1.removePackage)(t[i++]);
24
+ for (const s of stateBlock.split(/\s+/).filter(s => s.length > 0)) {
25
+ result.states.push({ name: s });
26
+ }
27
+ }
28
+ else if (command === 'transition') {
29
+ // transition <From> -> <To> [action <ActionName>] { ... }
30
+ const from = t[i++];
31
+ // Expect '->'
32
+ if (i < t.length && (t[i] === '->' || t[i] === '→')) {
33
+ i++;
34
+ }
35
+ const to = i < t.length ? t[i++] : '';
36
+ let actionName = '';
37
+ // Optional 'action <Name>' before block
38
+ if (i < t.length && t[i] === 'action') {
39
+ i++;
40
+ if (i < t.length) {
41
+ actionName = t[i++];
42
+ }
43
+ }
44
+ let guard = '';
45
+ const cascades = [];
46
+ const referenceIds = [];
47
+ if (i < t.length && t[i].startsWith('{')) {
48
+ const body = (0, tokenize_1.removePackage)(t[i++]);
49
+ const bt = (0, tokenize_1.tokenizePackage)(body);
50
+ let j = 0;
51
+ while (j < bt.length) {
52
+ const cmd = bt[j++];
53
+ if (j < bt.length) {
54
+ if (cmd === 'guard') {
55
+ guard = (0, tokenize_1.removePackage)(bt[j++]);
56
+ }
57
+ else if (cmd === 'cascade') {
58
+ const target = bt[j++];
59
+ if (j < bt.length) {
60
+ const cascadeBlock = (0, tokenize_1.removePackage)(bt[j++]);
61
+ cascades.push(parseCascade(target, cascadeBlock));
62
+ }
63
+ }
64
+ else if (cmd === 'reference') {
65
+ referenceIds.push(...(0, tokenize_1.tokenizePackage)(bt[j++]));
66
+ }
67
+ else {
68
+ (0, tokenize_1.removePackage)(bt[j++]);
69
+ }
70
+ }
71
+ }
72
+ }
73
+ const trans = {
74
+ from,
75
+ to,
76
+ actionName,
77
+ guard,
78
+ cascades,
79
+ referenceIds,
80
+ };
81
+ result.transitions.push(trans);
82
+ }
83
+ else if (command === 'reference') {
84
+ result.referenceIds.push(...(0, tokenize_1.tokenizePackage)(t[i++]));
85
+ }
86
+ else {
87
+ i++; // forward-compatible: skip unknown keyword value
88
+ }
89
+ }
90
+ else {
91
+ throw new Error(`Parsing error: state_machine. Entity ${entityName}: Expecting value for ${command}`);
92
+ }
93
+ }
94
+ }
95
+ return ctx => {
96
+ ctx.stateMachines[entityName] = result;
97
+ return ctx;
98
+ };
99
+ };
100
+ exports.parseStateMachine = parseStateMachine;
101
+ function parseCascade(target, block) {
102
+ const cascade = { targetEntity: target, where: '', set: [] };
103
+ const t = (0, tokenize_1.tokenizePackage)(block);
104
+ let i = 0;
105
+ while (i < t.length) {
106
+ const cmd = t[i++];
107
+ if (i < t.length) {
108
+ if (cmd === 'where') {
109
+ cascade.where = (0, tokenize_1.removePackage)(t[i++]);
110
+ }
111
+ else if (cmd === 'set') {
112
+ const setBlock = (0, tokenize_1.removePackage)(t[i++]);
113
+ const st = (0, tokenize_1.tokenizePackage)(setBlock);
114
+ let j = 0;
115
+ while (j < st.length) {
116
+ const field = st[j++];
117
+ if (j < st.length) {
118
+ if (st[j] === ':') {
119
+ j++;
120
+ }
121
+ if (j < st.length) {
122
+ const value = (0, tokenize_1.removePackage)(st[j++]);
123
+ const setEntry = { field, value };
124
+ cascade.set.push(setEntry);
125
+ }
126
+ }
127
+ }
128
+ }
129
+ else {
130
+ (0, tokenize_1.removePackage)(t[i++]);
131
+ }
132
+ }
133
+ }
134
+ return cascade;
135
+ }
136
+ const dumpStateMachine = function (sm) {
137
+ let out = 'state_machine ' + sm.entityName + ' {\n';
138
+ out += ' initial ' + sm.initialState + '\n';
139
+ if (sm.states.length > 0) {
140
+ out += ' states {\n';
141
+ for (const s of sm.states) {
142
+ out += ' ' + s.name + '\n';
143
+ }
144
+ out += ' }\n';
145
+ }
146
+ for (const t of sm.transitions) {
147
+ out += ' transition ' + t.from + ' -> ' + t.to;
148
+ if (t.actionName) {
149
+ out += ' action ' + t.actionName;
150
+ }
151
+ out += ' {\n';
152
+ if (t.guard) {
153
+ out += ' guard "' + t.guard + '"\n';
154
+ }
155
+ for (const c of t.cascades) {
156
+ out += ' cascade ' + c.targetEntity + ' {\n';
157
+ if (c.where) {
158
+ out += ' where "' + c.where + '"\n';
159
+ }
160
+ if (c.set.length > 0) {
161
+ out += ' set {\n';
162
+ for (const s of c.set) {
163
+ out += ' ' + s.field + ': "' + s.value + '"\n';
164
+ }
165
+ out += ' }\n';
166
+ }
167
+ out += ' }\n';
168
+ }
169
+ out += ' }\n';
170
+ }
171
+ out += '}\n';
172
+ return out;
173
+ };
174
+ exports.dumpStateMachine = dumpStateMachine;
175
+ //# sourceMappingURL=stateMachine.js.map