@einfach-excel/excel-wasm 0.0.0-stage → 0.2.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/LICENSE +21 -0
- package/README.md +33 -2
- package/full/README.md +269 -0
- package/full/einfach_wasm.d.ts +1081 -0
- package/full/einfach_wasm.js +3698 -0
- package/full/einfach_wasm_bg.wasm +0 -0
- package/full/einfach_wasm_bg.wasm.d.ts +223 -0
- package/full/package.json +16 -0
- package/lite/README.md +269 -0
- package/lite/einfach_wasm.d.ts +1081 -0
- package/lite/einfach_wasm.js +3698 -0
- package/lite/einfach_wasm_bg.wasm +0 -0
- package/lite/einfach_wasm_bg.wasm.d.ts +223 -0
- package/lite/package.json +16 -0
- package/package.json +54 -3
|
@@ -0,0 +1,1081 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* WASM-exposed spreadsheet. Wraps the Rust Sheet.
|
|
6
|
+
*/
|
|
7
|
+
export class WasmSheet {
|
|
8
|
+
free(): void;
|
|
9
|
+
[Symbol.dispose](): void;
|
|
10
|
+
/**
|
|
11
|
+
* Debug-only panic injection — arms a one-shot flag so the next
|
|
12
|
+
* JsCallbackListener fire panics inside its microtask. After consumption
|
|
13
|
+
* the flag clears, so subsequent fires behave normally. Used by
|
|
14
|
+
* `regression.spec.ts` (Discovered #E.2) to verify console_error_panic_hook
|
|
15
|
+
* surfaces the panic to console.error AND the wasm instance keeps
|
|
16
|
+
* working for subsequent set_/get_ calls. Not part of the production
|
|
17
|
+
* API surface — naming with `__` prefix to flag.
|
|
18
|
+
*/
|
|
19
|
+
__debugPanicNextCallback(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Set multiple cells at once (batch). Pass arrays of addresses and values.
|
|
22
|
+
*/
|
|
23
|
+
batch_set_numbers(addrs: string[], values: Float64Array): void;
|
|
24
|
+
/**
|
|
25
|
+
* Clear a cell to empty. Mirrors ISheet.clear_cell on the JS side.
|
|
26
|
+
*/
|
|
27
|
+
clear_cell(addr: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Clear non-empty cells in a zero-based inclusive range. The core scans
|
|
30
|
+
* sparse entries only and coalesces dirty/subscriber propagation.
|
|
31
|
+
*/
|
|
32
|
+
clear_range(start_row: number, start_col: number, end_row: number, end_col: number): number;
|
|
33
|
+
/**
|
|
34
|
+
* Number of formula records currently in the `Dirty` cache state.
|
|
35
|
+
*/
|
|
36
|
+
debug_dirty_count(): number;
|
|
37
|
+
/**
|
|
38
|
+
* Total formula evaluations performed since this sheet was created.
|
|
39
|
+
*/
|
|
40
|
+
debug_formula_eval_count(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Number of formulas registered via `bulk_load` (cumulative).
|
|
43
|
+
*/
|
|
44
|
+
debug_imported_formula_count(): number;
|
|
45
|
+
/**
|
|
46
|
+
* Number of `CellAddress`es with at least one live listener.
|
|
47
|
+
*/
|
|
48
|
+
debug_live_subscription_count(): number;
|
|
49
|
+
/**
|
|
50
|
+
* Number of materialized Store geometry roots used by large range
|
|
51
|
+
* formulas. Small ranges depend on member facades and contribute zero.
|
|
52
|
+
*/
|
|
53
|
+
debug_range_dep_count(): number;
|
|
54
|
+
delete_col(at: number, count: number): void;
|
|
55
|
+
delete_row(at: number, count: number): void;
|
|
56
|
+
/**
|
|
57
|
+
* Format a cell's value using its effective format. Numeric cells go
|
|
58
|
+
* through `CellFormat::format_number`; non-numeric cells fall back to
|
|
59
|
+
* the default display path.
|
|
60
|
+
*
|
|
61
|
+
* The error case is intercepted here rather than delegated.
|
|
62
|
+
* `Sheet::formatted_display` re-implements the display match instead of
|
|
63
|
+
* calling `value_to_display`, so it renders `Value::Error` through the
|
|
64
|
+
* engine-internal `Display` and would leak `#TYPE!` / `#ARGS!` — codes
|
|
65
|
+
* Excel does not have — into this legacy shell's cell text. A number
|
|
66
|
+
* format can never apply to an error, so short-circuiting the error arm is
|
|
67
|
+
* behaviour-identical apart from the token map. This is a bridge, not
|
|
68
|
+
* the fix: the durable one is for `Sheet::formatted_display` to route
|
|
69
|
+
* its `Value::Error` arm through `error_display_token` too, at which
|
|
70
|
+
* point this arm becomes redundant (and harmless).
|
|
71
|
+
*/
|
|
72
|
+
formatted_display(addr: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Get a cell's display value as a string.
|
|
75
|
+
*/
|
|
76
|
+
get_display(addr: string): string;
|
|
77
|
+
/**
|
|
78
|
+
* Read the effective format for a cell (base + first matching
|
|
79
|
+
* conditional rule override).
|
|
80
|
+
*/
|
|
81
|
+
get_effective_format(addr: string): any;
|
|
82
|
+
/**
|
|
83
|
+
* Read the base format for a cell (no conditional rules applied).
|
|
84
|
+
*/
|
|
85
|
+
get_format(addr: string): any;
|
|
86
|
+
/**
|
|
87
|
+
* Return a cell's original formula text, or empty string for cells
|
|
88
|
+
* without a formula. Used by the formula bar / double-click edit so
|
|
89
|
+
* users edit `=A1*2` instead of the displayed result `20` (D.11).
|
|
90
|
+
*/
|
|
91
|
+
get_formula(addr: string): string;
|
|
92
|
+
/**
|
|
93
|
+
* Get a cell's raw numeric value. Returns NaN if not a number.
|
|
94
|
+
*/
|
|
95
|
+
get_number(addr: string): number;
|
|
96
|
+
/**
|
|
97
|
+
* Get the type of a cell's value: "number", "text", "boolean", "null", "error"
|
|
98
|
+
*/
|
|
99
|
+
get_type(addr: string): string;
|
|
100
|
+
insert_col(at: number, count: number): void;
|
|
101
|
+
insert_row(at: number, count: number): void;
|
|
102
|
+
/**
|
|
103
|
+
* Check if a cell contains an error.
|
|
104
|
+
*/
|
|
105
|
+
is_error(addr: string): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Create a new empty spreadsheet.
|
|
108
|
+
*/
|
|
109
|
+
constructor();
|
|
110
|
+
/**
|
|
111
|
+
* Every non-empty address on this sheet, as `"A1"`-style strings.
|
|
112
|
+
* Empty cells are skipped; an address holding both a primitive slot
|
|
113
|
+
* and a formula appears once (formula dominates). Used by
|
|
114
|
+
* structural-undo to snapshot only what needs restoring — see
|
|
115
|
+
* `excel/solid-excel/docs/STRUCTURAL_UNDO.md`.
|
|
116
|
+
*/
|
|
117
|
+
non_empty_addrs(): string[];
|
|
118
|
+
/**
|
|
119
|
+
* 按属性写入 cellStyle / rowStyle / columnStyle。
|
|
120
|
+
*/
|
|
121
|
+
patch_format_range(start_row: number, start_col: number, end_row: number, end_col: number, patch: any, scope: string): number;
|
|
122
|
+
/**
|
|
123
|
+
* Restore metadata produced by `snapshot_format_range`.
|
|
124
|
+
*/
|
|
125
|
+
restore_format_snapshot(snapshot: any): number;
|
|
126
|
+
/**
|
|
127
|
+
* Set a cell to a boolean value.
|
|
128
|
+
*/
|
|
129
|
+
set_boolean(addr: string, value: boolean): void;
|
|
130
|
+
/**
|
|
131
|
+
* Set a cell to an error value by its display code. Unknown codes fall
|
|
132
|
+
* back to #VALUE!, matching the generic invalid-value error.
|
|
133
|
+
*/
|
|
134
|
+
set_error(addr: string, value: string): void;
|
|
135
|
+
set_format(addr: string, fmt: any): void;
|
|
136
|
+
/**
|
|
137
|
+
* 兼容旧调用:把完整格式逐格写进 cellStyle。
|
|
138
|
+
*/
|
|
139
|
+
set_format_range(start_row: number, start_col: number, end_row: number, end_col: number, fmt: any): number;
|
|
140
|
+
/**
|
|
141
|
+
* Set a cell's formula (e.g. "=A1+B1").
|
|
142
|
+
* Returns `true` if the formula parsed successfully, `false` if it was
|
|
143
|
+
* invalid (cell becomes `#VALUE!`) or would form a cycle (cell becomes `#CYCLE!`).
|
|
144
|
+
*/
|
|
145
|
+
set_formula(addr: string, formula: string): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Set a cell to a numeric value. Subscribers fire automatically via the
|
|
148
|
+
* store's propagation pass — no manual fire_listeners needed (C.1+C.2).
|
|
149
|
+
*/
|
|
150
|
+
set_number(addr: string, value: number): void;
|
|
151
|
+
/**
|
|
152
|
+
* Set a cell to a text value.
|
|
153
|
+
*/
|
|
154
|
+
set_text(addr: string, value: string): void;
|
|
155
|
+
/**
|
|
156
|
+
* Snapshot sparse formatting metadata for undoing a later range-format
|
|
157
|
+
* edit. Does not read cell values or materialize empty cells.
|
|
158
|
+
*/
|
|
159
|
+
snapshot_format_range(start_row: number, start_col: number, end_row: number, end_col: number): any;
|
|
160
|
+
/**
|
|
161
|
+
* If `addr` is a dynamic-array spill *anchor*, return the spill
|
|
162
|
+
* shape as a `[rows, cols]` `Uint32Array`. Returns `undefined` /
|
|
163
|
+
* `null` (`JsValue::null`) for plain cells, spilled-into cells,
|
|
164
|
+
* and `#SPILL!` anchors. The JS UI uses this to render the spill
|
|
165
|
+
* border around the anchor's bounding rectangle.
|
|
166
|
+
*/
|
|
167
|
+
spillInfo(addr: string): any;
|
|
168
|
+
/**
|
|
169
|
+
* Subscribe to changes on a cell. Returns an opaque u32 token to pass
|
|
170
|
+
* to `unsubscribe`. The callback fires whenever the cell's value
|
|
171
|
+
* changes — including transitively through formula dependencies (C.2).
|
|
172
|
+
*/
|
|
173
|
+
subscribe(addr: string, callback: Function): number;
|
|
174
|
+
/**
|
|
175
|
+
* Cancel a subscription previously returned from `subscribe`.
|
|
176
|
+
* Idempotent: unknown tokens are ignored.
|
|
177
|
+
*/
|
|
178
|
+
unsubscribe(token: number): void;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* WASM-exposed workbook. Wraps the Rust Workbook so browser demos can
|
|
183
|
+
* evaluate formulas through workbook context, including cross-sheet refs.
|
|
184
|
+
*/
|
|
185
|
+
export class WasmWorkbook {
|
|
186
|
+
free(): void;
|
|
187
|
+
[Symbol.dispose](): void;
|
|
188
|
+
add_sheet(name: string): number;
|
|
189
|
+
aggregate_selection(targets: any): any;
|
|
190
|
+
/**
|
|
191
|
+
* Apply `{ rules: ColumnFilterRule[] }` to `sheetIdx`: run the
|
|
192
|
+
* predicate ONCE and commit both the rules and the rows they hid.
|
|
193
|
+
*
|
|
194
|
+
* Returns `{ ok: true, hiddenRows, scannedRows, predicateCells }`, or
|
|
195
|
+
* `{ ok: false, code, message? }`. `code: "source-too-large"` is the
|
|
196
|
+
* engine-side twin of the adapter's `FILTER_SORT_SOURCE_TOO_LARGE` —
|
|
197
|
+
* the filter does NOT activate and nothing is truncated.
|
|
198
|
+
*
|
|
199
|
+
* Visibility is a SNAPSHOT taken here. Later cell edits do not move
|
|
200
|
+
* it; `reapplyFilter` is the refresh path.
|
|
201
|
+
*/
|
|
202
|
+
applyFilter(sheet_idx: number, payload: any): any;
|
|
203
|
+
/**
|
|
204
|
+
* Preflight and apply one native drag-fill atomically. The payload uses
|
|
205
|
+
* zero-based inclusive ranges. `infer` derives parameters from native
|
|
206
|
+
* samples; otherwise explicit detector witnesses remain strictly validated.
|
|
207
|
+
*/
|
|
208
|
+
apply_auto_fill(payload: any): any;
|
|
209
|
+
/**
|
|
210
|
+
* 浏览器只提供一次文字测量回调;Rust 遍历稀疏数据并在测量全部成功后写尺寸。
|
|
211
|
+
*/
|
|
212
|
+
auto_fit_dimensions(sheet: number, start_row: number, start_col: number, end_row: number, end_col: number, axis: string, default_row: number, default_col: number, measure: Function): boolean;
|
|
213
|
+
bulkImportCellsInstrumented(cells: any): any;
|
|
214
|
+
bulk_import_cells(cells: any): any;
|
|
215
|
+
bulk_install_workbook(payload: any): any;
|
|
216
|
+
capture_clipboard(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, cut: boolean): any;
|
|
217
|
+
/**
|
|
218
|
+
* 格式刷使用独立快照槽;保持普通剪贴板既有导出签名。
|
|
219
|
+
*/
|
|
220
|
+
capture_format_painter(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number): any;
|
|
221
|
+
change_comment(sheet: number, row: number, col: number, change_json: string): boolean;
|
|
222
|
+
change_custom_formula(sheet: number, action_json: string): boolean;
|
|
223
|
+
/**
|
|
224
|
+
* 一个原生命令完成显示文字/链接修改及单条撤销记录。
|
|
225
|
+
*/
|
|
226
|
+
change_hyperlink(sheet: number, row: number, col: number, url?: string | null, text?: string | null): boolean;
|
|
227
|
+
change_named_range(sheet: number, action: any): boolean;
|
|
228
|
+
change_note(sheet: number, row: number, col: number, text?: string | null): boolean;
|
|
229
|
+
change_outline(sheet: number, axis: string, action: any): boolean;
|
|
230
|
+
change_protection(sheet: number, change: any): boolean;
|
|
231
|
+
change_table(sheet: number, action: any): boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Clear a cell through the workbook. Local and cross-sheet formulas that
|
|
234
|
+
* read the cell re-derive through the shared Store graph.
|
|
235
|
+
*/
|
|
236
|
+
clearCellAt(sheet_idx: number, addr: string): void;
|
|
237
|
+
/**
|
|
238
|
+
* Drop `sheetIdx`'s filter — rules and derived rows both. Scan-free.
|
|
239
|
+
*/
|
|
240
|
+
clearFilter(sheet_idx: number): any;
|
|
241
|
+
clear_cell(sheet_idx: number, addr: string): void;
|
|
242
|
+
clear_range(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number): number;
|
|
243
|
+
clear_selection(request: any): any;
|
|
244
|
+
/**
|
|
245
|
+
* Define a Table over `[start..=end]` on `sheet_idx`. `name` is
|
|
246
|
+
* `Some` to use an explicit (validated) name, or `None`/`undefined`
|
|
247
|
+
* to auto-generate `Table1`, `Table2`, …. Returns the final
|
|
248
|
+
* (canonical-cased) Table name.
|
|
249
|
+
*/
|
|
250
|
+
createTable(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, name?: string | null): string;
|
|
251
|
+
/**
|
|
252
|
+
* Number of currently-registered custom formulas. Debug probe so
|
|
253
|
+
* JS tests can assert their register / unregister calls landed.
|
|
254
|
+
*/
|
|
255
|
+
customFormulaCount(): number;
|
|
256
|
+
/**
|
|
257
|
+
* List of registered custom-formula names (upper-cased). Stable
|
|
258
|
+
* alphabetical ordering not guaranteed — `HashMap::keys()` order.
|
|
259
|
+
* Used by hosts that want to render a "registered formulas"
|
|
260
|
+
* inspector. Returns a `JsValue::Array<String>`.
|
|
261
|
+
*/
|
|
262
|
+
customFormulaNames(): any;
|
|
263
|
+
/**
|
|
264
|
+
* Atom-delegation diagnostics aggregated across every sheet. This is a
|
|
265
|
+
* measurement-only debug surface; hydrated formula/static-range metadata
|
|
266
|
+
* is O(formula_count), while the legacy point-fanout fields stay zero.
|
|
267
|
+
*
|
|
268
|
+
* Returns a JS object with these fields (camelCase):
|
|
269
|
+
* - `totalFormulaCount` — sum of `formula_cells.len()` over sheets
|
|
270
|
+
* - `totalPointDepEdges` — always zero; Store owns point dependencies
|
|
271
|
+
* - `totalRangeDepEntries` — materialized Store geometry roots
|
|
272
|
+
* - `maxFanout` / `avgFanout` — always zero; no address fanout index
|
|
273
|
+
* - `rangeFormulaCount` — hydrated formulas with static range metadata
|
|
274
|
+
*/
|
|
275
|
+
debugDepGraphStats(): any;
|
|
276
|
+
debugLastBulkImportPhaseMs(): Float64Array;
|
|
277
|
+
/**
|
|
278
|
+
* Number of cross-sheet dependent edges currently tracked on the
|
|
279
|
+
* workbook. Track L's e2e gates fan-out correctness through this
|
|
280
|
+
* probe.
|
|
281
|
+
*
|
|
282
|
+
* Delegates to `Workbook::debug_cross_sheet_reverse_edge_count` —
|
|
283
|
+
* counts entries in the workbook's cross-sheet reverse dep index.
|
|
284
|
+
*/
|
|
285
|
+
debug_cross_sheet_dependents_count(): number;
|
|
286
|
+
debug_formula_cache_state(sheet_idx: number, addr: string): string;
|
|
287
|
+
/**
|
|
288
|
+
* Total formula records currently registered across all workbook sheets.
|
|
289
|
+
* This is a read-only aggregate, not a cell visit across sparse content.
|
|
290
|
+
*/
|
|
291
|
+
debug_formula_count(): number;
|
|
292
|
+
/**
|
|
293
|
+
* Total formula evaluations performed on one workbook sheet since
|
|
294
|
+
* creation. Used by worker-backed lazy import/read tests.
|
|
295
|
+
*/
|
|
296
|
+
debug_formula_eval_count(sheet_idx: number): number;
|
|
297
|
+
/**
|
|
298
|
+
* Total formula evaluations performed across all workbook sheets since
|
|
299
|
+
* creation. Uses each sheet's `debug_formula_eval_count` without
|
|
300
|
+
* evaluating any formulas.
|
|
301
|
+
*/
|
|
302
|
+
debug_formula_eval_count_total(): number;
|
|
303
|
+
/**
|
|
304
|
+
* Total number of live workbook subscription tokens currently held
|
|
305
|
+
* in the workbook bookkeeping map.
|
|
306
|
+
*/
|
|
307
|
+
debug_live_subscription_count(): number;
|
|
308
|
+
/**
|
|
309
|
+
* Number of formula records currently registered on one workbook sheet.
|
|
310
|
+
* Returns `0` for missing sheet indexes.
|
|
311
|
+
*/
|
|
312
|
+
debug_sheet_formula_count(sheet_idx: number): number;
|
|
313
|
+
/**
|
|
314
|
+
* Number of live `Sheet` listeners for a specific sheet. This
|
|
315
|
+
* includes only currently subscribed addresses and maps to the same
|
|
316
|
+
* contract as `Sheet::debug_live_subscription_count`.
|
|
317
|
+
*/
|
|
318
|
+
debug_sheet_live_subscription_count(sheet_idx: number): number;
|
|
319
|
+
defineName(name: string, formula: string): void;
|
|
320
|
+
/**
|
|
321
|
+
* Enumerate the workbook's defined names in canonical (user-typed)
|
|
322
|
+
* casing, sorted alphabetically by uppercased key. Useful for the
|
|
323
|
+
* W2 name-manager dialog so it doesn't need to subscribe to every
|
|
324
|
+
* `defineName` call individually.
|
|
325
|
+
*/
|
|
326
|
+
definedNames(): string[];
|
|
327
|
+
/**
|
|
328
|
+
* 仅删除低层 Table 注册项;不改写引用公式,不等同于用户的“转换为区域”。
|
|
329
|
+
*/
|
|
330
|
+
deleteTable(name: string): void;
|
|
331
|
+
delete_col(sheet_idx: number, at: number, count: number): void;
|
|
332
|
+
delete_row(sheet_idx: number, at: number, count: number): void;
|
|
333
|
+
/**
|
|
334
|
+
* Drain the async custom-formula request queue accumulated since the
|
|
335
|
+
* last drain. Returns `Array<{ callId: number, name: string,
|
|
336
|
+
* args: Array<number|string|boolean|null|any[][]> }>` — args marshal
|
|
337
|
+
* with the same rules as sync callback invocation (ranges arrive as
|
|
338
|
+
* 2-D row-major arrays). call_id is a u64 exposed as f64: safe below
|
|
339
|
+
* 2^53 calls. Call after any mutation entry point; empty queue
|
|
340
|
+
* returns an empty array at negligible cost.
|
|
341
|
+
*/
|
|
342
|
+
drainAsyncCustomRequests(): any;
|
|
343
|
+
/**
|
|
344
|
+
* Checked user command; the optional index distinguishes rename from add.
|
|
345
|
+
*/
|
|
346
|
+
edit_sheet(index: number | null | undefined, name: string): number;
|
|
347
|
+
/**
|
|
348
|
+
* 每次插删只产生一条历史;拒绝时数据、历史游标、剪贴板保持不变。
|
|
349
|
+
*/
|
|
350
|
+
edit_structure(sheet: number, action: string, at: number, count: number): boolean;
|
|
351
|
+
filter_values(request: any): any;
|
|
352
|
+
find_cells(request: any): any;
|
|
353
|
+
/**
|
|
354
|
+
* 双击填充只返回原生判定的末行,不把相邻列值传给 JS 再扫描。
|
|
355
|
+
*/
|
|
356
|
+
find_fill_down_end(sheet: number, source: any, row_limit: number): number | undefined;
|
|
357
|
+
/**
|
|
358
|
+
* 成功才提升临时快照;失败立即释放,不复制工作簿或新增历史。
|
|
359
|
+
*/
|
|
360
|
+
finish_clipboard_capture(commit: boolean): void;
|
|
361
|
+
/**
|
|
362
|
+
* 固定两个整数:[冻结行数, 冻结列数],零表示该轴不冻结。
|
|
363
|
+
*/
|
|
364
|
+
frozen_panes(sheet: number): Uint32Array;
|
|
365
|
+
/**
|
|
366
|
+
* Read a cell's display string through the workbook eval path.
|
|
367
|
+
* Convenience wrapper around `get_display(u32, ...)` with `usize`
|
|
368
|
+
* for the Phase 3 canonical API shape. The `&mut self` receiver
|
|
369
|
+
* future-proofs against `Workbook::get_cell` requiring a mutable
|
|
370
|
+
* borrow once cache promotion lands on the workbook eval provider —
|
|
371
|
+
* today it is read-only, but flipping the underlying signature
|
|
372
|
+
* must not break the JS API.
|
|
373
|
+
*/
|
|
374
|
+
getCellDisplay(sheet_idx: number, addr: string): string;
|
|
375
|
+
getDataValidation(sheet: number, row: number, col: number): any;
|
|
376
|
+
/**
|
|
377
|
+
* Read `sheetIdx`'s committed filter as
|
|
378
|
+
* `{ rules: ColumnFilterRule[], hiddenRows: number[] }`.
|
|
379
|
+
*
|
|
380
|
+
* A WHOLE-SHEET read, deliberately not window-bounded: a host has to
|
|
381
|
+
* know about hidden rows OUTSIDE the visible window to expand that
|
|
382
|
+
* window correctly, so answering with a windowed subset would be
|
|
383
|
+
* circular. Called on sheet activation and after a restore — never per
|
|
384
|
+
* frame, per scroll, or per revision.
|
|
385
|
+
*/
|
|
386
|
+
getFilter(sheet_idx: number): any;
|
|
387
|
+
getLastValidationFailure(): any;
|
|
388
|
+
getPrintConfig(sheet: number): any;
|
|
389
|
+
/**
|
|
390
|
+
* One Table as `TableJSON`, or `null` when no Table is registered under
|
|
391
|
+
* `name` (case-insensitive).
|
|
392
|
+
*/
|
|
393
|
+
getTable(name: string): any;
|
|
394
|
+
get_display(sheet_idx: number, addr: string): string;
|
|
395
|
+
get_formula(sheet_idx: number, addr: string): string;
|
|
396
|
+
get_number(sheet_idx: number, addr: string): number;
|
|
397
|
+
get_type(sheet_idx: number, addr: string): string;
|
|
398
|
+
/**
|
|
399
|
+
* Mark `rows` (0-based) manually hidden on `sheetIdx`, additively.
|
|
400
|
+
* Returns whether anything changed. Out-of-range `sheetIdx` and rows
|
|
401
|
+
* that were already hidden are silent `false`s; never throws.
|
|
402
|
+
*/
|
|
403
|
+
hideRows(sheet_idx: number, rows: Uint32Array): boolean;
|
|
404
|
+
history_apply(direction: string): boolean;
|
|
405
|
+
history_begin(sheet: number, start_row: number, start_col: number, end_row: number, end_col: number, label: string, content: boolean): void;
|
|
406
|
+
history_clear(notice: string): void;
|
|
407
|
+
history_finish(success: boolean): void;
|
|
408
|
+
history_state(): any;
|
|
409
|
+
host_mutation_state(): any;
|
|
410
|
+
host_read_ranges(targets: any): any;
|
|
411
|
+
host_write_cells(cells: any): boolean;
|
|
412
|
+
insert_col(sheet_idx: number, at: number, count: number): void;
|
|
413
|
+
insert_row(sheet_idx: number, at: number, count: number): void;
|
|
414
|
+
is_error(sheet_idx: number, addr: string): boolean;
|
|
415
|
+
listConditionalFormats(sheet: number): any;
|
|
416
|
+
/**
|
|
417
|
+
* The manually hidden rows on `sheetIdx` as a `number[]`, ascending.
|
|
418
|
+
* Empty for an out-of-range sheet.
|
|
419
|
+
*/
|
|
420
|
+
listHiddenRows(sheet_idx: number): Uint32Array;
|
|
421
|
+
/**
|
|
422
|
+
* Every registered Table as `TableJSON[]`, alphabetical by uppercased
|
|
423
|
+
* name (the engine's stable order).
|
|
424
|
+
*/
|
|
425
|
+
listTables(): any;
|
|
426
|
+
list_named_ranges(): any;
|
|
427
|
+
/**
|
|
428
|
+
* List every address that has a primitive value or formula across
|
|
429
|
+
* the workbook. This is metadata-only and does not evaluate formulas.
|
|
430
|
+
*/
|
|
431
|
+
list_non_empty_cells(): any;
|
|
432
|
+
locate_cells(request: any): any;
|
|
433
|
+
/**
|
|
434
|
+
* 复制、启停与重排都由原生目录一次修改,一次进入历史。
|
|
435
|
+
*/
|
|
436
|
+
manageConditionalFormatRule(sheet: number, request: any): any;
|
|
437
|
+
merge_cells(sheet: number, start_row: number, start_col: number, end_row: number, end_col: number, action: string, discard: boolean): boolean;
|
|
438
|
+
/**
|
|
439
|
+
* 全表稀疏合并矩形,按 [起始行, 起始列, 结束行, 结束列] 连续编码。
|
|
440
|
+
* 不裁成视口内的小矩形;键盘导航与屏幕外锚点仍使用真实边界。
|
|
441
|
+
*/
|
|
442
|
+
merged_ranges(sheet: number): Uint32Array;
|
|
443
|
+
move_sheet(from: number, to: number): boolean;
|
|
444
|
+
constructor();
|
|
445
|
+
/**
|
|
446
|
+
* 内部快照或外部 TSV 二选一。剪切只有成功落地后才消费快照。
|
|
447
|
+
*/
|
|
448
|
+
paste_clipboard(sheet_idx: number, row: number, col: number, text: string, internal: boolean, policy: any): Uint32Array;
|
|
449
|
+
/**
|
|
450
|
+
* 按属性写入 cellStyle / rowStyle / columnStyle。
|
|
451
|
+
*/
|
|
452
|
+
patch_format_range(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, patch: any, scope: string): number;
|
|
453
|
+
patch_format_selection(request: any): any;
|
|
454
|
+
/**
|
|
455
|
+
* 范围位置在 Rust 内计算;调用方用既有格式事务保存一次撤销。
|
|
456
|
+
*/
|
|
457
|
+
patch_range_borders(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, input: any): number;
|
|
458
|
+
/**
|
|
459
|
+
* 浏览器剪贴板写入可能失败,先暂存,不改变正式快照。
|
|
460
|
+
*/
|
|
461
|
+
prepare_clipboard(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, cut: boolean): any;
|
|
462
|
+
preview_number_format(sheet_idx: number, addr: string, format: any): string;
|
|
463
|
+
preview_remove_duplicates(request: any): any;
|
|
464
|
+
preview_text_columns(request: any): any;
|
|
465
|
+
read_comment(sheet: number, row: number, col: number): string;
|
|
466
|
+
read_custom_formulas(): string;
|
|
467
|
+
read_note(sheet: number, row: number, col: number): string | undefined;
|
|
468
|
+
read_protection(sheet: number): any;
|
|
469
|
+
/**
|
|
470
|
+
* Read non-empty cells in a zero-based inclusive range. This is an
|
|
471
|
+
* explicit read/export path, so formula cells in the range may be
|
|
472
|
+
* evaluated and promoted to clean cache state.
|
|
473
|
+
*/
|
|
474
|
+
read_sparse_range(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number): any;
|
|
475
|
+
/**
|
|
476
|
+
* `Data -> Reapply` (Excel `Ctrl+Alt+L`): re-run `sheetIdx`'s ALREADY
|
|
477
|
+
* COMMITTED rules against current cell values. Carries no rules of its
|
|
478
|
+
* own, so it can never change WHAT is filtered — only which rows
|
|
479
|
+
* currently satisfy it.
|
|
480
|
+
*/
|
|
481
|
+
reapplyFilter(sheet_idx: number): any;
|
|
482
|
+
recalculate(sheet?: number | null): number;
|
|
483
|
+
registerCustomFormula(name: string, callback: Function): void;
|
|
484
|
+
/**
|
|
485
|
+
* Register `name` as an ASYNC custom formula. Name-only: the JS
|
|
486
|
+
* callback stays in the worker's local map and never crosses into
|
|
487
|
+
* wasm. During evaluation the engine memoizes per (name, args),
|
|
488
|
+
* holds the cell at `#BUSY!`, and enqueues a pending request; the
|
|
489
|
+
* host drains with `drainAsyncCustomRequests`, awaits the callback,
|
|
490
|
+
* and settles with `resolveAsyncCustomCall`. Registering over an
|
|
491
|
+
* existing name (sync or async) replaces it and publishes the
|
|
492
|
+
* registry root like `registerCustomFormula`.
|
|
493
|
+
*/
|
|
494
|
+
registerCustomFormulaAsync(name: string): void;
|
|
495
|
+
removeConditionalFormatRule(sheet: number, request: any): any;
|
|
496
|
+
remove_duplicates(request: any): any;
|
|
497
|
+
remove_sheet(idx: number): boolean;
|
|
498
|
+
/**
|
|
499
|
+
* Rename a Table, rewriting every referencing formula's text.
|
|
500
|
+
*/
|
|
501
|
+
renameTable(name: string, new_name: string): void;
|
|
502
|
+
/**
|
|
503
|
+
* Rename one column of a Table, rewriting every referencing formula.
|
|
504
|
+
*/
|
|
505
|
+
renameTableColumn(name: string, old_column: string, new_column: string): void;
|
|
506
|
+
rename_sheet(idx: number, name: string): boolean;
|
|
507
|
+
replace_by_query(request: any): any;
|
|
508
|
+
/**
|
|
509
|
+
* 一次命令修改选区涉及的行/列,尺寸不写入 cellStyle。
|
|
510
|
+
*/
|
|
511
|
+
resize_range(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, axis: string, pixels: number): void;
|
|
512
|
+
/**
|
|
513
|
+
* Settle an async custom-formula call. `value` marshals with the
|
|
514
|
+
* same rules as a sync callback's return (`js_to_value`): scalars,
|
|
515
|
+
* error tokens / `{ error }` objects; `#BUSY!` demotes to `#VALUE!`.
|
|
516
|
+
* The worker maps callback throw/reject to `{ error: "#VALUE!" }`
|
|
517
|
+
* and calls this same entry — there is no separate reject API.
|
|
518
|
+
* Returns `false` when the call is unknown or stale (registry
|
|
519
|
+
* changed while the Promise was in flight); the value is dropped.
|
|
520
|
+
* Explicit `{ json: scalar_or_rectangular_array }` successes preserve
|
|
521
|
+
* JSON strings literally; existing `{ error }` objects take precedence.
|
|
522
|
+
*/
|
|
523
|
+
resolveAsyncCustomCall(call_id: number, value: any): boolean;
|
|
524
|
+
/**
|
|
525
|
+
* Replace every sheet's filter state with a `snapshotFilters` payload,
|
|
526
|
+
* returning how many sheets ended up with a filter. Restoring an empty
|
|
527
|
+
* `filters` array CLEARS everything — that is the point of REPLACE, not
|
|
528
|
+
* a no-op. Entries for sheets that no longer exist are dropped
|
|
529
|
+
* silently, and no predicate is re-run.
|
|
530
|
+
*/
|
|
531
|
+
restoreFilters(value: any): number;
|
|
532
|
+
/**
|
|
533
|
+
* Replace every sheet's manually hidden rows with a `snapshotHidden`
|
|
534
|
+
* payload, returning how many sheets ended up with at least one hidden
|
|
535
|
+
* row. Restoring an empty `hidden` array CLEARS everything — that is the
|
|
536
|
+
* point of REPLACE, not a no-op. Entries for sheets that no longer exist
|
|
537
|
+
* are dropped silently. A restore that reproduces the current state
|
|
538
|
+
* fires no epoch and costs no recompute.
|
|
539
|
+
*/
|
|
540
|
+
restoreHidden(value: any): number;
|
|
541
|
+
/**
|
|
542
|
+
* Replace the whole Table registry with a `snapshotTables` payload,
|
|
543
|
+
* returning the number of Tables now registered.
|
|
544
|
+
*
|
|
545
|
+
* **REPLACE, not additive** (unlike `restoreSparse`): Tables created
|
|
546
|
+
* after the snapshot are dropped and Tables deleted since are revived,
|
|
547
|
+
* which is what makes a Table-definition undo symmetric. Restoring an
|
|
548
|
+
* empty `tables` array therefore CLEARS the registry — it is not a
|
|
549
|
+
* no-op.
|
|
550
|
+
*
|
|
551
|
+
* All-or-nothing: the payload is fully validated (cap 256, name shape,
|
|
552
|
+
* the §4.2 name mutex against current defined names, same-sheet range
|
|
553
|
+
* overlap, column-count vs range width) before anything is swapped, so a
|
|
554
|
+
* rejection leaves the live registry untouched. Errors are the stable
|
|
555
|
+
* `table_error_to_js` strings plus `"unsupported-snapshot-version"` and
|
|
556
|
+
* parse messages for a malformed envelope. Only cell values/formulas are
|
|
557
|
+
* left alone — the registry is a view over them.
|
|
558
|
+
*
|
|
559
|
+
* A restore that changes the registry bumps the tables epoch, so
|
|
560
|
+
* `=SUM(Table1[Qty])` and friends re-derive against the restored
|
|
561
|
+
* geometry; a restore that reproduces the current registry exactly
|
|
562
|
+
* skips the bump.
|
|
563
|
+
*/
|
|
564
|
+
restoreTables(value: any): number;
|
|
565
|
+
/**
|
|
566
|
+
* Restore a formatting snapshot produced by `snapshot_format_range`.
|
|
567
|
+
*/
|
|
568
|
+
restore_format_snapshot(snapshot: any): number;
|
|
569
|
+
/**
|
|
570
|
+
* Restore a persistence-v1 sparse envelope into this workbook.
|
|
571
|
+
*
|
|
572
|
+
* Returns simple restore stats for quick assertions.
|
|
573
|
+
*/
|
|
574
|
+
restore_persistence_v1(value: any): any;
|
|
575
|
+
/**
|
|
576
|
+
* Restore sparse cell records produced by `snapshot_sparse` or
|
|
577
|
+
* `snapshot_range_sparse`. Uses workbook bulk-load so formulas are
|
|
578
|
+
* reinstalled dirty and are not evaluated during restore.
|
|
579
|
+
*
|
|
580
|
+
* **Contract: ADDITIVE merge onto the live workbook** (audit B-7).
|
|
581
|
+
* There is no teardown and no subscription reset — records are
|
|
582
|
+
* applied on top of whatever the workbook already holds, and a
|
|
583
|
+
* `"null"`-kind record explicitly clears its cell. The legacy
|
|
584
|
+
* sheet-store relies on this for large-range-clear undo: it
|
|
585
|
+
* snapshots only the range's non-empty cells, clears, and undoes
|
|
586
|
+
* by restoring that sparse snapshot onto the live workbook.
|
|
587
|
+
*
|
|
588
|
+
* W2.3 (audit B-1) verdict: because of this additive contract,
|
|
589
|
+
* `restore_sparse` deliberately STAYS on the legacy per-cell
|
|
590
|
+
* `WorkbookLoader` path — the storage-primary
|
|
591
|
+
* `install_workbook_bulk` is a full-sheet REPLACE and would
|
|
592
|
+
* silently destroy unrelated live content. Routing it would need
|
|
593
|
+
* the additive install variant Phase 6.4 deferred. The fresh-shell
|
|
594
|
+
* restore (`restore_persistence_v1`) IS routed storage-primary.
|
|
595
|
+
*/
|
|
596
|
+
restore_sparse(cells: any): number;
|
|
597
|
+
setCellInputConfirmed(sheet: number, addr: string, input: string, expand_tables: boolean): void;
|
|
598
|
+
setConditionalFormatRule(sheet: number, request: any): any;
|
|
599
|
+
setDataValidation(sheet: number, start_row: number, start_col: number, end_row: number, end_col: number, rule: any): void;
|
|
600
|
+
/**
|
|
601
|
+
* Push the host's per-sheet FILTER-hidden row set as read-only evaluation
|
|
602
|
+
* input (`design-filter-hidden-rows` §6.5). Additive twin of
|
|
603
|
+
* `setEvalHiddenRows` — that method is unchanged — carrying the source
|
|
604
|
+
* distinction Excel's two SUBTOTAL layers need: `SUBTOTAL(1-11)` excludes
|
|
605
|
+
* THIS set but includes manually hidden rows, `SUBTOTAL(101-111)` excludes
|
|
606
|
+
* both. Same shape and contract as `setEvalHiddenRows`: `rows` is a
|
|
607
|
+
* `number[]` of 0-based row indices, full-replace, empty array clears,
|
|
608
|
+
* out-of-range `sheet_idx` is a silent no-op, never throws.
|
|
609
|
+
*/
|
|
610
|
+
setEvalFilterHiddenRows(sheet_idx: number, rows: Uint32Array): void;
|
|
611
|
+
setEvalHiddenRows(sheet_idx: number, rows: Uint32Array): void;
|
|
612
|
+
/**
|
|
613
|
+
* Set a cell's formula through the workbook. Returns `true` if the
|
|
614
|
+
* formula parsed and installed cleanly, `false` if parse failed
|
|
615
|
+
* (cell becomes `#VALUE!`) or a cycle was detected (cell becomes
|
|
616
|
+
* `#CYCLE!`).
|
|
617
|
+
*
|
|
618
|
+
* The legacy `set_formula(sheet_idx: u32, ...)` routes through the same
|
|
619
|
+
* workbook method. This `usize`-typed alias is retained for generated
|
|
620
|
+
* bindings and worker callers.
|
|
621
|
+
*/
|
|
622
|
+
setFormulaAt(sheet_idx: number, addr: string, src: string): boolean;
|
|
623
|
+
setPrintConfig(sheet: number, config: any): any;
|
|
624
|
+
/**
|
|
625
|
+
* Set one totals-row column's aggregate (design doc #32 §7). `func` is a
|
|
626
|
+
* camelCase id: `"none"` (clears the cell) / `"average"` / `"count"`
|
|
627
|
+
* (COUNTA) / `"countNums"` (COUNT) / `"max"` / `"min"` / `"sum"` /
|
|
628
|
+
* `"stdDev"` / `"var"`. Non-`none` ids write `=SUBTOTAL(1xx, Table[Col])`
|
|
629
|
+
* with the 101-111 hidden-excluding code. Requires the totals row to be
|
|
630
|
+
* enabled first (`"no-totals-row"` otherwise); unknown `func` yields
|
|
631
|
+
* `"invalid-totals-function"`.
|
|
632
|
+
*/
|
|
633
|
+
setTableTotalFunction(name: string, column: string, func: string): void;
|
|
634
|
+
setTableTotalsRow(name: string, enabled: boolean): void;
|
|
635
|
+
set_boolean(sheet_idx: number, addr: string, value: boolean): void;
|
|
636
|
+
/**
|
|
637
|
+
* Set a cell to a boolean value through the workbook. Cross-sheet aware.
|
|
638
|
+
*/
|
|
639
|
+
set_cell_boolean(sheet_idx: number, addr: string, value: boolean): void;
|
|
640
|
+
/**
|
|
641
|
+
* Set a cell to an error value through the workbook. Cross-sheet aware.
|
|
642
|
+
*/
|
|
643
|
+
set_cell_error(sheet_idx: number, addr: string, value: string): void;
|
|
644
|
+
/**
|
|
645
|
+
* 原始编辑与单条历史一起交给 Rust;表头输入复用列名原子操作。
|
|
646
|
+
*/
|
|
647
|
+
set_cell_input(sheet_idx: number, addr: string, input: string): void;
|
|
648
|
+
/**
|
|
649
|
+
* 保护表可关闭自动扩展;保留原输入 API 的签名,仍只执行一次原生写入。
|
|
650
|
+
*/
|
|
651
|
+
set_cell_input_with_table_expansion(sheet_idx: number, addr: string, input: string, expand_tables: boolean): void;
|
|
652
|
+
set_cell_number(sheet_idx: number, addr: string, value: number): void;
|
|
653
|
+
/**
|
|
654
|
+
* Set a cell to a text value through the workbook. Cross-sheet aware.
|
|
655
|
+
*/
|
|
656
|
+
set_cell_text(sheet_idx: number, addr: string, value: string): void;
|
|
657
|
+
/**
|
|
658
|
+
* Persist a sparse column-width fact on a workbook sheet. Empty columns are
|
|
659
|
+
* not materialized; this only updates sheet metadata.
|
|
660
|
+
*/
|
|
661
|
+
set_col_width(sheet_idx: number, col_index: number, width_px: number): boolean;
|
|
662
|
+
set_error(sheet_idx: number, addr: string, value: string): void;
|
|
663
|
+
/**
|
|
664
|
+
* 兼容旧调用:把完整格式逐格写进 cellStyle。
|
|
665
|
+
*/
|
|
666
|
+
set_format_range(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, fmt: any): number;
|
|
667
|
+
set_formula(sheet_idx: number, addr: string, formula: string): boolean;
|
|
668
|
+
set_frozen_panes(sheet: number, rows: number, cols: number): boolean;
|
|
669
|
+
set_number(sheet_idx: number, addr: string, value: number): void;
|
|
670
|
+
set_row_height(sheet_idx: number, row_index: number, height_px: number): boolean;
|
|
671
|
+
set_text(sheet_idx: number, addr: string, value: string): void;
|
|
672
|
+
/**
|
|
673
|
+
* 一次确认只产生一条原生历史;取消隐藏使用原范围,全表范围即恢复全部。
|
|
674
|
+
*/
|
|
675
|
+
set_visibility(sheet: number, start_row: number, start_col: number, end_row: number, end_col: number, action: string): boolean;
|
|
676
|
+
sheet_count(): number;
|
|
677
|
+
/**
|
|
678
|
+
* Opaque native identity; String avoids JavaScript's integer precision limit.
|
|
679
|
+
*/
|
|
680
|
+
sheet_key(idx: number): string;
|
|
681
|
+
sheet_name(idx: number): string;
|
|
682
|
+
/**
|
|
683
|
+
* 包括屏幕外索引,几何定位不依赖当前挂载的单元格。
|
|
684
|
+
*/
|
|
685
|
+
sheet_visibility(sheet: number): any;
|
|
686
|
+
/**
|
|
687
|
+
* Snapshot display/type/error/formula for a single cell with one
|
|
688
|
+
* workbook read. Worker hydration uses this to avoid evaluating a dirty
|
|
689
|
+
* formula once for display, again for type, and again for error state.
|
|
690
|
+
*/
|
|
691
|
+
snapshotCell(sheet_idx: number, addr: string): any;
|
|
692
|
+
/**
|
|
693
|
+
* Capture every sheet's filter state as an undo before-image. Twin of
|
|
694
|
+
* `snapshotHidden`: pure read, no epoch bump, whole-workbook REPLACE on
|
|
695
|
+
* the way back through `restoreFilters`. Sheets with no filter are
|
|
696
|
+
* omitted.
|
|
697
|
+
*/
|
|
698
|
+
snapshotFilters(): any;
|
|
699
|
+
/**
|
|
700
|
+
* Capture every sheet's manually hidden rows as an undo before-image.
|
|
701
|
+
* Twin of `snapshotTables`: pure read, no epoch bump, whole-workbook
|
|
702
|
+
* REPLACE on the way back through `restoreHidden`. Sheets with nothing
|
|
703
|
+
* hidden are omitted.
|
|
704
|
+
*/
|
|
705
|
+
snapshotHidden(): any;
|
|
706
|
+
/**
|
|
707
|
+
* Capture the whole Excel Table registry as an undo before-image
|
|
708
|
+
* (design doc #32 §11/§12). Returns
|
|
709
|
+
* `{ version: 1, tables: TableJSON[] }` — the same per-Table shape
|
|
710
|
+
* `listTables` emits, wrapped in a versioned envelope.
|
|
711
|
+
*
|
|
712
|
+
* 此低层快照只包含注册元数据,不包含表头与公式;交互撤销使用 Rust 原生历史,
|
|
713
|
+
* 不能由宿主把这个快照当成完整 Table 操作。Pure read — no epoch bump.
|
|
714
|
+
*/
|
|
715
|
+
snapshotTables(): any;
|
|
716
|
+
/**
|
|
717
|
+
* 显示专用快照含条件高亮;基础 snapshot_format_range 继续服务复制和持久化。
|
|
718
|
+
*/
|
|
719
|
+
snapshot_display_format_range(sheet: number, start_row: number, start_col: number, end_row: number, end_col: number): any;
|
|
720
|
+
/**
|
|
721
|
+
* Snapshot sparse formatting metadata for a workbook sheet. The
|
|
722
|
+
* snapshot is metadata-only and safe for lazy formula caches.
|
|
723
|
+
*/
|
|
724
|
+
snapshot_format_range(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number): any;
|
|
725
|
+
/**
|
|
726
|
+
* Snapshot workbook state as persistence-v1 sparse envelope.
|
|
727
|
+
*
|
|
728
|
+
* Format metadata includes range-format and in-range cell formats from each
|
|
729
|
+
* sheet snapshot, but does not serialize any dense grid materialization.
|
|
730
|
+
* Formula cells are serialized using their source (`=...`), preserving lazy
|
|
731
|
+
* evaluation contracts during restore.
|
|
732
|
+
*/
|
|
733
|
+
snapshot_persistence_v1(): any;
|
|
734
|
+
/**
|
|
735
|
+
* Snapshot non-empty cells in a zero-based inclusive range without
|
|
736
|
+
* reading formula values. Formula cells serialize their source and stay
|
|
737
|
+
* dirty/uncomputed, so this is safe for large-range undo.
|
|
738
|
+
*/
|
|
739
|
+
snapshot_range_sparse(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number): any;
|
|
740
|
+
/**
|
|
741
|
+
* Snapshot sparse workbook contents without reading formula values.
|
|
742
|
+
*
|
|
743
|
+
* Formula cells serialize their source (`kind: "formula"`) and do
|
|
744
|
+
* not call the eval path, so dirty formula caches stay dirty.
|
|
745
|
+
*/
|
|
746
|
+
snapshot_sparse(): any;
|
|
747
|
+
/**
|
|
748
|
+
* Snapshot row/column size metadata for the requested visible window.
|
|
749
|
+
*/
|
|
750
|
+
snapshot_viewport_sizes(sheet_idx: number, start_row: number, start_col: number, end_row: number, end_col: number): any;
|
|
751
|
+
/**
|
|
752
|
+
* Physically sort a range (design-engine-sort S2). Payload:
|
|
753
|
+
* `{ range, keys: [{ col, direction, caseSensitive }], excludedRows }`
|
|
754
|
+
* where `range` is an A1 string or a zero-based bounds object. Returns
|
|
755
|
+
* the `SortRangeReport` witness on success and a structured
|
|
756
|
+
* `{ ok: false, code, anchor?, message? }` object for every rejection —
|
|
757
|
+
* engine gates (`invalid-range`, `empty-keys`, `key-out-of-range`,
|
|
758
|
+
* `spill-in-range`) and payload-parse failures (`invalid-payload`).
|
|
759
|
+
* The `Err` arm is reserved for a catastrophic report serialization.
|
|
760
|
+
*/
|
|
761
|
+
sortRange(sheet_idx: number, payload: any): any;
|
|
762
|
+
spillAnchor(sheet_idx: number, addr: string): any;
|
|
763
|
+
/**
|
|
764
|
+
* 碰撞态(`#SPILL!`)锚点是被哪一格挡住的 —— 返回 `"B3"` 形式的地址字符串,
|
|
765
|
+
* 答不出时 `null`。UI 拿它给用户一句「把 B3 清掉就好了」,这是 `#SPILL!`
|
|
766
|
+
* 唯一缺的那条线索(`spillInfo` 对碰撞态锚点恒回 `null`,因为它一格都没装上)。
|
|
767
|
+
*
|
|
768
|
+
* 答不出的三种情形在 JS 侧不区分,因为处理方式一样 —— 不说话:`addr` 不是碰撞态
|
|
769
|
+
* 锚点、碰撞原因是矩形跑出表边(没有哪一格该被指责)、矩形大到超出扫描上限。
|
|
770
|
+
* 语义与上限的完整说明见 `sheet_spill_blocker.rs`。
|
|
771
|
+
*/
|
|
772
|
+
spillBlocker(sheet_idx: number, addr: string): any;
|
|
773
|
+
/**
|
|
774
|
+
* Workbook variant of `WasmSheet::spill_info`. See that method for
|
|
775
|
+
* JS-side semantics. Returns `null` for an unknown sheet index.
|
|
776
|
+
*/
|
|
777
|
+
spillInfo(sheet_idx: number, addr: string): any;
|
|
778
|
+
split_text_columns(request: any, overwrite: boolean): any;
|
|
779
|
+
/**
|
|
780
|
+
* Subscribe to a cell at `sheet_name!addr`. Returns an opaque
|
|
781
|
+
* `u32` token; pass it back to `unsubscribe_cell` to cancel.
|
|
782
|
+
*
|
|
783
|
+
* The callback subscribes to the sheet's stable cell facade. Local and
|
|
784
|
+
* cross-sheet dependencies both settle through the workbook-scoped Store;
|
|
785
|
+
* this map only owns the opaque token and sheet-remap lifecycle.
|
|
786
|
+
*/
|
|
787
|
+
subscribe_cell(sheet_name: string, addr: string, cb: Function): number;
|
|
788
|
+
/**
|
|
789
|
+
* 只读建议:不写入内容、不增加历史,用户确认仍走 set_cell_input。
|
|
790
|
+
*/
|
|
791
|
+
suggest_quick_formula(request: any): any;
|
|
792
|
+
tryClearCellAt(sheet_idx: number, addr: string): any;
|
|
793
|
+
trySetCellBoolean(sheet_idx: number, addr: string, value: boolean): any;
|
|
794
|
+
trySetCellError(sheet_idx: number, addr: string, value: string): any;
|
|
795
|
+
trySetCellNumber(sheet_idx: number, addr: string, value: number): any;
|
|
796
|
+
trySetCellText(sheet_idx: number, addr: string, value: string): any;
|
|
797
|
+
/**
|
|
798
|
+
* Returns the formula install outcome plus an optional spill-write
|
|
799
|
+
* rejection. JS shape:
|
|
800
|
+
* { ok: true, installed: true } | { ok: true, installed: false }
|
|
801
|
+
* | { ok: false, code: 'spill-write', anchor: 'A1' }
|
|
802
|
+
* `installed: false` corresponds to parse failure (`#VALUE!`) or
|
|
803
|
+
* cycle detection (`#CYCLE!`) — the cell value already reflects
|
|
804
|
+
* that, and the caller can pick it up via a follow-up snapshot.
|
|
805
|
+
*/
|
|
806
|
+
trySetFormulaAt(sheet_idx: number, addr: string, src: string): any;
|
|
807
|
+
/**
|
|
808
|
+
* Remove a previously-registered name. Returns `true` if an entry
|
|
809
|
+
* was removed; `false` if no entry existed. Publishing the name-version
|
|
810
|
+
* root makes dependent formula-inner atoms re-derive to `#NAME?` (or any
|
|
811
|
+
* newly-shadowing definition).
|
|
812
|
+
*/
|
|
813
|
+
undefineName(name: string): boolean;
|
|
814
|
+
/**
|
|
815
|
+
* Un-hide `rows` (0-based) on `sheetIdx`. Rows that were not hidden are
|
|
816
|
+
* ignored. Returns whether anything changed; never throws.
|
|
817
|
+
*/
|
|
818
|
+
unhideRows(sheet_idx: number, rows: Uint32Array): boolean;
|
|
819
|
+
/**
|
|
820
|
+
* Remove a previously-registered custom formula. Returns `true` if
|
|
821
|
+
* an entry was removed; `false` if no entry existed. The registry Store
|
|
822
|
+
* root is published only when removal succeeds, so materialized formulas
|
|
823
|
+
* that consulted it re-derive and may surface `#NAME?`.
|
|
824
|
+
*/
|
|
825
|
+
unregisterCustomFormula(name: string): boolean;
|
|
826
|
+
/**
|
|
827
|
+
* Cancel a subscription previously returned from `subscribe_cell`.
|
|
828
|
+
* Idempotent: unknown / stale tokens are silently ignored.
|
|
829
|
+
*/
|
|
830
|
+
unsubscribe_cell(token: number): void;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
export function function_catalog(): any;
|
|
834
|
+
|
|
835
|
+
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
836
|
+
|
|
837
|
+
export interface InitOutput {
|
|
838
|
+
readonly memory: WebAssembly.Memory;
|
|
839
|
+
readonly __wbg_wasmsheet_free: (a: number, b: number) => void;
|
|
840
|
+
readonly __wbg_wasmworkbook_free: (a: number, b: number) => void;
|
|
841
|
+
readonly function_catalog: () => [number, number, number];
|
|
842
|
+
readonly wasmsheet___debugPanicNextCallback: (a: number) => void;
|
|
843
|
+
readonly wasmsheet_batch_set_numbers: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
844
|
+
readonly wasmsheet_clear_cell: (a: number, b: number, c: number) => void;
|
|
845
|
+
readonly wasmsheet_clear_range: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
846
|
+
readonly wasmsheet_debug_dirty_count: (a: number) => number;
|
|
847
|
+
readonly wasmsheet_debug_formula_eval_count: (a: number) => number;
|
|
848
|
+
readonly wasmsheet_debug_imported_formula_count: (a: number) => number;
|
|
849
|
+
readonly wasmsheet_debug_live_subscription_count: (a: number) => number;
|
|
850
|
+
readonly wasmsheet_debug_range_dep_count: (a: number) => number;
|
|
851
|
+
readonly wasmsheet_delete_col: (a: number, b: number, c: number) => void;
|
|
852
|
+
readonly wasmsheet_delete_row: (a: number, b: number, c: number) => void;
|
|
853
|
+
readonly wasmsheet_formatted_display: (a: number, b: number, c: number) => [number, number];
|
|
854
|
+
readonly wasmsheet_get_display: (a: number, b: number, c: number) => [number, number];
|
|
855
|
+
readonly wasmsheet_get_effective_format: (a: number, b: number, c: number) => any;
|
|
856
|
+
readonly wasmsheet_get_format: (a: number, b: number, c: number) => any;
|
|
857
|
+
readonly wasmsheet_get_formula: (a: number, b: number, c: number) => [number, number];
|
|
858
|
+
readonly wasmsheet_get_number: (a: number, b: number, c: number) => number;
|
|
859
|
+
readonly wasmsheet_get_type: (a: number, b: number, c: number) => [number, number];
|
|
860
|
+
readonly wasmsheet_insert_col: (a: number, b: number, c: number) => void;
|
|
861
|
+
readonly wasmsheet_insert_row: (a: number, b: number, c: number) => void;
|
|
862
|
+
readonly wasmsheet_is_error: (a: number, b: number, c: number) => number;
|
|
863
|
+
readonly wasmsheet_new: () => number;
|
|
864
|
+
readonly wasmsheet_non_empty_addrs: (a: number) => [number, number];
|
|
865
|
+
readonly wasmsheet_patch_format_range: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
|
|
866
|
+
readonly wasmsheet_restore_format_snapshot: (a: number, b: any) => [number, number, number];
|
|
867
|
+
readonly wasmsheet_set_boolean: (a: number, b: number, c: number, d: number) => void;
|
|
868
|
+
readonly wasmsheet_set_error: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
869
|
+
readonly wasmsheet_set_format: (a: number, b: number, c: number, d: any) => [number, number];
|
|
870
|
+
readonly wasmsheet_set_format_range: (a: number, b: number, c: number, d: number, e: number, f: any) => [number, number, number];
|
|
871
|
+
readonly wasmsheet_set_formula: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
872
|
+
readonly wasmsheet_set_number: (a: number, b: number, c: number, d: number) => void;
|
|
873
|
+
readonly wasmsheet_set_text: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
874
|
+
readonly wasmsheet_snapshot_format_range: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
875
|
+
readonly wasmsheet_spillInfo: (a: number, b: number, c: number) => any;
|
|
876
|
+
readonly wasmsheet_subscribe: (a: number, b: number, c: number, d: any) => number;
|
|
877
|
+
readonly wasmsheet_unsubscribe: (a: number, b: number) => void;
|
|
878
|
+
readonly wasmworkbook_add_sheet: (a: number, b: number, c: number) => number;
|
|
879
|
+
readonly wasmworkbook_aggregate_selection: (a: number, b: any) => [number, number, number];
|
|
880
|
+
readonly wasmworkbook_applyFilter: (a: number, b: number, c: any) => [number, number, number];
|
|
881
|
+
readonly wasmworkbook_apply_auto_fill: (a: number, b: any) => [number, number, number];
|
|
882
|
+
readonly wasmworkbook_auto_fit_dimensions: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: any) => [number, number, number];
|
|
883
|
+
readonly wasmworkbook_bulkImportCellsInstrumented: (a: number, b: any) => [number, number, number];
|
|
884
|
+
readonly wasmworkbook_bulk_import_cells: (a: number, b: any) => [number, number, number];
|
|
885
|
+
readonly wasmworkbook_bulk_install_workbook: (a: number, b: any) => [number, number, number];
|
|
886
|
+
readonly wasmworkbook_capture_clipboard: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
|
|
887
|
+
readonly wasmworkbook_capture_format_painter: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
888
|
+
readonly wasmworkbook_change_comment: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
889
|
+
readonly wasmworkbook_change_custom_formula: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
890
|
+
readonly wasmworkbook_change_hyperlink: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
|
|
891
|
+
readonly wasmworkbook_change_named_range: (a: number, b: number, c: any) => [number, number, number];
|
|
892
|
+
readonly wasmworkbook_change_note: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
893
|
+
readonly wasmworkbook_change_outline: (a: number, b: number, c: number, d: number, e: any) => [number, number, number];
|
|
894
|
+
readonly wasmworkbook_change_protection: (a: number, b: number, c: any) => [number, number, number];
|
|
895
|
+
readonly wasmworkbook_change_table: (a: number, b: number, c: any) => [number, number, number];
|
|
896
|
+
readonly wasmworkbook_clearCellAt: (a: number, b: number, c: number, d: number) => void;
|
|
897
|
+
readonly wasmworkbook_clearFilter: (a: number, b: number) => [number, number, number];
|
|
898
|
+
readonly wasmworkbook_clear_cell: (a: number, b: number, c: number, d: number) => void;
|
|
899
|
+
readonly wasmworkbook_clear_range: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
900
|
+
readonly wasmworkbook_clear_selection: (a: number, b: any) => [number, number, number];
|
|
901
|
+
readonly wasmworkbook_createTable: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
902
|
+
readonly wasmworkbook_customFormulaCount: (a: number) => number;
|
|
903
|
+
readonly wasmworkbook_customFormulaNames: (a: number) => any;
|
|
904
|
+
readonly wasmworkbook_debugDepGraphStats: (a: number) => [number, number, number];
|
|
905
|
+
readonly wasmworkbook_debugLastBulkImportPhaseMs: (a: number) => [number, number];
|
|
906
|
+
readonly wasmworkbook_debug_cross_sheet_dependents_count: (a: number) => number;
|
|
907
|
+
readonly wasmworkbook_debug_formula_cache_state: (a: number, b: number, c: number, d: number) => [number, number];
|
|
908
|
+
readonly wasmworkbook_debug_formula_count: (a: number) => number;
|
|
909
|
+
readonly wasmworkbook_debug_formula_eval_count: (a: number, b: number) => number;
|
|
910
|
+
readonly wasmworkbook_debug_formula_eval_count_total: (a: number) => number;
|
|
911
|
+
readonly wasmworkbook_debug_live_subscription_count: (a: number) => number;
|
|
912
|
+
readonly wasmworkbook_debug_sheet_formula_count: (a: number, b: number) => number;
|
|
913
|
+
readonly wasmworkbook_debug_sheet_live_subscription_count: (a: number, b: number) => number;
|
|
914
|
+
readonly wasmworkbook_defineName: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
915
|
+
readonly wasmworkbook_definedNames: (a: number) => [number, number];
|
|
916
|
+
readonly wasmworkbook_deleteTable: (a: number, b: number, c: number) => [number, number];
|
|
917
|
+
readonly wasmworkbook_delete_col: (a: number, b: number, c: number, d: number) => void;
|
|
918
|
+
readonly wasmworkbook_delete_row: (a: number, b: number, c: number, d: number) => void;
|
|
919
|
+
readonly wasmworkbook_drainAsyncCustomRequests: (a: number) => any;
|
|
920
|
+
readonly wasmworkbook_edit_sheet: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
921
|
+
readonly wasmworkbook_edit_structure: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
922
|
+
readonly wasmworkbook_filter_values: (a: number, b: any) => [number, number, number];
|
|
923
|
+
readonly wasmworkbook_find_cells: (a: number, b: any) => [number, number, number];
|
|
924
|
+
readonly wasmworkbook_find_fill_down_end: (a: number, b: number, c: any, d: number) => [number, number, number];
|
|
925
|
+
readonly wasmworkbook_finish_clipboard_capture: (a: number, b: number) => void;
|
|
926
|
+
readonly wasmworkbook_frozen_panes: (a: number, b: number) => [number, number, number, number];
|
|
927
|
+
readonly wasmworkbook_getCellDisplay: (a: number, b: number, c: number, d: number) => [number, number];
|
|
928
|
+
readonly wasmworkbook_getDataValidation: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
929
|
+
readonly wasmworkbook_getFilter: (a: number, b: number) => [number, number, number];
|
|
930
|
+
readonly wasmworkbook_getLastValidationFailure: (a: number) => [number, number, number];
|
|
931
|
+
readonly wasmworkbook_getPrintConfig: (a: number, b: number) => [number, number, number];
|
|
932
|
+
readonly wasmworkbook_getTable: (a: number, b: number, c: number) => [number, number, number];
|
|
933
|
+
readonly wasmworkbook_get_display: (a: number, b: number, c: number, d: number) => [number, number];
|
|
934
|
+
readonly wasmworkbook_get_formula: (a: number, b: number, c: number, d: number) => [number, number];
|
|
935
|
+
readonly wasmworkbook_get_number: (a: number, b: number, c: number, d: number) => number;
|
|
936
|
+
readonly wasmworkbook_get_type: (a: number, b: number, c: number, d: number) => [number, number];
|
|
937
|
+
readonly wasmworkbook_hideRows: (a: number, b: number, c: number, d: number) => number;
|
|
938
|
+
readonly wasmworkbook_history_apply: (a: number, b: number, c: number) => [number, number, number];
|
|
939
|
+
readonly wasmworkbook_history_begin: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
940
|
+
readonly wasmworkbook_history_clear: (a: number, b: number, c: number) => void;
|
|
941
|
+
readonly wasmworkbook_history_finish: (a: number, b: number) => [number, number];
|
|
942
|
+
readonly wasmworkbook_history_state: (a: number) => [number, number, number];
|
|
943
|
+
readonly wasmworkbook_host_mutation_state: (a: number) => [number, number, number];
|
|
944
|
+
readonly wasmworkbook_host_read_ranges: (a: number, b: any) => [number, number, number];
|
|
945
|
+
readonly wasmworkbook_host_write_cells: (a: number, b: any) => [number, number, number];
|
|
946
|
+
readonly wasmworkbook_insert_col: (a: number, b: number, c: number, d: number) => void;
|
|
947
|
+
readonly wasmworkbook_insert_row: (a: number, b: number, c: number, d: number) => void;
|
|
948
|
+
readonly wasmworkbook_is_error: (a: number, b: number, c: number, d: number) => number;
|
|
949
|
+
readonly wasmworkbook_listConditionalFormats: (a: number, b: number) => [number, number, number];
|
|
950
|
+
readonly wasmworkbook_listHiddenRows: (a: number, b: number) => [number, number];
|
|
951
|
+
readonly wasmworkbook_listTables: (a: number) => [number, number, number];
|
|
952
|
+
readonly wasmworkbook_list_named_ranges: (a: number) => [number, number, number];
|
|
953
|
+
readonly wasmworkbook_list_non_empty_cells: (a: number) => [number, number, number];
|
|
954
|
+
readonly wasmworkbook_locate_cells: (a: number, b: any) => [number, number, number];
|
|
955
|
+
readonly wasmworkbook_manageConditionalFormatRule: (a: number, b: number, c: any) => [number, number, number];
|
|
956
|
+
readonly wasmworkbook_merge_cells: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
|
|
957
|
+
readonly wasmworkbook_merged_ranges: (a: number, b: number) => [number, number, number, number];
|
|
958
|
+
readonly wasmworkbook_move_sheet: (a: number, b: number, c: number) => number;
|
|
959
|
+
readonly wasmworkbook_new: () => number;
|
|
960
|
+
readonly wasmworkbook_paste_clipboard: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: any) => [number, number, number, number];
|
|
961
|
+
readonly wasmworkbook_patch_format_range: (a: number, b: number, c: number, d: number, e: number, f: number, g: any, h: number, i: number) => [number, number, number];
|
|
962
|
+
readonly wasmworkbook_patch_format_selection: (a: number, b: any) => [number, number, number];
|
|
963
|
+
readonly wasmworkbook_patch_range_borders: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => [number, number, number];
|
|
964
|
+
readonly wasmworkbook_prepare_clipboard: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
|
|
965
|
+
readonly wasmworkbook_preview_number_format: (a: number, b: number, c: number, d: number, e: any) => [number, number, number, number];
|
|
966
|
+
readonly wasmworkbook_preview_remove_duplicates: (a: number, b: any) => [number, number, number];
|
|
967
|
+
readonly wasmworkbook_preview_text_columns: (a: number, b: any) => [number, number, number];
|
|
968
|
+
readonly wasmworkbook_read_comment: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
969
|
+
readonly wasmworkbook_read_custom_formulas: (a: number) => [number, number, number, number];
|
|
970
|
+
readonly wasmworkbook_read_note: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
971
|
+
readonly wasmworkbook_read_protection: (a: number, b: number) => [number, number, number];
|
|
972
|
+
readonly wasmworkbook_read_sparse_range: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
973
|
+
readonly wasmworkbook_reapplyFilter: (a: number, b: number) => [number, number, number];
|
|
974
|
+
readonly wasmworkbook_recalculate: (a: number, b: number) => [number, number, number];
|
|
975
|
+
readonly wasmworkbook_registerCustomFormula: (a: number, b: number, c: number, d: any) => void;
|
|
976
|
+
readonly wasmworkbook_registerCustomFormulaAsync: (a: number, b: number, c: number) => void;
|
|
977
|
+
readonly wasmworkbook_removeConditionalFormatRule: (a: number, b: number, c: any) => [number, number, number];
|
|
978
|
+
readonly wasmworkbook_remove_duplicates: (a: number, b: any) => [number, number, number];
|
|
979
|
+
readonly wasmworkbook_remove_sheet: (a: number, b: number) => number;
|
|
980
|
+
readonly wasmworkbook_renameTable: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
981
|
+
readonly wasmworkbook_renameTableColumn: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
982
|
+
readonly wasmworkbook_rename_sheet: (a: number, b: number, c: number, d: number) => number;
|
|
983
|
+
readonly wasmworkbook_replace_by_query: (a: number, b: any) => [number, number, number];
|
|
984
|
+
readonly wasmworkbook_resize_range: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
985
|
+
readonly wasmworkbook_resolveAsyncCustomCall: (a: number, b: number, c: any) => number;
|
|
986
|
+
readonly wasmworkbook_restoreFilters: (a: number, b: any) => [number, number, number];
|
|
987
|
+
readonly wasmworkbook_restoreHidden: (a: number, b: any) => [number, number, number];
|
|
988
|
+
readonly wasmworkbook_restoreTables: (a: number, b: any) => [number, number, number];
|
|
989
|
+
readonly wasmworkbook_restore_format_snapshot: (a: number, b: any) => [number, number, number];
|
|
990
|
+
readonly wasmworkbook_restore_persistence_v1: (a: number, b: any) => [number, number, number];
|
|
991
|
+
readonly wasmworkbook_restore_sparse: (a: number, b: any) => [number, number, number];
|
|
992
|
+
readonly wasmworkbook_setCellInputConfirmed: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
993
|
+
readonly wasmworkbook_setConditionalFormatRule: (a: number, b: number, c: any) => [number, number, number];
|
|
994
|
+
readonly wasmworkbook_setDataValidation: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => [number, number];
|
|
995
|
+
readonly wasmworkbook_setEvalFilterHiddenRows: (a: number, b: number, c: number, d: number) => void;
|
|
996
|
+
readonly wasmworkbook_setEvalHiddenRows: (a: number, b: number, c: number, d: number) => void;
|
|
997
|
+
readonly wasmworkbook_setFormulaAt: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
998
|
+
readonly wasmworkbook_setPrintConfig: (a: number, b: number, c: any) => [number, number, number];
|
|
999
|
+
readonly wasmworkbook_setTableTotalFunction: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
1000
|
+
readonly wasmworkbook_setTableTotalsRow: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1001
|
+
readonly wasmworkbook_set_boolean: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
1002
|
+
readonly wasmworkbook_set_cell_boolean: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
1003
|
+
readonly wasmworkbook_set_cell_error: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1004
|
+
readonly wasmworkbook_set_cell_input: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
1005
|
+
readonly wasmworkbook_set_cell_input_with_table_expansion: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
1006
|
+
readonly wasmworkbook_set_cell_number: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
1007
|
+
readonly wasmworkbook_set_cell_text: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1008
|
+
readonly wasmworkbook_set_col_width: (a: number, b: number, c: number, d: number) => number;
|
|
1009
|
+
readonly wasmworkbook_set_error: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1010
|
+
readonly wasmworkbook_set_format_range: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => [number, number, number];
|
|
1011
|
+
readonly wasmworkbook_set_formula: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
1012
|
+
readonly wasmworkbook_set_frozen_panes: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1013
|
+
readonly wasmworkbook_set_number: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
1014
|
+
readonly wasmworkbook_set_row_height: (a: number, b: number, c: number, d: number) => number;
|
|
1015
|
+
readonly wasmworkbook_set_text: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1016
|
+
readonly wasmworkbook_set_visibility: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
|
|
1017
|
+
readonly wasmworkbook_sheet_count: (a: number) => number;
|
|
1018
|
+
readonly wasmworkbook_sheet_key: (a: number, b: number) => [number, number];
|
|
1019
|
+
readonly wasmworkbook_sheet_name: (a: number, b: number) => [number, number];
|
|
1020
|
+
readonly wasmworkbook_sheet_visibility: (a: number, b: number) => [number, number, number];
|
|
1021
|
+
readonly wasmworkbook_snapshotCell: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1022
|
+
readonly wasmworkbook_snapshotFilters: (a: number) => [number, number, number];
|
|
1023
|
+
readonly wasmworkbook_snapshotHidden: (a: number) => [number, number, number];
|
|
1024
|
+
readonly wasmworkbook_snapshotTables: (a: number) => [number, number, number];
|
|
1025
|
+
readonly wasmworkbook_snapshot_display_format_range: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1026
|
+
readonly wasmworkbook_snapshot_format_range: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1027
|
+
readonly wasmworkbook_snapshot_persistence_v1: (a: number) => [number, number, number];
|
|
1028
|
+
readonly wasmworkbook_snapshot_range_sparse: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1029
|
+
readonly wasmworkbook_snapshot_sparse: (a: number) => [number, number, number];
|
|
1030
|
+
readonly wasmworkbook_snapshot_viewport_sizes: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1031
|
+
readonly wasmworkbook_sortRange: (a: number, b: number, c: any) => [number, number, number];
|
|
1032
|
+
readonly wasmworkbook_spillAnchor: (a: number, b: number, c: number, d: number) => any;
|
|
1033
|
+
readonly wasmworkbook_spillBlocker: (a: number, b: number, c: number, d: number) => any;
|
|
1034
|
+
readonly wasmworkbook_spillInfo: (a: number, b: number, c: number, d: number) => any;
|
|
1035
|
+
readonly wasmworkbook_split_text_columns: (a: number, b: any, c: number) => [number, number, number];
|
|
1036
|
+
readonly wasmworkbook_subscribe_cell: (a: number, b: number, c: number, d: number, e: number, f: any) => number;
|
|
1037
|
+
readonly wasmworkbook_suggest_quick_formula: (a: number, b: any) => [number, number, number];
|
|
1038
|
+
readonly wasmworkbook_tryClearCellAt: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1039
|
+
readonly wasmworkbook_trySetCellBoolean: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
1040
|
+
readonly wasmworkbook_trySetCellError: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1041
|
+
readonly wasmworkbook_trySetCellNumber: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
1042
|
+
readonly wasmworkbook_trySetCellText: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1043
|
+
readonly wasmworkbook_trySetFormulaAt: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1044
|
+
readonly wasmworkbook_undefineName: (a: number, b: number, c: number) => number;
|
|
1045
|
+
readonly wasmworkbook_unhideRows: (a: number, b: number, c: number, d: number) => number;
|
|
1046
|
+
readonly wasmworkbook_unregisterCustomFormula: (a: number, b: number, c: number) => number;
|
|
1047
|
+
readonly wasmworkbook_unsubscribe_cell: (a: number, b: number) => void;
|
|
1048
|
+
readonly wasm_bindgen_5b6c97e6ee3f690b___convert__closures_____invoke_______true_: (a: number, b: number) => void;
|
|
1049
|
+
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
1050
|
+
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
1051
|
+
readonly __wbindgen_exn_store: (a: number) => void;
|
|
1052
|
+
readonly __externref_table_alloc: () => number;
|
|
1053
|
+
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
1054
|
+
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
1055
|
+
readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
|
|
1056
|
+
readonly __externref_table_dealloc: (a: number) => void;
|
|
1057
|
+
readonly __externref_drop_slice: (a: number, b: number) => void;
|
|
1058
|
+
readonly __wbindgen_start: () => void;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
|
1062
|
+
|
|
1063
|
+
/**
|
|
1064
|
+
* Instantiates the given `module`, which can either be bytes or
|
|
1065
|
+
* a precompiled `WebAssembly.Module`.
|
|
1066
|
+
*
|
|
1067
|
+
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
|
|
1068
|
+
*
|
|
1069
|
+
* @returns {InitOutput}
|
|
1070
|
+
*/
|
|
1071
|
+
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
|
|
1072
|
+
|
|
1073
|
+
/**
|
|
1074
|
+
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
|
1075
|
+
* for everything else, calls `WebAssembly.instantiate` directly.
|
|
1076
|
+
*
|
|
1077
|
+
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
|
|
1078
|
+
*
|
|
1079
|
+
* @returns {Promise<InitOutput>}
|
|
1080
|
+
*/
|
|
1081
|
+
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
|