@bjornpagen/bumbledb 1.1.0 → 1.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/COOKBOOK.md +114 -11
- package/README.md +52 -9
- package/dist/capacity.d.ts +15 -55
- package/dist/capacity.d.ts.map +1 -1
- package/dist/capacity.js +63 -12
- package/dist/capacity.js.map +1 -1
- package/dist/changes.d.ts +26 -3
- package/dist/changes.d.ts.map +1 -1
- package/dist/changes.js +89 -44
- package/dist/changes.js.map +1 -1
- package/dist/closed.d.ts +23 -51
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +110 -168
- package/dist/closed.js.map +1 -1
- package/dist/codec.d.ts +4 -9
- package/dist/codec.d.ts.map +1 -1
- package/dist/codec.js +108 -183
- package/dist/codec.js.map +1 -1
- package/dist/compile.d.ts +16 -16
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +36 -15
- package/dist/compile.js.map +1 -1
- package/dist/db-native.d.ts +39 -0
- package/dist/db-native.d.ts.map +1 -1
- package/dist/db-native.js +8 -0
- package/dist/db-native.js.map +1 -1
- package/dist/db.d.ts +28 -8
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +91 -38
- package/dist/db.js.map +1 -1
- package/dist/errors.d.ts +11 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +13 -1
- package/dist/errors.js.map +1 -1
- package/dist/face.d.ts +19 -25
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +30 -24
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +13 -26
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +89 -116
- package/dist/fields.js.map +1 -1
- package/dist/immutable.d.ts +10 -0
- package/dist/immutable.d.ts.map +1 -0
- package/dist/immutable.js +75 -0
- package/dist/immutable.js.map +1 -0
- package/dist/index.d.ts +14 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/log.d.ts +2 -0
- package/dist/internal/log.d.ts.map +1 -1
- package/dist/internal/log.js +2 -0
- package/dist/internal/log.js.map +1 -1
- package/dist/law.d.ts +10 -10
- package/dist/law.d.ts.map +1 -1
- package/dist/law.js +1 -1
- package/dist/law.js.map +1 -1
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +11 -6
- package/dist/lower.js.map +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js.map +1 -1
- package/dist/query/atom.d.ts +1 -1
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js.map +1 -1
- package/dist/query/description.d.ts +33 -0
- package/dist/query/description.d.ts.map +1 -0
- package/dist/query/description.js +302 -0
- package/dist/query/description.js.map +1 -0
- package/dist/query/lower.d.ts +60 -4
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +126 -161
- package/dist/query/lower.js.map +1 -1
- package/dist/query/parse-ir.d.ts +7 -2
- package/dist/query/parse-ir.d.ts.map +1 -1
- package/dist/query/parse-ir.js +240 -53
- package/dist/query/parse-ir.js.map +1 -1
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +8 -10
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +3 -4
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +5 -10
- package/dist/query/scope.js.map +1 -1
- package/dist/relation.d.ts +22 -48
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +30 -82
- package/dist/relation.js.map +1 -1
- package/dist/rows.d.ts +7 -4
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +44 -198
- package/dist/rows.js.map +1 -1
- package/dist/runtime-errors.d.ts +26 -2
- package/dist/runtime-errors.d.ts.map +1 -1
- package/dist/runtime-errors.js +43 -3
- package/dist/runtime-errors.js.map +1 -1
- package/dist/schema.d.ts +9 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +85 -24
- package/dist/schema.js.map +1 -1
- package/dist/selection.d.ts +27 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/selection.js +104 -0
- package/dist/selection.js.map +1 -0
- package/dist/shape.d.ts +6 -9
- package/dist/shape.d.ts.map +1 -1
- package/dist/statements.d.ts +17 -52
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +92 -111
- package/dist/statements.js.map +1 -1
- package/dist/values.d.ts +25 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +203 -0
- package/dist/values.js.map +1 -0
- package/pack-provenance.json +3 -3
- package/package.json +4 -4
- package/src/capacity.ts +86 -76
- package/src/changes.ts +183 -54
- package/src/closed.ts +161 -314
- package/src/codec.ts +116 -190
- package/src/compile.ts +56 -32
- package/src/db-native.ts +42 -0
- package/src/db.ts +134 -52
- package/src/errors.ts +16 -1
- package/src/face.ts +44 -74
- package/src/fields.ts +100 -146
- package/src/immutable.ts +76 -0
- package/src/index.ts +34 -28
- package/src/internal/log.ts +2 -0
- package/src/law.ts +13 -13
- package/src/lower.ts +13 -10
- package/src/native.ts +2 -0
- package/src/query/atom.ts +1 -0
- package/src/query/description.ts +394 -0
- package/src/query/lower.ts +139 -173
- package/src/query/parse-ir.ts +247 -54
- package/src/query/run.ts +15 -9
- package/src/query/scope.ts +10 -18
- package/src/relation.ts +58 -142
- package/src/rows.ts +62 -205
- package/src/runtime-errors.ts +47 -3
- package/src/schema.ts +99 -29
- package/src/selection.ts +124 -0
- package/src/shape.ts +9 -9
- package/src/statements.ts +138 -189
- package/src/values.ts +223 -0
package/dist/changes.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Scope } from "effect";
|
|
2
|
-
import { Effect } from "effect";
|
|
2
|
+
import { Effect, Stream } from "effect";
|
|
3
3
|
import type { SchemaId } from "./compile.js";
|
|
4
4
|
import type { ChangesHandle } from "./db-native.js";
|
|
5
|
-
import type
|
|
5
|
+
import { type AnyRelation, type Fact } from "./relation.js";
|
|
6
6
|
import type { CloseReport } from "./runtime-errors.js";
|
|
7
7
|
import { DbError } from "./runtime-errors.js";
|
|
8
8
|
import type { AnySchema } from "./schema.js";
|
|
@@ -14,10 +14,32 @@ import type { Rel } from "./shape.js";
|
|
|
14
14
|
* add-wins. Immutable and reusable while open; sealing/submitting it later
|
|
15
15
|
* retains the SAME native value — no second JS row walk ever happens.
|
|
16
16
|
*/
|
|
17
|
+
/** Counts of distinct fact additions and removals, never input events. */
|
|
18
|
+
interface ChangeCounts {
|
|
19
|
+
readonly added: bigint;
|
|
20
|
+
readonly removed: bigint;
|
|
21
|
+
}
|
|
22
|
+
/** A relation-name-discriminated union of plain, fully typed facts. */
|
|
23
|
+
type ChangeRecord<S extends AnySchema> = {
|
|
24
|
+
[N in keyof S["relations"]]: S["relations"][N] extends AnyRelation ? {
|
|
25
|
+
readonly relation: N;
|
|
26
|
+
readonly kind: "add" | "remove";
|
|
27
|
+
readonly fact: Fact<S["relations"][N]>;
|
|
28
|
+
} : never;
|
|
29
|
+
}[keyof S["relations"]];
|
|
17
30
|
interface ChangeSet<S extends AnySchema> {
|
|
18
31
|
readonly schemaId: SchemaId;
|
|
32
|
+
/** Distinct requested actions; use judge for effective counts against a store. */
|
|
33
|
+
readonly counts: ChangeCounts;
|
|
34
|
+
readonly byteLength: bigint;
|
|
19
35
|
/** Phantom schema brand: a ChangeSet is only ever applied to its own S. */
|
|
20
36
|
readonly schema?: S;
|
|
37
|
+
/** Independent scoped traversal, delivered in bounded native batches. Reusable. */
|
|
38
|
+
records(): Stream.Stream<ChangeRecord<S>, DbError>;
|
|
39
|
+
/** Explicit full byte materialization. Mutating returned bytes cannot alter this value. */
|
|
40
|
+
toBytes(): Effect.Effect<Uint8Array, DbError>;
|
|
41
|
+
/** Commutative add-wins composition into one command, not sequential replay. */
|
|
42
|
+
compose(other: ChangeSet<S>): Effect.Effect<ChangeSet<S>, DbError, Scope.Scope>;
|
|
21
43
|
close(): Effect.Effect<CloseReport>;
|
|
22
44
|
}
|
|
23
45
|
/**
|
|
@@ -47,7 +69,8 @@ interface ChangesInternal {
|
|
|
47
69
|
declare function internalChanges(value: object): ChangesInternal | undefined;
|
|
48
70
|
declare const ChangeSet: Readonly<{
|
|
49
71
|
builder: <S extends AnySchema>(schema: S) => Effect.Effect<ChangeDraft<S>, DbError, import("./runtime.js").NativeRuntime | Scope.Scope>;
|
|
72
|
+
fromBytes: <S extends AnySchema>(schema: S, bytes: Uint8Array<ArrayBufferLike>) => Effect.Effect<ChangeSet<S>, DbError, import("./runtime.js").NativeRuntime | Scope.Scope>;
|
|
50
73
|
}>;
|
|
51
|
-
export type { ChangeDraft };
|
|
74
|
+
export type { ChangeCounts, ChangeDraft, ChangeRecord };
|
|
52
75
|
export { ChangeSet, internalChanges };
|
|
53
76
|
//# sourceMappingURL=changes.d.ts.map
|
package/dist/changes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAA;AAGrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAoB,aAAa,EAA4B,MAAM,eAAe,CAAA;AAI9F,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,IAAI,EAAkB,MAAM,cAAc,CAAA;AAI1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAiB,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,YAAY,CAAA;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAGpC;;;;;;GAMG;AACH,0EAA0E;AAC1E,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB;AAED,uEAAuE;AACvE,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI;KACvC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,GAC/D;QAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GACjG,KAAK;CACR,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;AAEvB,UAAU,SAAS,CAAC,CAAC,SAAS,SAAS;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,mFAAmF;IACnF,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAClD,2FAA2F;IAC3F,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC7C,gFAAgF;IAChF,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/E,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;CACnC;AAED;;;;;;;;;;;GAWG;AACH,UAAU,WAAW,CAAC,CAAC,SAAS,SAAS;IACxC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5F,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5F,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;CACnC;AAmBD,UAAU,eAAe;IACxB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,MAAM,EAAE,OAAO,CAAA;CACf;AAID,6EAA6E;AAC7E,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEnE;AAiYD,QAAA,MAAM,SAAS;cA9D2C,CAAC,SAAS,SAAS;gBA2Cf,CAAC,SAAS,SAAS;EAmB1B,CAAA;AAEvD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA"}
|
package/dist/changes.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { Effect, Exit } from "effect";
|
|
1
|
+
import { Effect, Exit, Option, Stream } from "effect";
|
|
2
2
|
import { drainClose, releaseOwner } from "#close.ts";
|
|
3
|
+
import { isClosedMember, membersAgree } from "#closed.ts";
|
|
3
4
|
import { Schema as CoreSchema, schemaTables } from "#compile.ts";
|
|
4
5
|
import { dbNative } from "#db-native.ts";
|
|
6
|
+
import { SdkInvariantError } from "#errors.ts";
|
|
5
7
|
import { lower } from "#lower.ts";
|
|
6
|
-
import {
|
|
8
|
+
import { relationFields } from "#relation.ts";
|
|
9
|
+
import { factCellsOf, factOfCells, hostCellCharge } from "#rows.ts";
|
|
7
10
|
import { nativeOperationWith, runtimeHandle } from "#runtime.ts";
|
|
8
|
-
import { DbError } from "#runtime-errors.ts";
|
|
11
|
+
import { argumentError, DbError } from "#runtime-errors.ts";
|
|
12
|
+
import { bytesValue, recordValue } from "#values.ts";
|
|
9
13
|
/**
|
|
10
14
|
* Host-copy granularity: one bounded host-to-native message per chunk, so
|
|
11
15
|
* real event-loop turns happen between chunks (each chunk completes through
|
|
@@ -30,29 +34,14 @@ function eventLoopTurn() {
|
|
|
30
34
|
});
|
|
31
35
|
}
|
|
32
36
|
function hostFactCharge(relation, record) {
|
|
33
|
-
const
|
|
37
|
+
const fields = relationFields(relation);
|
|
34
38
|
let bytes = 0n;
|
|
35
|
-
for (const declared of
|
|
39
|
+
for (const declared of fields) {
|
|
36
40
|
const value = record[declared.name];
|
|
37
|
-
if (value === undefined) {
|
|
38
|
-
throw refusal("ChangeDraft.ingest", "InvalidArgument");
|
|
39
|
-
}
|
|
40
41
|
bytes += hostCellCharge(value);
|
|
41
42
|
}
|
|
42
43
|
return bytes;
|
|
43
44
|
}
|
|
44
|
-
function projectFact(relation, record) {
|
|
45
|
-
const data = relation.data;
|
|
46
|
-
const cells = [];
|
|
47
|
-
for (const declared of data.fields) {
|
|
48
|
-
const value = record[declared.name];
|
|
49
|
-
if (value === undefined) {
|
|
50
|
-
throw refusal("ChangeDraft.ingest", "InvalidArgument");
|
|
51
|
-
}
|
|
52
|
-
cells.push(cellOf(`relation ${data.name} field ${declared.name}`, declared.field, value));
|
|
53
|
-
}
|
|
54
|
-
return cells;
|
|
55
|
-
}
|
|
56
45
|
/**
|
|
57
46
|
* Pulls one bounded chunk off the caller's iterator. Host length is judged
|
|
58
47
|
* before any string scan or byte copy. A leftover fact that does not fit
|
|
@@ -72,13 +61,13 @@ function pullChunk(relation, iterator, pending) {
|
|
|
72
61
|
}
|
|
73
62
|
current = next.value;
|
|
74
63
|
}
|
|
75
|
-
const record =
|
|
64
|
+
const record = recordValue(`relation ${relation.name}`, current, relationFields(relation).map((field) => field.name));
|
|
76
65
|
const charge = hostFactCharge(relation, record);
|
|
77
66
|
if (rows > 0n && bytes + charge > CHUNK_BYTES) {
|
|
78
67
|
leftover = current;
|
|
79
68
|
break;
|
|
80
69
|
}
|
|
81
|
-
for (const cell of
|
|
70
|
+
for (const cell of factCellsOf(relation, record))
|
|
82
71
|
cells.push(cell);
|
|
83
72
|
bytes += charge;
|
|
84
73
|
rows += 1n;
|
|
@@ -110,7 +99,7 @@ function ingest(state, operation, relation, rows) {
|
|
|
110
99
|
yield* spendAndDrain(state, operation);
|
|
111
100
|
return yield* Effect.fail(refusal(operation, "SpentHandle"));
|
|
112
101
|
}
|
|
113
|
-
if (state.theory.relations[relation.name]
|
|
102
|
+
if (!membersAgree(state.theory.relations[relation.name], relation)) {
|
|
114
103
|
return yield* Effect.fail(refusal(operation, "InvalidArgument"));
|
|
115
104
|
}
|
|
116
105
|
const tables = schemaTables(state.theory);
|
|
@@ -122,7 +111,7 @@ function ingest(state, operation, relation, rows) {
|
|
|
122
111
|
const body = Effect.gen(function* () {
|
|
123
112
|
const iterator = yield* Effect.try({
|
|
124
113
|
try: () => rows[Symbol.iterator](),
|
|
125
|
-
catch: () =>
|
|
114
|
+
catch: (cause) => argumentError(operation, cause)
|
|
126
115
|
});
|
|
127
116
|
let leftover;
|
|
128
117
|
let done = false;
|
|
@@ -130,7 +119,7 @@ function ingest(state, operation, relation, rows) {
|
|
|
130
119
|
while (!done) {
|
|
131
120
|
const chunk = yield* Effect.try({
|
|
132
121
|
try: () => pullChunk(relation, iterator, leftover),
|
|
133
|
-
catch: (cause) => (
|
|
122
|
+
catch: (cause) => argumentError(operation, cause)
|
|
134
123
|
}).pipe(Effect.catch((error) => spendAndDrain(state, operation).pipe(Effect.andThen(Effect.fail(error)))));
|
|
135
124
|
leftover = chunk.leftover;
|
|
136
125
|
done = chunk.done && leftover === undefined;
|
|
@@ -156,18 +145,72 @@ function ingest(state, operation, relation, rows) {
|
|
|
156
145
|
});
|
|
157
146
|
});
|
|
158
147
|
}
|
|
159
|
-
function
|
|
148
|
+
function decodeChangeRecord(relations, record) {
|
|
149
|
+
const relation = relations[record.relation];
|
|
150
|
+
if (relation === undefined || isClosedMember(relation) || (record.kind !== "add" && record.kind !== "remove")) {
|
|
151
|
+
throw new SdkInvariantError({ message: "ChangeSet.records: invalid native record descriptor" });
|
|
152
|
+
}
|
|
153
|
+
// Relation id resolves through this schema's own ordered roster. The
|
|
154
|
+
// shared projector validates all field values before this union seam.
|
|
155
|
+
return Object.freeze({
|
|
156
|
+
relation: relation.name,
|
|
157
|
+
kind: record.kind,
|
|
158
|
+
fact: factOfCells(relation, record.values)
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
function changeRecords(handle, relations) {
|
|
162
|
+
return Stream.unwrap(Effect.gen(function* () {
|
|
163
|
+
const cursor = yield* Effect.acquireRelease(nativeOperationWith("ChangeSet.records", (callback) => dbNative.runtimeChangesCursor(handle, callback), dbNative.runtimeChangesCursorTake, (value) => value), (value) => releaseOwner("ChangeCursor.close", (callback) => dbNative.runtimeChangesCursorClose(value, callback)), { interruptible: true });
|
|
164
|
+
return Stream.paginate(undefined, () => nativeOperationWith("ChangeSet.records", (callback) => dbNative.runtimeChangesCursorNext(cursor, callback), dbNative.runtimeChangePageTake, (page) => page).pipe(Effect.map((page) => page === null
|
|
165
|
+
? [[], Option.none()]
|
|
166
|
+
: [page.map((record) => decodeChangeRecord(relations, record)), Option.some(undefined)])));
|
|
167
|
+
}));
|
|
168
|
+
}
|
|
169
|
+
function acquireChanges(theory, schemaId, acquire) {
|
|
170
|
+
return Effect.acquireRelease(acquire.pipe(Effect.map((wire) => makeChangeSet(theory, wire, schemaId))), (changes) => Effect.suspend(() => {
|
|
171
|
+
const internal = changesInternals.get(changes);
|
|
172
|
+
if (internal === undefined)
|
|
173
|
+
return Effect.void;
|
|
174
|
+
internal.closed = true;
|
|
175
|
+
return releaseOwner("ChangeSet.close", (callback) => dbNative.runtimeChangesClose(internal.handle, callback));
|
|
176
|
+
}), { interruptible: true });
|
|
177
|
+
}
|
|
178
|
+
function makeChangeSet(theory, wire, schemaId) {
|
|
179
|
+
const handle = wire.changes;
|
|
180
|
+
const relations = Object.values(theory.relations);
|
|
181
|
+
const internal = { handle, schemaId, closed: false };
|
|
160
182
|
const value = {
|
|
161
183
|
schemaId,
|
|
184
|
+
counts: Object.freeze({ ...wire.counts }),
|
|
185
|
+
byteLength: wire.byteLength,
|
|
186
|
+
records() {
|
|
187
|
+
return changeRecords(handle, relations);
|
|
188
|
+
},
|
|
189
|
+
toBytes() {
|
|
190
|
+
return nativeOperationWith("ChangeSet.toBytes", (callback) => dbNative.runtimeChangesBytes(handle, callback), dbNative.runtimeBytesTake, (bytes) => bytes);
|
|
191
|
+
},
|
|
192
|
+
compose(other) {
|
|
193
|
+
return Effect.suspend(() => {
|
|
194
|
+
const right = internalChanges(other);
|
|
195
|
+
if (right === undefined || right.schemaId !== schemaId)
|
|
196
|
+
return Effect.fail(refusal("ChangeSet.compose", "InvalidArgument"));
|
|
197
|
+
if (internal.closed || right.closed)
|
|
198
|
+
return Effect.fail(refusal("ChangeSet.compose", "ClosedHandle"));
|
|
199
|
+
return acquireChanges(theory, schemaId, nativeOperationWith("ChangeSet.compose", (callback) => dbNative.runtimeChangesCompose(handle, right.handle, callback), dbNative.runtimeChangesTake, (result) => result));
|
|
200
|
+
});
|
|
201
|
+
},
|
|
162
202
|
close() {
|
|
163
|
-
return
|
|
203
|
+
return Effect.suspend(() => {
|
|
204
|
+
internal.closed = true;
|
|
205
|
+
return drainClose("ChangeSet.close", (callback) => dbNative.runtimeChangesClose(handle, callback));
|
|
206
|
+
});
|
|
164
207
|
}
|
|
165
208
|
};
|
|
166
209
|
Object.freeze(value);
|
|
167
|
-
changesInternals.set(value,
|
|
210
|
+
changesInternals.set(value, internal);
|
|
168
211
|
return value;
|
|
169
212
|
}
|
|
170
|
-
function makeDraft(state, schemaId) {
|
|
213
|
+
function makeDraft(theory, state, schemaId) {
|
|
171
214
|
const draft = {
|
|
172
215
|
insert(relation, rows) {
|
|
173
216
|
return ingest(state, "ChangeDraft.insert", relation, rows);
|
|
@@ -176,7 +219,7 @@ function makeDraft(state, schemaId) {
|
|
|
176
219
|
return ingest(state, "ChangeDraft.delete", relation, rows);
|
|
177
220
|
},
|
|
178
221
|
finish() {
|
|
179
|
-
return
|
|
222
|
+
return acquireChanges(theory, schemaId, Effect.gen(function* () {
|
|
180
223
|
if (state.spent) {
|
|
181
224
|
return yield* Effect.fail(refusal("ChangeDraft.finish", "SpentHandle"));
|
|
182
225
|
}
|
|
@@ -186,16 +229,8 @@ function makeDraft(state, schemaId) {
|
|
|
186
229
|
}
|
|
187
230
|
// Finish CONSUMES the draft, success or failure.
|
|
188
231
|
state.spent = true;
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}), (changes) => Effect.suspend(() => {
|
|
192
|
-
const internal = changesInternals.get(changes);
|
|
193
|
-
if (internal === undefined || internal.closed) {
|
|
194
|
-
return Effect.void;
|
|
195
|
-
}
|
|
196
|
-
internal.closed = true;
|
|
197
|
-
return releaseOwner("ChangeSet.close", (callback) => dbNative.runtimeChangesClose(internal.handle, callback));
|
|
198
|
-
}), { interruptible: true });
|
|
232
|
+
return yield* nativeOperationWith("ChangeDraft.finish", (callback) => dbNative.runtimeDraftFinish(state.handle, callback), dbNative.runtimeChangesTake, (value) => value);
|
|
233
|
+
}));
|
|
199
234
|
},
|
|
200
235
|
close() {
|
|
201
236
|
return Effect.suspend(() => {
|
|
@@ -216,16 +251,16 @@ function makeDraft(state, schemaId) {
|
|
|
216
251
|
const builder = Effect.fn("ChangeSet.builder")(function* (schema) {
|
|
217
252
|
const handle = yield* runtimeHandle();
|
|
218
253
|
const compiled = yield* CoreSchema.compile(schema);
|
|
219
|
-
const spec = lower(schema);
|
|
254
|
+
const spec = lower(compiled.schema);
|
|
220
255
|
return yield* Effect.acquireRelease(Effect.gen(function* () {
|
|
221
256
|
const draftHandle = yield* nativeOperationWith("ChangeSet.builder", (callback) => dbNative.runtimeDraftOpen(handle, spec, callback), dbNative.runtimeDraftTake, (value) => value);
|
|
222
257
|
const state = {
|
|
223
258
|
handle: draftHandle,
|
|
224
|
-
theory: schema,
|
|
259
|
+
theory: compiled.schema,
|
|
225
260
|
spent: false,
|
|
226
261
|
inFlight: false
|
|
227
262
|
};
|
|
228
|
-
const draft = makeDraft(state, compiled.schemaId);
|
|
263
|
+
const draft = makeDraft(compiled.schema, state, compiled.schemaId);
|
|
229
264
|
draftStates.set(draft, state);
|
|
230
265
|
return draft;
|
|
231
266
|
}), (draft) => Effect.suspend(() => {
|
|
@@ -243,6 +278,16 @@ const builder = Effect.fn("ChangeSet.builder")(function* (schema) {
|
|
|
243
278
|
// The draft value → state registry lets the scope finalizer reach the
|
|
244
279
|
// native handle without exposing it on the public capability.
|
|
245
280
|
const draftStates = new WeakMap();
|
|
246
|
-
|
|
281
|
+
/** Parse canonical native bytes, owning the input when the Effect starts. */
|
|
282
|
+
const fromBytes = Effect.fn("ChangeSet.fromBytes")(function* (schema, bytes) {
|
|
283
|
+
const ownedBytes = yield* Effect.try({
|
|
284
|
+
try: () => bytesValue("ChangeSet.fromBytes", bytes),
|
|
285
|
+
catch: (cause) => argumentError("ChangeSet.fromBytes", cause)
|
|
286
|
+
});
|
|
287
|
+
const handle = yield* runtimeHandle();
|
|
288
|
+
const compiled = yield* CoreSchema.compile(schema);
|
|
289
|
+
return yield* acquireChanges(compiled.schema, compiled.schemaId, nativeOperationWith("ChangeSet.fromBytes", (callback) => dbNative.runtimeChangesParse(handle, lower(compiled.schema), ownedBytes, callback), dbNative.runtimeChangesTake, (wire) => wire));
|
|
290
|
+
});
|
|
291
|
+
const ChangeSet = Object.freeze({ builder, fromBytes });
|
|
247
292
|
export { ChangeSet, internalChanges };
|
|
248
293
|
//# sourceMappingURL=changes.js.map
|
package/dist/changes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"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"}
|
package/dist/closed.d.ts
CHANGED
|
@@ -1,65 +1,37 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type
|
|
3
|
-
import { type SelectionBinding, type SelectionInput } from "./relation.js";
|
|
4
|
-
import type { LiteralSpec } from "./spec.js";
|
|
1
|
+
import { type AnyField, type ClosedHandleTuple, type ClosedIdField, type Infer } from "./fields.js";
|
|
2
|
+
import { type AnyRelation, type FieldsShape, type RelationField } from "./relation.js";
|
|
5
3
|
type PayloadField = AnyField;
|
|
6
|
-
type PayloadColumns =
|
|
4
|
+
type PayloadColumns = FieldsShape & {
|
|
7
5
|
readonly id?: never;
|
|
8
6
|
};
|
|
9
|
-
|
|
10
|
-
readonly name: string;
|
|
11
|
-
readonly field: PayloadField;
|
|
12
|
-
}
|
|
13
|
-
interface ClosedRow {
|
|
14
|
-
readonly handle: string;
|
|
15
|
-
readonly values: readonly LiteralSpec[];
|
|
16
|
-
}
|
|
17
|
-
interface ClosedData {
|
|
18
|
-
readonly name: string;
|
|
19
|
-
readonly handles: readonly string[];
|
|
20
|
-
readonly columns: readonly ClosedColumn[];
|
|
21
|
-
readonly rows: readonly ClosedRow[];
|
|
22
|
-
}
|
|
23
|
-
type AxiomRow<Cols extends Record<string, PayloadField>> = {
|
|
7
|
+
type AxiomRow<Cols extends FieldsShape> = {
|
|
24
8
|
readonly [C in keyof Cols]: Infer<Cols[C]>;
|
|
25
9
|
};
|
|
26
|
-
type Axioms<Handles extends string, Cols extends
|
|
10
|
+
type Axioms<Handles extends string, Cols extends FieldsShape> = {
|
|
27
11
|
readonly [H in Handles]: AxiomRow<Cols>;
|
|
28
12
|
};
|
|
29
|
-
|
|
13
|
+
/** Closed relations declare their finite roster and its complete, typed ground facts. */
|
|
14
|
+
interface Closed<Name extends string = string, Handles extends ClosedHandleTuple = ClosedHandleTuple, Cols extends FieldsShape = FieldsShape> {
|
|
15
|
+
readonly kind: "closed";
|
|
30
16
|
readonly name: Name;
|
|
31
|
-
readonly
|
|
32
|
-
readonly data: ClosedData;
|
|
33
|
-
readonly axioms: Axioms<Handles[number], Cols>;
|
|
17
|
+
readonly handles: Handles;
|
|
34
18
|
readonly columns: Cols;
|
|
19
|
+
readonly axioms: Axioms<Handles[number], Cols>;
|
|
35
20
|
}
|
|
36
|
-
type
|
|
37
|
-
interface SelectedClosed<Name extends string, Handles extends ClosedHandleTuple, Cols extends Record<string, PayloadField>> {
|
|
38
|
-
readonly relation: Closed<Name, Handles, Cols>;
|
|
39
|
-
readonly selection: readonly SelectionBinding[];
|
|
40
|
-
}
|
|
41
|
-
interface AnySelectedClosed {
|
|
42
|
-
readonly relation: AnyClosed;
|
|
43
|
-
readonly selection: readonly SelectionBinding[];
|
|
44
|
-
}
|
|
45
|
-
interface ClosedSelectable<Name extends string, Handles extends ClosedHandleTuple, Cols extends Record<string, PayloadField>> {
|
|
46
|
-
where(selection: ClosedSelectionInput<Cols>): SelectedClosed<Name, Handles, Cols>;
|
|
47
|
-
}
|
|
48
|
-
type Closed<Name extends string, Handles extends ClosedHandleTuple, Cols extends Record<string, PayloadField>> = [
|
|
49
|
-
keyof Cols
|
|
50
|
-
] extends [never] ? ClosedCore<Name, Handles, Cols> : ClosedCore<Name, Handles, Cols> & ClosedSelectable<Name, Handles, Cols>;
|
|
51
|
-
interface AnyClosed {
|
|
52
|
-
readonly name: string;
|
|
53
|
-
readonly id: AnyClosedIdField;
|
|
54
|
-
readonly data: ClosedData;
|
|
55
|
-
readonly axioms: Readonly<Record<string, object>>;
|
|
56
|
-
readonly columns: Readonly<Record<string, PayloadField>>;
|
|
57
|
-
}
|
|
21
|
+
type AnyClosed = Closed;
|
|
58
22
|
declare function isClosedMember(member: AnyRelation | AnyClosed): member is AnyClosed;
|
|
59
|
-
|
|
60
|
-
declare function
|
|
23
|
+
/** The synthetic id is an ordinary field descriptor, derived from the declared roster. */
|
|
24
|
+
declare function closedId<C extends AnyClosed>(member: C): ClosedIdField<C["name"], C["handles"]>;
|
|
25
|
+
declare function closedDescriptor<C extends AnyClosed>(input: C): C;
|
|
26
|
+
declare function closedDescriptor(input: unknown): AnyClosed;
|
|
61
27
|
declare function closed<const Name extends string, const Handles extends ClosedHandleTuple>(name: Name, handles: Handles): Closed<Name, Handles, Record<never, never>>;
|
|
62
28
|
declare function closed<const Name extends string, const Handles extends ClosedHandleTuple, const Cols extends PayloadColumns>(name: Name, handles: Handles, columns: Cols, axioms: Axioms<Handles[number], Cols>): Closed<Name, Handles, Cols>;
|
|
63
|
-
|
|
64
|
-
|
|
29
|
+
declare function memberDescriptor<M extends AnyRelation | AnyClosed>(input: M): M;
|
|
30
|
+
declare function memberDescriptor(input: unknown): AnyRelation | AnyClosed;
|
|
31
|
+
declare function sealedFieldsOf(member: AnyRelation | AnyClosed): readonly RelationField[];
|
|
32
|
+
declare function sealedFieldOf(member: AnyRelation | AnyClosed, name: string): AnyField | undefined;
|
|
33
|
+
/** Equal names must denote equal ordered declarations, never constructor identities. */
|
|
34
|
+
declare function membersAgree(left: AnyRelation | AnyClosed | undefined, right: AnyRelation | AnyClosed): boolean;
|
|
35
|
+
export type { AnyClosed, AxiomRow, Axioms, Closed, PayloadField };
|
|
36
|
+
export { closed, closedDescriptor, closedId, isClosedMember, memberDescriptor, membersAgree, sealedFieldOf, sealedFieldsOf };
|
|
65
37
|
//# sourceMappingURL=closed.d.ts.map
|
package/dist/closed.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closed.d.ts","sourceRoot":"","sources":["../src/closed.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,
|
|
1
|
+
{"version":3,"file":"closed.d.ts","sourceRoot":"","sources":["../src/closed.ts"],"names":[],"mappings":"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"}
|