@loradb/lora-wasm 0.5.6 → 0.8.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/README.md +76 -34
- package/dist/decode.d.ts +29 -0
- package/dist/decode.d.ts.map +1 -0
- package/dist/decode.js +338 -0
- package/dist/decode.js.map +1 -0
- package/dist/index.d.ts +21 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -37
- package/dist/index.js.map +1 -1
- package/dist/loader-node.d.ts +1 -1
- package/dist/snapshot.d.ts +49 -16
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +36 -54
- package/dist/snapshot.js.map +1 -1
- package/dist/types.d.ts +81 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -2
- package/dist/types.js.map +1 -1
- package/dist/worker-client.d.ts +20 -20
- package/dist/worker-client.d.ts.map +1 -1
- package/dist/worker-client.js +32 -22
- package/dist/worker-client.js.map +1 -1
- package/dist/worker-protocol.d.ts +5 -2
- package/dist/worker-protocol.d.ts.map +1 -1
- package/dist/worker.js +18 -10
- package/dist/worker.js.map +1 -1
- package/package.json +5 -5
- package/pkg-bundler/README.md +76 -34
- package/pkg-bundler/lora_wasm.d.ts +37 -10
- package/pkg-bundler/lora_wasm_bg.js +173 -26
- package/pkg-bundler/lora_wasm_bg.wasm +0 -0
- package/pkg-bundler/lora_wasm_bg.wasm.d.ts +5 -2
- package/pkg-bundler/package.json +1 -1
- package/pkg-node/README.md +76 -34
- package/pkg-node/lora_wasm.d.ts +37 -10
- package/pkg-node/lora_wasm.js +173 -26
- package/pkg-node/lora_wasm_bg.wasm +0 -0
- package/pkg-node/lora_wasm_bg.wasm.d.ts +5 -2
- package/pkg-node/package.json +1 -1
- package/pkg-web/README.md +76 -34
- package/pkg-web/lora_wasm.d.ts +42 -12
- package/pkg-web/lora_wasm.js +156 -26
- package/pkg-web/lora_wasm_bg.wasm +0 -0
- package/pkg-web/lora_wasm_bg.wasm.d.ts +5 -2
- package/pkg-web/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAoB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,8 +17,9 @@
|
|
|
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
|
-
import {
|
|
22
|
+
import { snapshotAsArrayBuffer, snapshotAsBlob, snapshotAsObjectUrl, snapshotAsReadableStream, snapshotAsResponse, readSnapshotSource, } from "./snapshot.js";
|
|
22
23
|
export * from "./types.js";
|
|
23
24
|
export { createWorkerDatabase, } from "./worker-client.js";
|
|
24
25
|
class NativeRowStream {
|
|
@@ -103,8 +104,13 @@ class DatabaseImpl {
|
|
|
103
104
|
}
|
|
104
105
|
async execute(query, params) {
|
|
105
106
|
try {
|
|
106
|
-
|
|
107
|
-
|
|
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);
|
|
@@ -141,48 +147,40 @@ class DatabaseImpl {
|
|
|
141
147
|
return this.#inner.relationshipCount();
|
|
142
148
|
}
|
|
143
149
|
/**
|
|
144
|
-
* Serialize the current graph to a
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* them back to `loadSnapshotFromBytes` on a future database instance.
|
|
148
|
-
*/
|
|
149
|
-
async saveSnapshotToBytes() {
|
|
150
|
-
try {
|
|
151
|
-
return this.#inner.saveSnapshotToBytes();
|
|
152
|
-
}
|
|
153
|
-
catch (err) {
|
|
154
|
-
throw wrapError(err);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
async saveSnapshot(target) {
|
|
158
|
-
const options = resolveSnapshotSaveFormat(target);
|
|
159
|
-
const bytes = await this.saveSnapshotToBytes();
|
|
160
|
-
switch (options.format) {
|
|
161
|
-
case "binary":
|
|
162
|
-
return bytes;
|
|
163
|
-
case "base64":
|
|
164
|
-
return snapshotBytesToBase64(bytes);
|
|
165
|
-
case "blob":
|
|
166
|
-
return snapshotBytesToBlob(bytes, options.mimeType);
|
|
167
|
-
case "download":
|
|
168
|
-
return downloadSnapshotBytes(bytes, options.filename, options.mimeType);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Replace the current graph state with a snapshot decoded from `bytes`.
|
|
173
|
-
* Returns metadata describing the restored snapshot.
|
|
150
|
+
* Serialize the current graph to a host-friendly snapshot object. WASM has
|
|
151
|
+
* no filesystem access; callers persist the returned bytes/Blob/stream/URL
|
|
152
|
+
* through host-provided storage.
|
|
174
153
|
*/
|
|
175
|
-
async
|
|
154
|
+
async saveSnapshot(options) {
|
|
176
155
|
try {
|
|
177
|
-
|
|
156
|
+
const native = this.#inner;
|
|
157
|
+
const bytes = native.saveSnapshot(options ?? null);
|
|
158
|
+
const format = options && "format" in options ? options.format ?? "bytes" : "bytes";
|
|
159
|
+
const mimeType = options && "mimeType" in options ? options.mimeType : undefined;
|
|
160
|
+
switch (format) {
|
|
161
|
+
case "bytes":
|
|
162
|
+
return bytes;
|
|
163
|
+
case "arrayBuffer":
|
|
164
|
+
return snapshotAsArrayBuffer(bytes);
|
|
165
|
+
case "blob":
|
|
166
|
+
return snapshotAsBlob(bytes, mimeType);
|
|
167
|
+
case "response":
|
|
168
|
+
return snapshotAsResponse(bytes, mimeType);
|
|
169
|
+
case "stream":
|
|
170
|
+
return snapshotAsReadableStream(bytes);
|
|
171
|
+
case "url":
|
|
172
|
+
return snapshotAsObjectUrl(bytes, mimeType);
|
|
173
|
+
}
|
|
178
174
|
}
|
|
179
175
|
catch (err) {
|
|
180
176
|
throw wrapError(err);
|
|
181
177
|
}
|
|
182
178
|
}
|
|
183
|
-
async loadSnapshot(source) {
|
|
179
|
+
async loadSnapshot(source, options) {
|
|
184
180
|
try {
|
|
185
|
-
|
|
181
|
+
const bytes = await readSnapshotSource(source);
|
|
182
|
+
const native = this.#inner;
|
|
183
|
+
return native.loadSnapshot(bytes, options ?? null);
|
|
186
184
|
}
|
|
187
185
|
catch (err) {
|
|
188
186
|
throw wrapError(err);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EACL,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/loader-node.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface NativeModule {
|
|
|
8
8
|
init: () => void;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Shape of the snapshot metadata emitted by `
|
|
11
|
+
* Shape of the snapshot metadata emitted by `loadSnapshot`. The
|
|
12
12
|
* native Rust layer returns this as a plain JS object via `serde-wasm-bindgen`.
|
|
13
13
|
*/
|
|
14
14
|
export interface NativeSnapshotMeta {
|
package/dist/snapshot.d.ts
CHANGED
|
@@ -1,22 +1,55 @@
|
|
|
1
|
-
export type WasmSnapshotSource =
|
|
2
|
-
export type
|
|
3
|
-
|
|
4
|
-
format: "binary";
|
|
1
|
+
export type WasmSnapshotSource = URL | Uint8Array | ArrayBuffer | Blob | Response | ReadableStream<Uint8Array | ArrayBuffer>;
|
|
2
|
+
export type WasmSnapshotCompression = "none" | "gzip" | {
|
|
3
|
+
format: "none";
|
|
5
4
|
} | {
|
|
6
|
-
format: "
|
|
5
|
+
format: "gzip";
|
|
6
|
+
level?: number;
|
|
7
|
+
};
|
|
8
|
+
export interface WasmSnapshotPasswordParams {
|
|
9
|
+
memoryCostKib?: number;
|
|
10
|
+
timeCost?: number;
|
|
11
|
+
parallelism?: number;
|
|
12
|
+
}
|
|
13
|
+
export type WasmSnapshotEncryption = {
|
|
14
|
+
type?: "password" | "passphrase";
|
|
15
|
+
keyId?: string;
|
|
16
|
+
password: string;
|
|
17
|
+
params?: WasmSnapshotPasswordParams;
|
|
7
18
|
} | {
|
|
19
|
+
type: "key" | "rawKey" | "raw_key";
|
|
20
|
+
keyId?: string;
|
|
21
|
+
key: number[];
|
|
22
|
+
};
|
|
23
|
+
export interface WasmSnapshotByteOptions {
|
|
24
|
+
compression?: WasmSnapshotCompression;
|
|
25
|
+
encryption?: WasmSnapshotEncryption | null;
|
|
26
|
+
}
|
|
27
|
+
export interface WasmSnapshotLoadOptions {
|
|
28
|
+
credentials?: WasmSnapshotEncryption | null;
|
|
29
|
+
encryption?: WasmSnapshotEncryption | null;
|
|
30
|
+
}
|
|
31
|
+
export type WasmSnapshotSaveFormat = "bytes" | "arrayBuffer" | "blob" | "response" | "stream" | "url";
|
|
32
|
+
export type WasmSnapshotSaveOptions = ({
|
|
33
|
+
format?: "bytes";
|
|
34
|
+
} & WasmSnapshotByteOptions) | ({
|
|
35
|
+
format: "arrayBuffer";
|
|
36
|
+
} & WasmSnapshotByteOptions) | ({
|
|
8
37
|
format: "blob";
|
|
9
38
|
mimeType?: string;
|
|
10
|
-
} | {
|
|
11
|
-
format: "
|
|
12
|
-
filename?: string;
|
|
39
|
+
} & WasmSnapshotByteOptions) | ({
|
|
40
|
+
format: "response";
|
|
13
41
|
mimeType?: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
42
|
+
} & WasmSnapshotByteOptions) | ({
|
|
43
|
+
format: "stream";
|
|
44
|
+
} & WasmSnapshotByteOptions) | ({
|
|
45
|
+
format: "url";
|
|
46
|
+
mimeType?: string;
|
|
47
|
+
} & WasmSnapshotByteOptions);
|
|
48
|
+
export declare function asUint8Array(bytes: Uint8Array | ArrayBuffer): Uint8Array;
|
|
49
|
+
export declare function snapshotAsArrayBuffer(bytes: Uint8Array): ArrayBuffer;
|
|
50
|
+
export declare function snapshotAsBlob(bytes: Uint8Array, mimeType?: string): Blob;
|
|
51
|
+
export declare function snapshotAsResponse(bytes: Uint8Array, mimeType?: string): Response;
|
|
52
|
+
export declare function snapshotAsReadableStream(bytes: Uint8Array): ReadableStream<Uint8Array>;
|
|
53
|
+
export declare function snapshotAsObjectUrl(bytes: Uint8Array, mimeType?: string): URL;
|
|
54
|
+
export declare function readSnapshotSource(source: WasmSnapshotSource): Promise<Uint8Array>;
|
|
22
55
|
//# sourceMappingURL=snapshot.d.ts.map
|
package/dist/snapshot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../ts/snapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B,
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../ts/snapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B,GAAG,GACH,UAAU,GACV,WAAW,GACX,IAAI,GACJ,QAAQ,GACR,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;AAE7C,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,GACN;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC,GACD;IACE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEN,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,UAAU,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,aAAa,GACb,MAAM,GACN,UAAU,GACV,QAAQ,GACR,KAAK,CAAC;AAEV,MAAM,MAAM,uBAAuB,GAC/B,CAAC;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,uBAAuB,CAAC,GAChD,CAAC;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GAAG,uBAAuB,CAAC,GACrD,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,uBAAuB,CAAC,GACjE,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,uBAAuB,CAAC,GACrE,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG,uBAAuB,CAAC,GAChD,CAAC;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,uBAAuB,CAAC,CAAC;AAIrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAKxE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAIpE;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,QAAQ,SAA6B,GACpC,IAAI,CAEN;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,SAA6B,GACpC,QAAQ,CAIV;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,UAAU,GAChB,cAAc,CAAC,UAAU,CAAC,CAS5B;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,QAAQ,SAA6B,GACpC,GAAG,CAKL;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,CAAC,CAsBrB"}
|
package/dist/snapshot.js
CHANGED
|
@@ -1,79 +1,61 @@
|
|
|
1
1
|
const DEFAULT_SNAPSHOT_MIME_TYPE = "application/octet-stream";
|
|
2
|
-
|
|
3
|
-
export function bytesToUint8Array(bytes) {
|
|
2
|
+
export function asUint8Array(bytes) {
|
|
4
3
|
if (bytes instanceof Uint8Array) {
|
|
5
4
|
return bytes;
|
|
6
5
|
}
|
|
7
6
|
return new Uint8Array(bytes);
|
|
8
7
|
}
|
|
9
|
-
export function
|
|
10
|
-
const buffer = globalThis.Buffer;
|
|
11
|
-
if (buffer) {
|
|
12
|
-
return buffer.from(bytes).toString("base64");
|
|
13
|
-
}
|
|
14
|
-
const chunkSize = 0x8000;
|
|
15
|
-
let binary = "";
|
|
16
|
-
for (let offset = 0; offset < bytes.byteLength; offset += chunkSize) {
|
|
17
|
-
const chunk = bytes.subarray(offset, offset + chunkSize);
|
|
18
|
-
binary += String.fromCharCode(...chunk);
|
|
19
|
-
}
|
|
20
|
-
return btoa(binary);
|
|
21
|
-
}
|
|
22
|
-
export function snapshotBytesToBlob(bytes, mimeType = DEFAULT_SNAPSHOT_MIME_TYPE) {
|
|
8
|
+
export function snapshotAsArrayBuffer(bytes) {
|
|
23
9
|
const copy = new Uint8Array(bytes.byteLength);
|
|
24
10
|
copy.set(bytes);
|
|
25
|
-
return
|
|
11
|
+
return copy.buffer;
|
|
26
12
|
}
|
|
27
|
-
export function
|
|
28
|
-
|
|
29
|
-
const urlApi = globalThis.URL;
|
|
30
|
-
if (!doc || !urlApi?.createObjectURL) {
|
|
31
|
-
throw new Error("LORA_ERROR: snapshot download requires a browser document");
|
|
32
|
-
}
|
|
33
|
-
const url = urlApi.createObjectURL(snapshotBytesToBlob(bytes, mimeType));
|
|
34
|
-
const anchor = doc.createElement("a");
|
|
35
|
-
anchor.href = url;
|
|
36
|
-
anchor.download = filename;
|
|
37
|
-
if (anchor.style) {
|
|
38
|
-
anchor.style.display = "none";
|
|
39
|
-
}
|
|
40
|
-
doc.body?.appendChild(anchor);
|
|
41
|
-
try {
|
|
42
|
-
anchor.click();
|
|
43
|
-
}
|
|
44
|
-
finally {
|
|
45
|
-
anchor.remove?.();
|
|
46
|
-
setTimeout(() => urlApi.revokeObjectURL(url), 0);
|
|
47
|
-
}
|
|
13
|
+
export function snapshotAsBlob(bytes, mimeType = DEFAULT_SNAPSHOT_MIME_TYPE) {
|
|
14
|
+
return new Blob([snapshotAsArrayBuffer(bytes)], { type: mimeType });
|
|
48
15
|
}
|
|
49
|
-
export function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
16
|
+
export function snapshotAsResponse(bytes, mimeType = DEFAULT_SNAPSHOT_MIME_TYPE) {
|
|
17
|
+
return new Response(snapshotAsArrayBuffer(bytes), {
|
|
18
|
+
headers: { "content-type": mimeType },
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function snapshotAsReadableStream(bytes) {
|
|
22
|
+
const copy = new Uint8Array(bytes.byteLength);
|
|
23
|
+
copy.set(bytes);
|
|
24
|
+
return new ReadableStream({
|
|
25
|
+
start(controller) {
|
|
26
|
+
controller.enqueue(copy);
|
|
27
|
+
controller.close();
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function snapshotAsObjectUrl(bytes, mimeType = DEFAULT_SNAPSHOT_MIME_TYPE) {
|
|
32
|
+
if (typeof URL === "undefined" || typeof URL.createObjectURL !== "function") {
|
|
33
|
+
throw new Error("LORA_CONFIG: snapshot URL output requires URL.createObjectURL");
|
|
55
34
|
}
|
|
56
|
-
return
|
|
35
|
+
return new URL(URL.createObjectURL(snapshotAsBlob(bytes, mimeType)));
|
|
57
36
|
}
|
|
58
|
-
export async function
|
|
37
|
+
export async function readSnapshotSource(source) {
|
|
59
38
|
if (source instanceof Uint8Array || source instanceof ArrayBuffer) {
|
|
60
|
-
return
|
|
39
|
+
return asUint8Array(source);
|
|
61
40
|
}
|
|
62
41
|
if (typeof Blob !== "undefined" && source instanceof Blob) {
|
|
63
42
|
return new Uint8Array(await source.arrayBuffer());
|
|
64
43
|
}
|
|
65
44
|
if (typeof Response !== "undefined" && source instanceof Response) {
|
|
66
|
-
return
|
|
45
|
+
return readSnapshotResponse(source);
|
|
46
|
+
}
|
|
47
|
+
if (source instanceof URL) {
|
|
48
|
+
return readSnapshotResponse(await fetch(source));
|
|
67
49
|
}
|
|
68
50
|
if (isReadableStream(source)) {
|
|
69
|
-
return
|
|
51
|
+
return readSnapshotStream(source);
|
|
70
52
|
}
|
|
71
|
-
|
|
53
|
+
throw new Error("LORA_INVALID_PARAMS: unsupported snapshot source");
|
|
72
54
|
}
|
|
73
55
|
function isReadableStream(source) {
|
|
74
56
|
return typeof source.getReader === "function";
|
|
75
57
|
}
|
|
76
|
-
async function
|
|
58
|
+
async function readSnapshotStream(stream) {
|
|
77
59
|
const reader = stream.getReader();
|
|
78
60
|
const chunks = [];
|
|
79
61
|
let total = 0;
|
|
@@ -89,7 +71,7 @@ async function readableStreamToBytes(stream) {
|
|
|
89
71
|
}
|
|
90
72
|
return merged;
|
|
91
73
|
}
|
|
92
|
-
const chunk =
|
|
74
|
+
const chunk = asUint8Array(value);
|
|
93
75
|
chunks.push(chunk);
|
|
94
76
|
total += chunk.byteLength;
|
|
95
77
|
}
|
|
@@ -98,9 +80,9 @@ async function readableStreamToBytes(stream) {
|
|
|
98
80
|
reader.releaseLock();
|
|
99
81
|
}
|
|
100
82
|
}
|
|
101
|
-
async function
|
|
83
|
+
async function readSnapshotResponse(response) {
|
|
102
84
|
if (!response.ok) {
|
|
103
|
-
throw new Error(`
|
|
85
|
+
throw new Error(`LORA_IO: snapshot fetch failed (${response.status} ${response.statusText})`);
|
|
104
86
|
}
|
|
105
87
|
return new Uint8Array(await response.arrayBuffer());
|
|
106
88
|
}
|
package/dist/snapshot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../ts/snapshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../ts/snapshot.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* spatial values are tagged so TypeScript can narrow safely after a
|
|
7
7
|
* query runs.
|
|
8
8
|
*
|
|
9
|
-
* Canonical source: `crates/shared-ts/types.ts`. Each JS-facing package
|
|
9
|
+
* Canonical source: `crates/bindings/shared-ts/types.ts`. Each JS-facing package
|
|
10
10
|
* (`lora-node`, `lora-wasm`) copies this file into its own `ts/` dir
|
|
11
11
|
* via its `sync:types` npm script. The `verify:types` script fails CI if
|
|
12
12
|
* the copies drift — do not edit the per-package copies directly.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export type LoraParam = null | boolean | number | string | LoraParam[] | {
|
|
21
21
|
[key: string]: LoraParam;
|
|
22
|
-
} | LoraDate | LoraTime | LoraLocalTime | LoraDateTime | LoraLocalDateTime | LoraDuration | LoraPoint | LoraVector;
|
|
22
|
+
} | LoraDate | LoraTime | LoraLocalTime | LoraDateTime | LoraLocalDateTime | LoraDuration | LoraPoint | LoraVector | LoraBinary;
|
|
23
23
|
export type LoraParams = Record<string, LoraParam>;
|
|
24
24
|
export interface LoraNode {
|
|
25
25
|
kind: "node";
|
|
@@ -165,19 +165,71 @@ export interface LoraVector {
|
|
|
165
165
|
coordinateType: LoraVectorCoordinateType;
|
|
166
166
|
values: number[];
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Segmented binary/blob value. Each segment is a byte array; concatenate
|
|
170
|
+
* segments in order to reconstruct the logical binary value.
|
|
171
|
+
*/
|
|
172
|
+
export interface LoraBinary {
|
|
173
|
+
kind: "binary";
|
|
174
|
+
length: number;
|
|
175
|
+
segments: number[][];
|
|
176
|
+
}
|
|
168
177
|
export type LoraValue = null | boolean | number | string | LoraValue[] | {
|
|
169
178
|
[key: string]: LoraValue;
|
|
170
|
-
} | LoraNode | LoraRelationship | LoraPath | LoraDate | LoraTime | LoraLocalTime | LoraDateTime | LoraLocalDateTime | LoraDuration | LoraPoint | LoraVector;
|
|
179
|
+
} | LoraNode | LoraRelationship | LoraPath | LoraDate | LoraTime | LoraLocalTime | LoraDateTime | LoraLocalDateTime | LoraDuration | LoraPoint | LoraVector | LoraBinary;
|
|
171
180
|
export type QueryRow<T extends Record<string, LoraValue> = Record<string, LoraValue>> = T;
|
|
172
181
|
export interface QueryResult<T extends Record<string, LoraValue> = Record<string, LoraValue>> {
|
|
173
182
|
columns: string[];
|
|
174
183
|
rows: QueryRow<T>[];
|
|
175
184
|
}
|
|
185
|
+
export type LoraPlanShape = "readOnly" | "mutating";
|
|
186
|
+
export interface LoraPlanNode {
|
|
187
|
+
/** Stable physical-node id within the owning plan, or `Number.MAX_SAFE_INTEGER` for synthetic Union / UnionBranch wrappers. */
|
|
188
|
+
id: number;
|
|
189
|
+
/** Operator label, e.g. "NodeByLabelScan", "Expand", "Projection". */
|
|
190
|
+
operator: string;
|
|
191
|
+
/** Human-readable details map keyed on stable strings. Values are opaque strings — internal expression / variable types are not exposed here. */
|
|
192
|
+
details: Record<string, string>;
|
|
193
|
+
/** Reserved for a future cost model. Always `null` today. */
|
|
194
|
+
estimatedRows: number | null;
|
|
195
|
+
children: LoraPlanNode[];
|
|
196
|
+
}
|
|
197
|
+
export interface LoraQueryPlan {
|
|
198
|
+
/** The exact query string the caller submitted to `explain()`. */
|
|
199
|
+
query: string;
|
|
200
|
+
shape: LoraPlanShape;
|
|
201
|
+
/** Result column names in projection order. Empty for plans without a top-level projection. */
|
|
202
|
+
resultColumns: string[];
|
|
203
|
+
tree: LoraPlanNode;
|
|
204
|
+
}
|
|
205
|
+
export interface LoraOperatorMetrics {
|
|
206
|
+
rows: number;
|
|
207
|
+
/** Reserved for a future phase. `0` today. */
|
|
208
|
+
dbHits: number;
|
|
209
|
+
/** Wall-clock time spent inside this operator's `next_row`, *inclusive* of children. */
|
|
210
|
+
elapsedNs: number;
|
|
211
|
+
nextCalls: number;
|
|
212
|
+
}
|
|
213
|
+
export interface LoraQueryProfile {
|
|
214
|
+
/** Same shape as the result of `explain()`. */
|
|
215
|
+
plan: LoraQueryPlan;
|
|
216
|
+
metrics: {
|
|
217
|
+
/** Wall-clock time spent inside the executor for this query. */
|
|
218
|
+
totalElapsedNs: number;
|
|
219
|
+
/** Number of rows produced (before result-format projection). */
|
|
220
|
+
totalRows: number;
|
|
221
|
+
/** Whether at least one mutating operator ran. */
|
|
222
|
+
mutated: boolean;
|
|
223
|
+
/** Per-operator metrics keyed by physical node id (string-encoded for object compatibility). */
|
|
224
|
+
perOperator: Record<string, LoraOperatorMetrics>;
|
|
225
|
+
};
|
|
226
|
+
}
|
|
176
227
|
export declare function isNode(v: LoraValue): v is LoraNode;
|
|
177
228
|
export declare function isRelationship(v: LoraValue): v is LoraRelationship;
|
|
178
229
|
export declare function isPath(v: LoraValue): v is LoraPath;
|
|
179
230
|
export declare function isPoint(v: LoraValue): v is LoraPoint;
|
|
180
231
|
export declare function isVector(v: LoraValue): v is LoraVector;
|
|
232
|
+
export declare function isBinary(v: LoraValue): v is LoraBinary;
|
|
181
233
|
export declare function isTemporal(v: LoraValue): v is LoraTemporal;
|
|
182
234
|
export declare const date: (iso: string) => LoraDate;
|
|
183
235
|
export declare const time: (iso: string) => LoraTime;
|
|
@@ -191,19 +243,41 @@ export declare const duration: (iso: string) => LoraDuration;
|
|
|
191
243
|
* back into the next query) work without any conversion.
|
|
192
244
|
*/
|
|
193
245
|
export declare const vector: (values: number[], dimension: number, coordinateType: LoraVectorCoordinateType) => LoraVector;
|
|
246
|
+
export declare const binary: (segments: number[][]) => LoraBinary;
|
|
194
247
|
export declare const cartesian: (x: number, y: number) => LoraCartesianPoint;
|
|
195
248
|
export declare const cartesian3d: (x: number, y: number, z: number) => LoraCartesianPoint3D;
|
|
196
249
|
export declare const wgs84: (longitude: number, latitude: number) => LoraWgs84Point;
|
|
197
250
|
export declare const wgs84_3d: (longitude: number, latitude: number, height: number) => LoraWgs84Point3D;
|
|
198
251
|
/**
|
|
199
|
-
* Error codes emitted by the engine bridges.
|
|
252
|
+
* Error codes emitted by the engine bridges. Mirrors
|
|
253
|
+
* `lora_database::LoraErrorCode::as_str` 1:1, plus two binding-only
|
|
254
|
+
* codes (`WORKER_ERROR`, `UNKNOWN`).
|
|
255
|
+
*
|
|
256
|
+
* Client errors (caller's fault):
|
|
257
|
+
* - `LORA_PARSE` — Cypher syntax could not be parsed
|
|
258
|
+
* - `LORA_SEMANTIC` — analysis failure (unknown variable, label, type mismatch, …)
|
|
259
|
+
* - `LORA_INVALID_PARAMS` — a parameter value could not be coerced
|
|
260
|
+
* - `LORA_READ_ONLY` — mutating statement issued in a read-only context
|
|
261
|
+
* - `LORA_NOT_FOUND` — a named entity does not exist
|
|
262
|
+
* - `LORA_CONSTRAINT` — a precondition (e.g. delete-with-relationships) is not satisfied
|
|
263
|
+
* - `LORA_INVALID_VECTOR` — vector value failed dimension / coordinate-type validation
|
|
264
|
+
* - `LORA_TIMEOUT` — query exceeded its cooperative deadline
|
|
265
|
+
* - `LORA_DATABASE_NAME` — logical database name violates the portable-path rules
|
|
266
|
+
* - `LORA_CONFIG` — required parameters are missing or malformed
|
|
267
|
+
*
|
|
268
|
+
* Server errors (engine-side):
|
|
269
|
+
* - `LORA_IO` — I/O failure outside the WAL / snapshot boundaries
|
|
270
|
+
* - `LORA_WAL_CORRUPTION` — WAL record was truncated, mis-CRC'd, or otherwise unreadable
|
|
271
|
+
* - `LORA_WAL_POISONED` — WAL is poisoned and no longer accepts durable writes
|
|
272
|
+
* - `LORA_SNAPSHOT_CODEC` — snapshot codec failure (bad magic, version, checksum, …)
|
|
273
|
+
* - `LORA_SNAPSHOT_CRYPTO` — snapshot encryption / decryption / KDF failure
|
|
274
|
+
* - `LORA_INTERNAL` — last-resort fallback when the engine cannot classify the failure
|
|
200
275
|
*
|
|
201
|
-
* -
|
|
202
|
-
* - `INVALID_PARAMS` — a param value could not be mapped to a Lora value
|
|
276
|
+
* Binding-only:
|
|
203
277
|
* - `WORKER_ERROR` — worker transport / lifecycle failure (wasm worker only)
|
|
204
278
|
* - `UNKNOWN` — fall-through for unrecognised error shapes
|
|
205
279
|
*/
|
|
206
|
-
export type LoraErrorCode = "
|
|
280
|
+
export type LoraErrorCode = "LORA_PARSE" | "LORA_SEMANTIC" | "LORA_INVALID_PARAMS" | "LORA_READ_ONLY" | "LORA_NOT_FOUND" | "LORA_CONSTRAINT" | "LORA_INVALID_VECTOR" | "LORA_TIMEOUT" | "LORA_DATABASE_NAME" | "LORA_CONFIG" | "LORA_IO" | "LORA_WAL_CORRUPTION" | "LORA_WAL_POISONED" | "LORA_SNAPSHOT_CODEC" | "LORA_SNAPSHOT_CRYPTO" | "LORA_INTERNAL" | "WORKER_ERROR" | "UNKNOWN";
|
|
207
281
|
/**
|
|
208
282
|
* Error thrown by `Database.execute` when Lora parsing, analysis, or
|
|
209
283
|
* execution fails.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* spatial values are tagged so TypeScript can narrow safely after a
|
|
7
7
|
* query runs.
|
|
8
8
|
*
|
|
9
|
-
* Canonical source: `crates/shared-ts/types.ts`. Each JS-facing package
|
|
9
|
+
* Canonical source: `crates/bindings/shared-ts/types.ts`. Each JS-facing package
|
|
10
10
|
* (`lora-node`, `lora-wasm`) copies this file into its own `ts/` dir
|
|
11
11
|
* via its `sync:types` npm script. The `verify:types` script fails CI if
|
|
12
12
|
* the copies drift — do not edit the per-package copies directly.
|
|
@@ -29,6 +29,9 @@ export function isPoint(v) {
|
|
|
29
29
|
export function isVector(v) {
|
|
30
30
|
return typeof v === "object" && v !== null && !Array.isArray(v) && v.kind === "vector";
|
|
31
31
|
}
|
|
32
|
+
export function isBinary(v) {
|
|
33
|
+
return typeof v === "object" && v !== null && !Array.isArray(v) && v.kind === "binary";
|
|
34
|
+
}
|
|
32
35
|
export function isTemporal(v) {
|
|
33
36
|
if (typeof v !== "object" || v === null || Array.isArray(v))
|
|
34
37
|
return false;
|
|
@@ -55,6 +58,11 @@ export const duration = (iso) => ({ kind: "duration", iso });
|
|
|
55
58
|
* back into the next query) work without any conversion.
|
|
56
59
|
*/
|
|
57
60
|
export const vector = (values, dimension, coordinateType) => ({ kind: "vector", dimension, coordinateType, values });
|
|
61
|
+
export const binary = (segments) => ({
|
|
62
|
+
kind: "binary",
|
|
63
|
+
length: segments.reduce((sum, segment) => sum + segment.length, 0),
|
|
64
|
+
segments,
|
|
65
|
+
});
|
|
58
66
|
export const cartesian = (x, y) => ({
|
|
59
67
|
kind: "point",
|
|
60
68
|
srid: 7203,
|
|
@@ -102,7 +110,7 @@ export class LoraError extends Error {
|
|
|
102
110
|
this.code = code;
|
|
103
111
|
}
|
|
104
112
|
}
|
|
105
|
-
const ERROR_PREFIX_RE = /^(
|
|
113
|
+
const ERROR_PREFIX_RE = /^(LORA_[A-Z_]+|WORKER_ERROR):\s*(.*)$/s;
|
|
106
114
|
/**
|
|
107
115
|
* Normalise a thrown value into a `LoraError` with a narrowed `code`
|
|
108
116
|
* when the message carries a recognised prefix; otherwise returns the
|