@bjornpagen/bumbledb 0.3.0 → 0.5.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/COOKBOOK.md +246 -92
- package/README.md +31 -16
- package/dist/closed.d.ts +80 -75
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +102 -127
- package/dist/closed.js.map +1 -1
- package/dist/db.d.ts +37 -7
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +95 -55
- package/dist/db.js.map +1 -1
- package/dist/exhume.d.ts.map +1 -1
- package/dist/exhume.js +1 -14
- package/dist/exhume.js.map +1 -1
- package/dist/face.d.ts +40 -40
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +9 -17
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +46 -15
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +58 -29
- package/dist/fields.js.map +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/law.d.ts +2 -1
- package/dist/law.d.ts.map +1 -1
- package/dist/law.js +15 -14
- package/dist/law.js.map +1 -1
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +1 -7
- package/dist/lower.js.map +1 -1
- package/dist/marshal.d.ts +33 -6
- package/dist/marshal.d.ts.map +1 -1
- package/dist/marshal.js +75 -26
- package/dist/marshal.js.map +1 -1
- package/dist/native.d.ts +21 -2
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +20 -3
- package/dist/native.js.map +1 -1
- package/dist/order.d.ts +36 -0
- package/dist/order.d.ts.map +1 -0
- package/dist/order.js +135 -0
- package/dist/order.js.map +1 -0
- package/dist/query/atom.d.ts +76 -28
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +12 -16
- package/dist/query/atom.js.map +1 -1
- package/dist/query/lower.d.ts +5 -8
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +308 -72
- package/dist/query/lower.js.map +1 -1
- package/dist/query/predicate.d.ts.map +1 -1
- package/dist/query/predicate.js +34 -2
- package/dist/query/predicate.js.map +1 -1
- package/dist/query/run.d.ts +15 -5
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +27 -8
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +37 -29
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +19 -47
- package/dist/query/scope.js.map +1 -1
- package/dist/relation.d.ts +17 -29
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +41 -38
- package/dist/relation.js.map +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +7 -31
- package/dist/schema.js.map +1 -1
- package/dist/spec.d.ts +3 -2
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/statements.d.ts +13 -4
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +75 -8
- package/dist/statements.js.map +1 -1
- package/package.json +2 -5
- package/src/closed.ts +144 -206
- package/src/db.ts +143 -68
- package/src/exhume.ts +1 -15
- package/src/face.ts +38 -48
- package/src/fields.ts +103 -49
- package/src/index.ts +11 -10
- package/src/law.ts +15 -14
- package/src/lower.ts +2 -9
- package/src/marshal.ts +82 -31
- package/src/native.ts +22 -4
- package/src/order.ts +156 -0
- package/src/query/atom.ts +70 -35
- package/src/query/lower.ts +354 -82
- package/src/query/predicate.ts +39 -4
- package/src/query/run.ts +27 -9
- package/src/query/scope.ts +52 -70
- package/src/relation.ts +54 -68
- package/src/schema.ts +7 -33
- package/src/spec.ts +3 -2
- package/src/statements.ts +82 -8
package/dist/lower.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../src/lower.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../src/lower.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAGX,YAAY,EACZ,UAAU,EAIV,MAAM,UAAU,CAAA;AAoFjB;;;;;;GAMG;AACH,iBAAS,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,GAAG,YAAY,CAKpF;AAED;;;;;;;;;GASG;AACH,iBAAS,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,YAAY,CAQ9E;AAKD;;;;;;;GAOG;AACH,iBAAS,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAS5C;AAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,CAAA"}
|
package/dist/lower.js
CHANGED
|
@@ -7,13 +7,7 @@
|
|
|
7
7
|
* declaration order throughout, and every output object is built with one
|
|
8
8
|
* fixed key order, so serialization is deterministic (byte-stable).
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
* The relation-kind discriminant: a closed relation's runtime description
|
|
12
|
-
* carries its handle roster, an ordinary relation's never does.
|
|
13
|
-
*/
|
|
14
|
-
function isClosedMember(member) {
|
|
15
|
-
return "handles" in member.data;
|
|
16
|
-
}
|
|
10
|
+
import { isClosedMember } from "#closed.ts";
|
|
17
11
|
/**
|
|
18
12
|
* Lowers one field descriptor's structural type to the wire
|
|
19
13
|
* {@link ValueTypeSpec}: the S1 kind tags map 1:1 onto the `ValueType`
|
package/dist/lower.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lower.js","sourceRoot":"","sources":["../src/lower.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"lower.js","sourceRoot":"","sources":["../src/lower.ts"],"names":[],"mappings":"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"}
|
package/dist/marshal.d.ts
CHANGED
|
@@ -13,8 +13,20 @@
|
|
|
13
13
|
* the engine admitted IS a legal fact of its relation (the same trust
|
|
14
14
|
* direction as Rust's typed readback). Shape mismatches here are genuine
|
|
15
15
|
* failures and THROW typed; they are never domain data.
|
|
16
|
+
*
|
|
17
|
+
* THE CLOSED BIJECTION (0.4.0): a closed-referencing cell crosses this
|
|
18
|
+
* boundary as its handle NAME — the write side lowers name → u64 row id
|
|
19
|
+
* (declaration order = row ids, the sealed roster's own law, ≤ 256 rows),
|
|
20
|
+
* the read side lifts id → name, and both directions are total and static
|
|
21
|
+
* over the roster. An unknown name is a pointed THROW at the write seam —
|
|
22
|
+
* a deliberate UPGRADE over 0.3.0, where any bigint sailed through the
|
|
23
|
+
* marshal to a commit-time containment violation; the wrong spelling now
|
|
24
|
+
* dies here, before the engine ever sees the row. An out-of-roster id on
|
|
25
|
+
* the read side (reachable only in a store whose closed-typed column was
|
|
26
|
+
* never pinned by its containment law) is equally pointed — never a
|
|
27
|
+
* silent fallback, never `undefined`.
|
|
16
28
|
*/
|
|
17
|
-
import type { AnyField } from "#fields.ts";
|
|
29
|
+
import type { AnyField, ClosedRoster } from "#fields.ts";
|
|
18
30
|
import type { FactValue } from "#native.ts";
|
|
19
31
|
import type { AnyRelation, Fact, FreshKeys, RelationData } from "#relation.ts";
|
|
20
32
|
/**
|
|
@@ -54,12 +66,25 @@ type KeyFact<R extends AnyRelation> = [FreshKeys<R>] extends [never] ? Partial<F
|
|
|
54
66
|
* signature) enter the name-directed marshaling below, without a cast.
|
|
55
67
|
*/
|
|
56
68
|
declare function recordOf(fact: object): Record<string, unknown>;
|
|
69
|
+
/**
|
|
70
|
+
* The read half of the closed bijection: one u64 row id back to its handle
|
|
71
|
+
* NAME (`Number(cell)` is safe — the sealed extension holds at most 256
|
|
72
|
+
* rows, engine law). An id outside the roster THROWS pointed, never a
|
|
73
|
+
* silent fallback and never `undefined`: the state is reachable only in a
|
|
74
|
+
* store whose closed-typed column was never pinned by its containment law,
|
|
75
|
+
* and the error names that missing piece.
|
|
76
|
+
*/
|
|
77
|
+
declare function handleOf(context: string, closed: ClosedRoster, cell: FactValue): string;
|
|
57
78
|
/**
|
|
58
79
|
* Marshals one host cell at its field position to the natural wire value,
|
|
59
80
|
* schema-directed by the field descriptor's structural kind (never
|
|
60
|
-
* guessed).
|
|
61
|
-
*
|
|
62
|
-
*
|
|
81
|
+
* guessed). A closed-referencing cell arrives as its handle NAME and
|
|
82
|
+
* lowers through {@link closedCellOf} — the arm precedes the switch
|
|
83
|
+
* because a closed reference is structurally a u64 descriptor plus the
|
|
84
|
+
* roster (the same precedence `Infer` pins at the type level). Everything
|
|
85
|
+
* else is bare, so the runtime values ARE the wire's natural JS values;
|
|
86
|
+
* widths and domain labels are the engine's own judgment at the write
|
|
87
|
+
* boundary.
|
|
63
88
|
*/
|
|
64
89
|
declare function cellOf(context: string, field: AnyField, value: unknown): FactValue;
|
|
65
90
|
/**
|
|
@@ -86,9 +111,11 @@ declare function isMintedFresh<R extends AnyRelation>(relation: R, minted: Reado
|
|
|
86
111
|
/**
|
|
87
112
|
* Unmarshals one positional row to the relation's named, frozen fact object
|
|
88
113
|
* of bare structural values — the inverse of {@link rowOf},
|
|
89
|
-
* ordinal-directed by the same declaration order.
|
|
114
|
+
* ordinal-directed by the same declaration order. Closed-referencing cells
|
|
115
|
+
* lift id → handle NAME through {@link handleOf} (the read half of the
|
|
116
|
+
* bijection), so every fact a user sees speaks the roster's vocabulary.
|
|
90
117
|
*/
|
|
91
118
|
declare function factOf<R extends AnyRelation>(relation: R, row: readonly FactValue[]): Fact<R>;
|
|
92
119
|
export type { KeyFact, Minted };
|
|
93
|
-
export { cellOf, factOf, isFreshField, isMintedFresh, keyRowOf, recordOf, rowOf };
|
|
120
|
+
export { cellOf, factOf, handleOf, isFreshField, isMintedFresh, keyRowOf, recordOf, rowOf };
|
|
94
121
|
//# sourceMappingURL=marshal.d.ts.map
|
package/dist/marshal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["../src/marshal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["../src/marshal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE9E;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAE9C;AAED;;;;GAIG;AACH,KAAK,MAAM,CAAC,CAAC,SAAS,WAAW,IAAI;KAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAExE;;;;;;;;;;;;GAYG;AACH,KAAK,OAAO,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAChB;KAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEtC;;;;GAIG;AACH,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEvD;AAqBD;;;;;;;GAOG;AACH,iBAAS,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAWhF;AAED;;;;;;;;;;GAUG;AACH,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAmD3E;AAED;;;;;GAKG;AACH,iBAAS,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAQ3F;AAED;;;;;GAKG;AACH,iBAAS,QAAQ,CAChB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACpC,SAAS,EAAE,CAgBb;AAiBD;;;;;GAKG;AACH,iBAAS,aAAa,CAAC,CAAC,SAAS,WAAW,EAC3C,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GACzC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAI3D;AAED;;;;;;GAMG;AACH,iBAAS,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAsBtF;AAED,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA"}
|
package/dist/marshal.js
CHANGED
|
@@ -13,8 +13,21 @@
|
|
|
13
13
|
* the engine admitted IS a legal fact of its relation (the same trust
|
|
14
14
|
* direction as Rust's typed readback). Shape mismatches here are genuine
|
|
15
15
|
* failures and THROW typed; they are never domain data.
|
|
16
|
+
*
|
|
17
|
+
* THE CLOSED BIJECTION (0.4.0): a closed-referencing cell crosses this
|
|
18
|
+
* boundary as its handle NAME — the write side lowers name → u64 row id
|
|
19
|
+
* (declaration order = row ids, the sealed roster's own law, ≤ 256 rows),
|
|
20
|
+
* the read side lifts id → name, and both directions are total and static
|
|
21
|
+
* over the roster. An unknown name is a pointed THROW at the write seam —
|
|
22
|
+
* a deliberate UPGRADE over 0.3.0, where any bigint sailed through the
|
|
23
|
+
* marshal to a commit-time containment violation; the wrong spelling now
|
|
24
|
+
* dies here, before the engine ever sees the row. An out-of-roster id on
|
|
25
|
+
* the read side (reachable only in a store whose closed-typed column was
|
|
26
|
+
* never pinned by its containment law) is equally pointed — never a
|
|
27
|
+
* silent fallback, never `undefined`.
|
|
16
28
|
*/
|
|
17
29
|
import * as errors from "@superbuilders/errors";
|
|
30
|
+
import { isIntervalValue, literalShapeError, rosterOf } from "#fields.ts";
|
|
18
31
|
/**
|
|
19
32
|
* The fresh-mark probe: `true` exactly for a `.fresh`-marked u64 descriptor
|
|
20
33
|
* (the S1 kernel's one structural mark — an unmarked u64's `fresh` property
|
|
@@ -24,19 +37,6 @@ import * as errors from "@superbuilders/errors";
|
|
|
24
37
|
function isFreshField(field) {
|
|
25
38
|
return "fresh" in field && field.fresh === true;
|
|
26
39
|
}
|
|
27
|
-
/** The typed shape refusal of the row marshaler — a genuine failure, never data. */
|
|
28
|
-
function cellShapeError(context, expected, value) {
|
|
29
|
-
return errors.new(`${context}: expected ${expected}, got ${typeof value}`);
|
|
30
|
-
}
|
|
31
|
-
/** Narrows an interval cell: a plain object with bigint start/end. */
|
|
32
|
-
function isIntervalCell(value) {
|
|
33
|
-
return (typeof value === "object" &&
|
|
34
|
-
value !== null &&
|
|
35
|
-
"start" in value &&
|
|
36
|
-
"end" in value &&
|
|
37
|
-
typeof value.start === "bigint" &&
|
|
38
|
-
typeof value.end === "bigint");
|
|
39
|
-
}
|
|
40
40
|
/**
|
|
41
41
|
* Reprojects any host object to a string-indexed record — the boundary
|
|
42
42
|
* through which generic fact objects (whose type parameters carry no index
|
|
@@ -45,31 +45,76 @@ function isIntervalCell(value) {
|
|
|
45
45
|
function recordOf(fact) {
|
|
46
46
|
return Object.fromEntries(Object.entries(fact));
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* The write half of the closed bijection: one handle NAME to its u64 row
|
|
50
|
+
* id (declaration order = row ids — the engine's own minting of the
|
|
51
|
+
* sealed extension). An unknown name is a pointed refusal naming the
|
|
52
|
+
* vocabulary and its roster — the 0.4.0 upgrade over any-bigint-compiles:
|
|
53
|
+
* the wrong spelling dies at the marshal, never as a commit-time
|
|
54
|
+
* violation. `indexOf` is the whole machine (the roster is ≤ 256 rows,
|
|
55
|
+
* engine law — no map is warranted).
|
|
56
|
+
*/
|
|
57
|
+
function closedCellOf(context, closed, name) {
|
|
58
|
+
const id = closed.handles.indexOf(name);
|
|
59
|
+
if (id === -1) {
|
|
60
|
+
throw errors.new(`${context}: "${name}" is not a handle of ${closed.name} — the roster is ${closed.handles.join(", ")}`);
|
|
61
|
+
}
|
|
62
|
+
return BigInt(id);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The read half of the closed bijection: one u64 row id back to its handle
|
|
66
|
+
* NAME (`Number(cell)` is safe — the sealed extension holds at most 256
|
|
67
|
+
* rows, engine law). An id outside the roster THROWS pointed, never a
|
|
68
|
+
* silent fallback and never `undefined`: the state is reachable only in a
|
|
69
|
+
* store whose closed-typed column was never pinned by its containment law,
|
|
70
|
+
* and the error names that missing piece.
|
|
71
|
+
*/
|
|
72
|
+
function handleOf(context, closed, cell) {
|
|
73
|
+
if (typeof cell !== "bigint") {
|
|
74
|
+
throw literalShapeError(context, `a ${closed.name} handle id (bigint)`, cell);
|
|
75
|
+
}
|
|
76
|
+
const handle = closed.handles[Number(cell)];
|
|
77
|
+
if (handle === undefined) {
|
|
78
|
+
throw errors.new(`${context}: id ${cell} is outside the ${closed.name} roster (${closed.handles.join(", ")}) — the column types ${closed.name} but no law pins it — a containment statement is the missing piece`);
|
|
79
|
+
}
|
|
80
|
+
return handle;
|
|
81
|
+
}
|
|
48
82
|
/**
|
|
49
83
|
* Marshals one host cell at its field position to the natural wire value,
|
|
50
84
|
* schema-directed by the field descriptor's structural kind (never
|
|
51
|
-
* guessed).
|
|
52
|
-
*
|
|
53
|
-
*
|
|
85
|
+
* guessed). A closed-referencing cell arrives as its handle NAME and
|
|
86
|
+
* lowers through {@link closedCellOf} — the arm precedes the switch
|
|
87
|
+
* because a closed reference is structurally a u64 descriptor plus the
|
|
88
|
+
* roster (the same precedence `Infer` pins at the type level). Everything
|
|
89
|
+
* else is bare, so the runtime values ARE the wire's natural JS values;
|
|
90
|
+
* widths and domain labels are the engine's own judgment at the write
|
|
91
|
+
* boundary.
|
|
54
92
|
*/
|
|
55
93
|
function cellOf(context, field, value) {
|
|
94
|
+
const roster = rosterOf(field);
|
|
95
|
+
if (roster !== undefined) {
|
|
96
|
+
if (typeof value !== "string") {
|
|
97
|
+
throw literalShapeError(context, `a ${roster.name} handle name (string)`, value);
|
|
98
|
+
}
|
|
99
|
+
return closedCellOf(context, roster, value);
|
|
100
|
+
}
|
|
56
101
|
switch (field.kind) {
|
|
57
102
|
case "bool": {
|
|
58
103
|
if (typeof value !== "boolean") {
|
|
59
|
-
throw
|
|
104
|
+
throw literalShapeError(context, "boolean", value);
|
|
60
105
|
}
|
|
61
106
|
return value;
|
|
62
107
|
}
|
|
63
108
|
case "u64":
|
|
64
109
|
case "i64": {
|
|
65
110
|
if (typeof value !== "bigint") {
|
|
66
|
-
throw
|
|
111
|
+
throw literalShapeError(context, "bigint", value);
|
|
67
112
|
}
|
|
68
113
|
return value;
|
|
69
114
|
}
|
|
70
115
|
case "str": {
|
|
71
116
|
if (typeof value !== "string") {
|
|
72
|
-
throw
|
|
117
|
+
throw literalShapeError(context, "string", value);
|
|
73
118
|
}
|
|
74
119
|
/**
|
|
75
120
|
* A lone surrogate would be lossily replaced with U+FFFD at the
|
|
@@ -79,19 +124,19 @@ function cellOf(context, field, value) {
|
|
|
79
124
|
* lookup lowers through.
|
|
80
125
|
*/
|
|
81
126
|
if (!value.isWellFormed()) {
|
|
82
|
-
throw
|
|
127
|
+
throw literalShapeError(context, "well-formed string", value);
|
|
83
128
|
}
|
|
84
129
|
return value;
|
|
85
130
|
}
|
|
86
131
|
case "bytes": {
|
|
87
132
|
if (!(value instanceof Uint8Array)) {
|
|
88
|
-
throw
|
|
133
|
+
throw literalShapeError(context, "Uint8Array", value);
|
|
89
134
|
}
|
|
90
135
|
return value;
|
|
91
136
|
}
|
|
92
137
|
case "interval": {
|
|
93
|
-
if (!
|
|
94
|
-
throw
|
|
138
|
+
if (!isIntervalValue(value)) {
|
|
139
|
+
throw literalShapeError(context, "interval ({ start, end } bigints)", value);
|
|
95
140
|
}
|
|
96
141
|
return { start: value.start, end: value.end };
|
|
97
142
|
}
|
|
@@ -158,7 +203,9 @@ function isMintedFresh(relation, minted) {
|
|
|
158
203
|
/**
|
|
159
204
|
* Unmarshals one positional row to the relation's named, frozen fact object
|
|
160
205
|
* of bare structural values — the inverse of {@link rowOf},
|
|
161
|
-
* ordinal-directed by the same declaration order.
|
|
206
|
+
* ordinal-directed by the same declaration order. Closed-referencing cells
|
|
207
|
+
* lift id → handle NAME through {@link handleOf} (the read half of the
|
|
208
|
+
* bijection), so every fact a user sees speaks the roster's vocabulary.
|
|
162
209
|
*/
|
|
163
210
|
function factOf(relation, row) {
|
|
164
211
|
const data = relation.data;
|
|
@@ -171,7 +218,9 @@ function factOf(relation, row) {
|
|
|
171
218
|
if (cell === undefined) {
|
|
172
219
|
throw errors.new(`relation ${data.name}: row cell ${ordinal} (${declared.name}) is absent`);
|
|
173
220
|
}
|
|
174
|
-
|
|
221
|
+
const roster = rosterOf(declared.field);
|
|
222
|
+
decoded[declared.name] =
|
|
223
|
+
roster !== undefined ? handleOf(`relation ${data.name} field ${declared.name}`, roster, cell) : cell;
|
|
175
224
|
});
|
|
176
225
|
Object.freeze(decoded);
|
|
177
226
|
if (!isCompleteFact(relation, decoded)) {
|
|
@@ -179,5 +228,5 @@ function factOf(relation, row) {
|
|
|
179
228
|
}
|
|
180
229
|
return decoded;
|
|
181
230
|
}
|
|
182
|
-
export { cellOf, factOf, isFreshField, isMintedFresh, keyRowOf, recordOf, rowOf };
|
|
231
|
+
export { cellOf, factOf, handleOf, isFreshField, isMintedFresh, keyRowOf, recordOf, rowOf };
|
|
183
232
|
//# sourceMappingURL=marshal.js.map
|
package/dist/marshal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marshal.js","sourceRoot":"","sources":["../src/marshal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"marshal.js","sourceRoot":"","sources":["../src/marshal.ts"],"names":[],"mappings":"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"}
|
package/dist/native.d.ts
CHANGED
|
@@ -286,7 +286,7 @@ interface Violation {
|
|
|
286
286
|
readonly facts: readonly ViolationFact[];
|
|
287
287
|
}
|
|
288
288
|
/**
|
|
289
|
-
* `dbCreate`/`dbOpen`'s domain outcome. `schemaError`
|
|
289
|
+
* `dbCreate`/`dbOpen`'s domain outcome. `schemaError` spans both spec
|
|
290
290
|
* resolution (unresolvable names, banned spellings — every issue in one
|
|
291
291
|
* message) and schema validation at the declaration boundary;
|
|
292
292
|
* `newtypeMismatch` is the coherence wall's own kind — a spec whose
|
|
@@ -506,6 +506,18 @@ interface Native {
|
|
|
506
506
|
/** Releases the prepared query. */
|
|
507
507
|
preparedClose(prepared: PreparedHandle): void;
|
|
508
508
|
}
|
|
509
|
+
/**
|
|
510
|
+
* The sole platform this release ships (PRD-03 ruling 1: prebuilt-only,
|
|
511
|
+
* darwin-arm64). The per-platform-package structure below makes adding
|
|
512
|
+
* `darwin-x64`/`linux-*`/`win32-*` pure addition — one more `os`/`cpu`-gated
|
|
513
|
+
* package plus a CI matrix — never a redesign. This constant names the
|
|
514
|
+
* shipped set for the unsupported-platform message; the build's
|
|
515
|
+
* `PUBLISH_PLATFORM` (`scripts/platform.ts` — src cannot import scripts,
|
|
516
|
+
* the packaging boundary) and the `ts/.gitignore` carve-out spell the same
|
|
517
|
+
* target, and the single-source pin in `test/build-platform.test.ts` holds
|
|
518
|
+
* all three in lockstep.
|
|
519
|
+
*/
|
|
520
|
+
declare const SHIPPED_PLATFORMS = "darwin-arm64";
|
|
509
521
|
/**
|
|
510
522
|
* Resolves and loads the native bridge from its per-platform binary package
|
|
511
523
|
* (`@bjornpagen/bumbledb-<platform>-<arch>`) — the Biome/esbuild/napi-rs
|
|
@@ -531,6 +543,13 @@ declare function loadNativeBinding(platform: string, arch: string): Native;
|
|
|
531
543
|
* than at first use.
|
|
532
544
|
*/
|
|
533
545
|
declare const native: Native;
|
|
546
|
+
/**
|
|
547
|
+
* The bridge guard — THE one wrapper every native call crosses (db.ts and
|
|
548
|
+
* exhume.ts both import it): runs one native call and wraps anything it
|
|
549
|
+
* throws, so marshal-shape refusals and handle-lifecycle refusals cross as
|
|
550
|
+
* genuine typed failures, never bare foreign errors.
|
|
551
|
+
*/
|
|
552
|
+
declare function bridged<T>(context: string, run: () => T): T;
|
|
534
553
|
export type { AggOpIr, AtomIr, AtomSourceIr, CmpOpIr, CommitResult, ComparisonIr, ConditionTreeIr, DbHandle, DbOpenResult, ExhumeHandle, ExhumeResult, FactValue, FindTermIr, HeadOpIr, HeadTermIr, IntervalValue, Manifest, ManifestField, ManifestRelation, ManifestRow, ManifestStatement, MaskTermIr, Native, OccurrenceDrift, PredicateDefIr, PreparedHandle, PrepareResult, ProgramIr, QueryParam, RuleIr, SnapshotHandle, Staleness, StatementKindTag, TaggedValue, TermIr, TxHandle, Violation, ViolationFact, WriteFromResult };
|
|
535
|
-
export { loadNativeBinding, native };
|
|
554
|
+
export { bridged, loadNativeBinding, native, SHIPPED_PLATFORMS };
|
|
536
555
|
//# sourceMappingURL=native.d.ts.map
|
package/dist/native.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
|
package/dist/native.js
CHANGED
|
@@ -4,8 +4,12 @@ import * as errors from "@superbuilders/errors";
|
|
|
4
4
|
* The sole platform this release ships (PRD-03 ruling 1: prebuilt-only,
|
|
5
5
|
* darwin-arm64). The per-platform-package structure below makes adding
|
|
6
6
|
* `darwin-x64`/`linux-*`/`win32-*` pure addition — one more `os`/`cpu`-gated
|
|
7
|
-
* package plus a CI matrix — never a redesign
|
|
8
|
-
*
|
|
7
|
+
* package plus a CI matrix — never a redesign. This constant names the
|
|
8
|
+
* shipped set for the unsupported-platform message; the build's
|
|
9
|
+
* `PUBLISH_PLATFORM` (`scripts/platform.ts` — src cannot import scripts,
|
|
10
|
+
* the packaging boundary) and the `ts/.gitignore` carve-out spell the same
|
|
11
|
+
* target, and the single-source pin in `test/build-platform.test.ts` holds
|
|
12
|
+
* all three in lockstep.
|
|
9
13
|
*/
|
|
10
14
|
const SHIPPED_PLATFORMS = "darwin-arm64";
|
|
11
15
|
/**
|
|
@@ -60,5 +64,18 @@ function loadNativeBinding(platform, arch) {
|
|
|
60
64
|
* than at first use.
|
|
61
65
|
*/
|
|
62
66
|
const native = loadNativeBinding(process.platform, process.arch);
|
|
63
|
-
|
|
67
|
+
/**
|
|
68
|
+
* The bridge guard — THE one wrapper every native call crosses (db.ts and
|
|
69
|
+
* exhume.ts both import it): runs one native call and wraps anything it
|
|
70
|
+
* throws, so marshal-shape refusals and handle-lifecycle refusals cross as
|
|
71
|
+
* genuine typed failures, never bare foreign errors.
|
|
72
|
+
*/
|
|
73
|
+
function bridged(context, run) {
|
|
74
|
+
const result = errors.trySync(run);
|
|
75
|
+
if (result.error) {
|
|
76
|
+
throw errors.wrap(result.error, context);
|
|
77
|
+
}
|
|
78
|
+
return result.data;
|
|
79
|
+
}
|
|
80
|
+
export { bridged, loadNativeBinding, native, SHIPPED_PLATFORMS };
|
|
64
81
|
//# sourceMappingURL=native.js.map
|
package/dist/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAod/C
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAod/C;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAExC;;;;;;;;;GASG;AACH,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,iBAAiB,CAAC,QAAgB,EAAE,IAAY;IACxD,MAAM,eAAe,GAAG,wBAAwB,QAAQ,IAAI,IAAI,EAAE,CAAA;IAElE,uEAAuE;IACvE,iEAAiE;IACjE,uEAAuE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,eAAe,eAAe,CAAC,CAAC,CAAA;IAC9F,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,CAAC,IAAI,CAChB,OAAO,CAAC,KAAK,EACb,wBAAwB,QAAQ,IAAI,IAAI,gCAAgC,iBAAiB,OAAO,CAChG,CAAA;IACF,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAA;IACnE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,eAAe,iDAAiD,CAAC,CAAA;IAC9G,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,MAAM,GAAW,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;AAExE;;;;;GAKG;AACH,SAAS,OAAO,CAAI,OAAe,EAAE,GAAY;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAA;AACnB,CAAC;AA2CD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA"}
|
package/dist/order.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-side answer ordering — the census-fired convenience
|
|
3
|
+
* (`docs/architecture/70-api.md` § the freeze ledger). Answers are SETS and
|
|
4
|
+
* the ENGINE NEVER ORDERS; the language owns the sort (`rows.sort(...)`)
|
|
5
|
+
* and the limit (`.slice(0, n)`) — the drizzle law. What JS lacks is a
|
|
6
|
+
* number-returning comparator over the SDK's bigint-bearing cells, so the
|
|
7
|
+
* SDK ships exactly that: sort keys are DATA — a bare column name is
|
|
8
|
+
* ascending (the punning spelling; no `asc` wrapper exists — one spelling
|
|
9
|
+
* per meaning) and `desc(name)` is the one descending spelling — folded by
|
|
10
|
+
* `by(...)` into one row-typed comparator. Cross-type cells cannot arise
|
|
11
|
+
* within one column (one column, one domain), and the cell order is TOTAL
|
|
12
|
+
* anyway (the type-rank wall), so the comparator never throws.
|
|
13
|
+
*/
|
|
14
|
+
import type { FactValue } from "#native.ts";
|
|
15
|
+
/** One DESCENDING sort key, plain data — built by {@link desc}. */
|
|
16
|
+
interface Desc<K extends string> {
|
|
17
|
+
readonly key: K;
|
|
18
|
+
readonly desc: true;
|
|
19
|
+
}
|
|
20
|
+
/** One sort key: a bare column name (ascending — the punning spelling) or `desc(name)`. */
|
|
21
|
+
type SortKey<K extends string> = K | Desc<K>;
|
|
22
|
+
/** Marks one sort key DESCENDING — the single descending spelling (a bare name is already ascending). */
|
|
23
|
+
declare function desc<const K extends string>(key: K): Desc<K>;
|
|
24
|
+
/**
|
|
25
|
+
* Folds sort keys into ONE comparator typed against the row —
|
|
26
|
+
* `Row extends Readonly<Record<K, FactValue>>` — so a key the row lacks, or
|
|
27
|
+
* a column typed `number` (outside the cell domain), is a COMPILE error at
|
|
28
|
+
* the `.sort` call site: the laws typed the columns, and the row type
|
|
29
|
+
* carries that proof here (parse-don't-validate). The generic RETURN is the
|
|
30
|
+
* load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
|
|
31
|
+
* array's own element type and checks the key set right there.
|
|
32
|
+
*/
|
|
33
|
+
declare function by<const K extends string>(first: SortKey<K>, ...rest: ReadonlyArray<SortKey<K>>): <Row extends Readonly<Record<K, FactValue>>>(left: Row, right: Row) => number;
|
|
34
|
+
export type { Desc, SortKey };
|
|
35
|
+
export { by, desc };
|
|
36
|
+
//# sourceMappingURL=order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,mEAAmE;AACnE,UAAU,IAAI,CAAC,CAAC,SAAS,MAAM;IAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACnB;AAED,2FAA2F;AAC3F,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AA+F5C,yGAAyG;AACzG,iBAAS,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAGrD;AAED;;;;;;;;GAQG;AACH,iBAAS,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACjC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,GAAG,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,CAgB/E;AAED,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC7B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA"}
|
package/dist/order.js
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-side answer ordering — the census-fired convenience
|
|
3
|
+
* (`docs/architecture/70-api.md` § the freeze ledger). Answers are SETS and
|
|
4
|
+
* the ENGINE NEVER ORDERS; the language owns the sort (`rows.sort(...)`)
|
|
5
|
+
* and the limit (`.slice(0, n)`) — the drizzle law. What JS lacks is a
|
|
6
|
+
* number-returning comparator over the SDK's bigint-bearing cells, so the
|
|
7
|
+
* SDK ships exactly that: sort keys are DATA — a bare column name is
|
|
8
|
+
* ascending (the punning spelling; no `asc` wrapper exists — one spelling
|
|
9
|
+
* per meaning) and `desc(name)` is the one descending spelling — folded by
|
|
10
|
+
* `by(...)` into one row-typed comparator. Cross-type cells cannot arise
|
|
11
|
+
* within one column (one column, one domain), and the cell order is TOTAL
|
|
12
|
+
* anyway (the type-rank wall), so the comparator never throws.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* The type-rank wall: boolean 0, bigint 1, string 2, bytes 3, interval 4.
|
|
16
|
+
* One column carries one domain, so a mixed pair never arises from decoded
|
|
17
|
+
* answer rows — the wall exists to keep the cell order TOTAL (never a
|
|
18
|
+
* throw), not to be reached.
|
|
19
|
+
*/
|
|
20
|
+
function cellRank(value) {
|
|
21
|
+
if (typeof value === "boolean") {
|
|
22
|
+
return 0;
|
|
23
|
+
}
|
|
24
|
+
if (typeof value === "bigint") {
|
|
25
|
+
return 1;
|
|
26
|
+
}
|
|
27
|
+
if (typeof value === "string") {
|
|
28
|
+
return 2;
|
|
29
|
+
}
|
|
30
|
+
if (value instanceof Uint8Array) {
|
|
31
|
+
return 3;
|
|
32
|
+
}
|
|
33
|
+
return 4;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* One cell against one cell. Same-type arms: boolean orders false < true;
|
|
37
|
+
* bigint by `<`/`>`; string by the host language's own `<`/`>` (flavor,
|
|
38
|
+
* recorded); bytes bytewise over the shared prefix, then by length;
|
|
39
|
+
* intervals by start, then end. A mixed pair falls through to the
|
|
40
|
+
* type-rank wall.
|
|
41
|
+
*/
|
|
42
|
+
function cellCmp(left, right) {
|
|
43
|
+
if (typeof left === "boolean" && typeof right === "boolean") {
|
|
44
|
+
if (left === right) {
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
if (left) {
|
|
48
|
+
return 1;
|
|
49
|
+
}
|
|
50
|
+
return -1;
|
|
51
|
+
}
|
|
52
|
+
if (typeof left === "bigint" && typeof right === "bigint") {
|
|
53
|
+
if (left < right) {
|
|
54
|
+
return -1;
|
|
55
|
+
}
|
|
56
|
+
if (left > right) {
|
|
57
|
+
return 1;
|
|
58
|
+
}
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
61
|
+
if (typeof left === "string" && typeof right === "string") {
|
|
62
|
+
if (left < right) {
|
|
63
|
+
return -1;
|
|
64
|
+
}
|
|
65
|
+
if (left > right) {
|
|
66
|
+
return 1;
|
|
67
|
+
}
|
|
68
|
+
return 0;
|
|
69
|
+
}
|
|
70
|
+
if (left instanceof Uint8Array && right instanceof Uint8Array) {
|
|
71
|
+
const shared = Math.min(left.length, right.length);
|
|
72
|
+
for (let index = 0; index < shared; index += 1) {
|
|
73
|
+
const leftByte = left[index];
|
|
74
|
+
const rightByte = right[index];
|
|
75
|
+
// `index < shared` keeps both reads in bounds; the `undefined`
|
|
76
|
+
// arms are the checker's indexed-access tax, never taken.
|
|
77
|
+
if (leftByte !== undefined && rightByte !== undefined && leftByte !== rightByte) {
|
|
78
|
+
return leftByte - rightByte;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return left.length - right.length;
|
|
82
|
+
}
|
|
83
|
+
if (typeof left === "object" &&
|
|
84
|
+
!(left instanceof Uint8Array) &&
|
|
85
|
+
typeof right === "object" &&
|
|
86
|
+
!(right instanceof Uint8Array)) {
|
|
87
|
+
if (left.start < right.start) {
|
|
88
|
+
return -1;
|
|
89
|
+
}
|
|
90
|
+
if (left.start > right.start) {
|
|
91
|
+
return 1;
|
|
92
|
+
}
|
|
93
|
+
if (left.end < right.end) {
|
|
94
|
+
return -1;
|
|
95
|
+
}
|
|
96
|
+
if (left.end > right.end) {
|
|
97
|
+
return 1;
|
|
98
|
+
}
|
|
99
|
+
return 0;
|
|
100
|
+
}
|
|
101
|
+
return cellRank(left) - cellRank(right);
|
|
102
|
+
}
|
|
103
|
+
/** Marks one sort key DESCENDING — the single descending spelling (a bare name is already ascending). */
|
|
104
|
+
function desc(key) {
|
|
105
|
+
const marker = { key, desc: true };
|
|
106
|
+
return Object.freeze(marker);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Folds sort keys into ONE comparator typed against the row —
|
|
110
|
+
* `Row extends Readonly<Record<K, FactValue>>` — so a key the row lacks, or
|
|
111
|
+
* a column typed `number` (outside the cell domain), is a COMPILE error at
|
|
112
|
+
* the `.sort` call site: the laws typed the columns, and the row type
|
|
113
|
+
* carries that proof here (parse-don't-validate). The generic RETURN is the
|
|
114
|
+
* load-bearing trick: `rows.sort(by("rank"))` instantiates `Row` from the
|
|
115
|
+
* array's own element type and checks the key set right there.
|
|
116
|
+
*/
|
|
117
|
+
function by(first, ...rest) {
|
|
118
|
+
const entries = [first, ...rest].map(function normalizeKey(sortKey) {
|
|
119
|
+
if (typeof sortKey === "string") {
|
|
120
|
+
return { key: sortKey, factor: 1 };
|
|
121
|
+
}
|
|
122
|
+
return { key: sortKey.key, factor: -1 };
|
|
123
|
+
});
|
|
124
|
+
return function compare(left, right) {
|
|
125
|
+
for (const entry of entries) {
|
|
126
|
+
const order = cellCmp(left[entry.key], right[entry.key]) * entry.factor;
|
|
127
|
+
if (order !== 0) {
|
|
128
|
+
return order;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return 0;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
export { by, desc };
|
|
135
|
+
//# sourceMappingURL=order.js.map
|