@moyodb/sdk 1.0.1 → 1.3.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 +111 -28
- package/dist/assets/browser-worker-DBt51gsS.js +4 -0
- package/dist/assets/browser-worker-DBt51gsS.js.map +1 -0
- package/dist/assets/shared-worker-NdniRuEL.js +2 -0
- package/dist/assets/shared-worker-NdniRuEL.js.map +1 -0
- package/dist/browser-worker.d.ts +2 -0
- package/dist/browser-worker.d.ts.map +1 -0
- package/dist/change-events.d.ts +1 -1
- package/dist/chunks/indexing-CKtbpaZn.js +1657 -0
- package/dist/chunks/indexing-CKtbpaZn.js.map +1 -0
- package/dist/codec.d.ts +1 -1
- package/dist/compression.d.ts +16 -2
- package/dist/compression.d.ts.map +1 -1
- package/dist/demo.d.ts +2 -1
- package/dist/demo.d.ts.map +1 -1
- package/dist/engine/README.md +89 -16
- package/dist/engine/moyodb_engine.d.ts +34 -10
- package/dist/engine/moyodb_engine.js +238 -51
- package/dist/engine/moyodb_engine_bg.wasm +0 -0
- package/dist/engine/moyodb_engine_bg.wasm.d.ts +17 -10
- package/dist/engine/package.json +2 -2
- package/dist/errors.d.ts +3 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/indexing.d.ts +1 -1
- package/dist/internal.d.ts +6 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/moyodb-sdk.js +2362 -640
- package/dist/moyodb-sdk.js.map +1 -1
- package/dist/node-engine.js +2838 -0
- package/dist/node-engine.js.map +1 -0
- package/dist/node-storage.d.mts +16 -0
- package/dist/node-storage.mjs +669 -0
- package/dist/node-worker-client.d.ts +20 -0
- package/dist/node-worker-client.d.ts.map +1 -0
- package/dist/node-worker.mjs +119 -0
- package/dist/node.d.ts +19 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +3437 -0
- package/dist/node.js.map +1 -0
- package/dist/records.d.ts +75 -0
- package/dist/records.d.ts.map +1 -0
- package/dist/registry.d.ts +12 -4
- package/dist/registry.d.ts.map +1 -1
- package/dist/shared-worker-client.d.ts +28 -0
- package/dist/shared-worker-client.d.ts.map +1 -0
- package/dist/shared-worker-protocol.d.ts +16 -0
- package/dist/shared-worker-protocol.d.ts.map +1 -0
- package/dist/shared-worker.d.ts +33 -0
- package/dist/shared-worker.d.ts.map +1 -0
- package/dist/snappy.d.ts +3 -0
- package/dist/snappy.d.ts.map +1 -0
- package/dist/sql-parser.d.ts +9 -0
- package/dist/sql-parser.d.ts.map +1 -0
- package/dist/sql-types.d.ts +82 -0
- package/dist/sql-types.d.ts.map +1 -0
- package/dist/sql.d.ts +32 -0
- package/dist/sql.d.ts.map +1 -0
- package/dist/subscriptions.d.ts +2 -2
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/types.d.ts +36 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/worker-api.d.ts +19 -3
- package/dist/worker-api.d.ts.map +1 -1
- package/dist/worker-client.d.ts +30 -6
- package/dist/worker-client.d.ts.map +1 -1
- package/dist/worker-protocol.d.ts +19 -4
- package/dist/worker-protocol.d.ts.map +1 -1
- package/dist/worker-server.d.ts +10 -2
- package/dist/worker-server.d.ts.map +1 -1
- package/dist/worker.d.ts +292 -1
- package/dist/worker.d.ts.map +1 -1
- package/package.json +13 -6
- package/dist/assets/worker-KDc8Khl_.js +0 -4
- package/dist/assets/worker-KDc8Khl_.js.map +0 -1
- package/dist/engine/snippets/moyodb-engine-cff0a0e2441a7a8f/js/opfs_shim.js +0 -513
- /package/dist/engine/snippets/{moyodb-engine-8ebe6af0cc2e81b7 → moyodb-engine-54a406e33b0fb849}/js/opfs_shim.js +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type CompoundKeyPart } from './codec.js';
|
|
2
|
+
import type { CreateStoreOptions, DB, PutOptions, Transaction, TxMode } from './types.js';
|
|
3
|
+
export interface RecordCodec<T> {
|
|
4
|
+
encode(value: T): Uint8Array;
|
|
5
|
+
decode(bytes: Uint8Array): T;
|
|
6
|
+
}
|
|
7
|
+
export interface RecordCodecs<K, V> {
|
|
8
|
+
key: RecordCodec<K>;
|
|
9
|
+
value: RecordCodec<V>;
|
|
10
|
+
}
|
|
11
|
+
export interface RecordRange<K> {
|
|
12
|
+
gt?: K;
|
|
13
|
+
gte?: K;
|
|
14
|
+
lt?: K;
|
|
15
|
+
lte?: K;
|
|
16
|
+
reverse?: boolean;
|
|
17
|
+
limit?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface RecordItem<K, V> {
|
|
20
|
+
key: K;
|
|
21
|
+
value: V;
|
|
22
|
+
}
|
|
23
|
+
export type RecordBatchOp<K, V> = {
|
|
24
|
+
kind: 'put';
|
|
25
|
+
key: K;
|
|
26
|
+
value: V;
|
|
27
|
+
} | {
|
|
28
|
+
kind: 'delete';
|
|
29
|
+
key: K;
|
|
30
|
+
};
|
|
31
|
+
export type JsonValue = null | boolean | number | string | JsonValue[] | {
|
|
32
|
+
[key: string]: JsonValue;
|
|
33
|
+
};
|
|
34
|
+
export declare const scalarKeyCodec: RecordCodec<CompoundKeyPart>;
|
|
35
|
+
export declare const keyCodecs: Readonly<{
|
|
36
|
+
string: RecordCodec<string>;
|
|
37
|
+
number: RecordCodec<number>;
|
|
38
|
+
boolean: RecordCodec<boolean>;
|
|
39
|
+
null: RecordCodec<null>;
|
|
40
|
+
bytes: RecordCodec<Uint8Array<ArrayBufferLike>>;
|
|
41
|
+
}>;
|
|
42
|
+
export declare function compoundKeyCodec<T extends readonly CompoundKeyPart[]>(...parts: {
|
|
43
|
+
[I in keyof T]: RecordCodec<T[I]>;
|
|
44
|
+
}): RecordCodec<T>;
|
|
45
|
+
/** A type guard checks the application schema. Without one, only the JSON domain is checked. */
|
|
46
|
+
export declare function jsonRecordCodec<T = JsonValue>(validate?: (value: unknown) => value is T): RecordCodec<T>;
|
|
47
|
+
export declare function withRecordTransaction<R>(db: DB, mode: TxMode, action: (transaction: Transaction) => Promise<R> | R): Promise<R>;
|
|
48
|
+
export declare class RecordIndex<I, K, V> {
|
|
49
|
+
#private;
|
|
50
|
+
readonly name: string;
|
|
51
|
+
constructor(source: DB | Transaction, store: string, name: string, indexKey: RecordCodec<I>, codecs: RecordCodecs<K, V>);
|
|
52
|
+
get(key: I): Promise<V | null>;
|
|
53
|
+
scan(range?: RecordRange<I>): Promise<Array<RecordItem<K, V>>>;
|
|
54
|
+
}
|
|
55
|
+
export declare class RecordStore<K, V> {
|
|
56
|
+
#private;
|
|
57
|
+
readonly name: string;
|
|
58
|
+
constructor(source: DB | Transaction, name: string, codecs: RecordCodecs<K, V>);
|
|
59
|
+
get(key: K): Promise<V | null>;
|
|
60
|
+
getMany(keys: readonly K[]): Promise<Array<V | null>>;
|
|
61
|
+
has(key: K): Promise<boolean>;
|
|
62
|
+
put(key: K, value: V, options?: PutOptions): Promise<void>;
|
|
63
|
+
putMany(entries: ReadonlyArray<readonly [K, V]>, options?: PutOptions): Promise<void>;
|
|
64
|
+
delete(key: K): Promise<boolean>;
|
|
65
|
+
deleteMany(keys: readonly K[]): Promise<void>;
|
|
66
|
+
applyBatch(operations: ReadonlyArray<RecordBatchOp<K, V>>): Promise<void>;
|
|
67
|
+
scan(range?: RecordRange<K>): Promise<Array<RecordItem<K, V>>>;
|
|
68
|
+
clear(): Promise<void>;
|
|
69
|
+
index<I>(name: string, key: RecordCodec<I>): RecordIndex<I, K, V>;
|
|
70
|
+
transaction<R>(mode: TxMode, action: (store: RecordStore<K, V>, transaction: Transaction) => Promise<R> | R): Promise<R>;
|
|
71
|
+
}
|
|
72
|
+
/** Bind codecs to an existing store. The database still enforces store existence. */
|
|
73
|
+
export declare function openRecordStore<K, V>(source: DB | Transaction, name: string, codecs: RecordCodecs<K, V>): RecordStore<K, V>;
|
|
74
|
+
export declare function createRecordStore<K, V>(source: DB | Transaction, name: string, codecs: RecordCodecs<K, V>, options?: CreateStoreOptions): Promise<RecordStore<K, V>>;
|
|
75
|
+
//# sourceMappingURL=records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../src/records.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { ChangeFeedSettings, DebugFailpoint, OpenOptions } from './types';
|
|
1
|
+
import { type WorkerClient } from './worker-client.js';
|
|
2
|
+
import type { ChangeFeedSettings, DebugFailpoint, OpenOptions } from './types.js';
|
|
3
3
|
interface MainThreadPersistenceBridge {
|
|
4
4
|
close(): void;
|
|
5
5
|
}
|
|
6
6
|
export interface NormalizedOpenOptions {
|
|
7
|
+
workerMode: 'dedicated' | 'shared';
|
|
7
8
|
createIfMissing: boolean;
|
|
8
9
|
ownerWaitMs: number;
|
|
9
10
|
requestPersistence: boolean;
|
|
@@ -14,15 +15,22 @@ export interface NormalizedOpenOptions {
|
|
|
14
15
|
export interface RegistryEntry {
|
|
15
16
|
dbName: string;
|
|
16
17
|
refs: number;
|
|
17
|
-
worker:
|
|
18
|
-
|
|
18
|
+
worker: {
|
|
19
|
+
terminate(): void | Promise<number>;
|
|
20
|
+
};
|
|
21
|
+
proxy: WorkerClient;
|
|
19
22
|
persistenceBridge: MainThreadPersistenceBridge;
|
|
20
23
|
options: NormalizedOpenOptions;
|
|
21
24
|
invalidated: boolean;
|
|
22
25
|
schemaMigrationInProgress: boolean;
|
|
23
26
|
txInvalidationListeners: Set<() => void>;
|
|
24
27
|
handleInvalidationListeners: Set<() => void>;
|
|
28
|
+
release?: () => Promise<void>;
|
|
29
|
+
destroy?: () => Promise<void>;
|
|
30
|
+
channelName?: string;
|
|
25
31
|
}
|
|
32
|
+
export declare function normalizeOptions(options?: OpenOptions): NormalizedOpenOptions;
|
|
33
|
+
export declare function assertCompatibleOptions(dbName: string, current: NormalizedOpenOptions, next: NormalizedOpenOptions): void;
|
|
26
34
|
export declare function subscribeTransactionsInvalidated(entry: RegistryEntry, listener: () => void): () => void;
|
|
27
35
|
export declare function subscribeHandleInvalidated(entry: RegistryEntry, listener: () => void): () => void;
|
|
28
36
|
export declare function invalidateTransactions(entry: RegistryEntry): void;
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,YAAY,EAAwB,MAAM,iBAAiB,CAAC;AAEhG,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoC/E,UAAU,2BAA2B;IACjC,KAAK,IAAI,IAAI,CAAC;CACjB;AACD,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,WAAW,GAAG,QAAQ,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,SAAS,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAChD,KAAK,EAAE,YAAY,CAAC;IACpB,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,OAAO,EAAE,qBAAqB,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IACzC,2BAA2B,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAgFD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,WAAgB,GAAG,qBAAqB,CAWjF;AAID,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,QAclH;AAmHD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKvG;AACD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKjG;AACD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEjE;AASD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAa9D;AACD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuCvG;AACD,wBAAsB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBzE;AACD,wBAAsB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;AAgCD,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WorkerProtocolClient } from './worker-client.js';
|
|
2
|
+
export declare class SharedWorkerProtocolClient extends WorkerProtocolClient {
|
|
3
|
+
private readonly sharedWorker;
|
|
4
|
+
private controlId;
|
|
5
|
+
private controls;
|
|
6
|
+
private invalidationHandler;
|
|
7
|
+
private heartbeat;
|
|
8
|
+
private lastPong;
|
|
9
|
+
private disposed;
|
|
10
|
+
private detachId;
|
|
11
|
+
private detachPromise;
|
|
12
|
+
private resolveDetach;
|
|
13
|
+
constructor(sharedWorker: SharedWorker);
|
|
14
|
+
acquireMigration(): Promise<void>;
|
|
15
|
+
releaseMigration(): Promise<void>;
|
|
16
|
+
setTransactionsInvalidatedHandler(handler: (() => void) | null): void;
|
|
17
|
+
crash(): void;
|
|
18
|
+
dispose(reason?: Error): void;
|
|
19
|
+
disconnect(): Promise<void>;
|
|
20
|
+
protected fail(reason: Error): void;
|
|
21
|
+
private control;
|
|
22
|
+
private sendControl;
|
|
23
|
+
private handleControl;
|
|
24
|
+
private handleSharedError;
|
|
25
|
+
private handlePageHide;
|
|
26
|
+
private cleanup;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=shared-worker-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-worker-client.d.ts","sourceRoot":"","sources":["../src/shared-worker-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA4EvD,qBAAa,0BAA2B,SAAQ,oBAAoB;IAWpD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAVzC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAA+E;IAC/F,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA6B;IAElD,YAA6B,YAAY,EAAE,YAAY,EAatD;IAED,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;IAED,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;IAED,iCAAiC,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAEpE;IAED,KAAK,IAAI,IAAI,CAEZ;IAEQ,OAAO,CAAC,MAAM,GAAE,KAAiF,GAAG,IAAI,CAGhH;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhC;IAED,UAAmB,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAG3C;YAEa,OAAO;IAerB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,aAAa,CA2CnB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,OAAO;CAyBlB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const SHARED_WORKER_CONTROL = "moyodb:shared-worker:control";
|
|
2
|
+
export declare const SHARED_WORKER_CONTROL_RESULT = "moyodb:shared-worker:control-result";
|
|
3
|
+
export declare const SHARED_WORKER_FATAL = "moyodb:shared-worker:fatal";
|
|
4
|
+
export declare const SHARED_WORKER_INVALIDATE_TRANSACTIONS = "moyodb:shared-worker:invalidate-transactions";
|
|
5
|
+
export declare const SHARED_WORKER_OWNER_REQUEST = "moyodb:shared-worker:owner-request";
|
|
6
|
+
export declare const SHARED_WORKER_OWNER_RESPONSE = "moyodb:shared-worker:owner-response";
|
|
7
|
+
export declare const SHARED_WORKER_OWNER_HOST_MESSAGE = "moyodb:shared-worker:owner-host-message";
|
|
8
|
+
export declare const SHARED_WORKER_HEARTBEAT_MS = 5000;
|
|
9
|
+
export declare const SHARED_WORKER_LEASE_MS = 120000;
|
|
10
|
+
export type SharedWorkerControlOperation = 'ping' | 'detach' | 'acquireMigration' | 'releaseMigration' | 'crash';
|
|
11
|
+
export interface SharedWorkerControlRequest {
|
|
12
|
+
type: typeof SHARED_WORKER_CONTROL;
|
|
13
|
+
id: number;
|
|
14
|
+
op: SharedWorkerControlOperation;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=shared-worker-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-worker-protocol.d.ts","sourceRoot":"","sources":["../src/shared-worker-protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AACpE,eAAO,MAAM,4BAA4B,wCAAwC,CAAC;AAClF,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAChE,eAAO,MAAM,qCAAqC,iDAAiD,CAAC;AACpG,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAChF,eAAO,MAAM,4BAA4B,wCAAwC,CAAC;AAClF,eAAO,MAAM,gCAAgC,4CAA4C,CAAC;AAC1F,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAChD,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,QAAQ,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEjH,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,OAAO,qBAAqB,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,4BAA4B,CAAC;CACpC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare class SharedWorkerCoordinator {
|
|
2
|
+
private readonly origin;
|
|
3
|
+
private sessions;
|
|
4
|
+
private owner;
|
|
5
|
+
private dbName;
|
|
6
|
+
private ownerId;
|
|
7
|
+
private pendingOwners;
|
|
8
|
+
private storageReady;
|
|
9
|
+
private lifecycle;
|
|
10
|
+
private migrationOwner;
|
|
11
|
+
private migrationReleased;
|
|
12
|
+
private migrationQueue;
|
|
13
|
+
private timer;
|
|
14
|
+
constructor(origin: string);
|
|
15
|
+
connect(port: MessagePort): void;
|
|
16
|
+
private sessionApi;
|
|
17
|
+
private invoke;
|
|
18
|
+
private requireSession;
|
|
19
|
+
private queueLifecycle;
|
|
20
|
+
private openSession;
|
|
21
|
+
private createOwner;
|
|
22
|
+
private closeSession;
|
|
23
|
+
private destroySession;
|
|
24
|
+
private acquireMigration;
|
|
25
|
+
private releaseMigration;
|
|
26
|
+
private invalidateTransactions;
|
|
27
|
+
private recoverOwner;
|
|
28
|
+
private expireSessions;
|
|
29
|
+
private disposeOwner;
|
|
30
|
+
private controlError;
|
|
31
|
+
private failAll;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=shared-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-worker.d.ts","sourceRoot":"","sources":["../src/shared-worker.ts"],"names":[],"mappings":"AA6EA,qBAAa,uBAAuB;IAapB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZnC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,KAAK,CAA+C;IAE5D,YAA6B,MAAM,EAAE,MAAM,EAAI;IAE/C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAkF/B;IAED,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,MAAM;IAyHd,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,cAAc;YASR,WAAW;YAwDX,WAAW;IA2BzB,OAAO,CAAC,YAAY;YAyCN,cAAc;IAc5B,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,OAAO;CAsBlB"}
|
package/dist/snappy.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snappy.d.ts","sourceRoot":"","sources":["../src/snappy.ts"],"names":[],"mappings":"AAoBA,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAsF1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,UAAU,CA6EhH"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type SqlParseResult, type SqlValue, type SqlValueExpression } from './sql-types.js';
|
|
2
|
+
export declare class SqlSyntaxError extends SyntaxError {
|
|
3
|
+
readonly position: number;
|
|
4
|
+
constructor(message: string, position: number);
|
|
5
|
+
}
|
|
6
|
+
export declare function parseSql(sql: string): SqlParseResult;
|
|
7
|
+
export declare function bindSqlParameters(parsed: SqlParseResult, parameters?: readonly unknown[]): SqlValue[];
|
|
8
|
+
export declare function resolveSqlValue(expression: SqlValueExpression, parameters: readonly SqlValue[]): SqlValue;
|
|
9
|
+
//# sourceMappingURL=sql-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-parser.d.ts","sourceRoot":"","sources":["../src/sql-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,KAAK,cAAc,EAEnB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAC1B,MAAM,aAAa,CAAC;AA2ErB,qBAAa,cAAe,SAAQ,WAAW;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAI5C;CACJ;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAQpD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,GAAE,SAAS,OAAO,EAAO,GAAG,QAAQ,EAAE,CAuCzG;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CAYzG"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export declare const SQL_INTEGER_MIN: bigint;
|
|
2
|
+
export declare const SQL_INTEGER_MAX: bigint;
|
|
3
|
+
export type SqlValue = null | boolean | number | bigint | string | Uint8Array;
|
|
4
|
+
export type SqlColumnType = 'INTEGER' | 'REAL' | 'TEXT' | 'BOOLEAN' | 'BLOB';
|
|
5
|
+
export interface SqlColumnDefinition {
|
|
6
|
+
name: string;
|
|
7
|
+
type: SqlColumnType;
|
|
8
|
+
primaryKey: boolean;
|
|
9
|
+
nullable: boolean;
|
|
10
|
+
}
|
|
11
|
+
export type SqlValueExpression = {
|
|
12
|
+
kind: 'literal';
|
|
13
|
+
value: SqlValue;
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'parameter';
|
|
16
|
+
index: number;
|
|
17
|
+
};
|
|
18
|
+
export type SqlComparisonOperator = '=' | '!=' | '<' | '<=' | '>' | '>=';
|
|
19
|
+
export type SqlExpression = {
|
|
20
|
+
kind: 'comparison';
|
|
21
|
+
column: string;
|
|
22
|
+
operator: SqlComparisonOperator;
|
|
23
|
+
value: SqlValueExpression;
|
|
24
|
+
} | {
|
|
25
|
+
kind: 'isNull';
|
|
26
|
+
column: string;
|
|
27
|
+
negated: boolean;
|
|
28
|
+
} | {
|
|
29
|
+
kind: 'and' | 'or';
|
|
30
|
+
left: SqlExpression;
|
|
31
|
+
right: SqlExpression;
|
|
32
|
+
};
|
|
33
|
+
export interface SqlOrderBy {
|
|
34
|
+
column: string;
|
|
35
|
+
direction: 'asc' | 'desc';
|
|
36
|
+
}
|
|
37
|
+
export interface SqlCreateTableStatement {
|
|
38
|
+
kind: 'createTable';
|
|
39
|
+
table: string;
|
|
40
|
+
columns: SqlColumnDefinition[];
|
|
41
|
+
ifNotExists: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface SqlDropTableStatement {
|
|
44
|
+
kind: 'dropTable';
|
|
45
|
+
table: string;
|
|
46
|
+
ifExists: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface SqlInsertStatement {
|
|
49
|
+
kind: 'insert';
|
|
50
|
+
table: string;
|
|
51
|
+
columns: string[] | null;
|
|
52
|
+
rows: SqlValueExpression[][];
|
|
53
|
+
}
|
|
54
|
+
export interface SqlSelectStatement {
|
|
55
|
+
kind: 'select';
|
|
56
|
+
table: string;
|
|
57
|
+
columns: string[] | null;
|
|
58
|
+
where: SqlExpression | null;
|
|
59
|
+
orderBy: SqlOrderBy[];
|
|
60
|
+
limit: SqlValueExpression | null;
|
|
61
|
+
offset: SqlValueExpression | null;
|
|
62
|
+
}
|
|
63
|
+
export interface SqlUpdateStatement {
|
|
64
|
+
kind: 'update';
|
|
65
|
+
table: string;
|
|
66
|
+
assignments: {
|
|
67
|
+
column: string;
|
|
68
|
+
value: SqlValueExpression;
|
|
69
|
+
}[];
|
|
70
|
+
where: SqlExpression | null;
|
|
71
|
+
}
|
|
72
|
+
export interface SqlDeleteStatement {
|
|
73
|
+
kind: 'delete';
|
|
74
|
+
table: string;
|
|
75
|
+
where: SqlExpression | null;
|
|
76
|
+
}
|
|
77
|
+
export type SqlStatement = SqlCreateTableStatement | SqlDropTableStatement | SqlInsertStatement | SqlSelectStatement | SqlUpdateStatement | SqlDeleteStatement;
|
|
78
|
+
export interface SqlParseResult {
|
|
79
|
+
statement: SqlStatement;
|
|
80
|
+
parameterCount: number;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=sql-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-types.d.ts","sourceRoot":"","sources":["../src/sql-types.ts"],"names":[],"mappings":"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"}
|
package/dist/sql.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SqlValue } from './sql-types.js';
|
|
2
|
+
import type { DB, IndexDef } from './types.js';
|
|
3
|
+
export type SqlRow = Record<string, SqlValue>;
|
|
4
|
+
export interface SqlQueryPlan {
|
|
5
|
+
table: string;
|
|
6
|
+
access: 'primary-key-lookup' | 'primary-key-range' | 'index-lookup' | 'index-range' | 'table-scan';
|
|
7
|
+
column?: string;
|
|
8
|
+
index?: string;
|
|
9
|
+
sort: 'none' | 'memory';
|
|
10
|
+
reason: string;
|
|
11
|
+
}
|
|
12
|
+
export interface SqlResult {
|
|
13
|
+
rows: SqlRow[];
|
|
14
|
+
rowsAffected: number;
|
|
15
|
+
plan?: SqlQueryPlan;
|
|
16
|
+
}
|
|
17
|
+
export interface SqlClientOptions {
|
|
18
|
+
indexes?: IndexDef[];
|
|
19
|
+
}
|
|
20
|
+
export interface SqlClient {
|
|
21
|
+
execute(sql: string, parameters?: readonly unknown[]): Promise<SqlResult>;
|
|
22
|
+
query(sql: string, parameters?: readonly unknown[]): Promise<SqlRow[]>;
|
|
23
|
+
explain(sql: string, parameters?: readonly unknown[]): Promise<SqlQueryPlan>;
|
|
24
|
+
}
|
|
25
|
+
export declare class SqlSchemaError extends Error {
|
|
26
|
+
constructor(message: string, options?: ErrorOptions);
|
|
27
|
+
}
|
|
28
|
+
export declare class SqlTypeError extends TypeError {
|
|
29
|
+
constructor(message: string);
|
|
30
|
+
}
|
|
31
|
+
export declare function createSqlClient(db: DB, options?: SqlClientOptions): SqlClient;
|
|
32
|
+
//# sourceMappingURL=sql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../src/sql.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAKR,QAAQ,EAEX,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAgC,MAAM,SAAS,CAAC;AAY1E,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9C,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC;IACnG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AACD,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAChF;AACD,qBAAa,cAAe,SAAQ,KAAK;IACrC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACJ;AACD,qBAAa,YAAa,SAAQ,SAAS;IACvC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACJ;AAoBD,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAyDjF"}
|
package/dist/subscriptions.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { DbSubscriptionCallback, Unsubscribe } from './types';
|
|
1
|
+
import type { DbSubscriptionCallback, Unsubscribe } from './types.js';
|
|
2
2
|
export declare class SubscriptionHub {
|
|
3
3
|
#private;
|
|
4
|
-
constructor(dbName: string);
|
|
4
|
+
constructor(dbName: string, channelName?: string);
|
|
5
5
|
subscribe(callback: DbSubscriptionCallback): Unsubscribe;
|
|
6
6
|
subscribe(storeName: string, callback: DbSubscriptionCallback): Unsubscribe;
|
|
7
7
|
subscribe(storeName: string, keyPrefix: Uint8Array, callback: DbSubscriptionCallback): Unsubscribe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../src/subscriptions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAqE7E,qBAAa,eAAe;;
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../src/subscriptions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAqE7E,qBAAa,eAAe;;IAMxB,YAAY,MAAM,EAAE,MAAM,EAAE,WAAW,SAAS,EAG/C;IACD,SAAS,CAAC,QAAQ,EAAE,sBAAsB,GAAG,WAAW,CAAC;IACzD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,GAAG,WAAW,CAAC;IAC5E,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,sBAAsB,GAAG,WAAW,CAAC;IA6BnG,KAAK,IAAI,IAAI,CAUZ;CAqDJ"}
|
package/dist/types.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export interface IndexDef {
|
|
|
36
36
|
unique?: boolean;
|
|
37
37
|
}
|
|
38
38
|
export interface OpenOptions {
|
|
39
|
+
workerMode?: 'dedicated' | 'shared';
|
|
39
40
|
createIfMissing?: boolean;
|
|
40
41
|
ownerWaitMs?: number;
|
|
41
42
|
requestPersistence?: boolean;
|
|
@@ -59,12 +60,13 @@ export interface ChangeFeedSettings {
|
|
|
59
60
|
export interface PutOptions {
|
|
60
61
|
ttl?: number;
|
|
61
62
|
}
|
|
62
|
-
export type CompressionKind = 'gzip' | 'deflate';
|
|
63
|
+
export type CompressionKind = 'gzip' | 'deflate' | 'snappy';
|
|
64
|
+
export type SnapshotCompressionKind = 'gzip' | 'deflate';
|
|
63
65
|
export interface CreateStoreOptions {
|
|
64
66
|
compression?: CompressionKind | false;
|
|
65
67
|
}
|
|
66
68
|
export interface ExportSnapshotOptions {
|
|
67
|
-
compression?:
|
|
69
|
+
compression?: SnapshotCompressionKind | false;
|
|
68
70
|
}
|
|
69
71
|
export interface ChangeRecord {
|
|
70
72
|
txId: TxId;
|
|
@@ -126,8 +128,28 @@ export interface ScanItem {
|
|
|
126
128
|
key: Uint8Array;
|
|
127
129
|
value: Uint8Array;
|
|
128
130
|
}
|
|
131
|
+
/** Opaque cursor owned by the database handle or transaction that opened it. */
|
|
132
|
+
export type ScanCursor = number;
|
|
133
|
+
export interface ScanPageOptions {
|
|
134
|
+
cursor?: ScanCursor;
|
|
135
|
+
maxRows?: number;
|
|
136
|
+
/** Includes the 4-byte count and 8 bytes of metadata per row. A larger single row is an error. */
|
|
137
|
+
maxBytes?: number;
|
|
138
|
+
}
|
|
139
|
+
export interface ScanPage {
|
|
140
|
+
rows: ScanItem[];
|
|
141
|
+
cursor?: ScanCursor;
|
|
142
|
+
done: boolean;
|
|
143
|
+
bytes: number;
|
|
144
|
+
}
|
|
145
|
+
export interface IndexScanOptions {
|
|
146
|
+
maxRows?: number;
|
|
147
|
+
/** Bounds each decoded index page, including count, row metadata, keys, and values. */
|
|
148
|
+
maxBytes?: number;
|
|
149
|
+
}
|
|
129
150
|
export interface Transaction {
|
|
130
151
|
readonly mode: TxMode;
|
|
152
|
+
listIndexes?(): Promise<IndexDef[]>;
|
|
131
153
|
get(store: string, key: Uint8Array): Promise<Uint8Array | null>;
|
|
132
154
|
getMany(store: string, keys: Array<Uint8Array>): Promise<Array<Uint8Array | null>>;
|
|
133
155
|
has(store: string, key: Uint8Array): Promise<boolean>;
|
|
@@ -137,8 +159,13 @@ export interface Transaction {
|
|
|
137
159
|
deleteMany(store: string, keys: Array<Uint8Array>): Promise<void>;
|
|
138
160
|
applyBatch(store: string, ops: Array<BatchOp>): Promise<void>;
|
|
139
161
|
scan(store: string, range?: Range): Promise<ScanItem[]>;
|
|
162
|
+
/** Retains the transaction snapshot until exhaustion or closeScanCursor. */
|
|
163
|
+
scanPage(store: string, range?: Range, options?: ScanPageOptions): Promise<ScanPage>;
|
|
164
|
+
/** Closes its cursor when iteration ends, throws, or is cancelled. */
|
|
165
|
+
scanIter(store: string, range?: Range, options?: Omit<ScanPageOptions, 'cursor'>): AsyncIterable<ScanItem>;
|
|
166
|
+
closeScanCursor(cursor: ScanCursor): Promise<void>;
|
|
140
167
|
getByIndex(store: string, indexName: string, key: Uint8Array): Promise<Uint8Array | null>;
|
|
141
|
-
scanByIndex(store: string, indexName: string, range?: Range): AsyncIterable<[key: Uint8Array, value: Uint8Array]>;
|
|
168
|
+
scanByIndex(store: string, indexName: string, range?: Range, options?: IndexScanOptions): AsyncIterable<[key: Uint8Array, value: Uint8Array]>;
|
|
142
169
|
createStore(name: string, options?: CreateStoreOptions): Promise<void>;
|
|
143
170
|
dropStore(name: string): Promise<void>;
|
|
144
171
|
clearStore(name: string): Promise<void>;
|
|
@@ -157,6 +184,7 @@ export interface DB {
|
|
|
157
184
|
dropStore(name: string): Promise<void>;
|
|
158
185
|
clearStore(name: string): Promise<void>;
|
|
159
186
|
listStores(): Promise<string[]>;
|
|
187
|
+
listIndexes?(): Promise<IndexDef[]>;
|
|
160
188
|
getVersion(): Promise<number>;
|
|
161
189
|
changesSince(txid: TxId, options?: ChangeFeedOptions): Promise<ChangeFeed>;
|
|
162
190
|
get(store: string, key: Uint8Array): Promise<Uint8Array | null>;
|
|
@@ -165,6 +193,11 @@ export interface DB {
|
|
|
165
193
|
put(store: string, key: Uint8Array, value: Uint8Array, options?: PutOptions): Promise<void>;
|
|
166
194
|
delete(store: string, key: Uint8Array): Promise<boolean>;
|
|
167
195
|
scan(store: string, range?: Range): Promise<ScanItem[]>;
|
|
196
|
+
/** Retains a read snapshot until exhaustion or closeScanCursor. */
|
|
197
|
+
scanPage(store: string, range?: Range, options?: ScanPageOptions): Promise<ScanPage>;
|
|
198
|
+
/** Closes its cursor when iteration ends, throws, or is cancelled. */
|
|
199
|
+
scanIter(store: string, range?: Range, options?: Omit<ScanPageOptions, 'cursor'>): AsyncIterable<ScanItem>;
|
|
200
|
+
closeScanCursor(cursor: ScanCursor): Promise<void>;
|
|
168
201
|
exportSnapshot(options?: ExportSnapshotOptions): Promise<Uint8Array>;
|
|
169
202
|
importSnapshot(data: Uint8Array): Promise<void>;
|
|
170
203
|
reset(): Promise<void>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,IAAI,CAAC;AACvG;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AACrC,MAAM,MAAM,OAAO,GACb;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;CACrB,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,UAAU,CAAC;CACnB,CAAC;AACR,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9E,MAAM,WAAW,QAAQ;IACrB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;CACpB;AACD,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACjG,MAAM,WAAW,KAAK;IAClB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,WAAW;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACnC;AACD,MAAM,WAAW,kBAAkB;IAC/B,kGAAkG;IAClG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AACD,MAAM,WAAW,UAAU;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/worker-api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BatchOp, ChangeFeed, ChangeFeedOptions, ChangeFeedSettings, CompactionResult, CreateStoreOptions, DebugFailpoint, DbStats, ExportSnapshotOptions, IndexDef, PutOptions, Range, ScanItem, StorageInfo, TxMode } from './types';
|
|
1
|
+
import type { BatchOp, ChangeFeed, ChangeFeedOptions, ChangeFeedSettings, CompactionResult, CreateStoreOptions, DebugFailpoint, DbStats, ExportSnapshotOptions, IndexDef, PutOptions, Range, ScanItem, StorageInfo, TxMode } from './types.js';
|
|
2
2
|
export interface WorkerRuntimeOpenOptions {
|
|
3
3
|
createIfMissing: boolean;
|
|
4
4
|
ownerWaitMs: number;
|
|
@@ -16,6 +16,20 @@ export interface IndexScanPage {
|
|
|
16
16
|
/** Physical index key to resume after, or `null` when exhaustion is detected. */
|
|
17
17
|
cursor: Uint8Array | null;
|
|
18
18
|
}
|
|
19
|
+
export interface WorkerScanPageRequest {
|
|
20
|
+
cursorId?: number;
|
|
21
|
+
txId?: number;
|
|
22
|
+
store: string;
|
|
23
|
+
range?: Range;
|
|
24
|
+
maxRows: number;
|
|
25
|
+
maxBytes: number;
|
|
26
|
+
}
|
|
27
|
+
export interface WorkerScanPage {
|
|
28
|
+
rows: ScanItem[];
|
|
29
|
+
cursorId?: number;
|
|
30
|
+
done: boolean;
|
|
31
|
+
bytes: number;
|
|
32
|
+
}
|
|
19
33
|
/**
|
|
20
34
|
* Commands supported in one autocommit request. The worker replies after
|
|
21
35
|
* commit (readwrite) or rollback (readonly).
|
|
@@ -42,10 +56,12 @@ export interface WorkerApi {
|
|
|
42
56
|
deleteMany: (txId: number, store: string, keys: Array<Uint8Array>) => Promise<void>;
|
|
43
57
|
applyBatch: (txId: number, store: string, ops: Array<BatchOp>) => Promise<void>;
|
|
44
58
|
scan: (txId: number, store: string, range: Range) => Promise<ScanItem[]>;
|
|
59
|
+
scanPage: (request: WorkerScanPageRequest) => Promise<WorkerScanPage>;
|
|
60
|
+
closeCursor: (cursorId: number) => Promise<void>;
|
|
45
61
|
getByIndex: (txId: number, store: string, indexName: string, key: Uint8Array) => Promise<Uint8Array | null>;
|
|
46
62
|
scanByIndex: (txId: number, store: string, indexName: string, range: Range) => Promise<ScanItem[]>;
|
|
47
|
-
scanByIndexPage: (txId: number, store: string, indexName: string, range: Range, cursor: Uint8Array | null, limit: number) => Promise<IndexScanPage>;
|
|
48
|
-
getIndexes: () => Promise<IndexDef[]>;
|
|
63
|
+
scanByIndexPage: (txId: number, store: string, indexName: string, range: Range, cursor: Uint8Array | null, limit: number, maxBytes?: number) => Promise<IndexScanPage>;
|
|
64
|
+
getIndexes: (txId?: number) => Promise<IndexDef[]>;
|
|
49
65
|
reconcileIndexes: (txId: number, indexes: IndexDef[]) => Promise<void>;
|
|
50
66
|
listStores: () => Promise<string[]>;
|
|
51
67
|
getVersion: () => Promise<number>;
|
package/dist/worker-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-api.d.ts","sourceRoot":"","sources":["../src/worker-api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worker-api.d.ts","sourceRoot":"","sources":["../src/worker-api.ts"],"names":[],"mappings":"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"}
|