@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.
- package/dist/src/duplicate-id.d.ts +12 -0
- package/dist/src/duplicate-id.d.ts.map +1 -0
- package/dist/src/duplicate-id.js +38 -0
- package/dist/src/duplicate-id.js.map +1 -0
- package/dist/src/ser-des/config/approval.d.ts.map +1 -1
- package/dist/src/ser-des/config/approval.js +25 -33
- package/dist/src/ser-des/config/approval.js.map +1 -1
- package/dist/src/ser-des/config/calculation.js +11 -11
- 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 +63 -118
- 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.js +12 -12
- package/dist/src/ser-des/config/field-parser.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/src/ser-des/config/flow.js +20 -10
- package/dist/src/ser-des/config/flow.js.map +1 -1
- package/dist/src/ser-des/config/form.js +14 -14
- package/dist/src/ser-des/config/form.js.map +1 -1
- package/dist/src/ser-des/config/gateway.d.ts.map +1 -1
- package/dist/src/ser-des/config/gateway.js +9 -17
- package/dist/src/ser-des/config/gateway.js.map +1 -1
- package/dist/src/ser-des/config/index.d.ts +21 -1
- package/dist/src/ser-des/config/index.d.ts.map +1 -1
- package/dist/src/ser-des/config/index.js +240 -221
- 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/mapProfile.d.ts.map +1 -1
- package/dist/src/ser-des/config/mapProfile.js +20 -29
- package/dist/src/ser-des/config/mapProfile.js.map +1 -1
- package/dist/src/ser-des/config/metadata.js +6 -6
- package/dist/src/ser-des/config/metadata.js.map +1 -1
- package/dist/src/ser-des/config/note.d.ts.map +1 -1
- package/dist/src/ser-des/config/note.js +18 -26
- package/dist/src/ser-des/config/note.js.map +1 -1
- package/dist/src/ser-des/config/process.d.ts.map +1 -1
- package/dist/src/ser-des/config/process.js +32 -40
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/config/provision.d.ts.map +1 -1
- package/dist/src/ser-des/config/provision.js +18 -26
- 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.d.ts.map +1 -1
- package/dist/src/ser-des/config/role.js +7 -13
- package/dist/src/ser-des/config/role.js.map +1 -1
- package/dist/src/ser-des/config/stateMachine.js +12 -12
- package/dist/src/ser-des/config/stateMachine.js.map +1 -1
- package/dist/src/ser-des/config/subform.js +8 -8
- package/dist/src/ser-des/config/subform.js.map +1 -1
- package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
- package/dist/src/ser-des/config/symbol.js +30 -38
- package/dist/src/ser-des/config/symbol.js.map +1 -1
- package/dist/src/ser-des/config/table.js +5 -5
- package/dist/src/ser-des/config/table.js.map +1 -1
- package/dist/src/ser-des/config/term.d.ts.map +1 -1
- package/dist/src/ser-des/config/term.js +22 -36
- package/dist/src/ser-des/config/term.js.map +1 -1
- package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
- package/dist/src/ser-des/config/viewProfile.js +15 -23
- package/dist/src/ser-des/config/viewProfile.js.map +1 -1
- package/dist/src/ser-des/includes.d.ts +4 -0
- package/dist/src/ser-des/includes.d.ts.map +1 -1
- package/dist/src/ser-des/includes.js +21 -2
- package/dist/src/ser-des/includes.js.map +1 -1
- package/dist/src/ser-des/parse-block.d.ts +48 -0
- package/dist/src/ser-des/parse-block.d.ts.map +1 -0
- package/dist/src/ser-des/parse-block.js +108 -0
- package/dist/src/ser-des/parse-block.js.map +1 -0
- package/dist/src/ser-des/parse.d.ts +3 -2
- package/dist/src/ser-des/parse.d.ts.map +1 -1
- package/dist/src/ser-des/parse.js +13 -31
- package/dist/src/ser-des/parse.js.map +1 -1
- package/dist/src/ser-des/resolve.d.ts +16 -3
- package/dist/src/ser-des/resolve.d.ts.map +1 -1
- package/dist/src/ser-des/resolve.js +41 -58
- package/dist/src/ser-des/resolve.js.map +1 -1
- package/dist/src/ser-des/tokenize.d.ts +3 -4
- package/dist/src/ser-des/tokenize.d.ts.map +1 -1
- package/dist/src/ser-des/tokenize.js +5 -65
- package/dist/src/ser-des/tokenize.js.map +1 -1
- package/dist/src/ser-des/types.d.ts +2 -2
- package/dist/src/ser-des/types.d.ts.map +1 -1
- package/dist/src/types/Standard.d.ts +2 -2
- package/dist/src/types/Standard.d.ts.map +1 -1
- package/dist/src/validate.d.ts +14 -5
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +110 -57
- package/dist/src/validate.js.map +1 -1
- 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.
|
|
15
|
-
*
|
|
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
|
|
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
|
-
|
|
32
|
+
regs: {},
|
|
31
33
|
references: {},
|
|
32
34
|
provisions: {},
|
|
33
|
-
|
|
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
|
|
74
|
-
//
|
|
75
|
-
// issue
|
|
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
|
-
|
|
79
|
-
if (
|
|
80
|
-
|
|
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":";;
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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
|
|
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
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
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
|
-
//
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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":";;
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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,
|
|
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.
|
|
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(
|
|
133
|
+
return tokenize(unwrapBlock(x));
|
|
135
134
|
}
|
|
136
|
-
function
|
|
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
|
|
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
|
-
*
|
|
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":";AAAA,wEAAwE;AACxE,oBAAoB;AACpB,EAAE;AACF,sEAAsE;AACtE,kEAAkE;AAClE,oEAAoE;AACpE,mEAAmE;AACnE,qCAAqC;AACrC,wEAAwE;;AA0BxE,sDA4GC;AAED,2BAEC;AAED,0CAEC;AAED,
|
|
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
|
-
|
|
49
|
+
regs: Record<string, Registry>;
|
|
50
50
|
references: Record<string, Reference>;
|
|
51
|
-
|
|
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":"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
|
|
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
|
-
|
|
33
|
+
references: Reference[];
|
|
34
34
|
approvals: Approval[];
|
|
35
35
|
enums: Enum[];
|
|
36
|
-
|
|
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,
|
|
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"}
|
package/dist/src/validate.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|