@rowsncolumns/rnc-engine 0.11.2 → 0.11.4

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.
@@ -40,7 +40,8 @@ export class CollabSpreadsheetEngine {
40
40
  */
41
41
  exportCsv(sheet_id: number): string;
42
42
  /**
43
- * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`) via `rnc-export`.
43
+ * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`) via `rnc-export`,
44
+ * on the LAZY per-sheet path (one sheet's rows materialized at a time — wasm heap headroom).
44
45
  */
45
46
  exportXlsx(): Uint8Array;
46
47
  /**
@@ -155,9 +156,11 @@ export class SpreadsheetEngine {
155
156
  */
156
157
  exportCsv(sheet_id: number): string;
157
158
  /**
158
- * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`). Reads the full document
159
+ * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`). Reads the document
159
160
  * from the store (all sheets, values, formats, merges, frozen panes, dims, tables, named ranges)
160
- * and runs the `rnc-export` writer; formulas are inserted, not recalculated.
161
+ * and runs the `rnc-export` writer; formulas are inserted, not recalculated. Uses the LAZY
162
+ * per-sheet path ([`rnc_store::Store::export_xlsx_lazy`]): one sheet's rows are materialized at
163
+ * a time, so the export peak never holds the whole typed workbook (wasm32 4 GiB headroom).
161
164
  */
162
165
  exportXlsx(): Uint8Array;
163
166
  /**
@@ -303,41 +306,6 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
303
306
 
304
307
  export interface InitOutput {
305
308
  readonly memory: WebAssembly.Memory;
306
- readonly __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
307
- readonly collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
308
- readonly collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
309
- readonly collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
310
- readonly collabspreadsheetengine_canRedo: (a: number) => number;
311
- readonly collabspreadsheetengine_canUndo: (a: number) => number;
312
- readonly collabspreadsheetengine_clearHistory: (a: number) => void;
313
- readonly collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
314
- readonly collabspreadsheetengine_documentFacets: (a: number) => [number, number];
315
- readonly collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
316
- readonly collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
317
- readonly collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
318
- readonly collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
319
- readonly collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
320
- readonly collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
321
- readonly collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
322
- readonly collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
323
- readonly collabspreadsheetengine_new: () => number;
324
- readonly collabspreadsheetengine_newWithClientId: (a: number) => number;
325
- readonly collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
326
- readonly collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
327
- readonly collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
328
- readonly collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
329
- readonly collabspreadsheetengine_redoDepth: (a: number) => number;
330
- readonly collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
331
- readonly collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
332
- readonly collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
333
- readonly collabspreadsheetengine_sheetIds: (a: number) => [number, number];
334
- readonly collabspreadsheetengine_sheets: (a: number) => [number, number];
335
- readonly collabspreadsheetengine_streamBegin: (a: number) => void;
336
- readonly collabspreadsheetengine_streamEnd: (a: number) => void;
337
- readonly collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
338
- readonly collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
339
- readonly collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
340
- readonly collabspreadsheetengine_undoDepth: (a: number) => number;
341
309
  readonly __wbg_spreadsheetengine_free: (a: number, b: number) => void;
342
310
  readonly spreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
343
311
  readonly spreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
@@ -375,6 +343,41 @@ export interface InitOutput {
375
343
  readonly spreadsheetengine_undo: (a: number) => [number, number, number, number];
376
344
  readonly spreadsheetengine_undoDepth: (a: number) => number;
377
345
  readonly spreadsheetengine_wasmMemoryBytes: (a: number) => number;
346
+ readonly __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
347
+ readonly collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
348
+ readonly collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
349
+ readonly collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
350
+ readonly collabspreadsheetengine_canRedo: (a: number) => number;
351
+ readonly collabspreadsheetengine_canUndo: (a: number) => number;
352
+ readonly collabspreadsheetengine_clearHistory: (a: number) => void;
353
+ readonly collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
354
+ readonly collabspreadsheetengine_documentFacets: (a: number) => [number, number];
355
+ readonly collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
356
+ readonly collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
357
+ readonly collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
358
+ readonly collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
359
+ readonly collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
360
+ readonly collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
361
+ readonly collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
362
+ readonly collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
363
+ readonly collabspreadsheetengine_new: () => number;
364
+ readonly collabspreadsheetengine_newWithClientId: (a: number) => number;
365
+ readonly collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
366
+ readonly collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
367
+ readonly collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
368
+ readonly collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
369
+ readonly collabspreadsheetengine_redoDepth: (a: number) => number;
370
+ readonly collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
371
+ readonly collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
372
+ readonly collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
373
+ readonly collabspreadsheetengine_sheetIds: (a: number) => [number, number];
374
+ readonly collabspreadsheetengine_sheets: (a: number) => [number, number];
375
+ readonly collabspreadsheetengine_streamBegin: (a: number) => void;
376
+ readonly collabspreadsheetengine_streamEnd: (a: number) => void;
377
+ readonly collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
378
+ readonly collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
379
+ readonly collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
380
+ readonly collabspreadsheetengine_undoDepth: (a: number) => number;
378
381
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
379
382
  readonly __wbindgen_exn_store: (a: number) => void;
380
383
  readonly __externref_table_alloc: () => number;
@@ -180,7 +180,8 @@ export class CollabSpreadsheetEngine {
180
180
  }
181
181
  }
182
182
  /**
183
- * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`) via `rnc-export`.
183
+ * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`) via `rnc-export`,
184
+ * on the LAZY per-sheet path (one sheet's rows materialized at a time — wasm heap headroom).
184
185
  * @returns {Uint8Array}
185
186
  */
186
187
  exportXlsx() {
@@ -671,9 +672,11 @@ export class SpreadsheetEngine {
671
672
  }
672
673
  }
673
674
  /**
674
- * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`). Reads the full document
675
+ * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`). Reads the document
675
676
  * from the store (all sheets, values, formats, merges, frozen panes, dims, tables, named ranges)
676
- * and runs the `rnc-export` writer; formulas are inserted, not recalculated.
677
+ * and runs the `rnc-export` writer; formulas are inserted, not recalculated. Uses the LAZY
678
+ * per-sheet path ([`rnc_store::Store::export_xlsx_lazy`]): one sheet's rows are materialized at
679
+ * a time, so the export peak never holds the whole typed workbook (wasm32 4 GiB headroom).
677
680
  * @returns {Uint8Array}
678
681
  */
679
682
  exportXlsx() {
Binary file
@@ -1,41 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
5
- export const collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
6
- export const collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
7
- export const collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
8
- export const collabspreadsheetengine_canRedo: (a: number) => number;
9
- export const collabspreadsheetengine_canUndo: (a: number) => number;
10
- export const collabspreadsheetengine_clearHistory: (a: number) => void;
11
- export const collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
12
- export const collabspreadsheetengine_documentFacets: (a: number) => [number, number];
13
- export const collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
14
- export const collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
15
- export const collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
16
- export const collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
17
- export const collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
18
- export const collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
19
- export const collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
20
- export const collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
21
- export const collabspreadsheetengine_new: () => number;
22
- export const collabspreadsheetengine_newWithClientId: (a: number) => number;
23
- export const collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
24
- export const collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
25
- export const collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
26
- export const collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
27
- export const collabspreadsheetengine_redoDepth: (a: number) => number;
28
- export const collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
29
- export const collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
30
- export const collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
31
- export const collabspreadsheetengine_sheetIds: (a: number) => [number, number];
32
- export const collabspreadsheetengine_sheets: (a: number) => [number, number];
33
- export const collabspreadsheetengine_streamBegin: (a: number) => void;
34
- export const collabspreadsheetengine_streamEnd: (a: number) => void;
35
- export const collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
36
- export const collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
37
- export const collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
38
- export const collabspreadsheetengine_undoDepth: (a: number) => number;
39
4
  export const __wbg_spreadsheetengine_free: (a: number, b: number) => void;
40
5
  export const spreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
41
6
  export const spreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
@@ -73,6 +38,41 @@ export const spreadsheetengine_supportedFunctionNames: (a: number) => [number, n
73
38
  export const spreadsheetengine_undo: (a: number) => [number, number, number, number];
74
39
  export const spreadsheetengine_undoDepth: (a: number) => number;
75
40
  export const spreadsheetengine_wasmMemoryBytes: (a: number) => number;
41
+ export const __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
42
+ export const collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
43
+ export const collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
44
+ export const collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
45
+ export const collabspreadsheetengine_canRedo: (a: number) => number;
46
+ export const collabspreadsheetengine_canUndo: (a: number) => number;
47
+ export const collabspreadsheetengine_clearHistory: (a: number) => void;
48
+ export const collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
49
+ export const collabspreadsheetengine_documentFacets: (a: number) => [number, number];
50
+ export const collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
51
+ export const collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
52
+ export const collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
53
+ export const collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
54
+ export const collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
55
+ export const collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
56
+ export const collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
57
+ export const collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
58
+ export const collabspreadsheetengine_new: () => number;
59
+ export const collabspreadsheetengine_newWithClientId: (a: number) => number;
60
+ export const collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
61
+ export const collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
62
+ export const collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
63
+ export const collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
64
+ export const collabspreadsheetengine_redoDepth: (a: number) => number;
65
+ export const collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
66
+ export const collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
67
+ export const collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
68
+ export const collabspreadsheetengine_sheetIds: (a: number) => [number, number];
69
+ export const collabspreadsheetengine_sheets: (a: number) => [number, number];
70
+ export const collabspreadsheetengine_streamBegin: (a: number) => void;
71
+ export const collabspreadsheetengine_streamEnd: (a: number) => void;
72
+ export const collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
73
+ export const collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
74
+ export const collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
75
+ export const collabspreadsheetengine_undoDepth: (a: number) => number;
76
76
  export const __wbindgen_free: (a: number, b: number, c: number) => void;
77
77
  export const __wbindgen_exn_store: (a: number) => void;
78
78
  export const __externref_table_alloc: () => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rowsncolumns/rnc-engine",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "author": "Vinay M",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "description": "Typed JS/TS interop for the Rust→WASM spreadsheet calc engine (rnc-wasm). Ergonomic JSON-in/out wrapper over the wasm-bindgen surface: applyCommand(Command)→CommitResult, readWindow→WindowSnapshot, and Map<\"sheet!A1\",CellFormat> style folding. Pluggable backend — single-user `SpreadsheetEngine` (default) or collaborative `CollabSpreadsheetEngine` (Yjs sync) — plus the Option-B `useSpreadsheetEngine` React hook.",
@@ -35,17 +35,17 @@
35
35
  "peerDependencies": {
36
36
  "@rowsncolumns/common-types": ">=5.2.30",
37
37
  "@rowsncolumns/dag": ">=7.2.30",
38
- "@rowsncolumns/spreadsheet": ">=10.2.72",
39
- "@rowsncolumns/spreadsheet-state": ">=28.0.71",
40
- "@rowsncolumns/utils": ">=9.2.38",
38
+ "@rowsncolumns/spreadsheet": ">=10.2.73",
39
+ "@rowsncolumns/spreadsheet-state": ">=28.0.72",
40
+ "@rowsncolumns/utils": ">=9.2.39",
41
41
  "react": ">=18"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@rowsncolumns/common-types": ">=5.2.30",
45
45
  "@rowsncolumns/dag": ">=7.2.30",
46
- "@rowsncolumns/spreadsheet": ">=10.2.72",
47
- "@rowsncolumns/spreadsheet-state": ">=28.0.71",
48
- "@rowsncolumns/utils": ">=9.2.38",
46
+ "@rowsncolumns/spreadsheet": ">=10.2.73",
47
+ "@rowsncolumns/spreadsheet-state": ">=28.0.72",
48
+ "@rowsncolumns/utils": ">=9.2.39",
49
49
  "fflate": "^0.8.2"
50
50
  }
51
51
  }