@bjornpagen/bumbledb 1.3.1 → 2.0.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 +153 -77
- package/README.md +107 -41
- package/dist/alternatives.d.ts +5 -6
- package/dist/alternatives.d.ts.map +1 -1
- package/dist/alternatives.js +5 -6
- package/dist/alternatives.js.map +1 -1
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +85 -0
- package/dist/bin.js.map +1 -0
- package/dist/capacity.d.ts +14 -17
- package/dist/capacity.d.ts.map +1 -1
- package/dist/capacity.js +7 -7
- package/dist/capacity.js.map +1 -1
- package/dist/changes.d.ts +32 -40
- package/dist/changes.d.ts.map +1 -1
- package/dist/changes.js +86 -104
- package/dist/changes.js.map +1 -1
- package/dist/closed.d.ts +2 -2
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +5 -5
- package/dist/closed.js.map +1 -1
- package/dist/codec.d.ts +13 -27
- package/dist/codec.d.ts.map +1 -1
- package/dist/codec.js +20 -21
- package/dist/codec.js.map +1 -1
- package/dist/compile.d.ts +26 -50
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +75 -64
- package/dist/compile.js.map +1 -1
- package/dist/database/database.d.ts +98 -0
- package/dist/database/database.d.ts.map +1 -0
- package/dist/database/database.js +249 -0
- package/dist/database/database.js.map +1 -0
- package/dist/database/driver.d.ts +40 -0
- package/dist/database/driver.d.ts.map +1 -0
- package/dist/database/driver.js +68 -0
- package/dist/database/driver.js.map +1 -0
- package/dist/database/fs.d.ts +12 -0
- package/dist/database/fs.d.ts.map +1 -0
- package/dist/database/fs.js +120 -0
- package/dist/database/fs.js.map +1 -0
- package/dist/database/generate.d.ts +26 -0
- package/dist/database/generate.d.ts.map +1 -0
- package/dist/database/generate.js +102 -0
- package/dist/database/generate.js.map +1 -0
- package/dist/database/hosted.d.ts +32 -0
- package/dist/database/hosted.d.ts.map +1 -0
- package/dist/database/hosted.js +44 -0
- package/dist/database/hosted.js.map +1 -0
- package/dist/database/io.d.ts +94 -0
- package/dist/database/io.d.ts.map +1 -0
- package/dist/database/io.js +35 -0
- package/dist/database/io.js.map +1 -0
- package/dist/database/mem.d.ts +26 -0
- package/dist/database/mem.d.ts.map +1 -0
- package/dist/database/mem.js +67 -0
- package/dist/database/mem.js.map +1 -0
- package/dist/database/migration.d.ts +55 -0
- package/dist/database/migration.d.ts.map +1 -0
- package/dist/database/migration.js +46 -0
- package/dist/database/migration.js.map +1 -0
- package/dist/database/s3.d.ts +36 -0
- package/dist/database/s3.d.ts.map +1 -0
- package/dist/database/s3.js +141 -0
- package/dist/database/s3.js.map +1 -0
- package/dist/db.d.ts +44 -128
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +163 -287
- package/dist/db.js.map +1 -1
- package/dist/engine.d.ts +7 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +2 -0
- package/dist/engine.js.map +1 -0
- package/dist/errors.d.ts +152 -46
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +107 -19
- package/dist/errors.js.map +1 -1
- package/dist/face.d.ts +5 -5
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +6 -6
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +4 -5
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +3 -3
- package/dist/fields.js.map +1 -1
- package/dist/index.d.ts +60 -57
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -28
- package/dist/index.js.map +1 -1
- package/dist/judgment.d.ts +1 -1
- package/dist/judgment.js +1 -1
- package/dist/law.d.ts +16 -68
- package/dist/law.d.ts.map +1 -1
- package/dist/law.js +3 -3
- package/dist/law.js.map +1 -1
- package/dist/lower.d.ts +3 -3
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +35 -39
- package/dist/lower.js.map +1 -1
- package/dist/native/addon.d.ts +23 -0
- package/dist/native/addon.d.ts.map +1 -0
- package/dist/native/addon.js +15 -0
- package/dist/native/addon.js.map +1 -0
- package/dist/native/binding.d.ts +996 -0
- package/dist/native/json.d.ts +14 -0
- package/dist/native/json.d.ts.map +1 -0
- package/dist/native/json.js +73 -0
- package/dist/native/json.js.map +1 -0
- package/dist/native/load.d.ts +9 -0
- package/dist/native/load.d.ts.map +1 -0
- package/dist/native/load.js +30 -0
- package/dist/native/load.js.map +1 -0
- package/dist/native/op.d.ts +29 -0
- package/dist/native/op.d.ts.map +1 -0
- package/dist/native/op.js +50 -0
- package/dist/native/op.js.map +1 -0
- package/dist/query/atom.d.ts +13 -14
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +2 -2
- package/dist/query/atom.js.map +1 -1
- package/dist/query/compute.d.ts +4 -4
- package/dist/query/compute.d.ts.map +1 -1
- package/dist/query/compute.js +4 -4
- package/dist/query/compute.js.map +1 -1
- package/dist/query/find.d.ts +8 -8
- package/dist/query/find.d.ts.map +1 -1
- package/dist/query/find.js +1 -1
- package/dist/query/lower.d.ts +22 -17
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +230 -343
- package/dist/query/lower.js.map +1 -1
- package/dist/query/run.d.ts +5 -5
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +32 -15
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +20 -28
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +7 -7
- package/dist/query/scope.js.map +1 -1
- package/dist/query/segments.d.ts +2 -2
- package/dist/query/segments.d.ts.map +1 -1
- package/dist/query/segments.js +3 -3
- package/dist/query/segments.js.map +1 -1
- package/dist/relation.d.ts +1 -1
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +4 -4
- package/dist/relation.js.map +1 -1
- package/dist/result.d.ts +15 -22
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +30 -39
- package/dist/result.js.map +1 -1
- package/dist/rows.d.ts +9 -33
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +8 -12
- package/dist/rows.js.map +1 -1
- package/dist/runtime.d.ts +17 -20
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +41 -205
- package/dist/runtime.js.map +1 -1
- package/dist/scalar.d.ts +4 -4
- package/dist/scalar.d.ts.map +1 -1
- package/dist/scalar.js +24 -8
- package/dist/scalar.js.map +1 -1
- package/dist/schema.d.ts +7 -18
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +18 -228
- package/dist/schema.js.map +1 -1
- package/dist/selection.d.ts +4 -4
- package/dist/selection.d.ts.map +1 -1
- package/dist/selection.js +5 -5
- package/dist/selection.js.map +1 -1
- package/dist/shape.d.ts +5 -5
- package/dist/shape.d.ts.map +1 -1
- package/dist/spec.d.ts +7 -79
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/statements.d.ts +3 -3
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +10 -10
- package/dist/statements.js.map +1 -1
- package/dist/uuid.d.ts +1 -1
- package/dist/uuid.d.ts.map +1 -1
- package/dist/uuid.js +1 -1
- package/dist/uuid.js.map +1 -1
- package/dist/values.d.ts +2 -2
- package/dist/values.d.ts.map +1 -1
- package/dist/values.js +2 -2
- package/dist/values.js.map +1 -1
- package/package.json +18 -18
- package/src/alternatives.ts +7 -8
- package/src/bin.ts +82 -0
- package/src/capacity.ts +20 -23
- package/src/changes.ts +134 -191
- package/src/closed.ts +5 -5
- package/src/codec.ts +35 -49
- package/src/compile.ts +91 -113
- package/src/database/database.ts +413 -0
- package/src/database/driver.ts +134 -0
- package/src/database/fs.ts +119 -0
- package/src/database/generate.ts +116 -0
- package/src/database/hosted.ts +102 -0
- package/src/database/io.ts +134 -0
- package/src/database/mem.ts +113 -0
- package/src/database/migration.ts +107 -0
- package/src/database/s3.ts +231 -0
- package/src/db.ts +290 -547
- package/src/engine.ts +14 -0
- package/src/errors.ts +118 -39
- package/src/face.ts +9 -9
- package/src/fields.ts +6 -7
- package/src/index.ts +92 -105
- package/src/judgment.ts +1 -1
- package/src/law.ts +18 -70
- package/src/lower.ts +61 -72
- package/src/native/addon.ts +54 -0
- package/src/native/binding.d.ts +996 -0
- package/src/native/json.ts +100 -0
- package/src/native/load.ts +31 -0
- package/src/native/op.ts +73 -0
- package/src/query/atom.ts +15 -16
- package/src/query/compute.ts +7 -7
- package/src/query/find.ts +8 -8
- package/src/query/lower.ts +270 -392
- package/src/query/run.ts +42 -21
- package/src/query/scope.ts +29 -37
- package/src/query/segments.ts +4 -4
- package/src/relation.ts +4 -4
- package/src/result.ts +53 -80
- package/src/rows.ts +18 -46
- package/src/runtime.ts +50 -277
- package/src/scalar.ts +32 -12
- package/src/schema.ts +23 -284
- package/src/selection.ts +6 -6
- package/src/shape.ts +5 -5
- package/src/spec.ts +7 -85
- package/src/statements.ts +11 -11
- package/src/uuid.ts +1 -1
- package/src/values.ts +4 -4
- package/dist/close.d.ts +0 -24
- package/dist/close.d.ts.map +0 -1
- package/dist/close.js +0 -34
- package/dist/close.js.map +0 -1
- package/dist/db-native.d.ts +0 -189
- package/dist/db-native.d.ts.map +0 -1
- package/dist/db-native.js +0 -13
- package/dist/db-native.js.map +0 -1
- package/dist/internal/log.d.ts +0 -26
- package/dist/internal/log.d.ts.map +0 -1
- package/dist/internal/log.js +0 -12
- package/dist/internal/log.js.map +0 -1
- package/dist/native.d.ts +0 -562
- package/dist/native.d.ts.map +0 -1
- package/dist/native.js +0 -123
- package/dist/native.js.map +0 -1
- package/dist/query/description.d.ts +0 -41
- package/dist/query/description.d.ts.map +0 -1
- package/dist/query/description.js +0 -311
- package/dist/query/description.js.map +0 -1
- package/dist/query/parse-ir.d.ts +0 -10
- package/dist/query/parse-ir.d.ts.map +0 -1
- package/dist/query/parse-ir.js +0 -280
- package/dist/query/parse-ir.js.map +0 -1
- package/dist/runtime-codes.d.ts +0 -2
- package/dist/runtime-codes.d.ts.map +0 -1
- package/dist/runtime-codes.js +0 -19
- package/dist/runtime-codes.js.map +0 -1
- package/dist/runtime-errors.d.ts +0 -138
- package/dist/runtime-errors.d.ts.map +0 -1
- package/dist/runtime-errors.js +0 -111
- package/dist/runtime-errors.js.map +0 -1
- package/dist/runtime-native.d.ts +0 -136
- package/dist/runtime-native.d.ts.map +0 -1
- package/dist/runtime-native.js +0 -5
- package/dist/runtime-native.js.map +0 -1
- package/dist/schema-file.d.ts +0 -7
- package/dist/schema-file.d.ts.map +0 -1
- package/dist/schema-file.js +0 -24
- package/dist/schema-file.js.map +0 -1
- package/pack-provenance.json +0 -7
- package/src/close.ts +0 -53
- package/src/db-native.ts +0 -235
- package/src/internal/log.ts +0 -46
- package/src/native.ts +0 -736
- package/src/query/description.ts +0 -424
- package/src/query/parse-ir.ts +0 -293
- package/src/runtime-codes.ts +0 -18
- package/src/runtime-errors.ts +0 -122
- package/src/runtime-native.ts +0 -181
- package/src/schema-file.ts +0 -38
package/dist/query/segments.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IntervalElementKind, IntervalField } from "../fields.
|
|
2
|
-
import { type AnyVar } from "./scope.
|
|
1
|
+
import type { IntervalElementKind, IntervalField } from "../fields.ts";
|
|
2
|
+
import { type AnyVar } from "./scope.ts";
|
|
3
3
|
type IntervalVar<E extends IntervalElementKind = IntervalElementKind> = AnyVar & {
|
|
4
4
|
readonly field: IntervalField<E>;
|
|
5
5
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/query/segments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/query/segments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEtE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,YAAY,CAAA;AAEtD,KAAK,WAAW,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IAAI,MAAM,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AACrH,KAAK,SAAS,GAAG,cAAc,GAAG,YAAY,CAAA;AAE9C,mFAAmF;AACnF,UAAU,QAAQ,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IACrE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CAC9B;AAoBD,iBAAS,YAAY,CAAC,CAAC,SAAS,mBAAmB,EAClD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC5B,QAAQ,CAAC,CAAC,CAAC,CAEb;AAED,iBAAS,UAAU,CAAC,CAAC,SAAS,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEpH;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAQrD;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAEpF;AAED,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA"}
|
package/dist/query/segments.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AuthoringError } from "
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { AuthoringError } from "../errors.js";
|
|
2
|
+
import { recordValue } from "../values.js";
|
|
3
|
+
import { isTerm, term } from "./scope.js";
|
|
4
4
|
function segments(op, left, right) {
|
|
5
5
|
if (!isTerm(left) ||
|
|
6
6
|
left[term] !== "var" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/query/segments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/query/segments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAe,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAatD,SAAS,QAAQ,CAChB,EAAa,EACb,IAAoB,EACpB,KAA8B;IAE9B,IACC,CAAC,MAAM,CAAC,IAAI,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;QACpB,CAAC,MAAM,CAAC,KAAK,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;QAC9B,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO;QAE1C,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,wDAAwD,EAAE,CAAC,CAAA;IACrG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,YAAY,CACpB,IAAoB,EACpB,KAA8B;IAE9B,OAAO,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,SAAS,UAAU,CAAgC,IAAoB,EAAE,KAA8B;IACtG,OAAO,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IAChH,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,KAAiB,CAAA;IAC/B,IAAI,KAAK,CAAC,EAAE,KAAK,cAAc,IAAI,KAAK,CAAC,EAAE,KAAK,YAAY;QAC3D,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAA;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,KAAe;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AAChG,CAAC;AAGD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA"}
|
package/dist/relation.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnyField, type Infer } from "./fields.
|
|
1
|
+
import { type AnyField, type Infer } from "./fields.ts";
|
|
2
2
|
/** Ordinary relations are structural declarations. Field order defines native ordinals. */
|
|
3
3
|
interface Relation<Name extends string = string, Fields extends FieldsShape = FieldsShape> {
|
|
4
4
|
readonly kind: "relation";
|
package/dist/relation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,QAAQ,EAIb,KAAK,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,QAAQ,EAIb,KAAK,KAAK,EACV,MAAM,aAAa,CAAA;AAIpB,2FAA2F;AAC3F,UAAU,QAAQ,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,SAAS,WAAW,GAAG,WAAW;IACxF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACvB;AACD,KAAK,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AACrD,KAAK,WAAW,GAAG,QAAQ,CAAA;AAC3B,KAAK,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;AACxD,KAAK,IAAI,CAAC,CAAC,SAAS,WAAW,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEhG,UAAU,aAAa;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACxB;AAED,kFAAkF;AAClF,iBAAS,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;AACvE,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,CAAA;AAehE,iBAAS,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/D,iBAAS,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAA;AAiBxD,iBAAS,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,MAAM,SAAS,WAAW,EAC5E,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACZ,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAExB;AAED,kEAAkE;AAClE,iBAAS,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,aAAa,EAAE,CAEvE;AAED,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAA"}
|
package/dist/relation.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AuthoringError } from "
|
|
2
|
-
import { assertDeclarationOrderKey, assertDeclarationRecord, fieldDescriptor } from "
|
|
3
|
-
import { descriptorCache } from "
|
|
4
|
-
import { recordValue } from "
|
|
1
|
+
import { AuthoringError } from "./errors.js";
|
|
2
|
+
import { assertDeclarationOrderKey, assertDeclarationRecord, fieldDescriptor } from "./fields.js";
|
|
3
|
+
import { descriptorCache } from "./immutable.js";
|
|
4
|
+
import { recordValue } from "./values.js";
|
|
5
5
|
function ownFields(context, input) {
|
|
6
6
|
if (typeof input !== "object" || input === null)
|
|
7
7
|
throw new AuthoringError({ message: `${context}: expected a field record` });
|
package/dist/relation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAEN,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,EAEf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAqBzC,SAAS,SAAS,CAAC,OAAe,EAAE,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC9C,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,2BAA2B,EAAE,CAAC,CAAA;IAC7E,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACvC,OAAO,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC3C,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CACF,CACD,CAAA;AACF,CAAC;AAID,SAAS,kBAAkB,CAAC,KAAc;IACzC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,KAAK,EAAe,EAAE;IAC9D,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtE,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC1D,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAA;IACnF,yBAAyB,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,SAAS,CAAC,YAAY,GAAG,CAAC,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;KAC5D,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,SAAS,QAAQ,CAChB,IAAU,EACV,MAAc;IAEd,OAAO,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AAC9D,CAAC;AAED,kEAAkE;AAClE,SAAS,cAAc,CAAC,QAAqB;IAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AACjF,CAAC;AAGD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAA"}
|
package/dist/result.d.ts
CHANGED
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
import { Effect, Stream } from "effect";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
2
|
+
import type { DbError } from "./errors.ts";
|
|
3
|
+
import type { ResultRef } from "./native/addon.ts";
|
|
4
|
+
import type { FindColumn } from "./query/atom.ts";
|
|
5
5
|
/**
|
|
6
|
-
* One complete answer set, sealed after evaluation and independent of its
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* The stream owns its cursor through Effect scope. Early termination,
|
|
12
|
-
* failure, interruption and EOF close/drain it. Creating the stream does
|
|
13
|
-
* not spend the result; running it twice fails with SpentHandle.
|
|
6
|
+
* One complete answer set, sealed after evaluation and independent of its snapshot. `collect`
|
|
7
|
+
* reads every row and leaves the result readable. `pages` spends the result once through
|
|
8
|
+
* bounded batches; the stream owns its cursor, so ending it early releases the cursor, and
|
|
9
|
+
* running it a second time fails with `SpentHandle`.
|
|
14
10
|
*/
|
|
15
11
|
interface CompleteResult<A> {
|
|
16
12
|
collect(): Effect.Effect<ReadonlyArray<A>, DbError>;
|
|
17
13
|
pages(): Stream.Stream<ReadonlyArray<A>, DbError>;
|
|
18
|
-
close(): Effect.Effect<CloseReport>;
|
|
19
14
|
}
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
declare class CompleteResultLive<A> implements CompleteResult<A> {
|
|
16
|
+
#private;
|
|
17
|
+
constructor(handle: ResultRef, finds: readonly FindColumn[]);
|
|
18
|
+
collect(): Effect.Effect<ReadonlyArray<A>, DbError>;
|
|
19
|
+
pages(): Stream.Stream<ReadonlyArray<A>, DbError>;
|
|
20
|
+
/** The native result behind `value`, when `value` is a result this SDK made. */
|
|
21
|
+
static handle(value: object): ResultRef | undefined;
|
|
22
22
|
}
|
|
23
|
-
/** Private cross-module accessor (scope finalizers in db.ts reach the handle). */
|
|
24
|
-
declare function internalResult(value: object): ResultInternal | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* Internal constructor: `db.ts` publishes results through this after
|
|
27
|
-
* execution completes. Each delivery has independent cooperative cancellation.
|
|
28
|
-
*/
|
|
29
|
-
declare function makeCompleteResult<A>(handle: ResultHandle, finds: readonly FindColumn[]): CompleteResult<A>;
|
|
30
23
|
export type { CompleteResult };
|
|
31
|
-
export {
|
|
24
|
+
export { CompleteResultLive };
|
|
32
25
|
//# sourceMappingURL=result.d.ts.map
|
package/dist/result.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIjD;;;;;GAKG;AACH,UAAU,cAAc,CAAC,CAAC;IACzB,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACnD,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;CACjD;AAMD,cAAM,kBAAkB,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;;IAIvD,YAAY,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,UAAU,EAAE,EAG1D;IAED,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAQlD;IAED,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAqBhD;IAED,gFAAgF;IAChF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAElD;CACD;AAED,YAAY,EAAE,cAAc,EAAE,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
package/dist/result.js
CHANGED
|
@@ -1,45 +1,36 @@
|
|
|
1
1
|
import { Effect, Option, Stream } from "effect";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { decodeAnswers } from "
|
|
5
|
-
import { nativeOperationWith } from "#runtime.ts";
|
|
6
|
-
const resultInternals = new WeakMap();
|
|
7
|
-
/** Private cross-module accessor (scope finalizers in db.ts reach the handle). */
|
|
8
|
-
function internalResult(value) {
|
|
9
|
-
return resultInternals.get(value);
|
|
10
|
-
}
|
|
2
|
+
import { addon } from "./native/addon.js";
|
|
3
|
+
import { call, scoped } from "./native/op.js";
|
|
4
|
+
import { decodeAnswers } from "./query/run.js";
|
|
11
5
|
function decodePage(finds, rows) {
|
|
12
|
-
// Owned ordinary records in declared column order — the same fields and
|
|
13
|
-
// shapes on every page (stable row shape; no Proxy, no per-row fiber).
|
|
14
6
|
return Object.freeze(decodeAnswers(finds, rows));
|
|
15
7
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return value;
|
|
8
|
+
class CompleteResultLive {
|
|
9
|
+
#handle;
|
|
10
|
+
#finds;
|
|
11
|
+
constructor(handle, finds) {
|
|
12
|
+
this.#handle = handle;
|
|
13
|
+
this.#finds = finds;
|
|
14
|
+
}
|
|
15
|
+
collect() {
|
|
16
|
+
const handle = this.#handle;
|
|
17
|
+
const finds = this.#finds;
|
|
18
|
+
return call("CompleteResult.collect", (done) => addon.runtimeResultCollect(handle, done), (lease) => decodePage(finds, addon.runtimeRowsTake(lease))).pipe(Effect.withSpan("CompleteResult.collect"));
|
|
19
|
+
}
|
|
20
|
+
pages() {
|
|
21
|
+
const handle = this.#handle;
|
|
22
|
+
const finds = this.#finds;
|
|
23
|
+
return Stream.unwrap(Effect.gen(function* () {
|
|
24
|
+
const cursor = yield* scoped("ResultCursor.release", call("CompleteResult.pages", (done) => addon.runtimeResultCursor(handle, done), addon.runtimeCursorTake), (owned) => (done) => addon.runtimeCursorClose(owned, done));
|
|
25
|
+
return Stream.paginate(undefined, () => call("CompleteResult.page", (done) => addon.runtimeCursorNext(cursor, done), addon.runtimePageTake).pipe(Effect.map((page) => page === null
|
|
26
|
+
? [[], Option.none()]
|
|
27
|
+
: [[decodePage(finds, page)], Option.some(undefined)])));
|
|
28
|
+
})).pipe(Stream.withSpan("CompleteResult.pages"));
|
|
29
|
+
}
|
|
30
|
+
/** The native result behind `value`, when `value` is a result this SDK made. */
|
|
31
|
+
static handle(value) {
|
|
32
|
+
return #handle in value ? value.#handle : undefined;
|
|
33
|
+
}
|
|
43
34
|
}
|
|
44
|
-
export {
|
|
35
|
+
export { CompleteResultLive };
|
|
45
36
|
//# sourceMappingURL=result.js.map
|
package/dist/result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAc9C,SAAS,UAAU,CAAI,KAA4B,EAAE,IAAuC;IAC3F,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,kBAAkB;IACd,OAAO,CAAW;IAClB,MAAM,CAAuB;IAEtC,YAAY,MAAiB,EAAE,KAA4B;QAC1D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,OAAO;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,OAAO,IAAI,CACV,wBAAwB,EACxB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAI,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,KAAK;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,OAAO,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnB,MAAM,MAAM,GAAc,KAAK,CAAC,CAAC,MAAM,CACtC,sBAAsB,EACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,EACxG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAC1D,CAAA;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CACvG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI,KAAK,IAAI;gBACZ,CAAC,CAAE,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAa,CAAW;gBAC3C,CAAC,CAAE,CAAC,CAAC,UAAU,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAW,CACpE,CACD,CACD,CAAA;QACF,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,MAAM,CAAC,KAAa;QAC1B,OAAO,OAAO,IAAI,KAAK,CAAC,CAAC,CAAE,KAAqC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IACrF,CAAC;CACD;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
package/dist/rows.d.ts
CHANGED
|
@@ -1,40 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The row
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* objects of BARE structural values. This module is the one fact⇄row
|
|
7
|
-
* projector. It covers all value types: bool, u64, i64,
|
|
8
|
-
* f64, uuid, str, bytes<N>, discrete intervals and dense float intervals,
|
|
9
|
-
* plus the closed-handle bijection (name ⇄ declaration-order row id).
|
|
10
|
-
*
|
|
11
|
-
* Cells here are OWNED plain host values; the native boundary re-judges
|
|
12
|
-
* every crossing against its resident sealed roster. Shape misuse throws
|
|
13
|
-
* the pure {@link AuthoringError}; the Effect ingestion boundary catches
|
|
14
|
-
* and types it (never an untracked partial draft). SharedArrayBuffer-backed
|
|
15
|
-
* views are refused before any copy. Host length is judged before string
|
|
16
|
-
* scans and byte copies.
|
|
2
|
+
* The one fact ⇄ row projector: named host objects to positional cells in field-declaration order
|
|
3
|
+
* and back, for every value type plus the closed-handle bijection (name ⇄ declaration-order id).
|
|
4
|
+
* Cells are owned host values that the native boundary checks again; shape misuse throws
|
|
5
|
+
* `AuthoringError`. SharedArrayBuffer-backed views are refused before any copy.
|
|
17
6
|
*/
|
|
18
|
-
import type { AnyClosedRoster, AnyField } from "./fields.
|
|
19
|
-
import
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* type disambiguates the union: `string` is text, an `uuid` in its
|
|
23
|
-
* canonical hyphenated UUID spelling, or a closed handle
|
|
24
|
-
* before lowering (closed handles cross as `bigint` row ids),
|
|
25
|
-
* `Uint8Array` is `bytes<N>`, `{ start, end }` bigints are a discrete
|
|
26
|
-
* interval and numbers a dense float interval.
|
|
27
|
-
*/
|
|
28
|
-
type CellValue = boolean | bigint | number | string | Uint8Array | {
|
|
29
|
-
readonly start: bigint;
|
|
30
|
-
readonly end: bigint;
|
|
31
|
-
} | {
|
|
32
|
-
readonly start: number;
|
|
33
|
-
readonly end: number;
|
|
34
|
-
};
|
|
7
|
+
import type { AnyClosedRoster, AnyField } from "./fields.ts";
|
|
8
|
+
import type { CellValue } from "./native/binding.d.ts";
|
|
9
|
+
import { type AnyRelation, type Fact } from "./relation.ts";
|
|
10
|
+
/** Row-major cells for `rows` rows, in sealed field order. */
|
|
35
11
|
interface FlatRows {
|
|
36
12
|
readonly rows: bigint;
|
|
37
|
-
readonly cells:
|
|
13
|
+
readonly cells: CellValue[];
|
|
38
14
|
}
|
|
39
15
|
declare function recordOf(fact: object): Readonly<Record<string, unknown>>;
|
|
40
16
|
/**
|
package/dist/rows.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,IAAI,EAAkB,MAAM,eAAe,CAAA;AAG3E,8DAA8D;AAC9D,UAAU,QAAQ;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAA;CAC3B;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKjE;AAED;;;GAGG;AACH,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiB9C;AAED,iBAAS,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAWjF;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAK3E;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,CASlE;AAED;;;;;GAKG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAQxE;AAED,iBAAS,UAAU,CAClB,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,SAAS,EAAE,CASb;AAED,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAS5E;AAWD;;;GAGG;AACH,iBAAS,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAqBzF;AAED,qFAAqF;AACrF,iBAAS,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAMxF;AAED,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;AACnC,OAAO,EACN,MAAM,EACN,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,CAAA"}
|
package/dist/rows.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AuthoringError,
|
|
2
|
-
import { literalShapeError, rosterOf } from "
|
|
3
|
-
import { relationFields } from "
|
|
4
|
-
import { fieldValue, recordValue } from "
|
|
1
|
+
import { AuthoringError, internalError } from "./errors.js";
|
|
2
|
+
import { literalShapeError, rosterOf } from "./fields.js";
|
|
3
|
+
import { relationFields } from "./relation.js";
|
|
4
|
+
import { fieldValue, recordValue } from "./values.js";
|
|
5
5
|
function recordOf(fact) {
|
|
6
6
|
if (typeof fact !== "object" || fact === null) {
|
|
7
7
|
throw new AuthoringError({ message: "expected a fact record" });
|
|
@@ -87,7 +87,7 @@ function decodeCell(context, field, cell) {
|
|
|
87
87
|
}
|
|
88
88
|
catch (cause) {
|
|
89
89
|
if (cause instanceof AuthoringError)
|
|
90
|
-
throw
|
|
90
|
+
throw internalError(cause.message);
|
|
91
91
|
throw cause;
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -103,24 +103,20 @@ function isCompleteFact(relation, decoded) {
|
|
|
103
103
|
function factOfCells(relation, row) {
|
|
104
104
|
const data = relation;
|
|
105
105
|
if (row.length !== relationFields(data).length) {
|
|
106
|
-
throw
|
|
107
|
-
message: `relation ${data.name}: row arity ${row.length} does not match the ${relationFields(data).length} declared fields`
|
|
108
|
-
});
|
|
106
|
+
throw internalError(`relation ${data.name}: row arity ${row.length} does not match the ${relationFields(data).length} declared fields`);
|
|
109
107
|
}
|
|
110
108
|
const decoded = {};
|
|
111
109
|
relationFields(data).forEach(function decodeOne(declared, ordinal) {
|
|
112
110
|
const cell = row[ordinal];
|
|
113
111
|
if (cell === undefined) {
|
|
114
|
-
throw
|
|
115
|
-
message: `relation ${data.name}: row cell ${ordinal} (${declared.name}) is absent`
|
|
116
|
-
});
|
|
112
|
+
throw internalError(`relation ${data.name}: row cell ${ordinal} (${declared.name}) is absent`);
|
|
117
113
|
}
|
|
118
114
|
const value = decodeCell(`relation ${data.name} field ${declared.name}`, declared.field, cell);
|
|
119
115
|
setOwnField(decoded, declared.name, value);
|
|
120
116
|
});
|
|
121
117
|
Object.freeze(decoded);
|
|
122
118
|
if (!isCompleteFact(relation, decoded)) {
|
|
123
|
-
throw
|
|
119
|
+
throw internalError(`relation ${data.name}: decoded row is not a complete fact`);
|
|
124
120
|
}
|
|
125
121
|
return decoded;
|
|
126
122
|
}
|
package/dist/rows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Context, Duration, Effect, Layer } from "effect";
|
|
2
|
-
import type {
|
|
3
|
-
import { DbError } from "./
|
|
4
|
-
import type {
|
|
5
|
-
|
|
2
|
+
import type { OutstandingWork } from "./errors.ts";
|
|
3
|
+
import { DbError } from "./errors.ts";
|
|
4
|
+
import type { RuntimeRef } from "./native/addon.ts";
|
|
5
|
+
/** Sizing for the native runtime. The addon validates every count and picks the defaults. */
|
|
6
|
+
export interface BumbleOptions {
|
|
6
7
|
readonly workers?: number;
|
|
7
8
|
readonly queueCapacity?: number;
|
|
8
9
|
readonly cleanupCapacity?: number;
|
|
@@ -10,24 +11,20 @@ export interface NativeRuntimeOptions {
|
|
|
10
11
|
readonly nativeHandleCapacity?: number;
|
|
11
12
|
readonly cleanupTimeout?: Duration.Input;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
/** The live native runtime: one worker pool and handle registry per process. */
|
|
15
|
+
export declare class Runtime {
|
|
16
|
+
#private;
|
|
17
|
+
/** The runtime's outstanding native work, after every operation queued before it settles. */
|
|
15
18
|
readonly inspect: () => Effect.Effect<OutstandingWork, DbError>;
|
|
19
|
+
constructor(handle: RuntimeRef);
|
|
20
|
+
static handle(runtime: Runtime): RuntimeRef;
|
|
16
21
|
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*/
|
|
22
|
-
export declare function nativeOperation<A>(operation: string, start: (callback: () => void) => OperationHandle, accept: (value: Uint8Array | null) => A): Effect.Effect<A, DbError>;
|
|
23
|
-
export declare function nativeOperationWith<A, Value>(operation: string, start: (callback: () => void) => OperationHandle, take: (operation: OperationHandle) => Value, accept: (value: Value) => A): Effect.Effect<A, DbError>;
|
|
24
|
-
declare const NativeRuntime_base: Context.ServiceClass<NativeRuntime, "@bjornpagen/bumbledb/NativeRuntime", RuntimeService>;
|
|
25
|
-
export declare class NativeRuntime extends NativeRuntime_base {
|
|
26
|
-
static layer(options?: NativeRuntimeOptions): Layer.Layer<NativeRuntime, DbError>;
|
|
22
|
+
declare const Bumble_base: Context.ServiceClass<Bumble, "@bjornpagen/bumbledb/Bumble", Runtime>;
|
|
23
|
+
/** The native runtime as an Effect service. Provide `Bumble.layer()` once in the application graph. */
|
|
24
|
+
export declare class Bumble extends Bumble_base {
|
|
25
|
+
static layer(options?: BumbleOptions): Layer.Layer<Bumble, DbError>;
|
|
27
26
|
}
|
|
28
|
-
/**
|
|
29
|
-
export declare const runtimeHandle:
|
|
30
|
-
/** Internal first executor consumer; not a replacement row codec or public hash API. */
|
|
31
|
-
export declare const hashChunk: (input: Uint8Array<ArrayBufferLike>) => Effect.Effect<Uint8Array<ArrayBufferLike>, DbError, NativeRuntime>;
|
|
27
|
+
/** The provided runtime's native handle. */
|
|
28
|
+
export declare const runtimeHandle: Effect.Effect<RuntimeRef, never, Bumble>;
|
|
32
29
|
export {};
|
|
33
30
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,EAAW,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAKnD,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;CACxC;AAkBD,gFAAgF;AAChF,qBAAa,OAAO;;IAEnB,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAE/D,YAAY,MAAM,EAAE,UAAU,EAM7B;IAED,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE1C;CACD;;AAaD,uGAAuG;AACvG,qBAAa,MAAO,SAAQ,WAAiE;IAC5F,MAAM,CAAC,KAAK,CAAC,OAAO,GAAE,aAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtE;CACD;AAED,4CAA4C;AAC5C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAEjE,CAAA"}
|