@bjornpagen/bumbledb 0.12.0 → 0.14.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.
Files changed (53) hide show
  1. package/COOKBOOK.md +10 -8
  2. package/README.md +5 -4
  3. package/dist/capacity.d.ts +2 -2
  4. package/dist/closed.d.ts +4 -4
  5. package/dist/db.d.ts +109 -60
  6. package/dist/db.d.ts.map +1 -1
  7. package/dist/db.js +90 -71
  8. package/dist/db.js.map +1 -1
  9. package/dist/exhume.d.ts +2 -2
  10. package/dist/face.d.ts +3 -3
  11. package/dist/fields.d.ts +1 -1
  12. package/dist/index.d.ts +32 -32
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/law.d.ts +5 -5
  16. package/dist/lower.d.ts +5 -5
  17. package/dist/marshal.d.ts +8 -30
  18. package/dist/marshal.d.ts.map +1 -1
  19. package/dist/marshal.js +4 -21
  20. package/dist/marshal.js.map +1 -1
  21. package/dist/native.d.ts +38 -21
  22. package/dist/native.d.ts.map +1 -1
  23. package/dist/native.js.map +1 -1
  24. package/dist/query/atom.d.ts +4 -4
  25. package/dist/query/find.d.ts +18 -13
  26. package/dist/query/find.d.ts.map +1 -1
  27. package/dist/query/find.js +2 -2
  28. package/dist/query/find.js.map +1 -1
  29. package/dist/query/lower.d.ts +10 -10
  30. package/dist/query/lower.d.ts.map +1 -1
  31. package/dist/query/lower.js +5 -4
  32. package/dist/query/lower.js.map +1 -1
  33. package/dist/query/parse-ir.d.ts +1 -1
  34. package/dist/query/parse-ir.d.ts.map +1 -1
  35. package/dist/query/parse-ir.js +11 -9
  36. package/dist/query/parse-ir.js.map +1 -1
  37. package/dist/query/run.d.ts +3 -3
  38. package/dist/query/scope.d.ts +5 -5
  39. package/dist/relation.d.ts +6 -17
  40. package/dist/relation.d.ts.map +1 -1
  41. package/dist/relation.js +3 -4
  42. package/dist/relation.js.map +1 -1
  43. package/dist/schema.d.ts +4 -4
  44. package/dist/statements.d.ts +4 -4
  45. package/package.json +4 -3
  46. package/src/db.ts +248 -168
  47. package/src/index.ts +8 -2
  48. package/src/marshal.ts +5 -35
  49. package/src/native.ts +34 -16
  50. package/src/query/find.ts +19 -14
  51. package/src/query/lower.ts +7 -6
  52. package/src/query/parse-ir.ts +11 -9
  53. package/src/relation.ts +3 -15
@@ -41,27 +41,29 @@ function align(context, head, rules) {
41
41
  });
42
42
  }
43
43
  }
44
- /** Count forbids `over`; every other aggregate requires it. */
44
+ /** Count is nullary; pack and folds require `over`. */
45
45
  function parseFind(context, find) {
46
- if (find.kind !== "aggregate") {
47
- return;
48
- }
49
- if (find.op.kind === "count") {
50
- if ("over" in find) {
46
+ const raw = find;
47
+ if (find.kind === "count") {
48
+ if ("over" in raw) {
51
49
  throw errors.new(`${context}: Count carries no over`);
52
50
  }
53
51
  return;
54
52
  }
55
- if (!("over" in find)) {
56
- throw errors.new(`${context}: fold aggregate requires over`);
53
+ if (find.kind === "pack" || find.kind === "aggregate" || find.kind === "aggregateMeasure") {
54
+ if (!("over" in raw)) {
55
+ throw errors.new(`${context}: ${find.kind} requires over`);
56
+ }
57
57
  }
58
58
  }
59
- /** Head family of one find term: measure is a var slot; measure-folds are aggregates. */
59
+ /** Head family of one find term: measure is a var slot; count/pack/folds are aggregates. */
60
60
  function findFamily(find) {
61
61
  switch (find.kind) {
62
62
  case "var":
63
63
  case "measure":
64
64
  return "var";
65
+ case "count":
66
+ case "pack":
65
67
  case "aggregate":
66
68
  case "aggregateMeasure":
67
69
  return "aggregate";
@@ -1 +1 @@
1
- {"version":3,"file":"parse-ir.js","sourceRoot":"","sources":["../../src/query/parse-ir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-ir.js","sourceRoot":"","sources":["../../src/query/parse-ir.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,9 @@
15
15
  * SETS — no order or limit exists anywhere; hosts sort. The `Prepared`
16
16
  * VALUE itself (no lifecycle, GC-reclaimed plan) lives in `#db.ts`.
17
17
  */
18
- import type { FactValue, QueryParam } from "#native.ts";
19
- import type { FindColumn } from "#query/atom.ts";
20
- import type { ParamEntry } from "#query/scope.ts";
18
+ import type { FactValue, QueryParam } from "../native.js";
19
+ import type { FindColumn } from "./atom.js";
20
+ import type { ParamEntry } from "./scope.js";
21
21
  /**
22
22
  * Marshals the typed params object to the bridge's positional arguments,
23
23
  * in registry order (= the lowering's dense `ParamId`s). A missing entry
@@ -29,11 +29,11 @@
29
29
  * {@link JoinOk} with its runtime twin {@link fieldJoins}, and the
30
30
  * record-folding helpers `Params` and `Row` inference ride.
31
31
  */
32
- import type { AnyClosed } from "#closed.ts";
33
- import type { AnyField, Infer } from "#fields.ts";
34
- import type { ClassLookup, ClassRecordOf, SchemaClasses } from "#law.ts";
35
- import type { QueryParam } from "#native.ts";
36
- import type { AnyRelation, RelationFields } from "#relation.ts";
32
+ import type { AnyClosed } from "../closed.js";
33
+ import type { AnyField, Infer } from "../fields.js";
34
+ import type { ClassLookup, ClassRecordOf, SchemaClasses } from "../law.js";
35
+ import type { QueryParam } from "../native.js";
36
+ import type { AnyRelation, RelationFields } from "../relation.js";
37
37
  /**
38
38
  * The runtime discriminant of query term values. Host literals (bigints,
39
39
  * strings, interval objects) never carry it, so "is this position a term
@@ -7,17 +7,12 @@
7
7
  * verified against their roster at construction). Fields are addressed by
8
8
  * NAME everywhere — statements (`on(R, "holder")`), selections, and match
9
9
  * records all spell the field's own name, checked by type
10
- * (`FaceFields`/`MatchShape`). `Fact<>`/`InsertFact<>` are the inferred
11
- * row object types at BARE structural value types (no brands): fresh
12
- * fields are optional on insert input (omit-to-mint) and present on read
13
- * (resupply-to-preserve-identity), typed exactly.
10
+ * (`FaceFields`/`MatchShape`). `Fact<>` is the inferred row object type
11
+ * at BARE structural value types (no brands): every field is present,
12
+ * including fresh cells. Mint with `tx.reserve` before insert.
14
13
  */
15
- import { type AnyField, type Infer } from "#fields.ts";
16
- import { type LiteralSetSpec } from "#spec.ts";
17
- /** Flattens an intersection into one displayed object type (hover legibility). */
18
- type Flatten<T> = {
19
- [K in keyof T]: T[K];
20
- };
14
+ import { type AnyField, type Infer } from "./fields.js";
15
+ import { type LiteralSetSpec } from "./spec.js";
21
16
  /**
22
17
  * Resolves a whole `where()` selection against the declared fields, in the
23
18
  * selection's written order (macro parity: σ is spelled, not sorted). An
@@ -96,12 +91,6 @@ type FreshKeys<R extends AnyRelation> = {
96
91
  readonly fresh: true;
97
92
  } ? K : never;
98
93
  }[keyof RelationFields<R>];
99
- /**
100
- * The inferred row object type of a relation as INSERTED: fresh fields
101
- * optional — omitted, the engine mints; supplied, identity is preserved
102
- * (the ETL resupply idiom).
103
- */
104
- type InsertFact<R extends AnyRelation> = Flatten<Omit<Fact<R>, FreshKeys<R>> & Partial<Pick<Fact<R>, FreshKeys<R>>>>;
105
94
  /**
106
95
  * Declares one relation: `relation("Account", { id: u64.fresh,
107
96
  * holder: u64, kind: Kind.id, ... })` — every field is a pure-structure
@@ -113,6 +102,6 @@ type InsertFact<R extends AnyRelation> = Flatten<Omit<Fact<R>, FreshKeys<R>> & P
113
102
  * on. The returned value is frozen and side-effect free.
114
103
  */
115
104
  declare function relation<const Name extends string, Fields extends FieldsShape>(name: Name, fields: Fields): Relation<Name, Fields>;
116
- export type { AnyRelation, AnySelected, Fact, FieldsShape, FreshKeys, InsertFact, Relation, RelationData, RelationField, RelationFields, Selected, SelectionBinding, SelectionInput };
105
+ export type { AnyRelation, AnySelected, Fact, FieldsShape, FreshKeys, Relation, RelationData, RelationField, RelationFields, Selected, SelectionBinding, SelectionInput };
117
106
  export { relation, resolveSelection };
118
107
  //# sourceMappingURL=relation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"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"}
package/dist/relation.js CHANGED
@@ -7,10 +7,9 @@
7
7
  * verified against their roster at construction). Fields are addressed by
8
8
  * NAME everywhere — statements (`on(R, "holder")`), selections, and match
9
9
  * records all spell the field's own name, checked by type
10
- * (`FaceFields`/`MatchShape`). `Fact<>`/`InsertFact<>` are the inferred
11
- * row object types at BARE structural value types (no brands): fresh
12
- * fields are optional on insert input (omit-to-mint) and present on read
13
- * (resupply-to-preserve-identity), typed exactly.
10
+ * (`FaceFields`/`MatchShape`). `Fact<>` is the inferred row object type
11
+ * at BARE structural value types (no brands): every field is present,
12
+ * including fresh cells. Mint with `tx.reserve` before insert.
14
13
  */
15
14
  import * as errors from "@superbuilders/errors";
16
15
  import { assertDeclarationOrderKey, assertDeclarationRecord, literalOf } from "#fields.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"relation.js","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation.js","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -8,10 +8,10 @@
8
8
  * DELIBERATELY left to the engine's `SchemaError` at `Db.create` — the
9
9
  * same judge, the same two-boundary split as Rust.
10
10
  */
11
- import type { AnyClosed } from "#closed.ts";
12
- import { type ClassesOf, type LawfulStatements, type SchemaClasses } from "#law.ts";
13
- import type { AnyRelation } from "#relation.ts";
14
- import { type Statement } from "#statements.ts";
11
+ import type { AnyClosed } from "./closed.js";
12
+ import { type ClassesOf, type LawfulStatements, type SchemaClasses } from "./law.js";
13
+ import type { AnyRelation } from "./relation.js";
14
+ import { type Statement } from "./statements.js";
15
15
  /** One member of a schema's relation record. */
16
16
  type SchemaRelation = AnyRelation | AnyClosed;
17
17
  /** The relation record a schema is generic over — what `Db` and queries key on. */
@@ -33,10 +33,10 @@
33
33
  * `Db.create`/`Db.open` (the two-boundary split, engine as final
34
34
  * authority).
35
35
  */
36
- import { type BoundsOnTarget, type CapacityWeight, type CapacityWindow, type UnitDimensionBan, type UnitWindowBan, type WeightOnSource } from "#capacity.ts";
37
- import { type AnyFace, type FaceData, type SameArity, type SameShapes } from "#face.ts";
38
- import type { AnyRelation, RelationFields } from "#relation.ts";
39
- import { type CapacityWindowSpec, type WeightSpec } from "#spec.ts";
36
+ import { type BoundsOnTarget, type CapacityWeight, type CapacityWindow, type UnitDimensionBan, type UnitWindowBan, type WeightOnSource } from "./capacity.js";
37
+ import { type AnyFace, type FaceData, type SameArity, type SameShapes } from "./face.js";
38
+ import type { AnyRelation, RelationFields } from "./relation.js";
39
+ import { type CapacityWindowSpec, type WeightSpec } from "./spec.js";
40
40
  /** A `key()` statement's runtime description — owner and projection carried at exact types. */
41
41
  interface KeyData<R extends AnyRelation, Projection extends readonly string[]> {
42
42
  readonly kind: "key";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bjornpagen/bumbledb",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Type-theoretic TypeScript SDK for the bumbledb embedded relational engine",
5
5
  "type": "module",
6
6
  "exports": {
@@ -12,7 +12,8 @@
12
12
  "imports": {
13
13
  "#test/*.ts": "./test/*.ts",
14
14
  "#*.ts": {
15
- "types": "./src/*.ts",
15
+ "bumbledb-src": "./src/*.ts",
16
+ "types": "./dist/*.d.ts",
16
17
  "default": "./dist/*.js"
17
18
  }
18
19
  },
@@ -53,7 +54,7 @@
53
54
  },
54
55
  "private": false,
55
56
  "optionalDependencies": {
56
- "@bjornpagen/bumbledb-darwin-arm64": "0.12.0"
57
+ "@bjornpagen/bumbledb-darwin-arm64": "0.14.0"
57
58
  },
58
59
  "scripts": {
59
60
  "build": "node scripts/build.ts",