@primmel/primmel 1.0.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/LICENSE +21 -0
- package/README.adoc +52 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/src/ser-des/config/approval.d.ts +6 -0
- package/dist/src/ser-des/config/approval.d.ts.map +1 -0
- package/dist/src/ser-des/config/approval.js +115 -0
- package/dist/src/ser-des/config/approval.js.map +1 -0
- package/dist/src/ser-des/config/calculation.d.ts +7 -0
- package/dist/src/ser-des/config/calculation.d.ts.map +1 -0
- package/dist/src/ser-des/config/calculation.js +182 -0
- package/dist/src/ser-des/config/calculation.js.map +1 -0
- package/dist/src/ser-des/config/data.d.ts +12 -0
- package/dist/src/ser-des/config/data.d.ts.map +1 -0
- package/dist/src/ser-des/config/data.js +278 -0
- package/dist/src/ser-des/config/data.js.map +1 -0
- package/dist/src/ser-des/config/event.d.ts +8 -0
- package/dist/src/ser-des/config/event.d.ts.map +1 -0
- package/dist/src/ser-des/config/event.js +144 -0
- package/dist/src/ser-des/config/event.js.map +1 -0
- package/dist/src/ser-des/config/figure.d.ts +5 -0
- package/dist/src/ser-des/config/figure.d.ts.map +1 -0
- package/dist/src/ser-des/config/figure.js +42 -0
- package/dist/src/ser-des/config/figure.js.map +1 -0
- package/dist/src/ser-des/config/flow.d.ts +20 -0
- package/dist/src/ser-des/config/flow.d.ts.map +1 -0
- package/dist/src/ser-des/config/flow.js +288 -0
- package/dist/src/ser-des/config/flow.js.map +1 -0
- package/dist/src/ser-des/config/form.d.ts +5 -0
- package/dist/src/ser-des/config/form.d.ts.map +1 -0
- package/dist/src/ser-des/config/form.js +353 -0
- package/dist/src/ser-des/config/form.js.map +1 -0
- package/dist/src/ser-des/config/gateway.d.ts +5 -0
- package/dist/src/ser-des/config/gateway.d.ts.map +1 -0
- package/dist/src/ser-des/config/gateway.js +50 -0
- package/dist/src/ser-des/config/gateway.js.map +1 -0
- package/dist/src/ser-des/config/index.d.ts +5 -0
- package/dist/src/ser-des/config/index.d.ts.map +1 -0
- package/dist/src/ser-des/config/index.js +266 -0
- package/dist/src/ser-des/config/index.js.map +1 -0
- package/dist/src/ser-des/config/link.d.ts +5 -0
- package/dist/src/ser-des/config/link.d.ts.map +1 -0
- package/dist/src/ser-des/config/link.js +55 -0
- package/dist/src/ser-des/config/link.js.map +1 -0
- package/dist/src/ser-des/config/mapProfile.d.ts +5 -0
- package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -0
- package/dist/src/ser-des/config/mapProfile.js +65 -0
- package/dist/src/ser-des/config/mapProfile.js.map +1 -0
- package/dist/src/ser-des/config/metadata.d.ts +5 -0
- package/dist/src/ser-des/config/metadata.d.ts.map +1 -0
- package/dist/src/ser-des/config/metadata.js +64 -0
- package/dist/src/ser-des/config/metadata.js.map +1 -0
- package/dist/src/ser-des/config/note.d.ts +7 -0
- package/dist/src/ser-des/config/note.d.ts.map +1 -0
- package/dist/src/ser-des/config/note.js +77 -0
- package/dist/src/ser-des/config/note.js.map +1 -0
- package/dist/src/ser-des/config/process.d.ts +6 -0
- package/dist/src/ser-des/config/process.d.ts.map +1 -0
- package/dist/src/ser-des/config/process.js +152 -0
- package/dist/src/ser-des/config/process.js.map +1 -0
- package/dist/src/ser-des/config/provision.d.ts +7 -0
- package/dist/src/ser-des/config/provision.d.ts.map +1 -0
- package/dist/src/ser-des/config/provision.js +81 -0
- package/dist/src/ser-des/config/provision.js.map +1 -0
- package/dist/src/ser-des/config/reference.d.ts +5 -0
- package/dist/src/ser-des/config/reference.d.ts.map +1 -0
- package/dist/src/ser-des/config/reference.js +46 -0
- package/dist/src/ser-des/config/reference.js.map +1 -0
- package/dist/src/ser-des/config/role.d.ts +5 -0
- package/dist/src/ser-des/config/role.d.ts.map +1 -0
- package/dist/src/ser-des/config/role.js +39 -0
- package/dist/src/ser-des/config/role.js.map +1 -0
- package/dist/src/ser-des/config/stateMachine.d.ts +5 -0
- package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -0
- package/dist/src/ser-des/config/stateMachine.js +175 -0
- package/dist/src/ser-des/config/stateMachine.js.map +1 -0
- package/dist/src/ser-des/config/subform.d.ts +5 -0
- package/dist/src/ser-des/config/subform.d.ts.map +1 -0
- package/dist/src/ser-des/config/subform.js +248 -0
- package/dist/src/ser-des/config/subform.js.map +1 -0
- package/dist/src/ser-des/config/symbol.d.ts +7 -0
- package/dist/src/ser-des/config/symbol.d.ts.map +1 -0
- package/dist/src/ser-des/config/symbol.js +111 -0
- package/dist/src/ser-des/config/symbol.js.map +1 -0
- package/dist/src/ser-des/config/table.d.ts +5 -0
- package/dist/src/ser-des/config/table.d.ts.map +1 -0
- package/dist/src/ser-des/config/table.js +92 -0
- package/dist/src/ser-des/config/table.js.map +1 -0
- package/dist/src/ser-des/config/viewProfile.d.ts +5 -0
- package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -0
- package/dist/src/ser-des/config/viewProfile.js +57 -0
- package/dist/src/ser-des/config/viewProfile.js.map +1 -0
- package/dist/src/ser-des/dump.d.ts +12 -0
- package/dist/src/ser-des/dump.d.ts.map +1 -0
- package/dist/src/ser-des/dump.js +28 -0
- package/dist/src/ser-des/dump.js.map +1 -0
- package/dist/src/ser-des/includes.d.ts +13 -0
- package/dist/src/ser-des/includes.d.ts.map +1 -0
- package/dist/src/ser-des/includes.js +51 -0
- package/dist/src/ser-des/includes.js.map +1 -0
- package/dist/src/ser-des/index.d.ts +19 -0
- package/dist/src/ser-des/index.d.ts.map +1 -0
- package/dist/src/ser-des/index.js +33 -0
- package/dist/src/ser-des/index.js.map +1 -0
- package/dist/src/ser-des/parse.d.ts +11 -0
- package/dist/src/ser-des/parse.d.ts.map +1 -0
- package/dist/src/ser-des/parse.js +64 -0
- package/dist/src/ser-des/parse.js.map +1 -0
- package/dist/src/ser-des/resolve.d.ts +22 -0
- package/dist/src/ser-des/resolve.d.ts.map +1 -0
- package/dist/src/ser-des/resolve.js +110 -0
- package/dist/src/ser-des/resolve.js.map +1 -0
- package/dist/src/ser-des/tokenize.d.ts +5 -0
- package/dist/src/ser-des/tokenize.d.ts.map +1 -0
- package/dist/src/ser-des/tokenize.js +127 -0
- package/dist/src/ser-des/tokenize.js.map +1 -0
- package/dist/src/ser-des/types.d.ts +65 -0
- package/dist/src/ser-des/types.d.ts.map +1 -0
- package/dist/src/ser-des/types.js +3 -0
- package/dist/src/ser-des/types.js.map +1 -0
- package/dist/src/types/Approval.d.ts +15 -0
- package/dist/src/types/Approval.d.ts.map +1 -0
- package/dist/src/types/Approval.js +3 -0
- package/dist/src/types/Approval.js.map +1 -0
- package/dist/src/types/Calculation.d.ts +26 -0
- package/dist/src/types/Calculation.d.ts.map +1 -0
- package/dist/src/types/Calculation.js +3 -0
- package/dist/src/types/Calculation.js.map +1 -0
- package/dist/src/types/Figure.d.ts +9 -0
- package/dist/src/types/Figure.d.ts.map +1 -0
- package/dist/src/types/Figure.js +3 -0
- package/dist/src/types/Figure.js.map +1 -0
- package/dist/src/types/Form.d.ts +67 -0
- package/dist/src/types/Form.d.ts.map +1 -0
- package/dist/src/types/Form.js +3 -0
- package/dist/src/types/Form.js.map +1 -0
- package/dist/src/types/Gateway.d.ts +14 -0
- package/dist/src/types/Gateway.d.ts.map +1 -0
- package/dist/src/types/Gateway.js +3 -0
- package/dist/src/types/Gateway.js.map +1 -0
- package/dist/src/types/Link.d.ts +11 -0
- package/dist/src/types/Link.d.ts.map +1 -0
- package/dist/src/types/Link.js +3 -0
- package/dist/src/types/Link.js.map +1 -0
- package/dist/src/types/MapProfile.d.ts +9 -0
- package/dist/src/types/MapProfile.d.ts.map +1 -0
- package/dist/src/types/MapProfile.js +3 -0
- package/dist/src/types/MapProfile.js.map +1 -0
- package/dist/src/types/Metadata.d.ts +9 -0
- package/dist/src/types/Metadata.d.ts.map +1 -0
- package/dist/src/types/Metadata.js +3 -0
- package/dist/src/types/Metadata.js.map +1 -0
- package/dist/src/types/Node.d.ts +4 -0
- package/dist/src/types/Node.d.ts.map +1 -0
- package/dist/src/types/Node.js +3 -0
- package/dist/src/types/Node.js.map +1 -0
- package/dist/src/types/Note.d.ts +12 -0
- package/dist/src/types/Note.d.ts.map +1 -0
- package/dist/src/types/Note.js +3 -0
- package/dist/src/types/Note.js.map +1 -0
- package/dist/src/types/ParallelGateway.d.ts +3 -0
- package/dist/src/types/ParallelGateway.d.ts.map +1 -0
- package/dist/src/types/ParallelGateway.js +3 -0
- package/dist/src/types/ParallelGateway.js.map +1 -0
- package/dist/src/types/Provision.d.ts +11 -0
- package/dist/src/types/Provision.d.ts.map +1 -0
- package/dist/src/types/Provision.js +3 -0
- package/dist/src/types/Provision.js.map +1 -0
- package/dist/src/types/Reference.d.ts +6 -0
- package/dist/src/types/Reference.d.ts.map +1 -0
- package/dist/src/types/Reference.js +3 -0
- package/dist/src/types/Reference.js.map +1 -0
- package/dist/src/types/Resolvable.d.ts +7 -0
- package/dist/src/types/Resolvable.d.ts.map +1 -0
- package/dist/src/types/Resolvable.js +3 -0
- package/dist/src/types/Resolvable.js.map +1 -0
- package/dist/src/types/Role.d.ts +5 -0
- package/dist/src/types/Role.d.ts.map +1 -0
- package/dist/src/types/Role.js +3 -0
- package/dist/src/types/Role.js.map +1 -0
- package/dist/src/types/Standard.d.ts +49 -0
- package/dist/src/types/Standard.d.ts.map +1 -0
- package/dist/src/types/Standard.js +3 -0
- package/dist/src/types/Standard.js.map +1 -0
- package/dist/src/types/StateMachine.d.ts +38 -0
- package/dist/src/types/StateMachine.d.ts.map +1 -0
- package/dist/src/types/StateMachine.js +3 -0
- package/dist/src/types/StateMachine.js.map +1 -0
- package/dist/src/types/Subform.d.ts +30 -0
- package/dist/src/types/Subform.d.ts.map +1 -0
- package/dist/src/types/Subform.js +3 -0
- package/dist/src/types/Subform.js.map +1 -0
- package/dist/src/types/Symbol.d.ts +16 -0
- package/dist/src/types/Symbol.d.ts.map +1 -0
- package/dist/src/types/Symbol.js +3 -0
- package/dist/src/types/Symbol.js.map +1 -0
- package/dist/src/types/Table.d.ts +12 -0
- package/dist/src/types/Table.d.ts.map +1 -0
- package/dist/src/types/Table.js +3 -0
- package/dist/src/types/Table.js.map +1 -0
- package/dist/src/types/ViewProfile.d.ts +10 -0
- package/dist/src/types/ViewProfile.d.ts.map +1 -0
- package/dist/src/types/ViewProfile.js +3 -0
- package/dist/src/types/ViewProfile.js.map +1 -0
- package/dist/src/types/data.d.ts +42 -0
- package/dist/src/types/data.d.ts.map +1 -0
- package/dist/src/types/data.js +3 -0
- package/dist/src/types/data.js.map +1 -0
- package/dist/src/types/events.d.ts +20 -0
- package/dist/src/types/events.d.ts.map +1 -0
- package/dist/src/types/events.js +3 -0
- package/dist/src/types/events.js.map +1 -0
- package/dist/src/types/flow.d.ts +32 -0
- package/dist/src/types/flow.d.ts.map +1 -0
- package/dist/src/types/flow.js +3 -0
- package/dist/src/types/flow.js.map +1 -0
- package/dist/src/types/process.d.ts +18 -0
- package/dist/src/types/process.d.ts.map +1 -0
- package/dist/src/types/process.js +3 -0
- package/dist/src/types/process.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpNote = exports.resolveNote = exports.parseNote = void 0;
|
|
4
|
+
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const resolve_1 = require("../resolve");
|
|
6
|
+
const VALID_NOTE_TYPES = ['NOTE', 'CAUTION', 'WARNING'];
|
|
7
|
+
const parseNote = function (id, data) {
|
|
8
|
+
const result = {
|
|
9
|
+
id: id,
|
|
10
|
+
type: 'NOTE',
|
|
11
|
+
message: '',
|
|
12
|
+
ref: [],
|
|
13
|
+
_relations: {
|
|
14
|
+
ref: [],
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
if (data !== '') {
|
|
18
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
19
|
+
let i = 0;
|
|
20
|
+
while (i < t.length) {
|
|
21
|
+
const command = t[i++];
|
|
22
|
+
if (i < t.length) {
|
|
23
|
+
if (command === 'type') {
|
|
24
|
+
const v = t[i++];
|
|
25
|
+
if (!VALID_NOTE_TYPES.includes(v)) {
|
|
26
|
+
throw new Error(`Parsing error: note. ID ${id}: Unknown type ${v} (valid: ${VALID_NOTE_TYPES.join(', ')})`);
|
|
27
|
+
}
|
|
28
|
+
result.type = v;
|
|
29
|
+
}
|
|
30
|
+
else if (command === 'message') {
|
|
31
|
+
result.message = (0, tokenize_1.removePackage)(t[i++]);
|
|
32
|
+
}
|
|
33
|
+
else if (command === 'reference') {
|
|
34
|
+
result._relations.ref = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new Error(`Parsing error: note. ID ${id}: Expecting value for ${command}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return ctx => {
|
|
46
|
+
ctx.notes[id] = result;
|
|
47
|
+
return ctx;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
exports.parseNote = parseNote;
|
|
51
|
+
const resolveNote = function (ctx, unresolved) {
|
|
52
|
+
const ref = [];
|
|
53
|
+
for (const id of unresolved._relations.ref) {
|
|
54
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'references', id);
|
|
55
|
+
if (r !== undefined) {
|
|
56
|
+
ref.push(r);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return { ...unresolved, ref };
|
|
60
|
+
};
|
|
61
|
+
exports.resolveNote = resolveNote;
|
|
62
|
+
const dumpNote = function (n) {
|
|
63
|
+
let out = 'note ' + n.id + ' {\n';
|
|
64
|
+
out += ' type ' + n.type + '\n';
|
|
65
|
+
out += ' message "' + n.message + '"\n';
|
|
66
|
+
if (n.ref.length > 0) {
|
|
67
|
+
out += ' reference {\n';
|
|
68
|
+
for (const r of n.ref) {
|
|
69
|
+
out += ' ' + r.id + '\n';
|
|
70
|
+
}
|
|
71
|
+
out += ' }\n';
|
|
72
|
+
}
|
|
73
|
+
out += '}\n';
|
|
74
|
+
return out;
|
|
75
|
+
};
|
|
76
|
+
exports.dumpNote = dumpNote;
|
|
77
|
+
//# sourceMappingURL=note.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"note.js","sourceRoot":"","sources":["../../../../src/ser-des/config/note.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Process, { ResolvableProcess } from '../../types/process';
|
|
2
|
+
import { Dumper, Parser, Resolver } from '../types';
|
|
3
|
+
export declare const parseProcess: Parser;
|
|
4
|
+
export declare const resolveProcess: Resolver<Process, ResolvableProcess>;
|
|
5
|
+
export declare const dumpProcess: Dumper<Process>;
|
|
6
|
+
//# sourceMappingURL=process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/process.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMpD,eAAO,MAAM,YAAY,EAAE,MAwD1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAuC/D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,CA0CvC,CAAC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpProcess = exports.resolveProcess = exports.parseProcess = void 0;
|
|
4
|
+
const resolve_1 = require("../resolve");
|
|
5
|
+
const tokenize_1 = require("../tokenize");
|
|
6
|
+
const parseProcess = function (id, data) {
|
|
7
|
+
const result = {
|
|
8
|
+
id: id,
|
|
9
|
+
name: '',
|
|
10
|
+
modality: '',
|
|
11
|
+
actor: null,
|
|
12
|
+
output: [],
|
|
13
|
+
input: [],
|
|
14
|
+
provision: [],
|
|
15
|
+
page: null,
|
|
16
|
+
measure: [],
|
|
17
|
+
_relations: {
|
|
18
|
+
actor: '',
|
|
19
|
+
output: [],
|
|
20
|
+
input: [],
|
|
21
|
+
provision: [],
|
|
22
|
+
page: '',
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
if (data !== '') {
|
|
26
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
27
|
+
let i = 0;
|
|
28
|
+
while (i < t.length) {
|
|
29
|
+
const keyword = t[i++];
|
|
30
|
+
if (i < t.length) {
|
|
31
|
+
if (keyword === 'modality') {
|
|
32
|
+
result.modality = t[i++];
|
|
33
|
+
}
|
|
34
|
+
else if (keyword === 'name') {
|
|
35
|
+
result.name = (0, tokenize_1.removePackage)(t[i++]);
|
|
36
|
+
}
|
|
37
|
+
else if (keyword === 'actor') {
|
|
38
|
+
result._relations.actor = t[i++];
|
|
39
|
+
}
|
|
40
|
+
else if (keyword === 'subprocess') {
|
|
41
|
+
result._relations.page = t[i++];
|
|
42
|
+
}
|
|
43
|
+
else if (keyword === 'validate_provision') {
|
|
44
|
+
result._relations.provision = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
45
|
+
}
|
|
46
|
+
else if (keyword === 'validate_measurement') {
|
|
47
|
+
result.measure = (0, tokenize_1.tokenizePackage)(t[i++]).map(x => (0, tokenize_1.removePackage)(x));
|
|
48
|
+
}
|
|
49
|
+
else if (keyword === 'output') {
|
|
50
|
+
result._relations.output = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
51
|
+
}
|
|
52
|
+
else if (keyword === 'reference_data_registry') {
|
|
53
|
+
result._relations.input = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
throw new Error(`Parsing error: process. ID ${id}: Expecting value for ${keyword}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return ctx => {
|
|
65
|
+
ctx.processes[id] = result;
|
|
66
|
+
return ctx;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
exports.parseProcess = parseProcess;
|
|
70
|
+
const resolveProcess = function (ctx, unresolved) {
|
|
71
|
+
const { _relations, ...rest } = unresolved;
|
|
72
|
+
const p = {
|
|
73
|
+
...rest,
|
|
74
|
+
output: [],
|
|
75
|
+
input: [],
|
|
76
|
+
provision: [],
|
|
77
|
+
actor: null,
|
|
78
|
+
page: null,
|
|
79
|
+
};
|
|
80
|
+
for (const id of _relations.output) {
|
|
81
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'registers', id);
|
|
82
|
+
if (r !== undefined) {
|
|
83
|
+
p.output.push(r);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const id of _relations.input) {
|
|
87
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'registers', id);
|
|
88
|
+
if (r !== undefined) {
|
|
89
|
+
p.input.push(r);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
for (const id of _relations.provision) {
|
|
93
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'provisions', id);
|
|
94
|
+
if (r !== undefined) {
|
|
95
|
+
p.provision.push(r);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (_relations.actor !== '') {
|
|
99
|
+
p.actor = (0, resolve_1.resolveFromContext)(ctx, 'roles', _relations.actor) ?? null;
|
|
100
|
+
}
|
|
101
|
+
if (_relations.page !== '') {
|
|
102
|
+
const page = (0, resolve_1.resolveFromContext)(ctx, 'pages', _relations.page);
|
|
103
|
+
p.page = page ?? null;
|
|
104
|
+
}
|
|
105
|
+
return p;
|
|
106
|
+
};
|
|
107
|
+
exports.resolveProcess = resolveProcess;
|
|
108
|
+
const dumpProcess = function (process) {
|
|
109
|
+
let out = 'process ' + process.id + ' {\n';
|
|
110
|
+
out += ' name "' + process.name + '"\n';
|
|
111
|
+
if (process.actor !== null) {
|
|
112
|
+
out += ' actor ' + process.actor.id + '\n';
|
|
113
|
+
}
|
|
114
|
+
if (process.modality !== '') {
|
|
115
|
+
out += ' modality ' + process.modality + '\n';
|
|
116
|
+
}
|
|
117
|
+
if (process.input.length > 0) {
|
|
118
|
+
out += ' reference_data_registry {\n';
|
|
119
|
+
for (const dr of process.input) {
|
|
120
|
+
out += ' ' + dr.id + '\n';
|
|
121
|
+
}
|
|
122
|
+
out += ' }\n';
|
|
123
|
+
}
|
|
124
|
+
if (process.provision.length > 0) {
|
|
125
|
+
out += ' validate_provision {\n';
|
|
126
|
+
for (const r of process.provision) {
|
|
127
|
+
out += ' ' + r.id + '\n';
|
|
128
|
+
}
|
|
129
|
+
out += ' }\n';
|
|
130
|
+
}
|
|
131
|
+
if (process.measure.length > 0) {
|
|
132
|
+
out += ' validate_measurement {\n';
|
|
133
|
+
for (const v of process.measure) {
|
|
134
|
+
out += ' "' + v + '"\n';
|
|
135
|
+
}
|
|
136
|
+
out += ' }\n';
|
|
137
|
+
}
|
|
138
|
+
if (process.output.length > 0) {
|
|
139
|
+
out += ' output {\n';
|
|
140
|
+
for (const c of process.output) {
|
|
141
|
+
out += ' ' + c.id + '\n';
|
|
142
|
+
}
|
|
143
|
+
out += ' }\n';
|
|
144
|
+
}
|
|
145
|
+
if (process.page !== null) {
|
|
146
|
+
out += ' subprocess ' + process.page.id + '\n';
|
|
147
|
+
}
|
|
148
|
+
out += '}\n';
|
|
149
|
+
return out;
|
|
150
|
+
};
|
|
151
|
+
exports.dumpProcess = dumpProcess;
|
|
152
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/ser-des/config/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type Provision from '../../types/Provision';
|
|
2
|
+
import type { Dumper, Parser, Resolver } from '../types';
|
|
3
|
+
import { ResolvableProvision } from '../../types/Provision';
|
|
4
|
+
export declare const parseProvision: Parser;
|
|
5
|
+
export declare const resolveProvision: Resolver<Provision, ResolvableProvision>;
|
|
6
|
+
export declare const dumpProvision: Dumper<Provision>;
|
|
7
|
+
//# sourceMappingURL=provision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/provision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,eAAO,MAAM,cAAc,EAAE,MA0C5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAUnE,CAAC;AAEJ,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAkB3C,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpProvision = exports.resolveProvision = exports.parseProvision = void 0;
|
|
4
|
+
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const resolve_1 = require("../resolve");
|
|
6
|
+
const parseProvision = function (id, data) {
|
|
7
|
+
const result = {
|
|
8
|
+
subject: new Map(),
|
|
9
|
+
id: id,
|
|
10
|
+
modality: '',
|
|
11
|
+
condition: '',
|
|
12
|
+
ref: [],
|
|
13
|
+
_relations: {
|
|
14
|
+
ref: [],
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
if (data !== '') {
|
|
18
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
19
|
+
let i = 0;
|
|
20
|
+
while (i < t.length) {
|
|
21
|
+
const command = t[i++];
|
|
22
|
+
if (i < t.length) {
|
|
23
|
+
if (command === 'modality') {
|
|
24
|
+
result.modality = t[i++];
|
|
25
|
+
}
|
|
26
|
+
else if (command === 'condition') {
|
|
27
|
+
result.condition = (0, tokenize_1.removePackage)(t[i++]);
|
|
28
|
+
}
|
|
29
|
+
else if (command === 'reference') {
|
|
30
|
+
result._relations.ref = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
result.subject.set(command, t[i++]);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
throw new Error('Parsing error: provision. ID ' +
|
|
38
|
+
id +
|
|
39
|
+
': Expecting value for ' +
|
|
40
|
+
command);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return ctx => {
|
|
45
|
+
ctx.provisions[id] = result;
|
|
46
|
+
return ctx;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
exports.parseProvision = parseProvision;
|
|
50
|
+
const resolveProvision = function (ctx, unresolved) {
|
|
51
|
+
const ref = [];
|
|
52
|
+
for (const id of unresolved._relations.ref) {
|
|
53
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'references', id);
|
|
54
|
+
if (r !== undefined) {
|
|
55
|
+
ref.push(r);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return { ...unresolved, ref };
|
|
59
|
+
};
|
|
60
|
+
exports.resolveProvision = resolveProvision;
|
|
61
|
+
const dumpProvision = function (pro) {
|
|
62
|
+
let out = 'provision ' + pro.id + ' {\n';
|
|
63
|
+
pro.subject.forEach((value, key) => {
|
|
64
|
+
out += ' ' + key + ' ' + value + '\n';
|
|
65
|
+
});
|
|
66
|
+
out += ' condition "' + pro.condition + '"\n';
|
|
67
|
+
if (pro.modality !== '') {
|
|
68
|
+
out += ' modality ' + pro.modality + '\n';
|
|
69
|
+
}
|
|
70
|
+
if (pro.ref.length > 0) {
|
|
71
|
+
out += ' reference {\n';
|
|
72
|
+
for (const r of pro.ref) {
|
|
73
|
+
out += ' ' + r.id + '\n';
|
|
74
|
+
}
|
|
75
|
+
out += ' }\n';
|
|
76
|
+
}
|
|
77
|
+
out += '}\n';
|
|
78
|
+
return out;
|
|
79
|
+
};
|
|
80
|
+
exports.dumpProvision = dumpProvision;
|
|
81
|
+
//# sourceMappingURL=provision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../../src/ser-des/config/provision.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,eAAO,MAAM,cAAc,EAAE,MA+B5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAM3C,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpReference = exports.parseReference = void 0;
|
|
4
|
+
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const parseReference = (id, data) => {
|
|
6
|
+
const ref = {
|
|
7
|
+
id: id,
|
|
8
|
+
document: '',
|
|
9
|
+
clause: '',
|
|
10
|
+
};
|
|
11
|
+
if (data !== '') {
|
|
12
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
13
|
+
let i = 0;
|
|
14
|
+
while (i < t.length) {
|
|
15
|
+
const keyword = t[i++];
|
|
16
|
+
if (i < t.length) {
|
|
17
|
+
if (keyword === 'document') {
|
|
18
|
+
ref.document = (0, tokenize_1.removePackage)(t[i++]);
|
|
19
|
+
}
|
|
20
|
+
else if (keyword === 'clause') {
|
|
21
|
+
ref.clause = (0, tokenize_1.removePackage)(t[i++]);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
throw new Error(`Parsing error: reference. ID ${id}: Expecting value for ${keyword}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return ctx => {
|
|
33
|
+
ctx.references[id] = ref;
|
|
34
|
+
return ctx;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.parseReference = parseReference;
|
|
38
|
+
const dumpReference = function (ref) {
|
|
39
|
+
let out = 'reference ' + ref.id + ' {\n';
|
|
40
|
+
out += ' document "' + ref.document + '"\n';
|
|
41
|
+
out += ' clause "' + ref.clause + '"\n';
|
|
42
|
+
out += '}\n';
|
|
43
|
+
return out;
|
|
44
|
+
};
|
|
45
|
+
exports.dumpReference = dumpReference;
|
|
46
|
+
//# sourceMappingURL=reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../src/ser-des/config/reference.ts"],"names":[],"mappings":";;;AACA,0CAA6D;AAGtD,MAAM,cAAc,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IACjE,MAAM,GAAG,GAAc;QACrB,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX,CAAC;IACF,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAa,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,GAAG,CAAC,QAAQ,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,GAAG,CAAC,MAAM,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,CAAC,EAAE,CAAC,CAAC,iDAAiD;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,gCAAgC,EAAE,yBAAyB,OAAO,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,cAAc,kBA+BzB;AAEK,MAAM,aAAa,GAAsB,UAAU,GAAG;IAC3D,IAAI,GAAG,GAAW,YAAY,GAAG,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC;IACjD,GAAG,IAAI,cAAc,GAAG,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC7C,GAAG,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;IACzC,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAEpC,eAAO,MAAM,SAAS,EAAE,MAyBvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,IAAI,CAKjC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpRole = exports.parseRole = void 0;
|
|
4
|
+
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const parseRole = (id, data) => {
|
|
6
|
+
const role = {
|
|
7
|
+
id: id,
|
|
8
|
+
name: '',
|
|
9
|
+
};
|
|
10
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
11
|
+
let i = 0;
|
|
12
|
+
while (i < t.length) {
|
|
13
|
+
const keyword = t[i++];
|
|
14
|
+
if (i < t.length) {
|
|
15
|
+
if (keyword === 'name') {
|
|
16
|
+
role.name = (0, tokenize_1.removePackage)(t[i++]);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
throw new Error(`Parsing error: role. ID ${id}: Expecting value for ${keyword}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return ctx => {
|
|
27
|
+
ctx.roles[id] = role;
|
|
28
|
+
return ctx;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.parseRole = parseRole;
|
|
32
|
+
const dumpRole = function (role) {
|
|
33
|
+
let out = 'role ' + role.id + ' {\n';
|
|
34
|
+
out += ' name "' + role.name + '"\n';
|
|
35
|
+
out += '}\n';
|
|
36
|
+
return out;
|
|
37
|
+
};
|
|
38
|
+
exports.dumpRole = dumpRole;
|
|
39
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../src/ser-des/config/role.ts"],"names":[],"mappings":";;;AACA,0CAA6D;AAGtD,MAAM,SAAS,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAS;QACjB,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,EAAE;KACT,CAAC;IACF,MAAM,CAAC,GAAkB,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,iDAAiD;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,2BAA2B,EAAE,yBAAyB,OAAO,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,SAAS,aAyBpB;AAEK,MAAM,QAAQ,GAAiB,UAAU,IAAI;IAClD,IAAI,GAAG,GAAW,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IAC7C,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtC,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AALW,QAAA,QAAQ,YAKnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateMachine.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/stateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AAGzD,eAAO,MAAM,iBAAiB,EAAE,MA0F/B,CAAC;AAoCF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAqCjD,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpStateMachine = exports.parseStateMachine = void 0;
|
|
4
|
+
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const parseStateMachine = function (entityName, data) {
|
|
6
|
+
const result = {
|
|
7
|
+
entityName,
|
|
8
|
+
initialState: '',
|
|
9
|
+
states: [],
|
|
10
|
+
transitions: [],
|
|
11
|
+
referenceIds: [],
|
|
12
|
+
};
|
|
13
|
+
if (data !== '') {
|
|
14
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
15
|
+
let i = 0;
|
|
16
|
+
while (i < t.length) {
|
|
17
|
+
const command = t[i++];
|
|
18
|
+
if (i < t.length) {
|
|
19
|
+
if (command === 'initial') {
|
|
20
|
+
result.initialState = t[i++];
|
|
21
|
+
}
|
|
22
|
+
else if (command === 'states') {
|
|
23
|
+
const stateBlock = (0, tokenize_1.removePackage)(t[i++]);
|
|
24
|
+
for (const s of stateBlock.split(/\s+/).filter(s => s.length > 0)) {
|
|
25
|
+
result.states.push({ name: s });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (command === 'transition') {
|
|
29
|
+
// transition <From> -> <To> [action <ActionName>] { ... }
|
|
30
|
+
const from = t[i++];
|
|
31
|
+
// Expect '->'
|
|
32
|
+
if (i < t.length && (t[i] === '->' || t[i] === '→')) {
|
|
33
|
+
i++;
|
|
34
|
+
}
|
|
35
|
+
const to = i < t.length ? t[i++] : '';
|
|
36
|
+
let actionName = '';
|
|
37
|
+
// Optional 'action <Name>' before block
|
|
38
|
+
if (i < t.length && t[i] === 'action') {
|
|
39
|
+
i++;
|
|
40
|
+
if (i < t.length) {
|
|
41
|
+
actionName = t[i++];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
let guard = '';
|
|
45
|
+
const cascades = [];
|
|
46
|
+
const referenceIds = [];
|
|
47
|
+
if (i < t.length && t[i].startsWith('{')) {
|
|
48
|
+
const body = (0, tokenize_1.removePackage)(t[i++]);
|
|
49
|
+
const bt = (0, tokenize_1.tokenizePackage)(body);
|
|
50
|
+
let j = 0;
|
|
51
|
+
while (j < bt.length) {
|
|
52
|
+
const cmd = bt[j++];
|
|
53
|
+
if (j < bt.length) {
|
|
54
|
+
if (cmd === 'guard') {
|
|
55
|
+
guard = (0, tokenize_1.removePackage)(bt[j++]);
|
|
56
|
+
}
|
|
57
|
+
else if (cmd === 'cascade') {
|
|
58
|
+
const target = bt[j++];
|
|
59
|
+
if (j < bt.length) {
|
|
60
|
+
const cascadeBlock = (0, tokenize_1.removePackage)(bt[j++]);
|
|
61
|
+
cascades.push(parseCascade(target, cascadeBlock));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else if (cmd === 'reference') {
|
|
65
|
+
referenceIds.push(...(0, tokenize_1.tokenizePackage)(bt[j++]));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
(0, tokenize_1.removePackage)(bt[j++]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const trans = {
|
|
74
|
+
from,
|
|
75
|
+
to,
|
|
76
|
+
actionName,
|
|
77
|
+
guard,
|
|
78
|
+
cascades,
|
|
79
|
+
referenceIds,
|
|
80
|
+
};
|
|
81
|
+
result.transitions.push(trans);
|
|
82
|
+
}
|
|
83
|
+
else if (command === 'reference') {
|
|
84
|
+
result.referenceIds.push(...(0, tokenize_1.tokenizePackage)(t[i++]));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
throw new Error(`Parsing error: state_machine. Entity ${entityName}: Expecting value for ${command}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return ctx => {
|
|
96
|
+
ctx.stateMachines[entityName] = result;
|
|
97
|
+
return ctx;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
exports.parseStateMachine = parseStateMachine;
|
|
101
|
+
function parseCascade(target, block) {
|
|
102
|
+
const cascade = { targetEntity: target, where: '', set: [] };
|
|
103
|
+
const t = (0, tokenize_1.tokenizePackage)(block);
|
|
104
|
+
let i = 0;
|
|
105
|
+
while (i < t.length) {
|
|
106
|
+
const cmd = t[i++];
|
|
107
|
+
if (i < t.length) {
|
|
108
|
+
if (cmd === 'where') {
|
|
109
|
+
cascade.where = (0, tokenize_1.removePackage)(t[i++]);
|
|
110
|
+
}
|
|
111
|
+
else if (cmd === 'set') {
|
|
112
|
+
const setBlock = (0, tokenize_1.removePackage)(t[i++]);
|
|
113
|
+
const st = (0, tokenize_1.tokenizePackage)(setBlock);
|
|
114
|
+
let j = 0;
|
|
115
|
+
while (j < st.length) {
|
|
116
|
+
const field = st[j++];
|
|
117
|
+
if (j < st.length) {
|
|
118
|
+
if (st[j] === ':') {
|
|
119
|
+
j++;
|
|
120
|
+
}
|
|
121
|
+
if (j < st.length) {
|
|
122
|
+
const value = (0, tokenize_1.removePackage)(st[j++]);
|
|
123
|
+
const setEntry = { field, value };
|
|
124
|
+
cascade.set.push(setEntry);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
(0, tokenize_1.removePackage)(t[i++]);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return cascade;
|
|
135
|
+
}
|
|
136
|
+
const dumpStateMachine = function (sm) {
|
|
137
|
+
let out = 'state_machine ' + sm.entityName + ' {\n';
|
|
138
|
+
out += ' initial ' + sm.initialState + '\n';
|
|
139
|
+
if (sm.states.length > 0) {
|
|
140
|
+
out += ' states {\n';
|
|
141
|
+
for (const s of sm.states) {
|
|
142
|
+
out += ' ' + s.name + '\n';
|
|
143
|
+
}
|
|
144
|
+
out += ' }\n';
|
|
145
|
+
}
|
|
146
|
+
for (const t of sm.transitions) {
|
|
147
|
+
out += ' transition ' + t.from + ' -> ' + t.to;
|
|
148
|
+
if (t.actionName) {
|
|
149
|
+
out += ' action ' + t.actionName;
|
|
150
|
+
}
|
|
151
|
+
out += ' {\n';
|
|
152
|
+
if (t.guard) {
|
|
153
|
+
out += ' guard "' + t.guard + '"\n';
|
|
154
|
+
}
|
|
155
|
+
for (const c of t.cascades) {
|
|
156
|
+
out += ' cascade ' + c.targetEntity + ' {\n';
|
|
157
|
+
if (c.where) {
|
|
158
|
+
out += ' where "' + c.where + '"\n';
|
|
159
|
+
}
|
|
160
|
+
if (c.set.length > 0) {
|
|
161
|
+
out += ' set {\n';
|
|
162
|
+
for (const s of c.set) {
|
|
163
|
+
out += ' ' + s.field + ': "' + s.value + '"\n';
|
|
164
|
+
}
|
|
165
|
+
out += ' }\n';
|
|
166
|
+
}
|
|
167
|
+
out += ' }\n';
|
|
168
|
+
}
|
|
169
|
+
out += ' }\n';
|
|
170
|
+
}
|
|
171
|
+
out += '}\n';
|
|
172
|
+
return out;
|
|
173
|
+
};
|
|
174
|
+
exports.dumpStateMachine = dumpStateMachine;
|
|
175
|
+
//# sourceMappingURL=stateMachine.js.map
|