@primmel/primmel 1.1.0 → 1.2.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.
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/src/ser-des/config/approval.js +1 -1
- package/dist/src/ser-des/config/approval.js.map +1 -1
- package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
- package/dist/src/ser-des/config/calculation.js +11 -6
- package/dist/src/ser-des/config/calculation.js.map +1 -1
- package/dist/src/ser-des/config/data.d.ts.map +1 -1
- package/dist/src/ser-des/config/data.js +5 -5
- package/dist/src/ser-des/config/data.js.map +1 -1
- package/dist/src/ser-des/config/event.js +2 -2
- package/dist/src/ser-des/config/event.js.map +1 -1
- package/dist/src/ser-des/config/field-parser.d.ts +11 -0
- package/dist/src/ser-des/config/field-parser.d.ts.map +1 -0
- package/dist/src/ser-des/config/field-parser.js +108 -0
- package/dist/src/ser-des/config/field-parser.js.map +1 -0
- package/dist/src/ser-des/config/figure.js +2 -2
- package/dist/src/ser-des/config/figure.js.map +1 -1
- package/dist/src/ser-des/config/flow.js +2 -2
- package/dist/src/ser-des/config/flow.js.map +1 -1
- package/dist/src/ser-des/config/form.d.ts.map +1 -1
- package/dist/src/ser-des/config/form.js +11 -89
- package/dist/src/ser-des/config/form.js.map +1 -1
- package/dist/src/ser-des/config/gateway.js +1 -1
- package/dist/src/ser-des/config/gateway.js.map +1 -1
- package/dist/src/ser-des/config/index.d.ts.map +1 -1
- package/dist/src/ser-des/config/index.js +42 -10
- package/dist/src/ser-des/config/index.js.map +1 -1
- package/dist/src/ser-des/config/link.js +2 -2
- package/dist/src/ser-des/config/link.js.map +1 -1
- package/dist/src/ser-des/config/metadata.js +5 -5
- package/dist/src/ser-des/config/metadata.js.map +1 -1
- package/dist/src/ser-des/config/note.js +1 -1
- package/dist/src/ser-des/config/note.js.map +1 -1
- package/dist/src/ser-des/config/process.js +1 -1
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/config/provision.js +1 -1
- package/dist/src/ser-des/config/provision.js.map +1 -1
- package/dist/src/ser-des/config/reference.js +2 -2
- package/dist/src/ser-des/config/reference.js.map +1 -1
- package/dist/src/ser-des/config/role.js +1 -1
- package/dist/src/ser-des/config/role.js.map +1 -1
- package/dist/src/ser-des/config/subform.d.ts.map +1 -1
- package/dist/src/ser-des/config/subform.js +6 -90
- package/dist/src/ser-des/config/subform.js.map +1 -1
- package/dist/src/ser-des/config/symbol.js +4 -4
- package/dist/src/ser-des/config/symbol.js.map +1 -1
- package/dist/src/ser-des/config/term.d.ts +5 -0
- package/dist/src/ser-des/config/term.d.ts.map +1 -0
- package/dist/src/ser-des/config/term.js +77 -0
- package/dist/src/ser-des/config/term.js.map +1 -0
- package/dist/src/ser-des/index.d.ts +19 -0
- package/dist/src/ser-des/index.d.ts.map +1 -1
- package/dist/src/ser-des/index.js +25 -0
- package/dist/src/ser-des/index.js.map +1 -1
- package/dist/src/ser-des/parse.d.ts +12 -0
- package/dist/src/ser-des/parse.d.ts.map +1 -1
- package/dist/src/ser-des/parse.js +69 -12
- package/dist/src/ser-des/parse.js.map +1 -1
- package/dist/src/ser-des/resolve.d.ts.map +1 -1
- package/dist/src/ser-des/resolve.js +1 -0
- package/dist/src/ser-des/resolve.js.map +1 -1
- package/dist/src/ser-des/tokenize.d.ts +45 -0
- package/dist/src/ser-des/tokenize.d.ts.map +1 -1
- package/dist/src/ser-des/tokenize.js +140 -62
- package/dist/src/ser-des/tokenize.js.map +1 -1
- package/dist/src/ser-des/types.d.ts +5 -0
- package/dist/src/ser-des/types.d.ts.map +1 -1
- package/dist/src/types/Standard.d.ts +2 -0
- package/dist/src/types/Standard.d.ts.map +1 -1
- package/dist/src/types/Term.d.ts +21 -0
- package/dist/src/types/Term.d.ts.map +1 -0
- package/dist/src/types/Term.js +3 -0
- package/dist/src/types/Term.js.map +1 -0
- package/dist/src/validate.d.ts +25 -0
- package/dist/src/validate.d.ts.map +1 -0
- package/dist/src/validate.js +101 -0
- package/dist/src/validate.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dumpSubformType = exports.parseSubform = void 0;
|
|
4
4
|
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const field_parser_1 = require("./field-parser");
|
|
5
6
|
const parseSubform = function (id, data) {
|
|
6
7
|
const result = {
|
|
7
8
|
id,
|
|
@@ -37,7 +38,7 @@ const parseSubform = function (id, data) {
|
|
|
37
38
|
if (i < t.length) {
|
|
38
39
|
const fieldBlock = (0, tokenize_1.removePackage)(t[i++]);
|
|
39
40
|
// Determine if there's a type spec between name and {
|
|
40
|
-
const field =
|
|
41
|
+
const field = (0, field_parser_1.parseFormField)(fieldName, fieldBlock);
|
|
41
42
|
result.fields.push(field);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -115,103 +116,18 @@ function parseParameters(block) {
|
|
|
115
116
|
}
|
|
116
117
|
return params;
|
|
117
118
|
}
|
|
118
|
-
function parseField(name, block) {
|
|
119
|
-
// Simplified: capture properties without full type-spec parsing
|
|
120
|
-
const field = {
|
|
121
|
-
name,
|
|
122
|
-
type: 'string',
|
|
123
|
-
label: '',
|
|
124
|
-
definition: '',
|
|
125
|
-
unit: '',
|
|
126
|
-
required: false,
|
|
127
|
-
measurementMethod: '',
|
|
128
|
-
calculationId: null,
|
|
129
|
-
calculationBindings: [],
|
|
130
|
-
derivation: '',
|
|
131
|
-
evaluation: null,
|
|
132
|
-
values: [],
|
|
133
|
-
defaultValue: '',
|
|
134
|
-
hasDefault: false,
|
|
135
|
-
referenceIds: [],
|
|
136
|
-
fields: [],
|
|
137
|
-
itemsType: '',
|
|
138
|
-
subformRef: null,
|
|
139
|
-
};
|
|
140
|
-
if (block && block.trim()) {
|
|
141
|
-
const t = (0, tokenize_1.tokenizePackage)(block);
|
|
142
|
-
let i = 0;
|
|
143
|
-
// Skip leading type spec (handled by caller or ': type' before {)
|
|
144
|
-
while (i < t.length) {
|
|
145
|
-
const cmd = t[i++];
|
|
146
|
-
if (i < t.length) {
|
|
147
|
-
if (cmd === 'label') {
|
|
148
|
-
field.label = (0, tokenize_1.removePackage)(t[i++]);
|
|
149
|
-
}
|
|
150
|
-
else if (cmd === 'definition') {
|
|
151
|
-
field.definition = (0, tokenize_1.removePackage)(t[i++]);
|
|
152
|
-
}
|
|
153
|
-
else if (cmd === 'unit') {
|
|
154
|
-
field.unit = (0, tokenize_1.removePackage)(t[i++]);
|
|
155
|
-
}
|
|
156
|
-
else if (cmd === 'required') {
|
|
157
|
-
field.required = (0, tokenize_1.removePackage)(t[i++]) === 'true';
|
|
158
|
-
}
|
|
159
|
-
else if (cmd === 'measurement_method') {
|
|
160
|
-
field.measurementMethod = (0, tokenize_1.removePackage)(t[i++]);
|
|
161
|
-
}
|
|
162
|
-
else if (cmd === 'calculation') {
|
|
163
|
-
field.calculationId = (0, tokenize_1.removePackage)(t[i++]);
|
|
164
|
-
}
|
|
165
|
-
else if (cmd === 'calculation_bindings') {
|
|
166
|
-
// Skip the binding block (raw)
|
|
167
|
-
(0, tokenize_1.removePackage)(t[i++]);
|
|
168
|
-
}
|
|
169
|
-
else if (cmd === 'derivation') {
|
|
170
|
-
field.derivation = (0, tokenize_1.removePackage)(t[i++]);
|
|
171
|
-
}
|
|
172
|
-
else if (cmd === 'evaluation') {
|
|
173
|
-
// Skip evaluation block
|
|
174
|
-
(0, tokenize_1.removePackage)(t[i++]);
|
|
175
|
-
}
|
|
176
|
-
else if (cmd === 'values') {
|
|
177
|
-
field.values = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
178
|
-
}
|
|
179
|
-
else if (cmd === 'default') {
|
|
180
|
-
field.defaultValue = (0, tokenize_1.removePackage)(t[i++]);
|
|
181
|
-
field.hasDefault = true;
|
|
182
|
-
}
|
|
183
|
-
else if (cmd === 'min_items' || cmd === 'max_items') {
|
|
184
|
-
// Placeholders or integers — store raw
|
|
185
|
-
(0, tokenize_1.removePackage)(t[i++]);
|
|
186
|
-
}
|
|
187
|
-
else if (cmd === 'items' || cmd === 'fields') {
|
|
188
|
-
// Nested block — skip for now
|
|
189
|
-
(0, tokenize_1.removePackage)(t[i++]);
|
|
190
|
-
}
|
|
191
|
-
else if (cmd === 'reference') {
|
|
192
|
-
field.referenceIds = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
// Unknown property, skip its value
|
|
196
|
-
(0, tokenize_1.removePackage)(t[i++]);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
return field;
|
|
202
|
-
}
|
|
203
119
|
const dumpSubformType = function (sf) {
|
|
204
120
|
let out = 'subform ' + sf.id + ' {\n';
|
|
205
121
|
out += ' type ' + sf.shapeType + '\n';
|
|
206
122
|
if (sf.description) {
|
|
207
|
-
out += ' description "' + sf.description + '"\n';
|
|
123
|
+
out += ' description "' + (0, tokenize_1.escapeString)(sf.description) + '"\n';
|
|
208
124
|
}
|
|
209
125
|
if (sf.parameters.length > 0) {
|
|
210
126
|
out += ' parameters {\n';
|
|
211
127
|
for (const p of sf.parameters) {
|
|
212
128
|
let line = ' ' + p.name + ' : ' + p.type + ' { ';
|
|
213
129
|
if (p.description) {
|
|
214
|
-
line += 'description "' + p.description + '" ';
|
|
130
|
+
line += 'description "' + (0, tokenize_1.escapeString)(p.description) + '" ';
|
|
215
131
|
}
|
|
216
132
|
if (p.hasDefault) {
|
|
217
133
|
line += 'default ' + p.defaultValue + ' ';
|
|
@@ -231,10 +147,10 @@ const dumpSubformType = function (sf) {
|
|
|
231
147
|
for (const f of sf.fields) {
|
|
232
148
|
out += ' field ' + f.name + ' { ';
|
|
233
149
|
if (f.label) {
|
|
234
|
-
out += 'label "' + f.label + '" ';
|
|
150
|
+
out += 'label "' + (0, tokenize_1.escapeString)(f.label) + '" ';
|
|
235
151
|
}
|
|
236
152
|
if (f.unit) {
|
|
237
|
-
out += 'unit "' + f.unit + '" ';
|
|
153
|
+
out += 'unit "' + (0, tokenize_1.escapeString)(f.unit) + '" ';
|
|
238
154
|
}
|
|
239
155
|
if (f.required) {
|
|
240
156
|
out += 'required true ';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subform.js","sourceRoot":"","sources":["../../../../src/ser-des/config/subform.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"subform.js","sourceRoot":"","sources":["../../../../src/ser-des/config/subform.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,16 +83,16 @@ const resolveSymbol = function (ctx, unresolved) {
|
|
|
83
83
|
exports.resolveSymbol = resolveSymbol;
|
|
84
84
|
const dumpSymbol = function (s) {
|
|
85
85
|
let out = 'symbol ' + s.id + ' {\n';
|
|
86
|
-
out += ' name "' + s.name + '"\n';
|
|
86
|
+
out += ' name "' + (0, tokenize_1.escapeString)(s.name) + '"\n';
|
|
87
87
|
if (s.definition) {
|
|
88
|
-
out += ' definition "' + s.definition + '"\n';
|
|
88
|
+
out += ' definition "' + (0, tokenize_1.escapeString)(s.definition) + '"\n';
|
|
89
89
|
}
|
|
90
90
|
out += ' type ' + s.type + '\n';
|
|
91
91
|
if (s.unit && s.unit !== '1') {
|
|
92
|
-
out += ' unit "' + s.unit + '"\n';
|
|
92
|
+
out += ' unit "' + (0, tokenize_1.escapeString)(s.unit) + '"\n';
|
|
93
93
|
}
|
|
94
94
|
if (s.latex) {
|
|
95
|
-
out += ' latex "' + s.latex + '"\n';
|
|
95
|
+
out += ' latex "' + (0, tokenize_1.escapeString)(s.latex) + '"\n';
|
|
96
96
|
}
|
|
97
97
|
if (s.values.length > 0) {
|
|
98
98
|
out += ' values ' + s.values.join(' ') + '\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../../../src/ser-des/config/symbol.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../../../src/ser-des/config/symbol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"term.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/term.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC;AAEzC,eAAO,MAAM,SAAS,EAAE,MA+CvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,IAAI,CAoBjC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpTerm = exports.parseTerm = void 0;
|
|
4
|
+
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const parseTerm = function (id, data) {
|
|
6
|
+
const result = {
|
|
7
|
+
id,
|
|
8
|
+
label: '',
|
|
9
|
+
definition: '',
|
|
10
|
+
symbolId: '',
|
|
11
|
+
referenceIds: [],
|
|
12
|
+
ref: [],
|
|
13
|
+
};
|
|
14
|
+
if (data !== '') {
|
|
15
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
16
|
+
let i = 0;
|
|
17
|
+
while (i < t.length) {
|
|
18
|
+
const command = t[i++];
|
|
19
|
+
if (i < t.length) {
|
|
20
|
+
if (command === 'label') {
|
|
21
|
+
result.label = (0, tokenize_1.removePackage)(t[i++]);
|
|
22
|
+
}
|
|
23
|
+
else if (command === 'definition') {
|
|
24
|
+
result.definition = (0, tokenize_1.removePackage)(t[i++]);
|
|
25
|
+
}
|
|
26
|
+
else if (command === 'symbol') {
|
|
27
|
+
// symbol reference is a bare ID (e.g., `symbol Emax`).
|
|
28
|
+
// Strip wrapping quotes if present (defensive — most models use bare IDs).
|
|
29
|
+
const raw = t[i++];
|
|
30
|
+
result.symbolId =
|
|
31
|
+
raw.length >= 2 &&
|
|
32
|
+
raw.charAt(0) === '"' &&
|
|
33
|
+
raw.charAt(raw.length - 1) === '"'
|
|
34
|
+
? raw.slice(1, -1)
|
|
35
|
+
: raw;
|
|
36
|
+
}
|
|
37
|
+
else if (command === 'reference') {
|
|
38
|
+
result.referenceIds = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
throw new Error(`Parsing error: term. ID ${id}: Expecting value for ${command}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return ctx => {
|
|
50
|
+
ctx.terms[id] = result;
|
|
51
|
+
return ctx;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
exports.parseTerm = parseTerm;
|
|
55
|
+
const dumpTerm = function (term) {
|
|
56
|
+
let out = 'term ' + term.id + ' {\n';
|
|
57
|
+
if (term.label) {
|
|
58
|
+
out += ' label "' + term.label + '"\n';
|
|
59
|
+
}
|
|
60
|
+
if (term.definition) {
|
|
61
|
+
out += ' definition "' + term.definition + '"\n';
|
|
62
|
+
}
|
|
63
|
+
if (term.symbolId) {
|
|
64
|
+
out += ' symbol ' + term.symbolId + '\n';
|
|
65
|
+
}
|
|
66
|
+
if (term.referenceIds.length > 0) {
|
|
67
|
+
out += ' reference {\n';
|
|
68
|
+
for (const r of term.referenceIds) {
|
|
69
|
+
out += ' ' + r + '\n';
|
|
70
|
+
}
|
|
71
|
+
out += ' }\n';
|
|
72
|
+
}
|
|
73
|
+
out += '}\n';
|
|
74
|
+
return out;
|
|
75
|
+
};
|
|
76
|
+
exports.dumpTerm = dumpTerm;
|
|
77
|
+
//# sourceMappingURL=term.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"term.js","sourceRoot":"","sources":["../../../../src/ser-des/config/term.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import Standard from '../types/Standard';
|
|
2
2
|
import type { ParseOptions } from './parse';
|
|
3
|
+
import { type ValidationIssue, type ValidationSeverity, type Position } from '../validate';
|
|
3
4
|
export type LoadOptions = ParseOptions;
|
|
5
|
+
export interface LoadResult {
|
|
6
|
+
standard: Standard;
|
|
7
|
+
/** Issues collected during parse (e.g. duplicate IDs). */
|
|
8
|
+
issues: ValidationIssue[];
|
|
9
|
+
}
|
|
4
10
|
/**
|
|
5
11
|
* Parse a .mmel string into a typed Standard.
|
|
6
12
|
* Does NOT resolve include directives — use loadFile() for that.
|
|
@@ -9,11 +15,24 @@ export type LoadOptions = ParseOptions;
|
|
|
9
15
|
* to throw on unknown top-level keywords.
|
|
10
16
|
*/
|
|
11
17
|
export declare function load(mmelString: string, options?: LoadOptions): Standard;
|
|
18
|
+
/**
|
|
19
|
+
* Like load(), but also returns parse-time issues (duplicate IDs, etc.).
|
|
20
|
+
*
|
|
21
|
+
* Post-resolution validation (dangling refs, missing required fields)
|
|
22
|
+
* is NOT included here — call validate(standard) for that.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadWithIssues(mmelString: string, options?: LoadOptions): LoadResult;
|
|
12
25
|
/**
|
|
13
26
|
* Load a .mmel FILE, resolving include directives first.
|
|
14
27
|
* Use this when the model uses `include "..."` to split across files.
|
|
15
28
|
*/
|
|
16
29
|
export declare function loadFile(filePath: string, options?: LoadOptions): Standard;
|
|
30
|
+
/**
|
|
31
|
+
* Like loadFile(), but also returns parse-time issues.
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadFileWithIssues(filePath: string, options?: LoadOptions): LoadResult;
|
|
17
34
|
export declare function dump(standard: Standard): string;
|
|
35
|
+
export declare function validate(standard: Standard): ValidationIssue[];
|
|
18
36
|
export type { ParseOptions };
|
|
37
|
+
export type { ValidationIssue, ValidationSeverity, Position };
|
|
19
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAK5C,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,0DAA0D;IAC1D,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,QAAQ,CAG5E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,UAAU,CAIZ;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,GACxB,QAAQ,CAGV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,GACxB,UAAU,CAGZ;AAED,wBAAgB,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE/C;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,CAE9D;AAED,YAAY,EAAE,YAAY,EAAE,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.load = load;
|
|
4
|
+
exports.loadWithIssues = loadWithIssues;
|
|
4
5
|
exports.loadFile = loadFile;
|
|
6
|
+
exports.loadFileWithIssues = loadFileWithIssues;
|
|
5
7
|
exports.dump = dump;
|
|
8
|
+
exports.validate = validate;
|
|
6
9
|
const parse_1 = require("./parse");
|
|
7
10
|
const resolve_1 = require("./resolve");
|
|
8
11
|
const dump_1 = require("./dump");
|
|
9
12
|
const config_1 = require("./config");
|
|
10
13
|
const includes_1 = require("./includes");
|
|
14
|
+
const validate_1 = require("../validate");
|
|
11
15
|
/**
|
|
12
16
|
* Parse a .mmel string into a typed Standard.
|
|
13
17
|
* Does NOT resolve include directives — use loadFile() for that.
|
|
@@ -19,6 +23,17 @@ function load(mmelString, options = {}) {
|
|
|
19
23
|
const context = (0, parse_1.default)(mmelString, config_1.PARSER_CONFIG, options);
|
|
20
24
|
return (0, resolve_1.default)(context, config_1.RESOLVER_CONFIG);
|
|
21
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Like load(), but also returns parse-time issues (duplicate IDs, etc.).
|
|
28
|
+
*
|
|
29
|
+
* Post-resolution validation (dangling refs, missing required fields)
|
|
30
|
+
* is NOT included here — call validate(standard) for that.
|
|
31
|
+
*/
|
|
32
|
+
function loadWithIssues(mmelString, options = {}) {
|
|
33
|
+
const context = (0, parse_1.default)(mmelString, config_1.PARSER_CONFIG, options);
|
|
34
|
+
const standard = (0, resolve_1.default)(context, config_1.RESOLVER_CONFIG);
|
|
35
|
+
return { standard, issues: context.issues };
|
|
36
|
+
}
|
|
22
37
|
/**
|
|
23
38
|
* Load a .mmel FILE, resolving include directives first.
|
|
24
39
|
* Use this when the model uses `include "..."` to split across files.
|
|
@@ -27,7 +42,17 @@ function loadFile(filePath, options = {}) {
|
|
|
27
42
|
const content = (0, includes_1.preprocessIncludes)(filePath);
|
|
28
43
|
return load(content, options);
|
|
29
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Like loadFile(), but also returns parse-time issues.
|
|
47
|
+
*/
|
|
48
|
+
function loadFileWithIssues(filePath, options = {}) {
|
|
49
|
+
const content = (0, includes_1.preprocessIncludes)(filePath);
|
|
50
|
+
return loadWithIssues(content, options);
|
|
51
|
+
}
|
|
30
52
|
function dump(standard) {
|
|
31
53
|
return (0, dump_1.default)(standard, config_1.DUMPER_CONFIG);
|
|
32
54
|
}
|
|
55
|
+
function validate(standard) {
|
|
56
|
+
return (0, validate_1.validate)(standard);
|
|
57
|
+
}
|
|
33
58
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ser-des/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ser-des/index.ts"],"names":[],"mappings":";;AA6BA,oBAGC;AAQD,wCAOC;AAMD,4BAMC;AAKD,gDAMC;AAED,oBAEC;AAED,4BAEC;AA7ED,mCAA4B;AAE5B,uCAAgC;AAChC,iCAA2B;AAC3B,qCAAyE;AACzE,yCAAgD;AAChD,0CAKqB;AAUrB;;;;;;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;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,UAAkB,EAClB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,UAAU,EAAE,sBAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,OAAO,EAAE,wBAAe,CAAC,CAAC;IACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC9C,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;;GAEG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,IAAI,CAAC,QAAkB;IACrC,OAAO,IAAA,cAAK,EAAC,QAAQ,EAAE,sBAAa,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,QAAQ,CAAC,QAAkB;IACzC,OAAO,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -7,5 +7,17 @@ export interface ParseOptions {
|
|
|
7
7
|
*/
|
|
8
8
|
strict?: boolean;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Parse a .mmel string into a ParseContext.
|
|
12
|
+
*
|
|
13
|
+
* Position tracking is enabled by default — every parser error message
|
|
14
|
+
* includes the line:column of the offending token. Positions are also
|
|
15
|
+
* recorded on each ValidationIssue, so consumers can point at the
|
|
16
|
+
* exact source location of any model problem.
|
|
17
|
+
*
|
|
18
|
+
* Duplicate-ID detection runs during parsing (not post-resolution),
|
|
19
|
+
* because the parser silently overwrites duplicate ctx entries. By
|
|
20
|
+
* catching duplicates here, the issue survives into the result.
|
|
21
|
+
*/
|
|
10
22
|
export default function parse(mmelString: string, parsers: ParserConfiguration, options?: ParseOptions): ParseContext;
|
|
11
23
|
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAG5D,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,YAAiB,GACzB,YAAY,CAmHd"}
|
|
@@ -2,7 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = parse;
|
|
4
4
|
const tokenize_1 = require("./tokenize");
|
|
5
|
+
/**
|
|
6
|
+
* Parse a .mmel string into a ParseContext.
|
|
7
|
+
*
|
|
8
|
+
* Position tracking is enabled by default — every parser error message
|
|
9
|
+
* includes the line:column of the offending token. Positions are also
|
|
10
|
+
* recorded on each ValidationIssue, so consumers can point at the
|
|
11
|
+
* exact source location of any model problem.
|
|
12
|
+
*
|
|
13
|
+
* 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.
|
|
16
|
+
*/
|
|
5
17
|
function parse(mmelString, parsers, options = {}) {
|
|
18
|
+
const tokens = (0, tokenize_1.tokenizeWithPositions)(mmelString);
|
|
19
|
+
const seenIds = new Map();
|
|
20
|
+
// ctx is mutated by parser functions; declared with let because
|
|
21
|
+
// some parsers return a new ctx object via immutable update.
|
|
6
22
|
let ctx = {
|
|
7
23
|
root: '',
|
|
8
24
|
metadata: null,
|
|
@@ -25,39 +41,80 @@ function parse(mmelString, parsers, options = {}) {
|
|
|
25
41
|
links: {},
|
|
26
42
|
mapProfiles: {},
|
|
27
43
|
viewProfiles: {},
|
|
28
|
-
// Primmel extensions (MN 113-
|
|
44
|
+
// Primmel extensions (MN 113-6 to 113-10)
|
|
45
|
+
terms: {},
|
|
29
46
|
forms: {},
|
|
30
47
|
subforms: {},
|
|
31
48
|
symbols: {},
|
|
32
49
|
calculations: {},
|
|
33
50
|
stateMachines: {},
|
|
51
|
+
// Issue collection (duplicate IDs, etc.)
|
|
52
|
+
issues: [],
|
|
34
53
|
};
|
|
35
|
-
const token = (0, tokenize_1.default)(mmelString);
|
|
36
54
|
let i = 0;
|
|
37
|
-
while (i <
|
|
38
|
-
const
|
|
55
|
+
while (i < tokens.length) {
|
|
56
|
+
const tok = tokens[i++];
|
|
57
|
+
const keyword = tok.value;
|
|
39
58
|
const cfg = parsers[keyword];
|
|
40
59
|
if (!cfg) {
|
|
41
60
|
if (options.strict) {
|
|
42
|
-
throw new Error(`Unknown keyword "${keyword}" at
|
|
61
|
+
throw new Error(`Unknown keyword "${keyword}" at line ${tok.start.line} col ${tok.start.col}. Use lenient mode (default) to skip unknown keywords.`);
|
|
43
62
|
}
|
|
44
63
|
// Lenient: skip unknown keywords for forward compatibility.
|
|
45
64
|
continue;
|
|
46
65
|
}
|
|
47
66
|
let updateCtx;
|
|
48
67
|
if (cfg.takesID) {
|
|
49
|
-
if (i + 1 >
|
|
50
|
-
throw new Error(`Keyword "${keyword}" expects an ID and payload, but only ${
|
|
68
|
+
if (i + 1 > tokens.length) {
|
|
69
|
+
throw new Error(`Keyword "${keyword}" at line ${tok.start.line} col ${tok.start.col} expects an ID and payload, but only ${tokens.length - i + 1} token(s) remain.`);
|
|
51
70
|
}
|
|
52
|
-
|
|
71
|
+
const idTok = tokens[i++];
|
|
72
|
+
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).
|
|
77
|
+
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);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
updateCtx = cfg.parse(idTok.value, payloadTok.value);
|
|
53
103
|
}
|
|
54
104
|
else {
|
|
55
|
-
if (i >=
|
|
56
|
-
throw new Error(`Keyword "${keyword}" expects a payload, but no tokens remain.`);
|
|
105
|
+
if (i >= tokens.length) {
|
|
106
|
+
throw new Error(`Keyword "${keyword}" at line ${tok.start.line} col ${tok.start.col} expects a payload, but no tokens remain.`);
|
|
57
107
|
}
|
|
58
|
-
|
|
108
|
+
const payloadTok = tokens[i++];
|
|
109
|
+
updateCtx = cfg.parse(payloadTok.value);
|
|
110
|
+
}
|
|
111
|
+
const next = updateCtx(ctx);
|
|
112
|
+
// updateCtx returns a new ctx (immutable style) OR the same ctx
|
|
113
|
+
// (mutating style). Preserve issues across the swap.
|
|
114
|
+
if (next !== ctx) {
|
|
115
|
+
next.issues = ctx.issues;
|
|
59
116
|
}
|
|
60
|
-
ctx =
|
|
117
|
+
ctx = next;
|
|
61
118
|
}
|
|
62
119
|
return ctx;
|
|
63
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/ser-des/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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"}
|
|
@@ -66,6 +66,7 @@ function resolve(ctx, resolvers) {
|
|
|
66
66
|
links: Object.values(ctx.links),
|
|
67
67
|
mapProfiles: Object.values(ctx.mapProfiles),
|
|
68
68
|
viewProfiles: Object.values(ctx.viewProfiles),
|
|
69
|
+
terms: Object.values(ctx.terms),
|
|
69
70
|
forms: Object.values(ctx.forms),
|
|
70
71
|
subforms: Object.values(ctx.subforms),
|
|
71
72
|
symbols: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/ser-des/resolve.ts"],"names":[],"mappings":";;AAoBA,gDAsBC;AAYD,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/ser-des/resolve.ts"],"names":[],"mappings":"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"}
|