@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
@@ -11,80 +11,133 @@
11
11
  // ValidationIssue is the shared shape; `position` is optional because
12
12
  // parse-time issues always have it (we know the source location) but
13
13
  // post-parse issues may not (resolved objects don't carry positions).
14
+ //
15
+ // Checks are registered in `VALIDATORS`. Adding a new post-parse
16
+ // check is one entry in that array — mirrors the defineConstruct
17
+ // pattern in ser-des/config/index.ts.
14
18
  // ─────────────────────────────────────────────────────────────────────
15
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.VALIDATORS = void 0;
16
21
  exports.validate = validate;
17
22
  /**
18
23
  * Validate a parsed Standard. Returns issues; empty array means clean.
24
+ * Iterates every registered Validator.
19
25
  */
20
26
  function validate(standard) {
21
- return new Validator(standard).run();
22
- }
23
- class Validator {
24
- standard;
25
- issues = [];
26
- constructor(standard) {
27
- this.standard = standard;
28
- }
29
- run() {
30
- this.checkEmptyIds();
31
- this.checkFormReferences();
32
- this.checkStateMachineCascades();
33
- return this.issues;
34
- }
35
- issue(severity, code, construct, message, id) {
36
- this.issues.push({ severity, code, construct, message, id });
27
+ const issues = [];
28
+ for (const v of exports.VALIDATORS) {
29
+ issues.push(...v.check(standard));
37
30
  }
38
- checkEmptyIds() {
39
- const allItems = [
40
- ...this.standard.roles.map(item => ({ kind: 'role', item })),
41
- ...this.standard.provisions.map(item => ({ kind: 'provision', item })),
42
- ...this.standard.processes.map(item => ({ kind: 'process', item })),
43
- ...this.standard.forms.map(item => ({ kind: 'form', item })),
44
- ...this.standard.symbols.map(item => ({ kind: 'symbol', item })),
45
- ...this.standard.calculations.map(item => ({
46
- kind: 'calculation',
47
- item,
48
- })),
49
- ];
50
- for (const { kind, item } of allItems) {
31
+ return issues;
32
+ }
33
+ // ── Registered validators ────────────────────────────────────────────
34
+ // Add a new post-parse check by appending one entry to this array.
35
+ exports.VALIDATORS = [
36
+ { name: 'empty-ids', check: checkEmptyIds },
37
+ { name: 'form-references', check: checkFormReferences },
38
+ { name: 'state-machine-cascades', check: checkStateMachineCascades },
39
+ ];
40
+ // ── Check implementations ────────────────────────────────────────────
41
+ /**
42
+ * Reports empty or whitespace-only IDs on any Standard array whose
43
+ * elements expose `.id`. Iterates generically so adding a construct
44
+ * type does not require editing this check.
45
+ */
46
+ function checkEmptyIds(standard) {
47
+ const issues = [];
48
+ for (const [field, items] of iterIdArrays(standard)) {
49
+ for (const item of items) {
51
50
  if (!item.id || item.id.trim() === '') {
52
- this.issue('error', 'empty-id', kind, `${kind} has an empty id — every ${kind} must declare a non-empty id`);
51
+ issues.push({
52
+ severity: 'error',
53
+ code: 'empty-id',
54
+ construct: field,
55
+ message: `${field} has an empty id — every ${field} must declare a non-empty id`,
56
+ });
53
57
  }
54
58
  }
55
59
  }
56
- checkFormReferences() {
57
- const calcIds = new Set(this.standard.calculations.map(c => c.id));
58
- const procIds = new Set(this.standard.processes.map(p => p.id));
59
- const subformIds = new Set(this.standard.subforms.map(s => s.id));
60
- for (const form of this.standard.forms) {
61
- if (form.conformanceProcessId &&
62
- !procIds.has(form.conformanceProcessId)) {
63
- this.issue('error', 'form-conformance-process-missing', 'form', `Form "${form.id}" references conformance process "${form.conformanceProcessId}" which does not exist`, form.id);
60
+ return issues;
61
+ }
62
+ function checkFormReferences(standard) {
63
+ const issues = [];
64
+ const calcIds = new Set(standard.calculations.map(c => c.id));
65
+ const procIds = new Set(standard.processes.map(p => p.id));
66
+ const subformIds = new Set(standard.subforms.map(s => s.id));
67
+ for (const form of standard.forms) {
68
+ if (form.conformanceProcessId && !procIds.has(form.conformanceProcessId)) {
69
+ issues.push({
70
+ severity: 'error',
71
+ code: 'form-conformance-process-missing',
72
+ construct: 'form',
73
+ message: `Form "${form.id}" references conformance process "${form.conformanceProcessId}" which does not exist`,
74
+ id: form.id,
75
+ });
76
+ }
77
+ for (const field of iterFields(form)) {
78
+ if (field.calculationId && !calcIds.has(field.calculationId)) {
79
+ issues.push({
80
+ severity: 'error',
81
+ code: 'form-calculation-missing',
82
+ construct: 'form',
83
+ message: `Form "${form.id}" field "${field.name}" references calculation "${field.calculationId}" which does not exist`,
84
+ id: form.id,
85
+ });
64
86
  }
65
- for (const field of iterFields(form)) {
66
- if (field.calculationId && !calcIds.has(field.calculationId)) {
67
- this.issue('error', 'form-calculation-missing', 'form', `Form "${form.id}" field "${field.name}" references calculation "${field.calculationId}" which does not exist`, form.id);
68
- }
69
- if (field.subformRef && !subformIds.has(field.subformRef.subformId)) {
70
- this.issue('error', 'form-subform-missing', 'form', `Form "${form.id}" field "${field.name}" references subform "${field.subformRef.subformId}" which does not exist`, form.id);
71
- }
87
+ if (field.subformRef && !subformIds.has(field.subformRef.subformId)) {
88
+ issues.push({
89
+ severity: 'error',
90
+ code: 'form-subform-missing',
91
+ construct: 'form',
92
+ message: `Form "${form.id}" field "${field.name}" references subform "${field.subformRef.subformId}" which does not exist`,
93
+ id: form.id,
94
+ });
72
95
  }
73
96
  }
74
97
  }
75
- checkStateMachineCascades() {
76
- for (const sm of this.standard.stateMachines) {
77
- const stateNames = new Set(sm.states.map(s => s.name));
78
- // `*` is the conventional wildcard for "any state" — always valid.
79
- stateNames.add('*');
80
- for (const tr of sm.transitions) {
81
- if (tr.from && !stateNames.has(tr.from)) {
82
- this.issue('warning', 'state-machine-from-missing', 'state_machine', `State machine "${sm.entityName}" transition from "${tr.from}" is not in declared states`, sm.entityName);
83
- }
84
- if (tr.to && !stateNames.has(tr.to)) {
85
- this.issue('warning', 'state-machine-to-missing', 'state_machine', `State machine "${sm.entityName}" transition to "${tr.to}" is not in declared states`, sm.entityName);
86
- }
98
+ return issues;
99
+ }
100
+ function checkStateMachineCascades(standard) {
101
+ const issues = [];
102
+ for (const sm of standard.stateMachines) {
103
+ const stateNames = new Set(sm.states.map(s => s.name));
104
+ // `*` is the conventional wildcard for "any state" — always valid.
105
+ stateNames.add('*');
106
+ for (const tr of sm.transitions) {
107
+ if (tr.from && !stateNames.has(tr.from)) {
108
+ issues.push({
109
+ severity: 'warning',
110
+ code: 'state-machine-from-missing',
111
+ construct: 'state_machine',
112
+ message: `State machine "${sm.entityName}" transition from "${tr.from}" is not in declared states`,
113
+ id: sm.entityName,
114
+ });
87
115
  }
116
+ if (tr.to && !stateNames.has(tr.to)) {
117
+ issues.push({
118
+ severity: 'warning',
119
+ code: 'state-machine-to-missing',
120
+ construct: 'state_machine',
121
+ message: `State machine "${sm.entityName}" transition to "${tr.to}" is not in declared states`,
122
+ id: sm.entityName,
123
+ });
124
+ }
125
+ }
126
+ }
127
+ return issues;
128
+ }
129
+ // ── Helpers ──────────────────────────────────────────────────────────
130
+ /**
131
+ * Yield (construct-name, array) pairs for every Standard array whose
132
+ * elements expose an `id`. Used by checkEmptyIds to walk every
133
+ * identifiable construct type without hardcoding the list.
134
+ */
135
+ function* iterIdArrays(standard) {
136
+ for (const [field, value] of Object.entries(standard)) {
137
+ if (Array.isArray(value) &&
138
+ value.length > 0 &&
139
+ typeof value[0]?.id === 'string') {
140
+ yield [field, value];
88
141
  }
89
142
  }
90
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,iDAAiD;AACjD,EAAE;AACF,sBAAsB;AACtB,wEAAwE;AACxE,2DAA2D;AAC3D,mEAAmE;AACnE,mEAAmE;AACnE,EAAE;AACF,sEAAsE;AACtE,qEAAqE;AACrE,sEAAsE;AACtE,wEAAwE;;AA+BxE,4BAEC;AALD;;GAEG;AACH,SAAgB,QAAQ,CAAC,QAAkB;IACzC,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,SAAS;IAGgB;IAFZ,MAAM,GAAsB,EAAE,CAAC;IAEhD,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,GAAG;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,KAAK,CACX,QAA4B,EAC5B,IAAY,EACZ,SAAiB,EACjB,OAAe,EACf,EAAW;QAEX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEO,aAAa;QACnB,MAAM,QAAQ,GAAkD;YAC9D,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,aAAa;gBACnB,IAAI;aACL,CAAC,CAAC;SACJ,CAAC;QACF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,KAAK,CACR,OAAO,EACP,UAAU,EACV,IAAI,EACJ,GAAG,IAAI,4BAA4B,IAAI,8BAA8B,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvC,IACE,IAAI,CAAC,oBAAoB;gBACzB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,EACvC,CAAC;gBACD,IAAI,CAAC,KAAK,CACR,OAAO,EACP,kCAAkC,EAClC,MAAM,EACN,SAAS,IAAI,CAAC,EAAE,qCAAqC,IAAI,CAAC,oBAAoB,wBAAwB,EACtG,IAAI,CAAC,EAAE,CACR,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7D,IAAI,CAAC,KAAK,CACR,OAAO,EACP,0BAA0B,EAC1B,MAAM,EACN,SAAS,IAAI,CAAC,EAAE,YAAY,KAAK,CAAC,IAAI,6BAA6B,KAAK,CAAC,aAAa,wBAAwB,EAC9G,IAAI,CAAC,EAAE,CACR,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpE,IAAI,CAAC,KAAK,CACR,OAAO,EACP,sBAAsB,EACtB,MAAM,EACN,SAAS,IAAI,CAAC,EAAE,YAAY,KAAK,CAAC,IAAI,yBAAyB,KAAK,CAAC,UAAU,CAAC,SAAS,wBAAwB,EACjH,IAAI,CAAC,EAAE,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,yBAAyB;QAC/B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,mEAAmE;YACnE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAChC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,KAAK,CACR,SAAS,EACT,4BAA4B,EAC5B,eAAe,EACf,kBAAkB,EAAE,CAAC,UAAU,sBAAsB,EAAE,CAAC,IAAI,6BAA6B,EACzF,EAAE,CAAC,UAAU,CACd,CAAC;gBACJ,CAAC;gBACD,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,KAAK,CACR,SAAS,EACT,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,EAAE,CAAC,UAAU,oBAAoB,EAAE,CAAC,EAAE,6BAA6B,EACrF,EAAE,CAAC,UAAU,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAU;IAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC3B,MAAM,KAAK,CAAC;QACZ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primmel/primmel",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Primmel — parser, types, and serializer for the Primmel modelling language (successor to MMEL)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",