@primmel/primmel 1.2.0 → 1.2.1

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 (95) hide show
  1. package/dist/src/duplicate-id.d.ts +12 -0
  2. package/dist/src/duplicate-id.d.ts.map +1 -0
  3. package/dist/src/duplicate-id.js +38 -0
  4. package/dist/src/duplicate-id.js.map +1 -0
  5. package/dist/src/ser-des/config/approval.d.ts.map +1 -1
  6. package/dist/src/ser-des/config/approval.js +25 -33
  7. package/dist/src/ser-des/config/approval.js.map +1 -1
  8. package/dist/src/ser-des/config/calculation.js +11 -11
  9. package/dist/src/ser-des/config/calculation.js.map +1 -1
  10. package/dist/src/ser-des/config/data.d.ts.map +1 -1
  11. package/dist/src/ser-des/config/data.js +63 -118
  12. package/dist/src/ser-des/config/data.js.map +1 -1
  13. package/dist/src/ser-des/config/event.js +2 -2
  14. package/dist/src/ser-des/config/event.js.map +1 -1
  15. package/dist/src/ser-des/config/field-parser.js +12 -12
  16. package/dist/src/ser-des/config/field-parser.js.map +1 -1
  17. package/dist/src/ser-des/config/figure.js +2 -2
  18. package/dist/src/ser-des/config/figure.js.map +1 -1
  19. package/dist/src/ser-des/config/flow.d.ts.map +1 -1
  20. package/dist/src/ser-des/config/flow.js +20 -10
  21. package/dist/src/ser-des/config/flow.js.map +1 -1
  22. package/dist/src/ser-des/config/form.js +14 -14
  23. package/dist/src/ser-des/config/form.js.map +1 -1
  24. package/dist/src/ser-des/config/gateway.d.ts.map +1 -1
  25. package/dist/src/ser-des/config/gateway.js +9 -17
  26. package/dist/src/ser-des/config/gateway.js.map +1 -1
  27. package/dist/src/ser-des/config/index.d.ts +21 -1
  28. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  29. package/dist/src/ser-des/config/index.js +240 -221
  30. package/dist/src/ser-des/config/index.js.map +1 -1
  31. package/dist/src/ser-des/config/link.js +2 -2
  32. package/dist/src/ser-des/config/link.js.map +1 -1
  33. package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -1
  34. package/dist/src/ser-des/config/mapProfile.js +20 -29
  35. package/dist/src/ser-des/config/mapProfile.js.map +1 -1
  36. package/dist/src/ser-des/config/metadata.js +6 -6
  37. package/dist/src/ser-des/config/metadata.js.map +1 -1
  38. package/dist/src/ser-des/config/note.d.ts.map +1 -1
  39. package/dist/src/ser-des/config/note.js +18 -26
  40. package/dist/src/ser-des/config/note.js.map +1 -1
  41. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  42. package/dist/src/ser-des/config/process.js +32 -40
  43. package/dist/src/ser-des/config/process.js.map +1 -1
  44. package/dist/src/ser-des/config/provision.d.ts.map +1 -1
  45. package/dist/src/ser-des/config/provision.js +18 -26
  46. package/dist/src/ser-des/config/provision.js.map +1 -1
  47. package/dist/src/ser-des/config/reference.js +2 -2
  48. package/dist/src/ser-des/config/reference.js.map +1 -1
  49. package/dist/src/ser-des/config/role.d.ts.map +1 -1
  50. package/dist/src/ser-des/config/role.js +7 -13
  51. package/dist/src/ser-des/config/role.js.map +1 -1
  52. package/dist/src/ser-des/config/stateMachine.js +12 -12
  53. package/dist/src/ser-des/config/stateMachine.js.map +1 -1
  54. package/dist/src/ser-des/config/subform.js +8 -8
  55. package/dist/src/ser-des/config/subform.js.map +1 -1
  56. package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
  57. package/dist/src/ser-des/config/symbol.js +30 -38
  58. package/dist/src/ser-des/config/symbol.js.map +1 -1
  59. package/dist/src/ser-des/config/table.js +5 -5
  60. package/dist/src/ser-des/config/table.js.map +1 -1
  61. package/dist/src/ser-des/config/term.d.ts.map +1 -1
  62. package/dist/src/ser-des/config/term.js +22 -36
  63. package/dist/src/ser-des/config/term.js.map +1 -1
  64. package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
  65. package/dist/src/ser-des/config/viewProfile.js +15 -23
  66. package/dist/src/ser-des/config/viewProfile.js.map +1 -1
  67. package/dist/src/ser-des/includes.d.ts +4 -0
  68. package/dist/src/ser-des/includes.d.ts.map +1 -1
  69. package/dist/src/ser-des/includes.js +21 -2
  70. package/dist/src/ser-des/includes.js.map +1 -1
  71. package/dist/src/ser-des/parse-block.d.ts +48 -0
  72. package/dist/src/ser-des/parse-block.d.ts.map +1 -0
  73. package/dist/src/ser-des/parse-block.js +108 -0
  74. package/dist/src/ser-des/parse-block.js.map +1 -0
  75. package/dist/src/ser-des/parse.d.ts +3 -2
  76. package/dist/src/ser-des/parse.d.ts.map +1 -1
  77. package/dist/src/ser-des/parse.js +13 -31
  78. package/dist/src/ser-des/parse.js.map +1 -1
  79. package/dist/src/ser-des/resolve.d.ts +16 -3
  80. package/dist/src/ser-des/resolve.d.ts.map +1 -1
  81. package/dist/src/ser-des/resolve.js +41 -58
  82. package/dist/src/ser-des/resolve.js.map +1 -1
  83. package/dist/src/ser-des/tokenize.d.ts +3 -4
  84. package/dist/src/ser-des/tokenize.d.ts.map +1 -1
  85. package/dist/src/ser-des/tokenize.js +5 -65
  86. package/dist/src/ser-des/tokenize.js.map +1 -1
  87. package/dist/src/ser-des/types.d.ts +2 -2
  88. package/dist/src/ser-des/types.d.ts.map +1 -1
  89. package/dist/src/types/Standard.d.ts +2 -2
  90. package/dist/src/types/Standard.d.ts.map +1 -1
  91. package/dist/src/validate.d.ts +14 -5
  92. package/dist/src/validate.d.ts.map +1 -1
  93. package/dist/src/validate.js +110 -57
  94. package/dist/src/validate.js.map +1 -1
  95. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = parse;
4
4
  const tokenize_1 = require("./tokenize");
5
+ const duplicate_id_1 = require("../duplicate-id");
5
6
  /**
6
7
  * Parse a .mmel string into a ParseContext.
7
8
  *
@@ -11,12 +12,13 @@ const tokenize_1 = require("./tokenize");
11
12
  * exact source location of any model problem.
12
13
  *
13
14
  * Duplicate-ID detection runs during parsing (not post-resolution),
14
- * because the parser silently overwrites duplicate ctx entries. By
15
- * catching duplicates here, the issue survives into the result.
15
+ * because the parser silently overwrites duplicate ctx entries. The
16
+ * detection itself lives in `duplicate-id.ts` — this module just calls
17
+ * it at the moment each declaration is parsed.
16
18
  */
17
19
  function parse(mmelString, parsers, options = {}) {
18
20
  const tokens = (0, tokenize_1.tokenizeWithPositions)(mmelString);
19
- const seenIds = new Map();
21
+ const dupChecker = (0, duplicate_id_1.createDuplicateIdChecker)();
20
22
  // ctx is mutated by parser functions; declared with let because
21
23
  // some parsers return a new ctx object via immutable update.
22
24
  let ctx = {
@@ -27,10 +29,10 @@ function parse(mmelString, parsers, options = {}) {
27
29
  processes: {},
28
30
  pages: {},
29
31
  gateways: {},
30
- registers: {},
32
+ regs: {},
31
33
  references: {},
32
34
  provisions: {},
33
- dataClasses: {},
35
+ dataclasses: {},
34
36
  events: {},
35
37
  enums: {},
36
38
  variables: {},
@@ -70,33 +72,13 @@ function parse(mmelString, parsers, options = {}) {
70
72
  }
71
73
  const idTok = tokens[i++];
72
74
  const payloadTok = tokens[i++];
73
- // Duplicate-ID detection: if this keyword config declares a
74
- // field, track the ID + position. On second occurrence, emit an
75
- // issue but still let the parser overwrite (preserves backward-
76
- // compat: callers see the latest declaration).
75
+ // Duplicate-ID detection runs at parse time because the parser
76
+ // silently overwrites ctx entries — without this check, the
77
+ // issue would never surface.
77
78
  if (cfg.field) {
78
- let fieldMap = seenIds.get(cfg.field);
79
- if (!fieldMap) {
80
- fieldMap = new Map();
81
- seenIds.set(cfg.field, fieldMap);
82
- }
83
- const prior = fieldMap.get(idTok.value);
84
- if (prior) {
85
- ctx.issues.push({
86
- severity: 'error',
87
- code: 'duplicate-id',
88
- construct: String(cfg.field),
89
- id: idTok.value,
90
- message: `Duplicate ${keyword} id "${idTok.value}" (first declared at line ${prior.line} col ${prior.col}) — earlier declaration overwritten`,
91
- position: {
92
- line: idTok.start.line,
93
- col: idTok.start.col,
94
- offset: idTok.start.offset,
95
- },
96
- });
97
- }
98
- else {
99
- fieldMap.set(idTok.value, idTok.start);
79
+ const issue = dupChecker.check(cfg.field, keyword, idTok.value, idTok.start);
80
+ if (issue) {
81
+ ctx.issues.push(issue);
100
82
  }
101
83
  }
102
84
  updateCtx = cfg.parse(idTok.value, payloadTok.value);
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":";;AAyBA,wBAuHC;AAhJD,yCAA8E;AAa9E;;;;;;;;;;;GAWG;AACH,SAAwB,KAAK,CAC3B,UAAkB,EAClB,OAA4B,EAC5B,UAAwB,EAAE;IAE1B,MAAM,MAAM,GAAY,IAAA,gCAAqB,EAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6C,CAAC;IAErE,gEAAgE;IAChE,6DAA6D;IAC7D,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,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,yCAAyC;QACzC,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1B,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,aAAa,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,wDAAwD,CACpI,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,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,aAAa,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,wCAAwC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,mBAAmB,CACpJ,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAE/B,4DAA4D;YAC5D,gEAAgE;YAChE,gEAAgE;YAChE,+CAA+C;YAC/C,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;wBACd,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,cAAc;wBACpB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;wBAC5B,EAAE,EAAE,KAAK,CAAC,KAAK;wBACf,OAAO,EAAE,aAAa,OAAO,QAAQ,KAAK,CAAC,KAAK,6BAA6B,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,GAAG,qCAAqC;wBAC7I,QAAQ,EAAE;4BACR,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;4BACtB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;4BACpB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;yBAC3B;qBACiB,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,aAAa,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,2CAA2C,CAC/G,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5B,gEAAgE;QAChE,qDAAqD;QACrD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,30 @@ import { ParseContext, ResolverConfiguration } from './types';
6
6
  * Returns the item (with `_relations` stripped if it had any) or `undefined`
7
7
  * if the ID is not present. Lenient by design — callers decide whether an
8
8
  * undefined miss is an error.
9
+ *
10
+ * Pure: does NOT mutate `ctx`. The caller receives a fresh object when
11
+ * `_relations` needs stripping; the original entry stays intact for its
12
+ * own resolver. Caching the stripped form back into the table caused
13
+ * ordering bugs: a resolver for X reading an item from Y via this
14
+ * function would strip Y's `_relations` before Y's own resolver ran.
9
15
  */
10
16
  export declare function resolveFromContext<T>(ctx: ParseContext, field: keyof ParseContext, id: string): T | undefined;
11
17
  /**
12
18
  * Resolve a ParseContext into a typed Standard.
13
19
  *
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.
20
+ * Fields without a resolver are passed through directly (their entries are
21
+ * already in final form). Fields WITH a resolver are iterated, resolved,
22
+ * and the result is appended to the matching Standard field.
23
+ *
24
+ * Adding a new construct with cross-references is now purely a registry
25
+ * change in RESOLVER_CONFIG — no edit needed here.
17
26
  *
18
27
  * Lenient: missing references inside a resolver are dropped (not thrown).
19
28
  * The partially-resolved item is still returned.
29
+ *
30
+ * Order-independent: resolveFromContext is pure (does not mutate ctx),
31
+ * so resolvers may read from any ctx table at any time without observing
32
+ * partial state from other resolvers.
20
33
  */
21
34
  export default function resolve(ctx: ParseContext, resolvers: ResolverConfiguration): Standard;
22
35
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +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,CAiDV"}
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;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,YAAY,EACzB,EAAE,EAAE,MAAM,GACT,CAAC,GAAG,SAAS,CAiBf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,qBAAqB,GAC/B,QAAQ,CAsCV"}
@@ -16,6 +16,12 @@ const EMPTY_META = {
16
16
  * Returns the item (with `_relations` stripped if it had any) or `undefined`
17
17
  * if the ID is not present. Lenient by design — callers decide whether an
18
18
  * undefined miss is an error.
19
+ *
20
+ * Pure: does NOT mutate `ctx`. The caller receives a fresh object when
21
+ * `_relations` needs stripping; the original entry stays intact for its
22
+ * own resolver. Caching the stripped form back into the table caused
23
+ * ordering bugs: a resolver for X reading an item from Y via this
24
+ * function would strip Y's `_relations` before Y's own resolver ran.
19
25
  */
20
26
  function resolveFromContext(ctx, field, id) {
21
27
  const table = ctx[field];
@@ -30,7 +36,6 @@ function resolveFromContext(ctx, field, id) {
30
36
  if (anyItem._relations) {
31
37
  const stripped = { ...item };
32
38
  delete stripped._relations;
33
- table[id] = stripped;
34
39
  return stripped;
35
40
  }
36
41
  return item;
@@ -38,74 +43,52 @@ function resolveFromContext(ctx, field, id) {
38
43
  /**
39
44
  * Resolve a ParseContext into a typed Standard.
40
45
  *
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.
46
+ * Fields without a resolver are passed through directly (their entries are
47
+ * already in final form). Fields WITH a resolver are iterated, resolved,
48
+ * and the result is appended to the matching Standard field.
49
+ *
50
+ * Adding a new construct with cross-references is now purely a registry
51
+ * change in RESOLVER_CONFIG — no edit needed here.
44
52
  *
45
53
  * Lenient: missing references inside a resolver are dropped (not thrown).
46
54
  * The partially-resolved item is still returned.
55
+ *
56
+ * Order-independent: resolveFromContext is pure (does not mutate ctx),
57
+ * so resolvers may read from any ctx table at any time without observing
58
+ * partial state from other resolvers.
47
59
  */
48
60
  function resolve(ctx, resolvers) {
49
61
  const standard = {
50
62
  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
- terms: Object.values(ctx.terms),
70
- forms: Object.values(ctx.forms),
71
- subforms: Object.values(ctx.subforms),
72
- symbols: [],
73
- calculations: [],
74
- stateMachines: Object.values(ctx.stateMachines),
75
63
  root: null,
76
64
  };
77
- // Resolve order matters: pages reference processes/approvals/events/gateways,
78
- // so those must be cached in their resolved form before pages run.
79
- resolveField(ctx, resolvers, 'dataClasses', standard.dataclasses);
80
- resolveField(ctx, resolvers, 'registers', standard.regs);
81
- resolveField(ctx, resolvers, 'provisions', standard.provisions);
82
- resolveField(ctx, resolvers, 'processes', standard.processes);
83
- resolveField(ctx, resolvers, 'approvals', standard.approvals);
84
- resolveField(ctx, resolvers, 'notes', standard.notes);
85
- resolveField(ctx, resolvers, 'symbols', standard.symbols);
86
- resolveField(ctx, resolvers, 'calculations', standard.calculations);
87
- resolveField(ctx, resolvers, 'pages', standard.pages);
88
- // Root is a single page reference — look it up after pages are resolved.
89
- if (ctx.root) {
90
- const root = ctx.pages[ctx.root];
91
- standard.root = root ?? null;
92
- }
93
- return standard;
94
- }
95
- function resolveField(ctx, resolvers, field, out) {
96
- const cfg = resolvers[field];
97
- if (!cfg) {
98
- return;
99
- }
100
- const table = ctx[field];
101
- for (const [id, item] of Object.entries(table)) {
102
- const resolved = cfg.resolve(ctx, item);
103
- if (resolved === undefined) {
65
+ // All constructs go through the resolver loop. Pass-through constructs
66
+ // (no cross-references) have auto-generated identity resolvers from
67
+ // buildResolverConfig — no hardcoded field list here. Adding a new
68
+ // pass-through construct is purely a config change.
69
+ for (const field of Object.keys(resolvers)) {
70
+ const cfg = resolvers[field];
71
+ if (!cfg) {
72
+ continue;
73
+ }
74
+ const table = ctx[field];
75
+ if (!table) {
104
76
  continue;
105
77
  }
106
- delete resolved._relations;
107
- table[id] = resolved;
108
- out.push(resolved);
78
+ const out = [];
79
+ for (const [, item] of Object.entries(table)) {
80
+ const resolved = cfg.resolve(ctx, item);
81
+ if (resolved === undefined) {
82
+ continue;
83
+ }
84
+ delete resolved._relations;
85
+ out.push(resolved);
86
+ }
87
+ standard[field] = out;
109
88
  }
89
+ if (ctx.root) {
90
+ standard.root = ctx.pages[ctx.root] ?? null;
91
+ }
92
+ return standard;
110
93
  }
111
94
  //# sourceMappingURL=resolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/ser-des/resolve.ts"],"names":[],"mappings":";;AAoBA,gDAsBC;AAYD,0BAoDC;AAtGD,MAAM,UAAU,GAAa;IAC3B,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;CACd,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,GAAiB,EACjB,KAAyB,EACzB,EAAU;IAEV,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAiC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAA2C,CAAC;IAC5D,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAC7B,OAAQ,QAAgD,CAAC,UAAU,CAAC;QACpE,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAwB,OAAO,CAC7B,GAAiB,EACjB,SAAgC;IAEhC,MAAM,QAAQ,GAAa;QACzB,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,UAAU;QAChC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QACnC,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrC,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QAC/C,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,8EAA8E;IAC9E,mEAAmE;IACnE,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClE,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzD,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChE,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9D,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9D,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpE,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,yEAAyE;IACzE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,GAAiB,EACjB,SAAgC,EAChC,KAAyB,EACzB,GAAc;IAEd,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAA4B,CAAC;IACpD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAa,CAE9C,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/ser-des/resolve.ts"],"names":[],"mappings":";;AA0BA,gDAqBC;AAmBD,0BAyCC;AAvGD,MAAM,UAAU,GAAa;IAC3B,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;CACd,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAChC,GAAiB,EACjB,KAAyB,EACzB,EAAU;IAEV,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAiC,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAA2C,CAAC;IAC5D,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAC7B,OAAQ,QAAgD,CAAC,UAAU,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAwB,OAAO,CAC7B,GAAiB,EACjB,SAAgC;IAEhC,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,UAAU;QAChC,IAAI,EAAE,IAAI;KACC,CAAC;IAEd,uEAAuE;IACvE,oEAAoE;IACpE,mEAAmE;IACnE,oDAAoD;IACpD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAA8B,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAwC,CAAC;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAa,CAE9C,CAAC;YACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,OAAO,QAAQ,CAAC,UAAU,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;QACA,QAAiD,CAAC,KAAe,CAAC,GAAG,GAAG,CAAC;IAC5E,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -23,16 +23,16 @@ export interface Token {
23
23
  export declare function tokenizeWithPositions(x: string): Token[];
24
24
  export default function tokenize(x: string): string[];
25
25
  export declare function tokenizePackage(x: string): Array<string>;
26
- export declare function removePackage(x: string): string;
26
+ export declare function unwrapBlock(x: string): string;
27
27
  /**
28
28
  * Strip surrounding quotes OR braces if (and only if) the token starts
29
29
  * and ends with them. Returns the token unchanged otherwise.
30
30
  *
31
- * Use this instead of removePackage for values that may be either bare
31
+ * Use this instead of unwrapBlock for values that may be either bare
32
32
  * IDs (`realProc`) or quoted strings (`"My Form"`) — common in form
33
33
  * field references, calculation IDs, conformance process IDs, etc.
34
34
  *
35
- * removePackage unconditionally strips first+last char, which mangles
35
+ * unwrapBlock unconditionally strips first+last char, which mangles
36
36
  * bare IDs (e.g. `DetermineMeasurementError` → `etermineMeasurementErro`).
37
37
  * stripWrapping only strips when the wrapping chars are actually
38
38
  * matching quote-or-brace.
@@ -46,5 +46,4 @@ export declare function stripWrapping(x: string): string;
46
46
  * Use this in dumpers: `out += ' name "' + escapeString(role.name) + '"\n'`
47
47
  */
48
48
  export declare function escapeString(x: string): string;
49
- export declare function tokenizeAttributes(x: string): Array<string>;
50
49
  //# sourceMappingURL=tokenize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../../src/ser-des/tokenize.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,gEAAgE;IAChE,GAAG,EAAE,QAAQ,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CA4GxD;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;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;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAwD3D"}
1
+ {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../../src/ser-des/tokenize.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,gEAAgE;IAChE,GAAG,EAAE,QAAQ,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CA4GxD;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAExD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C"}
@@ -12,10 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.tokenizeWithPositions = tokenizeWithPositions;
13
13
  exports.default = tokenize;
14
14
  exports.tokenizePackage = tokenizePackage;
15
- exports.removePackage = removePackage;
15
+ exports.unwrapBlock = unwrapBlock;
16
16
  exports.stripWrapping = stripWrapping;
17
17
  exports.escapeString = escapeString;
18
- exports.tokenizeAttributes = tokenizeAttributes;
19
18
  /**
20
19
  * Tokenize while recording each token's source position.
21
20
  *
@@ -131,9 +130,9 @@ function tokenize(x) {
131
130
  return tokenizeWithPositions(x).map(t => t.value);
132
131
  }
133
132
  function tokenizePackage(x) {
134
- return tokenize(removePackage(x));
133
+ return tokenize(unwrapBlock(x));
135
134
  }
136
- function removePackage(x) {
135
+ function unwrapBlock(x) {
137
136
  if (x.length >= 2) {
138
137
  return x.substr(1, x.length - 2);
139
138
  }
@@ -145,11 +144,11 @@ function removePackage(x) {
145
144
  * Strip surrounding quotes OR braces if (and only if) the token starts
146
145
  * and ends with them. Returns the token unchanged otherwise.
147
146
  *
148
- * Use this instead of removePackage for values that may be either bare
147
+ * Use this instead of unwrapBlock for values that may be either bare
149
148
  * IDs (`realProc`) or quoted strings (`"My Form"`) — common in form
150
149
  * field references, calculation IDs, conformance process IDs, etc.
151
150
  *
152
- * removePackage unconditionally strips first+last char, which mangles
151
+ * unwrapBlock unconditionally strips first+last char, which mangles
153
152
  * bare IDs (e.g. `DetermineMeasurementError` → `etermineMeasurementErro`).
154
153
  * stripWrapping only strips when the wrapping chars are actually
155
154
  * matching quote-or-brace.
@@ -175,65 +174,6 @@ function stripWrapping(x) {
175
174
  function escapeString(x) {
176
175
  return x.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
177
176
  }
178
- function tokenizeAttributes(x) {
179
- x = removePackage(x);
180
- const set = [];
181
- let t = '';
182
- let i = 0;
183
- while (i < x.length) {
184
- let char = x.charAt(i);
185
- if (!isWhiteSpace(char)) {
186
- t += char;
187
- i++;
188
- if (char === '{') {
189
- let count = 1;
190
- while (i < x.length && count > 0) {
191
- char = x.charAt(i);
192
- // String-awareness: don't count braces inside quoted strings.
193
- if (char === '"') {
194
- t += char;
195
- i++;
196
- while (i < x.length) {
197
- const c = x.charAt(i);
198
- if (c === '\\' && i + 1 < x.length) {
199
- t += c + x.charAt(i + 1);
200
- i += 2;
201
- continue;
202
- }
203
- t += c;
204
- i++;
205
- if (c === '"') {
206
- break;
207
- }
208
- }
209
- continue;
210
- }
211
- if (char === '{') {
212
- count++;
213
- }
214
- if (char === '}') {
215
- count--;
216
- }
217
- t += char;
218
- i++;
219
- }
220
- i++;
221
- }
222
- else {
223
- while (i < x.length && x.charAt(i) !== '{') {
224
- t += x.charAt(i);
225
- i++;
226
- }
227
- }
228
- set.push(t);
229
- t = '';
230
- }
231
- else {
232
- i++;
233
- }
234
- }
235
- return set;
236
- }
237
177
  function isWhiteSpace(x) {
238
178
  return /\s/.test(x);
239
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../../src/ser-des/tokenize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../../src/ser-des/tokenize.ts"],"names":[],"mappings":"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"}
@@ -46,9 +46,9 @@ export interface ParseContext {
46
46
  provisions: Record<string, ResolvableProvision>;
47
47
  processes: Record<string, ResolvableProcess>;
48
48
  pages: Record<string, ResolvableSubprocess>;
49
- registers: Record<string, Registry>;
49
+ regs: Record<string, Registry>;
50
50
  references: Record<string, Reference>;
51
- dataClasses: Record<string, DataClass>;
51
+ dataclasses: Record<string, DataClass>;
52
52
  events: Record<string, EventNode>;
53
53
  enums: Record<string, Enum>;
54
54
  gateways: Record<string, Gateway>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ser-des/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAS9C,MAAM,WAAW,mBAAmB;IAClC,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;KAC5B,CAAC;CACH;AAGD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,MAAM,CACJ,MAAM,YAAY,EAClB;IAEE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC7B,CACF,CACF,CAAC;AAKF,MAAM,MAAM,mBAAmB,GAAG;KAC/B,GAAG,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;CAC9E,CAAC;AAMF,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAI9E,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,YAAY,IAAI,CAC7C,GAAG,EAAE,CAAC,EACN,gBAAgB,EAAE,CAAC,KAChB,CAAC,CAAC;AAGP,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;AAO3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAG5C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAGpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAG1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAI5C,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ser-des/types.ts"],"names":[],"mappings":"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"}
@@ -30,10 +30,10 @@ export default interface Standard {
30
30
  regs: Registry[];
31
31
  events: EventNode[];
32
32
  gateways: Gateway[];
33
- refs: Reference[];
33
+ references: Reference[];
34
34
  approvals: Approval[];
35
35
  enums: Enum[];
36
- vars: Variable[];
36
+ variables: Variable[];
37
37
  notes: Note[];
38
38
  tables: Table[];
39
39
  figures: Figure[];
@@ -1 +1 @@
1
- {"version":3,"file":"Standard.d.ts","sourceRoot":"","sources":["../../../src/types/Standard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,SAAS,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,QAAQ;IAC/B,IAAI,EAAE,QAAQ,CAAC;IAEf,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE,QAAQ,EAAE,CAAC;IAGjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;IAG5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAC;IAE9B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACzB"}
1
+ {"version":3,"file":"Standard.d.ts","sourceRoot":"","sources":["../../../src/types/Standard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,SAAS,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,QAAQ;IAC/B,IAAI,EAAE,QAAQ,CAAC;IAEf,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IAGtB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;IAG5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAC;IAE9B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACzB"}
@@ -1,10 +1,7 @@
1
1
  import type Standard from './types/Standard';
2
+ import type { Position } from './ser-des/tokenize';
3
+ export type { Position };
2
4
  export type ValidationSeverity = 'error' | 'warning' | 'info';
3
- export interface Position {
4
- line: number;
5
- col: number;
6
- offset: number;
7
- }
8
5
  export interface ValidationIssue {
9
6
  severity: ValidationSeverity;
10
7
  code: string;
@@ -18,8 +15,20 @@ export interface ValidationIssue {
18
15
  * parsing carry the same shape as post-parse issues.
19
16
  */
20
17
  export type ParseIssue = ValidationIssue;
18
+ /**
19
+ * A post-parse validation check. Receives the resolved Standard and
20
+ * returns any issues it finds. Checks are independent — order does not
21
+ * matter, no shared mutable state.
22
+ */
23
+ export interface Validator {
24
+ /** Stable name for test reporting and filtering. */
25
+ name: string;
26
+ check: (standard: Standard) => ValidationIssue[];
27
+ }
21
28
  /**
22
29
  * Validate a parsed Standard. Returns issues; empty array means clean.
30
+ * Iterates every registered Validator.
23
31
  */
24
32
  export declare function validate(standard: Standard): ValidationIssue[];
33
+ export declare const VALIDATORS: Validator[];
25
34
  //# sourceMappingURL=validate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAG7C,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;AAEzC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,CAE9D"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,eAAe,EAAE,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,CAM9D;AAKD,eAAO,MAAM,UAAU,EAAE,SAAS,EAIjC,CAAC"}