@loradb/lora-wasm 0.6.0 → 0.8.1

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/README.md CHANGED
@@ -1,17 +1,17 @@
1
1
  # lora-wasm
2
2
 
3
- WebAssembly bindings for the [Lora](../../README.md) in-memory graph
3
+ WebAssembly bindings for the [Lora](../../../README.md) in-memory graph
4
4
  database. The package is designed for browsers and Node.js and exposes a
5
5
  **strongly typed, async-facing API** that keeps the main thread responsive:
6
6
  heavy query work can run inside a Web Worker while your UI code simply awaits
7
7
  the result.
8
8
 
9
- > **Status:** prototype / feasibility check. Not published to npm.
9
+ > **Package:** `@loradb/lora-wasm`.
10
10
 
11
11
  ## Build
12
12
 
13
13
  ```bash
14
- cd crates/lora-wasm
14
+ cd crates/bindings/lora-wasm
15
15
  npm install
16
16
  npm run build # wasm-pack (node + bundler) + tsc
17
17
  npm test # vitest
@@ -52,7 +52,7 @@ fails during startup, the package emits one `console.warn` and falls back to
52
52
  the in-process WASM engine so the app can still run.
53
53
 
54
54
  ```ts
55
- import { createDatabase, isNode } from "lora-wasm";
55
+ import { createDatabase, isNode } from "@loradb/lora-wasm";
56
56
 
57
57
  const db = await createDatabase(); // Worker-backed in browsers when possible
58
58
  await db.execute("CREATE (:Person {name: $n})", { n: "Alice" });
@@ -63,6 +63,37 @@ for (const row of r.rows) {
63
63
  }
64
64
  ```
65
65
 
66
+ ### Explain & Profile
67
+
68
+ `db.explain()` and `db.profile()` are first-class methods alongside
69
+ `db.execute()`. They are intentionally *separate calls*, not a flag
70
+ on `execute()`, so plan inspection and runtime metrics must be
71
+ requested explicitly.
72
+
73
+ ```ts
74
+ const plan = await db.explain(
75
+ "MATCH (p:Person) WHERE p.name = $name RETURN p",
76
+ { name: "Alice" },
77
+ );
78
+ console.log(plan.shape); // "readOnly"
79
+ console.log(plan.tree.operator);
80
+
81
+ const profile = await db.profile(
82
+ "MATCH (p:Person) WHERE p.name = $name RETURN p",
83
+ { name: "Alice" },
84
+ );
85
+ console.log(profile.metrics.totalElapsedNs);
86
+ console.log(profile.metrics.perOperator); // per-step inclusive timing
87
+ ```
88
+
89
+ `explain()` never invokes the executor — calling it on a mutating
90
+ query (`CREATE`, `MERGE`, `SET`, `DELETE`, `REMOVE`) leaves the graph
91
+ untouched.
92
+
93
+ > **`profile()` executes the query for real.** Mutating queries
94
+ > produce the same side effects as `execute()`. Use `explain()` to
95
+ > inspect a mutating plan without running it.
96
+
66
97
  To force the in-process engine:
67
98
 
68
99
  ```ts
@@ -84,7 +115,7 @@ const db = await createDatabase({ warnOnFallback: false });
84
115
  ### 2. Explicit main-thread WASM
85
116
 
86
117
  ```ts
87
- import { createMainThreadDatabase } from "lora-wasm";
118
+ import { createMainThreadDatabase } from "@loradb/lora-wasm";
88
119
 
89
120
  const db = await createMainThreadDatabase();
90
121
  ```
@@ -122,14 +153,14 @@ WASM has no filesystem access, so snapshots never accept string paths.
122
153
  accepts `URL`, `Uint8Array`, `ArrayBuffer`, `Blob`, `Response`, and web
123
154
  `ReadableStream<Uint8Array | ArrayBuffer>`. The bytes use the database
124
155
  snapshot codec (`LORACOL1`) and can be loaded by native LoraDB. Older store
125
- snapshots (`LORASNAP`) are still accepted by `loadSnapshot` for compatibility.
156
+ snapshots use the current `LORACOL1` columnar format.
126
157
  Snapshot bytes are uncompressed by default; pass `{ compression: "gzip" }` or
127
158
  `{ compression: { format: "gzip", level: 1 } }` to save smaller
128
159
  WASM-portable snapshots. Gzip levels `0..9` are supported; level `1` is the
129
160
  fast default.
130
161
 
131
162
  ```ts
132
- import { createDatabase } from "lora-wasm";
163
+ import { createDatabase } from "@loradb/lora-wasm";
133
164
 
134
165
  const db = await createDatabase();
135
166
  await db.execute("CREATE (:Person {name: 'Alice'})");
@@ -172,31 +203,42 @@ Helper constructors: `date`, `time`, `datetime`, `localtime`, `localdatetime`,
172
203
  `isNode`, `isRelationship`, `isPath`, `isPoint`, `isTemporal`.
173
204
 
174
205
  > `distance()` on WGS-84-3D points ignores `height`. See
175
- > [functions reference](../../apps/loradb.com/docs/functions/overview.md) for the spatial
206
+ > [functions reference](../../../apps/loradb.com/docs/functions/overview.md) for the spatial
176
207
  > reference and out-of-scope operations.
177
208
 
178
209
  ## Errors
179
210
 
180
- `db.execute(...)` and the worker client throw `LoraError` with a narrowed
181
- `code`:
211
+ `db.execute(...)` and the worker client throw `LoraError` with a
212
+ narrowed `code` from the `LoraErrorCode` union — these mirror
213
+ `lora_database::LoraErrorCode` 1:1, plus `WORKER_ERROR` and `UNKNOWN`.
182
214
 
183
- - `LORA_ERROR` — parse / analyze / execute failure
184
- - `INVALID_PARAMS` — a param value could not be mapped to a Lora value
215
+ Common ones:
216
+
217
+ - `LORA_PARSE` — Cypher syntax could not be parsed
218
+ - `LORA_SEMANTIC` — analysis failure (unknown variable, label, type mismatch, …)
219
+ - `LORA_INVALID_PARAMS` — a parameter value could not be coerced to a `LoraValue`
220
+ - `LORA_INVALID_VECTOR` — vector value failed dimension / coordinate-type validation
221
+ - `LORA_TIMEOUT` — query exceeded its cooperative deadline
222
+ - `LORA_IO`, `LORA_SNAPSHOT_CODEC`, `LORA_SNAPSHOT_CRYPTO` — storage / snapshot failures
223
+ - `LORA_INTERNAL` — last-resort fallback when the engine cannot classify the failure
185
224
  - `WORKER_ERROR` — worker transport / lifecycle failure (worker client only)
186
225
 
226
+ See `ts/types.ts` (`LoraErrorCode`) for the full list.
227
+
187
228
  ## Shared type contract
188
229
 
189
230
  The public TypeScript value model (`LoraValue`, `LoraNode`, …,
190
231
  `QueryResult`, `LoraError`) lives in a single canonical file at
191
- `crates/shared-ts/types.ts` and is copied into each consumer package by
232
+ `crates/bindings/shared-ts/types.ts` and is copied into each consumer package by
192
233
  its `sync:types` npm script. CI runs `verify:types` to fail on drift.
193
234
  That keeps `lora-node` and `lora-wasm` locked to one identical
194
235
  public surface — consumers can swap backends without rewriting types.
195
236
 
196
237
  ## Known limitations
197
238
 
198
- - The wasm module is single-threaded. Parallel queries inside one worker
199
- serialise; spawn more workers for true parallelism.
239
+ - The wasm module runs inside one JavaScript runtime. Auto-commit reads can
240
+ overlap on engine snapshots; write commits serialize. Use more Workers for
241
+ separate graphs or stronger UI isolation.
200
242
  - I64 values are delivered as JS `number` and lose precision above 2^53.
201
243
  Applications that need bigint precision should use the native
202
244
  `lora-node` binding instead.
@@ -228,7 +270,7 @@ public surface — consumers can swap backends without rewriting types.
228
270
  forms, parameter validation errors, and concurrent queries across the
229
271
  worker message protocol.
230
272
  - The TypeScript public contract is shared verbatim with `lora-node`
231
- via `crates/shared-ts/types.ts`, enforced by `verify:types` in CI.
273
+ via `crates/bindings/shared-ts/types.ts`, enforced by `verify:types` in CI.
232
274
  - `npm pack --dry-run` produces a 45-file, 6.6 MB tarball containing
233
275
  all three wasm bundles plus the compiled TS wrapper. No `file:` deps,
234
276
  no postinstall scripts.
@@ -245,9 +287,8 @@ public surface — consumers can swap backends without rewriting types.
245
287
  - I64 precision is capped at `Number.MAX_SAFE_INTEGER`. For larger
246
288
  integer properties we need a `bigint`-aware serializer on the wasm
247
289
  boundary.
248
- - The engine is synchronous inside wasm — a single Worker serialises
249
- queries. Multi-tenant workloads need either multiple Workers (already
250
- possible), or an engine-level cooperative scheduler.
290
+ - The engine is synchronous inside wasm once a call enters the module. A slow
291
+ query blocks that Worker until completion.
251
292
  - No query cancellation or progress streaming crosses the Worker
252
293
  boundary; a slow query blocks that Worker until completion.
253
294
 
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Decoder for the binary result format produced by the native side.
3
+ *
4
+ * The native `execute()` ships a single `Uint8Array` whose layout is
5
+ * defined by `crates/bindings/lora-binding-buffer/src/lib.rs`. This
6
+ * file is the sole reader; it must stay byte-compatible with the
7
+ * encoder there.
8
+ *
9
+ * Why this exists: each FFI syscall costs ~150 ns; for a 10 000-row
10
+ * scan, the per-cell loop takes thousands of crossings and dominates
11
+ * wall-clock time. Transferring the whole result as one buffer and
12
+ * decoding it in JIT'd JavaScript is materially faster — V8 walks
13
+ * contiguous bytes far more cheaply than the FFI layer can hand
14
+ * values across one at a time.
15
+ *
16
+ * Shared between the `lora-node` and `lora-wasm` bindings; the source
17
+ * of truth lives in `crates/bindings/shared-ts/decode.ts` and is
18
+ * synced into each binding's `ts/` by their `npm run sync:types`
19
+ * script (mirrors how `types.ts` is shared).
20
+ */
21
+ /**
22
+ * Decode the wire format produced by `encode_rows` in the native crate
23
+ * into the public `{ columns, rows }` shape.
24
+ */
25
+ export declare function decodeResult(buf: Uint8Array): {
26
+ columns: string[];
27
+ rows: Array<Record<string, any>>;
28
+ };
29
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAsTH;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,GACd;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CAAE,CA4BzD"}
package/dist/decode.js ADDED
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Decoder for the binary result format produced by the native side.
3
+ *
4
+ * The native `execute()` ships a single `Uint8Array` whose layout is
5
+ * defined by `crates/bindings/lora-binding-buffer/src/lib.rs`. This
6
+ * file is the sole reader; it must stay byte-compatible with the
7
+ * encoder there.
8
+ *
9
+ * Why this exists: each FFI syscall costs ~150 ns; for a 10 000-row
10
+ * scan, the per-cell loop takes thousands of crossings and dominates
11
+ * wall-clock time. Transferring the whole result as one buffer and
12
+ * decoding it in JIT'd JavaScript is materially faster — V8 walks
13
+ * contiguous bytes far more cheaply than the FFI layer can hand
14
+ * values across one at a time.
15
+ *
16
+ * Shared between the `lora-node` and `lora-wasm` bindings; the source
17
+ * of truth lives in `crates/bindings/shared-ts/decode.ts` and is
18
+ * synced into each binding's `ts/` by their `npm run sync:types`
19
+ * script (mirrors how `types.ts` is shared).
20
+ */
21
+ /* eslint-disable @typescript-eslint/no-explicit-any */
22
+ const MAGIC_0 = 0x4c; // L
23
+ const MAGIC_1 = 0x52; // R
24
+ const MAGIC_2 = 0x31; // 1
25
+ const MAGIC_3 = 0x00;
26
+ // Cell tags — keep in sync with `tag::` constants in encode.rs.
27
+ const TAG_NULL = 0x00;
28
+ const TAG_FALSE = 0x01;
29
+ const TAG_TRUE = 0x02;
30
+ const TAG_I32 = 0x03;
31
+ const TAG_I64 = 0x04;
32
+ const TAG_F64 = 0x05;
33
+ const TAG_STRING = 0x06;
34
+ const TAG_LIST = 0x07;
35
+ const TAG_MAP = 0x08;
36
+ const TAG_NODE = 0x09;
37
+ const TAG_RELATIONSHIP = 0x0a;
38
+ const TAG_PATH = 0x0b;
39
+ const TAG_DATE = 0x0c;
40
+ const TAG_TIME = 0x0d;
41
+ const TAG_LOCAL_TIME = 0x0e;
42
+ const TAG_DATETIME = 0x0f;
43
+ const TAG_LOCAL_DATETIME = 0x10;
44
+ const TAG_DURATION = 0x11;
45
+ const TAG_POINT = 0x12;
46
+ const TAG_VECTOR = 0x13;
47
+ const TAG_BINARY = 0x14;
48
+ const VECTOR_FLOAT64 = 0;
49
+ const VECTOR_FLOAT32 = 1;
50
+ const VECTOR_INT64 = 2;
51
+ const VECTOR_INT32 = 3;
52
+ const VECTOR_INT16 = 4;
53
+ const VECTOR_INT8 = 5;
54
+ const SRID_CARTESIAN_2D = 7203;
55
+ const SRID_CARTESIAN_3D = 9157;
56
+ const SRID_WGS84_2D = 4326;
57
+ const SRID_WGS84_3D = 4979;
58
+ function sridToCrs(srid) {
59
+ switch (srid) {
60
+ case SRID_CARTESIAN_2D:
61
+ return "cartesian";
62
+ case SRID_CARTESIAN_3D:
63
+ return "cartesian-3D";
64
+ case SRID_WGS84_2D:
65
+ return "WGS-84-2D";
66
+ case SRID_WGS84_3D:
67
+ return "WGS-84-3D";
68
+ default:
69
+ return "cartesian";
70
+ }
71
+ }
72
+ const utf8 = new TextDecoder("utf-8");
73
+ class Reader {
74
+ view;
75
+ bytes;
76
+ off = 0;
77
+ constructor(buf) {
78
+ this.bytes = buf;
79
+ this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
80
+ }
81
+ u8() {
82
+ // `noUncheckedIndexedAccess` says this might be undefined; we
83
+ // never read past the buffer because the encoder writes a
84
+ // bounded layout. The hot path can't afford a check.
85
+ return this.bytes[this.off++];
86
+ }
87
+ u32() {
88
+ const v = this.view.getUint32(this.off, true);
89
+ this.off += 4;
90
+ return v;
91
+ }
92
+ i32() {
93
+ const v = this.view.getInt32(this.off, true);
94
+ this.off += 4;
95
+ return v;
96
+ }
97
+ /**
98
+ * Reads an i64 LE and returns it as a JS Number. Values outside the
99
+ * `Number.MAX_SAFE_INTEGER` range silently lose precision — same
100
+ * behaviour the binding has always had on the read path. Callers that
101
+ * need exact representation of large ints should use a separate
102
+ * binding-side path; this is a hot loop.
103
+ */
104
+ i64AsNumber() {
105
+ // Two getInt32 calls beat getBigInt64 + Number(BigInt) by ~3× in V8.
106
+ // Manual reconstruction is exact for the |x| < 2^53 range.
107
+ const lo = this.view.getUint32(this.off, true);
108
+ const hi = this.view.getInt32(this.off + 4, true);
109
+ this.off += 8;
110
+ return hi * 0x1_0000_0000 + lo;
111
+ }
112
+ f64() {
113
+ const v = this.view.getFloat64(this.off, true);
114
+ this.off += 8;
115
+ return v;
116
+ }
117
+ str() {
118
+ const len = this.u32();
119
+ const start = this.off;
120
+ this.off += len;
121
+ if (len === 0)
122
+ return "";
123
+ // TextDecoder is a fused C++ path in V8; faster than Buffer.toString
124
+ // for short-to-medium strings and avoids hitting Buffer's own
125
+ // string-cache layer.
126
+ return utf8.decode(this.bytes.subarray(start, this.off));
127
+ }
128
+ }
129
+ function readValue(r) {
130
+ const tag = r.u8();
131
+ switch (tag) {
132
+ case TAG_NULL:
133
+ return null;
134
+ case TAG_FALSE:
135
+ return false;
136
+ case TAG_TRUE:
137
+ return true;
138
+ case TAG_I32:
139
+ return r.i32();
140
+ case TAG_I64:
141
+ return r.i64AsNumber();
142
+ case TAG_F64:
143
+ return r.f64();
144
+ case TAG_STRING:
145
+ return r.str();
146
+ case TAG_LIST: {
147
+ const n = r.u32();
148
+ const arr = new Array(n);
149
+ for (let i = 0; i < n; i++)
150
+ arr[i] = readValue(r);
151
+ return arr;
152
+ }
153
+ case TAG_MAP: {
154
+ const n = r.u32();
155
+ const obj = {};
156
+ for (let i = 0; i < n; i++) {
157
+ const k = r.str();
158
+ obj[k] = readValue(r);
159
+ }
160
+ return obj;
161
+ }
162
+ case TAG_NODE:
163
+ return {
164
+ kind: "node",
165
+ id: r.i64AsNumber(),
166
+ labels: [],
167
+ properties: {},
168
+ };
169
+ case TAG_RELATIONSHIP:
170
+ return { kind: "relationship", id: r.i64AsNumber() };
171
+ case TAG_PATH: {
172
+ const nN = r.u32();
173
+ const nodes = new Array(nN);
174
+ for (let i = 0; i < nN; i++)
175
+ nodes[i] = r.i64AsNumber();
176
+ const nR = r.u32();
177
+ const rels = new Array(nR);
178
+ for (let i = 0; i < nR; i++)
179
+ rels[i] = r.i64AsNumber();
180
+ return { kind: "path", nodes, rels };
181
+ }
182
+ case TAG_DATE:
183
+ return { kind: "date", iso: r.str() };
184
+ case TAG_TIME:
185
+ return { kind: "time", iso: r.str() };
186
+ case TAG_LOCAL_TIME:
187
+ return { kind: "localtime", iso: r.str() };
188
+ case TAG_DATETIME:
189
+ return { kind: "datetime", iso: r.str() };
190
+ case TAG_LOCAL_DATETIME:
191
+ return { kind: "localdatetime", iso: r.str() };
192
+ case TAG_DURATION:
193
+ return { kind: "duration", iso: r.str() };
194
+ case TAG_POINT: {
195
+ const hasZ = r.u8();
196
+ const srid = r.u32();
197
+ const x = r.f64();
198
+ const y = r.f64();
199
+ const point = {
200
+ kind: "point",
201
+ srid,
202
+ crs: sridToCrs(srid),
203
+ x,
204
+ y,
205
+ };
206
+ if (hasZ)
207
+ point.z = r.f64();
208
+ if (srid === SRID_WGS84_2D || srid === SRID_WGS84_3D) {
209
+ point.longitude = x;
210
+ point.latitude = y;
211
+ if (hasZ)
212
+ point.height = point.z;
213
+ }
214
+ return point;
215
+ }
216
+ case TAG_VECTOR:
217
+ return readVector(r);
218
+ case TAG_BINARY:
219
+ return readBinary(r);
220
+ default:
221
+ throw new Error(`unknown LoraValue tag: 0x${tag.toString(16)}`);
222
+ }
223
+ }
224
+ function readVector(r) {
225
+ const coordTag = r.u8();
226
+ const dim = r.u32();
227
+ const values = new Array(dim);
228
+ let coordinateType;
229
+ switch (coordTag) {
230
+ case VECTOR_FLOAT64:
231
+ coordinateType = "FLOAT64";
232
+ for (let i = 0; i < dim; i++)
233
+ values[i] = r.f64();
234
+ break;
235
+ case VECTOR_FLOAT32:
236
+ coordinateType = "FLOAT32";
237
+ for (let i = 0; i < dim; i++) {
238
+ values[i] = r.view.getFloat32(r.off, true);
239
+ r.off += 4;
240
+ }
241
+ break;
242
+ case VECTOR_INT64:
243
+ coordinateType = "INTEGER";
244
+ for (let i = 0; i < dim; i++)
245
+ values[i] = r.i64AsNumber();
246
+ break;
247
+ case VECTOR_INT32:
248
+ coordinateType = "INTEGER32";
249
+ for (let i = 0; i < dim; i++)
250
+ values[i] = r.i32();
251
+ break;
252
+ case VECTOR_INT16:
253
+ coordinateType = "INTEGER16";
254
+ for (let i = 0; i < dim; i++) {
255
+ values[i] = r.view.getInt16(r.off, true);
256
+ r.off += 2;
257
+ }
258
+ break;
259
+ case VECTOR_INT8:
260
+ coordinateType = "INTEGER8";
261
+ for (let i = 0; i < dim; i++) {
262
+ values[i] = r.view.getInt8(r.off);
263
+ r.off += 1;
264
+ }
265
+ break;
266
+ default:
267
+ throw new Error(`unknown vector coord type: ${coordTag}`);
268
+ }
269
+ return { kind: "vector", dimension: dim, coordinateType, values };
270
+ }
271
+ function readBinary(r) {
272
+ const segCount = r.u32();
273
+ const segments = new Array(segCount);
274
+ let total = 0;
275
+ for (let i = 0; i < segCount; i++) {
276
+ const len = r.u32();
277
+ const seg = new Array(len);
278
+ for (let j = 0; j < len; j++)
279
+ seg[j] = r.bytes[r.off + j];
280
+ r.off += len;
281
+ segments[i] = seg;
282
+ total += len;
283
+ }
284
+ return { kind: "binary", length: total, segments };
285
+ }
286
+ const factoryCache = new Map();
287
+ function rowFactory(columns) {
288
+ const key = columns.join("\x1f");
289
+ let factory = factoryCache.get(key);
290
+ if (factory)
291
+ return factory;
292
+ // Build:
293
+ // function (read, r) {
294
+ // const row = {};
295
+ // row[colA] = read(r);
296
+ // row[colB] = read(r);
297
+ // return row;
298
+ // }
299
+ const lines = ["const row = {};"];
300
+ for (const col of columns) {
301
+ lines.push(`row[${JSON.stringify(col)}] = read(r);`);
302
+ }
303
+ lines.push("return row;");
304
+ factory = new Function("read", "r", lines.join("\n"));
305
+ factoryCache.set(key, factory);
306
+ return factory;
307
+ }
308
+ /**
309
+ * Decode the wire format produced by `encode_rows` in the native crate
310
+ * into the public `{ columns, rows }` shape.
311
+ */
312
+ export function decodeResult(buf) {
313
+ const r = new Reader(buf);
314
+ if (r.bytes[0] !== MAGIC_0 ||
315
+ r.bytes[1] !== MAGIC_1 ||
316
+ r.bytes[2] !== MAGIC_2 ||
317
+ r.bytes[3] !== MAGIC_3) {
318
+ throw new Error("lora-node: invalid result buffer magic");
319
+ }
320
+ r.off = 4;
321
+ const colCount = r.u32();
322
+ const columns = new Array(colCount);
323
+ for (let i = 0; i < colCount; i++)
324
+ columns[i] = r.str();
325
+ const rowCount = r.u32();
326
+ const rows = new Array(rowCount);
327
+ if (colCount === 0) {
328
+ for (let i = 0; i < rowCount; i++)
329
+ rows[i] = {};
330
+ return { columns, rows };
331
+ }
332
+ const factory = rowFactory(columns);
333
+ for (let i = 0; i < rowCount; i++) {
334
+ rows[i] = factory(readValue, r);
335
+ }
336
+ return { columns, rows };
337
+ }
338
+ //# sourceMappingURL=decode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@
17
17
  */
18
18
  import { wrapError } from "./types.js";
19
19
  import { WasmDatabase, init as wasmInit } from "./loader-node.js";
20
+ import { decodeResult } from "./decode.js";
20
21
  import { createWorkerDatabase } from "./worker-client.js";
21
22
  import { snapshotAsArrayBuffer, snapshotAsBlob, snapshotAsObjectUrl, snapshotAsReadableStream, snapshotAsResponse, readSnapshotSource, } from "./snapshot.js";
22
23
  export * from "./types.js";
@@ -103,8 +104,13 @@ class DatabaseImpl {
103
104
  }
104
105
  async execute(query, params) {
105
106
  try {
106
- const raw = this.#inner.execute(query, (params ?? null));
107
- return raw;
107
+ // executeBuffer ships a single binary buffer instead of building
108
+ // the JS object tree inside Rust + serialising it through
109
+ // serde_wasm_bindgen value-by-value. We decode once on the JS
110
+ // side in JIT'd code, which is materially faster.
111
+ const native = this.#inner;
112
+ const buf = native.executeBuffer(query, (params ?? null));
113
+ return decodeResult(buf);
108
114
  }
109
115
  catch (err) {
110
116
  throw wrapError(err);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
package/dist/snapshot.js CHANGED
@@ -30,7 +30,7 @@ export function snapshotAsReadableStream(bytes) {
30
30
  }
31
31
  export function snapshotAsObjectUrl(bytes, mimeType = DEFAULT_SNAPSHOT_MIME_TYPE) {
32
32
  if (typeof URL === "undefined" || typeof URL.createObjectURL !== "function") {
33
- throw new Error("LORA_ERROR: snapshot URL output requires URL.createObjectURL");
33
+ throw new Error("LORA_CONFIG: snapshot URL output requires URL.createObjectURL");
34
34
  }
35
35
  return new URL(URL.createObjectURL(snapshotAsBlob(bytes, mimeType)));
36
36
  }
@@ -50,7 +50,7 @@ export async function readSnapshotSource(source) {
50
50
  if (isReadableStream(source)) {
51
51
  return readSnapshotStream(source);
52
52
  }
53
- throw new Error("LORA_ERROR: unsupported snapshot source");
53
+ throw new Error("LORA_INVALID_PARAMS: unsupported snapshot source");
54
54
  }
55
55
  function isReadableStream(source) {
56
56
  return typeof source.getReader === "function";
@@ -82,7 +82,7 @@ async function readSnapshotStream(stream) {
82
82
  }
83
83
  async function readSnapshotResponse(response) {
84
84
  if (!response.ok) {
85
- throw new Error(`LORA_ERROR: snapshot fetch failed (${response.status} ${response.statusText})`);
85
+ throw new Error(`LORA_IO: snapshot fetch failed (${response.status} ${response.statusText})`);
86
86
  }
87
87
  return new Uint8Array(await response.arrayBuffer());
88
88
  }