@rowsncolumns/rnc-yrs-store 0.9.19 → 0.10.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/dist/rnc_yrs_store.d.ts +57 -42
- package/dist/rnc_yrs_store.js +30 -0
- package/dist/rnc_yrs_store_bg.wasm +0 -0
- package/package.json +1 -1
package/dist/rnc_yrs_store.d.ts
CHANGED
|
@@ -99,6 +99,14 @@ export class SpreadsheetEngine {
|
|
|
99
99
|
*/
|
|
100
100
|
filterColors(sheet_id: number, col: number, start_row: number, end_row: number): string;
|
|
101
101
|
findAll(sheet_id: number, ranges_json: string, find: string, match_case: boolean, whole_word: boolean, use_regex: boolean): string;
|
|
102
|
+
/**
|
|
103
|
+
* Recompute and write back the formula results a remote merge may have left stale — the local
|
|
104
|
+
* dependents of merged cells — and return the `CommitResult` JSON. A local edit does this
|
|
105
|
+
* implicitly; call it on a peer that only reads (a viewer, a server-side export) so
|
|
106
|
+
* concurrent-edit divergence repairs without waiting for one. Never echoes: only a result that
|
|
107
|
+
* differs from the engine's is written.
|
|
108
|
+
*/
|
|
109
|
+
flushRemoteDirty(): string;
|
|
102
110
|
/**
|
|
103
111
|
* Every HOST-OWNED formula cell on a sheet (registered custom-function calls + dot accessors)
|
|
104
112
|
* as a `CellChange[]` JSON, row-major (`SpreadsheetEngineLike.hostOwnedCells`). The index-backed
|
|
@@ -217,6 +225,11 @@ export class SpreadsheetEngine {
|
|
|
217
225
|
* Register a host (JS) custom-function name (`SpreadsheetEngineLike.registerCustomFunction`).
|
|
218
226
|
*/
|
|
219
227
|
registerCustomFunction(name: string): void;
|
|
228
|
+
/**
|
|
229
|
+
* Pin the evaluation timezone for `TODAY()` / `NOW()` as minutes east of UTC (`null` /
|
|
230
|
+
* `undefined` restores the default `Local` clock). Returns `false` for an offset outside ±24h.
|
|
231
|
+
*/
|
|
232
|
+
setTimezoneOffsetMinutes(minutes?: number | null): boolean;
|
|
220
233
|
/**
|
|
221
234
|
* Per-sheet 1-based data extents as JSON `[{"sheetId", "maxRow", "maxCol"}]`.
|
|
222
235
|
*/
|
|
@@ -278,66 +291,68 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
278
291
|
|
|
279
292
|
export interface InitOutput {
|
|
280
293
|
readonly memory: WebAssembly.Memory;
|
|
281
|
-
readonly __wbg_yrssheetdoc_free: (a: number, b: number) => void;
|
|
282
|
-
readonly yrssheetdoc_new: () => number;
|
|
283
|
-
readonly yrssheetdoc_setCell: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
284
|
-
readonly yrssheetdoc_getCell: (a: number, b: number, c: number, d: number) => [number, number];
|
|
285
|
-
readonly yrssheetdoc_applyUpdate: (a: number, b: number, c: number) => [number, number];
|
|
286
|
-
readonly yrssheetdoc_encodeStateAsUpdate: (a: number) => [number, number];
|
|
287
294
|
readonly __wbg_spreadsheetengine_free: (a: number, b: number) => void;
|
|
288
|
-
readonly
|
|
295
|
+
readonly __wbg_yrssheetdoc_free: (a: number, b: number) => void;
|
|
289
296
|
readonly spreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
|
|
290
297
|
readonly spreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
|
|
291
298
|
readonly spreadsheetengine_applyCommandQuiet: (a: number, b: number, c: number) => [number, number];
|
|
299
|
+
readonly spreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
|
|
300
|
+
readonly spreadsheetengine_blockCacheStats: (a: number) => [number, number];
|
|
301
|
+
readonly spreadsheetengine_canRedo: (a: number) => number;
|
|
302
|
+
readonly spreadsheetengine_canUndo: (a: number) => number;
|
|
303
|
+
readonly spreadsheetengine_clearHistory: (a: number) => void;
|
|
292
304
|
readonly spreadsheetengine_dataEdge: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
|
|
293
|
-
readonly
|
|
294
|
-
readonly spreadsheetengine_sheets: (a: number) => [number, number];
|
|
295
|
-
readonly spreadsheetengine_sheetIds: (a: number) => [number, number];
|
|
296
|
-
readonly spreadsheetengine_pruneDanglingDefaultSeed: (a: number) => number;
|
|
297
|
-
readonly spreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
|
|
298
|
-
readonly spreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
|
|
299
|
-
readonly spreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number];
|
|
305
|
+
readonly spreadsheetengine_deferredRemoteUpdates: (a: number) => number;
|
|
300
306
|
readonly spreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number];
|
|
307
|
+
readonly spreadsheetengine_documentFacets: (a: number) => [number, number];
|
|
308
|
+
readonly spreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
|
|
309
|
+
readonly spreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
|
|
310
|
+
readonly spreadsheetengine_encodeStateVector: (a: number) => [number, number];
|
|
311
|
+
readonly spreadsheetengine_evalFormula: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
312
|
+
readonly spreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
|
|
313
|
+
readonly spreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
|
|
314
|
+
readonly spreadsheetengine_exportXlsxWithOptions: (a: number, b: number, c: number) => [number, number, number, number];
|
|
315
|
+
readonly spreadsheetengine_filterColors: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
316
|
+
readonly spreadsheetengine_findAll: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
317
|
+
readonly spreadsheetengine_flushRemoteDirty: (a: number) => [number, number];
|
|
301
318
|
readonly spreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number];
|
|
302
|
-
readonly
|
|
303
|
-
readonly spreadsheetengine_clearHistory: (a: number) => void;
|
|
304
|
-
readonly spreadsheetengine_undoDepth: (a: number) => number;
|
|
305
|
-
readonly spreadsheetengine_redoDepth: (a: number) => number;
|
|
319
|
+
readonly spreadsheetengine_importCsv: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
306
320
|
readonly spreadsheetengine_importXlsx: (a: number, b: number, c: number) => [number, number, number, number];
|
|
307
|
-
readonly spreadsheetengine_importXlsxWithPassword: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
308
|
-
readonly spreadsheetengine_isEncryptedXlsx: (a: number, b: number, c: number) => number;
|
|
309
|
-
readonly spreadsheetengine_listXlsxSheets: (a: number, b: number, c: number) => [number, number, number, number];
|
|
310
321
|
readonly spreadsheetengine_importXlsxSheet: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
311
322
|
readonly spreadsheetengine_importXlsxSheetByName: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
323
|
+
readonly spreadsheetengine_importXlsxWithPassword: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
324
|
+
readonly spreadsheetengine_isEncryptedXlsx: (a: number, b: number, c: number) => number;
|
|
312
325
|
readonly spreadsheetengine_lastImportRecalcSkipped: (a: number) => number;
|
|
313
|
-
readonly
|
|
314
|
-
readonly
|
|
315
|
-
readonly
|
|
316
|
-
readonly
|
|
326
|
+
readonly spreadsheetengine_listXlsxSheets: (a: number, b: number, c: number) => [number, number, number, number];
|
|
327
|
+
readonly spreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
|
|
328
|
+
readonly spreadsheetengine_loadFromUpdate: (a: number, b: number, c: number) => [number, number, number, number];
|
|
329
|
+
readonly spreadsheetengine_loadFromUpdateQuiet: (a: number, b: number, c: number) => [number, number];
|
|
330
|
+
readonly spreadsheetengine_new: () => number;
|
|
317
331
|
readonly spreadsheetengine_parseCsv: (a: number, b: number, c: number) => [number, number, number, number];
|
|
318
|
-
readonly
|
|
319
|
-
readonly
|
|
320
|
-
readonly spreadsheetengine_redo: (a: number) => [number, number];
|
|
321
|
-
readonly spreadsheetengine_canUndo: (a: number) => number;
|
|
322
|
-
readonly spreadsheetengine_canRedo: (a: number) => number;
|
|
332
|
+
readonly spreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number];
|
|
333
|
+
readonly spreadsheetengine_pruneDanglingDefaultSeed: (a: number) => number;
|
|
323
334
|
readonly spreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
324
|
-
readonly spreadsheetengine_evalFormula: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
325
|
-
readonly spreadsheetengine_filterColors: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
326
|
-
readonly spreadsheetengine_findAll: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
327
|
-
readonly spreadsheetengine_readWindowCommit: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
328
335
|
readonly spreadsheetengine_readWindowCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
336
|
+
readonly spreadsheetengine_readWindowCommit: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
337
|
+
readonly spreadsheetengine_rebuildAndRecalc: (a: number) => void;
|
|
338
|
+
readonly spreadsheetengine_redo: (a: number) => [number, number];
|
|
339
|
+
readonly spreadsheetengine_redoDepth: (a: number) => number;
|
|
340
|
+
readonly spreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
|
|
341
|
+
readonly spreadsheetengine_setTimezoneOffsetMinutes: (a: number, b: number) => number;
|
|
329
342
|
readonly spreadsheetengine_sheetExtents: (a: number) => [number, number];
|
|
343
|
+
readonly spreadsheetengine_sheetIds: (a: number) => [number, number];
|
|
330
344
|
readonly spreadsheetengine_sheetStats: (a: number) => [number, number];
|
|
331
|
-
readonly
|
|
332
|
-
readonly spreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
|
|
345
|
+
readonly spreadsheetengine_sheets: (a: number) => [number, number];
|
|
333
346
|
readonly spreadsheetengine_syncRemote: (a: number) => [number, number];
|
|
334
|
-
readonly
|
|
335
|
-
readonly spreadsheetengine_loadFromUpdateQuiet: (a: number, b: number, c: number) => [number, number];
|
|
347
|
+
readonly spreadsheetengine_takeCappedFormulas: (a: number) => [number, number];
|
|
336
348
|
readonly spreadsheetengine_takePendingUpdates: (a: number) => [number, number];
|
|
337
|
-
readonly
|
|
338
|
-
readonly
|
|
339
|
-
readonly
|
|
340
|
-
readonly
|
|
349
|
+
readonly spreadsheetengine_undo: (a: number) => [number, number];
|
|
350
|
+
readonly spreadsheetengine_undoDepth: (a: number) => number;
|
|
351
|
+
readonly yrssheetdoc_applyUpdate: (a: number, b: number, c: number) => [number, number];
|
|
352
|
+
readonly yrssheetdoc_encodeStateAsUpdate: (a: number) => [number, number];
|
|
353
|
+
readonly yrssheetdoc_getCell: (a: number, b: number, c: number, d: number) => [number, number];
|
|
354
|
+
readonly yrssheetdoc_new: () => number;
|
|
355
|
+
readonly yrssheetdoc_setCell: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
341
356
|
readonly spreadsheetengine_stateAsUpdate: (a: number) => [number, number];
|
|
342
357
|
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
343
358
|
readonly __wbindgen_exn_store: (a: number) => void;
|
package/dist/rnc_yrs_store.js
CHANGED
|
@@ -338,6 +338,26 @@ export class SpreadsheetEngine {
|
|
|
338
338
|
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Recompute and write back the formula results a remote merge may have left stale — the local
|
|
343
|
+
* dependents of merged cells — and return the `CommitResult` JSON. A local edit does this
|
|
344
|
+
* implicitly; call it on a peer that only reads (a viewer, a server-side export) so
|
|
345
|
+
* concurrent-edit divergence repairs without waiting for one. Never echoes: only a result that
|
|
346
|
+
* differs from the engine's is written.
|
|
347
|
+
* @returns {string}
|
|
348
|
+
*/
|
|
349
|
+
flushRemoteDirty() {
|
|
350
|
+
let deferred1_0;
|
|
351
|
+
let deferred1_1;
|
|
352
|
+
try {
|
|
353
|
+
const ret = wasm.spreadsheetengine_flushRemoteDirty(this.__wbg_ptr);
|
|
354
|
+
deferred1_0 = ret[0];
|
|
355
|
+
deferred1_1 = ret[1];
|
|
356
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
357
|
+
} finally {
|
|
358
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
341
361
|
/**
|
|
342
362
|
* Every HOST-OWNED formula cell on a sheet (registered custom-function calls + dot accessors)
|
|
343
363
|
* as a `CellChange[]` JSON, row-major (`SpreadsheetEngineLike.hostOwnedCells`). The index-backed
|
|
@@ -784,6 +804,16 @@ export class SpreadsheetEngine {
|
|
|
784
804
|
const len0 = WASM_VECTOR_LEN;
|
|
785
805
|
wasm.spreadsheetengine_registerCustomFunction(this.__wbg_ptr, ptr0, len0);
|
|
786
806
|
}
|
|
807
|
+
/**
|
|
808
|
+
* Pin the evaluation timezone for `TODAY()` / `NOW()` as minutes east of UTC (`null` /
|
|
809
|
+
* `undefined` restores the default `Local` clock). Returns `false` for an offset outside ±24h.
|
|
810
|
+
* @param {number | null} [minutes]
|
|
811
|
+
* @returns {boolean}
|
|
812
|
+
*/
|
|
813
|
+
setTimezoneOffsetMinutes(minutes) {
|
|
814
|
+
const ret = wasm.spreadsheetengine_setTimezoneOffsetMinutes(this.__wbg_ptr, isLikeNone(minutes) ? Number.MAX_SAFE_INTEGER : (minutes) >> 0);
|
|
815
|
+
return ret !== 0;
|
|
816
|
+
}
|
|
787
817
|
/**
|
|
788
818
|
* Per-sheet 1-based data extents as JSON `[{"sheetId", "maxRow", "maxCol"}]`.
|
|
789
819
|
* @returns {string}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rowsncolumns/rnc-yrs-store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"author": "Vinay M",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"description": "Document-backed Rust→WASM spreadsheet calc engine (yrs/CRDT, canonical sheetDataV3). Ships the `SpreadsheetEngine` (a `Store<YrsStore>`): applyCommand / undo / redo / canUndo + the Yjs collaboration surface (applyUpdate / takePendingUpdates / loadFromUpdate / stateAsUpdate) the Keryx update-pump binds to. This is the 1,000,000-row engine the demo-app ships today — previously vendored, now a versioned package. The PREBUILT wasm is included (consumers need NO Rust/wasm toolchain); the glue's default init REQUIRES an explicit `module_or_path` — pass the URL of the served `rnc_yrs_store_bg.wasm` (webpack/Turbopack statically resolve a bundled `new URL`, which would 404 from this package, so the inline-default branch is intentionally a throw).",
|