@primmel/primmel 1.3.0 → 1.3.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/ser-des/config/process.d.ts +1 -0
- package/dist/src/ser-des/config/process.d.ts.map +1 -1
- package/dist/src/ser-des/config/process.js +58 -1
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/dump.d.ts +5 -1
- package/dist/src/ser-des/dump.d.ts.map +1 -1
- package/dist/src/ser-des/dump.js +21 -1
- package/dist/src/ser-des/dump.js.map +1 -1
- package/dist/src/types/process.d.ts +1 -0
- package/dist/src/types/process.d.ts.map +1 -1
- package/dist-browser/index.mjs +1981 -0
- package/package.json +5 -4
|
@@ -2,5 +2,6 @@ import Process, { ResolvableProcess } from '../../types/process';
|
|
|
2
2
|
import { Dumper, Parser, Resolver } from '../types';
|
|
3
3
|
export declare const parseProcess: Parser;
|
|
4
4
|
export declare const resolveProcess: Resolver<Process, ResolvableProcess>;
|
|
5
|
+
export declare function dumpProcessTree(process: Process, lookup: Map<string, Process>): string;
|
|
5
6
|
export declare const dumpProcess: Dumper<Process>;
|
|
6
7
|
//# sourceMappingURL=process.d.ts.map
|
|
@@ -1 +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;AAIjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;
|
|
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;AAIjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAOpD,eAAO,MAAM,YAAY,EAAE,MA2F1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAuC/D,CAAC;AASF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,MAAM,CAeR;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,CA6CvC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dumpProcess = exports.resolveProcess = exports.parseProcess = void 0;
|
|
4
|
+
exports.dumpProcessTree = dumpProcessTree;
|
|
4
5
|
const resolve_1 = require("../resolve");
|
|
5
6
|
const tokenize_1 = require("../tokenize");
|
|
6
7
|
const parse_block_1 = require("../parse-block");
|
|
@@ -16,6 +17,7 @@ const parseProcess = function (id, data) {
|
|
|
16
17
|
page: null,
|
|
17
18
|
measure: [],
|
|
18
19
|
parent: '',
|
|
20
|
+
children: [],
|
|
19
21
|
_relations: {
|
|
20
22
|
actor: '',
|
|
21
23
|
output: [],
|
|
@@ -24,6 +26,36 @@ const parseProcess = function (id, data) {
|
|
|
24
26
|
page: '',
|
|
25
27
|
},
|
|
26
28
|
};
|
|
29
|
+
const childModifiers = [];
|
|
30
|
+
if (data.trim() !== '') {
|
|
31
|
+
const tokens = (0, tokenize_1.tokenizePackage)(data);
|
|
32
|
+
const filtered = [];
|
|
33
|
+
let i = 0;
|
|
34
|
+
while (i < tokens.length) {
|
|
35
|
+
if (tokens[i] === 'process' &&
|
|
36
|
+
i + 2 < tokens.length &&
|
|
37
|
+
tokens[i + 2].startsWith('{')) {
|
|
38
|
+
const childId = tokens[i + 1];
|
|
39
|
+
const childBlock = tokens[i + 2];
|
|
40
|
+
const childModifier = (0, exports.parseProcess)(childId, childBlock);
|
|
41
|
+
childModifiers.push((ctx) => {
|
|
42
|
+
ctx = childModifier(ctx);
|
|
43
|
+
const childProc = ctx.processes[childId];
|
|
44
|
+
if (childProc) {
|
|
45
|
+
childProc.parent = id;
|
|
46
|
+
}
|
|
47
|
+
return ctx;
|
|
48
|
+
});
|
|
49
|
+
result.children.push(childId);
|
|
50
|
+
i += 3;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
filtered.push(tokens[i]);
|
|
54
|
+
i++;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
data = '{ ' + filtered.join(' ') + ' }';
|
|
58
|
+
}
|
|
27
59
|
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
28
60
|
if (keyword === 'modality') {
|
|
29
61
|
result.modality = value();
|
|
@@ -59,6 +91,9 @@ const parseProcess = function (id, data) {
|
|
|
59
91
|
}, { construct: 'process', id });
|
|
60
92
|
return ctx => {
|
|
61
93
|
ctx.processes[id] = result;
|
|
94
|
+
for (const mod of childModifiers) {
|
|
95
|
+
ctx = mod(ctx);
|
|
96
|
+
}
|
|
62
97
|
return ctx;
|
|
63
98
|
};
|
|
64
99
|
};
|
|
@@ -101,6 +136,28 @@ const resolveProcess = function (ctx, unresolved) {
|
|
|
101
136
|
return p;
|
|
102
137
|
};
|
|
103
138
|
exports.resolveProcess = resolveProcess;
|
|
139
|
+
function indentBlock(block) {
|
|
140
|
+
return block
|
|
141
|
+
.split('\n')
|
|
142
|
+
.map(line => (line ? ' ' + line : line))
|
|
143
|
+
.join('\n');
|
|
144
|
+
}
|
|
145
|
+
function dumpProcessTree(process, lookup) {
|
|
146
|
+
let out = (0, exports.dumpProcess)(process);
|
|
147
|
+
if (process.children.length > 0) {
|
|
148
|
+
const childBlocks = [];
|
|
149
|
+
for (const childId of process.children) {
|
|
150
|
+
const child = lookup.get(childId);
|
|
151
|
+
if (child) {
|
|
152
|
+
childBlocks.push(indentBlock(dumpProcessTree(child, lookup)));
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (childBlocks.length > 0) {
|
|
156
|
+
out = out.replace(/\n}\n$/, '\n' + childBlocks.join('\n') + '}\n');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return out;
|
|
160
|
+
}
|
|
104
161
|
const dumpProcess = function (process) {
|
|
105
162
|
let out = 'process ' + process.id + ' {\n';
|
|
106
163
|
out += ' name "' + (0, tokenize_1.escapeString)(process.name) + '"\n';
|
|
@@ -141,7 +198,7 @@ const dumpProcess = function (process) {
|
|
|
141
198
|
if (process.page !== null) {
|
|
142
199
|
out += ' canvas ' + process.page.id + '\n';
|
|
143
200
|
}
|
|
144
|
-
if (process.parent) {
|
|
201
|
+
if (process.parent && process.children.length === 0) {
|
|
145
202
|
out += ' parent ' + process.parent + '\n';
|
|
146
203
|
}
|
|
147
204
|
out += '}\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/ser-des/config/process.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/ser-des/config/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import Standard from '../types/Standard';
|
|
2
2
|
import { DumperConfiguration } from './types';
|
|
3
3
|
/**
|
|
4
|
-
* Serialize a Standard back to a .
|
|
4
|
+
* Serialize a Standard back to a .prl string.
|
|
5
5
|
*
|
|
6
6
|
* `root` and `meta` are emitted first because they are singletons (not
|
|
7
7
|
* arrays on Standard) and conventionally appear at the top of the file.
|
|
8
8
|
* Every other field is dumped by iterating its array and calling the
|
|
9
9
|
* registered per-item Dumper on each element.
|
|
10
|
+
*
|
|
11
|
+
* Processes are special-cased: nested child processes (those with a
|
|
12
|
+
* non-empty `parent` that also appear in another process's `children`)
|
|
13
|
+
* are emitted inside their parent's block, not at the top level.
|
|
10
14
|
*/
|
|
11
15
|
export default function dump(model: Standard, dumpers: DumperConfiguration): string;
|
|
12
16
|
//# sourceMappingURL=dump.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../../../src/ser-des/dump.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../../../src/ser-des/dump.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAGzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAC1B,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAiCR"}
|
package/dist/src/ser-des/dump.js
CHANGED
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = dump;
|
|
4
4
|
const metadata_1 = require("./config/metadata");
|
|
5
|
+
const process_1 = require("./config/process");
|
|
5
6
|
/**
|
|
6
|
-
* Serialize a Standard back to a .
|
|
7
|
+
* Serialize a Standard back to a .prl string.
|
|
7
8
|
*
|
|
8
9
|
* `root` and `meta` are emitted first because they are singletons (not
|
|
9
10
|
* arrays on Standard) and conventionally appear at the top of the file.
|
|
10
11
|
* Every other field is dumped by iterating its array and calling the
|
|
11
12
|
* registered per-item Dumper on each element.
|
|
13
|
+
*
|
|
14
|
+
* Processes are special-cased: nested child processes (those with a
|
|
15
|
+
* non-empty `parent` that also appear in another process's `children`)
|
|
16
|
+
* are emitted inside their parent's block, not at the top level.
|
|
12
17
|
*/
|
|
13
18
|
function dump(model, dumpers) {
|
|
14
19
|
let out = '';
|
|
@@ -16,7 +21,22 @@ function dump(model, dumpers) {
|
|
|
16
21
|
out += 'root ' + model.root.id + '\n\n';
|
|
17
22
|
}
|
|
18
23
|
out += (0, metadata_1.dumpMetadata)(model.meta) + '\n';
|
|
24
|
+
const childIds = new Set();
|
|
25
|
+
for (const p of model.processes) {
|
|
26
|
+
for (const c of p.children) {
|
|
27
|
+
childIds.add(c);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const processMap = new Map(model.processes.map(p => [p.id, p]));
|
|
19
31
|
Object.keys(dumpers).forEach(field => {
|
|
32
|
+
if (field === 'processes') {
|
|
33
|
+
for (const p of model.processes) {
|
|
34
|
+
if (!childIds.has(p.id)) {
|
|
35
|
+
out += (0, process_1.dumpProcessTree)(p, processMap);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
20
40
|
const items = model[field];
|
|
21
41
|
const dumper = dumpers[field];
|
|
22
42
|
for (const item of items) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dump.js","sourceRoot":"","sources":["../../../src/ser-des/dump.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"dump.js","sourceRoot":"","sources":["../../../src/ser-des/dump.ts"],"names":[],"mappings":";;AAiBA,uBAoCC;AApDD,gDAAiD;AACjD,8CAAmD;AAGnD;;;;;;;;;;;GAWG;AACH,SAAwB,IAAI,CAC1B,KAAe,EACf,OAA4B;IAE5B,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,GAAG,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IAC1C,CAAC;IAED,GAAG,IAAI,IAAA,uBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAsC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzE,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxB,GAAG,IAAI,IAAA,yBAAe,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAc,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAA8B,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -14,6 +14,7 @@ export default interface Process {
|
|
|
14
14
|
page: Subprocess | null;
|
|
15
15
|
measure: string[];
|
|
16
16
|
parent: string;
|
|
17
|
+
children: string[];
|
|
17
18
|
}
|
|
18
19
|
export type ResolvableProcess = Resolvable<Process, 'actor' | 'output' | 'input' | 'provision' | 'page'>;
|
|
19
20
|
//# sourceMappingURL=process.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/types/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,OAAO,WAAW,OAAO;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/types/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,OAAO,WAAW,OAAO;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CACxC,OAAO,EACP,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CACpD,CAAC"}
|