@bjornpagen/bumbledb 1.0.1 → 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.
Files changed (172) hide show
  1. package/COOKBOOK.md +176 -36
  2. package/README.md +70 -26
  3. package/dist/capacity.d.ts +15 -55
  4. package/dist/capacity.d.ts.map +1 -1
  5. package/dist/capacity.js +63 -12
  6. package/dist/capacity.js.map +1 -1
  7. package/dist/changes.d.ts +28 -6
  8. package/dist/changes.d.ts.map +1 -1
  9. package/dist/changes.js +119 -71
  10. package/dist/changes.js.map +1 -1
  11. package/dist/closed.d.ts +23 -51
  12. package/dist/closed.d.ts.map +1 -1
  13. package/dist/closed.js +110 -168
  14. package/dist/closed.js.map +1 -1
  15. package/dist/codec.d.ts +8 -14
  16. package/dist/codec.d.ts.map +1 -1
  17. package/dist/codec.js +113 -188
  18. package/dist/codec.js.map +1 -1
  19. package/dist/compile.d.ts +17 -18
  20. package/dist/compile.d.ts.map +1 -1
  21. package/dist/compile.js +41 -20
  22. package/dist/compile.js.map +1 -1
  23. package/dist/db-native.d.ts +76 -41
  24. package/dist/db-native.d.ts.map +1 -1
  25. package/dist/db-native.js +8 -0
  26. package/dist/db-native.js.map +1 -1
  27. package/dist/db.d.ts +61 -26
  28. package/dist/db.d.ts.map +1 -1
  29. package/dist/db.js +152 -85
  30. package/dist/db.js.map +1 -1
  31. package/dist/errors.d.ts +11 -3
  32. package/dist/errors.d.ts.map +1 -1
  33. package/dist/errors.js +13 -1
  34. package/dist/errors.js.map +1 -1
  35. package/dist/face.d.ts +19 -25
  36. package/dist/face.d.ts.map +1 -1
  37. package/dist/face.js +30 -24
  38. package/dist/face.js.map +1 -1
  39. package/dist/fields.d.ts +13 -26
  40. package/dist/fields.d.ts.map +1 -1
  41. package/dist/fields.js +89 -116
  42. package/dist/fields.js.map +1 -1
  43. package/dist/immutable.d.ts +10 -0
  44. package/dist/immutable.d.ts.map +1 -0
  45. package/dist/immutable.js +75 -0
  46. package/dist/immutable.js.map +1 -0
  47. package/dist/index.d.ts +16 -12
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +6 -4
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal/log.d.ts +6 -4
  52. package/dist/internal/log.d.ts.map +1 -1
  53. package/dist/internal/log.js +3 -1
  54. package/dist/internal/log.js.map +1 -1
  55. package/dist/law.d.ts +11 -11
  56. package/dist/law.d.ts.map +1 -1
  57. package/dist/law.js +1 -1
  58. package/dist/law.js.map +1 -1
  59. package/dist/lower.d.ts.map +1 -1
  60. package/dist/lower.js +11 -6
  61. package/dist/lower.js.map +1 -1
  62. package/dist/migration.d.ts +2 -3
  63. package/dist/migration.d.ts.map +1 -1
  64. package/dist/migration.js +5 -5
  65. package/dist/migration.js.map +1 -1
  66. package/dist/native.d.ts +2 -2
  67. package/dist/native.d.ts.map +1 -1
  68. package/dist/native.js.map +1 -1
  69. package/dist/query/atom.d.ts +1 -1
  70. package/dist/query/atom.d.ts.map +1 -1
  71. package/dist/query/atom.js.map +1 -1
  72. package/dist/query/description.d.ts +33 -0
  73. package/dist/query/description.d.ts.map +1 -0
  74. package/dist/query/description.js +302 -0
  75. package/dist/query/description.js.map +1 -0
  76. package/dist/query/lower.d.ts +60 -4
  77. package/dist/query/lower.d.ts.map +1 -1
  78. package/dist/query/lower.js +126 -161
  79. package/dist/query/lower.js.map +1 -1
  80. package/dist/query/parse-ir.d.ts +7 -2
  81. package/dist/query/parse-ir.d.ts.map +1 -1
  82. package/dist/query/parse-ir.js +240 -53
  83. package/dist/query/parse-ir.js.map +1 -1
  84. package/dist/query/run.d.ts.map +1 -1
  85. package/dist/query/run.js +8 -10
  86. package/dist/query/run.js.map +1 -1
  87. package/dist/query/scope.d.ts +3 -4
  88. package/dist/query/scope.d.ts.map +1 -1
  89. package/dist/query/scope.js +5 -10
  90. package/dist/query/scope.js.map +1 -1
  91. package/dist/relation.d.ts +22 -48
  92. package/dist/relation.d.ts.map +1 -1
  93. package/dist/relation.js +30 -82
  94. package/dist/relation.js.map +1 -1
  95. package/dist/result.d.ts +10 -25
  96. package/dist/result.d.ts.map +1 -1
  97. package/dist/result.js +7 -12
  98. package/dist/result.js.map +1 -1
  99. package/dist/rows.d.ts +11 -14
  100. package/dist/rows.d.ts.map +1 -1
  101. package/dist/rows.js +49 -237
  102. package/dist/rows.js.map +1 -1
  103. package/dist/runtime-codes.d.ts +1 -1
  104. package/dist/runtime-codes.d.ts.map +1 -1
  105. package/dist/runtime-codes.js +1 -2
  106. package/dist/runtime-codes.js.map +1 -1
  107. package/dist/runtime-errors.d.ts +27 -15
  108. package/dist/runtime-errors.d.ts.map +1 -1
  109. package/dist/runtime-errors.js +44 -8
  110. package/dist/runtime-errors.js.map +1 -1
  111. package/dist/runtime-native.d.ts +16 -34
  112. package/dist/runtime-native.d.ts.map +1 -1
  113. package/dist/runtime-native.js.map +1 -1
  114. package/dist/runtime.d.ts +11 -28
  115. package/dist/runtime.d.ts.map +1 -1
  116. package/dist/runtime.js +14 -54
  117. package/dist/runtime.js.map +1 -1
  118. package/dist/schema.d.ts +9 -1
  119. package/dist/schema.d.ts.map +1 -1
  120. package/dist/schema.js +85 -24
  121. package/dist/schema.js.map +1 -1
  122. package/dist/selection.d.ts +27 -0
  123. package/dist/selection.d.ts.map +1 -0
  124. package/dist/selection.js +104 -0
  125. package/dist/selection.js.map +1 -0
  126. package/dist/shape.d.ts +6 -9
  127. package/dist/shape.d.ts.map +1 -1
  128. package/dist/statements.d.ts +17 -52
  129. package/dist/statements.d.ts.map +1 -1
  130. package/dist/statements.js +92 -111
  131. package/dist/statements.js.map +1 -1
  132. package/dist/values.d.ts +25 -0
  133. package/dist/values.d.ts.map +1 -0
  134. package/dist/values.js +203 -0
  135. package/dist/values.js.map +1 -0
  136. package/pack-provenance.json +3 -3
  137. package/package.json +4 -4
  138. package/src/capacity.ts +86 -76
  139. package/src/changes.ts +225 -94
  140. package/src/closed.ts +161 -314
  141. package/src/codec.ts +123 -213
  142. package/src/compile.ts +61 -38
  143. package/src/db-native.ts +73 -68
  144. package/src/db.ts +268 -165
  145. package/src/errors.ts +16 -1
  146. package/src/face.ts +44 -74
  147. package/src/fields.ts +100 -146
  148. package/src/immutable.ts +76 -0
  149. package/src/index.ts +38 -31
  150. package/src/internal/log.ts +4 -5
  151. package/src/law.ts +14 -14
  152. package/src/lower.ts +13 -10
  153. package/src/migration.ts +5 -12
  154. package/src/native.ts +2 -1
  155. package/src/query/atom.ts +1 -0
  156. package/src/query/description.ts +394 -0
  157. package/src/query/lower.ts +139 -173
  158. package/src/query/parse-ir.ts +247 -54
  159. package/src/query/run.ts +15 -9
  160. package/src/query/scope.ts +10 -18
  161. package/src/relation.ts +58 -142
  162. package/src/result.ts +16 -45
  163. package/src/rows.ts +57 -250
  164. package/src/runtime-codes.ts +1 -2
  165. package/src/runtime-errors.ts +48 -8
  166. package/src/runtime-native.ts +13 -46
  167. package/src/runtime.ts +51 -119
  168. package/src/schema.ts +99 -29
  169. package/src/selection.ts +124 -0
  170. package/src/shape.ts +9 -9
  171. package/src/statements.ts +138 -189
  172. package/src/values.ts +223 -0
@@ -1,13 +1,11 @@
1
- import { isCapacityWeight, isCapacityWindow, unitWeight } from "#capacity.ts";
2
- import { isClosedMember, sealedFieldOf } from "#closed.ts";
1
+ import { capacityWeight, capacityWindow, unitWeight } from "#capacity.ts";
2
+ import { isClosedMember, memberDescriptor, sealedFieldOf } from "#closed.ts";
3
3
  import { AuthoringError } from "#errors.ts";
4
- import { renderFace } from "#face.ts";
5
- import { rosterOf, rostersAgree } from "#fields.ts";
4
+ import { faceDescriptor, renderFace } from "#face.ts";
5
+ import { assertDeclarationRecord, rosterOf, rostersAgree, signaturesAgree } from "#fields.ts";
6
+ import { descriptorCache } from "#immutable.ts";
6
7
  import { renderCapacityWindow, renderWeight } from "#spec.ts";
7
- const admitted = Symbol("bumbledb.statement.admitted");
8
- function isStatement(value) {
9
- return typeof value === "object" && value !== null && admitted in value;
10
- }
8
+ import { arrayValue, recordValue } from "#values.ts";
11
9
  function renderRosterSide(roster) {
12
10
  return roster === undefined ? "a bare column" : `a ${roster.name} reference`;
13
11
  }
@@ -42,66 +40,6 @@ function assertRosterAgreement(source, target, statement) {
42
40
  }
43
41
  });
44
42
  }
45
- /**
46
- * `R(X) -> R` — the FD key form, composite keys as tuples. No selection
47
- * parameter exists (the FD-with-selection shape is unrepresentable, as in
48
- * the grammar), and only ordinary relations are accepted: a closed
49
- * relation's key `R(id) -> R` is materialized by the engine, so an
50
- * explicit one would only ever be a duplicate. Every projected name is
51
- * checked against `R`'s field block in the type, and the tuple is carried
52
- * in the returned value's type ({@link KeyStatement}) — keyed point reads
53
- * through THIS statement are typed field-for-field, descriptors resolvable
54
- * through the owner's schema type. A DUPLICATE field in the projection is
55
- * refused here, at the mint (the engine's `FieldSet` refuses the same
56
- * duplicate at `Db.create`; canonical utterance says the twice-spelled
57
- * field is the once-spelled projection respelled) — without this wall a
58
- * `new Set`-collapsed duplicate could set-match a shorter target
59
- * projection the engine refuses.
60
- */
61
- function key(relation, fields) {
62
- if (isClosedMember(relation)) {
63
- throw new AuthoringError({
64
- message: `key(${relation.name}, ...): closedness already materializes ${relation.name}(id) -> ${relation.name} — an explicit key on a closed relation is rejected as a duplicate`
65
- });
66
- }
67
- const seen = new Set();
68
- for (const fieldName of fields) {
69
- if (seen.has(fieldName)) {
70
- throw new AuthoringError({
71
- message: `key(${relation.name}, ...): the projection spells ${fieldName} twice — write it once (the canonical-utterance law: one meaning, one spelling)`
72
- });
73
- }
74
- seen.add(fieldName);
75
- }
76
- const data = Object.freeze({
77
- kind: "key",
78
- owner: relation,
79
- projection: Object.freeze(fields)
80
- });
81
- return Object.freeze({ data, [admitted]: true });
82
- }
83
- function contained(source, target) {
84
- const data = Object.freeze({
85
- kind: "containment",
86
- source: source.data,
87
- target: target.data
88
- });
89
- const statement = Object.freeze({ data, [admitted]: true });
90
- assertArityAgreement(data.source, data.target, statement);
91
- assertRosterAgreement(data.source, data.target, statement);
92
- return statement;
93
- }
94
- function mirrors(source, target) {
95
- const data = Object.freeze({
96
- kind: "mirrors",
97
- source: source.data,
98
- target: target.data
99
- });
100
- const statement = Object.freeze({ data, [admitted]: true });
101
- assertArityAgreement(data.source, data.target, statement);
102
- assertRosterAgreement(data.source, data.target, statement);
103
- return statement;
104
- }
105
43
  function assertWeightOnSource(weight, source, statement) {
106
44
  if (weight.kind === "unit") {
107
45
  return;
@@ -147,63 +85,106 @@ function assertBoundsOnTarget(window, target, statement) {
147
85
  }
148
86
  }
149
87
  }
150
- function capacity(target, options) {
151
- if (typeof options !== "object" || options === null || !("from" in options) || !("within" in options)) {
152
- throw new AuthoringError({
153
- message: "capacity takes named options — capacity(target, { from, weight?, within }) (chapter 34's one spelling; the positional arguments are deleted)"
154
- });
155
- }
156
- const windowValue = options.within;
157
- const source = options.from;
158
- if (!isCapacityWindow(windowValue)) {
159
- throw new AuthoringError({
160
- message: "a capacity window is minted only by within() — a structural literal skips the ban table (the canonical-utterance law)"
161
- });
88
+ function assertShapes(source, target) {
89
+ for (let i = 0; i < source.projection.length; i++) {
90
+ const a = sealedFieldOf(source.owner, source.projection[i] ?? "");
91
+ const b = sealedFieldOf(target.owner, target.projection[i] ?? "");
92
+ if (a === undefined || b === undefined)
93
+ throw new AuthoringError({ message: "statement: unknown projected field" });
94
+ const left = a.kind === "interval" ? { ...a, width: undefined } : a;
95
+ const right = b.kind === "interval" ? { ...b, width: undefined } : b;
96
+ if (!signaturesAgree(left, right))
97
+ throw new AuthoringError({ message: "statement: projected field shapes do not agree" });
162
98
  }
163
- let weight = unitWeight;
164
- if (options.weight !== undefined) {
165
- if (!isCapacityWeight(options.weight)) {
99
+ }
100
+ function statementDescriptor(input) {
101
+ return checkedStatement(input);
102
+ }
103
+ const checkedStatement = descriptorCache((raw) => {
104
+ const input = recordValue("statement", raw, typeof raw === "object" && raw !== null ? Object.keys(raw) : []);
105
+ assertDeclarationRecord("statement", input);
106
+ if (input?.kind === "key") {
107
+ recordValue("key", input, ["kind", "owner", "projection"]);
108
+ const owner = memberDescriptor(input.owner);
109
+ if (isClosedMember(owner))
166
110
  throw new AuthoringError({
167
- message: "a capacity weight is minted only by weigh() a structural literal skips the row-local weight wall"
111
+ message: `key(${owner.name}, ...): closedness already materializes its key; explicit keys on closed relations are duplicates`
168
112
  });
113
+ const projection = arrayValue("key projection", input.projection, (_, value) => {
114
+ if (typeof value !== "string")
115
+ throw new AuthoringError({ message: "key: expected a field name" });
116
+ return value;
117
+ });
118
+ if (projection.length === 0)
119
+ throw new AuthoringError({ message: "key: expected a nonempty field projection" });
120
+ const seen = new Set();
121
+ for (const field of projection) {
122
+ if (typeof field !== "string" || sealedFieldOf(owner, field) === undefined)
123
+ throw new AuthoringError({ message: `key(${owner.name}, ...): unknown field ${String(field)}` });
124
+ if (seen.has(field))
125
+ throw new AuthoringError({ message: `key(${owner.name}, ...): the projection spells ${field} twice` });
126
+ seen.add(field);
169
127
  }
170
- weight = options.weight.weight;
128
+ return Object.freeze({ kind: "key", owner, projection });
171
129
  }
172
- const window = windowValue.window;
173
- // The unit-floor and vacuous-window ban tables are deleted:
174
- // `{1..*}`, `{N..*}` and `{0..*}` are accepted canonical laws now.
175
- // CapacityDimensionMixing remains — genuinely different semantics.
176
- if (weight.kind === "unit" && window.kind === "range" && window.hi.kind === "durationField") {
177
- throw new AuthoringError({
178
- message: `a unit (count) window against the duration() bound on ${window.hi.field} mixes dimensions (C18) — weigh the source with weigh(duration(field)), or bound by a u64 field or literal`
179
- });
130
+ if (input?.kind !== "containment" && input?.kind !== "mirrors" && input?.kind !== "capacity") {
131
+ throw new AuthoringError({ message: "statement: unknown kind" });
180
132
  }
181
- const data = Object.freeze({
133
+ recordValue("statement", input, input.kind === "capacity" ? ["kind", "target", "weight", "window", "source"] : ["kind", "source", "target"]);
134
+ const source = faceDescriptor(input.source);
135
+ const target = faceDescriptor(input.target);
136
+ const statement = input.kind === "capacity"
137
+ ? Object.freeze({
138
+ kind: input.kind,
139
+ source,
140
+ target,
141
+ weight: capacityWeight(input.weight),
142
+ window: capacityWindow(input.window)
143
+ })
144
+ : Object.freeze({ kind: input.kind, source, target });
145
+ assertArityAgreement(source, target, statement);
146
+ assertRosterAgreement(source, target, statement);
147
+ assertShapes(source, target);
148
+ if (statement.kind === "capacity") {
149
+ const { weight, window } = statement;
150
+ if (weight.kind === "unit" && window.kind === "range" && window.hi.kind === "durationField") {
151
+ throw new AuthoringError({ message: "a unit (count) window against a duration bound mixes dimensions (C18)" });
152
+ }
153
+ assertWeightOnSource(weight, source, statement);
154
+ assertBoundsOnTarget(window, target, statement);
155
+ }
156
+ return statement;
157
+ });
158
+ function key(relation, fields) {
159
+ return statementDescriptor({ kind: "key", owner: relation, projection: fields });
160
+ }
161
+ function contained(source, target) {
162
+ return statementDescriptor({ kind: "containment", source, target });
163
+ }
164
+ function mirrors(source, target) {
165
+ return statementDescriptor({ kind: "mirrors", source, target });
166
+ }
167
+ function capacity(target, options) {
168
+ recordValue("capacity options", options, Object.hasOwn(options, "weight") ? ["from", "weight", "within"] : ["from", "within"]);
169
+ return statementDescriptor({
182
170
  kind: "capacity",
183
- target: target.data,
184
- weight,
185
- window,
186
- source: source.data
171
+ target,
172
+ source: options.from,
173
+ weight: options.weight === undefined ? unitWeight : capacityWeight(options.weight),
174
+ window: capacityWindow(options.within)
187
175
  });
188
- const statement = Object.freeze({ data, [admitted]: true });
189
- assertArityAgreement(data.source, data.target, statement);
190
- assertRosterAgreement(data.source, data.target, statement);
191
- assertWeightOnSource(weight, data.source, statement);
192
- assertBoundsOnTarget(window, data.target, statement);
193
- return statement;
194
176
  }
195
177
  function renderStatement(statement) {
196
- const data = statement.data;
197
- switch (data.kind) {
178
+ switch (statement.kind) {
198
179
  case "key":
199
- return `${data.owner.name}(${data.projection.join(", ")}) -> ${data.owner.name}`;
180
+ return `${statement.owner.name}(${statement.projection.join(", ")}) -> ${statement.owner.name}`;
200
181
  case "containment":
201
- return `${renderFace(data.source)} <= ${renderFace(data.target)}`;
182
+ return `${renderFace(statement.source)} <= ${renderFace(statement.target)}`;
202
183
  case "mirrors":
203
- return `${renderFace(data.source)} == ${renderFace(data.target)}`;
184
+ return `${renderFace(statement.source)} == ${renderFace(statement.target)}`;
204
185
  case "capacity":
205
- return `${renderFace(data.target)} <=${renderWeight(data.weight)}${renderCapacityWindow(data.window)} ${renderFace(data.source)}`;
186
+ return `${renderFace(statement.target)} <=${renderWeight(statement.weight)}${renderCapacityWindow(statement.window)} ${renderFace(statement.source)}`;
206
187
  }
207
188
  }
208
- export { capacity, contained, isStatement, key, mirrors, renderStatement };
189
+ export { capacity, contained, key, mirrors, renderStatement, statementDescriptor };
209
190
  //# sourceMappingURL=statements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { AnyField, Infer } from "./fields.js";
2
+ import type { ValueSpec } from "./spec.js";
3
+ declare const U64_MAX = 18446744073709551615n;
4
+ declare const I64_MIN = -9223372036854775808n;
5
+ declare const I64_MAX = 9223372036854775807n;
6
+ /** Validate the complete record shape without reading any field getter. */
7
+ declare function recordValue(context: string, input: unknown, fields: readonly string[]): Readonly<Record<string, unknown>>;
8
+ /** Own a dense data array without invoking caller element accessors or methods. */
9
+ declare function arrayValue<A>(context: string, input: unknown, parse: (context: string, input: unknown) => A): readonly A[];
10
+ declare function integerValue(context: string, kind: "u64" | "i64", input: unknown): bigint;
11
+ /** Read typed-array internal slots through the intrinsic getters, never a
12
+ * caller's shadowed buffer/length properties or custom iterator. */
13
+ declare function bytesValue(context: string, input: unknown): Uint8Array;
14
+ /**
15
+ * The host interpreter of a field descriptor. All ingress paths use the
16
+ * same range, width, ownership and canonicalization rules. Native admission
17
+ * remains authoritative; this interpreter mirrors its value domain.
18
+ */
19
+ declare function fieldValue<F extends AnyField>(context: string, field: F, input: unknown): Infer<F>;
20
+ /** One checked host value to the native logical scalar description. */
21
+ declare function taggedValueOf(context: string, field: AnyField, input: unknown): ValueSpec;
22
+ /** Check a generated logical value through the same field interpreter. */
23
+ declare function valueDescriptor(context: string, input: unknown): ValueSpec;
24
+ export { arrayValue, bytesValue, fieldValue, I64_MAX, I64_MIN, integerValue, recordValue, taggedValueOf, U64_MAX, valueDescriptor };
25
+ //# sourceMappingURL=values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,QAAA,MAAM,OAAO,wBAAsB,CAAA;AACnC,QAAA,MAAM,OAAO,wBAAuB,CAAA;AACpC,QAAA,MAAM,OAAO,uBAAsB,CAAA;AAMnC,2EAA2E;AAC3E,iBAAS,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuBlH;AAED,mFAAmF;AACnF,iBAAS,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,CAAC,GAAG,SAAS,CAAC,EAAE,CAgBnH;AAED,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAMlF;AAQD;oEACoE;AACpE,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAgB/D;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AA6C5F,uEAAuE;AACvE,iBAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CA6BlF;AAED,0EAA0E;AAC1E,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,CAkCnE;AAED,OAAO,EACN,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,WAAW,EACX,aAAa,EACb,OAAO,EACP,eAAe,EACf,CAAA"}
package/dist/values.js ADDED
@@ -0,0 +1,203 @@
1
+ import { AuthoringError } from "#errors.ts";
2
+ import { Uuid } from "#uuid.ts";
3
+ const U64_MAX = 0xffffffffffffffffn;
4
+ const I64_MIN = -0x8000000000000000n;
5
+ const I64_MAX = 0x7fffffffffffffffn;
6
+ function invalid(context, expected, code = "InvalidValue") {
7
+ throw new AuthoringError({ message: `${context}: expected ${expected}`, diagnostic: { code, context, expected } });
8
+ }
9
+ /** Validate the complete record shape without reading any field getter. */
10
+ function recordValue(context, input, fields) {
11
+ if (typeof input !== "object" || input === null) {
12
+ return invalid(context, "a plain record", "InvalidRecord");
13
+ }
14
+ const prototype = Object.getPrototypeOf(input);
15
+ if (prototype !== Object.prototype && prototype !== null) {
16
+ return invalid(context, "a plain record", "InvalidRecord");
17
+ }
18
+ for (const name of Reflect.ownKeys(input)) {
19
+ if (typeof name !== "string" || !fields.includes(name)) {
20
+ return invalid(`${context}.${String(name)}`, "only the declared fields", "UnknownField");
21
+ }
22
+ const property = Object.getOwnPropertyDescriptor(input, name);
23
+ if (property?.enumerable !== true || !("value" in property)) {
24
+ return invalid(`${context}.${name}`, "enumerable own data fields", "InvalidRecord");
25
+ }
26
+ }
27
+ for (const name of fields) {
28
+ if (!Object.hasOwn(input, name)) {
29
+ return invalid(`${context}.${name}`, "a required own field", "MissingField");
30
+ }
31
+ }
32
+ return input;
33
+ }
34
+ /** Own a dense data array without invoking caller element accessors or methods. */
35
+ function arrayValue(context, input, parse) {
36
+ if (!Array.isArray(input))
37
+ return invalid(context, "an array", "InvalidRecord");
38
+ for (const name of Reflect.ownKeys(input)) {
39
+ if (name === "length")
40
+ continue;
41
+ if (typeof name !== "string" || !/^(0|[1-9][0-9]*)$/.test(name) || Number(name) >= input.length)
42
+ return invalid(context, "only array elements", "InvalidRecord");
43
+ const property = Object.getOwnPropertyDescriptor(input, name);
44
+ if (property?.enumerable !== true || !("value" in property))
45
+ return invalid(context, "own data elements", "InvalidRecord");
46
+ }
47
+ const result = [];
48
+ for (let index = 0; index < input.length; index++) {
49
+ if (!Object.hasOwn(input, index))
50
+ return invalid(`${context}[${index}]`, "a present element", "MissingField");
51
+ result.push(parse(`${context}[${index}]`, input[index]));
52
+ }
53
+ return Object.freeze(result);
54
+ }
55
+ function integerValue(context, kind, input) {
56
+ if (typeof input !== "bigint")
57
+ return invalid(context, `${kind} bigint`);
58
+ const minimum = kind === "u64" ? 0n : I64_MIN;
59
+ const maximum = kind === "u64" ? U64_MAX : I64_MAX;
60
+ if (input < minimum || input > maximum)
61
+ return invalid(context, `${kind} bigint in range`);
62
+ return input;
63
+ }
64
+ function floatValue(context, input) {
65
+ if (typeof input !== "number")
66
+ return invalid(context, "number");
67
+ if (Number.isNaN(input))
68
+ return Number.NaN;
69
+ return Object.is(input, -0) ? 0 : input;
70
+ }
71
+ /** Read typed-array internal slots through the intrinsic getters, never a
72
+ * caller's shadowed buffer/length properties or custom iterator. */
73
+ function bytesValue(context, input) {
74
+ if (!(input instanceof Uint8Array))
75
+ return invalid(context, "Uint8Array");
76
+ const prototype = Object.getPrototypeOf(Uint8Array.prototype);
77
+ const buffer = Reflect.get(prototype, "buffer", input);
78
+ if (!(buffer instanceof ArrayBuffer))
79
+ throw new AuthoringError({
80
+ message: `${context}: SharedArrayBuffer-backed views are refused`,
81
+ diagnostic: { code: "InvalidValue", context, expected: "ArrayBuffer-backed bytes" }
82
+ });
83
+ const offset = Reflect.get(prototype, "byteOffset", input);
84
+ const length = Reflect.get(prototype, "byteLength", input);
85
+ try {
86
+ return new Uint8Array(new Uint8Array(buffer, offset, length));
87
+ }
88
+ catch {
89
+ return invalid(context, "non-detached bytes");
90
+ }
91
+ }
92
+ function fieldValue(context, field, input) {
93
+ if ("closed" in field) {
94
+ if (typeof input !== "string" || !field.closed.handles.includes(input)) {
95
+ return invalid(context, `a ${field.closed.name} handle`);
96
+ }
97
+ return input;
98
+ }
99
+ switch (field.kind) {
100
+ case "bool":
101
+ return typeof input === "boolean" ? input : invalid(context, "boolean");
102
+ case "str":
103
+ return typeof input === "string" && input.isWellFormed() ? input : invalid(context, "well-formed string");
104
+ case "u64":
105
+ case "i64":
106
+ return integerValue(context, field.kind, input);
107
+ case "f64":
108
+ return floatValue(context, input);
109
+ case "uuid":
110
+ return Uuid.isUuid(input) ? input : invalid(context, "canonical UUID text");
111
+ case "bytes": {
112
+ const owned = bytesValue(context, input);
113
+ if (owned.byteLength !== field.width)
114
+ return invalid(context, `bytes<${field.width}>`);
115
+ return owned;
116
+ }
117
+ case "interval": {
118
+ const record = recordValue(context, input, ["start", "end"]);
119
+ if (field.element === "f64") {
120
+ const start = floatValue(`${context}.start`, record.start);
121
+ const end = floatValue(`${context}.end`, record.end);
122
+ if (!(start < end))
123
+ return invalid(context, "a nonempty float interval with non-NaN endpoints");
124
+ return Object.freeze({ start, end });
125
+ }
126
+ const start = integerValue(`${context}.start`, field.element, record.start);
127
+ const end = integerValue(`${context}.end`, field.element, record.end);
128
+ if (start >= end)
129
+ return invalid(context, "a nonempty interval (start < end)");
130
+ const maximumEnd = field.element === "u64" ? U64_MAX : I64_MAX;
131
+ if (field.width !== undefined && (end === maximumEnd || end - start !== field.width)) {
132
+ return invalid(context, `a finite interval of width ${field.width}`);
133
+ }
134
+ return Object.freeze({ start, end });
135
+ }
136
+ }
137
+ }
138
+ /** One checked host value to the native logical scalar description. */
139
+ function taggedValueOf(context, field, input) {
140
+ if ("closed" in field) {
141
+ const handle = fieldValue(context, field, input);
142
+ return { kind: "u64", value: BigInt(field.closed.handles.indexOf(handle)) };
143
+ }
144
+ switch (field.kind) {
145
+ case "bool":
146
+ return { kind: "bool", value: fieldValue(context, field, input) };
147
+ case "str":
148
+ return { kind: "string", value: fieldValue(context, field, input) };
149
+ case "u64":
150
+ return { kind: "u64", value: fieldValue(context, field, input) };
151
+ case "i64":
152
+ return { kind: "i64", value: fieldValue(context, field, input) };
153
+ case "f64":
154
+ return { kind: "f64", value: fieldValue(context, field, input) };
155
+ case "uuid":
156
+ return { kind: "uuid", value: fieldValue(context, field, input) };
157
+ case "bytes":
158
+ return { kind: "fixedBytes", value: fieldValue(context, field, input) };
159
+ case "interval": {
160
+ if (field.element === "f64") {
161
+ const value = fieldValue(context, { ...field, element: "f64" }, input);
162
+ return { kind: "intervalF64", ...value };
163
+ }
164
+ const value = fieldValue(context, { ...field, element: field.element }, input);
165
+ return { kind: field.element === "u64" ? "intervalU64" : "intervalI64", ...value };
166
+ }
167
+ }
168
+ }
169
+ /** Check a generated logical value through the same field interpreter. */
170
+ function valueDescriptor(context, input) {
171
+ if (typeof input !== "object" || input === null)
172
+ return invalid(context, "a tagged value", "InvalidRecord");
173
+ const tag = recordValue(context, input, Object.keys(input)).kind;
174
+ const intervalElement = { intervalU64: "u64", intervalI64: "i64", intervalF64: "f64" };
175
+ if (tag === "intervalU64" || tag === "intervalI64" || tag === "intervalF64") {
176
+ const raw = recordValue(context, input, ["kind", "start", "end"]);
177
+ return Object.freeze(taggedValueOf(context, { kind: "interval", element: intervalElement[tag], width: undefined }, { start: raw.start, end: raw.end }));
178
+ }
179
+ const raw = recordValue(context, input, ["kind", "value"]);
180
+ if (tag === "fixedBytes") {
181
+ const bytes = bytesValue(context, raw.value);
182
+ if (bytes.byteLength < 1 || bytes.byteLength > 64)
183
+ return invalid(context, "bytes with width 1 through 64");
184
+ return Object.freeze({ kind: "fixedBytes", value: bytes });
185
+ }
186
+ if (tag === "string")
187
+ return Object.freeze(taggedValueOf(context, { kind: "str" }, raw.value));
188
+ switch (tag) {
189
+ case "bool":
190
+ return Object.freeze(taggedValueOf(context, { kind: tag }, raw.value));
191
+ case "u64":
192
+ return Object.freeze(taggedValueOf(context, { kind: tag }, raw.value));
193
+ case "i64":
194
+ return Object.freeze(taggedValueOf(context, { kind: tag }, raw.value));
195
+ case "f64":
196
+ return Object.freeze(taggedValueOf(context, { kind: tag }, raw.value));
197
+ case "uuid":
198
+ return Object.freeze(taggedValueOf(context, { kind: tag }, raw.value));
199
+ }
200
+ return invalid(context, "a supported value tag", "InvalidDeclaration");
201
+ }
202
+ export { arrayValue, bytesValue, fieldValue, I64_MAX, I64_MIN, integerValue, recordValue, taggedValueOf, U64_MAX, valueDescriptor };
203
+ //# sourceMappingURL=values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
- "candidateSourceDigest": "2889a1f3027f53bdb6082570e9f215dfe27363d123593bae1f5cf479a217da4f",
2
+ "candidateSourceDigest": "d4cf5cc7671b7a15bf12106752a9fb770b0d535655878f5667267e2331eae14e",
3
3
  "specificationRevision": "87e9a83ee21d1f843c73ac6e7057b2b740db75aae70a553b8053b4f38e87bd2d",
4
- "stagedAt": "2026-09-07T15:15:57.980Z",
4
+ "stagedAt": "2026-09-10T23:35:44.901Z",
5
5
  "package": "@bjornpagen/bumbledb",
6
- "version": "1.0.1"
6
+ "version": "1.2.0"
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bjornpagen/bumbledb",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "description": "Effect-native embedded relational database for TypeScript: typed schemas and queries, exact floats, commit-time constraints",
5
5
  "type": "module",
6
6
  "exports": {
@@ -57,8 +57,8 @@
57
57
  },
58
58
  "private": false,
59
59
  "optionalDependencies": {
60
- "@bjornpagen/bumbledb-darwin-arm64": "1.0.1",
61
- "@bjornpagen/bumbledb-linux-arm64": "1.0.1",
62
- "@bjornpagen/bumbledb-linux-x64": "1.0.1"
60
+ "@bjornpagen/bumbledb-darwin-arm64": "1.2.0",
61
+ "@bjornpagen/bumbledb-linux-arm64": "1.2.0",
62
+ "@bjornpagen/bumbledb-linux-x64": "1.2.0"
63
63
  }
64
64
  }