@loradb/lora-wasm 0.5.5 → 0.6.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 +17 -16
- package/dist/index.d.ts +21 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -35
- 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 +35 -53
- package/dist/snapshot.js.map +1 -1
- package/dist/types.d.ts +13 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- 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 +21 -21
- 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 +7 -4
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
- package/pkg-bundler/README.md +17 -16
- package/pkg-bundler/lora_wasm.d.ts +13 -11
- package/pkg-bundler/lora_wasm_bg.js +116 -29
- package/pkg-bundler/lora_wasm_bg.wasm +0 -0
- package/pkg-bundler/lora_wasm_bg.wasm.d.ts +2 -2
- package/pkg-bundler/package.json +1 -1
- package/pkg-node/README.md +17 -16
- package/pkg-node/lora_wasm.d.ts +13 -11
- package/pkg-node/lora_wasm.js +116 -29
- package/pkg-node/lora_wasm_bg.wasm +0 -0
- package/pkg-node/lora_wasm_bg.wasm.d.ts +2 -2
- package/pkg-node/package.json +1 -1
- package/pkg-web/README.md +17 -16
- package/pkg-web/lora_wasm.d.ts +15 -13
- package/pkg-web/lora_wasm.js +99 -29
- package/pkg-web/lora_wasm_bg.wasm +0 -0
- package/pkg-web/lora_wasm_bg.wasm.d.ts +2 -2
- package/pkg-web/package.json +1 -1
package/README.md
CHANGED
|
@@ -116,14 +116,17 @@ useful for tests and for swapping execution backends behind the same API.
|
|
|
116
116
|
|
|
117
117
|
## Snapshots
|
|
118
118
|
|
|
119
|
-
WASM has no filesystem access, so
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
`
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
119
|
+
WASM has no filesystem access, so snapshots never accept string paths.
|
|
120
|
+
`saveSnapshot()` defaults to `Uint8Array`, and can also return `ArrayBuffer`,
|
|
121
|
+
`Blob`, `Response`, `ReadableStream`, or an object `URL`. `loadSnapshot`
|
|
122
|
+
accepts `URL`, `Uint8Array`, `ArrayBuffer`, `Blob`, `Response`, and web
|
|
123
|
+
`ReadableStream<Uint8Array | ArrayBuffer>`. The bytes use the database
|
|
124
|
+
snapshot codec (`LORACOL1`) and can be loaded by native LoraDB. Older store
|
|
125
|
+
snapshots (`LORASNAP`) are still accepted by `loadSnapshot` for compatibility.
|
|
126
|
+
Snapshot bytes are uncompressed by default; pass `{ compression: "gzip" }` or
|
|
127
|
+
`{ compression: { format: "gzip", level: 1 } }` to save smaller
|
|
128
|
+
WASM-portable snapshots. Gzip levels `0..9` are supported; level `1` is the
|
|
129
|
+
fast default.
|
|
127
130
|
|
|
128
131
|
```ts
|
|
129
132
|
import { createDatabase } from "lora-wasm";
|
|
@@ -131,20 +134,18 @@ import { createDatabase } from "lora-wasm";
|
|
|
131
134
|
const db = await createDatabase();
|
|
132
135
|
await db.execute("CREATE (:Person {name: 'Alice'})");
|
|
133
136
|
|
|
134
|
-
const bytes = await db.
|
|
135
|
-
const
|
|
136
|
-
const blob = await db.saveSnapshot({ format: "blob" });
|
|
137
|
-
await db.saveSnapshot({ format: "
|
|
137
|
+
const bytes = await db.saveSnapshot();
|
|
138
|
+
const compressed = await db.saveSnapshot({ compression: "gzip" });
|
|
139
|
+
const blob = await db.saveSnapshot({ format: "blob", compression: "gzip" });
|
|
140
|
+
const response = await db.saveSnapshot({ format: "response" });
|
|
138
141
|
|
|
139
142
|
await db.loadSnapshot(bytes);
|
|
143
|
+
await db.loadSnapshot(compressed);
|
|
140
144
|
await db.loadSnapshot(blob);
|
|
141
|
-
await db.loadSnapshot(
|
|
145
|
+
await db.loadSnapshot(response);
|
|
142
146
|
await db.loadSnapshot(new URL("/graph.lorasnap", location.href));
|
|
143
147
|
```
|
|
144
148
|
|
|
145
|
-
`loadSnapshotFromBytes(bytes)` remains available for the narrow
|
|
146
|
-
`Uint8Array`-only path.
|
|
147
|
-
|
|
148
149
|
## Typed value model
|
|
149
150
|
|
|
150
151
|
| TS type | Runtime shape |
|
package/dist/index.d.ts
CHANGED
|
@@ -18,15 +18,14 @@
|
|
|
18
18
|
import type { LoraParams, LoraValue, QueryResult } from "./types.js";
|
|
19
19
|
import { WasmDatabase } from "./loader-node.js";
|
|
20
20
|
import type { WorkerDatabase } from "./worker-client.js";
|
|
21
|
-
import type { WasmSnapshotSource } from "./snapshot.js";
|
|
21
|
+
import type { WasmSnapshotByteOptions, WasmSnapshotLoadOptions, WasmSnapshotSource } from "./snapshot.js";
|
|
22
22
|
export * from "./types.js";
|
|
23
23
|
export { createWorkerDatabase, type WorkerDatabase, type WorkerLike, } from "./worker-client.js";
|
|
24
|
-
export type { WasmSnapshotSaveFormat, WasmSnapshotSaveOptions, WasmSnapshotSource, } from "./snapshot.js";
|
|
24
|
+
export type { WasmSnapshotByteOptions, WasmSnapshotCompression, WasmSnapshotEncryption, WasmSnapshotLoadOptions, WasmSnapshotPasswordParams, WasmSnapshotSaveFormat, WasmSnapshotSaveOptions, WasmSnapshotSource, } from "./snapshot.js";
|
|
25
25
|
/**
|
|
26
|
-
* Metadata returned by `
|
|
27
|
-
* Mirrors the Rust `SnapshotMeta` struct
|
|
28
|
-
*
|
|
29
|
-
* WAL/checkpoint hybrid and is `null` for pure snapshots.
|
|
26
|
+
* Metadata returned by `loadSnapshot`.
|
|
27
|
+
* Mirrors the Rust `SnapshotMeta` struct. WASM saves the database snapshot
|
|
28
|
+
* codec and accepts legacy store snapshots on load for compatibility.
|
|
30
29
|
*/
|
|
31
30
|
export interface SnapshotMeta {
|
|
32
31
|
formatVersion: number;
|
|
@@ -80,39 +79,30 @@ declare class DatabaseImpl {
|
|
|
80
79
|
clear(): Promise<void>;
|
|
81
80
|
nodeCount(): Promise<number>;
|
|
82
81
|
relationshipCount(): Promise<number>;
|
|
83
|
-
/**
|
|
84
|
-
* Serialize the current graph to a `Uint8Array`. WASM has no filesystem
|
|
85
|
-
* access — the caller is responsible for persisting the bytes (IndexedDB,
|
|
86
|
-
* localStorage, fetch POST, `fs.writeFileSync` in Node, etc.) and passing
|
|
87
|
-
* them back to `loadSnapshotFromBytes` on a future database instance.
|
|
88
|
-
*/
|
|
89
|
-
saveSnapshotToBytes(): Promise<Uint8Array>;
|
|
90
82
|
saveSnapshot(): Promise<Uint8Array>;
|
|
91
|
-
saveSnapshot(
|
|
92
|
-
saveSnapshot(format: "base64"): Promise<string>;
|
|
93
|
-
saveSnapshot(format: "blob"): Promise<Blob>;
|
|
94
|
-
saveSnapshot(format: "download"): Promise<void>;
|
|
83
|
+
saveSnapshot(options: WasmSnapshotByteOptions): Promise<Uint8Array>;
|
|
95
84
|
saveSnapshot(options: {
|
|
96
|
-
format
|
|
97
|
-
}): Promise<Uint8Array>;
|
|
85
|
+
format?: "bytes";
|
|
86
|
+
} & WasmSnapshotByteOptions): Promise<Uint8Array>;
|
|
98
87
|
saveSnapshot(options: {
|
|
99
|
-
format: "
|
|
100
|
-
}): Promise<
|
|
88
|
+
format: "arrayBuffer";
|
|
89
|
+
} & WasmSnapshotByteOptions): Promise<ArrayBuffer>;
|
|
101
90
|
saveSnapshot(options: {
|
|
102
91
|
format: "blob";
|
|
103
92
|
mimeType?: string;
|
|
104
|
-
}): Promise<Blob>;
|
|
93
|
+
} & WasmSnapshotByteOptions): Promise<Blob>;
|
|
105
94
|
saveSnapshot(options: {
|
|
106
|
-
format: "
|
|
107
|
-
filename?: string;
|
|
95
|
+
format: "response";
|
|
108
96
|
mimeType?: string;
|
|
109
|
-
}): Promise<
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
97
|
+
} & WasmSnapshotByteOptions): Promise<Response>;
|
|
98
|
+
saveSnapshot(options: {
|
|
99
|
+
format: "stream";
|
|
100
|
+
} & WasmSnapshotByteOptions): Promise<ReadableStream<Uint8Array>>;
|
|
101
|
+
saveSnapshot(options: {
|
|
102
|
+
format: "url";
|
|
103
|
+
mimeType?: string;
|
|
104
|
+
} & WasmSnapshotByteOptions): Promise<URL>;
|
|
105
|
+
loadSnapshot(source: WasmSnapshotSource, options?: WasmSnapshotLoadOptions): Promise<SnapshotMeta>;
|
|
116
106
|
/** Release the underlying wasm handle. Subsequent calls will throw. */
|
|
117
107
|
dispose(): void;
|
|
118
108
|
}
|
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;AAElE,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAC;
|
|
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;AAElE,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAC;AASrE,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EAEvB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,UAAU,GACV,IAAI,GACJ,IAAI,CAAC;AAET,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS,CACxB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAC/D,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACxB,KAAK,IAAI,IAAI,CAAC;CACf;AAiFD;;;;;;;GAOG;AACH,cAAM,YAAY;;gBAGJ,KAAK,EAAE,YAAY,CAAC,OAAO,YAAY,CAAC;IAI9C,OAAO,CACX,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/D,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAS9D,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACpE,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,UAAU,GAClB,SAAS,CAAC,CAAC,CAAC;IAWf,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAClE,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,UAAU,GAClB,SAAS,CAAC,CAAC,CAAC;IAIT,WAAW,CACf,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAE/D,UAAU,EAAE,oBAAoB,EAAE,EAClC,IAAI,GAAE,eAA8B,GACnC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAW3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI1C,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;IACnC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACnE,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC1F,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,aAAa,CAAA;KAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAChG,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IACrG,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC7G,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1G,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC;IAmC7F,YAAY,CAChB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,YAAY,CAAC;IAYxB,uEAAuE;IACvE,OAAO,IAAI,IAAI;CAGhB;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC;AAgCrD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,YAAY,CAAC,CAGtE;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,QAAQ,CAAC,CAwBnB"}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import { wrapError } from "./types.js";
|
|
19
19
|
import { WasmDatabase, init as wasmInit } from "./loader-node.js";
|
|
20
20
|
import { createWorkerDatabase } from "./worker-client.js";
|
|
21
|
-
import {
|
|
21
|
+
import { snapshotAsArrayBuffer, snapshotAsBlob, snapshotAsObjectUrl, snapshotAsReadableStream, snapshotAsResponse, readSnapshotSource, } from "./snapshot.js";
|
|
22
22
|
export * from "./types.js";
|
|
23
23
|
export { createWorkerDatabase, } from "./worker-client.js";
|
|
24
24
|
class NativeRowStream {
|
|
@@ -141,48 +141,40 @@ class DatabaseImpl {
|
|
|
141
141
|
return this.#inner.relationshipCount();
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
* Serialize the current graph to a
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* them back to `loadSnapshotFromBytes` on a future database instance.
|
|
144
|
+
* Serialize the current graph to a host-friendly snapshot object. WASM has
|
|
145
|
+
* no filesystem access; callers persist the returned bytes/Blob/stream/URL
|
|
146
|
+
* through host-provided storage.
|
|
148
147
|
*/
|
|
149
|
-
async
|
|
148
|
+
async saveSnapshot(options) {
|
|
150
149
|
try {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Replace the current graph state with a snapshot decoded from `bytes`.
|
|
173
|
-
* Returns metadata describing the restored snapshot.
|
|
174
|
-
*/
|
|
175
|
-
async loadSnapshotFromBytes(bytes) {
|
|
176
|
-
try {
|
|
177
|
-
return this.#inner.loadSnapshotFromBytes(bytes);
|
|
150
|
+
const native = this.#inner;
|
|
151
|
+
const bytes = native.saveSnapshot(options ?? null);
|
|
152
|
+
const format = options && "format" in options ? options.format ?? "bytes" : "bytes";
|
|
153
|
+
const mimeType = options && "mimeType" in options ? options.mimeType : undefined;
|
|
154
|
+
switch (format) {
|
|
155
|
+
case "bytes":
|
|
156
|
+
return bytes;
|
|
157
|
+
case "arrayBuffer":
|
|
158
|
+
return snapshotAsArrayBuffer(bytes);
|
|
159
|
+
case "blob":
|
|
160
|
+
return snapshotAsBlob(bytes, mimeType);
|
|
161
|
+
case "response":
|
|
162
|
+
return snapshotAsResponse(bytes, mimeType);
|
|
163
|
+
case "stream":
|
|
164
|
+
return snapshotAsReadableStream(bytes);
|
|
165
|
+
case "url":
|
|
166
|
+
return snapshotAsObjectUrl(bytes, mimeType);
|
|
167
|
+
}
|
|
178
168
|
}
|
|
179
169
|
catch (err) {
|
|
180
170
|
throw wrapError(err);
|
|
181
171
|
}
|
|
182
172
|
}
|
|
183
|
-
async loadSnapshot(source) {
|
|
173
|
+
async loadSnapshot(source, options) {
|
|
184
174
|
try {
|
|
185
|
-
|
|
175
|
+
const bytes = await readSnapshotSource(source);
|
|
176
|
+
const native = this.#inner;
|
|
177
|
+
return native.loadSnapshot(bytes, options ?? null);
|
|
186
178
|
}
|
|
187
179
|
catch (err) {
|
|
188
180
|
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_ERROR: 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_ERROR: 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,7 +80,7 @@ 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
85
|
throw new Error(`LORA_ERROR: snapshot fetch failed (${response.status} ${response.statusText})`);
|
|
104
86
|
}
|
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
|
@@ -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,9 +165,18 @@ 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[];
|
|
@@ -178,6 +187,7 @@ export declare function isRelationship(v: LoraValue): v is LoraRelationship;
|
|
|
178
187
|
export declare function isPath(v: LoraValue): v is LoraPath;
|
|
179
188
|
export declare function isPoint(v: LoraValue): v is LoraPoint;
|
|
180
189
|
export declare function isVector(v: LoraValue): v is LoraVector;
|
|
190
|
+
export declare function isBinary(v: LoraValue): v is LoraBinary;
|
|
181
191
|
export declare function isTemporal(v: LoraValue): v is LoraTemporal;
|
|
182
192
|
export declare const date: (iso: string) => LoraDate;
|
|
183
193
|
export declare const time: (iso: string) => LoraTime;
|
|
@@ -191,6 +201,7 @@ export declare const duration: (iso: string) => LoraDuration;
|
|
|
191
201
|
* back into the next query) work without any conversion.
|
|
192
202
|
*/
|
|
193
203
|
export declare const vector: (values: number[], dimension: number, coordinateType: LoraVectorCoordinateType) => LoraVector;
|
|
204
|
+
export declare const binary: (segments: number[][]) => LoraBinary;
|
|
194
205
|
export declare const cartesian: (x: number, y: number) => LoraCartesianPoint;
|
|
195
206
|
export declare const cartesian3d: (x: number, y: number, z: number) => LoraCartesianPoint3D;
|
|
196
207
|
export declare const wgs84: (longitude: number, latitude: number) => LoraWgs84Point;
|
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
|
@@ -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,
|