@primmel/primmel 1.17.1 → 1.17.2
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.d.ts.map +1 -1
- package/dist/src/check.js +6 -3
- package/dist/src/check.js.map +1 -1
- package/dist/src/ser-des/config/evaluationProfile.d.ts.map +1 -1
- package/dist/src/ser-des/config/evaluationProfile.js +15 -3
- package/dist/src/ser-des/config/evaluationProfile.js.map +1 -1
- package/dist/src/types/EvaluationProfile.d.ts +5 -3
- package/dist/src/types/EvaluationProfile.d.ts.map +1 -1
- package/dist/src/types/EvaluationProfile.js +14 -4
- package/dist/src/types/EvaluationProfile.js.map +1 -1
- package/dist-browser/index.mjs +6 -3
- package/dist-cli/primmel.mjs +13 -7
- package/package.json +1 -1
|
@@ -1 +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,
|
|
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,MAoCpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAsB3D,CAAC"}
|
|
@@ -16,11 +16,17 @@ const parseEvaluationProfile = (id, data) => {
|
|
|
16
16
|
const profile = { id, dimensions: {}, description: '' };
|
|
17
17
|
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
18
18
|
if (keyword === 'dimensions') {
|
|
19
|
-
// The open dimension-keyed map: alternating key/value tokens.
|
|
19
|
+
// The open dimension-keyed map: alternating key/value tokens. A
|
|
20
|
+
// set-cardinality dimension presets to a value LIST — the value
|
|
21
|
+
// arrives as one balanced `{ … }` token (the tokenizer's block
|
|
22
|
+
// rule); a scalar stays a single token.
|
|
20
23
|
const t = (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(value()));
|
|
21
24
|
for (let i = 0; i + 1 < t.length; i += 2) {
|
|
22
25
|
const k = (0, tokenize_1.stripWrapping)((0, field_parser_1.stripColon)(t[i]));
|
|
23
|
-
const
|
|
26
|
+
const raw = t[i + 1];
|
|
27
|
+
const v = raw.startsWith('{')
|
|
28
|
+
? (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(raw)).map(tok => (0, tokenize_1.stripWrapping)(tok))
|
|
29
|
+
: (0, tokenize_1.stripWrapping)(raw);
|
|
24
30
|
if (k) {
|
|
25
31
|
profile.dimensions[k] = v;
|
|
26
32
|
}
|
|
@@ -47,7 +53,13 @@ const dumpEvaluationProfile = function (p) {
|
|
|
47
53
|
out +=
|
|
48
54
|
' dimensions { ' +
|
|
49
55
|
keys
|
|
50
|
-
.map(k =>
|
|
56
|
+
.map(k => {
|
|
57
|
+
const v = p.dimensions[k];
|
|
58
|
+
// Set-cardinality presets dump as a value list (`{ co no }`).
|
|
59
|
+
return Array.isArray(v)
|
|
60
|
+
? (0, field_parser_1.dumpBareSafe)(k) + ' { ' + v.map(field_parser_1.dumpBareSafe).join(' ') + ' }'
|
|
61
|
+
: (0, field_parser_1.dumpBareSafe)(k) + ' ' + (0, field_parser_1.dumpBareSafe)(v);
|
|
62
|
+
})
|
|
51
63
|
.join(' ') +
|
|
52
64
|
' }\n';
|
|
53
65
|
}
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"evaluationProfile.js","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationProfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export default interface EvaluationProfile {
|
|
2
2
|
/** Kebab-case profile id (class-a-digital-nh). */
|
|
3
3
|
id: string;
|
|
4
|
-
/** The dimension-value preset: dimension id → value id,
|
|
5
|
-
*
|
|
6
|
-
|
|
4
|
+
/** The dimension-value preset: dimension id → value id, or value-id
|
|
5
|
+
* list for a set-cardinality dimension (r144's measurand_components),
|
|
6
|
+
* in declared order (the byte contract keys dimension ids before
|
|
7
|
+
* description). */
|
|
8
|
+
dimensions: Record<string, string | string[]>;
|
|
7
9
|
/** What the profile selects. */
|
|
8
10
|
description: string;
|
|
9
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvaluationProfile.d.ts","sourceRoot":"","sources":["../../../src/types/EvaluationProfile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EvaluationProfile.d.ts","sourceRoot":"","sources":["../../../src/types/EvaluationProfile.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX;;;wBAGoB;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC9C,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -10,16 +10,26 @@
|
|
|
10
10
|
// description "Class A digital, no humidity test"
|
|
11
11
|
// }
|
|
12
12
|
//
|
|
13
|
+
// A SET-cardinality dimension presets to a value LIST (r144's
|
|
14
|
+
// measurand_components — the extractive-co-nox preset selects several
|
|
15
|
+
// channels at once):
|
|
16
|
+
//
|
|
17
|
+
// evaluation_profile extractive-co-nox-ndir-cld {
|
|
18
|
+
// dimensions { measurand_components { co no } measuring_principle combined }
|
|
19
|
+
// description "Extractive CEMS: NDIR for CO + chemiluminescence for NOx"
|
|
20
|
+
// }
|
|
21
|
+
//
|
|
13
22
|
// The dimensions map keys on DIMENSION ids (profiles select over
|
|
14
23
|
// dimensions) — NOT the evaluation-dimension FIELD names (r60: profile
|
|
15
24
|
// key humidity_class vs field name humidity_symbol); the two namespaces
|
|
16
|
-
// never mix. Optional per package: r91
|
|
25
|
+
// never mix. Optional per package: r91 declares none, and no
|
|
17
26
|
// empty-register requirement exists.
|
|
18
27
|
//
|
|
19
28
|
// C135 evaluation-profile-coherence: every dimensions key resolves to a
|
|
20
|
-
// declared classification dimension and every value
|
|
21
|
-
// dimension's declared values (per-register gated; an
|
|
22
|
-
// accepts any value) — the smart R4/R8 applicability
|
|
29
|
+
// declared classification dimension and every value (each list entry)
|
|
30
|
+
// to one of that dimension's declared values (per-register gated; an
|
|
31
|
+
// OPEN dimension accepts any value) — the smart R4/R8 applicability
|
|
32
|
+
// mirror.
|
|
23
33
|
// ─────────────────────────────────────────────────────────────────────
|
|
24
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
35
|
//# sourceMappingURL=EvaluationProfile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvaluationProfile.js","sourceRoot":"","sources":["../../../src/types/EvaluationProfile.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,6DAA6D;AAC7D,wEAAwE;AACxE,gEAAgE;AAChE,4DAA4D;AAC5D,EAAE;AACF,4CAA4C;AAC5C,2EAA2E;AAC3E,sDAAsD;AACtD,MAAM;AACN,EAAE;AACF,iEAAiE;AACjE,uEAAuE;AACvE,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"EvaluationProfile.js","sourceRoot":"","sources":["../../../src/types/EvaluationProfile.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,6DAA6D;AAC7D,wEAAwE;AACxE,gEAAgE;AAChE,4DAA4D;AAC5D,EAAE;AACF,4CAA4C;AAC5C,2EAA2E;AAC3E,sDAAsD;AACtD,MAAM;AACN,EAAE;AACF,8DAA8D;AAC9D,sEAAsE;AACtE,qBAAqB;AACrB,EAAE;AACF,oDAAoD;AACpD,iFAAiF;AACjF,6EAA6E;AAC7E,MAAM;AACN,EAAE;AACF,iEAAiE;AACjE,uEAAuE;AACvE,wEAAwE;AACxE,6DAA6D;AAC7D,qCAAqC;AACrC,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,qEAAqE;AACrE,oEAAoE;AACpE,UAAU;AACV,wEAAwE"}
|
package/dist-browser/index.mjs
CHANGED
|
@@ -7687,8 +7687,8 @@ var ss = {
|
|
|
7687
7687
|
if (e === "dimensions") {
|
|
7688
7688
|
let e = n(i(t()));
|
|
7689
7689
|
for (let t = 0; t + 1 < e.length; t += 2) {
|
|
7690
|
-
let
|
|
7691
|
-
|
|
7690
|
+
let o = a(P(e[t])), s = e[t + 1], c = s.startsWith("{") ? n(i(s)).map((e) => a(e)) : a(s);
|
|
7691
|
+
o && (r.dimensions[o] = c);
|
|
7692
7692
|
}
|
|
7693
7693
|
} else if (e === "description") r.description = a(t());
|
|
7694
7694
|
else return !1;
|
|
@@ -7699,7 +7699,10 @@ var ss = {
|
|
|
7699
7699
|
}), (t) => (t.evaluationProfiles[e] = r, t);
|
|
7700
7700
|
}, Ds = function(e) {
|
|
7701
7701
|
let t = "evaluation_profile " + N(e.id) + " {\n", n = Object.keys(e.dimensions);
|
|
7702
|
-
return n.length > 0 && (t += " dimensions { " + n.map((t) =>
|
|
7702
|
+
return n.length > 0 && (t += " dimensions { " + n.map((t) => {
|
|
7703
|
+
let n = e.dimensions[t];
|
|
7704
|
+
return Array.isArray(n) ? N(t) + " { " + n.map(N).join(" ") + " }" : N(t) + " " + N(n);
|
|
7705
|
+
}).join(" ") + " }\n"), e.description && (t += " description \"" + s(e.description) + "\"\n"), t += "}\n", t;
|
|
7703
7706
|
}, Os = ["mandatory", "optional"];
|
|
7704
7707
|
function ks(e) {
|
|
7705
7708
|
return n(a(e)).map(P).map(a).filter((e) => e.length > 0);
|
package/dist-cli/primmel.mjs
CHANGED
|
@@ -14759,7 +14759,8 @@ var parseEvaluationProfile = (id, data) => {
|
|
|
14759
14759
|
const t = tokenize(unwrapBlock(value()));
|
|
14760
14760
|
for (let i = 0; i + 1 < t.length; i += 2) {
|
|
14761
14761
|
const k = stripWrapping(stripColon(t[i]));
|
|
14762
|
-
const
|
|
14762
|
+
const raw = t[i + 1];
|
|
14763
|
+
const v = raw.startsWith("{") ? tokenize(unwrapBlock(raw)).map((tok) => stripWrapping(tok)) : stripWrapping(raw);
|
|
14763
14764
|
if (k) {
|
|
14764
14765
|
profile.dimensions[k] = v;
|
|
14765
14766
|
}
|
|
@@ -14782,7 +14783,10 @@ var dumpEvaluationProfile = function(p) {
|
|
|
14782
14783
|
let out = "evaluation_profile " + dumpBareSafe(p.id) + " {\n";
|
|
14783
14784
|
const keys = Object.keys(p.dimensions);
|
|
14784
14785
|
if (keys.length > 0) {
|
|
14785
|
-
out += " dimensions { " + keys.map((k) =>
|
|
14786
|
+
out += " dimensions { " + keys.map((k) => {
|
|
14787
|
+
const v = p.dimensions[k];
|
|
14788
|
+
return Array.isArray(v) ? dumpBareSafe(k) + " { " + v.map(dumpBareSafe).join(" ") + " }" : dumpBareSafe(k) + " " + dumpBareSafe(v);
|
|
14789
|
+
}).join(" ") + " }\n";
|
|
14786
14790
|
}
|
|
14787
14791
|
if (p.description) {
|
|
14788
14792
|
out += ' description "' + escapeString(p.description) + '"\n';
|
|
@@ -27478,11 +27482,13 @@ function checkPackage(dir, options = {}) {
|
|
|
27478
27482
|
continue;
|
|
27479
27483
|
}
|
|
27480
27484
|
const values = dimIds.get(dim);
|
|
27481
|
-
|
|
27482
|
-
|
|
27483
|
-
|
|
27484
|
-
|
|
27485
|
-
|
|
27485
|
+
for (const v of Array.isArray(value) ? value : [value]) {
|
|
27486
|
+
if (values && values.size > 0 && !values.has(v)) {
|
|
27487
|
+
err(
|
|
27488
|
+
"C135",
|
|
27489
|
+
`${where}: dimensions entry "${dim}" names value "${v}", which the dimension does not declare (evaluation-profile-coherence)`
|
|
27490
|
+
);
|
|
27491
|
+
}
|
|
27486
27492
|
}
|
|
27487
27493
|
}
|
|
27488
27494
|
}
|
package/package.json
CHANGED