ducjs 3.0.3 → 3.0.5
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/dist/ducjs_wasm.d.ts +148 -0
- package/dist/ducjs_wasm.js +850 -0
- package/dist/ducjs_wasm_bg.wasm +0 -0
- package/dist/ducjs_wasm_bg.wasm.d.ts +34 -0
- package/dist/parse.js +21 -2
- package/dist/restore/restoreDataState.js +21 -10
- package/dist/serialize.js +102 -6
- package/dist/version-control.d.ts +26 -0
- package/dist/version-control.js +33 -1
- package/dist/wasm.d.ts +3 -1
- package/dist/wasm.js +4 -2
- package/package.json +1 -2
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Fetch a single external file from a `.duc` buffer by file ID.
|
|
5
|
+
*
|
|
6
|
+
* Returns the file entry as a JS object, or `undefined` if not found.
|
|
7
|
+
*/
|
|
8
|
+
export function getExternalFile(buf: Uint8Array, file_id: string): any;
|
|
9
|
+
/**
|
|
10
|
+
* Restore a specific checkpoint by its ID from a `.duc` file buffer.
|
|
11
|
+
*
|
|
12
|
+
* Returns a JS object `{ versionNumber, schemaVersion, data, fromCheckpoint }`.
|
|
13
|
+
*/
|
|
14
|
+
export function restoreCheckpoint(duc_buf: Uint8Array, checkpoint_id: string): any;
|
|
15
|
+
/**
|
|
16
|
+
* List all versions (checkpoints + deltas) from a `.duc` file buffer.
|
|
17
|
+
*
|
|
18
|
+
* Returns a JS array of `VersionEntry` objects (no heavy data blobs).
|
|
19
|
+
*/
|
|
20
|
+
export function listVersions(duc_buf: Uint8Array): any;
|
|
21
|
+
/**
|
|
22
|
+
* Read the full VersionGraph from a `.duc` file buffer.
|
|
23
|
+
*
|
|
24
|
+
* Returns a JS object matching the `VersionGraph` TypeScript interface,
|
|
25
|
+
* or `undefined` if no version graph exists.
|
|
26
|
+
*/
|
|
27
|
+
export function readVersionGraph(duc_buf: Uint8Array): any;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the current version-control schema version defined in Rust.
|
|
30
|
+
*
|
|
31
|
+
* TypeScript should use this as the source of truth instead of hardcoding
|
|
32
|
+
* its own constant. When this value is bumped in Rust, the version control
|
|
33
|
+
* system will automatically handle migration bookkeeping (closing old chains,
|
|
34
|
+
* recording migrations) the next time a checkpoint or delta is created.
|
|
35
|
+
*/
|
|
36
|
+
export function getCurrentSchemaVersion(): number;
|
|
37
|
+
/**
|
|
38
|
+
* Restore the document state at `version_number` from a `.duc` file buffer.
|
|
39
|
+
*
|
|
40
|
+
* The `.duc` file is a SQLite database — this function opens it and queries
|
|
41
|
+
* the `checkpoints` / `deltas` tables directly for version restoration.
|
|
42
|
+
*
|
|
43
|
+
* Returns a JS object `{ versionNumber, schemaVersion, data, fromCheckpoint }`.
|
|
44
|
+
*/
|
|
45
|
+
export function restoreVersion(duc_buf: Uint8Array, version_number: number): any;
|
|
46
|
+
/**
|
|
47
|
+
* Revert the document to a specific version, removing all newer versions.
|
|
48
|
+
*
|
|
49
|
+
* Returns a JS object `{ versionNumber, schemaVersion, data, fromCheckpoint }`.
|
|
50
|
+
*/
|
|
51
|
+
export function revertToVersion(duc_buf: Uint8Array, target_version: number): any;
|
|
52
|
+
/**
|
|
53
|
+
* Apply a changeset to reconstruct document state.
|
|
54
|
+
*
|
|
55
|
+
* `base_state` must be the exact checkpoint data used when the changeset
|
|
56
|
+
* was created. Returns the full document state as `Uint8Array`.
|
|
57
|
+
*
|
|
58
|
+
* Handles all changeset formats transparently:
|
|
59
|
+
* - v3 (bsdiff), v2 (XOR diff), v1 (zlib full snapshot)
|
|
60
|
+
*/
|
|
61
|
+
export function applyDeltaChangeset(base_state: Uint8Array, changeset: Uint8Array): Uint8Array;
|
|
62
|
+
/**
|
|
63
|
+
* List metadata for all external files (without loading the heavy data blobs).
|
|
64
|
+
*/
|
|
65
|
+
export function listExternalFiles(buf: Uint8Array): any;
|
|
66
|
+
/**
|
|
67
|
+
* Serialize a JS object (ExportedDataState) into `.duc` bytes (Uint8Array).
|
|
68
|
+
*/
|
|
69
|
+
export function serializeDuc(data: any): Uint8Array;
|
|
70
|
+
/**
|
|
71
|
+
* Compute a checkpoint-relative binary diff changeset using bsdiff.
|
|
72
|
+
*
|
|
73
|
+
* `base_state` is the checkpoint's full data blob.
|
|
74
|
+
* `current_state` is the full document state at the new version.
|
|
75
|
+
*
|
|
76
|
+
* Returns an encoded changeset (`Uint8Array`) ready for storage in a
|
|
77
|
+
* `Delta.payload`. bsdiff finds matching blocks even when they shift
|
|
78
|
+
* offsets, which is critical for SQLite databases.
|
|
79
|
+
*/
|
|
80
|
+
export function createDeltaChangeset(base_state: Uint8Array, current_state: Uint8Array): Uint8Array;
|
|
81
|
+
/**
|
|
82
|
+
* Parse a `.duc` file (Uint8Array) into a JS object (ExportedDataState).
|
|
83
|
+
*/
|
|
84
|
+
export function parseDuc(buf: Uint8Array): any;
|
|
85
|
+
/**
|
|
86
|
+
* Parse a `.duc` file lazily — returns everything EXCEPT external file data blobs.
|
|
87
|
+
*
|
|
88
|
+
* Use `getExternalFile()` or `listExternalFiles()` for on-demand access.
|
|
89
|
+
*/
|
|
90
|
+
export function parseDucLazy(buf: Uint8Array): any;
|
|
91
|
+
|
|
92
|
+
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
93
|
+
|
|
94
|
+
export interface InitOutput {
|
|
95
|
+
readonly memory: WebAssembly.Memory;
|
|
96
|
+
readonly applyDeltaChangeset: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
97
|
+
readonly createDeltaChangeset: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
98
|
+
readonly getCurrentSchemaVersion: () => number;
|
|
99
|
+
readonly getExternalFile: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
100
|
+
readonly listExternalFiles: (a: number, b: number) => [number, number, number];
|
|
101
|
+
readonly listVersions: (a: number, b: number) => [number, number, number];
|
|
102
|
+
readonly parseDuc: (a: number, b: number) => [number, number, number];
|
|
103
|
+
readonly parseDucLazy: (a: number, b: number) => [number, number, number];
|
|
104
|
+
readonly readVersionGraph: (a: number, b: number) => [number, number, number];
|
|
105
|
+
readonly restoreCheckpoint: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
106
|
+
readonly restoreVersion: (a: number, b: number, c: number) => [number, number, number];
|
|
107
|
+
readonly revertToVersion: (a: number, b: number, c: number) => [number, number, number];
|
|
108
|
+
readonly serializeDuc: (a: any) => [number, number, number, number];
|
|
109
|
+
readonly rust_sqlite_wasm_abort: () => void;
|
|
110
|
+
readonly rust_sqlite_wasm_assert_fail: (a: number, b: number, c: number, d: number) => void;
|
|
111
|
+
readonly rust_sqlite_wasm_calloc: (a: number, b: number) => number;
|
|
112
|
+
readonly rust_sqlite_wasm_malloc: (a: number) => number;
|
|
113
|
+
readonly rust_sqlite_wasm_free: (a: number) => void;
|
|
114
|
+
readonly rust_sqlite_wasm_getentropy: (a: number, b: number) => number;
|
|
115
|
+
readonly rust_sqlite_wasm_localtime: (a: number) => number;
|
|
116
|
+
readonly rust_sqlite_wasm_realloc: (a: number, b: number) => number;
|
|
117
|
+
readonly sqlite3_os_end: () => number;
|
|
118
|
+
readonly sqlite3_os_init: () => number;
|
|
119
|
+
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
120
|
+
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
121
|
+
readonly __wbindgen_exn_store: (a: number) => void;
|
|
122
|
+
readonly __externref_table_alloc: () => number;
|
|
123
|
+
readonly __wbindgen_export_4: WebAssembly.Table;
|
|
124
|
+
readonly __externref_table_dealloc: (a: number) => void;
|
|
125
|
+
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
126
|
+
readonly __wbindgen_start: () => void;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
|
130
|
+
/**
|
|
131
|
+
* Instantiates the given `module`, which can either be bytes or
|
|
132
|
+
* a precompiled `WebAssembly.Module`.
|
|
133
|
+
*
|
|
134
|
+
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
|
|
135
|
+
*
|
|
136
|
+
* @returns {InitOutput}
|
|
137
|
+
*/
|
|
138
|
+
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
|
142
|
+
* for everything else, calls `WebAssembly.instantiate` directly.
|
|
143
|
+
*
|
|
144
|
+
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
|
|
145
|
+
*
|
|
146
|
+
* @returns {Promise<InitOutput>}
|
|
147
|
+
*/
|
|
148
|
+
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
|