@sheetwrite/wasm 0.2.0 → 0.3.1
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/package.json +1 -1
- package/pkg/sheetwrite_wasm.d.ts +153 -12
- package/pkg/sheetwrite_wasm.js +474 -14
- package/pkg/sheetwrite_wasm_bg.wasm +0 -0
- package/pkg/sheetwrite_wasm_bg.wasm.d.ts +39 -2
package/package.json
CHANGED
package/pkg/sheetwrite_wasm.d.ts
CHANGED
|
@@ -20,10 +20,11 @@ export class CellOut {
|
|
|
20
20
|
export class CellStore {
|
|
21
21
|
free(): void;
|
|
22
22
|
[Symbol.dispose](): void;
|
|
23
|
+
acknowledgeRevision(revision: bigint): void;
|
|
23
24
|
/**
|
|
24
25
|
* Allocate a logical sheet whose cell chunks materialize on page load or edit.
|
|
25
26
|
*/
|
|
26
|
-
addPagedSheet(n_cols: number, row_count: number, chunk_rows: number, byte_budget: number): number;
|
|
27
|
+
addPagedSheet(n_cols: number, row_count: number, chunk_rows: number, byte_budget: number, max_dirty_cells: number): number;
|
|
27
28
|
addRows(sheet: number, at: number, count: number): void;
|
|
28
29
|
/**
|
|
29
30
|
* Allocate a sheet grid and return its numeric handle.
|
|
@@ -33,11 +34,29 @@ export class CellStore {
|
|
|
33
34
|
* Column aggregate over numeric cells. op: 0 sum, 1 avg, 2 min, 3 max, 4 count.
|
|
34
35
|
*/
|
|
35
36
|
aggregate(sheet: number, col: number, op: number): number;
|
|
37
|
+
beginMutation(): bigint;
|
|
36
38
|
beginPageLoad(): void;
|
|
39
|
+
canDirtyCell(sheet: number, row: number, col: number): boolean;
|
|
37
40
|
/**
|
|
38
41
|
* Capture a dense rectangle into an opaque store-local history resource.
|
|
39
42
|
*/
|
|
40
43
|
captureRange(sheet: number, r0: number, c0: number, rows: number, cols: number): RangeSnapshot | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Capture only persisted references for one sheet. The explicit entry cap
|
|
46
|
+
* bounds allocation for host-side structural admission simulation.
|
|
47
|
+
*/
|
|
48
|
+
captureReferences(sheet: number, max_entries: number): SourceSnapshot | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Capture only persisted formula/reference sources in a rectangle. The
|
|
51
|
+
* returned opaque object is compact in source cardinality, not cell count.
|
|
52
|
+
*/
|
|
53
|
+
captureSources(sheet: number, r0: number, c0: number, rows: number, cols: number): SourceSnapshot | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Capture persisted formula/reference sources and derived-spill identity
|
|
56
|
+
* for arbitrary row/column coordinates in one boundary crossing. Offsets
|
|
57
|
+
* follow the caller's row-major coordinate order.
|
|
58
|
+
*/
|
|
59
|
+
captureSourcesForRows(sheet: number, rows: Uint32Array, cols: Uint32Array): SourceSnapshot | undefined;
|
|
41
60
|
/**
|
|
42
61
|
* 0 unloaded, 1 loaded-empty, 2 loaded-value, 3 dirty local edit.
|
|
43
62
|
*/
|
|
@@ -48,6 +67,11 @@ export class CellStore {
|
|
|
48
67
|
*/
|
|
49
68
|
clearRange(sheet: number, r0: number, c0: number, r1: number, c1: number, contents: boolean, style: boolean): boolean;
|
|
50
69
|
colCount(sheet: number): number;
|
|
70
|
+
columnsFullyLoaded(sheet: number, start_row: number, end_row: number, cols: Uint32Array): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Release geometric growth slack after a bounded bulk ingest.
|
|
73
|
+
*/
|
|
74
|
+
compactStringStorage(): void;
|
|
51
75
|
/**
|
|
52
76
|
* Ctrl+Arrow destination: from `(row, col)` stepping by `(d_row, d_col)`
|
|
53
77
|
* (exactly one of them ±1), return the destination row (vertical moves) or
|
|
@@ -60,13 +84,19 @@ export class CellStore {
|
|
|
60
84
|
*/
|
|
61
85
|
dataEdge(sheet: number, row: number, col: number, d_row: number, d_col: number): number;
|
|
62
86
|
dataEdgeOrdered(sheet: number, order: Uint32Array, row: number, col: number, d_row: number, d_col: number): number;
|
|
87
|
+
dirtyRevision(sheet: number, row: number, col: number): bigint;
|
|
63
88
|
distinctValues(sheet: number, col: number, limit: number): DistinctColumn;
|
|
89
|
+
endMutation(): void;
|
|
64
90
|
endPageLoad(): void;
|
|
65
91
|
/**
|
|
66
92
|
* Data-row indices whose column text contains `needle` (case-insensitive).
|
|
67
93
|
*/
|
|
68
94
|
filterRows(sheet: number, col: number, needle: string): Uint32Array;
|
|
69
95
|
filterRowsMulti(sheet: number, cols: Uint32Array, kinds: Uint8Array, flags: Uint8Array, nums: Float64Array, num_counts: Uint32Array, text_counts: Uint32Array, value_nums: Float64Array, value_texts: string[]): Uint32Array;
|
|
96
|
+
/**
|
|
97
|
+
* Benchmark diagnostic: `[current matrix bytes, peak matrix bytes, allocations]`.
|
|
98
|
+
*/
|
|
99
|
+
formulaMatrixResourceStats(): Float64Array;
|
|
70
100
|
formulaSource(sheet: number, row: number, col: number): string | undefined;
|
|
71
101
|
/**
|
|
72
102
|
* Single-cell read for interactions/tests — never the render hot path.
|
|
@@ -98,12 +128,23 @@ export class CellStore {
|
|
|
98
128
|
isFullyLoaded(sheet: number): boolean;
|
|
99
129
|
isPaged(sheet: number): boolean;
|
|
100
130
|
isSheetAlive(sheet: number): boolean;
|
|
131
|
+
markCellCleanRevision(sheet: number, row: number, col: number, revision: bigint): boolean;
|
|
101
132
|
markRangeClean(sheet: number, start_row: number, end_row: number, start_col: number, end_col: number): void;
|
|
133
|
+
memoryStats(): Float64Array;
|
|
102
134
|
constructor();
|
|
135
|
+
pagedDirtyCoordinates(sheet: number): Float64Array;
|
|
103
136
|
/**
|
|
104
|
-
* `[chunks, loaded cells, dirty cells,
|
|
137
|
+
* `[chunks, loaded cells, dirty cells, clean chunk bytes, fully loaded, dirty bytes]`.
|
|
105
138
|
*/
|
|
106
139
|
pagedStats(sheet: number): Float64Array;
|
|
140
|
+
/**
|
|
141
|
+
* Sparse persisted-cell records. Each record starts with
|
|
142
|
+
* `[row, col, kind, number, style, string_id, source_kind, source_length]`.
|
|
143
|
+
* Formula UTF-8 is packed into little-endian u32 words; references append
|
|
144
|
+
* one `[sheet, row, col]` triple. The allocation scales with serialized
|
|
145
|
+
* cells and source bytes, never the logical sheet rectangle.
|
|
146
|
+
*/
|
|
147
|
+
persistedCellData(sheet: number): Float64Array;
|
|
107
148
|
pinRange(sheet: number, start_row: number, end_row: number, cols: Uint32Array): void;
|
|
108
149
|
poolStrings(ids: Uint32Array): string[];
|
|
109
150
|
/**
|
|
@@ -124,11 +165,22 @@ export class CellStore {
|
|
|
124
165
|
* when many downstream formulas reference it.
|
|
125
166
|
*/
|
|
126
167
|
recompute(sheet: number): void;
|
|
168
|
+
/**
|
|
169
|
+
* Recompute the union of every dirty sheet once at the host transaction
|
|
170
|
+
* barrier, including cross-sheet formula and plain-reference dependents.
|
|
171
|
+
*/
|
|
172
|
+
recomputeChanged(): void;
|
|
127
173
|
/**
|
|
128
174
|
* Explicit volatile barrier. `serial` is a UTC spreadsheet serial using
|
|
129
175
|
* the 1899-12-30 epoch; only TODAY/NOW formulas and their dependents dirty.
|
|
130
176
|
*/
|
|
131
177
|
recomputeVolatile(serial: number): boolean;
|
|
178
|
+
referenceTarget(sheet: number, row: number, col: number): Uint32Array | undefined;
|
|
179
|
+
/**
|
|
180
|
+
* Return packed `[source_sheet, source_row, source_col, ...]` references
|
|
181
|
+
* targeting one sheet, bounded before crossing into the host.
|
|
182
|
+
*/
|
|
183
|
+
referencesTargeting(target_sheet: number, max_entries: number): Uint32Array | undefined;
|
|
132
184
|
/**
|
|
133
185
|
* Remap styles over a rectangle using parallel old/new id tables.
|
|
134
186
|
*/
|
|
@@ -140,10 +192,12 @@ export class CellStore {
|
|
|
140
192
|
* Tombstone a stable sheet handle and invalidate every formula reference to it.
|
|
141
193
|
*/
|
|
142
194
|
removeSheet(sheet: number): boolean;
|
|
195
|
+
removeTable(id: string): boolean;
|
|
143
196
|
/**
|
|
144
197
|
* Rename a live stable sheet handle and rewrite every resolved formula AST reference.
|
|
145
198
|
*/
|
|
146
199
|
renameSheet(sheet: number, id: string, name: string): boolean;
|
|
200
|
+
resetFormulaMatrixResourceStats(): void;
|
|
147
201
|
resetQueryResourceStats(): void;
|
|
148
202
|
/**
|
|
149
203
|
* Restore a captured block at a destination of the same dimensions.
|
|
@@ -157,11 +211,13 @@ export class CellStore {
|
|
|
157
211
|
*/
|
|
158
212
|
search(sheet: number, cols: Uint32Array, query: string, case_insensitive: boolean, whole_cell: boolean): Uint32Array;
|
|
159
213
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
214
|
+
* Atomically write one row-major mixed literal/formula/reference block.
|
|
215
|
+
* Formula/reference offsets are sparse row-major exceptions. Reference
|
|
216
|
+
* targets are packed `[sheet_handle, row, col]` triples. The compact
|
|
217
|
+
* status is `0` success, `1` invalid shape/bounds, `2` invalid or duplicate
|
|
218
|
+
* source metadata, and `3` paged dirty-capacity rejection.
|
|
163
219
|
*/
|
|
164
|
-
setBlock(sheet: number, start_row: number, start_col: number, rows: number, cols: number, kinds: Uint8Array, numbers: Float64Array, texts: string[], styles: Uint32Array):
|
|
220
|
+
setBlock(sheet: number, start_row: number, start_col: number, rows: number, cols: number, kinds: Uint8Array, numbers: Float64Array, texts: string[], styles: Uint32Array, formula_offsets: Uint32Array, formula_sources: string[], reference_offsets: Uint32Array, reference_targets: Uint32Array): number;
|
|
165
221
|
setBool(sheet: number, row: number, col: number, value: boolean, style: number): void;
|
|
166
222
|
/**
|
|
167
223
|
* Bulk-load one column with numbers starting at `start_row`.
|
|
@@ -181,10 +237,10 @@ export class CellStore {
|
|
|
181
237
|
/**
|
|
182
238
|
* Replace a sheet's conditional-format rules. Packed columnar encoding,
|
|
183
239
|
* one entry per rule: `kinds` 0 gt / 1 lt / 2 eqNum / 3 eqStr / 4 eqEmpty /
|
|
184
|
-
* 5 contains; `bounds` = normalized `[r0, c0, r1, c1]`
|
|
185
|
-
* carries the numeric operand; `strs` the text
|
|
186
|
-
* match-case for `contains
|
|
187
|
-
* once
|
|
240
|
+
* 5 contains / 6 boolean formula; `bounds` = normalized `[r0, c0, r1, c1]`
|
|
241
|
+
* per rule; `nums` carries the numeric operand; `strs` the text/formula
|
|
242
|
+
* operand; `flags` bit 0 = match-case for `contains`, bit 1 = stop-if-true.
|
|
243
|
+
* Formula strings are parsed once here, never once per visible cell.
|
|
188
244
|
*/
|
|
189
245
|
setConditionalRules(sheet: number, kinds: Uint8Array, bounds: Uint32Array, nums: Float64Array, strs: string[], flags: Uint8Array): void;
|
|
190
246
|
/**
|
|
@@ -200,7 +256,20 @@ export class CellStore {
|
|
|
200
256
|
setNamedRange(name: string, scope: number, sheet: number, row_start: number, col_start: number, row_end: number, col_end: number): boolean;
|
|
201
257
|
setNumber(sheet: number, row: number, col: number, value: number, style: number): void;
|
|
202
258
|
setSheetName(sheet: number, id: string, name: string): void;
|
|
259
|
+
/**
|
|
260
|
+
* Write one sparse mixed transaction/page/snapshot block without
|
|
261
|
+
* allocating by logical rectangle size. Inside `beginPageLoad`, dirty
|
|
262
|
+
* paged cells are skipped; otherwise the whole sparse write is preflighted.
|
|
263
|
+
*/
|
|
264
|
+
setSparseBlock(sheet: number, start_row: number, start_col: number, rows: number, cols: number, offsets: Uint32Array, kinds: Uint8Array, numbers: Float64Array, texts: string[], styles: Uint32Array, formula_offsets: Uint32Array, formula_sources: string[], reference_offsets: Uint32Array, reference_targets: Uint32Array): number;
|
|
265
|
+
/**
|
|
266
|
+
* Replace the host-owned merge/protection collision ranges. Packed as
|
|
267
|
+
* `[row_start, col_start, row_end, col_end, ...]`; invalid input fails
|
|
268
|
+
* without weakening the old gate.
|
|
269
|
+
*/
|
|
270
|
+
setSpillBlockers(sheet: number, bounds: Uint32Array): boolean;
|
|
203
271
|
setString(sheet: number, row: number, col: number, value: string, style: number): void;
|
|
272
|
+
setTable(id: string, name: string, sheet: number, row_start: number, col_start: number, row_end: number, col_end: number, header_row: boolean, totals_row: boolean, column_ids: string[], column_names: string[]): boolean;
|
|
204
273
|
snapshotNumbers(snapshot: RangeSnapshot): Float64Array;
|
|
205
274
|
snapshotTexts(snapshot: RangeSnapshot): string[];
|
|
206
275
|
/**
|
|
@@ -208,12 +277,28 @@ export class CellStore {
|
|
|
208
277
|
*/
|
|
209
278
|
sortRows(sheet: number, col: number, ascending: boolean): Uint32Array;
|
|
210
279
|
sortRowsMulti(sheet: number, cols: Uint32Array, ascending: Uint8Array, candidates: Uint32Array): Uint32Array;
|
|
280
|
+
spillAnchorCol(sheet: number, row: number, col: number): number;
|
|
281
|
+
/**
|
|
282
|
+
* Stable spill owner coordinate, or `u32::MAX` when `cell` is not part of
|
|
283
|
+
* a materialized spill.
|
|
284
|
+
*/
|
|
285
|
+
spillAnchorRow(sheet: number, row: number, col: number): number;
|
|
286
|
+
/**
|
|
287
|
+
* Row-major mask aligned with render-window layout; `1` marks a derived
|
|
288
|
+
* spill cell and deliberately excludes the anchor.
|
|
289
|
+
*/
|
|
290
|
+
spillDerivedMask(sheet: number, row_start: number, row_end: number, cols: Uint32Array): Uint8Array;
|
|
291
|
+
/**
|
|
292
|
+
* Packed row-major `[anchor_row, anchor_col, ...]` owner coordinates.
|
|
293
|
+
*/
|
|
294
|
+
spillOwnerCoordinates(sheet: number, row_start: number, row_end: number, cols: Uint32Array): Uint32Array;
|
|
211
295
|
/**
|
|
212
296
|
* Current style-dictionary id at a cell; `0` when out of bounds. Used by
|
|
213
297
|
* the host to write derived (reference-shadow) values without disturbing
|
|
214
298
|
* the cell's style.
|
|
215
299
|
*/
|
|
216
300
|
styleIdAt(sheet: number, row: number, col: number): number;
|
|
301
|
+
wasmCommittedBytes(): number;
|
|
217
302
|
}
|
|
218
303
|
|
|
219
304
|
/**
|
|
@@ -254,9 +339,28 @@ export class RangeSnapshot {
|
|
|
254
339
|
formulaOffsets(): Uint32Array;
|
|
255
340
|
formulaSources(): string[];
|
|
256
341
|
kinds(): Uint8Array;
|
|
342
|
+
referenceOffsets(): Uint32Array;
|
|
343
|
+
referenceTargets(): Uint32Array;
|
|
257
344
|
styleIds(): Uint32Array;
|
|
258
345
|
}
|
|
259
346
|
|
|
347
|
+
/**
|
|
348
|
+
* Compact serializable projection of persisted derived-cell sources and spill
|
|
349
|
+
* identity in one range. Offsets are row-major and sorted; reference targets
|
|
350
|
+
* are packed `[sheet_handle, row, col]` triples.
|
|
351
|
+
*/
|
|
352
|
+
export class SourceSnapshot {
|
|
353
|
+
private constructor();
|
|
354
|
+
free(): void;
|
|
355
|
+
[Symbol.dispose](): void;
|
|
356
|
+
byteLength(): number;
|
|
357
|
+
formulaOffsets(): Uint32Array;
|
|
358
|
+
formulaSources(): string[];
|
|
359
|
+
referenceOffsets(): Uint32Array;
|
|
360
|
+
referenceTargets(): Uint32Array;
|
|
361
|
+
spillDerived(): Uint8Array;
|
|
362
|
+
}
|
|
363
|
+
|
|
260
364
|
/**
|
|
261
365
|
* A bulk window of resolved cells, row-major over `n_rows x n_cols`.
|
|
262
366
|
*/
|
|
@@ -310,27 +414,39 @@ export interface InitOutput {
|
|
|
310
414
|
readonly __wbg_cellstore_free: (a: number, b: number) => void;
|
|
311
415
|
readonly __wbg_distinctcolumn_free: (a: number, b: number) => void;
|
|
312
416
|
readonly __wbg_rangesnapshot_free: (a: number, b: number) => void;
|
|
417
|
+
readonly __wbg_sourcesnapshot_free: (a: number, b: number) => void;
|
|
313
418
|
readonly __wbg_windowview_free: (a: number, b: number) => void;
|
|
314
419
|
readonly cellout_kind: (a: number) => number;
|
|
315
420
|
readonly cellout_num: (a: number) => number;
|
|
316
421
|
readonly cellout_string: (a: number) => [number, number];
|
|
317
422
|
readonly cellout_style: (a: number) => number;
|
|
318
|
-
readonly
|
|
423
|
+
readonly cellstore_acknowledgeRevision: (a: number, b: bigint) => void;
|
|
424
|
+
readonly cellstore_addPagedSheet: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
319
425
|
readonly cellstore_addRows: (a: number, b: number, c: number, d: number) => void;
|
|
320
426
|
readonly cellstore_addSheet: (a: number, b: number, c: number) => number;
|
|
321
427
|
readonly cellstore_aggregate: (a: number, b: number, c: number, d: number) => number;
|
|
428
|
+
readonly cellstore_beginMutation: (a: number) => bigint;
|
|
322
429
|
readonly cellstore_beginPageLoad: (a: number) => void;
|
|
430
|
+
readonly cellstore_canDirtyCell: (a: number, b: number, c: number, d: number) => number;
|
|
323
431
|
readonly cellstore_captureRange: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
432
|
+
readonly cellstore_captureReferences: (a: number, b: number, c: number) => number;
|
|
433
|
+
readonly cellstore_captureSources: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
434
|
+
readonly cellstore_captureSourcesForRows: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
324
435
|
readonly cellstore_cellState: (a: number, b: number, c: number, d: number) => number;
|
|
325
436
|
readonly cellstore_clearCell: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
326
437
|
readonly cellstore_clearRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
|
|
327
438
|
readonly cellstore_colCount: (a: number, b: number) => number;
|
|
439
|
+
readonly cellstore_columnsFullyLoaded: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
440
|
+
readonly cellstore_compactStringStorage: (a: number) => void;
|
|
328
441
|
readonly cellstore_dataEdge: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
329
442
|
readonly cellstore_dataEdgeOrdered: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
|
|
443
|
+
readonly cellstore_dirtyRevision: (a: number, b: number, c: number, d: number) => bigint;
|
|
330
444
|
readonly cellstore_distinctValues: (a: number, b: number, c: number, d: number) => number;
|
|
445
|
+
readonly cellstore_endMutation: (a: number) => void;
|
|
331
446
|
readonly cellstore_endPageLoad: (a: number) => void;
|
|
332
447
|
readonly cellstore_filterRows: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
333
448
|
readonly cellstore_filterRowsMulti: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number) => [number, number];
|
|
449
|
+
readonly cellstore_formulaMatrixResourceStats: (a: number) => [number, number];
|
|
334
450
|
readonly cellstore_formulaSource: (a: number, b: number, c: number, d: number) => [number, number];
|
|
335
451
|
readonly cellstore_getCell: (a: number, b: number, c: number, d: number) => number;
|
|
336
452
|
readonly cellstore_getWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
@@ -341,27 +457,36 @@ export interface InitOutput {
|
|
|
341
457
|
readonly cellstore_isFullyLoaded: (a: number, b: number) => number;
|
|
342
458
|
readonly cellstore_isPaged: (a: number, b: number) => number;
|
|
343
459
|
readonly cellstore_isSheetAlive: (a: number, b: number) => number;
|
|
460
|
+
readonly cellstore_markCellCleanRevision: (a: number, b: number, c: number, d: number, e: bigint) => number;
|
|
344
461
|
readonly cellstore_markRangeClean: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
462
|
+
readonly cellstore_memoryStats: (a: number) => [number, number];
|
|
345
463
|
readonly cellstore_new: () => number;
|
|
464
|
+
readonly cellstore_pagedDirtyCoordinates: (a: number, b: number) => [number, number];
|
|
346
465
|
readonly cellstore_pagedStats: (a: number, b: number) => [number, number];
|
|
466
|
+
readonly cellstore_persistedCellData: (a: number, b: number) => [number, number];
|
|
347
467
|
readonly cellstore_pinRange: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
348
468
|
readonly cellstore_poolStrings: (a: number, b: number, c: number) => [number, number];
|
|
349
469
|
readonly cellstore_queryResourceStats: (a: number) => [number, number];
|
|
350
470
|
readonly cellstore_rangeFullyLoaded: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
351
471
|
readonly cellstore_rangeStyleIds: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
352
472
|
readonly cellstore_recompute: (a: number, b: number) => void;
|
|
473
|
+
readonly cellstore_recomputeChanged: (a: number) => void;
|
|
353
474
|
readonly cellstore_recomputeVolatile: (a: number, b: number) => number;
|
|
475
|
+
readonly cellstore_referenceTarget: (a: number, b: number, c: number, d: number) => [number, number];
|
|
476
|
+
readonly cellstore_referencesTargeting: (a: number, b: number, c: number) => [number, number];
|
|
354
477
|
readonly cellstore_remapRangeStyles: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
|
|
355
478
|
readonly cellstore_removeCols: (a: number, b: number, c: number, d: number) => void;
|
|
356
479
|
readonly cellstore_removeNamedRange: (a: number, b: number, c: number, d: number) => number;
|
|
357
480
|
readonly cellstore_removeRows: (a: number, b: number, c: number, d: number) => void;
|
|
358
481
|
readonly cellstore_removeSheet: (a: number, b: number) => number;
|
|
482
|
+
readonly cellstore_removeTable: (a: number, b: number, c: number) => number;
|
|
359
483
|
readonly cellstore_renameSheet: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
484
|
+
readonly cellstore_resetFormulaMatrixResourceStats: (a: number) => void;
|
|
360
485
|
readonly cellstore_resetQueryResourceStats: (a: number) => void;
|
|
361
486
|
readonly cellstore_restoreRange: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
362
487
|
readonly cellstore_rowCount: (a: number, b: number) => number;
|
|
363
488
|
readonly cellstore_search: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
364
|
-
readonly cellstore_setBlock: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => number;
|
|
489
|
+
readonly cellstore_setBlock: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number) => number;
|
|
365
490
|
readonly cellstore_setBool: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
366
491
|
readonly cellstore_setColumnNumbers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
367
492
|
readonly cellstore_setColumnStrings: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
@@ -371,12 +496,20 @@ export interface InitOutput {
|
|
|
371
496
|
readonly cellstore_setNamedRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
372
497
|
readonly cellstore_setNumber: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
373
498
|
readonly cellstore_setSheetName: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
499
|
+
readonly cellstore_setSparseBlock: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number) => number;
|
|
500
|
+
readonly cellstore_setSpillBlockers: (a: number, b: number, c: number, d: number) => number;
|
|
374
501
|
readonly cellstore_setString: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
502
|
+
readonly cellstore_setTable: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => number;
|
|
375
503
|
readonly cellstore_snapshotNumbers: (a: number, b: number) => [number, number];
|
|
376
504
|
readonly cellstore_snapshotTexts: (a: number, b: number) => [number, number];
|
|
377
505
|
readonly cellstore_sortRows: (a: number, b: number, c: number, d: number) => [number, number];
|
|
378
506
|
readonly cellstore_sortRowsMulti: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
507
|
+
readonly cellstore_spillAnchorCol: (a: number, b: number, c: number, d: number) => number;
|
|
508
|
+
readonly cellstore_spillAnchorRow: (a: number, b: number, c: number, d: number) => number;
|
|
509
|
+
readonly cellstore_spillDerivedMask: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
510
|
+
readonly cellstore_spillOwnerCoordinates: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
379
511
|
readonly cellstore_styleIdAt: (a: number, b: number, c: number, d: number) => number;
|
|
512
|
+
readonly cellstore_wasmCommittedBytes: (a: number) => number;
|
|
380
513
|
readonly distinctcolumn_takeKinds: (a: number) => [number, number];
|
|
381
514
|
readonly distinctcolumn_takeNumbers: (a: number) => [number, number];
|
|
382
515
|
readonly distinctcolumn_takeTexts: (a: number) => [number, number];
|
|
@@ -384,7 +517,15 @@ export interface InitOutput {
|
|
|
384
517
|
readonly rangesnapshot_formulaOffsets: (a: number) => [number, number];
|
|
385
518
|
readonly rangesnapshot_formulaSources: (a: number) => [number, number];
|
|
386
519
|
readonly rangesnapshot_kinds: (a: number) => [number, number];
|
|
520
|
+
readonly rangesnapshot_referenceOffsets: (a: number) => [number, number];
|
|
521
|
+
readonly rangesnapshot_referenceTargets: (a: number) => [number, number];
|
|
387
522
|
readonly rangesnapshot_styleIds: (a: number) => [number, number];
|
|
523
|
+
readonly sourcesnapshot_byteLength: (a: number) => number;
|
|
524
|
+
readonly sourcesnapshot_formulaOffsets: (a: number) => [number, number];
|
|
525
|
+
readonly sourcesnapshot_formulaSources: (a: number) => [number, number];
|
|
526
|
+
readonly sourcesnapshot_referenceOffsets: (a: number) => [number, number];
|
|
527
|
+
readonly sourcesnapshot_referenceTargets: (a: number) => [number, number];
|
|
528
|
+
readonly sourcesnapshot_spillDerived: (a: number) => [number, number];
|
|
388
529
|
readonly windowview_nCols: (a: number) => number;
|
|
389
530
|
readonly windowview_nRows: (a: number) => number;
|
|
390
531
|
readonly windowview_takeCondMatches: (a: number) => [number, number];
|
package/pkg/sheetwrite_wasm.js
CHANGED
|
@@ -70,16 +70,23 @@ export class CellStore {
|
|
|
70
70
|
const ptr = this.__destroy_into_raw();
|
|
71
71
|
wasm.__wbg_cellstore_free(ptr, 0);
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* @param {bigint} revision
|
|
75
|
+
*/
|
|
76
|
+
acknowledgeRevision(revision) {
|
|
77
|
+
wasm.cellstore_acknowledgeRevision(this.__wbg_ptr, revision);
|
|
78
|
+
}
|
|
73
79
|
/**
|
|
74
80
|
* Allocate a logical sheet whose cell chunks materialize on page load or edit.
|
|
75
81
|
* @param {number} n_cols
|
|
76
82
|
* @param {number} row_count
|
|
77
83
|
* @param {number} chunk_rows
|
|
78
84
|
* @param {number} byte_budget
|
|
85
|
+
* @param {number} max_dirty_cells
|
|
79
86
|
* @returns {number}
|
|
80
87
|
*/
|
|
81
|
-
addPagedSheet(n_cols, row_count, chunk_rows, byte_budget) {
|
|
82
|
-
const ret = wasm.cellstore_addPagedSheet(this.__wbg_ptr, n_cols, row_count, chunk_rows, byte_budget);
|
|
88
|
+
addPagedSheet(n_cols, row_count, chunk_rows, byte_budget, max_dirty_cells) {
|
|
89
|
+
const ret = wasm.cellstore_addPagedSheet(this.__wbg_ptr, n_cols, row_count, chunk_rows, byte_budget, max_dirty_cells);
|
|
83
90
|
return ret >>> 0;
|
|
84
91
|
}
|
|
85
92
|
/**
|
|
@@ -111,9 +118,26 @@ export class CellStore {
|
|
|
111
118
|
const ret = wasm.cellstore_aggregate(this.__wbg_ptr, sheet, col, op);
|
|
112
119
|
return ret;
|
|
113
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* @returns {bigint}
|
|
123
|
+
*/
|
|
124
|
+
beginMutation() {
|
|
125
|
+
const ret = wasm.cellstore_beginMutation(this.__wbg_ptr);
|
|
126
|
+
return BigInt.asUintN(64, ret);
|
|
127
|
+
}
|
|
114
128
|
beginPageLoad() {
|
|
115
129
|
wasm.cellstore_beginPageLoad(this.__wbg_ptr);
|
|
116
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* @param {number} sheet
|
|
133
|
+
* @param {number} row
|
|
134
|
+
* @param {number} col
|
|
135
|
+
* @returns {boolean}
|
|
136
|
+
*/
|
|
137
|
+
canDirtyCell(sheet, row, col) {
|
|
138
|
+
const ret = wasm.cellstore_canDirtyCell(this.__wbg_ptr, sheet, row, col);
|
|
139
|
+
return ret !== 0;
|
|
140
|
+
}
|
|
117
141
|
/**
|
|
118
142
|
* Capture a dense rectangle into an opaque store-local history resource.
|
|
119
143
|
* @param {number} sheet
|
|
@@ -127,6 +151,48 @@ export class CellStore {
|
|
|
127
151
|
const ret = wasm.cellstore_captureRange(this.__wbg_ptr, sheet, r0, c0, rows, cols);
|
|
128
152
|
return ret === 0 ? undefined : RangeSnapshot.__wrap(ret);
|
|
129
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Capture only persisted references for one sheet. The explicit entry cap
|
|
156
|
+
* bounds allocation for host-side structural admission simulation.
|
|
157
|
+
* @param {number} sheet
|
|
158
|
+
* @param {number} max_entries
|
|
159
|
+
* @returns {SourceSnapshot | undefined}
|
|
160
|
+
*/
|
|
161
|
+
captureReferences(sheet, max_entries) {
|
|
162
|
+
const ret = wasm.cellstore_captureReferences(this.__wbg_ptr, sheet, max_entries);
|
|
163
|
+
return ret === 0 ? undefined : SourceSnapshot.__wrap(ret);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Capture only persisted formula/reference sources in a rectangle. The
|
|
167
|
+
* returned opaque object is compact in source cardinality, not cell count.
|
|
168
|
+
* @param {number} sheet
|
|
169
|
+
* @param {number} r0
|
|
170
|
+
* @param {number} c0
|
|
171
|
+
* @param {number} rows
|
|
172
|
+
* @param {number} cols
|
|
173
|
+
* @returns {SourceSnapshot | undefined}
|
|
174
|
+
*/
|
|
175
|
+
captureSources(sheet, r0, c0, rows, cols) {
|
|
176
|
+
const ret = wasm.cellstore_captureSources(this.__wbg_ptr, sheet, r0, c0, rows, cols);
|
|
177
|
+
return ret === 0 ? undefined : SourceSnapshot.__wrap(ret);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Capture persisted formula/reference sources and derived-spill identity
|
|
181
|
+
* for arbitrary row/column coordinates in one boundary crossing. Offsets
|
|
182
|
+
* follow the caller's row-major coordinate order.
|
|
183
|
+
* @param {number} sheet
|
|
184
|
+
* @param {Uint32Array} rows
|
|
185
|
+
* @param {Uint32Array} cols
|
|
186
|
+
* @returns {SourceSnapshot | undefined}
|
|
187
|
+
*/
|
|
188
|
+
captureSourcesForRows(sheet, rows, cols) {
|
|
189
|
+
const ptr0 = passArray32ToWasm0(rows, wasm.__wbindgen_malloc);
|
|
190
|
+
const len0 = WASM_VECTOR_LEN;
|
|
191
|
+
const ptr1 = passArray32ToWasm0(cols, wasm.__wbindgen_malloc);
|
|
192
|
+
const len1 = WASM_VECTOR_LEN;
|
|
193
|
+
const ret = wasm.cellstore_captureSourcesForRows(this.__wbg_ptr, sheet, ptr0, len0, ptr1, len1);
|
|
194
|
+
return ret === 0 ? undefined : SourceSnapshot.__wrap(ret);
|
|
195
|
+
}
|
|
130
196
|
/**
|
|
131
197
|
* 0 unloaded, 1 loaded-empty, 2 loaded-value, 3 dirty local edit.
|
|
132
198
|
* @param {number} sheet
|
|
@@ -170,6 +236,25 @@ export class CellStore {
|
|
|
170
236
|
const ret = wasm.cellstore_colCount(this.__wbg_ptr, sheet);
|
|
171
237
|
return ret >>> 0;
|
|
172
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* @param {number} sheet
|
|
241
|
+
* @param {number} start_row
|
|
242
|
+
* @param {number} end_row
|
|
243
|
+
* @param {Uint32Array} cols
|
|
244
|
+
* @returns {boolean}
|
|
245
|
+
*/
|
|
246
|
+
columnsFullyLoaded(sheet, start_row, end_row, cols) {
|
|
247
|
+
const ptr0 = passArray32ToWasm0(cols, wasm.__wbindgen_malloc);
|
|
248
|
+
const len0 = WASM_VECTOR_LEN;
|
|
249
|
+
const ret = wasm.cellstore_columnsFullyLoaded(this.__wbg_ptr, sheet, start_row, end_row, ptr0, len0);
|
|
250
|
+
return ret !== 0;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Release geometric growth slack after a bounded bulk ingest.
|
|
254
|
+
*/
|
|
255
|
+
compactStringStorage() {
|
|
256
|
+
wasm.cellstore_compactStringStorage(this.__wbg_ptr);
|
|
257
|
+
}
|
|
173
258
|
/**
|
|
174
259
|
* Ctrl+Arrow destination: from `(row, col)` stepping by `(d_row, d_col)`
|
|
175
260
|
* (exactly one of them ±1), return the destination row (vertical moves) or
|
|
@@ -205,6 +290,16 @@ export class CellStore {
|
|
|
205
290
|
const ret = wasm.cellstore_dataEdgeOrdered(this.__wbg_ptr, sheet, ptr0, len0, row, col, d_row, d_col);
|
|
206
291
|
return ret >>> 0;
|
|
207
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* @param {number} sheet
|
|
295
|
+
* @param {number} row
|
|
296
|
+
* @param {number} col
|
|
297
|
+
* @returns {bigint}
|
|
298
|
+
*/
|
|
299
|
+
dirtyRevision(sheet, row, col) {
|
|
300
|
+
const ret = wasm.cellstore_dirtyRevision(this.__wbg_ptr, sheet, row, col);
|
|
301
|
+
return BigInt.asUintN(64, ret);
|
|
302
|
+
}
|
|
208
303
|
/**
|
|
209
304
|
* @param {number} sheet
|
|
210
305
|
* @param {number} col
|
|
@@ -215,6 +310,9 @@ export class CellStore {
|
|
|
215
310
|
const ret = wasm.cellstore_distinctValues(this.__wbg_ptr, sheet, col, limit);
|
|
216
311
|
return DistinctColumn.__wrap(ret);
|
|
217
312
|
}
|
|
313
|
+
endMutation() {
|
|
314
|
+
wasm.cellstore_endMutation(this.__wbg_ptr);
|
|
315
|
+
}
|
|
218
316
|
endPageLoad() {
|
|
219
317
|
wasm.cellstore_endPageLoad(this.__wbg_ptr);
|
|
220
318
|
}
|
|
@@ -267,6 +365,16 @@ export class CellStore {
|
|
|
267
365
|
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
268
366
|
return v9;
|
|
269
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* Benchmark diagnostic: `[current matrix bytes, peak matrix bytes, allocations]`.
|
|
370
|
+
* @returns {Float64Array}
|
|
371
|
+
*/
|
|
372
|
+
formulaMatrixResourceStats() {
|
|
373
|
+
const ret = wasm.cellstore_formulaMatrixResourceStats(this.__wbg_ptr);
|
|
374
|
+
var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
375
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
376
|
+
return v1;
|
|
377
|
+
}
|
|
270
378
|
/**
|
|
271
379
|
* @param {number} sheet
|
|
272
380
|
* @param {number} row
|
|
@@ -395,6 +503,17 @@ export class CellStore {
|
|
|
395
503
|
const ret = wasm.cellstore_isSheetAlive(this.__wbg_ptr, sheet);
|
|
396
504
|
return ret !== 0;
|
|
397
505
|
}
|
|
506
|
+
/**
|
|
507
|
+
* @param {number} sheet
|
|
508
|
+
* @param {number} row
|
|
509
|
+
* @param {number} col
|
|
510
|
+
* @param {bigint} revision
|
|
511
|
+
* @returns {boolean}
|
|
512
|
+
*/
|
|
513
|
+
markCellCleanRevision(sheet, row, col, revision) {
|
|
514
|
+
const ret = wasm.cellstore_markCellCleanRevision(this.__wbg_ptr, sheet, row, col, revision);
|
|
515
|
+
return ret !== 0;
|
|
516
|
+
}
|
|
398
517
|
/**
|
|
399
518
|
* @param {number} sheet
|
|
400
519
|
* @param {number} start_row
|
|
@@ -405,6 +524,15 @@ export class CellStore {
|
|
|
405
524
|
markRangeClean(sheet, start_row, end_row, start_col, end_col) {
|
|
406
525
|
wasm.cellstore_markRangeClean(this.__wbg_ptr, sheet, start_row, end_row, start_col, end_col);
|
|
407
526
|
}
|
|
527
|
+
/**
|
|
528
|
+
* @returns {Float64Array}
|
|
529
|
+
*/
|
|
530
|
+
memoryStats() {
|
|
531
|
+
const ret = wasm.cellstore_memoryStats(this.__wbg_ptr);
|
|
532
|
+
var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
533
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
534
|
+
return v1;
|
|
535
|
+
}
|
|
408
536
|
constructor() {
|
|
409
537
|
const ret = wasm.cellstore_new();
|
|
410
538
|
this.__wbg_ptr = ret;
|
|
@@ -412,7 +540,17 @@ export class CellStore {
|
|
|
412
540
|
return this;
|
|
413
541
|
}
|
|
414
542
|
/**
|
|
415
|
-
*
|
|
543
|
+
* @param {number} sheet
|
|
544
|
+
* @returns {Float64Array}
|
|
545
|
+
*/
|
|
546
|
+
pagedDirtyCoordinates(sheet) {
|
|
547
|
+
const ret = wasm.cellstore_pagedDirtyCoordinates(this.__wbg_ptr, sheet);
|
|
548
|
+
var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
549
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
550
|
+
return v1;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* `[chunks, loaded cells, dirty cells, clean chunk bytes, fully loaded, dirty bytes]`.
|
|
416
554
|
* @param {number} sheet
|
|
417
555
|
* @returns {Float64Array}
|
|
418
556
|
*/
|
|
@@ -422,6 +560,21 @@ export class CellStore {
|
|
|
422
560
|
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
423
561
|
return v1;
|
|
424
562
|
}
|
|
563
|
+
/**
|
|
564
|
+
* Sparse persisted-cell records. Each record starts with
|
|
565
|
+
* `[row, col, kind, number, style, string_id, source_kind, source_length]`.
|
|
566
|
+
* Formula UTF-8 is packed into little-endian u32 words; references append
|
|
567
|
+
* one `[sheet, row, col]` triple. The allocation scales with serialized
|
|
568
|
+
* cells and source bytes, never the logical sheet rectangle.
|
|
569
|
+
* @param {number} sheet
|
|
570
|
+
* @returns {Float64Array}
|
|
571
|
+
*/
|
|
572
|
+
persistedCellData(sheet) {
|
|
573
|
+
const ret = wasm.cellstore_persistedCellData(this.__wbg_ptr, sheet);
|
|
574
|
+
var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
|
|
575
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
|
|
576
|
+
return v1;
|
|
577
|
+
}
|
|
425
578
|
/**
|
|
426
579
|
* @param {number} sheet
|
|
427
580
|
* @param {number} start_row
|
|
@@ -494,6 +647,13 @@ export class CellStore {
|
|
|
494
647
|
recompute(sheet) {
|
|
495
648
|
wasm.cellstore_recompute(this.__wbg_ptr, sheet);
|
|
496
649
|
}
|
|
650
|
+
/**
|
|
651
|
+
* Recompute the union of every dirty sheet once at the host transaction
|
|
652
|
+
* barrier, including cross-sheet formula and plain-reference dependents.
|
|
653
|
+
*/
|
|
654
|
+
recomputeChanged() {
|
|
655
|
+
wasm.cellstore_recomputeChanged(this.__wbg_ptr);
|
|
656
|
+
}
|
|
497
657
|
/**
|
|
498
658
|
* Explicit volatile barrier. `serial` is a UTC spreadsheet serial using
|
|
499
659
|
* the 1899-12-30 epoch; only TODAY/NOW formulas and their dependents dirty.
|
|
@@ -504,6 +664,37 @@ export class CellStore {
|
|
|
504
664
|
const ret = wasm.cellstore_recomputeVolatile(this.__wbg_ptr, serial);
|
|
505
665
|
return ret !== 0;
|
|
506
666
|
}
|
|
667
|
+
/**
|
|
668
|
+
* @param {number} sheet
|
|
669
|
+
* @param {number} row
|
|
670
|
+
* @param {number} col
|
|
671
|
+
* @returns {Uint32Array | undefined}
|
|
672
|
+
*/
|
|
673
|
+
referenceTarget(sheet, row, col) {
|
|
674
|
+
const ret = wasm.cellstore_referenceTarget(this.__wbg_ptr, sheet, row, col);
|
|
675
|
+
let v1;
|
|
676
|
+
if (ret[0] !== 0) {
|
|
677
|
+
v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
678
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
679
|
+
}
|
|
680
|
+
return v1;
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Return packed `[source_sheet, source_row, source_col, ...]` references
|
|
684
|
+
* targeting one sheet, bounded before crossing into the host.
|
|
685
|
+
* @param {number} target_sheet
|
|
686
|
+
* @param {number} max_entries
|
|
687
|
+
* @returns {Uint32Array | undefined}
|
|
688
|
+
*/
|
|
689
|
+
referencesTargeting(target_sheet, max_entries) {
|
|
690
|
+
const ret = wasm.cellstore_referencesTargeting(this.__wbg_ptr, target_sheet, max_entries);
|
|
691
|
+
let v1;
|
|
692
|
+
if (ret[0] !== 0) {
|
|
693
|
+
v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
694
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
695
|
+
}
|
|
696
|
+
return v1;
|
|
697
|
+
}
|
|
507
698
|
/**
|
|
508
699
|
* Remap styles over a rectangle using parallel old/new id tables.
|
|
509
700
|
* @param {number} sheet
|
|
@@ -559,6 +750,16 @@ export class CellStore {
|
|
|
559
750
|
const ret = wasm.cellstore_removeSheet(this.__wbg_ptr, sheet);
|
|
560
751
|
return ret !== 0;
|
|
561
752
|
}
|
|
753
|
+
/**
|
|
754
|
+
* @param {string} id
|
|
755
|
+
* @returns {boolean}
|
|
756
|
+
*/
|
|
757
|
+
removeTable(id) {
|
|
758
|
+
const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
759
|
+
const len0 = WASM_VECTOR_LEN;
|
|
760
|
+
const ret = wasm.cellstore_removeTable(this.__wbg_ptr, ptr0, len0);
|
|
761
|
+
return ret !== 0;
|
|
762
|
+
}
|
|
562
763
|
/**
|
|
563
764
|
* Rename a live stable sheet handle and rewrite every resolved formula AST reference.
|
|
564
765
|
* @param {number} sheet
|
|
@@ -574,6 +775,9 @@ export class CellStore {
|
|
|
574
775
|
const ret = wasm.cellstore_renameSheet(this.__wbg_ptr, sheet, ptr0, len0, ptr1, len1);
|
|
575
776
|
return ret !== 0;
|
|
576
777
|
}
|
|
778
|
+
resetFormulaMatrixResourceStats() {
|
|
779
|
+
wasm.cellstore_resetFormulaMatrixResourceStats(this.__wbg_ptr);
|
|
780
|
+
}
|
|
577
781
|
resetQueryResourceStats() {
|
|
578
782
|
wasm.cellstore_resetQueryResourceStats(this.__wbg_ptr);
|
|
579
783
|
}
|
|
@@ -620,9 +824,11 @@ export class CellStore {
|
|
|
620
824
|
return v3;
|
|
621
825
|
}
|
|
622
826
|
/**
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
827
|
+
* Atomically write one row-major mixed literal/formula/reference block.
|
|
828
|
+
* Formula/reference offsets are sparse row-major exceptions. Reference
|
|
829
|
+
* targets are packed `[sheet_handle, row, col]` triples. The compact
|
|
830
|
+
* status is `0` success, `1` invalid shape/bounds, `2` invalid or duplicate
|
|
831
|
+
* source metadata, and `3` paged dirty-capacity rejection.
|
|
626
832
|
* @param {number} sheet
|
|
627
833
|
* @param {number} start_row
|
|
628
834
|
* @param {number} start_col
|
|
@@ -632,9 +838,13 @@ export class CellStore {
|
|
|
632
838
|
* @param {Float64Array} numbers
|
|
633
839
|
* @param {string[]} texts
|
|
634
840
|
* @param {Uint32Array} styles
|
|
635
|
-
* @
|
|
841
|
+
* @param {Uint32Array} formula_offsets
|
|
842
|
+
* @param {string[]} formula_sources
|
|
843
|
+
* @param {Uint32Array} reference_offsets
|
|
844
|
+
* @param {Uint32Array} reference_targets
|
|
845
|
+
* @returns {number}
|
|
636
846
|
*/
|
|
637
|
-
setBlock(sheet, start_row, start_col, rows, cols, kinds, numbers, texts, styles) {
|
|
847
|
+
setBlock(sheet, start_row, start_col, rows, cols, kinds, numbers, texts, styles, formula_offsets, formula_sources, reference_offsets, reference_targets) {
|
|
638
848
|
const ptr0 = passArray8ToWasm0(kinds, wasm.__wbindgen_malloc);
|
|
639
849
|
const len0 = WASM_VECTOR_LEN;
|
|
640
850
|
const ptr1 = passArrayF64ToWasm0(numbers, wasm.__wbindgen_malloc);
|
|
@@ -643,8 +853,16 @@ export class CellStore {
|
|
|
643
853
|
const len2 = WASM_VECTOR_LEN;
|
|
644
854
|
const ptr3 = passArray32ToWasm0(styles, wasm.__wbindgen_malloc);
|
|
645
855
|
const len3 = WASM_VECTOR_LEN;
|
|
646
|
-
const
|
|
647
|
-
|
|
856
|
+
const ptr4 = passArray32ToWasm0(formula_offsets, wasm.__wbindgen_malloc);
|
|
857
|
+
const len4 = WASM_VECTOR_LEN;
|
|
858
|
+
const ptr5 = passArrayJsValueToWasm0(formula_sources, wasm.__wbindgen_malloc);
|
|
859
|
+
const len5 = WASM_VECTOR_LEN;
|
|
860
|
+
const ptr6 = passArray32ToWasm0(reference_offsets, wasm.__wbindgen_malloc);
|
|
861
|
+
const len6 = WASM_VECTOR_LEN;
|
|
862
|
+
const ptr7 = passArray32ToWasm0(reference_targets, wasm.__wbindgen_malloc);
|
|
863
|
+
const len7 = WASM_VECTOR_LEN;
|
|
864
|
+
const ret = wasm.cellstore_setBlock(this.__wbg_ptr, sheet, start_row, start_col, rows, cols, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7);
|
|
865
|
+
return ret >>> 0;
|
|
648
866
|
}
|
|
649
867
|
/**
|
|
650
868
|
* @param {number} sheet
|
|
@@ -704,10 +922,10 @@ export class CellStore {
|
|
|
704
922
|
/**
|
|
705
923
|
* Replace a sheet's conditional-format rules. Packed columnar encoding,
|
|
706
924
|
* one entry per rule: `kinds` 0 gt / 1 lt / 2 eqNum / 3 eqStr / 4 eqEmpty /
|
|
707
|
-
* 5 contains; `bounds` = normalized `[r0, c0, r1, c1]`
|
|
708
|
-
* carries the numeric operand; `strs` the text
|
|
709
|
-
* match-case for `contains
|
|
710
|
-
* once
|
|
925
|
+
* 5 contains / 6 boolean formula; `bounds` = normalized `[r0, c0, r1, c1]`
|
|
926
|
+
* per rule; `nums` carries the numeric operand; `strs` the text/formula
|
|
927
|
+
* operand; `flags` bit 0 = match-case for `contains`, bit 1 = stop-if-true.
|
|
928
|
+
* Formula strings are parsed once here, never once per visible cell.
|
|
711
929
|
* @param {number} sheet
|
|
712
930
|
* @param {Uint8Array} kinds
|
|
713
931
|
* @param {Uint32Array} bounds
|
|
@@ -787,6 +1005,62 @@ export class CellStore {
|
|
|
787
1005
|
const len1 = WASM_VECTOR_LEN;
|
|
788
1006
|
wasm.cellstore_setSheetName(this.__wbg_ptr, sheet, ptr0, len0, ptr1, len1);
|
|
789
1007
|
}
|
|
1008
|
+
/**
|
|
1009
|
+
* Write one sparse mixed transaction/page/snapshot block without
|
|
1010
|
+
* allocating by logical rectangle size. Inside `beginPageLoad`, dirty
|
|
1011
|
+
* paged cells are skipped; otherwise the whole sparse write is preflighted.
|
|
1012
|
+
* @param {number} sheet
|
|
1013
|
+
* @param {number} start_row
|
|
1014
|
+
* @param {number} start_col
|
|
1015
|
+
* @param {number} rows
|
|
1016
|
+
* @param {number} cols
|
|
1017
|
+
* @param {Uint32Array} offsets
|
|
1018
|
+
* @param {Uint8Array} kinds
|
|
1019
|
+
* @param {Float64Array} numbers
|
|
1020
|
+
* @param {string[]} texts
|
|
1021
|
+
* @param {Uint32Array} styles
|
|
1022
|
+
* @param {Uint32Array} formula_offsets
|
|
1023
|
+
* @param {string[]} formula_sources
|
|
1024
|
+
* @param {Uint32Array} reference_offsets
|
|
1025
|
+
* @param {Uint32Array} reference_targets
|
|
1026
|
+
* @returns {number}
|
|
1027
|
+
*/
|
|
1028
|
+
setSparseBlock(sheet, start_row, start_col, rows, cols, offsets, kinds, numbers, texts, styles, formula_offsets, formula_sources, reference_offsets, reference_targets) {
|
|
1029
|
+
const ptr0 = passArray32ToWasm0(offsets, wasm.__wbindgen_malloc);
|
|
1030
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1031
|
+
const ptr1 = passArray8ToWasm0(kinds, wasm.__wbindgen_malloc);
|
|
1032
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1033
|
+
const ptr2 = passArrayF64ToWasm0(numbers, wasm.__wbindgen_malloc);
|
|
1034
|
+
const len2 = WASM_VECTOR_LEN;
|
|
1035
|
+
const ptr3 = passArrayJsValueToWasm0(texts, wasm.__wbindgen_malloc);
|
|
1036
|
+
const len3 = WASM_VECTOR_LEN;
|
|
1037
|
+
const ptr4 = passArray32ToWasm0(styles, wasm.__wbindgen_malloc);
|
|
1038
|
+
const len4 = WASM_VECTOR_LEN;
|
|
1039
|
+
const ptr5 = passArray32ToWasm0(formula_offsets, wasm.__wbindgen_malloc);
|
|
1040
|
+
const len5 = WASM_VECTOR_LEN;
|
|
1041
|
+
const ptr6 = passArrayJsValueToWasm0(formula_sources, wasm.__wbindgen_malloc);
|
|
1042
|
+
const len6 = WASM_VECTOR_LEN;
|
|
1043
|
+
const ptr7 = passArray32ToWasm0(reference_offsets, wasm.__wbindgen_malloc);
|
|
1044
|
+
const len7 = WASM_VECTOR_LEN;
|
|
1045
|
+
const ptr8 = passArray32ToWasm0(reference_targets, wasm.__wbindgen_malloc);
|
|
1046
|
+
const len8 = WASM_VECTOR_LEN;
|
|
1047
|
+
const ret = wasm.cellstore_setSparseBlock(this.__wbg_ptr, sheet, start_row, start_col, rows, cols, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8);
|
|
1048
|
+
return ret >>> 0;
|
|
1049
|
+
}
|
|
1050
|
+
/**
|
|
1051
|
+
* Replace the host-owned merge/protection collision ranges. Packed as
|
|
1052
|
+
* `[row_start, col_start, row_end, col_end, ...]`; invalid input fails
|
|
1053
|
+
* without weakening the old gate.
|
|
1054
|
+
* @param {number} sheet
|
|
1055
|
+
* @param {Uint32Array} bounds
|
|
1056
|
+
* @returns {boolean}
|
|
1057
|
+
*/
|
|
1058
|
+
setSpillBlockers(sheet, bounds) {
|
|
1059
|
+
const ptr0 = passArray32ToWasm0(bounds, wasm.__wbindgen_malloc);
|
|
1060
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1061
|
+
const ret = wasm.cellstore_setSpillBlockers(this.__wbg_ptr, sheet, ptr0, len0);
|
|
1062
|
+
return ret !== 0;
|
|
1063
|
+
}
|
|
790
1064
|
/**
|
|
791
1065
|
* @param {number} sheet
|
|
792
1066
|
* @param {number} row
|
|
@@ -799,6 +1073,32 @@ export class CellStore {
|
|
|
799
1073
|
const len0 = WASM_VECTOR_LEN;
|
|
800
1074
|
wasm.cellstore_setString(this.__wbg_ptr, sheet, row, col, ptr0, len0, style);
|
|
801
1075
|
}
|
|
1076
|
+
/**
|
|
1077
|
+
* @param {string} id
|
|
1078
|
+
* @param {string} name
|
|
1079
|
+
* @param {number} sheet
|
|
1080
|
+
* @param {number} row_start
|
|
1081
|
+
* @param {number} col_start
|
|
1082
|
+
* @param {number} row_end
|
|
1083
|
+
* @param {number} col_end
|
|
1084
|
+
* @param {boolean} header_row
|
|
1085
|
+
* @param {boolean} totals_row
|
|
1086
|
+
* @param {string[]} column_ids
|
|
1087
|
+
* @param {string[]} column_names
|
|
1088
|
+
* @returns {boolean}
|
|
1089
|
+
*/
|
|
1090
|
+
setTable(id, name, sheet, row_start, col_start, row_end, col_end, header_row, totals_row, column_ids, column_names) {
|
|
1091
|
+
const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1092
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1093
|
+
const ptr1 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1094
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1095
|
+
const ptr2 = passArrayJsValueToWasm0(column_ids, wasm.__wbindgen_malloc);
|
|
1096
|
+
const len2 = WASM_VECTOR_LEN;
|
|
1097
|
+
const ptr3 = passArrayJsValueToWasm0(column_names, wasm.__wbindgen_malloc);
|
|
1098
|
+
const len3 = WASM_VECTOR_LEN;
|
|
1099
|
+
const ret = wasm.cellstore_setTable(this.__wbg_ptr, ptr0, len0, ptr1, len1, sheet, row_start, col_start, row_end, col_end, header_row, totals_row, ptr2, len2, ptr3, len3);
|
|
1100
|
+
return ret !== 0;
|
|
1101
|
+
}
|
|
802
1102
|
/**
|
|
803
1103
|
* @param {RangeSnapshot} snapshot
|
|
804
1104
|
* @returns {Float64Array}
|
|
@@ -853,6 +1153,61 @@ export class CellStore {
|
|
|
853
1153
|
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
854
1154
|
return v4;
|
|
855
1155
|
}
|
|
1156
|
+
/**
|
|
1157
|
+
* @param {number} sheet
|
|
1158
|
+
* @param {number} row
|
|
1159
|
+
* @param {number} col
|
|
1160
|
+
* @returns {number}
|
|
1161
|
+
*/
|
|
1162
|
+
spillAnchorCol(sheet, row, col) {
|
|
1163
|
+
const ret = wasm.cellstore_spillAnchorCol(this.__wbg_ptr, sheet, row, col);
|
|
1164
|
+
return ret >>> 0;
|
|
1165
|
+
}
|
|
1166
|
+
/**
|
|
1167
|
+
* Stable spill owner coordinate, or `u32::MAX` when `cell` is not part of
|
|
1168
|
+
* a materialized spill.
|
|
1169
|
+
* @param {number} sheet
|
|
1170
|
+
* @param {number} row
|
|
1171
|
+
* @param {number} col
|
|
1172
|
+
* @returns {number}
|
|
1173
|
+
*/
|
|
1174
|
+
spillAnchorRow(sheet, row, col) {
|
|
1175
|
+
const ret = wasm.cellstore_spillAnchorRow(this.__wbg_ptr, sheet, row, col);
|
|
1176
|
+
return ret >>> 0;
|
|
1177
|
+
}
|
|
1178
|
+
/**
|
|
1179
|
+
* Row-major mask aligned with render-window layout; `1` marks a derived
|
|
1180
|
+
* spill cell and deliberately excludes the anchor.
|
|
1181
|
+
* @param {number} sheet
|
|
1182
|
+
* @param {number} row_start
|
|
1183
|
+
* @param {number} row_end
|
|
1184
|
+
* @param {Uint32Array} cols
|
|
1185
|
+
* @returns {Uint8Array}
|
|
1186
|
+
*/
|
|
1187
|
+
spillDerivedMask(sheet, row_start, row_end, cols) {
|
|
1188
|
+
const ptr0 = passArray32ToWasm0(cols, wasm.__wbindgen_malloc);
|
|
1189
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1190
|
+
const ret = wasm.cellstore_spillDerivedMask(this.__wbg_ptr, sheet, row_start, row_end, ptr0, len0);
|
|
1191
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
1192
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
1193
|
+
return v2;
|
|
1194
|
+
}
|
|
1195
|
+
/**
|
|
1196
|
+
* Packed row-major `[anchor_row, anchor_col, ...]` owner coordinates.
|
|
1197
|
+
* @param {number} sheet
|
|
1198
|
+
* @param {number} row_start
|
|
1199
|
+
* @param {number} row_end
|
|
1200
|
+
* @param {Uint32Array} cols
|
|
1201
|
+
* @returns {Uint32Array}
|
|
1202
|
+
*/
|
|
1203
|
+
spillOwnerCoordinates(sheet, row_start, row_end, cols) {
|
|
1204
|
+
const ptr0 = passArray32ToWasm0(cols, wasm.__wbindgen_malloc);
|
|
1205
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1206
|
+
const ret = wasm.cellstore_spillOwnerCoordinates(this.__wbg_ptr, sheet, row_start, row_end, ptr0, len0);
|
|
1207
|
+
var v2 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
1208
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1209
|
+
return v2;
|
|
1210
|
+
}
|
|
856
1211
|
/**
|
|
857
1212
|
* Current style-dictionary id at a cell; `0` when out of bounds. Used by
|
|
858
1213
|
* the host to write derived (reference-shadow) values without disturbing
|
|
@@ -866,6 +1221,13 @@ export class CellStore {
|
|
|
866
1221
|
const ret = wasm.cellstore_styleIdAt(this.__wbg_ptr, sheet, row, col);
|
|
867
1222
|
return ret >>> 0;
|
|
868
1223
|
}
|
|
1224
|
+
/**
|
|
1225
|
+
* @returns {number}
|
|
1226
|
+
*/
|
|
1227
|
+
wasmCommittedBytes() {
|
|
1228
|
+
const ret = wasm.cellstore_wasmCommittedBytes(this.__wbg_ptr);
|
|
1229
|
+
return ret >>> 0;
|
|
1230
|
+
}
|
|
869
1231
|
}
|
|
870
1232
|
if (Symbol.dispose) CellStore.prototype[Symbol.dispose] = CellStore.prototype.free;
|
|
871
1233
|
|
|
@@ -982,6 +1344,24 @@ export class RangeSnapshot {
|
|
|
982
1344
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
983
1345
|
return v1;
|
|
984
1346
|
}
|
|
1347
|
+
/**
|
|
1348
|
+
* @returns {Uint32Array}
|
|
1349
|
+
*/
|
|
1350
|
+
referenceOffsets() {
|
|
1351
|
+
const ret = wasm.rangesnapshot_referenceOffsets(this.__wbg_ptr);
|
|
1352
|
+
var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
1353
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1354
|
+
return v1;
|
|
1355
|
+
}
|
|
1356
|
+
/**
|
|
1357
|
+
* @returns {Uint32Array}
|
|
1358
|
+
*/
|
|
1359
|
+
referenceTargets() {
|
|
1360
|
+
const ret = wasm.rangesnapshot_referenceTargets(this.__wbg_ptr);
|
|
1361
|
+
var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
1362
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1363
|
+
return v1;
|
|
1364
|
+
}
|
|
985
1365
|
/**
|
|
986
1366
|
* @returns {Uint32Array}
|
|
987
1367
|
*/
|
|
@@ -994,6 +1374,83 @@ export class RangeSnapshot {
|
|
|
994
1374
|
}
|
|
995
1375
|
if (Symbol.dispose) RangeSnapshot.prototype[Symbol.dispose] = RangeSnapshot.prototype.free;
|
|
996
1376
|
|
|
1377
|
+
/**
|
|
1378
|
+
* Compact serializable projection of persisted derived-cell sources and spill
|
|
1379
|
+
* identity in one range. Offsets are row-major and sorted; reference targets
|
|
1380
|
+
* are packed `[sheet_handle, row, col]` triples.
|
|
1381
|
+
*/
|
|
1382
|
+
export class SourceSnapshot {
|
|
1383
|
+
static __wrap(ptr) {
|
|
1384
|
+
const obj = Object.create(SourceSnapshot.prototype);
|
|
1385
|
+
obj.__wbg_ptr = ptr;
|
|
1386
|
+
SourceSnapshotFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
1387
|
+
return obj;
|
|
1388
|
+
}
|
|
1389
|
+
__destroy_into_raw() {
|
|
1390
|
+
const ptr = this.__wbg_ptr;
|
|
1391
|
+
this.__wbg_ptr = 0;
|
|
1392
|
+
SourceSnapshotFinalization.unregister(this);
|
|
1393
|
+
return ptr;
|
|
1394
|
+
}
|
|
1395
|
+
free() {
|
|
1396
|
+
const ptr = this.__destroy_into_raw();
|
|
1397
|
+
wasm.__wbg_sourcesnapshot_free(ptr, 0);
|
|
1398
|
+
}
|
|
1399
|
+
/**
|
|
1400
|
+
* @returns {number}
|
|
1401
|
+
*/
|
|
1402
|
+
byteLength() {
|
|
1403
|
+
const ret = wasm.sourcesnapshot_byteLength(this.__wbg_ptr);
|
|
1404
|
+
return ret >>> 0;
|
|
1405
|
+
}
|
|
1406
|
+
/**
|
|
1407
|
+
* @returns {Uint32Array}
|
|
1408
|
+
*/
|
|
1409
|
+
formulaOffsets() {
|
|
1410
|
+
const ret = wasm.sourcesnapshot_formulaOffsets(this.__wbg_ptr);
|
|
1411
|
+
var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
1412
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1413
|
+
return v1;
|
|
1414
|
+
}
|
|
1415
|
+
/**
|
|
1416
|
+
* @returns {string[]}
|
|
1417
|
+
*/
|
|
1418
|
+
formulaSources() {
|
|
1419
|
+
const ret = wasm.sourcesnapshot_formulaSources(this.__wbg_ptr);
|
|
1420
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
1421
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1422
|
+
return v1;
|
|
1423
|
+
}
|
|
1424
|
+
/**
|
|
1425
|
+
* @returns {Uint32Array}
|
|
1426
|
+
*/
|
|
1427
|
+
referenceOffsets() {
|
|
1428
|
+
const ret = wasm.sourcesnapshot_referenceOffsets(this.__wbg_ptr);
|
|
1429
|
+
var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
1430
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1431
|
+
return v1;
|
|
1432
|
+
}
|
|
1433
|
+
/**
|
|
1434
|
+
* @returns {Uint32Array}
|
|
1435
|
+
*/
|
|
1436
|
+
referenceTargets() {
|
|
1437
|
+
const ret = wasm.sourcesnapshot_referenceTargets(this.__wbg_ptr);
|
|
1438
|
+
var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
1439
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1440
|
+
return v1;
|
|
1441
|
+
}
|
|
1442
|
+
/**
|
|
1443
|
+
* @returns {Uint8Array}
|
|
1444
|
+
*/
|
|
1445
|
+
spillDerived() {
|
|
1446
|
+
const ret = wasm.sourcesnapshot_spillDerived(this.__wbg_ptr);
|
|
1447
|
+
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
1448
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
1449
|
+
return v1;
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
if (Symbol.dispose) SourceSnapshot.prototype[Symbol.dispose] = SourceSnapshot.prototype.free;
|
|
1453
|
+
|
|
997
1454
|
/**
|
|
998
1455
|
* A bulk window of resolved cells, row-major over `n_rows x n_cols`.
|
|
999
1456
|
*/
|
|
@@ -1159,6 +1616,9 @@ const DistinctColumnFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
1159
1616
|
const RangeSnapshotFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1160
1617
|
? { register: () => {}, unregister: () => {} }
|
|
1161
1618
|
: new FinalizationRegistry(ptr => wasm.__wbg_rangesnapshot_free(ptr, 1));
|
|
1619
|
+
const SourceSnapshotFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1620
|
+
? { register: () => {}, unregister: () => {} }
|
|
1621
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_sourcesnapshot_free(ptr, 1));
|
|
1162
1622
|
const WindowViewFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1163
1623
|
? { register: () => {}, unregister: () => {} }
|
|
1164
1624
|
: new FinalizationRegistry(ptr => wasm.__wbg_windowview_free(ptr, 1));
|
|
Binary file
|
|
@@ -5,27 +5,39 @@ export const __wbg_cellout_free: (a: number, b: number) => void;
|
|
|
5
5
|
export const __wbg_cellstore_free: (a: number, b: number) => void;
|
|
6
6
|
export const __wbg_distinctcolumn_free: (a: number, b: number) => void;
|
|
7
7
|
export const __wbg_rangesnapshot_free: (a: number, b: number) => void;
|
|
8
|
+
export const __wbg_sourcesnapshot_free: (a: number, b: number) => void;
|
|
8
9
|
export const __wbg_windowview_free: (a: number, b: number) => void;
|
|
9
10
|
export const cellout_kind: (a: number) => number;
|
|
10
11
|
export const cellout_num: (a: number) => number;
|
|
11
12
|
export const cellout_string: (a: number) => [number, number];
|
|
12
13
|
export const cellout_style: (a: number) => number;
|
|
13
|
-
export const
|
|
14
|
+
export const cellstore_acknowledgeRevision: (a: number, b: bigint) => void;
|
|
15
|
+
export const cellstore_addPagedSheet: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
14
16
|
export const cellstore_addRows: (a: number, b: number, c: number, d: number) => void;
|
|
15
17
|
export const cellstore_addSheet: (a: number, b: number, c: number) => number;
|
|
16
18
|
export const cellstore_aggregate: (a: number, b: number, c: number, d: number) => number;
|
|
19
|
+
export const cellstore_beginMutation: (a: number) => bigint;
|
|
17
20
|
export const cellstore_beginPageLoad: (a: number) => void;
|
|
21
|
+
export const cellstore_canDirtyCell: (a: number, b: number, c: number, d: number) => number;
|
|
18
22
|
export const cellstore_captureRange: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
23
|
+
export const cellstore_captureReferences: (a: number, b: number, c: number) => number;
|
|
24
|
+
export const cellstore_captureSources: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
25
|
+
export const cellstore_captureSourcesForRows: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
19
26
|
export const cellstore_cellState: (a: number, b: number, c: number, d: number) => number;
|
|
20
27
|
export const cellstore_clearCell: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
21
28
|
export const cellstore_clearRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
|
|
22
29
|
export const cellstore_colCount: (a: number, b: number) => number;
|
|
30
|
+
export const cellstore_columnsFullyLoaded: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
31
|
+
export const cellstore_compactStringStorage: (a: number) => void;
|
|
23
32
|
export const cellstore_dataEdge: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
24
33
|
export const cellstore_dataEdgeOrdered: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
|
|
34
|
+
export const cellstore_dirtyRevision: (a: number, b: number, c: number, d: number) => bigint;
|
|
25
35
|
export const cellstore_distinctValues: (a: number, b: number, c: number, d: number) => number;
|
|
36
|
+
export const cellstore_endMutation: (a: number) => void;
|
|
26
37
|
export const cellstore_endPageLoad: (a: number) => void;
|
|
27
38
|
export const cellstore_filterRows: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
28
39
|
export const cellstore_filterRowsMulti: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number) => [number, number];
|
|
40
|
+
export const cellstore_formulaMatrixResourceStats: (a: number) => [number, number];
|
|
29
41
|
export const cellstore_formulaSource: (a: number, b: number, c: number, d: number) => [number, number];
|
|
30
42
|
export const cellstore_getCell: (a: number, b: number, c: number, d: number) => number;
|
|
31
43
|
export const cellstore_getWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
@@ -36,27 +48,36 @@ export const cellstore_insertCols: (a: number, b: number, c: number, d: number)
|
|
|
36
48
|
export const cellstore_isFullyLoaded: (a: number, b: number) => number;
|
|
37
49
|
export const cellstore_isPaged: (a: number, b: number) => number;
|
|
38
50
|
export const cellstore_isSheetAlive: (a: number, b: number) => number;
|
|
51
|
+
export const cellstore_markCellCleanRevision: (a: number, b: number, c: number, d: number, e: bigint) => number;
|
|
39
52
|
export const cellstore_markRangeClean: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
53
|
+
export const cellstore_memoryStats: (a: number) => [number, number];
|
|
40
54
|
export const cellstore_new: () => number;
|
|
55
|
+
export const cellstore_pagedDirtyCoordinates: (a: number, b: number) => [number, number];
|
|
41
56
|
export const cellstore_pagedStats: (a: number, b: number) => [number, number];
|
|
57
|
+
export const cellstore_persistedCellData: (a: number, b: number) => [number, number];
|
|
42
58
|
export const cellstore_pinRange: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
43
59
|
export const cellstore_poolStrings: (a: number, b: number, c: number) => [number, number];
|
|
44
60
|
export const cellstore_queryResourceStats: (a: number) => [number, number];
|
|
45
61
|
export const cellstore_rangeFullyLoaded: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
46
62
|
export const cellstore_rangeStyleIds: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
47
63
|
export const cellstore_recompute: (a: number, b: number) => void;
|
|
64
|
+
export const cellstore_recomputeChanged: (a: number) => void;
|
|
48
65
|
export const cellstore_recomputeVolatile: (a: number, b: number) => number;
|
|
66
|
+
export const cellstore_referenceTarget: (a: number, b: number, c: number, d: number) => [number, number];
|
|
67
|
+
export const cellstore_referencesTargeting: (a: number, b: number, c: number) => [number, number];
|
|
49
68
|
export const cellstore_remapRangeStyles: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
|
|
50
69
|
export const cellstore_removeCols: (a: number, b: number, c: number, d: number) => void;
|
|
51
70
|
export const cellstore_removeNamedRange: (a: number, b: number, c: number, d: number) => number;
|
|
52
71
|
export const cellstore_removeRows: (a: number, b: number, c: number, d: number) => void;
|
|
53
72
|
export const cellstore_removeSheet: (a: number, b: number) => number;
|
|
73
|
+
export const cellstore_removeTable: (a: number, b: number, c: number) => number;
|
|
54
74
|
export const cellstore_renameSheet: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
75
|
+
export const cellstore_resetFormulaMatrixResourceStats: (a: number) => void;
|
|
55
76
|
export const cellstore_resetQueryResourceStats: (a: number) => void;
|
|
56
77
|
export const cellstore_restoreRange: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
57
78
|
export const cellstore_rowCount: (a: number, b: number) => number;
|
|
58
79
|
export const cellstore_search: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
59
|
-
export const cellstore_setBlock: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => number;
|
|
80
|
+
export const cellstore_setBlock: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number) => number;
|
|
60
81
|
export const cellstore_setBool: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
61
82
|
export const cellstore_setColumnNumbers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
62
83
|
export const cellstore_setColumnStrings: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
@@ -66,12 +87,20 @@ export const cellstore_setFormula: (a: number, b: number, c: number, d: number,
|
|
|
66
87
|
export const cellstore_setNamedRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
|
|
67
88
|
export const cellstore_setNumber: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
68
89
|
export const cellstore_setSheetName: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
90
|
+
export const cellstore_setSparseBlock: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number) => number;
|
|
91
|
+
export const cellstore_setSpillBlockers: (a: number, b: number, c: number, d: number) => number;
|
|
69
92
|
export const cellstore_setString: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
93
|
+
export const cellstore_setTable: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => number;
|
|
70
94
|
export const cellstore_snapshotNumbers: (a: number, b: number) => [number, number];
|
|
71
95
|
export const cellstore_snapshotTexts: (a: number, b: number) => [number, number];
|
|
72
96
|
export const cellstore_sortRows: (a: number, b: number, c: number, d: number) => [number, number];
|
|
73
97
|
export const cellstore_sortRowsMulti: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
98
|
+
export const cellstore_spillAnchorCol: (a: number, b: number, c: number, d: number) => number;
|
|
99
|
+
export const cellstore_spillAnchorRow: (a: number, b: number, c: number, d: number) => number;
|
|
100
|
+
export const cellstore_spillDerivedMask: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
101
|
+
export const cellstore_spillOwnerCoordinates: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
74
102
|
export const cellstore_styleIdAt: (a: number, b: number, c: number, d: number) => number;
|
|
103
|
+
export const cellstore_wasmCommittedBytes: (a: number) => number;
|
|
75
104
|
export const distinctcolumn_takeKinds: (a: number) => [number, number];
|
|
76
105
|
export const distinctcolumn_takeNumbers: (a: number) => [number, number];
|
|
77
106
|
export const distinctcolumn_takeTexts: (a: number) => [number, number];
|
|
@@ -79,7 +108,15 @@ export const rangesnapshot_byteLength: (a: number) => number;
|
|
|
79
108
|
export const rangesnapshot_formulaOffsets: (a: number) => [number, number];
|
|
80
109
|
export const rangesnapshot_formulaSources: (a: number) => [number, number];
|
|
81
110
|
export const rangesnapshot_kinds: (a: number) => [number, number];
|
|
111
|
+
export const rangesnapshot_referenceOffsets: (a: number) => [number, number];
|
|
112
|
+
export const rangesnapshot_referenceTargets: (a: number) => [number, number];
|
|
82
113
|
export const rangesnapshot_styleIds: (a: number) => [number, number];
|
|
114
|
+
export const sourcesnapshot_byteLength: (a: number) => number;
|
|
115
|
+
export const sourcesnapshot_formulaOffsets: (a: number) => [number, number];
|
|
116
|
+
export const sourcesnapshot_formulaSources: (a: number) => [number, number];
|
|
117
|
+
export const sourcesnapshot_referenceOffsets: (a: number) => [number, number];
|
|
118
|
+
export const sourcesnapshot_referenceTargets: (a: number) => [number, number];
|
|
119
|
+
export const sourcesnapshot_spillDerived: (a: number) => [number, number];
|
|
83
120
|
export const windowview_nCols: (a: number) => number;
|
|
84
121
|
export const windowview_nRows: (a: number) => number;
|
|
85
122
|
export const windowview_takeCondMatches: (a: number) => [number, number];
|