@primmel/primmel 1.21.17 → 1.21.19
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 +2 -1
- package/dist/src/check-rules.js.map +1 -1
- package/dist/src/check.d.ts.map +1 -1
- package/dist/src/check.js +82 -0
- package/dist/src/check.js.map +1 -1
- package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -1
- package/dist/src/ser-des/config/conformanceTest.js +7 -0
- package/dist/src/ser-des/config/conformanceTest.js.map +1 -1
- package/dist/src/ser-des/config/process.d.ts.map +1 -1
- package/dist/src/ser-des/config/process.js +4 -0
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/config/quantity.d.ts.map +1 -1
- package/dist/src/ser-des/config/quantity.js +25 -7
- package/dist/src/ser-des/config/quantity.js.map +1 -1
- package/dist/src/ser-des/config/series.d.ts.map +1 -1
- package/dist/src/ser-des/config/series.js +11 -1
- package/dist/src/ser-des/config/series.js.map +1 -1
- package/dist/src/ser-des/config/subject.d.ts +1 -0
- package/dist/src/ser-des/config/subject.d.ts.map +1 -1
- package/dist/src/ser-des/config/subject.js +1 -0
- package/dist/src/ser-des/config/subject.js.map +1 -1
- package/dist/src/types/ConformanceTest.d.ts +4 -0
- package/dist/src/types/ConformanceTest.d.ts.map +1 -1
- package/dist/src/types/Quantity.d.ts +11 -0
- package/dist/src/types/Quantity.d.ts.map +1 -1
- package/dist/src/types/Series.d.ts +7 -0
- package/dist/src/types/Series.d.ts.map +1 -1
- package/dist-browser/index.mjs +34 -11
- package/dist-cli/primmel.mjs +137 -11
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConformanceTest.d.ts","sourceRoot":"","sources":["../../../src/types/ConformanceTest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ConformanceTest.d.ts","sourceRoot":"","sources":["../../../src/types/ConformanceTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,13 @@
|
|
|
26
26
|
*/
|
|
27
27
|
export interface QuantityValue {
|
|
28
28
|
value: string | number;
|
|
29
|
+
/**
|
|
30
|
+
* The authored decimal literal when its form carries information the
|
|
31
|
+
* number loses (trailing zeros — the significant-figure statement,
|
|
32
|
+
* `2.10` vs `2.1`). Preserved verbatim on the wire; absent when the
|
|
33
|
+
* authored form is the number's canonical form.
|
|
34
|
+
*/
|
|
35
|
+
valueLiteral?: string;
|
|
29
36
|
/** Unit id or symbol — resolves in a quantity_register (C33). */
|
|
30
37
|
unit?: string;
|
|
31
38
|
/**
|
|
@@ -35,8 +42,12 @@ export interface QuantityValue {
|
|
|
35
42
|
quantityKind?: string;
|
|
36
43
|
/** Dispersion of a MEASURED value (exhibited side; GUM-shaped). */
|
|
37
44
|
uncertainty?: string | number;
|
|
45
|
+
/** The authored literal of `uncertainty` (see valueLiteral). */
|
|
46
|
+
uncertaintyLiteral?: string;
|
|
38
47
|
/** Symmetric band of a SPECIFIED value (designed side). */
|
|
39
48
|
tolerance?: string | number;
|
|
49
|
+
/** The authored literal of `tolerance` (see valueLiteral). */
|
|
50
|
+
toleranceLiteral?: string;
|
|
40
51
|
/**
|
|
41
52
|
* Per-entry provenance (the typed kernel, clause 10): where the value
|
|
42
53
|
* was read from, in the register's own words when the wording
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quantity.d.ts","sourceRoot":"","sources":["../../../src/types/Quantity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED,uCAAuC;AACvC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"Quantity.d.ts","sourceRoot":"","sources":["../../../src/types/Quantity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED,uCAAuC;AACvC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB"}
|
|
@@ -27,5 +27,12 @@ export interface SeriesDecl {
|
|
|
27
27
|
cellSymbol: string;
|
|
28
28
|
/** Measurement unit of the cell values. */
|
|
29
29
|
cellUnit: string;
|
|
30
|
+
/**
|
|
31
|
+
* The record form whose typed fields are the row's members — the
|
|
32
|
+
* variable↔subform type link. A derivation's lambda member
|
|
33
|
+
* (`m.<field>`) resolves against the record form's fields (C182),
|
|
34
|
+
* so a collection derivation is kind-checked, never kind-silent.
|
|
35
|
+
*/
|
|
36
|
+
record?: string;
|
|
30
37
|
}
|
|
31
38
|
//# sourceMappingURL=Series.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../src/types/Series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../src/types/Series.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/dist-browser/index.mjs
CHANGED
|
@@ -896,6 +896,10 @@ function me(e) {
|
|
|
896
896
|
}, r = n(e), o = 0;
|
|
897
897
|
for (; o < r.length;) {
|
|
898
898
|
let e = r[o++];
|
|
899
|
+
if (e === "record") {
|
|
900
|
+
t.record = a(r[o++]);
|
|
901
|
+
continue;
|
|
902
|
+
}
|
|
899
903
|
if (e !== "axis" && e !== "cell") {
|
|
900
904
|
o < r.length && i(r[o - 1]);
|
|
901
905
|
continue;
|
|
@@ -930,7 +934,7 @@ function me(e) {
|
|
|
930
934
|
function he(e) {
|
|
931
935
|
let t = "series { ";
|
|
932
936
|
for (let n of e.axes) t += "axis " + n.id + " { ", n.unit && (t += "unit \"" + s(n.unit) + "\" "), n.type && (t += "type " + n.type + " "), n.role && (t += "role " + n.role + " "), t += "} ";
|
|
933
|
-
return t += "cell { ", e.cellSymbol && (t += "symbol " + e.cellSymbol + " "), e.cellUnit && (t += "unit \"" + s(e.cellUnit) + "\" "), t += "} }", t;
|
|
937
|
+
return t += "cell { ", e.cellSymbol && (t += "symbol " + e.cellSymbol + " "), e.cellUnit && (t += "unit \"" + s(e.cellUnit) + "\" "), t += "} ", e.record !== void 0 && (t += "record " + e.record + " "), t += "}", t;
|
|
934
938
|
}
|
|
935
939
|
//#endregion
|
|
936
940
|
//#region src/ser-des/config/sourceDiscrepancy.ts
|
|
@@ -1330,7 +1334,24 @@ function je(e) {
|
|
|
1330
1334
|
for (; o < r.length;) {
|
|
1331
1335
|
let e = r[o++];
|
|
1332
1336
|
if (o >= r.length) break;
|
|
1333
|
-
|
|
1337
|
+
if (e === "value") {
|
|
1338
|
+
let e = r[o++];
|
|
1339
|
+
t.value = B(e);
|
|
1340
|
+
let n = a(e);
|
|
1341
|
+
typeof t.value == "number" && String(t.value) !== n && (t.valueLiteral = n);
|
|
1342
|
+
} else if (e === "unit") t.unit = a(r[o++]);
|
|
1343
|
+
else if (e === "kind" || e === "quantity_kind") t.quantityKind = a(r[o++]);
|
|
1344
|
+
else if (e === "uncertainty") {
|
|
1345
|
+
let e = r[o++];
|
|
1346
|
+
t.uncertainty = B(e);
|
|
1347
|
+
let n = a(e);
|
|
1348
|
+
typeof t.uncertainty == "number" && String(t.uncertainty) !== n && (t.uncertaintyLiteral = n);
|
|
1349
|
+
} else if (e === "tolerance") {
|
|
1350
|
+
let e = r[o++];
|
|
1351
|
+
t.tolerance = B(e);
|
|
1352
|
+
let n = a(e);
|
|
1353
|
+
typeof t.tolerance == "number" && String(t.tolerance) !== n && (t.toleranceLiteral = n);
|
|
1354
|
+
} else e === "provenance" ? t.provenance = Ne(i(r[o++])) : i(r[o++]);
|
|
1334
1355
|
}
|
|
1335
1356
|
return t;
|
|
1336
1357
|
}
|
|
@@ -1355,14 +1376,14 @@ function V(e) {
|
|
|
1355
1376
|
}
|
|
1356
1377
|
function Fe(e) {
|
|
1357
1378
|
if (!Me(e)) {
|
|
1358
|
-
let t = V(e.value);
|
|
1379
|
+
let t = e.valueLiteral ?? V(e.value);
|
|
1359
1380
|
return e.unit === void 0 ? t : t + " " + P(e.unit);
|
|
1360
1381
|
}
|
|
1361
1382
|
return Ie(e);
|
|
1362
1383
|
}
|
|
1363
1384
|
function Ie(e) {
|
|
1364
|
-
let t = ["value " + V(e.value)];
|
|
1365
|
-
return e.unit !== void 0 && t.push("unit \"" + s(e.unit) + "\""), e.quantityKind !== void 0 && t.push("kind " + P(e.quantityKind)), e.uncertainty !== void 0 && t.push("uncertainty " + V(e.uncertainty)), e.tolerance !== void 0 && t.push("tolerance " + V(e.tolerance)), e.provenance !== void 0 && t.push("provenance " + Pe(e.provenance)), "{ " + t.join(" ") + " }";
|
|
1385
|
+
let t = ["value " + (e.valueLiteral ?? V(e.value))];
|
|
1386
|
+
return e.unit !== void 0 && t.push("unit \"" + s(e.unit) + "\""), e.quantityKind !== void 0 && t.push("kind " + P(e.quantityKind)), e.uncertainty !== void 0 && t.push("uncertainty " + (e.uncertaintyLiteral ?? V(e.uncertainty))), e.tolerance !== void 0 && t.push("tolerance " + (e.toleranceLiteral ?? V(e.tolerance))), e.provenance !== void 0 && t.push("provenance " + Pe(e.provenance)), "{ " + t.join(" ") + " }";
|
|
1366
1387
|
}
|
|
1367
1388
|
//#endregion
|
|
1368
1389
|
//#region src/ser-des/config/process.ts
|
|
@@ -1394,11 +1415,11 @@ function ze(e, t = !1) {
|
|
|
1394
1415
|
if (e.length > 2) throw Error(`Parsing error: register "${n}" initial value has ${e.length} tokens (shape: name : type = value [unit]) — quote multi-word values`);
|
|
1395
1416
|
if (e.length === 1 && e[0].startsWith("{")) u.initial = je(i(e[0]));
|
|
1396
1417
|
else {
|
|
1397
|
-
let [t, n] = e, r = B(t)
|
|
1398
|
-
u.initial = n === void 0 ? { value: r } : {
|
|
1418
|
+
let [t, n] = e, r = B(t), i = n === void 0 ? { value: r } : {
|
|
1399
1419
|
value: r,
|
|
1400
1420
|
unit: a(n)
|
|
1401
1421
|
};
|
|
1422
|
+
typeof r == "number" && String(r) !== a(t) && (i.valueLiteral = a(t)), u.initial = i;
|
|
1402
1423
|
}
|
|
1403
1424
|
}
|
|
1404
1425
|
r.push(u);
|
|
@@ -5591,7 +5612,8 @@ var Li = function(e, t) {
|
|
|
5591
5612
|
let t = r(i(s())), n = {
|
|
5592
5613
|
performedBy: "",
|
|
5593
5614
|
store: "",
|
|
5594
|
-
trajectory: ""
|
|
5615
|
+
trajectory: "",
|
|
5616
|
+
inputs: []
|
|
5595
5617
|
}, c = 0;
|
|
5596
5618
|
for (; c < t.length;) {
|
|
5597
5619
|
let r = t[c++];
|
|
@@ -5600,7 +5622,7 @@ var Li = function(e, t) {
|
|
|
5600
5622
|
let r = a(t[c++]);
|
|
5601
5623
|
if (r !== "laboratory" && r !== "manufacturer") throw Error(`Parsing error: conformance_test. ID ${e}: Unknown run performer ${r} (valid: laboratory, manufacturer)`);
|
|
5602
5624
|
n.performedBy = r;
|
|
5603
|
-
} else r === "store" ? n.store = a(t[c++]) : r === "trajectory" ? n.trajectory = a(t[c++]) : c = b(t, c, r);
|
|
5625
|
+
} else r === "store" ? n.store = a(t[c++]) : r === "trajectory" ? n.trajectory = a(t[c++]) : r === "inputs" ? n.inputs = U(t[c++]) : c = b(t, c, r);
|
|
5604
5626
|
}
|
|
5605
5627
|
o.run = n;
|
|
5606
5628
|
} else if (t === "produces_artifacts") o.producesArtifacts = U(s());
|
|
@@ -5696,7 +5718,7 @@ var Li = function(e, t) {
|
|
|
5696
5718
|
}
|
|
5697
5719
|
t += n + "} }\n";
|
|
5698
5720
|
}
|
|
5699
|
-
if (e.inheritsFrom && (t += " inherits_from " + e.inheritsFrom + "\n"), e.resultForms.length > 0 && (t += " result_forms { " + e.resultForms.join(" ") + " }\n"), e.run && (t += " run {\n", e.run.performedBy && (t += " performed_by " + e.run.performedBy + "\n"), e.run.store && (t += " store " + e.run.store + "\n"), e.run.trajectory && (t += " trajectory " + e.run.trajectory + "\n"), t += " }\n"), e.producesArtifacts && e.producesArtifacts.length > 0 && (t += " produces_artifacts { " + e.producesArtifacts.join(" ") + " }\n"), e.reportRows && e.reportRows.length > 0 && (t += " report_rows { " + e.reportRows.join(" ") + " }\n"), e.derivedValues.length > 0) {
|
|
5721
|
+
if (e.inheritsFrom && (t += " inherits_from " + e.inheritsFrom + "\n"), e.resultForms.length > 0 && (t += " result_forms { " + e.resultForms.join(" ") + " }\n"), e.run && (t += " run {\n", e.run.performedBy && (t += " performed_by " + e.run.performedBy + "\n"), e.run.store && (t += " store " + e.run.store + "\n"), e.run.trajectory && (t += " trajectory " + e.run.trajectory + "\n"), e.run.inputs.length > 0 && (t += " inputs { " + e.run.inputs.join(" ") + " }\n"), t += " }\n"), e.producesArtifacts && e.producesArtifacts.length > 0 && (t += " produces_artifacts { " + e.producesArtifacts.join(" ") + " }\n"), e.reportRows && e.reportRows.length > 0 && (t += " report_rows { " + e.reportRows.join(" ") + " }\n"), e.derivedValues.length > 0) {
|
|
5700
5722
|
t += " derived_values {\n";
|
|
5701
5723
|
for (let n of e.derivedValues) t += " value " + n.name + " { expression \"" + s(n.expression) + "\" }\n";
|
|
5702
5724
|
t += " }\n";
|
|
@@ -8095,7 +8117,8 @@ var us = function(e) {
|
|
|
8095
8117
|
field: "conditionSets",
|
|
8096
8118
|
takesID: !0,
|
|
8097
8119
|
parse: Oo,
|
|
8098
|
-
dump: Ao
|
|
8120
|
+
dump: Ao,
|
|
8121
|
+
deprecated: "the severity/condition register is the legacy spelling — migrate to the typed table construct (typed columns, typed rows; the values that decide testing bind in limits via table:<id>.<column>); the legacy spelling keeps parsing as visible debt"
|
|
8099
8122
|
}, gs = {
|
|
8100
8123
|
keyword: "subject",
|
|
8101
8124
|
field: "subjects",
|
package/dist-cli/primmel.mjs
CHANGED
|
@@ -676,6 +676,10 @@ function parseSeriesDecl(block) {
|
|
|
676
676
|
let i = 0;
|
|
677
677
|
while (i < t.length) {
|
|
678
678
|
const cmd = t[i++];
|
|
679
|
+
if (cmd === "record") {
|
|
680
|
+
decl.record = stripWrapping(t[i++]);
|
|
681
|
+
continue;
|
|
682
|
+
}
|
|
679
683
|
if (cmd !== "axis" && cmd !== "cell") {
|
|
680
684
|
if (i < t.length) {
|
|
681
685
|
unwrapBlock(t[i - 1]);
|
|
@@ -753,7 +757,11 @@ function dumpSeriesDecl(decl) {
|
|
|
753
757
|
if (decl.cellUnit) {
|
|
754
758
|
out += 'unit "' + escapeString(decl.cellUnit) + '" ';
|
|
755
759
|
}
|
|
756
|
-
out += "}
|
|
760
|
+
out += "} ";
|
|
761
|
+
if (decl.record !== void 0) {
|
|
762
|
+
out += "record " + decl.record + " ";
|
|
763
|
+
}
|
|
764
|
+
out += "}";
|
|
757
765
|
return out;
|
|
758
766
|
}
|
|
759
767
|
|
|
@@ -2945,15 +2953,30 @@ function readQuantityBlock(content) {
|
|
|
2945
2953
|
break;
|
|
2946
2954
|
}
|
|
2947
2955
|
if (cmd === "value") {
|
|
2948
|
-
|
|
2956
|
+
const rawTok = t[i++];
|
|
2957
|
+
out.value = coerceValueToken(rawTok);
|
|
2958
|
+
const bare = stripWrapping(rawTok);
|
|
2959
|
+
if (typeof out.value === "number" && String(out.value) !== bare) {
|
|
2960
|
+
out.valueLiteral = bare;
|
|
2961
|
+
}
|
|
2949
2962
|
} else if (cmd === "unit") {
|
|
2950
2963
|
out.unit = stripWrapping(t[i++]);
|
|
2951
2964
|
} else if (cmd === "kind" || cmd === "quantity_kind") {
|
|
2952
2965
|
out.quantityKind = stripWrapping(t[i++]);
|
|
2953
2966
|
} else if (cmd === "uncertainty") {
|
|
2954
|
-
|
|
2967
|
+
const rawTok = t[i++];
|
|
2968
|
+
out.uncertainty = coerceValueToken(rawTok);
|
|
2969
|
+
const bare = stripWrapping(rawTok);
|
|
2970
|
+
if (typeof out.uncertainty === "number" && String(out.uncertainty) !== bare) {
|
|
2971
|
+
out.uncertaintyLiteral = bare;
|
|
2972
|
+
}
|
|
2955
2973
|
} else if (cmd === "tolerance") {
|
|
2956
|
-
|
|
2974
|
+
const rawTok = t[i++];
|
|
2975
|
+
out.tolerance = coerceValueToken(rawTok);
|
|
2976
|
+
const bare = stripWrapping(rawTok);
|
|
2977
|
+
if (typeof out.tolerance === "number" && String(out.tolerance) !== bare) {
|
|
2978
|
+
out.toleranceLiteral = bare;
|
|
2979
|
+
}
|
|
2957
2980
|
} else if (cmd === "provenance") {
|
|
2958
2981
|
out.provenance = readProvenanceBlock(unwrapBlock(t[i++]));
|
|
2959
2982
|
} else {
|
|
@@ -3025,13 +3048,15 @@ function dumpScalarToken(v) {
|
|
|
3025
3048
|
}
|
|
3026
3049
|
function dumpQuantityValue(v) {
|
|
3027
3050
|
if (!needsQuantityBlock(v)) {
|
|
3028
|
-
const val = dumpScalarToken(v.value);
|
|
3051
|
+
const val = v.valueLiteral ?? dumpScalarToken(v.value);
|
|
3029
3052
|
return v.unit === void 0 ? val : val + " " + dumpBareSafe(v.unit);
|
|
3030
3053
|
}
|
|
3031
3054
|
return dumpQuantityBlock(v);
|
|
3032
3055
|
}
|
|
3033
3056
|
function dumpQuantityBlock(v) {
|
|
3034
|
-
const parts = [
|
|
3057
|
+
const parts = [
|
|
3058
|
+
"value " + (v.valueLiteral ?? dumpScalarToken(v.value))
|
|
3059
|
+
];
|
|
3035
3060
|
if (v.unit !== void 0) {
|
|
3036
3061
|
parts.push('unit "' + escapeString(v.unit) + '"');
|
|
3037
3062
|
}
|
|
@@ -3039,10 +3064,14 @@ function dumpQuantityBlock(v) {
|
|
|
3039
3064
|
parts.push("kind " + dumpBareSafe(v.quantityKind));
|
|
3040
3065
|
}
|
|
3041
3066
|
if (v.uncertainty !== void 0) {
|
|
3042
|
-
parts.push(
|
|
3067
|
+
parts.push(
|
|
3068
|
+
"uncertainty " + (v.uncertaintyLiteral ?? dumpScalarToken(v.uncertainty))
|
|
3069
|
+
);
|
|
3043
3070
|
}
|
|
3044
3071
|
if (v.tolerance !== void 0) {
|
|
3045
|
-
parts.push(
|
|
3072
|
+
parts.push(
|
|
3073
|
+
"tolerance " + (v.toleranceLiteral ?? dumpScalarToken(v.tolerance))
|
|
3074
|
+
);
|
|
3046
3075
|
}
|
|
3047
3076
|
if (v.provenance !== void 0) {
|
|
3048
3077
|
parts.push("provenance " + dumpProvenanceBlock(v.provenance));
|
|
@@ -3107,6 +3136,9 @@ function parseParamList(block, allowInitial = false) {
|
|
|
3107
3136
|
const [rawValue, rawUnit] = parts;
|
|
3108
3137
|
const value = coerceValueToken(rawValue);
|
|
3109
3138
|
const initial = rawUnit === void 0 ? { value } : { value, unit: stripWrapping(rawUnit) };
|
|
3139
|
+
if (typeof value === "number" && String(value) !== stripWrapping(rawValue)) {
|
|
3140
|
+
initial.valueLiteral = stripWrapping(rawValue);
|
|
3141
|
+
}
|
|
3110
3142
|
param.initial = initial;
|
|
3111
3143
|
}
|
|
3112
3144
|
}
|
|
@@ -10159,7 +10191,8 @@ var parseConformanceTest = function(id, data) {
|
|
|
10159
10191
|
const run = {
|
|
10160
10192
|
performedBy: "",
|
|
10161
10193
|
store: "",
|
|
10162
|
-
trajectory: ""
|
|
10194
|
+
trajectory: "",
|
|
10195
|
+
inputs: []
|
|
10163
10196
|
};
|
|
10164
10197
|
let ri = 0;
|
|
10165
10198
|
while (ri < rt.length) {
|
|
@@ -10181,6 +10214,8 @@ var parseConformanceTest = function(id, data) {
|
|
|
10181
10214
|
run.store = stripWrapping(rt[ri++]);
|
|
10182
10215
|
} else if (rk === "trajectory") {
|
|
10183
10216
|
run.trajectory = stripWrapping(rt[ri++]);
|
|
10217
|
+
} else if (rk === "inputs") {
|
|
10218
|
+
run.inputs = readStringList(rt[ri++]);
|
|
10184
10219
|
} else {
|
|
10185
10220
|
ri = skipUnknownValue(rt, ri, rk);
|
|
10186
10221
|
}
|
|
@@ -10498,6 +10533,9 @@ var dumpConformanceTest = function(ct) {
|
|
|
10498
10533
|
if (ct.run.trajectory) {
|
|
10499
10534
|
out += " trajectory " + ct.run.trajectory + "\n";
|
|
10500
10535
|
}
|
|
10536
|
+
if (ct.run.inputs.length > 0) {
|
|
10537
|
+
out += " inputs { " + ct.run.inputs.join(" ") + " }\n";
|
|
10538
|
+
}
|
|
10501
10539
|
out += " }\n";
|
|
10502
10540
|
}
|
|
10503
10541
|
if (ct.producesArtifacts && ct.producesArtifacts.length > 0) {
|
|
@@ -15314,7 +15352,8 @@ var conditionSetConstruct = {
|
|
|
15314
15352
|
field: "conditionSets",
|
|
15315
15353
|
takesID: true,
|
|
15316
15354
|
parse: parseConditionSet,
|
|
15317
|
-
dump: dumpConditionSet
|
|
15355
|
+
dump: dumpConditionSet,
|
|
15356
|
+
deprecated: "the severity/condition register is the legacy spelling \u2014 migrate to the typed table construct (typed columns, typed rows; the values that decide testing bind in limits via table:<id>.<column>); the legacy spelling keeps parsing as visible debt"
|
|
15318
15357
|
};
|
|
15319
15358
|
var subjectConstruct = {
|
|
15320
15359
|
keyword: "subject",
|
|
@@ -23591,7 +23630,7 @@ var CHECK_RULES = [
|
|
|
23591
23630
|
"coverage",
|
|
23592
23631
|
"error",
|
|
23593
23632
|
"normal",
|
|
23594
|
-
"the run facet of a conformance test declares the execution: the performer is in the closed vocabulary (laboratory | manufacturer), the store names a declared data_registry, the trajectory names a declared state_machine"
|
|
23633
|
+
"the run facet of a conformance test declares the execution: the performer is in the closed vocabulary (laboratory | manufacturer), the store names a declared data_registry, the trajectory names a declared state_machine, the applied inputs name the test\u2019s declared-source variables (a measured variable is an output, never an input)"
|
|
23595
23634
|
),
|
|
23596
23635
|
R(
|
|
23597
23636
|
"C181",
|
|
@@ -23601,6 +23640,14 @@ var CHECK_RULES = [
|
|
|
23601
23640
|
"normal",
|
|
23602
23641
|
"the run store registry and the record forms of the test agree on the data class \u2014 the output records and the store hold the same shape"
|
|
23603
23642
|
),
|
|
23643
|
+
R(
|
|
23644
|
+
"C182",
|
|
23645
|
+
"series-record-fields",
|
|
23646
|
+
"quantities",
|
|
23647
|
+
"error",
|
|
23648
|
+
"normal",
|
|
23649
|
+
"a series variable whose series declares a record form types its row members by that form\u2019s typed fields \u2014 a collection derivation\u2019s lambda members resolve against them, never kind-silent"
|
|
23650
|
+
),
|
|
23604
23651
|
R(
|
|
23605
23652
|
"C173",
|
|
23606
23653
|
"step-plane-refs-resolve",
|
|
@@ -27104,6 +27151,20 @@ function checkPackage(dir, options = {}) {
|
|
|
27104
27151
|
);
|
|
27105
27152
|
}
|
|
27106
27153
|
}
|
|
27154
|
+
for (const input of run.inputs ?? []) {
|
|
27155
|
+
const v = (t.variables ?? []).find((x) => x.name === input);
|
|
27156
|
+
if (!v) {
|
|
27157
|
+
err(
|
|
27158
|
+
"C180",
|
|
27159
|
+
`conformance test ${t.id}: run input "${input}" names no declared variable \u2014 the applied-input contract binds the test's own declarations (run-plane-shape)`
|
|
27160
|
+
);
|
|
27161
|
+
} else if (v.source !== "declared") {
|
|
27162
|
+
err(
|
|
27163
|
+
"C180",
|
|
27164
|
+
`conformance test ${t.id}: run input "${input}" is source ${v.source} \u2014 an applied input is declared by the author; a measured variable is an output of the run, never an input (run-plane-shape)`
|
|
27165
|
+
);
|
|
27166
|
+
}
|
|
27167
|
+
}
|
|
27107
27168
|
};
|
|
27108
27169
|
for (const t of standard.conformanceTests ?? []) {
|
|
27109
27170
|
const scope = (t.variables ?? []).map((v) => v.name);
|
|
@@ -29725,6 +29786,71 @@ function checkPackage(dir, options = {}) {
|
|
|
29725
29786
|
}
|
|
29726
29787
|
}
|
|
29727
29788
|
}
|
|
29789
|
+
{
|
|
29790
|
+
const recordFormFields = /* @__PURE__ */ new Map();
|
|
29791
|
+
for (const f of standard.forms ?? []) {
|
|
29792
|
+
recordFormFields.set(f.id, new Set((f.fields ?? []).map((x) => x.name)));
|
|
29793
|
+
}
|
|
29794
|
+
const walkMembers = (n, bound, out) => {
|
|
29795
|
+
if (n.type === "nav") {
|
|
29796
|
+
const inner = new Map(bound);
|
|
29797
|
+
inner.set(n.var, n.source);
|
|
29798
|
+
walkMembers(n.body, inner, out);
|
|
29799
|
+
return;
|
|
29800
|
+
}
|
|
29801
|
+
if (n.type === "name" && n.path.length > 0) {
|
|
29802
|
+
const parts = [...n.path[0].split("."), ...n.path.slice(1)];
|
|
29803
|
+
if (parts.length > 1) {
|
|
29804
|
+
const src = bound.get(parts[0]);
|
|
29805
|
+
if (src !== void 0) {
|
|
29806
|
+
out.push({ source: src, field: parts.slice(1).join(".") });
|
|
29807
|
+
}
|
|
29808
|
+
}
|
|
29809
|
+
return;
|
|
29810
|
+
}
|
|
29811
|
+
const kids = n.type === "call" ? n.args : n.type === "binop" ? [n.left, n.right] : n.type === "unop" ? [n.operand] : n.type === "ifelse" ? [n.cond, n.then, n.else] : [];
|
|
29812
|
+
for (const k of kids) {
|
|
29813
|
+
walkMembers(k, bound, out);
|
|
29814
|
+
}
|
|
29815
|
+
};
|
|
29816
|
+
for (const t of standard.conformanceTests ?? []) {
|
|
29817
|
+
for (const v of t.variables ?? []) {
|
|
29818
|
+
const rec = v.series?.record;
|
|
29819
|
+
if (!rec) {
|
|
29820
|
+
continue;
|
|
29821
|
+
}
|
|
29822
|
+
const fields = recordFormFields.get(rec);
|
|
29823
|
+
if (!fields) {
|
|
29824
|
+
err(
|
|
29825
|
+
"C182",
|
|
29826
|
+
`conformance test ${t.id}: variable "${v.name}" series record "${rec}" names no declared form \u2014 the row members type by the record form's fields (series-record-fields)`
|
|
29827
|
+
);
|
|
29828
|
+
continue;
|
|
29829
|
+
}
|
|
29830
|
+
if (!v.derivation) {
|
|
29831
|
+
continue;
|
|
29832
|
+
}
|
|
29833
|
+
let ast;
|
|
29834
|
+
try {
|
|
29835
|
+
ast = parseExpression(
|
|
29836
|
+
v.derivation.replace(/^ocl\{/, "").replace(/\}$/, "")
|
|
29837
|
+
);
|
|
29838
|
+
} catch {
|
|
29839
|
+
continue;
|
|
29840
|
+
}
|
|
29841
|
+
const members = [];
|
|
29842
|
+
walkMembers(ast, /* @__PURE__ */ new Map(), members);
|
|
29843
|
+
for (const m of members) {
|
|
29844
|
+
if (m.source === v.name && !fields.has(m.field)) {
|
|
29845
|
+
err(
|
|
29846
|
+
"C182",
|
|
29847
|
+
`conformance test ${t.id}: variable "${v.name}" derivation names "m.${m.field}" \u2014 the record form ${rec} declares no such field; the row members are its typed fields (series-record-fields)`
|
|
29848
|
+
);
|
|
29849
|
+
}
|
|
29850
|
+
}
|
|
29851
|
+
}
|
|
29852
|
+
}
|
|
29853
|
+
}
|
|
29728
29854
|
{
|
|
29729
29855
|
const KNOWN_CONTENT = new Set(PASSPORT_CONTENT_CLASSES);
|
|
29730
29856
|
const KNOWN_LEVELS = new Set(PASSPORT_UPI_LEVELS);
|
package/package.json
CHANGED