@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 @@
1
+ {"version":3,"file":"dump.js","sourceRoot":"","sources":["../../../src/ser-des/dump.ts"],"names":[],"mappings":";;AAYA,uBAoBC;AA/BD,gDAAiD;AAGjD;;;;;;;GAOG;AACH,SAAwB,IAAI,CAC1B,KAAe,EACf,OAA4B;IAE5B,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,GAAG,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IAC1C,CAAC;IAED,GAAG,IAAI,IAAA,uBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAsC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAc,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAA8B,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Preprocess include directives in a .mmel file.
3
+ *
4
+ * Reads the file at `filePath`, finds all `include "..."` directives,
5
+ * recursively resolves them, and returns the concatenated content.
6
+ *
7
+ * Include paths are resolved relative to the directory of the
8
+ * including file. Absolute paths are also supported.
9
+ *
10
+ * Cycles are detected and rejected.
11
+ */
12
+ export declare function preprocessIncludes(filePath: string, _seen?: Set<string>): string;
13
+ //# sourceMappingURL=includes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"includes.d.ts","sourceRoot":"","sources":["../../../src/ser-des/includes.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,GAAG,CAAC,MAAM,CAAa,GAC7B,MAAM,CA+BR"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // Include preprocessor.
4
+ //
5
+ // Resolves `include "path"` directives BEFORE tokenization. The parser
6
+ // sees a single concatenated string with all includes expanded.
7
+ //
8
+ // Design: recursive, relative-path, cycle-detecting. Follows the
9
+ // same convention as C preprocessor #include and AsciiDoc include::.
10
+ // ─────────────────────────────────────────────────────────────────────
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.preprocessIncludes = preprocessIncludes;
13
+ const fs_1 = require("fs");
14
+ const path_1 = require("path");
15
+ const INCLUDE_RE = /^include\s+"([^"]+)"/gm;
16
+ /**
17
+ * Preprocess include directives in a .mmel file.
18
+ *
19
+ * Reads the file at `filePath`, finds all `include "..."` directives,
20
+ * recursively resolves them, and returns the concatenated content.
21
+ *
22
+ * Include paths are resolved relative to the directory of the
23
+ * including file. Absolute paths are also supported.
24
+ *
25
+ * Cycles are detected and rejected.
26
+ */
27
+ function preprocessIncludes(filePath, _seen = new Set()) {
28
+ const absPath = (0, path_1.resolve)(filePath);
29
+ if (_seen.has(absPath)) {
30
+ throw new Error(`Include cycle detected: ${absPath} (chain: ${[..._seen, absPath]
31
+ .map(s => s.split('/').pop())
32
+ .join(' → ')})`);
33
+ }
34
+ _seen.add(absPath);
35
+ if (!(0, fs_1.existsSync)(absPath)) {
36
+ throw new Error(`Include file not found: ${absPath}`);
37
+ }
38
+ const content = (0, fs_1.readFileSync)(absPath, 'utf8');
39
+ const dir = (0, path_1.dirname)(absPath);
40
+ // Replace each include directive with the preprocessed content of
41
+ // the referenced file
42
+ return content.replace(INCLUDE_RE, (_match, includePath) => {
43
+ const resolved = (0, path_1.isAbsolute)(includePath)
44
+ ? includePath
45
+ : (0, path_1.resolve)(dir, includePath);
46
+ // Add .mmel extension if not present
47
+ const withExt = resolved.endsWith('.mmel') ? resolved : `${resolved}.mmel`;
48
+ return preprocessIncludes(withExt, new Set(_seen));
49
+ });
50
+ }
51
+ //# sourceMappingURL=includes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"includes.js","sourceRoot":"","sources":["../../../src/ser-des/includes.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,wBAAwB;AACxB,EAAE;AACF,uEAAuE;AACvE,gEAAgE;AAChE,EAAE;AACF,iEAAiE;AACjE,qEAAqE;AACrE,wEAAwE;;AAkBxE,gDAkCC;AAlDD,2BAA8C;AAC9C,+BAAoD;AAEpD,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,QAAqB,IAAI,GAAG,EAAE;IAE9B,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,OAAO,YAAY,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;aAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;aAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;IAE7B,kEAAkE;IAClE,sBAAsB;IACtB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QACzE,MAAM,QAAQ,GAAG,IAAA,iBAAU,EAAC,WAAW,CAAC;YACtC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAE9B,qCAAqC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,CAAC;QAE3E,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,19 @@
1
+ import Standard from '../types/Standard';
2
+ import type { ParseOptions } from './parse';
3
+ export type LoadOptions = ParseOptions;
4
+ /**
5
+ * Parse a .mmel string into a typed Standard.
6
+ * Does NOT resolve include directives — use loadFile() for that.
7
+ *
8
+ * Default mode is lenient (unknown keywords skipped). Pass `{ strict: true }`
9
+ * to throw on unknown top-level keywords.
10
+ */
11
+ export declare function load(mmelString: string, options?: LoadOptions): Standard;
12
+ /**
13
+ * Load a .mmel FILE, resolving include directives first.
14
+ * Use this when the model uses `include "..."` to split across files.
15
+ */
16
+ export declare function loadFile(filePath: string, options?: LoadOptions): Standard;
17
+ export declare function dump(standard: Standard): string;
18
+ export type { ParseOptions };
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ser-des/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,QAAQ,CAG5E;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,GACxB,QAAQ,CAGV;AAED,wBAAgB,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE/C;AAED,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.load = load;
4
+ exports.loadFile = loadFile;
5
+ exports.dump = dump;
6
+ const parse_1 = require("./parse");
7
+ const resolve_1 = require("./resolve");
8
+ const dump_1 = require("./dump");
9
+ const config_1 = require("./config");
10
+ const includes_1 = require("./includes");
11
+ /**
12
+ * Parse a .mmel string into a typed Standard.
13
+ * Does NOT resolve include directives — use loadFile() for that.
14
+ *
15
+ * Default mode is lenient (unknown keywords skipped). Pass `{ strict: true }`
16
+ * to throw on unknown top-level keywords.
17
+ */
18
+ function load(mmelString, options = {}) {
19
+ const context = (0, parse_1.default)(mmelString, config_1.PARSER_CONFIG, options);
20
+ return (0, resolve_1.default)(context, config_1.RESOLVER_CONFIG);
21
+ }
22
+ /**
23
+ * Load a .mmel FILE, resolving include directives first.
24
+ * Use this when the model uses `include "..."` to split across files.
25
+ */
26
+ function loadFile(filePath, options = {}) {
27
+ const content = (0, includes_1.preprocessIncludes)(filePath);
28
+ return load(content, options);
29
+ }
30
+ function dump(standard) {
31
+ return (0, dump_1.default)(standard, config_1.DUMPER_CONFIG);
32
+ }
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ser-des/index.ts"],"names":[],"mappings":";;AAiBA,oBAGC;AAMD,4BAMC;AAED,oBAEC;AAnCD,mCAA4B;AAE5B,uCAAgC;AAChC,iCAA2B;AAC3B,qCAAyE;AACzE,yCAAgD;AAIhD;;;;;;GAMG;AACH,SAAgB,IAAI,CAAC,UAAkB,EAAE,UAAuB,EAAE;IAChE,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,UAAU,EAAE,sBAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAA,iBAAO,EAAC,OAAO,EAAE,wBAAe,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CACtB,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,IAAI,CAAC,QAAkB;IACrC,OAAO,IAAA,cAAK,EAAC,QAAQ,EAAE,sBAAa,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ParseContext, ParserConfiguration } from './types';
2
+ export interface ParseOptions {
3
+ /**
4
+ * When true, an unrecognized top-level keyword throws immediately.
5
+ * When false (default), unknown keywords are silently skipped for
6
+ * forward compatibility with newer MMEL/Primmel revisions.
7
+ */
8
+ strict?: boolean;
9
+ }
10
+ export default function parse(mmelString: string, parsers: ParserConfiguration, options?: ParseOptions): ParseContext;
11
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,YAAiB,GACzB,YAAY,CAsEd"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = parse;
4
+ const tokenize_1 = require("./tokenize");
5
+ function parse(mmelString, parsers, options = {}) {
6
+ let ctx = {
7
+ root: '',
8
+ metadata: null,
9
+ approvals: {},
10
+ roles: {},
11
+ processes: {},
12
+ pages: {},
13
+ gateways: {},
14
+ registers: {},
15
+ references: {},
16
+ provisions: {},
17
+ dataClasses: {},
18
+ events: {},
19
+ enums: {},
20
+ variables: {},
21
+ // MMEL 0.1 constructs missing from earlier parser versions
22
+ notes: {},
23
+ tables: {},
24
+ figures: {},
25
+ links: {},
26
+ mapProfiles: {},
27
+ viewProfiles: {},
28
+ // Primmel extensions (MN 113-7 to 113-10)
29
+ forms: {},
30
+ subforms: {},
31
+ symbols: {},
32
+ calculations: {},
33
+ stateMachines: {},
34
+ };
35
+ const token = (0, tokenize_1.default)(mmelString);
36
+ let i = 0;
37
+ while (i < token.length) {
38
+ const keyword = token[i++];
39
+ const cfg = parsers[keyword];
40
+ if (!cfg) {
41
+ if (options.strict) {
42
+ throw new Error(`Unknown keyword "${keyword}" at token ${i}. Use lenient mode (default) to skip unknown keywords.`);
43
+ }
44
+ // Lenient: skip unknown keywords for forward compatibility.
45
+ continue;
46
+ }
47
+ let updateCtx;
48
+ if (cfg.takesID) {
49
+ if (i + 1 > token.length) {
50
+ throw new Error(`Keyword "${keyword}" expects an ID and payload, but only ${token.length - i + 1} token(s) remain.`);
51
+ }
52
+ updateCtx = cfg.parse(token[i++], token[i++]);
53
+ }
54
+ else {
55
+ if (i >= token.length) {
56
+ throw new Error(`Keyword "${keyword}" expects a payload, but no tokens remain.`);
57
+ }
58
+ updateCtx = cfg.parse(token[i++]);
59
+ }
60
+ ctx = updateCtx(ctx);
61
+ }
62
+ return ctx;
63
+ }
64
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":";;AAYA,wBA0EC;AAtFD,yCAAkC;AAYlC,SAAwB,KAAK,CAC3B,UAAkB,EAClB,OAA4B,EAC5B,UAAwB,EAAE;IAE1B,IAAI,GAAG,GAAiB;QACtB,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,2DAA2D;QAC3D,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,0CAA0C;QAC1C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;KAClB,CAAC;IAEF,MAAM,KAAK,GAAkB,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,OAAO,GAAW,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,cAAc,CAAC,wDAAwD,CACnG,CAAC;YACJ,CAAC;YACD,4DAA4D;YAC5D,SAAS;QACX,CAAC;QAED,IAAI,SAA8C,CAAC;QACnD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,yCACjB,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CACrB,mBAAmB,CACpB,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,4CAA4C,CAChE,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,22 @@
1
+ import Standard from '../types/Standard';
2
+ import { ParseContext, ResolverConfiguration } from './types';
3
+ /**
4
+ * Look up an item by ID in a ParseContext table.
5
+ *
6
+ * Returns the item (with `_relations` stripped if it had any) or `undefined`
7
+ * if the ID is not present. Lenient by design — callers decide whether an
8
+ * undefined miss is an error.
9
+ */
10
+ export declare function resolveFromContext<T>(ctx: ParseContext, field: keyof ParseContext, id: string): T | undefined;
11
+ /**
12
+ * Resolve a ParseContext into a typed Standard.
13
+ *
14
+ * For each registered resolver (RESOLVER_CONFIG), iterate every parsed item
15
+ * of that construct, run the resolver, and append the result to the matching
16
+ * Standard field. Fields without a resolver are passed through directly.
17
+ *
18
+ * Lenient: missing references inside a resolver are dropped (not thrown).
19
+ * The partially-resolved item is still returned.
20
+ */
21
+ export default function resolve(ctx: ParseContext, resolvers: ResolverConfiguration): Standard;
22
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/ser-des/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAY9D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,YAAY,EACzB,EAAE,EAAE,MAAM,GACT,CAAC,GAAG,SAAS,CAkBf;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,qBAAqB,GAC/B,QAAQ,CAgDV"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveFromContext = resolveFromContext;
4
+ exports.default = resolve;
5
+ const EMPTY_META = {
6
+ schema: '',
7
+ author: '',
8
+ title: '',
9
+ edition: '',
10
+ namespace: '',
11
+ shortname: '',
12
+ };
13
+ /**
14
+ * Look up an item by ID in a ParseContext table.
15
+ *
16
+ * Returns the item (with `_relations` stripped if it had any) or `undefined`
17
+ * if the ID is not present. Lenient by design — callers decide whether an
18
+ * undefined miss is an error.
19
+ */
20
+ function resolveFromContext(ctx, field, id) {
21
+ const table = ctx[field];
22
+ if (table === null || table === undefined) {
23
+ return undefined;
24
+ }
25
+ const item = table[id];
26
+ if (item === undefined) {
27
+ return undefined;
28
+ }
29
+ const anyItem = item;
30
+ if (anyItem._relations) {
31
+ const stripped = { ...item };
32
+ delete stripped._relations;
33
+ table[id] = stripped;
34
+ return stripped;
35
+ }
36
+ return item;
37
+ }
38
+ /**
39
+ * Resolve a ParseContext into a typed Standard.
40
+ *
41
+ * For each registered resolver (RESOLVER_CONFIG), iterate every parsed item
42
+ * of that construct, run the resolver, and append the result to the matching
43
+ * Standard field. Fields without a resolver are passed through directly.
44
+ *
45
+ * Lenient: missing references inside a resolver are dropped (not thrown).
46
+ * The partially-resolved item is still returned.
47
+ */
48
+ function resolve(ctx, resolvers) {
49
+ const standard = {
50
+ meta: ctx.metadata ?? EMPTY_META,
51
+ roles: Object.values(ctx.roles),
52
+ provisions: [],
53
+ pages: [],
54
+ processes: [],
55
+ dataclasses: [],
56
+ regs: [],
57
+ events: Object.values(ctx.events),
58
+ gateways: Object.values(ctx.gateways),
59
+ refs: Object.values(ctx.references),
60
+ approvals: [],
61
+ enums: Object.values(ctx.enums),
62
+ vars: Object.values(ctx.variables),
63
+ notes: [],
64
+ tables: Object.values(ctx.tables),
65
+ figures: Object.values(ctx.figures),
66
+ links: Object.values(ctx.links),
67
+ mapProfiles: Object.values(ctx.mapProfiles),
68
+ viewProfiles: Object.values(ctx.viewProfiles),
69
+ forms: Object.values(ctx.forms),
70
+ subforms: Object.values(ctx.subforms),
71
+ symbols: [],
72
+ calculations: [],
73
+ stateMachines: Object.values(ctx.stateMachines),
74
+ root: null,
75
+ };
76
+ // Resolve order matters: pages reference processes/approvals/events/gateways,
77
+ // so those must be cached in their resolved form before pages run.
78
+ resolveField(ctx, resolvers, 'dataClasses', standard.dataclasses);
79
+ resolveField(ctx, resolvers, 'registers', standard.regs);
80
+ resolveField(ctx, resolvers, 'provisions', standard.provisions);
81
+ resolveField(ctx, resolvers, 'processes', standard.processes);
82
+ resolveField(ctx, resolvers, 'approvals', standard.approvals);
83
+ resolveField(ctx, resolvers, 'notes', standard.notes);
84
+ resolveField(ctx, resolvers, 'symbols', standard.symbols);
85
+ resolveField(ctx, resolvers, 'calculations', standard.calculations);
86
+ resolveField(ctx, resolvers, 'pages', standard.pages);
87
+ // Root is a single page reference — look it up after pages are resolved.
88
+ if (ctx.root) {
89
+ const root = ctx.pages[ctx.root];
90
+ standard.root = root ?? null;
91
+ }
92
+ return standard;
93
+ }
94
+ function resolveField(ctx, resolvers, field, out) {
95
+ const cfg = resolvers[field];
96
+ if (!cfg) {
97
+ return;
98
+ }
99
+ const table = ctx[field];
100
+ for (const [id, item] of Object.entries(table)) {
101
+ const resolved = cfg.resolve(ctx, item);
102
+ if (resolved === undefined) {
103
+ continue;
104
+ }
105
+ delete resolved._relations;
106
+ table[id] = resolved;
107
+ out.push(resolved);
108
+ }
109
+ }
110
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/ser-des/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export default function tokenize(x: string): string[];
2
+ export declare function tokenizePackage(x: string): Array<string>;
3
+ export declare function removePackage(x: string): string;
4
+ export declare function tokenizeAttributes(x: string): Array<string>;
5
+ //# sourceMappingURL=tokenize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../../src/ser-des/tokenize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAkEpD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAExD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAqC3D"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = tokenize;
4
+ exports.tokenizePackage = tokenizePackage;
5
+ exports.removePackage = removePackage;
6
+ exports.tokenizeAttributes = tokenizeAttributes;
7
+ function tokenize(x) {
8
+ const set = [];
9
+ let t = '';
10
+ let i = 0;
11
+ while (i < x.length) {
12
+ let char = x.charAt(i);
13
+ // ── Comment handling: skip // and # to end of line ──
14
+ if (char === '#' ||
15
+ (char === '/' && i + 1 < x.length && x.charAt(i + 1) === '/')) {
16
+ while (i < x.length && x.charAt(i) !== '\n') {
17
+ i++;
18
+ }
19
+ continue;
20
+ }
21
+ if (!isWhiteSpace(char)) {
22
+ t += char;
23
+ i++;
24
+ if (char === '"') {
25
+ while (i < x.length && x.charAt(i) !== '"') {
26
+ t += x.charAt(i);
27
+ i++;
28
+ }
29
+ t += x.charAt(i);
30
+ i++;
31
+ }
32
+ else if (char === '{') {
33
+ let count = 1;
34
+ while (i < x.length && count > 0) {
35
+ char = x.charAt(i);
36
+ // Skip string content: don't count braces inside quoted strings
37
+ if (char === '"') {
38
+ t += char;
39
+ i++;
40
+ while (i < x.length && x.charAt(i) !== '"') {
41
+ t += x.charAt(i);
42
+ i++;
43
+ }
44
+ t += x.charAt(i);
45
+ i++;
46
+ continue;
47
+ }
48
+ if (char === '{') {
49
+ count++;
50
+ }
51
+ if (char === '}') {
52
+ count--;
53
+ }
54
+ t += char;
55
+ i++;
56
+ }
57
+ }
58
+ else {
59
+ while (i < x.length && !isWhiteSpace(x.charAt(i))) {
60
+ t += x.charAt(i);
61
+ i++;
62
+ }
63
+ }
64
+ set.push(t);
65
+ t = '';
66
+ }
67
+ else {
68
+ i++;
69
+ }
70
+ }
71
+ return set;
72
+ }
73
+ function tokenizePackage(x) {
74
+ return tokenize(removePackage(x));
75
+ }
76
+ function removePackage(x) {
77
+ if (x.length >= 2) {
78
+ return x.substr(1, x.length - 2);
79
+ }
80
+ else {
81
+ return x;
82
+ }
83
+ }
84
+ function tokenizeAttributes(x) {
85
+ x = removePackage(x);
86
+ const set = [];
87
+ let t = '';
88
+ let i = 0;
89
+ while (i < x.length) {
90
+ let char = x.charAt(i);
91
+ if (!isWhiteSpace(char)) {
92
+ t += char;
93
+ i++;
94
+ if (char === '{') {
95
+ let count = 1;
96
+ while (i < x.length && count > 0) {
97
+ char = x.charAt(i);
98
+ if (char === '{') {
99
+ count++;
100
+ }
101
+ if (char === '}') {
102
+ count--;
103
+ }
104
+ t += char;
105
+ i++;
106
+ }
107
+ i++;
108
+ }
109
+ else {
110
+ while (i < x.length && x.charAt(i) !== '{') {
111
+ t += x.charAt(i);
112
+ i++;
113
+ }
114
+ }
115
+ set.push(t);
116
+ t = '';
117
+ }
118
+ else {
119
+ i++;
120
+ }
121
+ }
122
+ return set;
123
+ }
124
+ function isWhiteSpace(x) {
125
+ return /\s/.test(x);
126
+ }
127
+ //# sourceMappingURL=tokenize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../../src/ser-des/tokenize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type Calculation from '../types/Calculation';
2
+ import type { DataClass, Enum, Registry, Variable } from '../types/data';
3
+ import EventNode from '../types/events';
4
+ import type Figure from '../types/Figure';
5
+ import type Form from '../types/Form';
6
+ import type Gateway from '../types/Gateway';
7
+ import type Link from '../types/Link';
8
+ import type MapProfile from '../types/MapProfile';
9
+ import type Metadata from '../types/Metadata';
10
+ import type { ResolvableNote } from '../types/Note';
11
+ import type { ResolvableProcess } from '../types/process';
12
+ import type { ResolvableSubprocess } from '../types/flow';
13
+ import type { ResolvableProvision } from '../types/Provision';
14
+ import type { ResolvableApproval } from '../types/Approval';
15
+ import type Reference from '../types/Reference';
16
+ import type Role from '../types/Role';
17
+ import type Standard from '../types/Standard';
18
+ import type StateMachine from '../types/StateMachine';
19
+ import type Subform from '../types/Subform';
20
+ import type Symbol from '../types/Symbol';
21
+ import type Table from '../types/Table';
22
+ import type ViewProfile from '../types/ViewProfile';
23
+ export interface ParserConfiguration {
24
+ [keyword: string]: {
25
+ takesID?: true;
26
+ parse: Parser;
27
+ };
28
+ }
29
+ export type ResolverConfiguration = Partial<Record<keyof ParseContext, {
30
+ resolve: Resolver<any, any>;
31
+ }>>;
32
+ export type DumperConfiguration = {
33
+ [key in keyof Omit<Standard, 'meta' | 'root'>]: Dumper<Standard[key][number]>;
34
+ };
35
+ export type Parser<C = ParseContext> = (...tokens: string[]) => (ctx: C) => C;
36
+ export type Resolver<T, R, C = ParseContext> = (ctx: C, resolvableObject: R) => T;
37
+ export type Dumper<T> = (obj: T) => string;
38
+ export interface ParseContext {
39
+ root: string;
40
+ metadata: Metadata | null;
41
+ roles: Record<string, Role>;
42
+ approvals: Record<string, ResolvableApproval>;
43
+ provisions: Record<string, ResolvableProvision>;
44
+ processes: Record<string, ResolvableProcess>;
45
+ pages: Record<string, ResolvableSubprocess>;
46
+ registers: Record<string, Registry>;
47
+ references: Record<string, Reference>;
48
+ dataClasses: Record<string, DataClass>;
49
+ events: Record<string, EventNode>;
50
+ enums: Record<string, Enum>;
51
+ gateways: Record<string, Gateway>;
52
+ variables: Record<string, Variable>;
53
+ notes: Record<string, ResolvableNote>;
54
+ tables: Record<string, Table>;
55
+ figures: Record<string, Figure>;
56
+ links: Record<string, Link>;
57
+ mapProfiles: Record<string, MapProfile>;
58
+ viewProfiles: Record<string, ViewProfile>;
59
+ forms: Record<string, Form>;
60
+ subforms: Record<string, Subform>;
61
+ symbols: Record<string, Symbol>;
62
+ calculations: Record<string, Calculation>;
63
+ stateMachines: Record<string, StateMachine>;
64
+ }
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ser-des/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ser-des/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { Registry } from './data';
2
+ import type Reference from './Reference';
3
+ import Resolvable from './Resolvable';
4
+ import type Role from './Role';
5
+ export default interface Approval {
6
+ id: string;
7
+ name: string;
8
+ modality: string;
9
+ actor: Role | null;
10
+ approver: Role | null;
11
+ records: Registry[];
12
+ ref: Reference[];
13
+ }
14
+ export type ResolvableApproval = Resolvable<Approval, 'actor' | 'approver' | 'records' | 'ref'>;
15
+ //# sourceMappingURL=Approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Approval.d.ts","sourceRoot":"","sources":["../../../src/types/Approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,MAAM,CAAC,OAAO,WAAW,QAAQ;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,GAAG,EAAE,SAAS,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,QAAQ,EACR,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CACzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Approval.js","sourceRoot":"","sources":["../../../src/types/Approval.ts"],"names":[],"mappings":""}