@loradb/lora-node 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 +50 -22
- package/dist/index.d.ts +122 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +137 -51
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +13 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -1
- package/dist/types.js.map +1 -1
- package/package.json +6 -6
- package/ts/native.d.ts +23 -6
package/README.md
CHANGED
|
@@ -52,13 +52,20 @@ The initialization rule is:
|
|
|
52
52
|
import { createDatabase } from "lora-node";
|
|
53
53
|
|
|
54
54
|
const inMemory = await createDatabase(); // in-memory only
|
|
55
|
-
const
|
|
56
|
-
const
|
|
55
|
+
const defaultPersistent = await createDatabase("app"); // ./app.loradb
|
|
56
|
+
const nestedPersistent = await createDatabase("app", {
|
|
57
57
|
databaseDir: "./data",
|
|
58
|
+
syncMode: "group", // default
|
|
58
59
|
}); // ./data/app.loradb
|
|
59
60
|
```
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
Passing a database name enables persistence. Use `databaseDir` when you want a
|
|
63
|
+
directory other than the current working directory.
|
|
64
|
+
The default `syncMode: "group"` writes WAL bytes before `execute()` resolves
|
|
65
|
+
and batches fsyncs for write-heavy workloads. That recovers from ordinary
|
|
66
|
+
process death, while `syncMode: "perCommit"` also protects each committed write
|
|
67
|
+
against power loss before `execute()` resolves. Call `await db.sync()` before
|
|
68
|
+
copying the portable `.loradb` archive while the database is still open.
|
|
62
69
|
|
|
63
70
|
Node also has an archive-backed convenience overload:
|
|
64
71
|
|
|
@@ -68,20 +75,41 @@ import { createDatabase } from "lora-node";
|
|
|
68
75
|
const db = await createDatabase("app", { databaseDir: "./data" });
|
|
69
76
|
```
|
|
70
77
|
|
|
71
|
-
The database name is validated and resolved under `databaseDir`,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
The database name is validated and resolved under `databaseDir`, or under the
|
|
79
|
+
current working directory when no directory is supplied, appending `.loradb` to
|
|
80
|
+
the basename when needed. Relative paths resolve from the current working
|
|
81
|
+
directory. This is a Node-only initialization convenience; the query surface,
|
|
82
|
+
shared types, and async method signatures still match `lora-wasm`.
|
|
75
83
|
|
|
76
|
-
|
|
77
|
-
|
|
84
|
+
Persistent opens for the same resolved archive path in one Node process share a
|
|
85
|
+
single live native engine. Call `db.dispose()` when you need to release a handle
|
|
86
|
+
eagerly; cross-process opens of the same archive are blocked to prevent
|
|
87
|
+
split-brain writers.
|
|
88
|
+
|
|
89
|
+
For explicit WAL directories with managed snapshots, use `openWalDatabase`:
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
import { openWalDatabase } from "lora-node";
|
|
93
|
+
|
|
94
|
+
const db = await openWalDatabase({
|
|
95
|
+
walDir: "./data/wal",
|
|
96
|
+
snapshotDir: "./data/snapshots",
|
|
97
|
+
snapshotEveryCommits: 1000,
|
|
98
|
+
snapshotKeepOld: 2,
|
|
99
|
+
});
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
`snapshotOptions` accepts the same compression/encryption options as
|
|
103
|
+
`saveSnapshot`.
|
|
78
104
|
|
|
79
105
|
## Snapshots
|
|
80
106
|
|
|
81
|
-
`saveSnapshot(path)` writes the current graph to a local file.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
107
|
+
`saveSnapshot(path)` writes the current graph to a local file. Plain strings
|
|
108
|
+
are always treated as paths. Calling `saveSnapshot()` returns a Node `Buffer`;
|
|
109
|
+
object formats such as `{ format: "base64" }`, `{ format: "arrayBuffer" }`,
|
|
110
|
+
`{ format: "uint8Array" }`, and `{ format: "stream" }` return in-memory
|
|
111
|
+
snapshot data in that shape. `{ format: "path", path }` accepts either a path
|
|
112
|
+
string or `file:` URL.
|
|
85
113
|
|
|
86
114
|
`loadSnapshot` accepts a `NodeSnapshotSource`: a filesystem path, `file:` URL,
|
|
87
115
|
HTTP(S) or `data:` URL, `Buffer`, `Uint8Array`, `ArrayBuffer`, Node
|
|
@@ -96,20 +124,19 @@ import { createDatabase } from "lora-node";
|
|
|
96
124
|
const db = await createDatabase();
|
|
97
125
|
await db.execute("CREATE (:Person {name: 'Alice'})");
|
|
98
126
|
await db.saveSnapshot("./graph.lorasnap");
|
|
99
|
-
const bytes = await db.saveSnapshot(
|
|
127
|
+
const bytes = await db.saveSnapshot();
|
|
100
128
|
const base64 = await db.saveSnapshot({ format: "base64" });
|
|
129
|
+
const stream = await db.saveSnapshot({ format: "stream" });
|
|
101
130
|
|
|
102
131
|
await db.loadSnapshot("./graph.lorasnap");
|
|
103
132
|
await db.loadSnapshot(pathToFileURL("./graph.lorasnap"));
|
|
104
133
|
await db.loadSnapshot(await readFile("./graph.lorasnap"));
|
|
105
134
|
await db.loadSnapshot(createReadStream("./graph.lorasnap"));
|
|
106
135
|
await db.loadSnapshot(bytes);
|
|
136
|
+
await db.loadSnapshot(stream);
|
|
107
137
|
await db.loadSnapshot(new URL("https://example.com/graph.lorasnap"));
|
|
108
138
|
```
|
|
109
139
|
|
|
110
|
-
Use `loadSnapshotFromBytes(bytes)` when you already have in-memory bytes and
|
|
111
|
-
want to make that intent explicit.
|
|
112
|
-
|
|
113
140
|
## Typed value model
|
|
114
141
|
|
|
115
142
|
| TS type | Runtime shape |
|
|
@@ -187,8 +214,9 @@ identical to `lora-wasm`.
|
|
|
187
214
|
path would require extending the value serializer.
|
|
188
215
|
- **Cancellation.** The napi `Task` abstraction does not support
|
|
189
216
|
cancellation once dispatched; a runaway query runs to completion.
|
|
190
|
-
- **WAL surface.**
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
- **Archive ownership.** One archive can only be open by one
|
|
194
|
-
time.
|
|
217
|
+
- **WAL surface.** Node persistence exposes archive-backed initialization,
|
|
218
|
+
`syncMode: "group" | "perCommit"`, and `db.sync()`. Checkpoint, truncate,
|
|
219
|
+
and status controls are not exposed yet.
|
|
220
|
+
- **Archive ownership.** One archive can only be open by one writer process at a
|
|
221
|
+
time. Multiple Node handles in the same process share the same live engine;
|
|
222
|
+
a second process is rejected while the first holds the archive lock.
|
package/dist/index.d.ts
CHANGED
|
@@ -29,18 +29,92 @@ 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;
|
|
81
|
+
/**
|
|
82
|
+
* Durability mode for archive-backed databases.
|
|
83
|
+
*
|
|
84
|
+
* - `group` writes WAL bytes before `execute()` resolves and batches fsyncs
|
|
85
|
+
* on a short background cadence. This is the default.
|
|
86
|
+
* - `perCommit` fsyncs every committed write before `execute()` resolves.
|
|
87
|
+
*/
|
|
88
|
+
syncMode?: "group" | "perCommit";
|
|
89
|
+
/**
|
|
90
|
+
* Background fsync cadence for `syncMode: "group"`, in milliseconds.
|
|
91
|
+
*
|
|
92
|
+
* Defaults to 1000. Must be greater than zero.
|
|
93
|
+
*/
|
|
94
|
+
groupSyncIntervalMs?: number;
|
|
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;
|
|
44
118
|
}
|
|
45
119
|
export type TransactionMode = "read_write" | "read_only" | "readwrite" | "readonly" | "rw" | "ro";
|
|
46
120
|
export interface TransactionStatement {
|
|
@@ -92,7 +166,17 @@ declare class DatabaseImpl {
|
|
|
92
166
|
* batch are rolled back.
|
|
93
167
|
*/
|
|
94
168
|
transaction<T extends Record<string, LoraValue> = Record<string, LoraValue>>(statements: TransactionStatement[], mode?: TransactionMode): Promise<Array<QueryResult<T>>>;
|
|
95
|
-
/**
|
|
169
|
+
/**
|
|
170
|
+
* Force pending WAL bytes and archive updates to disk.
|
|
171
|
+
*
|
|
172
|
+
* `syncMode: "perCommit"` fsyncs each committed write before `execute()`
|
|
173
|
+
* resolves. The default `group` mode writes WAL bytes before `execute()`
|
|
174
|
+
* resolves and batches fsyncs for speed; call `sync()` when you need an
|
|
175
|
+
* immediate fsync point and a current portable `.loradb` archive, for example
|
|
176
|
+
* before copying it elsewhere.
|
|
177
|
+
*/
|
|
178
|
+
sync(): Promise<void>;
|
|
179
|
+
/** Drop every node and relationship and persist the clear when WAL-backed. */
|
|
96
180
|
clear(): Promise<void>;
|
|
97
181
|
/** Number of nodes currently in the graph. */
|
|
98
182
|
nodeCount(): Promise<number>;
|
|
@@ -105,27 +189,35 @@ declare class DatabaseImpl {
|
|
|
105
189
|
* process. New operations after disposal reject with `database is closed`.
|
|
106
190
|
*/
|
|
107
191
|
dispose(): void;
|
|
108
|
-
saveSnapshot(
|
|
109
|
-
saveSnapshot(
|
|
192
|
+
saveSnapshot(): Promise<Buffer>;
|
|
193
|
+
saveSnapshot(options: SnapshotCodecOptions): Promise<Buffer>;
|
|
110
194
|
saveSnapshot(path: string | URL): Promise<SnapshotMeta>;
|
|
195
|
+
saveSnapshot(path: string | URL, options: SnapshotCodecOptions): Promise<SnapshotMeta>;
|
|
111
196
|
saveSnapshot(options: {
|
|
112
|
-
format
|
|
113
|
-
}): Promise<Buffer>;
|
|
197
|
+
format?: "buffer" | "binary";
|
|
198
|
+
} & SnapshotCodecOptions): Promise<Buffer>;
|
|
199
|
+
saveSnapshot(options: {
|
|
200
|
+
format: "uint8Array";
|
|
201
|
+
} & SnapshotCodecOptions): Promise<Uint8Array>;
|
|
202
|
+
saveSnapshot(options: {
|
|
203
|
+
format: "arrayBuffer";
|
|
204
|
+
} & SnapshotCodecOptions): Promise<ArrayBuffer>;
|
|
114
205
|
saveSnapshot(options: {
|
|
115
206
|
format: "base64";
|
|
116
|
-
}): Promise<string>;
|
|
207
|
+
} & SnapshotCodecOptions): Promise<string>;
|
|
208
|
+
saveSnapshot(options: {
|
|
209
|
+
format: "stream";
|
|
210
|
+
} & SnapshotCodecOptions): Promise<Readable>;
|
|
117
211
|
saveSnapshot(options: {
|
|
118
212
|
format: "path";
|
|
119
213
|
path: string | URL;
|
|
120
|
-
}): Promise<SnapshotMeta>;
|
|
121
|
-
saveSnapshotToBytes(): Promise<Buffer>;
|
|
214
|
+
} & SnapshotCodecOptions): Promise<SnapshotMeta>;
|
|
122
215
|
/**
|
|
123
216
|
* Replace the current graph state with a snapshot loaded from `path`.
|
|
124
217
|
* Concurrent `execute()` calls block on the store write lock until the
|
|
125
218
|
* load completes.
|
|
126
219
|
*/
|
|
127
|
-
loadSnapshot(source: NodeSnapshotSource): Promise<SnapshotMeta>;
|
|
128
|
-
loadSnapshotFromBytes(bytes: Uint8Array | ArrayBuffer | Buffer): Promise<SnapshotMeta>;
|
|
220
|
+
loadSnapshot(source: NodeSnapshotSource, options?: SnapshotLoadOptions): Promise<SnapshotMeta>;
|
|
129
221
|
}
|
|
130
222
|
/**
|
|
131
223
|
* Public type for a LoraDB instance.
|
|
@@ -163,17 +255,25 @@ export type Database = DatabaseImpl;
|
|
|
163
255
|
* import { createDatabase } from "lora-node";
|
|
164
256
|
*
|
|
165
257
|
* const inMemory = await createDatabase(); // in-memory
|
|
166
|
-
* const
|
|
167
|
-
* const
|
|
258
|
+
* const defaultPersistent = await createDatabase("app"); // ./app.loradb
|
|
259
|
+
* const nestedPersistent = await createDatabase("app", {
|
|
168
260
|
* databaseDir: "./data",
|
|
169
261
|
* }); // ./data/app.loradb
|
|
262
|
+
* const walPersistent = await openWalDatabase({
|
|
263
|
+
* walDir: "./data/wal",
|
|
264
|
+
* snapshotDir: "./data/snapshots",
|
|
265
|
+
* });
|
|
170
266
|
* ```
|
|
171
267
|
*
|
|
172
|
-
*
|
|
173
|
-
* and resolved under `databaseDir`,
|
|
174
|
-
*
|
|
268
|
+
* Passing a database name enables persistence. The database name is validated
|
|
269
|
+
* and resolved under `databaseDir`, or the current working directory when no
|
|
270
|
+
* directory is supplied, appending `.loradb` to the basename when needed.
|
|
271
|
+
* Relative paths resolve from the current working directory.
|
|
175
272
|
*
|
|
176
|
-
*
|
|
273
|
+
* Persistent opens for the same resolved archive path in one Node process share
|
|
274
|
+
* a single live native engine. Cross-process opens are blocked by the archive
|
|
275
|
+
* lock to prevent split-brain writers.
|
|
177
276
|
*/
|
|
178
277
|
export declare function createDatabase(databaseName?: string, options?: CreateDatabaseOptions): Promise<Database>;
|
|
278
|
+
export declare function openWalDatabase(options: WalDatabaseOptions): Promise<Database>;
|
|
179
279
|
//# 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;AAOpB,QAAA,MAAM,cAAc,EAAE,cAAc,aAAa,EAAE,QAA0B,CAAC;AAE9E,cAAc,YAAY,CAAC;AAE3B;;;;;GAKG;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,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,GAAG,GACH,UAAU,GACV,WAAW,GACX,MAAM,GACN,QAAQ,GACR,cAAc,CAAC,iBAAiB,CAAC,GACjC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACrC,MAAM,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ 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");
|
|
@@ -125,6 +126,16 @@ function snapshotChunkToBuffer(chunk) {
|
|
|
125
126
|
? node_buffer_1.Buffer.from(chunk)
|
|
126
127
|
: node_buffer_1.Buffer.from(bytesToUint8Array(chunk));
|
|
127
128
|
}
|
|
129
|
+
function snapshotBufferToUint8Array(buffer) {
|
|
130
|
+
const bytes = new Uint8Array(buffer.byteLength);
|
|
131
|
+
bytes.set(buffer);
|
|
132
|
+
return bytes;
|
|
133
|
+
}
|
|
134
|
+
function snapshotBufferToArrayBuffer(buffer) {
|
|
135
|
+
const arrayBuffer = new ArrayBuffer(buffer.byteLength);
|
|
136
|
+
new Uint8Array(arrayBuffer).set(buffer);
|
|
137
|
+
return arrayBuffer;
|
|
138
|
+
}
|
|
128
139
|
function resolveNodeSnapshotPath(path) {
|
|
129
140
|
if (path instanceof URL) {
|
|
130
141
|
if (path.protocol !== "file:") {
|
|
@@ -204,6 +215,26 @@ async function resolveNodeSnapshotSource(source) {
|
|
|
204
215
|
}
|
|
205
216
|
return node_buffer_1.Buffer.from(bytesToUint8Array(source));
|
|
206
217
|
}
|
|
218
|
+
function normalizeSnapshotCodecOptions(options) {
|
|
219
|
+
if (!options)
|
|
220
|
+
return null;
|
|
221
|
+
const out = {};
|
|
222
|
+
if ("compression" in options)
|
|
223
|
+
out.compression = options.compression;
|
|
224
|
+
if ("encryption" in options)
|
|
225
|
+
out.encryption = options.encryption;
|
|
226
|
+
return Object.keys(out).length === 0 ? null : out;
|
|
227
|
+
}
|
|
228
|
+
function normalizeSnapshotLoadOptions(options) {
|
|
229
|
+
if (!options)
|
|
230
|
+
return null;
|
|
231
|
+
const out = {};
|
|
232
|
+
if ("credentials" in options)
|
|
233
|
+
out.credentials = options.credentials;
|
|
234
|
+
if ("encryption" in options)
|
|
235
|
+
out.encryption = options.encryption;
|
|
236
|
+
return Object.keys(out).length === 0 ? null : out;
|
|
237
|
+
}
|
|
207
238
|
/**
|
|
208
239
|
* Lora graph database instance.
|
|
209
240
|
*
|
|
@@ -271,10 +302,27 @@ class DatabaseImpl {
|
|
|
271
302
|
throw (0, types_js_1.wrapError)(err);
|
|
272
303
|
}
|
|
273
304
|
}
|
|
274
|
-
/**
|
|
305
|
+
/**
|
|
306
|
+
* Force pending WAL bytes and archive updates to disk.
|
|
307
|
+
*
|
|
308
|
+
* `syncMode: "perCommit"` fsyncs each committed write before `execute()`
|
|
309
|
+
* resolves. The default `group` mode writes WAL bytes before `execute()`
|
|
310
|
+
* resolves and batches fsyncs for speed; call `sync()` when you need an
|
|
311
|
+
* immediate fsync point and a current portable `.loradb` archive, for example
|
|
312
|
+
* before copying it elsewhere.
|
|
313
|
+
*/
|
|
314
|
+
async sync() {
|
|
315
|
+
try {
|
|
316
|
+
await this.#inner.sync();
|
|
317
|
+
}
|
|
318
|
+
catch (err) {
|
|
319
|
+
throw (0, types_js_1.wrapError)(err);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/** Drop every node and relationship and persist the clear when WAL-backed. */
|
|
275
323
|
async clear() {
|
|
276
324
|
try {
|
|
277
|
-
this.#inner.clear();
|
|
325
|
+
await this.#inner.clear();
|
|
278
326
|
}
|
|
279
327
|
catch (err) {
|
|
280
328
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -315,42 +363,42 @@ class DatabaseImpl {
|
|
|
315
363
|
/**
|
|
316
364
|
* Save the graph as a snapshot.
|
|
317
365
|
*
|
|
318
|
-
* - `saveSnapshot(
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
* - `
|
|
366
|
+
* - `saveSnapshot()` / `{ format: "buffer" }` return a Node `Buffer`.
|
|
367
|
+
* - `saveSnapshot(path)` and `{ format: "path", path }` write atomically
|
|
368
|
+
* to a local file and return `SnapshotMeta`.
|
|
369
|
+
* - `{ format: "uint8Array" | "arrayBuffer" | "base64" | "stream" }`
|
|
370
|
+
* return in-memory snapshot data in that shape.
|
|
322
371
|
*/
|
|
323
|
-
async saveSnapshot(target) {
|
|
372
|
+
async saveSnapshot(target, options) {
|
|
324
373
|
try {
|
|
325
|
-
if (target === "
|
|
326
|
-
|
|
327
|
-
&& target.format === "binary")) {
|
|
328
|
-
return this.saveSnapshotToBytes();
|
|
374
|
+
if (typeof target === "string" || target instanceof URL) {
|
|
375
|
+
return this.#inner.saveSnapshot(resolveNodeSnapshotPath(target), normalizeSnapshotCodecOptions(options));
|
|
329
376
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
let path;
|
|
336
|
-
if (typeof target === "object" && !(target instanceof URL)) {
|
|
337
|
-
if (target.format !== "path") {
|
|
338
|
-
throw new Error(`LORA_ERROR: unsupported snapshot save format '${target.format}'`);
|
|
377
|
+
const saveOptions = target ?? {};
|
|
378
|
+
if ("format" in saveOptions && saveOptions.format === "path") {
|
|
379
|
+
const path = "path" in saveOptions ? saveOptions.path : undefined;
|
|
380
|
+
if (!(typeof path === "string" || path instanceof URL)) {
|
|
381
|
+
throw new Error("LORA_ERROR: snapshot path format requires a path");
|
|
339
382
|
}
|
|
340
|
-
path
|
|
383
|
+
return this.#inner.saveSnapshot(resolveNodeSnapshotPath(path), normalizeSnapshotCodecOptions({ ...options, ...saveOptions }));
|
|
341
384
|
}
|
|
342
|
-
|
|
343
|
-
|
|
385
|
+
const format = ("format" in saveOptions ? saveOptions.format : "buffer") ?? "buffer";
|
|
386
|
+
const bytes = this.#inner.saveSnapshotBuffer(normalizeSnapshotCodecOptions({ ...options, ...saveOptions }));
|
|
387
|
+
switch (format) {
|
|
388
|
+
case "buffer":
|
|
389
|
+
case "binary":
|
|
390
|
+
return bytes;
|
|
391
|
+
case "uint8Array":
|
|
392
|
+
return snapshotBufferToUint8Array(bytes);
|
|
393
|
+
case "arrayBuffer":
|
|
394
|
+
return snapshotBufferToArrayBuffer(bytes);
|
|
395
|
+
case "base64":
|
|
396
|
+
return bytes.toString("base64");
|
|
397
|
+
case "stream":
|
|
398
|
+
return node_stream_1.Readable.from([bytes]);
|
|
399
|
+
default:
|
|
400
|
+
throw new Error(`LORA_ERROR: unsupported snapshot save format '${format}'`);
|
|
344
401
|
}
|
|
345
|
-
return this.#inner.saveSnapshot(resolveNodeSnapshotPath(path));
|
|
346
|
-
}
|
|
347
|
-
catch (err) {
|
|
348
|
-
throw (0, types_js_1.wrapError)(err);
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
async saveSnapshotToBytes() {
|
|
352
|
-
try {
|
|
353
|
-
return this.#inner.saveSnapshotToBytes();
|
|
354
402
|
}
|
|
355
403
|
catch (err) {
|
|
356
404
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -361,21 +409,14 @@ class DatabaseImpl {
|
|
|
361
409
|
* Concurrent `execute()` calls block on the store write lock until the
|
|
362
410
|
* load completes.
|
|
363
411
|
*/
|
|
364
|
-
async loadSnapshot(source) {
|
|
412
|
+
async loadSnapshot(source, options) {
|
|
365
413
|
try {
|
|
366
414
|
const resolved = await resolveNodeSnapshotSource(source);
|
|
415
|
+
const loadOptions = normalizeSnapshotLoadOptions(options);
|
|
367
416
|
if (typeof resolved === "string") {
|
|
368
|
-
return this.#inner.loadSnapshot(resolved);
|
|
417
|
+
return this.#inner.loadSnapshot(resolved, loadOptions);
|
|
369
418
|
}
|
|
370
|
-
return this.#inner.
|
|
371
|
-
}
|
|
372
|
-
catch (err) {
|
|
373
|
-
throw (0, types_js_1.wrapError)(err);
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
async loadSnapshotFromBytes(bytes) {
|
|
377
|
-
try {
|
|
378
|
-
return this.#inner.loadSnapshotFromBytes(node_buffer_1.Buffer.from(bytesToUint8Array(bytes)));
|
|
419
|
+
return this.#inner.loadSnapshotBuffer(resolved, loadOptions);
|
|
379
420
|
}
|
|
380
421
|
catch (err) {
|
|
381
422
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -405,23 +446,68 @@ class DatabaseImpl {
|
|
|
405
446
|
* import { createDatabase } from "lora-node";
|
|
406
447
|
*
|
|
407
448
|
* const inMemory = await createDatabase(); // in-memory
|
|
408
|
-
* const
|
|
409
|
-
* const
|
|
449
|
+
* const defaultPersistent = await createDatabase("app"); // ./app.loradb
|
|
450
|
+
* const nestedPersistent = await createDatabase("app", {
|
|
410
451
|
* databaseDir: "./data",
|
|
411
452
|
* }); // ./data/app.loradb
|
|
453
|
+
* const walPersistent = await openWalDatabase({
|
|
454
|
+
* walDir: "./data/wal",
|
|
455
|
+
* snapshotDir: "./data/snapshots",
|
|
456
|
+
* });
|
|
412
457
|
* ```
|
|
413
458
|
*
|
|
414
|
-
*
|
|
415
|
-
* and resolved under `databaseDir`,
|
|
416
|
-
*
|
|
459
|
+
* Passing a database name enables persistence. The database name is validated
|
|
460
|
+
* and resolved under `databaseDir`, or the current working directory when no
|
|
461
|
+
* directory is supplied, appending `.loradb` to the basename when needed.
|
|
462
|
+
* Relative paths resolve from the current working directory.
|
|
417
463
|
*
|
|
418
|
-
*
|
|
464
|
+
* Persistent opens for the same resolved archive path in one Node process share
|
|
465
|
+
* a single live native engine. Cross-process opens are blocked by the archive
|
|
466
|
+
* lock to prevent split-brain writers.
|
|
419
467
|
*/
|
|
420
468
|
async function createDatabase(databaseName, options = {}) {
|
|
421
469
|
try {
|
|
422
|
-
|
|
470
|
+
const hasPersistenceOptions = options.databaseDir !== undefined ||
|
|
471
|
+
options.syncMode !== undefined ||
|
|
472
|
+
options.groupSyncIntervalMs !== undefined;
|
|
473
|
+
const rawOptions = options;
|
|
474
|
+
const hasWalOptions = rawOptions.walDir !== undefined ||
|
|
475
|
+
rawOptions.snapshotDir !== undefined ||
|
|
476
|
+
rawOptions.snapshotEveryCommits !== undefined ||
|
|
477
|
+
rawOptions.snapshotKeepOld !== undefined ||
|
|
478
|
+
rawOptions.snapshotOptions !== undefined;
|
|
479
|
+
if (hasWalOptions) {
|
|
480
|
+
throw new types_js_1.LoraError("walDir/snapshotDir are not valid for createDatabase(); use openWalDatabase()", "INVALID_PARAMS");
|
|
481
|
+
}
|
|
482
|
+
if (databaseName == null && hasPersistenceOptions) {
|
|
483
|
+
throw new types_js_1.LoraError("databaseName is required when persistence options are provided", "INVALID_PARAMS");
|
|
484
|
+
}
|
|
485
|
+
const syncMode = options.syncMode ?? null;
|
|
486
|
+
const groupSyncIntervalMs = options.groupSyncIntervalMs ?? null;
|
|
487
|
+
return new DatabaseImpl(databaseName == null
|
|
423
488
|
? new NativeDatabase()
|
|
424
|
-
: new NativeDatabase(databaseName, options.databaseDir ?? null));
|
|
489
|
+
: new NativeDatabase(databaseName, options.databaseDir ?? null, syncMode, groupSyncIntervalMs, null, null, null, null, null));
|
|
490
|
+
}
|
|
491
|
+
catch (err) {
|
|
492
|
+
throw (0, types_js_1.wrapError)(err);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
async function openWalDatabase(options) {
|
|
496
|
+
try {
|
|
497
|
+
const hasSnapshotTuningOptions = options.snapshotEveryCommits !== undefined ||
|
|
498
|
+
options.snapshotKeepOld !== undefined ||
|
|
499
|
+
options.snapshotOptions !== undefined;
|
|
500
|
+
if (!options.walDir) {
|
|
501
|
+
throw new types_js_1.LoraError("walDir is required for openWalDatabase()", "INVALID_PARAMS");
|
|
502
|
+
}
|
|
503
|
+
if (options.snapshotDir === undefined && hasSnapshotTuningOptions) {
|
|
504
|
+
throw new types_js_1.LoraError("snapshotDir is required when managed snapshot options are provided", "INVALID_PARAMS");
|
|
505
|
+
}
|
|
506
|
+
const syncMode = options.syncMode ?? null;
|
|
507
|
+
const groupSyncIntervalMs = options.groupSyncIntervalMs ?? null;
|
|
508
|
+
const snapshotEveryCommits = options.snapshotEveryCommits ?? null;
|
|
509
|
+
const snapshotKeepOld = options.snapshotKeepOld ?? null;
|
|
510
|
+
return new DatabaseImpl(new NativeDatabase(null, null, syncMode, groupSyncIntervalMs, options.walDir, options.snapshotDir ?? null, snapshotEveryCommits, snapshotKeepOld, options.snapshotOptions ?? null));
|
|
425
511
|
}
|
|
426
512
|
catch (err) {
|
|
427
513
|
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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"}
|
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
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
* the copies drift — do not edit the per-package copies directly.
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.LoraError = exports.wgs84_3d = exports.wgs84 = exports.cartesian3d = exports.cartesian = exports.vector = exports.duration = exports.localdatetime = exports.datetime = exports.localtime = exports.time = exports.date = void 0;
|
|
16
|
+
exports.LoraError = exports.wgs84_3d = exports.wgs84 = exports.cartesian3d = exports.cartesian = exports.binary = exports.vector = exports.duration = exports.localdatetime = exports.datetime = exports.localtime = exports.time = exports.date = void 0;
|
|
17
17
|
exports.isNode = isNode;
|
|
18
18
|
exports.isRelationship = isRelationship;
|
|
19
19
|
exports.isPath = isPath;
|
|
20
20
|
exports.isPoint = isPoint;
|
|
21
21
|
exports.isVector = isVector;
|
|
22
|
+
exports.isBinary = isBinary;
|
|
22
23
|
exports.isTemporal = isTemporal;
|
|
23
24
|
exports.wrapError = wrapError;
|
|
24
25
|
// ---------------------------------------------------------------------------
|
|
@@ -39,6 +40,9 @@ function isPoint(v) {
|
|
|
39
40
|
function isVector(v) {
|
|
40
41
|
return typeof v === "object" && v !== null && !Array.isArray(v) && v.kind === "vector";
|
|
41
42
|
}
|
|
43
|
+
function isBinary(v) {
|
|
44
|
+
return typeof v === "object" && v !== null && !Array.isArray(v) && v.kind === "binary";
|
|
45
|
+
}
|
|
42
46
|
function isTemporal(v) {
|
|
43
47
|
if (typeof v !== "object" || v === null || Array.isArray(v))
|
|
44
48
|
return false;
|
|
@@ -72,6 +76,12 @@ exports.duration = duration;
|
|
|
72
76
|
*/
|
|
73
77
|
const vector = (values, dimension, coordinateType) => ({ kind: "vector", dimension, coordinateType, values });
|
|
74
78
|
exports.vector = vector;
|
|
79
|
+
const binary = (segments) => ({
|
|
80
|
+
kind: "binary",
|
|
81
|
+
length: segments.reduce((sum, segment) => sum + segment.length, 0),
|
|
82
|
+
segments,
|
|
83
|
+
});
|
|
84
|
+
exports.binary = binary;
|
|
75
85
|
const cartesian = (x, y) => ({
|
|
76
86
|
kind: "point",
|
|
77
87
|
srid: 7203,
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAgSH,wBAEC;AAED,wCAEC;AAED,wBAEC;AAED,0BAEC;AAED,4BAEC;AAED,4BAEC;AAED,gCAWC;AAuHD,8BAOC;AArKD,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,SAAgB,MAAM,CAAC,CAAY;IACjC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAwB,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/G,CAAC;AAED,SAAgB,cAAc,CAAC,CAAY;IACzC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAwB,CAAC,IAAI,KAAK,cAAc,CAAC;AACvH,CAAC;AAED,SAAgB,MAAM,CAAC,CAAY;IACjC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAwB,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/G,CAAC;AAED,SAAgB,OAAO,CAAC,CAAY;IAClC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAwB,CAAC,IAAI,KAAK,OAAO,CAAC;AAChH,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAY;IACnC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAwB,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjH,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAY;IACnC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAwB,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjH,CAAC;AAED,SAAgB,UAAU,CAAC,CAAY;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,IAAI,GAAI,CAAwB,CAAC,IAAI,CAAC;IAC5C,OAAO,CACL,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,eAAe;QACxB,IAAI,KAAK,UAAU,CACpB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAEvE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAA1D,QAAA,IAAI,QAAsD;AAChE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAA1D,QAAA,IAAI,QAAsD;AAChE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;AAAzE,QAAA,SAAS,aAAgE;AAC/E,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAAtE,QAAA,QAAQ,YAA8D;AAC5E,MAAM,aAAa,GAAG,CAAC,GAAW,EAAqB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;AAArF,QAAA,aAAa,iBAAwE;AAC3F,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAAtE,QAAA,QAAQ,YAA8D;AAEnF;;;;GAIG;AACI,MAAM,MAAM,GAAG,CACpB,MAAgB,EAChB,SAAiB,EACjB,cAAwC,EAC5B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;AAJ5D,QAAA,MAAM,UAIsD;AAElE,MAAM,MAAM,GAAG,CAAC,QAAoB,EAAc,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,QAAQ;CACT,CAAC,CAAC;AAJU,QAAA,MAAM,UAIhB;AAEI,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAsB,EAAE,CAAC,CAAC;IACtE,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,WAAW;IAChB,CAAC;IACD,CAAC;CACF,CAAC,CAAC;AANU,QAAA,SAAS,aAMnB;AAEI,MAAM,WAAW,GAAG,CACzB,CAAS,EACT,CAAS,EACT,CAAS,EACa,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,cAAc;IACnB,CAAC;IACD,CAAC;IACD,CAAC;CACF,CAAC,CAAC;AAXU,QAAA,WAAW,eAWrB;AAEI,MAAM,KAAK,GAAG,CACnB,SAAiB,EACjB,QAAgB,EACA,EAAE,CAAC,CAAC;IACpB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,WAAW;IAChB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAXU,QAAA,KAAK,SAWf;AAEI,MAAM,QAAQ,GAAG,CACtB,SAAiB,EACjB,QAAgB,EAChB,MAAc,EACI,EAAE,CAAC,CAAC;IACtB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,WAAW;IAChB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,SAAS;IACT,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AAdU,QAAA,QAAQ,YAclB;AAoBH;;;GAGG;AACH,MAAa,SAAU,SAAQ,KAAK;IAClB,IAAI,CAAgB;IAEpC,YAAY,OAAe,EAAE,OAAsB,SAAS;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AARD,8BAQC;AAED,MAAM,eAAe,GAAG,qDAAqD,CAAC;AAE9E;;;;GAIG;AACH,SAAgB,SAAS,CAAC,GAAY;IACpC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAkB,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loradb/lora-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Node.js / TypeScript bindings for the Lora in-memory graph database",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "LoraDB, Inc.",
|
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
"vitest": "^2.1.1"
|
|
90
90
|
},
|
|
91
91
|
"optionalDependencies": {
|
|
92
|
-
"@loradb/lora-node-linux-x64-gnu": "0.
|
|
93
|
-
"@loradb/lora-node-linux-arm64-gnu": "0.
|
|
94
|
-
"@loradb/lora-node-darwin-x64": "0.
|
|
95
|
-
"@loradb/lora-node-darwin-arm64": "0.
|
|
96
|
-
"@loradb/lora-node-win32-x64-msvc": "0.
|
|
92
|
+
"@loradb/lora-node-linux-x64-gnu": "0.6.0",
|
|
93
|
+
"@loradb/lora-node-linux-arm64-gnu": "0.6.0",
|
|
94
|
+
"@loradb/lora-node-darwin-x64": "0.6.0",
|
|
95
|
+
"@loradb/lora-node-darwin-arm64": "0.6.0",
|
|
96
|
+
"@loradb/lora-node-win32-x64-msvc": "0.6.0"
|
|
97
97
|
}
|
|
98
98
|
}
|
package/ts/native.d.ts
CHANGED
|
@@ -18,8 +18,20 @@ export interface NativeSnapshotMeta {
|
|
|
18
18
|
walLsn: number | null;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
export type NativeSnapshotOptions = unknown;
|
|
22
|
+
|
|
21
23
|
export declare class Database {
|
|
22
|
-
constructor(
|
|
24
|
+
constructor(
|
|
25
|
+
databaseName?: string | null,
|
|
26
|
+
databaseDir?: string | null,
|
|
27
|
+
syncMode?: "group" | "perCommit" | "per_commit" | null,
|
|
28
|
+
groupSyncIntervalMs?: number | null,
|
|
29
|
+
walDir?: string | null,
|
|
30
|
+
snapshotDir?: string | null,
|
|
31
|
+
snapshotEveryCommits?: number | null,
|
|
32
|
+
snapshotKeepOld?: number | null,
|
|
33
|
+
snapshotOptions?: NativeSnapshotOptions | null,
|
|
34
|
+
);
|
|
23
35
|
/** Non-blocking: runs on the libuv threadpool, returns a Promise. */
|
|
24
36
|
execute(
|
|
25
37
|
query: string,
|
|
@@ -36,16 +48,21 @@ export declare class Database {
|
|
|
36
48
|
statements: Array<{ query: string; params?: Record<string, unknown> | null }>,
|
|
37
49
|
mode?: "read_write" | "read_only" | "readwrite" | "readonly" | "rw" | "ro" | null,
|
|
38
50
|
): Promise<NativeQueryResult[]>;
|
|
39
|
-
|
|
51
|
+
/** Force pending WAL bytes and the portable archive mirror to disk. */
|
|
52
|
+
sync(): Promise<void>;
|
|
53
|
+
clear(): Promise<void>;
|
|
40
54
|
nodeCount(): number;
|
|
41
55
|
relationshipCount(): number;
|
|
42
56
|
dispose(): void;
|
|
43
57
|
/** Atomic save. Synchronous under the store read lock. */
|
|
44
|
-
saveSnapshot(path: string): NativeSnapshotMeta;
|
|
58
|
+
saveSnapshot(path: string, options?: NativeSnapshotOptions | null): NativeSnapshotMeta;
|
|
45
59
|
/** Serialize the current graph into snapshot bytes. */
|
|
46
|
-
|
|
60
|
+
saveSnapshotBuffer(options?: NativeSnapshotOptions | null): Buffer;
|
|
47
61
|
/** Replace the current graph with the snapshot at `path`. */
|
|
48
|
-
loadSnapshot(path: string): NativeSnapshotMeta;
|
|
62
|
+
loadSnapshot(path: string, options?: NativeSnapshotOptions | null): NativeSnapshotMeta;
|
|
49
63
|
/** Replace the current graph with snapshot bytes. */
|
|
50
|
-
|
|
64
|
+
loadSnapshotBuffer(
|
|
65
|
+
bytes: Uint8Array | Buffer,
|
|
66
|
+
options?: NativeSnapshotOptions | null,
|
|
67
|
+
): NativeSnapshotMeta;
|
|
51
68
|
}
|