@primmel/primmel 1.1.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 (113) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/duplicate-id.d.ts +12 -0
  6. package/dist/src/duplicate-id.d.ts.map +1 -0
  7. package/dist/src/duplicate-id.js +38 -0
  8. package/dist/src/duplicate-id.js.map +1 -0
  9. package/dist/src/ser-des/config/approval.d.ts.map +1 -1
  10. package/dist/src/ser-des/config/approval.js +26 -34
  11. package/dist/src/ser-des/config/approval.js.map +1 -1
  12. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  13. package/dist/src/ser-des/config/calculation.js +22 -17
  14. package/dist/src/ser-des/config/calculation.js.map +1 -1
  15. package/dist/src/ser-des/config/data.d.ts.map +1 -1
  16. package/dist/src/ser-des/config/data.js +68 -123
  17. package/dist/src/ser-des/config/data.js.map +1 -1
  18. package/dist/src/ser-des/config/event.js +4 -4
  19. package/dist/src/ser-des/config/event.js.map +1 -1
  20. package/dist/src/ser-des/config/field-parser.d.ts +11 -0
  21. package/dist/src/ser-des/config/field-parser.d.ts.map +1 -0
  22. package/dist/src/ser-des/config/field-parser.js +108 -0
  23. package/dist/src/ser-des/config/field-parser.js.map +1 -0
  24. package/dist/src/ser-des/config/figure.js +4 -4
  25. package/dist/src/ser-des/config/figure.js.map +1 -1
  26. package/dist/src/ser-des/config/flow.d.ts.map +1 -1
  27. package/dist/src/ser-des/config/flow.js +22 -12
  28. package/dist/src/ser-des/config/flow.js.map +1 -1
  29. package/dist/src/ser-des/config/form.d.ts.map +1 -1
  30. package/dist/src/ser-des/config/form.js +25 -103
  31. package/dist/src/ser-des/config/form.js.map +1 -1
  32. package/dist/src/ser-des/config/gateway.d.ts.map +1 -1
  33. package/dist/src/ser-des/config/gateway.js +10 -18
  34. package/dist/src/ser-des/config/gateway.js.map +1 -1
  35. package/dist/src/ser-des/config/index.d.ts +21 -1
  36. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  37. package/dist/src/ser-des/config/index.js +247 -196
  38. package/dist/src/ser-des/config/index.js.map +1 -1
  39. package/dist/src/ser-des/config/link.js +4 -4
  40. package/dist/src/ser-des/config/link.js.map +1 -1
  41. package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -1
  42. package/dist/src/ser-des/config/mapProfile.js +20 -29
  43. package/dist/src/ser-des/config/mapProfile.js.map +1 -1
  44. package/dist/src/ser-des/config/metadata.js +11 -11
  45. package/dist/src/ser-des/config/metadata.js.map +1 -1
  46. package/dist/src/ser-des/config/note.d.ts.map +1 -1
  47. package/dist/src/ser-des/config/note.js +19 -27
  48. package/dist/src/ser-des/config/note.js.map +1 -1
  49. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  50. package/dist/src/ser-des/config/process.js +33 -41
  51. package/dist/src/ser-des/config/process.js.map +1 -1
  52. package/dist/src/ser-des/config/provision.d.ts.map +1 -1
  53. package/dist/src/ser-des/config/provision.js +19 -27
  54. package/dist/src/ser-des/config/provision.js.map +1 -1
  55. package/dist/src/ser-des/config/reference.js +4 -4
  56. package/dist/src/ser-des/config/reference.js.map +1 -1
  57. package/dist/src/ser-des/config/role.d.ts.map +1 -1
  58. package/dist/src/ser-des/config/role.js +8 -14
  59. package/dist/src/ser-des/config/role.js.map +1 -1
  60. package/dist/src/ser-des/config/stateMachine.js +12 -12
  61. package/dist/src/ser-des/config/stateMachine.js.map +1 -1
  62. package/dist/src/ser-des/config/subform.d.ts.map +1 -1
  63. package/dist/src/ser-des/config/subform.js +14 -98
  64. package/dist/src/ser-des/config/subform.js.map +1 -1
  65. package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
  66. package/dist/src/ser-des/config/symbol.js +34 -42
  67. package/dist/src/ser-des/config/symbol.js.map +1 -1
  68. package/dist/src/ser-des/config/table.js +5 -5
  69. package/dist/src/ser-des/config/table.js.map +1 -1
  70. package/dist/src/ser-des/config/term.d.ts +5 -0
  71. package/dist/src/ser-des/config/term.d.ts.map +1 -0
  72. package/dist/src/ser-des/config/term.js +63 -0
  73. package/dist/src/ser-des/config/term.js.map +1 -0
  74. package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
  75. package/dist/src/ser-des/config/viewProfile.js +15 -23
  76. package/dist/src/ser-des/config/viewProfile.js.map +1 -1
  77. package/dist/src/ser-des/includes.d.ts +4 -0
  78. package/dist/src/ser-des/includes.d.ts.map +1 -1
  79. package/dist/src/ser-des/includes.js +21 -2
  80. package/dist/src/ser-des/includes.js.map +1 -1
  81. package/dist/src/ser-des/index.d.ts +19 -0
  82. package/dist/src/ser-des/index.d.ts.map +1 -1
  83. package/dist/src/ser-des/index.js +25 -0
  84. package/dist/src/ser-des/index.js.map +1 -1
  85. package/dist/src/ser-des/parse-block.d.ts +48 -0
  86. package/dist/src/ser-des/parse-block.d.ts.map +1 -0
  87. package/dist/src/ser-des/parse-block.js +108 -0
  88. package/dist/src/ser-des/parse-block.js.map +1 -0
  89. package/dist/src/ser-des/parse.d.ts +13 -0
  90. package/dist/src/ser-des/parse.d.ts.map +1 -1
  91. package/dist/src/ser-des/parse.js +53 -14
  92. package/dist/src/ser-des/parse.js.map +1 -1
  93. package/dist/src/ser-des/resolve.d.ts +16 -3
  94. package/dist/src/ser-des/resolve.d.ts.map +1 -1
  95. package/dist/src/ser-des/resolve.js +41 -57
  96. package/dist/src/ser-des/resolve.js.map +1 -1
  97. package/dist/src/ser-des/tokenize.d.ts +46 -2
  98. package/dist/src/ser-des/tokenize.d.ts.map +1 -1
  99. package/dist/src/ser-des/tokenize.js +141 -123
  100. package/dist/src/ser-des/tokenize.js.map +1 -1
  101. package/dist/src/ser-des/types.d.ts +7 -2
  102. package/dist/src/ser-des/types.d.ts.map +1 -1
  103. package/dist/src/types/Standard.d.ts +4 -2
  104. package/dist/src/types/Standard.d.ts.map +1 -1
  105. package/dist/src/types/Term.d.ts +21 -0
  106. package/dist/src/types/Term.d.ts.map +1 -0
  107. package/dist/src/types/Term.js +3 -0
  108. package/dist/src/types/Term.js.map +1 -0
  109. package/dist/src/validate.d.ts +34 -0
  110. package/dist/src/validate.d.ts.map +1 -0
  111. package/dist/src/validate.js +154 -0
  112. package/dist/src/validate.js.map +1 -0
  113. package/package.json +1 -1
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // Validation types + post-parse validation pass.
4
+ //
5
+ // Two issue surfaces:
6
+ // - Parse-time (caught during parse): duplicate IDs, unknown keywords
7
+ // in strict mode. Collected on ctx.issues by parse.ts.
8
+ // - Post-parse (caught after resolution): dangling refs, missing
9
+ // required fields, type mismatches. Caught by validate() here.
10
+ //
11
+ // ValidationIssue is the shared shape; `position` is optional because
12
+ // parse-time issues always have it (we know the source location) but
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.
18
+ // ─────────────────────────────────────────────────────────────────────
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.VALIDATORS = void 0;
21
+ exports.validate = validate;
22
+ /**
23
+ * Validate a parsed Standard. Returns issues; empty array means clean.
24
+ * Iterates every registered Validator.
25
+ */
26
+ function validate(standard) {
27
+ const issues = [];
28
+ for (const v of exports.VALIDATORS) {
29
+ issues.push(...v.check(standard));
30
+ }
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) {
50
+ if (!item.id || item.id.trim() === '') {
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
+ });
57
+ }
58
+ }
59
+ }
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
+ });
86
+ }
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
+ });
95
+ }
96
+ }
97
+ }
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
+ });
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];
141
+ }
142
+ }
143
+ }
144
+ function* iterFields(form) {
145
+ const stack = [...form.fields];
146
+ while (stack.length > 0) {
147
+ const field = stack.pop();
148
+ yield field;
149
+ if (field.fields && field.fields.length > 0) {
150
+ stack.push(...field.fields);
151
+ }
152
+ }
153
+ }
154
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
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.1.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",