@cruba/crubal 0.1.0 → 0.2.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/README.md +30 -2
- package/dist/bin/crubal.js +70 -4
- package/dist/bin/crubal.js.map +1 -1
- package/dist/src/access.d.ts +126 -0
- package/dist/src/access.js +517 -0
- package/dist/src/access.js.map +1 -0
- package/dist/src/arrival.d.ts +55 -0
- package/dist/src/arrival.js +124 -0
- package/dist/src/arrival.js.map +1 -0
- package/dist/src/bundle.d.ts +66 -0
- package/dist/src/bundle.js +753 -0
- package/dist/src/bundle.js.map +1 -0
- package/dist/src/conditions.d.ts +7 -1
- package/dist/src/conditions.js +52 -11
- package/dist/src/conditions.js.map +1 -1
- package/dist/src/corpus.js +568 -34
- package/dist/src/corpus.js.map +1 -1
- package/dist/src/defs.d.ts +37 -2
- package/dist/src/defs.js +95 -14
- package/dist/src/defs.js.map +1 -1
- package/dist/src/dictionary.d.ts +15 -0
- package/dist/src/dictionary.js +72 -13
- package/dist/src/dictionary.js.map +1 -1
- package/dist/src/exchange.d.ts +202 -11
- package/dist/src/exchange.js +759 -45
- package/dist/src/exchange.js.map +1 -1
- package/dist/src/forms.d.ts +16 -0
- package/dist/src/forms.js +169 -0
- package/dist/src/forms.js.map +1 -0
- package/dist/src/index.d.ts +18 -6
- package/dist/src/index.js +17 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/lifecycle.d.ts +84 -0
- package/dist/src/lifecycle.js +415 -0
- package/dist/src/lifecycle.js.map +1 -0
- package/dist/src/log.d.ts +78 -0
- package/dist/src/log.js +506 -0
- package/dist/src/log.js.map +1 -0
- package/dist/src/migrate.d.ts +24 -1
- package/dist/src/migrate.js +104 -9
- package/dist/src/migrate.js.map +1 -1
- package/dist/src/model.d.ts +33 -1
- package/dist/src/model.js +158 -2
- package/dist/src/model.js.map +1 -1
- package/dist/src/packages.d.ts +44 -0
- package/dist/src/packages.js +137 -3
- package/dist/src/packages.js.map +1 -1
- package/dist/src/print-text.js +22 -0
- package/dist/src/print-text.js.map +1 -1
- package/dist/src/publish.d.ts +27 -0
- package/dist/src/publish.js +275 -0
- package/dist/src/publish.js.map +1 -0
- package/dist/src/read-text.d.ts +2 -0
- package/dist/src/read-text.js +72 -4
- package/dist/src/read-text.js.map +1 -1
- package/dist/src/records.d.ts +31 -0
- package/dist/src/records.js +72 -0
- package/dist/src/records.js.map +1 -0
- package/dist/src/review.d.ts +22 -0
- package/dist/src/review.js +198 -0
- package/dist/src/review.js.map +1 -0
- package/dist/src/rules.d.ts +34 -2
- package/dist/src/rules.js +147 -22
- package/dist/src/rules.js.map +1 -1
- package/dist/src/schedule.d.ts +24 -0
- package/dist/src/schedule.js +126 -0
- package/dist/src/schedule.js.map +1 -0
- package/dist/src/std-packages.d.ts +9 -0
- package/dist/src/std-packages.js +268 -0
- package/dist/src/std-packages.js.map +1 -0
- package/dist/src/store.d.ts +38 -7
- package/dist/src/store.js +166 -24
- package/dist/src/store.js.map +1 -1
- package/dist/src/tree.d.ts +3 -0
- package/dist/src/tree.js +36 -0
- package/dist/src/tree.js.map +1 -1
- package/dist/src/units-table.d.ts +1 -0
- package/dist/src/units-table.js +200 -0
- package/dist/src/units-table.js.map +1 -0
- package/dist/src/units.d.ts +42 -4
- package/dist/src/units.js +91 -30
- package/dist/src/units.js.map +1 -1
- package/dist/src/views.d.ts +108 -6
- package/dist/src/views.js +389 -64
- package/dist/src/views.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/src/read-text.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Dictionary, Facet } from "./defs.ts";
|
|
2
2
|
import { writeText } from "./lex.ts";
|
|
3
3
|
import { type Json, type Wrapper } from "./model.ts";
|
|
4
|
+
/** The language version this reader knows (11.8). */
|
|
5
|
+
export declare const LANGUAGE = 2;
|
|
4
6
|
/** Read CRUBAL data text into a border wrapper (spec chapter 3.8). */
|
|
5
7
|
export declare function readText(source: string, dict: Dictionary): Wrapper;
|
|
6
8
|
export { writeText };
|
package/dist/src/read-text.js
CHANGED
|
@@ -6,9 +6,11 @@ import {} from "./model.js";
|
|
|
6
6
|
import { itemText } from "./print-text.js";
|
|
7
7
|
const RESERVED_DETAIL = new Set(["row", "origin", "via", "owner"]);
|
|
8
8
|
const IMAGE_FIELDS = new Set(["sha256", "w", "h", "type"]);
|
|
9
|
-
const ENVELOPE = new Set(["crubal:wears", "crubal:parts", "crubal:kind", "crubal:owner", "crubal:created", "crubal:updated"]);
|
|
9
|
+
const ENVELOPE = new Set(["crubal:wears", "crubal:parts", "crubal:kind", "crubal:owner", "crubal:within", "crubal:status", "crubal:applied", "crubal:created", "crubal:updated"]);
|
|
10
10
|
const NUMBER = /^-?(0|[1-9]\d*)(\.\d+)?$/;
|
|
11
11
|
const ORIGINS = new Set(["observed", "declared", "derived", "reported"]);
|
|
12
|
+
/** The language version this reader knows (11.8). */
|
|
13
|
+
export const LANGUAGE = 2;
|
|
12
14
|
function sourceOf(detail, line) {
|
|
13
15
|
const get = (n) => detail.find(([k]) => k === n)?.[1].text;
|
|
14
16
|
const origin = get("origin");
|
|
@@ -43,7 +45,14 @@ function scalar(f, p) {
|
|
|
43
45
|
case "number": {
|
|
44
46
|
const unit = f.unit;
|
|
45
47
|
if (!unit)
|
|
46
|
-
return
|
|
48
|
+
return t;
|
|
49
|
+
// A bare decimal under a facet with a unit is that number in the facet's unit (1.4.3, 1.4.4); a facet
|
|
50
|
+
// taking any currency can't guess one, so a bare amount stays text and contradicts.
|
|
51
|
+
if (NUMBER.test(t)) {
|
|
52
|
+
if (unit === "currency")
|
|
53
|
+
return t;
|
|
54
|
+
return /^[A-Z]{3}$/.test(unit) ? { $money: t, currency: unit } : { $qty: t, unit };
|
|
55
|
+
}
|
|
47
56
|
const m = t.match(/^(-?(?:0|[1-9]\d*)(?:\.\d+)?) ?(\S+)$/);
|
|
48
57
|
if (m && (unit === "currency" || /^[A-Z]{3}$/.test(unit)) && /^[A-Z]{3}$/.test(m[2] ?? "")) {
|
|
49
58
|
return { $money: m[1], currency: m[2] };
|
|
@@ -62,6 +71,9 @@ function scalar(f, p) {
|
|
|
62
71
|
}
|
|
63
72
|
case "image":
|
|
64
73
|
return { $image: t };
|
|
74
|
+
case "date":
|
|
75
|
+
// Canonical form writes a zero offset as Z (1.4.5).
|
|
76
|
+
return /T\d{2}(:\d{2}){0,2}[+-]00:00$/.test(t) ? t.replace(/[+-]00:00$/, "Z") : t;
|
|
65
77
|
default:
|
|
66
78
|
return t;
|
|
67
79
|
}
|
|
@@ -96,6 +108,13 @@ function addressItem(key, f, item) {
|
|
|
96
108
|
}
|
|
97
109
|
/** Read a facet's value from its node: one value, a list, or a compound. */
|
|
98
110
|
function readValue(f, node, ctx, address) {
|
|
111
|
+
// A long-text block (2.4.1): the text as taken, with its detail from the `|` line.
|
|
112
|
+
if (node.block) {
|
|
113
|
+
if (f.type !== "text" || f.many)
|
|
114
|
+
throw new CrubalError(`a block holds one text value; ${f.key} is ${f.many ? "many-valued" : f.type}`, node.line);
|
|
115
|
+
const p = readPiece(node.detail ?? "", node.line);
|
|
116
|
+
return value(f, { text: node.value, quoted: true, detail: p.detail }, ctx, address, node.line);
|
|
117
|
+
}
|
|
99
118
|
const raw = node.value;
|
|
100
119
|
// An empty is the whole value (chapter 1.5).
|
|
101
120
|
if (raw && node.children.length === 0 && /^(_|-|n\/a|N\/A)( \[.*\])?$/.test(raw.trim())) {
|
|
@@ -146,7 +165,7 @@ function readFields(children, within, ctx, prefix) {
|
|
|
146
165
|
const f = within ? within.get(c.key) : ctx.dict.facets.get(c.key);
|
|
147
166
|
const address = prefix ? `${prefix}.${c.key}` : c.key;
|
|
148
167
|
if (!f) {
|
|
149
|
-
obj[c.key] = c.children.length ? `${c.value}\n${innerText(c)}` : c.value;
|
|
168
|
+
obj[c.key] = c.block ? c.value : c.children.length ? `${c.value}\n${innerText(c)}` : c.value;
|
|
150
169
|
continue;
|
|
151
170
|
}
|
|
152
171
|
const v = readValue(f, c, ctx, address);
|
|
@@ -223,11 +242,15 @@ function readParts(node, ctx) {
|
|
|
223
242
|
export function readText(source, dict) {
|
|
224
243
|
const nodes = readTree(source);
|
|
225
244
|
const wrapper = { crubal: "2", records: [] };
|
|
245
|
+
const lines = new Map();
|
|
226
246
|
let owner;
|
|
227
247
|
for (const node of nodes) {
|
|
228
248
|
if (node.kind !== "pair" || !node.key)
|
|
229
249
|
throw new CrubalError(`unexpected line: ${node.text}`, node.line);
|
|
230
250
|
if (node.key === "crubal") {
|
|
251
|
+
// A reader never reads above its language version (11.8): it refuses, naming the line.
|
|
252
|
+
if (!/^\d+$/.test(node.value.trim()) || Number(node.value) > LANGUAGE)
|
|
253
|
+
throw new CrubalError(`written in CRUBAL ${node.value}; this reader knows ${LANGUAGE}`, node.line);
|
|
231
254
|
wrapper.crubal = node.value;
|
|
232
255
|
continue;
|
|
233
256
|
}
|
|
@@ -242,7 +265,21 @@ export function readText(source, dict) {
|
|
|
242
265
|
const kind = dict.levels.get(node.key);
|
|
243
266
|
if (!kind)
|
|
244
267
|
throw new CrubalError(`an unknown top-level key ${node.key}`, node.line);
|
|
245
|
-
|
|
268
|
+
const rec = readRecord(node, kind, owner);
|
|
269
|
+
lines.set(rec.id, node.line);
|
|
270
|
+
wrapper.records.push(rec);
|
|
271
|
+
}
|
|
272
|
+
// `of` names a record of the same kind at the level directly above (1.2), when that record is in the file.
|
|
273
|
+
const byId = new Map(wrapper.records.map((r) => [r.id, r]));
|
|
274
|
+
for (const r of wrapper.records) {
|
|
275
|
+
const up = r.of ? byId.get(r.of) : undefined;
|
|
276
|
+
if (!up)
|
|
277
|
+
continue;
|
|
278
|
+
if (up.kind !== r.kind)
|
|
279
|
+
throw new CrubalError(`${r.id} is of ${up.id}, a ${up.kind}, not a ${r.kind}`, lines.get(r.id));
|
|
280
|
+
const levels = dict.kinds.get(r.kind)?.levels ?? [];
|
|
281
|
+
if (levels.indexOf(up.level) !== levels.indexOf(r.level) - 1)
|
|
282
|
+
throw new CrubalError(`${r.id} is of ${up.id} at ${up.level}, not the level directly above ${r.level}`, lines.get(r.id));
|
|
246
283
|
}
|
|
247
284
|
return wrapper;
|
|
248
285
|
function readRecord(node, kind, fileOwner) {
|
|
@@ -275,6 +312,31 @@ export function readText(source, dict) {
|
|
|
275
312
|
rec.parts = readParts(c, ctx);
|
|
276
313
|
else if (c.key === "crubal:owner")
|
|
277
314
|
rec.owner = c.value;
|
|
315
|
+
else if (c.key === "crubal:within")
|
|
316
|
+
rec.within = c.value.trim();
|
|
317
|
+
else if (c.key === "crubal:status") {
|
|
318
|
+
// `archived [reason: sold, into: P-9]`; `active` is the same as leaving the line out.
|
|
319
|
+
const p = readPiece(c.value, c.line);
|
|
320
|
+
if (p.text !== "active" && p.text !== "archived")
|
|
321
|
+
throw new CrubalError(`a status is active or archived, not ${p.text}`, c.line);
|
|
322
|
+
if (p.text === "archived") {
|
|
323
|
+
const get = (n) => p.detail.find(([k]) => k === n)?.[1].text;
|
|
324
|
+
rec.status = { state: "archived" };
|
|
325
|
+
const reason = get("reason");
|
|
326
|
+
const into = get("into");
|
|
327
|
+
if (reason)
|
|
328
|
+
rec.status.reason = reason;
|
|
329
|
+
if (into)
|
|
330
|
+
rec.status.into = into;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
else if (c.key === "crubal:applied") {
|
|
334
|
+
// `[P-4QX7: 2, class:OpticalDisc/2026-11-01: 1]`: each issuer and the last instruction applied.
|
|
335
|
+
const p = readPiece(c.value, c.line);
|
|
336
|
+
if (p.text !== "" || !p.detail.length)
|
|
337
|
+
throw new CrubalError(`applied is "[issuer: n, …]", not ${c.value}`, c.line);
|
|
338
|
+
rec.applied = Object.fromEntries(p.detail.map(([k, v]) => [k, Number(v.text)]));
|
|
339
|
+
}
|
|
278
340
|
else if (c.key === "crubal:created")
|
|
279
341
|
rec.created = c.value;
|
|
280
342
|
else if (c.key === "crubal:updated")
|
|
@@ -295,6 +357,12 @@ function orderRecord(r) {
|
|
|
295
357
|
if (r.of)
|
|
296
358
|
o.of = r.of;
|
|
297
359
|
o.owner = r.owner;
|
|
360
|
+
if (r.within)
|
|
361
|
+
o.within = r.within;
|
|
362
|
+
if (r.status)
|
|
363
|
+
o.status = r.status;
|
|
364
|
+
if (r.applied)
|
|
365
|
+
o.applied = r.applied;
|
|
298
366
|
if (r.wears)
|
|
299
367
|
o.wears = r.wears;
|
|
300
368
|
if (r.created)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-text.js","sourceRoot":"","sources":["../../src/read-text.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"read-text.js","sourceRoot":"","sources":["../../src/read-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Json, Record } from "./model.ts";
|
|
2
|
+
export interface RecordSet extends Map<string, Record> {
|
|
3
|
+
/** Every record (an integrity check or a view over everything; a backend may answer in pages). */
|
|
4
|
+
all(): Record[];
|
|
5
|
+
/** The records at a level (1.2). */
|
|
6
|
+
atLevel(level: string): Record[];
|
|
7
|
+
/** The records whose `of` or `within` names the record, at a level when one is given. */
|
|
8
|
+
childrenOf(id: string, along: "of" | "within", level?: string): Record[];
|
|
9
|
+
/** The records a `for` names: wearers of a class, records at a level, or records of a kind (6.1, 7.2). */
|
|
10
|
+
forTarget(name: string): Record[];
|
|
11
|
+
/** The records at a level whose value for a key equals the value (6.6, 9.2a). */
|
|
12
|
+
byKey(key: string, value: Json, level?: string): Record[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The memory set: a map, with every question answered from it. Children and levels are indexed on first
|
|
16
|
+
* use and dropped on any change, so a projection over a catalog never scans the whole map per record.
|
|
17
|
+
*/
|
|
18
|
+
export declare class MemoryRecords extends Map<string, Record> implements RecordSet {
|
|
19
|
+
private byOf?;
|
|
20
|
+
private byWithin?;
|
|
21
|
+
private byLevel?;
|
|
22
|
+
set(id: string, r: Record): this;
|
|
23
|
+
delete(id: string): boolean;
|
|
24
|
+
clear(): void;
|
|
25
|
+
private index;
|
|
26
|
+
all(): Record[];
|
|
27
|
+
atLevel(level: string): Record[];
|
|
28
|
+
childrenOf(id: string, along: "of" | "within", level?: string): Record[];
|
|
29
|
+
forTarget(name: string): Record[];
|
|
30
|
+
byKey(key: string, value: Json, level?: string): Record[];
|
|
31
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// records.ts: the set of records an operation works over, behind one interface (docs/design/store.md).
|
|
2
|
+
// The engine reads records by ID and asks a few questions that a database answers with an index and a
|
|
3
|
+
// memory store answers by a scan: the records at a level, the children of a record along `of` or
|
|
4
|
+
// `within`, the records a contract or view targets, and the records holding a value for a key. Nothing in
|
|
5
|
+
// the engine scans a map directly, so a backend that loads only what an operation needs can stand in for
|
|
6
|
+
// the memory set without the engine knowing.
|
|
7
|
+
import { serialize } from "./canonical.js";
|
|
8
|
+
/**
|
|
9
|
+
* The memory set: a map, with every question answered from it. Children and levels are indexed on first
|
|
10
|
+
* use and dropped on any change, so a projection over a catalog never scans the whole map per record.
|
|
11
|
+
*/
|
|
12
|
+
export class MemoryRecords extends Map {
|
|
13
|
+
byOf;
|
|
14
|
+
byWithin;
|
|
15
|
+
byLevel;
|
|
16
|
+
set(id, r) {
|
|
17
|
+
this.byOf = this.byWithin = this.byLevel = undefined;
|
|
18
|
+
return super.set(id, r);
|
|
19
|
+
}
|
|
20
|
+
delete(id) {
|
|
21
|
+
this.byOf = this.byWithin = this.byLevel = undefined;
|
|
22
|
+
return super.delete(id);
|
|
23
|
+
}
|
|
24
|
+
clear() {
|
|
25
|
+
this.byOf = this.byWithin = this.byLevel = undefined;
|
|
26
|
+
super.clear();
|
|
27
|
+
}
|
|
28
|
+
index(by) {
|
|
29
|
+
const have = by === "of" ? this.byOf : by === "within" ? this.byWithin : this.byLevel;
|
|
30
|
+
if (have)
|
|
31
|
+
return have;
|
|
32
|
+
const m = new Map();
|
|
33
|
+
for (const r of this.values()) {
|
|
34
|
+
const k = r[by];
|
|
35
|
+
if (k === undefined)
|
|
36
|
+
continue;
|
|
37
|
+
const list = m.get(k);
|
|
38
|
+
if (list)
|
|
39
|
+
list.push(r);
|
|
40
|
+
else
|
|
41
|
+
m.set(k, [r]);
|
|
42
|
+
}
|
|
43
|
+
if (by === "of")
|
|
44
|
+
this.byOf = m;
|
|
45
|
+
else if (by === "within")
|
|
46
|
+
this.byWithin = m;
|
|
47
|
+
else
|
|
48
|
+
this.byLevel = m;
|
|
49
|
+
return m;
|
|
50
|
+
}
|
|
51
|
+
all() {
|
|
52
|
+
return [...this.values()];
|
|
53
|
+
}
|
|
54
|
+
atLevel(level) {
|
|
55
|
+
return [...(this.index("level").get(level) ?? [])];
|
|
56
|
+
}
|
|
57
|
+
childrenOf(id, along, level) {
|
|
58
|
+
const list = this.index(along).get(id) ?? [];
|
|
59
|
+
return level === undefined ? [...list] : list.filter((r) => r.level === level);
|
|
60
|
+
}
|
|
61
|
+
// Scans read the map's own rows, never `all()`: a working set (crubal-postgres) notes the narrow question
|
|
62
|
+
// it was asked and answers it from the rows it loaded for it; going through `all()` would ask for every
|
|
63
|
+
// record of the catalog on each `is unique` check.
|
|
64
|
+
forTarget(name) {
|
|
65
|
+
return [...this.values()].filter((r) => (r.wears ?? []).includes(name) || r.level === name || r.kind === name);
|
|
66
|
+
}
|
|
67
|
+
byKey(key, value, level) {
|
|
68
|
+
const want = serialize(value);
|
|
69
|
+
return [...this.values()].filter((r) => (level === undefined || r.level === level) && r.values[key] !== undefined && serialize(r.values[key]) === want);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Dictionary } from "./defs.ts";
|
|
2
|
+
import { type Store } from "./lifecycle.ts";
|
|
3
|
+
import type { JsonObject } from "./model.ts";
|
|
4
|
+
import type { Contract } from "./store.ts";
|
|
5
|
+
export type Decision = JsonObject & {
|
|
6
|
+
key: string;
|
|
7
|
+
decision: string;
|
|
8
|
+
};
|
|
9
|
+
export type Definitions = {
|
|
10
|
+
dict: Dictionary;
|
|
11
|
+
contracts: Map<string, Contract>;
|
|
12
|
+
units?: JsonObject[];
|
|
13
|
+
};
|
|
14
|
+
/** The units extension as text, for the units table (11.9). */
|
|
15
|
+
export declare function unitsExtensionText(measures: JsonObject[]): string;
|
|
16
|
+
/**
|
|
17
|
+
* Apply a decision to the draft and return the writes the entry carries beyond what the draft shows:
|
|
18
|
+
* the review write and any define. Throws a CrubalError for a decision that can't be made.
|
|
19
|
+
*/
|
|
20
|
+
export declare function decide(d: Decision, store: Store, defs: Definitions): JsonObject[];
|
|
21
|
+
/** The review items still open: every item without a decision that no later decision names. */
|
|
22
|
+
export declare function openItems(items: JsonObject[]): JsonObject[];
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
// review.ts: review decisions as writes (spec 9.5, 10.4, 11.9, 14.7; docs/design/completion.md A). A
|
|
2
|
+
// decision is one entry: the `review` write that records it, and the writes it causes: a `define` of the
|
|
3
|
+
// facet, contract or units extension it changed, a value made current from a suggestion or a held bag, a
|
|
4
|
+
// suggestion denied. Nothing here replays or runs; a store does that after the entry lands.
|
|
5
|
+
import { contractJson } from "./bundle.js";
|
|
6
|
+
import { facetJson } from "./dictionary.js";
|
|
7
|
+
import { split } from "./lifecycle.js";
|
|
8
|
+
import { CrubalError } from "./tree.js";
|
|
9
|
+
import { extendUnits } from "./units.js";
|
|
10
|
+
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
11
|
+
/** The units extension as text, for the units table (11.9). */
|
|
12
|
+
export function unitsExtensionText(measures) {
|
|
13
|
+
return measures
|
|
14
|
+
.map((m) => {
|
|
15
|
+
const lines = [`measure: ${m.measure}`];
|
|
16
|
+
for (const k of ["dimension", "factor", "offset", "rounding", "uncefact"])
|
|
17
|
+
if (m[k] !== undefined)
|
|
18
|
+
lines.push(` ${k}: ${m[k]}`);
|
|
19
|
+
if (Array.isArray(m.spellings) && m.spellings.length)
|
|
20
|
+
lines.push(` spellings: ${m.spellings.join(", ")}`);
|
|
21
|
+
return lines.join("\n");
|
|
22
|
+
})
|
|
23
|
+
.join("\n");
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Apply a decision to the draft and return the writes the entry carries beyond what the draft shows:
|
|
27
|
+
* the review write and any define. Throws a CrubalError for a decision that can't be made.
|
|
28
|
+
*/
|
|
29
|
+
export function decide(d, store, defs) {
|
|
30
|
+
const review = { ...d };
|
|
31
|
+
const key = d.key;
|
|
32
|
+
if (key.startsWith("facet:")) {
|
|
33
|
+
const f = defs.dict.facets.get(key.slice(6));
|
|
34
|
+
if (!f)
|
|
35
|
+
throw new CrubalError(`${key}: no such facet`);
|
|
36
|
+
const next = { ...f, values: f.values ? f.values.map((v) => ({ ...v, aliases: [...v.aliases] })) : f.values, aliases: [...f.aliases] };
|
|
37
|
+
if (d.decision === "add value") {
|
|
38
|
+
if (!next.values)
|
|
39
|
+
throw new CrubalError(`${key} isn't a choice`);
|
|
40
|
+
if (next.values.some((v) => v.value === d.value))
|
|
41
|
+
throw new CrubalError(`${d.value} is already a value of ${f.key}`);
|
|
42
|
+
next.values.push({ value: String(d.value), aliases: [] });
|
|
43
|
+
}
|
|
44
|
+
else if (d.decision === "add alias") {
|
|
45
|
+
if (!next.values)
|
|
46
|
+
throw new CrubalError(`${key} isn't a choice`);
|
|
47
|
+
const v = next.values.find((x) => x.value === d.value);
|
|
48
|
+
if (!v)
|
|
49
|
+
throw new CrubalError(`${d.value} is not a value of ${f.key}`);
|
|
50
|
+
v.aliases.push(String(d.alias));
|
|
51
|
+
}
|
|
52
|
+
else if (d.decision !== "reject")
|
|
53
|
+
throw new CrubalError(`${key}: ${d.decision} isn't a decision`);
|
|
54
|
+
if (d.decision === "reject")
|
|
55
|
+
return [{ review }];
|
|
56
|
+
defs.dict.facets.set(f.key, next);
|
|
57
|
+
return [{ review }, { define: facetJson(next) }];
|
|
58
|
+
}
|
|
59
|
+
if (key.startsWith("contract:")) {
|
|
60
|
+
const c = defs.contracts.get(key.slice(9));
|
|
61
|
+
if (!c)
|
|
62
|
+
throw new CrubalError(`${key}: no such contract`);
|
|
63
|
+
const next = { ...c, reads: c.reads.map((m) => ({ ...m, values: [...m.values] })), ignore: [...c.ignore] };
|
|
64
|
+
const field = String(d.field);
|
|
65
|
+
if (d.decision === "map") {
|
|
66
|
+
if (!defs.dict.facets.has(String(d.to)) && !String(d.to).includes(":"))
|
|
67
|
+
throw new CrubalError(`${d.to} isn't a facet`);
|
|
68
|
+
next.reads.push({ from: field, to: String(d.to), values: [], line: c.line, valueLines: [] });
|
|
69
|
+
}
|
|
70
|
+
else if (d.decision === "map value") {
|
|
71
|
+
const m = next.reads.find((x) => x.from === field);
|
|
72
|
+
if (!m)
|
|
73
|
+
throw new CrubalError(`${c.name} doesn't read ${field}`);
|
|
74
|
+
m.values.push([String(d.theirs), String(d.ours)]);
|
|
75
|
+
}
|
|
76
|
+
else if (d.decision === "ignore")
|
|
77
|
+
next.ignore.push(field);
|
|
78
|
+
else
|
|
79
|
+
throw new CrubalError(`${key}: ${d.decision} isn't a decision`);
|
|
80
|
+
defs.contracts.set(c.name, next);
|
|
81
|
+
return [{ review }, { define: contractJson(next) }];
|
|
82
|
+
}
|
|
83
|
+
if (key.startsWith("unit:")) {
|
|
84
|
+
const spelling = key.slice(5);
|
|
85
|
+
const measures = [...(defs.units ?? [])];
|
|
86
|
+
if (d.decision === "alias") {
|
|
87
|
+
const have = measures.find((m) => m.measure === d.unit);
|
|
88
|
+
if (have)
|
|
89
|
+
have.spellings = [...(have.spellings ?? []), spelling];
|
|
90
|
+
else
|
|
91
|
+
measures.push({ measure: String(d.unit), spellings: [spelling] });
|
|
92
|
+
}
|
|
93
|
+
else if (d.decision === "new unit") {
|
|
94
|
+
const m = { measure: String(d.unit), dimension: String(d.dimension), factor: String(d.factor), spellings: [spelling] };
|
|
95
|
+
if (d.offset !== undefined)
|
|
96
|
+
m.offset = String(d.offset);
|
|
97
|
+
measures.push(m);
|
|
98
|
+
}
|
|
99
|
+
else if (d.decision === "not a unit")
|
|
100
|
+
return [{ review }];
|
|
101
|
+
else
|
|
102
|
+
throw new CrubalError(`${key}: ${d.decision} isn't a decision`);
|
|
103
|
+
defs.units = measures;
|
|
104
|
+
extendUnits(unitsExtensionText(measures));
|
|
105
|
+
const writes = [{ review }, { define: { units: "extension", measures } }];
|
|
106
|
+
// The facets that accept the unit from now on (4.2 `accepts`), each a define of its own.
|
|
107
|
+
for (const key of Array.isArray(d.accepts) ? d.accepts : []) {
|
|
108
|
+
const f = defs.dict.facets.get(key);
|
|
109
|
+
if (!f)
|
|
110
|
+
throw new CrubalError(`${key} isn't a facet`);
|
|
111
|
+
if (!f.unit)
|
|
112
|
+
throw new CrubalError(`${key} has no unit to accept ${d.unit} into`);
|
|
113
|
+
const unit = String(d.unit);
|
|
114
|
+
if (f.accepts.includes(unit))
|
|
115
|
+
continue;
|
|
116
|
+
const next = { ...f, accepts: [...f.accepts, unit] };
|
|
117
|
+
defs.dict.facets.set(key, next);
|
|
118
|
+
writes.push({ define: facetJson(next) });
|
|
119
|
+
}
|
|
120
|
+
return writes;
|
|
121
|
+
}
|
|
122
|
+
if (key === "suggestion") {
|
|
123
|
+
const r = store.records.get(String(d.record));
|
|
124
|
+
if (!r)
|
|
125
|
+
throw new CrubalError(`no record ${d.record}`);
|
|
126
|
+
const address = String(d.address);
|
|
127
|
+
const list = r.suggestions?.[address] ?? [];
|
|
128
|
+
const pick = d.value === undefined ? list[0] : list.find((s) => JSON.stringify(s.value) === JSON.stringify(d.value));
|
|
129
|
+
if (!pick)
|
|
130
|
+
throw new CrubalError(`${r.id} has no suggestion at ${address}${d.value !== undefined ? ` with that value` : ""}`);
|
|
131
|
+
const rest = list.filter((s) => s !== pick);
|
|
132
|
+
const suggestions = { ...(r.suggestions ?? {}) };
|
|
133
|
+
if (rest.length)
|
|
134
|
+
suggestions[address] = rest;
|
|
135
|
+
else
|
|
136
|
+
delete suggestions[address];
|
|
137
|
+
const next = { ...r, suggestions };
|
|
138
|
+
if (!Object.keys(suggestions).length)
|
|
139
|
+
delete next.suggestions;
|
|
140
|
+
if (d.decision === "accept") {
|
|
141
|
+
// The value with its original source (14.7).
|
|
142
|
+
const source = { origin: String(pick.origin ?? "reported"), via: String(pick.via ?? "") };
|
|
143
|
+
if (typeof pick.owner === "string")
|
|
144
|
+
source.owner = pick.owner;
|
|
145
|
+
next.values = { ...r.values, [address]: pick.value };
|
|
146
|
+
next.sources = { ...(r.sources ?? {}), [address]: source };
|
|
147
|
+
}
|
|
148
|
+
else if (d.decision !== "deny")
|
|
149
|
+
throw new CrubalError(`suggestion: ${d.decision} isn't a decision`);
|
|
150
|
+
store.records.set(r.id, next);
|
|
151
|
+
return [{ review: { ...review, value: pick.value, ...(d.decision === "deny" ? { denied: true } : {}) } }];
|
|
152
|
+
}
|
|
153
|
+
if (key === "held") {
|
|
154
|
+
const r = store.records.get(String(d.record));
|
|
155
|
+
if (!r)
|
|
156
|
+
throw new CrubalError(`no record ${d.record}`);
|
|
157
|
+
const address = String(d.address);
|
|
158
|
+
const h = r.held?.[address];
|
|
159
|
+
if (!h)
|
|
160
|
+
throw new CrubalError(`${r.id} holds nothing at ${address}`);
|
|
161
|
+
const held = { ...(r.held ?? {}) };
|
|
162
|
+
delete held[address];
|
|
163
|
+
const next = { ...r, held };
|
|
164
|
+
if (!Object.keys(held).length)
|
|
165
|
+
delete next.held;
|
|
166
|
+
if (d.decision === "value") {
|
|
167
|
+
const value = d.value === undefined ? h.value : d.value;
|
|
168
|
+
next.values = { ...r.values, [address]: value };
|
|
169
|
+
next.sources = { ...(r.sources ?? {}), [address]: (isObj(h.source) ? h.source : { origin: "declared", via: "review" }) };
|
|
170
|
+
}
|
|
171
|
+
else if (d.decision !== "drop")
|
|
172
|
+
throw new CrubalError(`held: ${d.decision} isn't a decision`);
|
|
173
|
+
store.records.set(r.id, next);
|
|
174
|
+
return [{ review }];
|
|
175
|
+
}
|
|
176
|
+
if (key.startsWith("split:")) {
|
|
177
|
+
const record = key.slice(6);
|
|
178
|
+
// The decision closes the item it answers: the same record, address and value (openItems).
|
|
179
|
+
if (review.record === undefined)
|
|
180
|
+
review.record = record;
|
|
181
|
+
if (d.decision === "not a version")
|
|
182
|
+
return [{ review }];
|
|
183
|
+
if (d.decision !== "split")
|
|
184
|
+
throw new CrubalError(`${key}: ${d.decision} isn't a decision`);
|
|
185
|
+
const instances = Array.isArray(d.instances) ? d.instances : [];
|
|
186
|
+
const values = typeof d.address === "string" && d.value !== undefined ? { [d.address]: d.value } : {};
|
|
187
|
+
split(store, record, String(d.into), { children: instances, values }, { origin: "observed", via: String(d.via ?? "review") });
|
|
188
|
+
return [{ review }];
|
|
189
|
+
}
|
|
190
|
+
throw new CrubalError(`${key}: not a review item kind a decision applies to here`);
|
|
191
|
+
}
|
|
192
|
+
/** The review items still open: every item without a decision that no later decision names. */
|
|
193
|
+
export function openItems(items) {
|
|
194
|
+
const identity = (it) => JSON.stringify(["key", "record", "address", "run", "ref", "field", "value", "step"].map((k) => it[k] ?? null));
|
|
195
|
+
const decided = new Set(items.filter((it) => it.decision !== undefined).map(identity));
|
|
196
|
+
return items.filter((it) => it.decision === undefined && !decided.has(identity(it)));
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=review.js.map
|