@loradb/lora-node 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 +81 -20
- package/dist/decode.d.ts +29 -0
- package/dist/decode.d.ts.map +1 -0
- package/dist/decode.js +341 -0
- package/dist/decode.js.map +1 -0
- package/dist/index.d.ts +111 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +142 -48
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +81 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -3
- package/dist/types.js.map +1 -1
- package/package.json +11 -10
- package/ts/native.d.ts +31 -7
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* native layer, which runs each query on the libuv threadpool so the JS
|
|
6
6
|
* event loop stays responsive. This file only narrows the `unknown`-valued
|
|
7
7
|
* native surface into the strongly-typed `QueryResult<T>` / `LoraParams`
|
|
8
|
-
* shapes defined in the shared TS contract (`crates/shared-ts/types.ts`).
|
|
8
|
+
* shapes defined in the shared TS contract (`crates/bindings/shared-ts/types.ts`).
|
|
9
9
|
*
|
|
10
10
|
* **Initialization is async-only.** The canonical entry point is
|
|
11
11
|
* `createDatabase(...)`, optionally with archive-backed persistence. There is no
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { Buffer } from "node:buffer";
|
|
16
16
|
import { Readable } from "node:stream";
|
|
17
|
-
import type { LoraParams, LoraValue, QueryResult } from "./types.js";
|
|
17
|
+
import type { LoraParams, LoraQueryPlan, LoraQueryProfile, LoraValue, QueryResult } from "./types.js";
|
|
18
18
|
declare const NativeDatabase: typeof import("./native.js").Database;
|
|
19
19
|
export * from "./types.js";
|
|
20
20
|
/**
|
|
@@ -29,16 +29,53 @@ export interface SnapshotMeta {
|
|
|
29
29
|
relationshipCount: number;
|
|
30
30
|
walLsn: number | null;
|
|
31
31
|
}
|
|
32
|
+
export type SnapshotCompression = "none" | "gzip" | {
|
|
33
|
+
format: "none";
|
|
34
|
+
} | {
|
|
35
|
+
format: "gzip";
|
|
36
|
+
level?: number;
|
|
37
|
+
};
|
|
38
|
+
export interface SnapshotPasswordParams {
|
|
39
|
+
memoryCostKib?: number;
|
|
40
|
+
timeCost?: number;
|
|
41
|
+
parallelism?: number;
|
|
42
|
+
}
|
|
43
|
+
export type SnapshotEncryption = {
|
|
44
|
+
type?: "password" | "passphrase";
|
|
45
|
+
keyId?: string;
|
|
46
|
+
password: string;
|
|
47
|
+
params?: SnapshotPasswordParams;
|
|
48
|
+
} | {
|
|
49
|
+
type: "key" | "rawKey" | "raw_key";
|
|
50
|
+
keyId?: string;
|
|
51
|
+
key: number[];
|
|
52
|
+
};
|
|
53
|
+
export interface SnapshotCodecOptions {
|
|
54
|
+
compression?: SnapshotCompression;
|
|
55
|
+
encryption?: SnapshotEncryption | null;
|
|
56
|
+
}
|
|
57
|
+
export interface SnapshotLoadOptions {
|
|
58
|
+
credentials?: SnapshotEncryption | null;
|
|
59
|
+
encryption?: SnapshotEncryption | null;
|
|
60
|
+
}
|
|
32
61
|
export type NodeSnapshotChunk = string | Uint8Array | ArrayBuffer | Buffer;
|
|
33
62
|
export type NodeSnapshotSource = string | URL | Uint8Array | ArrayBuffer | Buffer | Readable | ReadableStream<NodeSnapshotChunk> | AsyncIterable<NodeSnapshotChunk>;
|
|
34
|
-
export type NodeSnapshotSaveFormat = "binary" | "base64";
|
|
35
|
-
export type NodeSnapshotSaveOptions = {
|
|
63
|
+
export type NodeSnapshotSaveFormat = "buffer" | "binary" | "uint8Array" | "arrayBuffer" | "base64" | "stream" | "path";
|
|
64
|
+
export type NodeSnapshotSaveOptions = ({
|
|
65
|
+
format?: "buffer" | "binary";
|
|
66
|
+
} & SnapshotCodecOptions) | ({
|
|
67
|
+
format: "uint8Array";
|
|
68
|
+
} & SnapshotCodecOptions) | ({
|
|
69
|
+
format: "arrayBuffer";
|
|
70
|
+
} & SnapshotCodecOptions) | ({
|
|
71
|
+
format: "base64";
|
|
72
|
+
} & SnapshotCodecOptions) | ({
|
|
73
|
+
format: "stream";
|
|
74
|
+
} & SnapshotCodecOptions) | ({
|
|
36
75
|
format: "path";
|
|
37
76
|
path: string | URL;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
export type NodeSnapshotSaveTarget = string | URL | NodeSnapshotSaveFormat | NodeSnapshotSaveOptions;
|
|
77
|
+
} & SnapshotCodecOptions);
|
|
78
|
+
export type NodeSnapshotSaveTarget = string | URL | NodeSnapshotSaveOptions | SnapshotCodecOptions;
|
|
42
79
|
export interface CreateDatabaseOptions {
|
|
43
80
|
databaseDir?: string;
|
|
44
81
|
/**
|
|
@@ -56,6 +93,29 @@ export interface CreateDatabaseOptions {
|
|
|
56
93
|
*/
|
|
57
94
|
groupSyncIntervalMs?: number;
|
|
58
95
|
}
|
|
96
|
+
export interface WalDatabaseOptions {
|
|
97
|
+
/**
|
|
98
|
+
* Explicit WAL directory. Use `openWalDatabase` for this lower-level
|
|
99
|
+
* persistent storage shape.
|
|
100
|
+
* Pair with `snapshotDir` for managed snapshots.
|
|
101
|
+
*/
|
|
102
|
+
walDir: string;
|
|
103
|
+
/** Directory for managed checkpoint snapshots. Requires `walDir`. */
|
|
104
|
+
snapshotDir?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Automatically checkpoint after this many committed WAL transactions.
|
|
107
|
+
* Omit or pass 0 to keep checkpoints manual.
|
|
108
|
+
*/
|
|
109
|
+
snapshotEveryCommits?: number;
|
|
110
|
+
/** Number of older managed snapshot files to retain. Defaults to 1. */
|
|
111
|
+
snapshotKeepOld?: number;
|
|
112
|
+
/** Compression/encryption options used for managed snapshots. */
|
|
113
|
+
snapshotOptions?: SnapshotCodecOptions;
|
|
114
|
+
/** Durability mode for WAL commits. */
|
|
115
|
+
syncMode?: "group" | "perCommit";
|
|
116
|
+
/** Background fsync cadence for `syncMode: "group"`, in milliseconds. */
|
|
117
|
+
groupSyncIntervalMs?: number;
|
|
118
|
+
}
|
|
59
119
|
export type TransactionMode = "read_write" | "read_only" | "readwrite" | "readonly" | "rw" | "ro";
|
|
60
120
|
export interface TransactionStatement {
|
|
61
121
|
query: string;
|
|
@@ -85,9 +145,29 @@ declare class DatabaseImpl {
|
|
|
85
145
|
/**
|
|
86
146
|
* Execute a Lora query on the libuv threadpool. Returns a Promise that
|
|
87
147
|
* resolves with `{ columns, rows }`; errors surface as `LoraError`
|
|
88
|
-
* with a narrowed `code`
|
|
148
|
+
* with a narrowed `code` from the `LoraErrorCode` union (e.g.
|
|
149
|
+
* `LORA_PARSE`, `LORA_INVALID_PARAMS`, `LORA_INTERNAL`).
|
|
89
150
|
*/
|
|
90
151
|
execute<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams): Promise<QueryResult<T>>;
|
|
152
|
+
/**
|
|
153
|
+
* Compile a query and return its execution plan without running it.
|
|
154
|
+
*
|
|
155
|
+
* This is a separate API method from `execute()`; it never invokes the
|
|
156
|
+
* executor, so calling `explain()` on a mutating query (`CREATE`,
|
|
157
|
+
* `MERGE`, `SET`, `DELETE`, `REMOVE`) leaves the graph untouched.
|
|
158
|
+
* Errors surface with the same `LoraError` shape as `execute()`.
|
|
159
|
+
*/
|
|
160
|
+
explain(query: string, params?: LoraParams): Promise<LoraQueryPlan>;
|
|
161
|
+
/**
|
|
162
|
+
* Execute a query and return the plan plus runtime metrics.
|
|
163
|
+
*
|
|
164
|
+
* **`profile()` runs the query for real.** Mutating queries
|
|
165
|
+
* (`CREATE`, `MERGE`, `SET`, `DELETE`, `REMOVE`) produce the same
|
|
166
|
+
* side effects as `execute()`: the WAL is written, snapshots observe
|
|
167
|
+
* the commit, and the live store advances. Use `explain()` if you
|
|
168
|
+
* want to inspect a mutating plan without running it.
|
|
169
|
+
*/
|
|
170
|
+
profile(query: string, params?: LoraParams): Promise<LoraQueryProfile>;
|
|
91
171
|
/**
|
|
92
172
|
* Return an async row iterator for a query.
|
|
93
173
|
*
|
|
@@ -129,27 +209,35 @@ declare class DatabaseImpl {
|
|
|
129
209
|
* process. New operations after disposal reject with `database is closed`.
|
|
130
210
|
*/
|
|
131
211
|
dispose(): void;
|
|
132
|
-
saveSnapshot(
|
|
133
|
-
saveSnapshot(
|
|
212
|
+
saveSnapshot(): Promise<Buffer>;
|
|
213
|
+
saveSnapshot(options: SnapshotCodecOptions): Promise<Buffer>;
|
|
134
214
|
saveSnapshot(path: string | URL): Promise<SnapshotMeta>;
|
|
215
|
+
saveSnapshot(path: string | URL, options: SnapshotCodecOptions): Promise<SnapshotMeta>;
|
|
135
216
|
saveSnapshot(options: {
|
|
136
|
-
format
|
|
137
|
-
}): Promise<Buffer>;
|
|
217
|
+
format?: "buffer" | "binary";
|
|
218
|
+
} & SnapshotCodecOptions): Promise<Buffer>;
|
|
219
|
+
saveSnapshot(options: {
|
|
220
|
+
format: "uint8Array";
|
|
221
|
+
} & SnapshotCodecOptions): Promise<Uint8Array>;
|
|
222
|
+
saveSnapshot(options: {
|
|
223
|
+
format: "arrayBuffer";
|
|
224
|
+
} & SnapshotCodecOptions): Promise<ArrayBuffer>;
|
|
138
225
|
saveSnapshot(options: {
|
|
139
226
|
format: "base64";
|
|
140
|
-
}): Promise<string>;
|
|
227
|
+
} & SnapshotCodecOptions): Promise<string>;
|
|
228
|
+
saveSnapshot(options: {
|
|
229
|
+
format: "stream";
|
|
230
|
+
} & SnapshotCodecOptions): Promise<Readable>;
|
|
141
231
|
saveSnapshot(options: {
|
|
142
232
|
format: "path";
|
|
143
233
|
path: string | URL;
|
|
144
|
-
}): Promise<SnapshotMeta>;
|
|
145
|
-
saveSnapshotToBytes(): Promise<Buffer>;
|
|
234
|
+
} & SnapshotCodecOptions): Promise<SnapshotMeta>;
|
|
146
235
|
/**
|
|
147
236
|
* Replace the current graph state with a snapshot loaded from `path`.
|
|
148
237
|
* Concurrent `execute()` calls block on the store write lock until the
|
|
149
238
|
* load completes.
|
|
150
239
|
*/
|
|
151
|
-
loadSnapshot(source: NodeSnapshotSource): Promise<SnapshotMeta>;
|
|
152
|
-
loadSnapshotFromBytes(bytes: Uint8Array | ArrayBuffer | Buffer): Promise<SnapshotMeta>;
|
|
240
|
+
loadSnapshot(source: NodeSnapshotSource, options?: SnapshotLoadOptions): Promise<SnapshotMeta>;
|
|
153
241
|
}
|
|
154
242
|
/**
|
|
155
243
|
* Public type for a LoraDB instance.
|
|
@@ -191,6 +279,10 @@ export type Database = DatabaseImpl;
|
|
|
191
279
|
* const nestedPersistent = await createDatabase("app", {
|
|
192
280
|
* databaseDir: "./data",
|
|
193
281
|
* }); // ./data/app.loradb
|
|
282
|
+
* const walPersistent = await openWalDatabase({
|
|
283
|
+
* walDir: "./data/wal",
|
|
284
|
+
* snapshotDir: "./data/snapshots",
|
|
285
|
+
* });
|
|
194
286
|
* ```
|
|
195
287
|
*
|
|
196
288
|
* Passing a database name enables persistence. The database name is validated
|
|
@@ -203,4 +295,5 @@ export type Database = DatabaseImpl;
|
|
|
203
295
|
* lock to prevent split-brain writers.
|
|
204
296
|
*/
|
|
205
297
|
export declare function createDatabase(databaseName?: string, options?: CreateDatabaseOptions): Promise<Database>;
|
|
298
|
+
export declare function openWalDatabase(options: WalDatabaseOptions): Promise<Database>;
|
|
206
299
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* native layer, which runs each query on the libuv threadpool so the JS
|
|
7
7
|
* event loop stays responsive. This file only narrows the `unknown`-valued
|
|
8
8
|
* native surface into the strongly-typed `QueryResult<T>` / `LoraParams`
|
|
9
|
-
* shapes defined in the shared TS contract (`crates/shared-ts/types.ts`).
|
|
9
|
+
* shapes defined in the shared TS contract (`crates/bindings/shared-ts/types.ts`).
|
|
10
10
|
*
|
|
11
11
|
* **Initialization is async-only.** The canonical entry point is
|
|
12
12
|
* `createDatabase(...)`, optionally with archive-backed persistence. There is no
|
|
@@ -32,10 +32,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
34
|
exports.createDatabase = createDatabase;
|
|
35
|
+
exports.openWalDatabase = openWalDatabase;
|
|
35
36
|
const node_buffer_1 = require("node:buffer");
|
|
36
37
|
const node_stream_1 = require("node:stream");
|
|
37
38
|
const node_url_1 = require("node:url");
|
|
38
39
|
const types_js_1 = require("./types.js");
|
|
40
|
+
const decode_js_1 = require("./decode.js");
|
|
39
41
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
40
42
|
// @ts-ignore - resolved at runtime via native.js loader
|
|
41
43
|
const native_js_1 = __importDefault(require("./native.js"));
|
|
@@ -125,6 +127,16 @@ function snapshotChunkToBuffer(chunk) {
|
|
|
125
127
|
? node_buffer_1.Buffer.from(chunk)
|
|
126
128
|
: node_buffer_1.Buffer.from(bytesToUint8Array(chunk));
|
|
127
129
|
}
|
|
130
|
+
function snapshotBufferToUint8Array(buffer) {
|
|
131
|
+
const bytes = new Uint8Array(buffer.byteLength);
|
|
132
|
+
bytes.set(buffer);
|
|
133
|
+
return bytes;
|
|
134
|
+
}
|
|
135
|
+
function snapshotBufferToArrayBuffer(buffer) {
|
|
136
|
+
const arrayBuffer = new ArrayBuffer(buffer.byteLength);
|
|
137
|
+
new Uint8Array(arrayBuffer).set(buffer);
|
|
138
|
+
return arrayBuffer;
|
|
139
|
+
}
|
|
128
140
|
function resolveNodeSnapshotPath(path) {
|
|
129
141
|
if (path instanceof URL) {
|
|
130
142
|
if (path.protocol !== "file:") {
|
|
@@ -204,6 +216,26 @@ async function resolveNodeSnapshotSource(source) {
|
|
|
204
216
|
}
|
|
205
217
|
return node_buffer_1.Buffer.from(bytesToUint8Array(source));
|
|
206
218
|
}
|
|
219
|
+
function normalizeSnapshotCodecOptions(options) {
|
|
220
|
+
if (!options)
|
|
221
|
+
return null;
|
|
222
|
+
const out = {};
|
|
223
|
+
if ("compression" in options)
|
|
224
|
+
out.compression = options.compression;
|
|
225
|
+
if ("encryption" in options)
|
|
226
|
+
out.encryption = options.encryption;
|
|
227
|
+
return Object.keys(out).length === 0 ? null : out;
|
|
228
|
+
}
|
|
229
|
+
function normalizeSnapshotLoadOptions(options) {
|
|
230
|
+
if (!options)
|
|
231
|
+
return null;
|
|
232
|
+
const out = {};
|
|
233
|
+
if ("credentials" in options)
|
|
234
|
+
out.credentials = options.credentials;
|
|
235
|
+
if ("encryption" in options)
|
|
236
|
+
out.encryption = options.encryption;
|
|
237
|
+
return Object.keys(out).length === 0 ? null : out;
|
|
238
|
+
}
|
|
207
239
|
/**
|
|
208
240
|
* Lora graph database instance.
|
|
209
241
|
*
|
|
@@ -225,12 +257,46 @@ class DatabaseImpl {
|
|
|
225
257
|
/**
|
|
226
258
|
* Execute a Lora query on the libuv threadpool. Returns a Promise that
|
|
227
259
|
* resolves with `{ columns, rows }`; errors surface as `LoraError`
|
|
228
|
-
* with a narrowed `code`
|
|
260
|
+
* with a narrowed `code` from the `LoraErrorCode` union (e.g.
|
|
261
|
+
* `LORA_PARSE`, `LORA_INVALID_PARAMS`, `LORA_INTERNAL`).
|
|
229
262
|
*/
|
|
230
263
|
async execute(query, params) {
|
|
231
264
|
try {
|
|
232
|
-
const
|
|
233
|
-
return
|
|
265
|
+
const buf = await this.#inner.execute(query, params ?? null);
|
|
266
|
+
return (0, decode_js_1.decodeResult)(buf);
|
|
267
|
+
}
|
|
268
|
+
catch (err) {
|
|
269
|
+
throw (0, types_js_1.wrapError)(err);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Compile a query and return its execution plan without running it.
|
|
274
|
+
*
|
|
275
|
+
* This is a separate API method from `execute()`; it never invokes the
|
|
276
|
+
* executor, so calling `explain()` on a mutating query (`CREATE`,
|
|
277
|
+
* `MERGE`, `SET`, `DELETE`, `REMOVE`) leaves the graph untouched.
|
|
278
|
+
* Errors surface with the same `LoraError` shape as `execute()`.
|
|
279
|
+
*/
|
|
280
|
+
async explain(query, params) {
|
|
281
|
+
try {
|
|
282
|
+
return (await this.#inner.explain(query, params ?? null));
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
throw (0, types_js_1.wrapError)(err);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Execute a query and return the plan plus runtime metrics.
|
|
290
|
+
*
|
|
291
|
+
* **`profile()` runs the query for real.** Mutating queries
|
|
292
|
+
* (`CREATE`, `MERGE`, `SET`, `DELETE`, `REMOVE`) produce the same
|
|
293
|
+
* side effects as `execute()`: the WAL is written, snapshots observe
|
|
294
|
+
* the commit, and the live store advances. Use `explain()` if you
|
|
295
|
+
* want to inspect a mutating plan without running it.
|
|
296
|
+
*/
|
|
297
|
+
async profile(query, params) {
|
|
298
|
+
try {
|
|
299
|
+
return (await this.#inner.profile(query, params ?? null));
|
|
234
300
|
}
|
|
235
301
|
catch (err) {
|
|
236
302
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -265,7 +331,8 @@ class DatabaseImpl {
|
|
|
265
331
|
*/
|
|
266
332
|
async transaction(statements, mode = "read_write") {
|
|
267
333
|
try {
|
|
268
|
-
|
|
334
|
+
const buffers = await this.#inner.transaction(statements, mode);
|
|
335
|
+
return buffers.map((buf) => (0, decode_js_1.decodeResult)(buf));
|
|
269
336
|
}
|
|
270
337
|
catch (err) {
|
|
271
338
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -332,42 +399,42 @@ class DatabaseImpl {
|
|
|
332
399
|
/**
|
|
333
400
|
* Save the graph as a snapshot.
|
|
334
401
|
*
|
|
335
|
-
* - `saveSnapshot(
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
* - `
|
|
402
|
+
* - `saveSnapshot()` / `{ format: "buffer" }` return a Node `Buffer`.
|
|
403
|
+
* - `saveSnapshot(path)` and `{ format: "path", path }` write atomically
|
|
404
|
+
* to a local file and return `SnapshotMeta`.
|
|
405
|
+
* - `{ format: "uint8Array" | "arrayBuffer" | "base64" | "stream" }`
|
|
406
|
+
* return in-memory snapshot data in that shape.
|
|
339
407
|
*/
|
|
340
|
-
async saveSnapshot(target) {
|
|
408
|
+
async saveSnapshot(target, options) {
|
|
341
409
|
try {
|
|
342
|
-
if (target === "
|
|
343
|
-
|
|
344
|
-
&& target.format === "binary")) {
|
|
345
|
-
return this.saveSnapshotToBytes();
|
|
410
|
+
if (typeof target === "string" || target instanceof URL) {
|
|
411
|
+
return this.#inner.saveSnapshot(resolveNodeSnapshotPath(target), normalizeSnapshotCodecOptions(options));
|
|
346
412
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
let path;
|
|
353
|
-
if (typeof target === "object" && !(target instanceof URL)) {
|
|
354
|
-
if (target.format !== "path") {
|
|
355
|
-
throw new Error(`LORA_ERROR: unsupported snapshot save format '${target.format}'`);
|
|
413
|
+
const saveOptions = target ?? {};
|
|
414
|
+
if ("format" in saveOptions && saveOptions.format === "path") {
|
|
415
|
+
const path = "path" in saveOptions ? saveOptions.path : undefined;
|
|
416
|
+
if (!(typeof path === "string" || path instanceof URL)) {
|
|
417
|
+
throw new Error("LORA_ERROR: snapshot path format requires a path");
|
|
356
418
|
}
|
|
357
|
-
path
|
|
419
|
+
return this.#inner.saveSnapshot(resolveNodeSnapshotPath(path), normalizeSnapshotCodecOptions({ ...options, ...saveOptions }));
|
|
358
420
|
}
|
|
359
|
-
|
|
360
|
-
|
|
421
|
+
const format = ("format" in saveOptions ? saveOptions.format : "buffer") ?? "buffer";
|
|
422
|
+
const bytes = this.#inner.saveSnapshotBuffer(normalizeSnapshotCodecOptions({ ...options, ...saveOptions }));
|
|
423
|
+
switch (format) {
|
|
424
|
+
case "buffer":
|
|
425
|
+
case "binary":
|
|
426
|
+
return bytes;
|
|
427
|
+
case "uint8Array":
|
|
428
|
+
return snapshotBufferToUint8Array(bytes);
|
|
429
|
+
case "arrayBuffer":
|
|
430
|
+
return snapshotBufferToArrayBuffer(bytes);
|
|
431
|
+
case "base64":
|
|
432
|
+
return bytes.toString("base64");
|
|
433
|
+
case "stream":
|
|
434
|
+
return node_stream_1.Readable.from([bytes]);
|
|
435
|
+
default:
|
|
436
|
+
throw new Error(`LORA_ERROR: unsupported snapshot save format '${format}'`);
|
|
361
437
|
}
|
|
362
|
-
return this.#inner.saveSnapshot(resolveNodeSnapshotPath(path));
|
|
363
|
-
}
|
|
364
|
-
catch (err) {
|
|
365
|
-
throw (0, types_js_1.wrapError)(err);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
async saveSnapshotToBytes() {
|
|
369
|
-
try {
|
|
370
|
-
return this.#inner.saveSnapshotToBytes();
|
|
371
438
|
}
|
|
372
439
|
catch (err) {
|
|
373
440
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -378,21 +445,14 @@ class DatabaseImpl {
|
|
|
378
445
|
* Concurrent `execute()` calls block on the store write lock until the
|
|
379
446
|
* load completes.
|
|
380
447
|
*/
|
|
381
|
-
async loadSnapshot(source) {
|
|
448
|
+
async loadSnapshot(source, options) {
|
|
382
449
|
try {
|
|
383
450
|
const resolved = await resolveNodeSnapshotSource(source);
|
|
451
|
+
const loadOptions = normalizeSnapshotLoadOptions(options);
|
|
384
452
|
if (typeof resolved === "string") {
|
|
385
|
-
return this.#inner.loadSnapshot(resolved);
|
|
453
|
+
return this.#inner.loadSnapshot(resolved, loadOptions);
|
|
386
454
|
}
|
|
387
|
-
return this.#inner.
|
|
388
|
-
}
|
|
389
|
-
catch (err) {
|
|
390
|
-
throw (0, types_js_1.wrapError)(err);
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
async loadSnapshotFromBytes(bytes) {
|
|
394
|
-
try {
|
|
395
|
-
return this.#inner.loadSnapshotFromBytes(node_buffer_1.Buffer.from(bytesToUint8Array(bytes)));
|
|
455
|
+
return this.#inner.loadSnapshotBuffer(resolved, loadOptions);
|
|
396
456
|
}
|
|
397
457
|
catch (err) {
|
|
398
458
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -426,6 +486,10 @@ class DatabaseImpl {
|
|
|
426
486
|
* const nestedPersistent = await createDatabase("app", {
|
|
427
487
|
* databaseDir: "./data",
|
|
428
488
|
* }); // ./data/app.loradb
|
|
489
|
+
* const walPersistent = await openWalDatabase({
|
|
490
|
+
* walDir: "./data/wal",
|
|
491
|
+
* snapshotDir: "./data/snapshots",
|
|
492
|
+
* });
|
|
429
493
|
* ```
|
|
430
494
|
*
|
|
431
495
|
* Passing a database name enables persistence. The database name is validated
|
|
@@ -442,14 +506,44 @@ async function createDatabase(databaseName, options = {}) {
|
|
|
442
506
|
const hasPersistenceOptions = options.databaseDir !== undefined ||
|
|
443
507
|
options.syncMode !== undefined ||
|
|
444
508
|
options.groupSyncIntervalMs !== undefined;
|
|
509
|
+
const rawOptions = options;
|
|
510
|
+
const hasWalOptions = rawOptions.walDir !== undefined ||
|
|
511
|
+
rawOptions.snapshotDir !== undefined ||
|
|
512
|
+
rawOptions.snapshotEveryCommits !== undefined ||
|
|
513
|
+
rawOptions.snapshotKeepOld !== undefined ||
|
|
514
|
+
rawOptions.snapshotOptions !== undefined;
|
|
515
|
+
if (hasWalOptions) {
|
|
516
|
+
throw new types_js_1.LoraError("walDir/snapshotDir are not valid for createDatabase(); use openWalDatabase()", "LORA_INVALID_PARAMS");
|
|
517
|
+
}
|
|
445
518
|
if (databaseName == null && hasPersistenceOptions) {
|
|
446
|
-
throw new types_js_1.LoraError("databaseName is required when persistence options are provided", "
|
|
519
|
+
throw new types_js_1.LoraError("databaseName is required when persistence options are provided", "LORA_INVALID_PARAMS");
|
|
447
520
|
}
|
|
448
521
|
const syncMode = options.syncMode ?? null;
|
|
449
522
|
const groupSyncIntervalMs = options.groupSyncIntervalMs ?? null;
|
|
450
523
|
return new DatabaseImpl(databaseName == null
|
|
451
524
|
? new NativeDatabase()
|
|
452
|
-
: new NativeDatabase(databaseName, options.databaseDir ?? null, syncMode, groupSyncIntervalMs));
|
|
525
|
+
: new NativeDatabase(databaseName, options.databaseDir ?? null, syncMode, groupSyncIntervalMs, null, null, null, null, null));
|
|
526
|
+
}
|
|
527
|
+
catch (err) {
|
|
528
|
+
throw (0, types_js_1.wrapError)(err);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
async function openWalDatabase(options) {
|
|
532
|
+
try {
|
|
533
|
+
const hasSnapshotTuningOptions = options.snapshotEveryCommits !== undefined ||
|
|
534
|
+
options.snapshotKeepOld !== undefined ||
|
|
535
|
+
options.snapshotOptions !== undefined;
|
|
536
|
+
if (!options.walDir) {
|
|
537
|
+
throw new types_js_1.LoraError("walDir is required for openWalDatabase()", "LORA_INVALID_PARAMS");
|
|
538
|
+
}
|
|
539
|
+
if (options.snapshotDir === undefined && hasSnapshotTuningOptions) {
|
|
540
|
+
throw new types_js_1.LoraError("snapshotDir is required when managed snapshot options are provided", "LORA_INVALID_PARAMS");
|
|
541
|
+
}
|
|
542
|
+
const syncMode = options.syncMode ?? null;
|
|
543
|
+
const groupSyncIntervalMs = options.groupSyncIntervalMs ?? null;
|
|
544
|
+
const snapshotEveryCommits = options.snapshotEveryCommits ?? null;
|
|
545
|
+
const snapshotKeepOld = options.snapshotKeepOld ?? null;
|
|
546
|
+
return new DatabaseImpl(new NativeDatabase(null, null, syncMode, groupSyncIntervalMs, options.walDir, options.snapshotDir ?? null, snapshotEveryCommits, snapshotKeepOld, options.snapshotOptions ?? null));
|
|
453
547
|
}
|
|
454
548
|
catch (err) {
|
|
455
549
|
throw (0, types_js_1.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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"}
|