@primmel/primmel 1.13.0 → 1.15.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/src/check-rules.d.ts.map +1 -1
- package/dist/src/check-rules.js +86 -0
- package/dist/src/check-rules.js.map +1 -1
- package/dist/src/check.d.ts.map +1 -1
- package/dist/src/check.js +805 -0
- package/dist/src/check.js.map +1 -1
- package/dist/src/model-diff.d.ts.map +1 -1
- package/dist/src/model-diff.js +38 -0
- package/dist/src/model-diff.js.map +1 -1
- package/dist/src/ser-des/config/applicationDeclaration.d.ts +5 -0
- package/dist/src/ser-des/config/applicationDeclaration.d.ts.map +1 -0
- package/dist/src/ser-des/config/applicationDeclaration.js +102 -0
- package/dist/src/ser-des/config/applicationDeclaration.js.map +1 -0
- package/dist/src/ser-des/config/approval.d.ts.map +1 -1
- package/dist/src/ser-des/config/approval.js +56 -9
- package/dist/src/ser-des/config/approval.js.map +1 -1
- package/dist/src/ser-des/config/aspect.d.ts +5 -0
- package/dist/src/ser-des/config/aspect.d.ts.map +1 -0
- package/dist/src/ser-des/config/aspect.js +128 -0
- package/dist/src/ser-des/config/aspect.js.map +1 -0
- package/dist/src/ser-des/config/calculationContext.d.ts +5 -0
- package/dist/src/ser-des/config/calculationContext.d.ts.map +1 -0
- package/dist/src/ser-des/config/calculationContext.js +62 -0
- package/dist/src/ser-des/config/calculationContext.js.map +1 -0
- package/dist/src/ser-des/config/certificateTemplate.d.ts +5 -0
- package/dist/src/ser-des/config/certificateTemplate.d.ts.map +1 -0
- package/dist/src/ser-des/config/certificateTemplate.js +195 -0
- package/dist/src/ser-des/config/certificateTemplate.js.map +1 -0
- package/dist/src/ser-des/config/evaluationDimension.d.ts +5 -0
- package/dist/src/ser-des/config/evaluationDimension.d.ts.map +1 -0
- package/dist/src/ser-des/config/evaluationDimension.js +128 -0
- package/dist/src/ser-des/config/evaluationDimension.js.map +1 -0
- package/dist/src/ser-des/config/evaluationProfile.d.ts +5 -0
- package/dist/src/ser-des/config/evaluationProfile.d.ts.map +1 -0
- package/dist/src/ser-des/config/evaluationProfile.js +61 -0
- package/dist/src/ser-des/config/evaluationProfile.js.map +1 -0
- package/dist/src/ser-des/config/gateway.d.ts.map +1 -1
- package/dist/src/ser-des/config/gateway.js +57 -0
- package/dist/src/ser-des/config/gateway.js.map +1 -1
- package/dist/src/ser-des/config/identitySlot.d.ts +5 -0
- package/dist/src/ser-des/config/identitySlot.d.ts.map +1 -0
- package/dist/src/ser-des/config/identitySlot.js +120 -0
- package/dist/src/ser-des/config/identitySlot.js.map +1 -0
- package/dist/src/ser-des/config/index.d.ts.map +1 -1
- package/dist/src/ser-des/config/index.js +159 -0
- package/dist/src/ser-des/config/index.js.map +1 -1
- package/dist/src/ser-des/config/process.d.ts.map +1 -1
- package/dist/src/ser-des/config/process.js +46 -0
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/config/promiseSet.d.ts +5 -0
- package/dist/src/ser-des/config/promiseSet.d.ts.map +1 -0
- package/dist/src/ser-des/config/promiseSet.js +46 -0
- package/dist/src/ser-des/config/promiseSet.js.map +1 -0
- package/dist/src/ser-des/config/selectionRules.d.ts +9 -0
- package/dist/src/ser-des/config/selectionRules.d.ts.map +1 -0
- package/dist/src/ser-des/config/selectionRules.js +372 -0
- package/dist/src/ser-des/config/selectionRules.js.map +1 -0
- package/dist/src/ser-des/config/subject.d.ts +18 -1
- package/dist/src/ser-des/config/subject.d.ts.map +1 -1
- package/dist/src/ser-des/config/subject.js +177 -61
- package/dist/src/ser-des/config/subject.js.map +1 -1
- package/dist/src/ser-des/config/testReport.d.ts +7 -0
- package/dist/src/ser-des/config/testReport.d.ts.map +1 -0
- package/dist/src/ser-des/config/testReport.js +322 -0
- package/dist/src/ser-des/config/testReport.js.map +1 -0
- package/dist/src/ser-des/config/verificationPathway.d.ts +5 -0
- package/dist/src/ser-des/config/verificationPathway.d.ts.map +1 -0
- package/dist/src/ser-des/config/verificationPathway.js +361 -0
- package/dist/src/ser-des/config/verificationPathway.js.map +1 -0
- package/dist/src/ser-des/config/workflowConfig.d.ts +5 -0
- package/dist/src/ser-des/config/workflowConfig.d.ts.map +1 -0
- package/dist/src/ser-des/config/workflowConfig.js +129 -0
- package/dist/src/ser-des/config/workflowConfig.js.map +1 -0
- package/dist/src/ser-des/config/workflowStage.d.ts +5 -0
- package/dist/src/ser-des/config/workflowStage.d.ts.map +1 -0
- package/dist/src/ser-des/config/workflowStage.js +96 -0
- package/dist/src/ser-des/config/workflowStage.js.map +1 -0
- package/dist/src/ser-des/package.d.ts +10 -0
- package/dist/src/ser-des/package.d.ts.map +1 -1
- package/dist/src/ser-des/package.js +164 -12
- package/dist/src/ser-des/package.js.map +1 -1
- package/dist/src/ser-des/parse.d.ts.map +1 -1
- package/dist/src/ser-des/parse.js +26 -0
- package/dist/src/ser-des/parse.js.map +1 -1
- package/dist/src/ser-des/types.d.ts +29 -0
- package/dist/src/ser-des/types.d.ts.map +1 -1
- package/dist/src/types/ApplicationDeclaration.d.ts +23 -0
- package/dist/src/types/ApplicationDeclaration.d.ts.map +1 -0
- package/dist/src/types/ApplicationDeclaration.js +32 -0
- package/dist/src/types/ApplicationDeclaration.js.map +1 -0
- package/dist/src/types/Approval.d.ts +5 -0
- package/dist/src/types/Approval.d.ts.map +1 -1
- package/dist/src/types/Aspect.d.ts +30 -0
- package/dist/src/types/Aspect.d.ts.map +1 -0
- package/dist/src/types/Aspect.js +41 -0
- package/dist/src/types/Aspect.js.map +1 -0
- package/dist/src/types/CalculationContext.d.ts +17 -0
- package/dist/src/types/CalculationContext.d.ts.map +1 -0
- package/dist/src/types/CalculationContext.js +34 -0
- package/dist/src/types/CalculationContext.js.map +1 -0
- package/dist/src/types/CertificateTemplate.d.ts +46 -0
- package/dist/src/types/CertificateTemplate.d.ts.map +1 -0
- package/dist/src/types/CertificateTemplate.js +46 -0
- package/dist/src/types/CertificateTemplate.js.map +1 -0
- package/dist/src/types/EvaluationDimension.d.ts +32 -0
- package/dist/src/types/EvaluationDimension.d.ts.map +1 -0
- package/dist/src/types/EvaluationDimension.js +38 -0
- package/dist/src/types/EvaluationDimension.js.map +1 -0
- package/dist/src/types/EvaluationProfile.d.ts +10 -0
- package/dist/src/types/EvaluationProfile.d.ts.map +1 -0
- package/dist/src/types/EvaluationProfile.js +25 -0
- package/dist/src/types/EvaluationProfile.js.map +1 -0
- package/dist/src/types/Gateway.d.ts +22 -0
- package/dist/src/types/Gateway.d.ts.map +1 -1
- package/dist/src/types/IdentitySlot.d.ts +24 -0
- package/dist/src/types/IdentitySlot.d.ts.map +1 -0
- package/dist/src/types/IdentitySlot.js +34 -0
- package/dist/src/types/IdentitySlot.js.map +1 -0
- package/dist/src/types/PromiseSet.d.ts +8 -0
- package/dist/src/types/PromiseSet.d.ts.map +1 -0
- package/dist/src/types/PromiseSet.js +35 -0
- package/dist/src/types/PromiseSet.js.map +1 -0
- package/dist/src/types/SelectionRules.d.ts +73 -0
- package/dist/src/types/SelectionRules.d.ts.map +1 -0
- package/dist/src/types/SelectionRules.js +55 -0
- package/dist/src/types/SelectionRules.js.map +1 -0
- package/dist/src/types/Standard.d.ts +58 -0
- package/dist/src/types/Standard.d.ts.map +1 -1
- package/dist/src/types/Subject.d.ts +31 -1
- package/dist/src/types/Subject.d.ts.map +1 -1
- package/dist/src/types/TestReport.d.ts +71 -0
- package/dist/src/types/TestReport.d.ts.map +1 -0
- package/dist/src/types/TestReport.js +73 -0
- package/dist/src/types/TestReport.js.map +1 -0
- package/dist/src/types/VerificationPathway.d.ts +63 -0
- package/dist/src/types/VerificationPathway.d.ts.map +1 -0
- package/dist/src/types/VerificationPathway.js +56 -0
- package/dist/src/types/VerificationPathway.js.map +1 -0
- package/dist/src/types/WorkflowConfig.d.ts +34 -0
- package/dist/src/types/WorkflowConfig.d.ts.map +1 -0
- package/dist/src/types/WorkflowConfig.js +47 -0
- package/dist/src/types/WorkflowConfig.js.map +1 -0
- package/dist/src/types/WorkflowStage.d.ts +22 -0
- package/dist/src/types/WorkflowStage.d.ts.map +1 -0
- package/dist/src/types/WorkflowStage.js +37 -0
- package/dist/src/types/WorkflowStage.js.map +1 -0
- package/dist/src/types/process.d.ts +21 -0
- package/dist/src/types/process.d.ts.map +1 -1
- package/dist-browser/index.mjs +2215 -1025
- package/dist-cli/primmel.mjs +8589 -5285
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect.js","sourceRoot":"","sources":["../../../../src/ser-des/config/aspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Dumper, Parser } from '../types';
|
|
2
|
+
import CalculationContext from '../../types/CalculationContext';
|
|
3
|
+
export declare const parseCalculationContext: Parser;
|
|
4
|
+
export declare const dumpCalculationContext: Dumper<CalculationContext>;
|
|
5
|
+
//# sourceMappingURL=calculationContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculationContext.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/calculationContext.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,kBAEN,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,uBAAuB,EAAE,MAuCrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,kBAAkB,CAY7D,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `calculation_context` construct (smart TODO.roadmap/40 batch 3; the
|
|
4
|
+
// packages-as-SSOT epic) — the evaluation-side wiring of computation
|
|
5
|
+
// inputs to their subject-chain sources (types/CalculationContext.ts
|
|
6
|
+
// carries the banner and the grammar sketch). The source scalar stays
|
|
7
|
+
// parse-total (the legacy-token rejection is C133's, check-side); the
|
|
8
|
+
// codec stays total.
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.dumpCalculationContext = exports.parseCalculationContext = void 0;
|
|
12
|
+
const tokenize_1 = require("../tokenize");
|
|
13
|
+
const parse_block_1 = require("../parse-block");
|
|
14
|
+
const field_parser_1 = require("./field-parser");
|
|
15
|
+
const parseCalculationContext = (id, data) => {
|
|
16
|
+
const context = { id, fields: [] };
|
|
17
|
+
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
18
|
+
if (keyword === 'field') {
|
|
19
|
+
const field = {
|
|
20
|
+
id: (0, tokenize_1.stripWrapping)((0, field_parser_1.stripColon)(value())),
|
|
21
|
+
source: '',
|
|
22
|
+
expression: '',
|
|
23
|
+
};
|
|
24
|
+
(0, parse_block_1.forEachEntry)((0, tokenize_1.unwrapBlock)(value()), (k2, v2) => {
|
|
25
|
+
if (k2 === 'source') {
|
|
26
|
+
field.source = (0, tokenize_1.stripWrapping)(v2());
|
|
27
|
+
}
|
|
28
|
+
else if (k2 === 'expression') {
|
|
29
|
+
field.expression = (0, tokenize_1.stripWrapping)(v2());
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
}, { construct: 'calculation_context', id });
|
|
36
|
+
context.fields.push(field);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}, { construct: 'calculation_context', id });
|
|
43
|
+
return ctx => {
|
|
44
|
+
ctx.calculationContexts[id] = context;
|
|
45
|
+
return ctx;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
exports.parseCalculationContext = parseCalculationContext;
|
|
49
|
+
const dumpCalculationContext = function (c) {
|
|
50
|
+
let out = 'calculation_context ' + (0, field_parser_1.dumpBareSafe)(c.id) + ' {\n';
|
|
51
|
+
for (const f of c.fields) {
|
|
52
|
+
let entry = ' field ' + (0, field_parser_1.dumpBareSafe)(f.id) + ' { source ' + (0, field_parser_1.dumpBareSafe)(f.source);
|
|
53
|
+
if (f.expression) {
|
|
54
|
+
entry += ' expression "' + (0, tokenize_1.escapeString)(f.expression) + '"';
|
|
55
|
+
}
|
|
56
|
+
out += entry + ' }\n';
|
|
57
|
+
}
|
|
58
|
+
out += '}\n';
|
|
59
|
+
return out;
|
|
60
|
+
};
|
|
61
|
+
exports.dumpCalculationContext = dumpCalculationContext;
|
|
62
|
+
//# sourceMappingURL=calculationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculationContext.js","sourceRoot":"","sources":["../../../../src/ser-des/config/calculationContext.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,qBAAqB;AACrB,wEAAwE;;;AAGxE,0CAAuE;AACvE,gDAA8C;AAC9C,iDAA0D;AAKnD,MAAM,uBAAuB,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAuB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEvD,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAA4B;gBACrC,EAAE,EAAE,IAAA,wBAAa,EAAC,IAAA,yBAAU,EAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE;aACf,CAAC;YACF,IAAA,0BAAY,EACV,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,EACpB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;gBACT,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACpB,KAAK,CAAC,MAAM,GAAG,IAAA,wBAAa,EAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,CAAC;qBAAM,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;oBAC/B,KAAK,CAAC,UAAU,GAAG,IAAA,wBAAa,EAAC,EAAE,EAAE,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EACD,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,EAAE,CACzC,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,EAAE,CACzC,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,uBAAuB,2BAuClC;AAEK,MAAM,sBAAsB,GAA+B,UAAU,CAAC;IAC3E,IAAI,GAAG,GAAW,sBAAsB,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,KAAK,GACP,UAAU,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,IAAI,eAAe,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;QAC9D,CAAC;QACD,GAAG,IAAI,KAAK,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAZW,QAAA,sBAAsB,0BAYjC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Dumper, Parser } from '../types';
|
|
2
|
+
import CertificateTemplate from '../../types/CertificateTemplate';
|
|
3
|
+
export declare const parseCertificateTemplate: Parser;
|
|
4
|
+
export declare const dumpCertificateTemplate: Dumper<CertificateTemplate>;
|
|
5
|
+
//# sourceMappingURL=certificateTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certificateTemplate.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/certificateTemplate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQ/C,OAAO,mBAGN,MAAM,iCAAiC,CAAC;AAWzC,eAAO,MAAM,wBAAwB,EAAE,MA+GtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,mBAAmB,CA+D/D,CAAC"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `certificate_template` construct (smart TODO.roadmap/40 batch 3; the
|
|
4
|
+
// packages-as-SSOT epic) — the certificate rendering contract
|
|
5
|
+
// (types/CertificateTemplate.ts carries the banner and the grammar
|
|
6
|
+
// sketch). The obligation vocabulary is parse-enforced (the fail-closed
|
|
7
|
+
// precedent); the characteristic type vocabulary and every reference
|
|
8
|
+
// resolution are check-enforced (C136) — the codec stays total.
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.dumpCertificateTemplate = exports.parseCertificateTemplate = void 0;
|
|
12
|
+
const tokenize_1 = require("../tokenize");
|
|
13
|
+
const parse_block_1 = require("../parse-block");
|
|
14
|
+
const field_parser_1 = require("./field-parser");
|
|
15
|
+
const CERTIFICATE_OBLIGATIONS = ['mandatory', 'optional'];
|
|
16
|
+
function readIdList(block) {
|
|
17
|
+
return (0, tokenize_1.default)((0, tokenize_1.stripWrapping)(block))
|
|
18
|
+
.map(field_parser_1.stripColon)
|
|
19
|
+
.map(tokenize_1.stripWrapping)
|
|
20
|
+
.filter(s => s.length > 0);
|
|
21
|
+
}
|
|
22
|
+
const parseCertificateTemplate = (id, data) => {
|
|
23
|
+
const template = {
|
|
24
|
+
id,
|
|
25
|
+
numberFormat: '',
|
|
26
|
+
dimensionLabels: null,
|
|
27
|
+
characteristics: [],
|
|
28
|
+
anrSection: null,
|
|
29
|
+
};
|
|
30
|
+
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
31
|
+
if (keyword === 'number_format') {
|
|
32
|
+
template.numberFormat = (0, tokenize_1.stripWrapping)(value());
|
|
33
|
+
}
|
|
34
|
+
else if (keyword === 'dimension_labels') {
|
|
35
|
+
const labels = { pattern: '', separator: '' };
|
|
36
|
+
(0, parse_block_1.forEachEntry)((0, tokenize_1.unwrapBlock)(value()), (k2, v2) => {
|
|
37
|
+
if (k2 === 'pattern') {
|
|
38
|
+
labels.pattern = (0, tokenize_1.stripWrapping)(v2());
|
|
39
|
+
}
|
|
40
|
+
else if (k2 === 'separator') {
|
|
41
|
+
labels.separator = (0, tokenize_1.stripWrapping)(v2());
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
}, { construct: 'certificate_template', id });
|
|
48
|
+
template.dimensionLabels = labels;
|
|
49
|
+
}
|
|
50
|
+
else if (keyword === 'characteristic') {
|
|
51
|
+
const c = {
|
|
52
|
+
id: (0, tokenize_1.stripWrapping)((0, field_parser_1.stripColon)(value())),
|
|
53
|
+
type: '',
|
|
54
|
+
label: '',
|
|
55
|
+
attribute: '',
|
|
56
|
+
attributes: [],
|
|
57
|
+
dimension: '',
|
|
58
|
+
obligation: '',
|
|
59
|
+
};
|
|
60
|
+
(0, parse_block_1.forEachEntry)((0, tokenize_1.unwrapBlock)(value()), (k2, v2) => {
|
|
61
|
+
if (k2 === 'type') {
|
|
62
|
+
c.type = (0, tokenize_1.stripWrapping)(v2());
|
|
63
|
+
}
|
|
64
|
+
else if (k2 === 'label') {
|
|
65
|
+
c.label = (0, tokenize_1.stripWrapping)(v2());
|
|
66
|
+
}
|
|
67
|
+
else if (k2 === 'attribute') {
|
|
68
|
+
c.attribute = (0, tokenize_1.stripWrapping)(v2());
|
|
69
|
+
}
|
|
70
|
+
else if (k2 === 'attributes') {
|
|
71
|
+
c.attributes = readIdList(v2());
|
|
72
|
+
}
|
|
73
|
+
else if (k2 === 'dimension') {
|
|
74
|
+
c.dimension = (0, tokenize_1.stripWrapping)(v2());
|
|
75
|
+
}
|
|
76
|
+
else if (k2 === 'obligation') {
|
|
77
|
+
const o = (0, tokenize_1.stripWrapping)(v2());
|
|
78
|
+
if (!CERTIFICATE_OBLIGATIONS.includes(o)) {
|
|
79
|
+
throw new Error(`Parsing error: certificate_template. ID ${id}: Unknown obligation "${o}" (valid: ${CERTIFICATE_OBLIGATIONS.join(', ')})`);
|
|
80
|
+
}
|
|
81
|
+
c.obligation = o;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}, { construct: 'certificate_template', id });
|
|
88
|
+
template.characteristics.push(c);
|
|
89
|
+
}
|
|
90
|
+
else if (keyword === 'anr_section') {
|
|
91
|
+
const anr = {
|
|
92
|
+
title: '',
|
|
93
|
+
coveredLabel: '',
|
|
94
|
+
notEvaluatedLabel: '',
|
|
95
|
+
pendingLabel: '',
|
|
96
|
+
noneTargetedNote: '',
|
|
97
|
+
};
|
|
98
|
+
(0, parse_block_1.forEachEntry)((0, tokenize_1.unwrapBlock)(value()), (k2, v2) => {
|
|
99
|
+
if (k2 === 'title') {
|
|
100
|
+
anr.title = (0, tokenize_1.stripWrapping)(v2());
|
|
101
|
+
}
|
|
102
|
+
else if (k2 === 'covered_label') {
|
|
103
|
+
anr.coveredLabel = (0, tokenize_1.stripWrapping)(v2());
|
|
104
|
+
}
|
|
105
|
+
else if (k2 === 'not_evaluated_label') {
|
|
106
|
+
anr.notEvaluatedLabel = (0, tokenize_1.stripWrapping)(v2());
|
|
107
|
+
}
|
|
108
|
+
else if (k2 === 'pending_label') {
|
|
109
|
+
anr.pendingLabel = (0, tokenize_1.stripWrapping)(v2());
|
|
110
|
+
}
|
|
111
|
+
else if (k2 === 'none_targeted_note') {
|
|
112
|
+
anr.noneTargetedNote = (0, tokenize_1.stripWrapping)(v2());
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
return true;
|
|
118
|
+
}, { construct: 'certificate_template', id });
|
|
119
|
+
template.anrSection = anr;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
}, { construct: 'certificate_template', id });
|
|
126
|
+
return ctx => {
|
|
127
|
+
ctx.certificateTemplates[id] = template;
|
|
128
|
+
return ctx;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
exports.parseCertificateTemplate = parseCertificateTemplate;
|
|
132
|
+
const dumpCertificateTemplate = function (t) {
|
|
133
|
+
let out = 'certificate_template ' + (0, field_parser_1.dumpBareSafe)(t.id) + ' {\n';
|
|
134
|
+
if (t.numberFormat) {
|
|
135
|
+
out += ' number_format "' + (0, tokenize_1.escapeString)(t.numberFormat) + '"\n';
|
|
136
|
+
}
|
|
137
|
+
if (t.dimensionLabels) {
|
|
138
|
+
out += ' dimension_labels {\n';
|
|
139
|
+
out += ' pattern "' + (0, tokenize_1.escapeString)(t.dimensionLabels.pattern) + '"\n';
|
|
140
|
+
if (t.dimensionLabels.separator) {
|
|
141
|
+
out +=
|
|
142
|
+
' separator "' + (0, tokenize_1.escapeString)(t.dimensionLabels.separator) + '"\n';
|
|
143
|
+
}
|
|
144
|
+
out += ' }\n';
|
|
145
|
+
}
|
|
146
|
+
for (const c of t.characteristics) {
|
|
147
|
+
out += ' characteristic ' + (0, field_parser_1.dumpBareSafe)(c.id) + ' {\n';
|
|
148
|
+
if (c.type) {
|
|
149
|
+
out += ' type ' + (0, field_parser_1.dumpBareSafe)(c.type) + '\n';
|
|
150
|
+
}
|
|
151
|
+
if (c.label) {
|
|
152
|
+
out += ' label "' + (0, tokenize_1.escapeString)(c.label) + '"\n';
|
|
153
|
+
}
|
|
154
|
+
if (c.attribute) {
|
|
155
|
+
out += ' attribute ' + (0, field_parser_1.dumpBareSafe)(c.attribute) + '\n';
|
|
156
|
+
}
|
|
157
|
+
if (c.attributes.length > 0) {
|
|
158
|
+
out +=
|
|
159
|
+
' attributes { ' + c.attributes.map(field_parser_1.dumpBareSafe).join(' ') + ' }\n';
|
|
160
|
+
}
|
|
161
|
+
if (c.dimension) {
|
|
162
|
+
out += ' dimension ' + (0, field_parser_1.dumpBareSafe)(c.dimension) + '\n';
|
|
163
|
+
}
|
|
164
|
+
if (c.obligation) {
|
|
165
|
+
out += ' obligation ' + c.obligation + '\n';
|
|
166
|
+
}
|
|
167
|
+
out += ' }\n';
|
|
168
|
+
}
|
|
169
|
+
if (t.anrSection) {
|
|
170
|
+
const a = t.anrSection;
|
|
171
|
+
out += ' anr_section {\n';
|
|
172
|
+
if (a.title) {
|
|
173
|
+
out += ' title "' + (0, tokenize_1.escapeString)(a.title) + '"\n';
|
|
174
|
+
}
|
|
175
|
+
if (a.coveredLabel) {
|
|
176
|
+
out += ' covered_label "' + (0, tokenize_1.escapeString)(a.coveredLabel) + '"\n';
|
|
177
|
+
}
|
|
178
|
+
if (a.notEvaluatedLabel) {
|
|
179
|
+
out +=
|
|
180
|
+
' not_evaluated_label "' + (0, tokenize_1.escapeString)(a.notEvaluatedLabel) + '"\n';
|
|
181
|
+
}
|
|
182
|
+
if (a.pendingLabel) {
|
|
183
|
+
out += ' pending_label "' + (0, tokenize_1.escapeString)(a.pendingLabel) + '"\n';
|
|
184
|
+
}
|
|
185
|
+
if (a.noneTargetedNote) {
|
|
186
|
+
out +=
|
|
187
|
+
' none_targeted_note "' + (0, tokenize_1.escapeString)(a.noneTargetedNote) + '"\n';
|
|
188
|
+
}
|
|
189
|
+
out += ' }\n';
|
|
190
|
+
}
|
|
191
|
+
out += '}\n';
|
|
192
|
+
return out;
|
|
193
|
+
};
|
|
194
|
+
exports.dumpCertificateTemplate = dumpCertificateTemplate;
|
|
195
|
+
//# sourceMappingURL=certificateTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certificateTemplate.js","sourceRoot":"","sources":["../../../../src/ser-des/config/certificateTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Dumper, Parser } from '../types';
|
|
2
|
+
import EvaluationDimensions from '../../types/EvaluationDimension';
|
|
3
|
+
export declare const parseEvaluationDimensions: Parser;
|
|
4
|
+
export declare const dumpEvaluationDimensions: Dumper<EvaluationDimensions>;
|
|
5
|
+
//# sourceMappingURL=evaluationDimension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluationDimension.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationDimension.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,oBAEN,MAAM,iCAAiC,CAAC;AAoBzC,eAAO,MAAM,yBAAyB,EAAE,MAsEvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,CA8BjE,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `evaluation_dimensions` construct (smart TODO.roadmap/40 batch 3; the
|
|
4
|
+
// packages-as-SSOT epic) — the form-facing classification field schema
|
|
5
|
+
// (types/EvaluationDimension.ts carries the banner and the grammar
|
|
6
|
+
// sketch). The type and setting vocabularies are parse-enforced (the
|
|
7
|
+
// fail-closed precedent); the enum/field-name resolutions are
|
|
8
|
+
// check-enforced (C134) — the codec stays total. `per_channel` is
|
|
9
|
+
// deliberately absent (the owner-settled single home is kernel
|
|
10
|
+
// Instrument.perChannel).
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.dumpEvaluationDimensions = exports.parseEvaluationDimensions = void 0;
|
|
14
|
+
const tokenize_1 = require("../tokenize");
|
|
15
|
+
const parse_block_1 = require("../parse-block");
|
|
16
|
+
const field_parser_1 = require("./field-parser");
|
|
17
|
+
const EVALUATION_FIELD_TYPES = [
|
|
18
|
+
'integer',
|
|
19
|
+
'number',
|
|
20
|
+
'string',
|
|
21
|
+
'text',
|
|
22
|
+
'boolean',
|
|
23
|
+
'date',
|
|
24
|
+
];
|
|
25
|
+
const EVALUATION_FIELD_SETTINGS = [
|
|
26
|
+
'MUST',
|
|
27
|
+
'SHALL',
|
|
28
|
+
'RECOMMEND',
|
|
29
|
+
'SHOULD',
|
|
30
|
+
'MAY',
|
|
31
|
+
'OPTIONAL',
|
|
32
|
+
];
|
|
33
|
+
const parseEvaluationDimensions = (id, data) => {
|
|
34
|
+
const dims = { id, label: '', fields: [] };
|
|
35
|
+
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
36
|
+
if (keyword === 'label') {
|
|
37
|
+
dims.label = (0, tokenize_1.stripWrapping)(value());
|
|
38
|
+
}
|
|
39
|
+
else if (keyword === 'field') {
|
|
40
|
+
const field = {
|
|
41
|
+
id: (0, tokenize_1.stripWrapping)((0, field_parser_1.stripColon)(value())),
|
|
42
|
+
label: '',
|
|
43
|
+
type: '',
|
|
44
|
+
enumRef: '',
|
|
45
|
+
required: false,
|
|
46
|
+
editable: true,
|
|
47
|
+
setting: '',
|
|
48
|
+
multiple: false,
|
|
49
|
+
};
|
|
50
|
+
(0, parse_block_1.forEachEntry)((0, tokenize_1.unwrapBlock)(value()), (k2, v2) => {
|
|
51
|
+
if (k2 === 'label') {
|
|
52
|
+
field.label = (0, tokenize_1.stripWrapping)(v2());
|
|
53
|
+
}
|
|
54
|
+
else if (k2 === 'type') {
|
|
55
|
+
const t = (0, tokenize_1.stripWrapping)(v2());
|
|
56
|
+
if (!EVALUATION_FIELD_TYPES.includes(t)) {
|
|
57
|
+
throw new Error(`Parsing error: evaluation_dimensions. ID ${id}: Unknown field type "${t}" (valid: ${EVALUATION_FIELD_TYPES.join(', ')})`);
|
|
58
|
+
}
|
|
59
|
+
field.type = t;
|
|
60
|
+
}
|
|
61
|
+
else if (k2 === 'enum') {
|
|
62
|
+
field.enumRef = (0, tokenize_1.stripWrapping)(v2());
|
|
63
|
+
}
|
|
64
|
+
else if (k2 === 'required') {
|
|
65
|
+
field.required = v2() === 'true';
|
|
66
|
+
}
|
|
67
|
+
else if (k2 === 'editable') {
|
|
68
|
+
field.editable = v2() === 'true';
|
|
69
|
+
}
|
|
70
|
+
else if (k2 === 'setting') {
|
|
71
|
+
const s = (0, tokenize_1.stripWrapping)(v2());
|
|
72
|
+
if (!EVALUATION_FIELD_SETTINGS.includes(s)) {
|
|
73
|
+
throw new Error(`Parsing error: evaluation_dimensions. ID ${id}: Unknown setting "${s}" (valid: ${EVALUATION_FIELD_SETTINGS.join(', ')})`);
|
|
74
|
+
}
|
|
75
|
+
field.setting = s;
|
|
76
|
+
}
|
|
77
|
+
else if (k2 === 'multiple') {
|
|
78
|
+
field.multiple = v2() === 'true';
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}, { construct: 'evaluation_dimensions', id });
|
|
85
|
+
dims.fields.push(field);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
return true;
|
|
91
|
+
}, { construct: 'evaluation_dimensions', id });
|
|
92
|
+
return ctx => {
|
|
93
|
+
ctx.evaluationDimensions[id] = dims;
|
|
94
|
+
return ctx;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
exports.parseEvaluationDimensions = parseEvaluationDimensions;
|
|
98
|
+
const dumpEvaluationDimensions = function (d) {
|
|
99
|
+
let out = 'evaluation_dimensions ' + (0, field_parser_1.dumpBareSafe)(d.id) + ' {\n';
|
|
100
|
+
if (d.label) {
|
|
101
|
+
out += ' label "' + (0, tokenize_1.escapeString)(d.label) + '"\n';
|
|
102
|
+
}
|
|
103
|
+
for (const f of d.fields) {
|
|
104
|
+
out += ' field ' + (0, field_parser_1.dumpBareSafe)(f.id) + ' {\n';
|
|
105
|
+
if (f.label) {
|
|
106
|
+
out += ' label "' + (0, tokenize_1.escapeString)(f.label) + '"\n';
|
|
107
|
+
}
|
|
108
|
+
if (f.type) {
|
|
109
|
+
out += ' type ' + (0, field_parser_1.dumpBareSafe)(f.type) + '\n';
|
|
110
|
+
}
|
|
111
|
+
if (f.enumRef) {
|
|
112
|
+
out += ' enum ' + (0, field_parser_1.dumpBareSafe)(f.enumRef) + '\n';
|
|
113
|
+
}
|
|
114
|
+
out += ' required ' + (f.required ? 'true' : 'false') + '\n';
|
|
115
|
+
out += ' editable ' + (f.editable ? 'true' : 'false') + '\n';
|
|
116
|
+
if (f.setting) {
|
|
117
|
+
out += ' setting ' + (0, field_parser_1.dumpBareSafe)(f.setting) + '\n';
|
|
118
|
+
}
|
|
119
|
+
if (f.multiple) {
|
|
120
|
+
out += ' multiple true\n';
|
|
121
|
+
}
|
|
122
|
+
out += ' }\n';
|
|
123
|
+
}
|
|
124
|
+
out += '}\n';
|
|
125
|
+
return out;
|
|
126
|
+
};
|
|
127
|
+
exports.dumpEvaluationDimensions = dumpEvaluationDimensions;
|
|
128
|
+
//# sourceMappingURL=evaluationDimension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluationDimension.js","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationDimension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Dumper, Parser } from '../types';
|
|
2
|
+
import EvaluationProfile from '../../types/EvaluationProfile';
|
|
3
|
+
export declare const parseEvaluationProfile: Parser;
|
|
4
|
+
export declare const dumpEvaluationProfile: Dumper<EvaluationProfile>;
|
|
5
|
+
//# sourceMappingURL=evaluationProfile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluationProfile.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationProfile.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQ/C,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAE9D,eAAO,MAAM,sBAAsB,EAAE,MA8BpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAgB3D,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `evaluation_profile` construct (smart TODO.roadmap/40 batch 3; the
|
|
4
|
+
// packages-as-SSOT epic) — the named dimension-value presets
|
|
5
|
+
// (types/EvaluationProfile.ts carries the banner and the grammar
|
|
6
|
+
// sketch). The dimensions map is open-keyed (no schema lock-in); the
|
|
7
|
+
// key/value resolution is check-enforced (C135) — the codec stays
|
|
8
|
+
// total.
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.dumpEvaluationProfile = exports.parseEvaluationProfile = void 0;
|
|
12
|
+
const tokenize_1 = require("../tokenize");
|
|
13
|
+
const parse_block_1 = require("../parse-block");
|
|
14
|
+
const field_parser_1 = require("./field-parser");
|
|
15
|
+
const parseEvaluationProfile = (id, data) => {
|
|
16
|
+
const profile = { id, dimensions: {}, description: '' };
|
|
17
|
+
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
18
|
+
if (keyword === 'dimensions') {
|
|
19
|
+
// The open dimension-keyed map: alternating key/value tokens.
|
|
20
|
+
const t = (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(value()));
|
|
21
|
+
for (let i = 0; i + 1 < t.length; i += 2) {
|
|
22
|
+
const k = (0, tokenize_1.stripWrapping)((0, field_parser_1.stripColon)(t[i]));
|
|
23
|
+
const v = (0, tokenize_1.stripWrapping)(t[i + 1]);
|
|
24
|
+
if (k) {
|
|
25
|
+
profile.dimensions[k] = v;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else if (keyword === 'description') {
|
|
30
|
+
profile.description = (0, tokenize_1.stripWrapping)(value());
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}, { construct: 'evaluation_profile', id });
|
|
37
|
+
return ctx => {
|
|
38
|
+
ctx.evaluationProfiles[id] = profile;
|
|
39
|
+
return ctx;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.parseEvaluationProfile = parseEvaluationProfile;
|
|
43
|
+
const dumpEvaluationProfile = function (p) {
|
|
44
|
+
let out = 'evaluation_profile ' + (0, field_parser_1.dumpBareSafe)(p.id) + ' {\n';
|
|
45
|
+
const keys = Object.keys(p.dimensions);
|
|
46
|
+
if (keys.length > 0) {
|
|
47
|
+
out +=
|
|
48
|
+
' dimensions { ' +
|
|
49
|
+
keys
|
|
50
|
+
.map(k => (0, field_parser_1.dumpBareSafe)(k) + ' ' + (0, field_parser_1.dumpBareSafe)(p.dimensions[k]))
|
|
51
|
+
.join(' ') +
|
|
52
|
+
' }\n';
|
|
53
|
+
}
|
|
54
|
+
if (p.description) {
|
|
55
|
+
out += ' description "' + (0, tokenize_1.escapeString)(p.description) + '"\n';
|
|
56
|
+
}
|
|
57
|
+
out += '}\n';
|
|
58
|
+
return out;
|
|
59
|
+
};
|
|
60
|
+
exports.dumpEvaluationProfile = dumpEvaluationProfile;
|
|
61
|
+
//# sourceMappingURL=evaluationProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluationProfile.js","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationProfile.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,qEAAqE;AACrE,6DAA6D;AAC7D,iEAAiE;AACjE,qEAAqE;AACrE,kEAAkE;AAClE,SAAS;AACT,wEAAwE;;;AAGxE,0CAIqB;AACrB,gDAA8C;AAC9C,iDAA0D;AAGnD,MAAM,sBAAsB,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IACzE,MAAM,OAAO,GAAsB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAE3E,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,MAAM,CAAC,GAAG,IAAA,kBAAQ,EAAC,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,IAAA,wBAAa,EAAC,IAAA,yBAAU,EAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,CAAC,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC;oBACN,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,WAAW,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,EAAE,CACxC,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,sBAAsB,0BA8BjC;AAEK,MAAM,qBAAqB,GAA8B,UAAU,CAAC;IACzE,IAAI,GAAG,GAAW,qBAAqB,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG;YACD,iBAAiB;gBACjB,IAAI;qBACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,2BAAY,EAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;qBAChE,IAAI,CAAC,GAAG,CAAC;gBACZ,MAAM,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClB,GAAG,IAAI,iBAAiB,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IACjE,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/gateway.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/gateway.ts"],"names":[],"mappings":"AAyBA,OAAO,OAA0C,MAAM,qBAAqB,CAAC;AAQ7E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,kBAAkB,EAAE,MAyChC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,CAKvC,CAAC"}
|
|
@@ -1,18 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `exclusive_gateway` construct — the workflow routing cascade (smart
|
|
4
|
+
// TODO.roadmap/40 batch 5; the packages-as-SSOT epic; closes the kernel
|
|
5
|
+
// half of smart's TODO.refactor/16).
|
|
6
|
+
//
|
|
7
|
+
// exclusive_gateway test_runs_gateway {
|
|
8
|
+
// label "Determine Required Test Runs"
|
|
9
|
+
// edge conduct_mdlo_tests {
|
|
10
|
+
// condition "[accuracy_class] in ['C', 'D']"
|
|
11
|
+
// label "3 load applications"
|
|
12
|
+
// }
|
|
13
|
+
// edge conduct_mdlo_tests_5runs {
|
|
14
|
+
// condition "[accuracy_class] in ['A', 'B']"
|
|
15
|
+
// label "5 load applications"
|
|
16
|
+
// }
|
|
17
|
+
// edge skip { condition default label "Not applicable" }
|
|
18
|
+
// }
|
|
19
|
+
//
|
|
20
|
+
// `edge <target-process-id> { … }` is a repeatable, ordered two-token
|
|
21
|
+
// facet: the first satisfied condition in declaration order wins, and
|
|
22
|
+
// the edge carrying the bare token `default` is the catch-all
|
|
23
|
+
// (recommended last — C142 checks the discipline). The condition stays
|
|
24
|
+
// an opaque string, never resolved kernel-side (the R26 precedent).
|
|
25
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
2
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
27
|
exports.dumpGateway = exports.parseExclusiveGate = void 0;
|
|
4
28
|
const tokenize_1 = require("../tokenize");
|
|
29
|
+
const field_parser_1 = require("./field-parser");
|
|
5
30
|
const parse_block_1 = require("../parse-block");
|
|
6
31
|
const parseExclusiveGate = function (id, data) {
|
|
7
32
|
const gateway = {
|
|
8
33
|
id: id,
|
|
9
34
|
gatewayType: 'exclusive_gateway',
|
|
10
35
|
label: '',
|
|
36
|
+
edges: [],
|
|
11
37
|
};
|
|
12
38
|
(0, parse_block_1.forEachEntry)(data, (command, value) => {
|
|
13
39
|
if (command === 'label') {
|
|
14
40
|
gateway.label = (0, parse_block_1.unwrapped)(value);
|
|
15
41
|
}
|
|
42
|
+
else if (command === 'edge') {
|
|
43
|
+
// edge <target-process-id> { condition "…"|default label "…" }
|
|
44
|
+
const edge = {
|
|
45
|
+
target: (0, tokenize_1.stripWrapping)(value()),
|
|
46
|
+
condition: '',
|
|
47
|
+
label: '',
|
|
48
|
+
};
|
|
49
|
+
const et = (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(value()));
|
|
50
|
+
for (let j = 0; j + 1 < et.length; j += 2) {
|
|
51
|
+
if (et[j] === 'condition') {
|
|
52
|
+
edge.condition = (0, tokenize_1.stripWrapping)(et[j + 1]);
|
|
53
|
+
}
|
|
54
|
+
else if (et[j] === 'label') {
|
|
55
|
+
edge.label = (0, tokenize_1.stripWrapping)(et[j + 1]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
gateway.edges.push(edge);
|
|
59
|
+
}
|
|
16
60
|
else {
|
|
17
61
|
return false;
|
|
18
62
|
}
|
|
@@ -36,6 +80,19 @@ function dumpEGate(egate) {
|
|
|
36
80
|
if (egate.label !== '') {
|
|
37
81
|
out += ' label "' + (0, tokenize_1.escapeString)(egate.label) + '"\n';
|
|
38
82
|
}
|
|
83
|
+
for (const e of egate.edges ?? []) {
|
|
84
|
+
out += ' edge ' + (0, field_parser_1.dumpBareSafe)(e.target) + ' {';
|
|
85
|
+
if (e.condition === 'default') {
|
|
86
|
+
out += ' condition default';
|
|
87
|
+
}
|
|
88
|
+
else if (e.condition !== '') {
|
|
89
|
+
out += ' condition "' + (0, tokenize_1.escapeString)(e.condition) + '"';
|
|
90
|
+
}
|
|
91
|
+
if (e.label !== '') {
|
|
92
|
+
out += ' label "' + (0, tokenize_1.escapeString)(e.label) + '"';
|
|
93
|
+
}
|
|
94
|
+
out += ' }\n';
|
|
95
|
+
}
|
|
39
96
|
out += '}\n';
|
|
40
97
|
return out;
|
|
41
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../src/ser-des/config/gateway.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../src/ser-des/config/gateway.ts"],"names":[],"mappings":"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"}
|