@bilig/core 0.1.27 → 0.1.29

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.
Files changed (66) hide show
  1. package/dist/cell-mutations-at.d.ts +26 -0
  2. package/dist/cell-mutations-at.js +70 -0
  3. package/dist/cell-mutations-at.js.map +1 -0
  4. package/dist/cell-store.d.ts +1 -0
  5. package/dist/cell-store.js +2 -0
  6. package/dist/cell-store.js.map +1 -1
  7. package/dist/engine/live.d.ts +1 -1
  8. package/dist/engine/live.js +64 -58
  9. package/dist/engine/live.js.map +1 -1
  10. package/dist/engine/runtime-state.d.ts +6 -0
  11. package/dist/engine/runtime-state.js.map +1 -1
  12. package/dist/engine/services/cell-state-service.d.ts +4 -0
  13. package/dist/engine/services/cell-state-service.js +20 -7
  14. package/dist/engine/services/cell-state-service.js.map +1 -1
  15. package/dist/engine/services/formula-binding-service.d.ts +11 -2
  16. package/dist/engine/services/formula-binding-service.js +284 -7
  17. package/dist/engine/services/formula-binding-service.js.map +1 -1
  18. package/dist/engine/services/formula-evaluation-service.d.ts +3 -1
  19. package/dist/engine/services/formula-evaluation-service.js +30 -2
  20. package/dist/engine/services/formula-evaluation-service.js.map +1 -1
  21. package/dist/engine/services/formula-graph-service.d.ts +5 -1
  22. package/dist/engine/services/formula-graph-service.js +21 -4
  23. package/dist/engine/services/formula-graph-service.js.map +1 -1
  24. package/dist/engine/services/lookup-service.d.ts +51 -0
  25. package/dist/engine/services/lookup-service.js +370 -0
  26. package/dist/engine/services/lookup-service.js.map +1 -0
  27. package/dist/engine/services/mutation-history-fast-path.d.ts +17 -0
  28. package/dist/engine/services/mutation-history-fast-path.js +119 -0
  29. package/dist/engine/services/mutation-history-fast-path.js.map +1 -0
  30. package/dist/engine/services/mutation-service.d.ts +26 -2
  31. package/dist/engine/services/mutation-service.js +169 -36
  32. package/dist/engine/services/mutation-service.js.map +1 -1
  33. package/dist/engine/services/mutation-support-service.d.ts +27 -0
  34. package/dist/engine/services/mutation-support-service.js +114 -0
  35. package/dist/engine/services/mutation-support-service.js.map +1 -1
  36. package/dist/engine/services/operation-service.d.ts +3 -1
  37. package/dist/engine/services/operation-service.js +351 -75
  38. package/dist/engine/services/operation-service.js.map +1 -1
  39. package/dist/engine/services/pivot-service.d.ts +7 -0
  40. package/dist/engine/services/pivot-service.js +9 -1
  41. package/dist/engine/services/pivot-service.js.map +1 -1
  42. package/dist/engine/services/recalc-service.d.ts +2 -0
  43. package/dist/engine/services/recalc-service.js +15 -6
  44. package/dist/engine/services/recalc-service.js.map +1 -1
  45. package/dist/engine/services/runtime-scratch-service.d.ts +1 -0
  46. package/dist/engine/services/runtime-scratch-service.js +1 -0
  47. package/dist/engine/services/runtime-scratch-service.js.map +1 -1
  48. package/dist/engine-value-utils.d.ts +2 -0
  49. package/dist/engine-value-utils.js +28 -0
  50. package/dist/engine-value-utils.js.map +1 -1
  51. package/dist/engine.d.ts +12 -0
  52. package/dist/engine.js +35 -3
  53. package/dist/engine.js.map +1 -1
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.js +2 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/literal-sheet-loader.d.ts +4 -0
  58. package/dist/literal-sheet-loader.js +69 -0
  59. package/dist/literal-sheet-loader.js.map +1 -0
  60. package/dist/wasm-facade.d.ts +2 -0
  61. package/dist/wasm-facade.js +34 -5
  62. package/dist/wasm-facade.js.map +1 -1
  63. package/dist/workbook-store.d.ts +6 -0
  64. package/dist/workbook-store.js +48 -0
  65. package/dist/workbook-store.js.map +1 -1
  66. package/package.json +5 -5
package/dist/engine.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Float64Arena, Uint32Arena } from "@bilig/formula/program-arena";
1
+ import { Float64Arena, Uint32Arena, formatAddress } from "@bilig/formula";
2
2
  import { createReplicaState } from "./replica-state.js";
3
3
  import { CycleDetector } from "./cycle-detection.js";
4
4
  import { EdgeArena } from "./edge-arena.js";
@@ -88,6 +88,8 @@ export class SpreadsheetEngine {
88
88
  selectionListeners: this.selectionListeners,
89
89
  undoStack: this.undoStack,
90
90
  redoStack: this.redoStack,
91
+ useColumnIndex: options.useColumnIndex ?? false,
92
+ trackReplicaVersions: options.trackReplicaVersions ?? true,
91
93
  getSelection: () => this.selection,
92
94
  setSelection: (selection) => {
93
95
  this.selection = selection;
@@ -324,6 +326,9 @@ export class SpreadsheetEngine {
324
326
  return this.syncState;
325
327
  }
326
328
  async connectSyncClient(client) {
329
+ if (!this.state.trackReplicaVersions) {
330
+ throw new Error("Sync is unavailable when trackReplicaVersions is disabled; construct the engine with trackReplicaVersions enabled.");
331
+ }
327
332
  await runEngineEffectPromise(this.runtime.sync.connectClient(client));
328
333
  }
329
334
  async disconnectSyncClient() {
@@ -351,13 +356,40 @@ export class SpreadsheetEngine {
351
356
  this.executeLocalTransaction([{ kind: "setCellValue", sheetName, address, value }]);
352
357
  return this.getCellValue(sheetName, address);
353
358
  }
359
+ setCellValueAt(sheetId, row, col, value) {
360
+ const sheetName = this.workbook.getSheetById(sheetId)?.name;
361
+ if (!sheetName) {
362
+ throw new Error(`Unknown sheet id: ${sheetId}`);
363
+ }
364
+ const address = formatAddress(row, col);
365
+ this.runtime.mutation.executeLocalCellMutationsAtNow([{ sheetId, mutation: { kind: "setCellValue", row, col, value } }], 1);
366
+ return this.getCellValue(sheetName, address);
367
+ }
354
368
  setCellFormula(sheetName, address, formula) {
355
369
  this.executeLocalTransaction([{ kind: "setCellFormula", sheetName, address, formula }]);
356
370
  return this.getCellValue(sheetName, address);
357
371
  }
372
+ setCellFormulaAt(sheetId, row, col, formula) {
373
+ const sheetName = this.workbook.getSheetById(sheetId)?.name;
374
+ if (!sheetName) {
375
+ throw new Error(`Unknown sheet id: ${sheetId}`);
376
+ }
377
+ const address = formatAddress(row, col);
378
+ this.runtime.mutation.executeLocalCellMutationsAtNow([{ sheetId, mutation: { kind: "setCellFormula", row, col, formula } }], 1);
379
+ return this.getCellValue(sheetName, address);
380
+ }
358
381
  setCellFormat(sheetName, address, format) {
359
382
  this.executeLocalTransaction([{ kind: "setCellFormat", sheetName, address, format }]);
360
383
  }
384
+ clearCellAt(sheetId, row, col) {
385
+ this.runtime.mutation.executeLocalCellMutationsAtNow([{ sheetId, mutation: { kind: "clearCell", row, col } }], 0);
386
+ }
387
+ applyCellMutationsAt(refs, potentialNewCells) {
388
+ return this.runtime.mutation.executeLocalCellMutationsAtNow(refs, potentialNewCells);
389
+ }
390
+ applyCellMutationsAtWithOptions(refs, options = {}) {
391
+ return this.runtime.mutation.applyCellMutationsAtNow(refs, options);
392
+ }
361
393
  setRangeNumberFormat(range, format) {
362
394
  const ops = buildFormatPatchOps(this.workbook, range, format);
363
395
  this.executeLocalTransaction(ops);
@@ -724,10 +756,10 @@ export class SpreadsheetEngine {
724
756
  return runEngineEffect(this.runtime.mutation.captureUndoOps(mutate));
725
757
  }
726
758
  applyOps(ops, options = {}) {
727
- return runEngineEffect(this.runtime.mutation.applyOps(ops, options));
759
+ return this.runtime.mutation.applyOpsNow(ops, options);
728
760
  }
729
761
  executeLocalTransaction(ops, potentialNewCells) {
730
- return runEngineEffect(this.runtime.mutation.executeLocal(ops, potentialNewCells));
762
+ return this.runtime.mutation.executeLocalNow(ops, potentialNewCells);
731
763
  }
732
764
  }
733
765
  export const selectors = {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./cell-store.js";
2
+ export * from "./cell-mutations-at.js";
2
3
  export * from "./cycle-detection.js";
3
4
  export * from "./csv.js";
4
5
  export * from "./edge-arena.js";
@@ -7,6 +8,7 @@ export * from "./entity-ids.js";
7
8
  export * from "./events.js";
8
9
  export * from "./formula-table.js";
9
10
  export * from "./guards.js";
11
+ export * from "./literal-sheet-loader.js";
10
12
  export * from "./range-registry.js";
11
13
  export * from "./scheduler.js";
12
14
  export * from "./selectors.js";
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./cell-store.js";
2
+ export * from "./cell-mutations-at.js";
2
3
  export * from "./cycle-detection.js";
3
4
  export * from "./csv.js";
4
5
  export * from "./edge-arena.js";
@@ -7,6 +8,7 @@ export * from "./entity-ids.js";
7
8
  export * from "./events.js";
8
9
  export * from "./formula-table.js";
9
10
  export * from "./guards.js";
11
+ export * from "./literal-sheet-loader.js";
10
12
  export * from "./range-registry.js";
11
13
  export * from "./scheduler.js";
12
14
  export * from "./selectors.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type LiteralInput } from "@bilig/protocol";
2
+ import type { StringPool } from "./string-pool.js";
3
+ import { WorkbookStore } from "./workbook-store.js";
4
+ export declare function loadLiteralSheetIntoEmptySheet(workbook: WorkbookStore, strings: StringPool, sheetId: number, content: readonly (readonly LiteralInput[])[]): number;
@@ -0,0 +1,69 @@
1
+ import { ErrorCode, ValueTag } from "@bilig/protocol";
2
+ import { makeCellKey } from "./workbook-store.js";
3
+ export function loadLiteralSheetIntoEmptySheet(workbook, strings, sheetId, content) {
4
+ const sheet = workbook.getSheetById(sheetId);
5
+ if (!sheet) {
6
+ throw new Error(`Unknown sheet id: ${sheetId}`);
7
+ }
8
+ const literalCount = countMaterializedLiteralCells(content);
9
+ if (literalCount === 0) {
10
+ return 0;
11
+ }
12
+ const cellStore = workbook.cellStore;
13
+ cellStore.ensureCapacity(cellStore.size + literalCount);
14
+ const previousOnSetValue = cellStore.onSetValue;
15
+ cellStore.onSetValue = null;
16
+ try {
17
+ content.forEach((row, rowIndex) => {
18
+ row.forEach((raw, colIndex) => {
19
+ if (raw === null) {
20
+ return;
21
+ }
22
+ const cellIndex = cellStore.allocate(sheetId, rowIndex, colIndex);
23
+ workbook.cellKeyToIndex.set(makeCellKey(sheetId, rowIndex, colIndex), cellIndex);
24
+ sheet.grid.set(rowIndex, colIndex, cellIndex);
25
+ writeLiteralCell(cellStore, strings, cellIndex, raw);
26
+ sheet.columnVersions[colIndex] = (sheet.columnVersions[colIndex] ?? 0) + 1;
27
+ });
28
+ });
29
+ }
30
+ finally {
31
+ cellStore.onSetValue = previousOnSetValue;
32
+ }
33
+ return literalCount;
34
+ }
35
+ function countMaterializedLiteralCells(content) {
36
+ let count = 0;
37
+ content.forEach((row) => {
38
+ row.forEach((value) => {
39
+ if (value !== null) {
40
+ count += 1;
41
+ }
42
+ });
43
+ });
44
+ return count;
45
+ }
46
+ function writeLiteralCell(cellStore, strings, cellIndex, raw) {
47
+ cellStore.flags[cellIndex] = 16 /* CellFlags.Materialized */;
48
+ cellStore.formulaIds[cellIndex] = 0;
49
+ cellStore.errors[cellIndex] = ErrorCode.None;
50
+ cellStore.versions[cellIndex] = 1;
51
+ cellStore.topoRanks[cellIndex] = 0;
52
+ cellStore.cycleGroupIds[cellIndex] = -1;
53
+ if (typeof raw === "number") {
54
+ cellStore.tags[cellIndex] = ValueTag.Number;
55
+ cellStore.numbers[cellIndex] = raw;
56
+ cellStore.stringIds[cellIndex] = 0;
57
+ return;
58
+ }
59
+ if (typeof raw === "boolean") {
60
+ cellStore.tags[cellIndex] = ValueTag.Boolean;
61
+ cellStore.numbers[cellIndex] = raw ? 1 : 0;
62
+ cellStore.stringIds[cellIndex] = 0;
63
+ return;
64
+ }
65
+ cellStore.tags[cellIndex] = ValueTag.String;
66
+ cellStore.numbers[cellIndex] = 0;
67
+ cellStore.stringIds[cellIndex] = strings.intern(raw);
68
+ }
69
+ //# sourceMappingURL=literal-sheet-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"literal-sheet-loader.js","sourceRoot":"","sources":["../src/literal-sheet-loader.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,10 @@ export declare class WasmKernelFacade {
26
26
  private kernel;
27
27
  private initPromise;
28
28
  private uploadedStringPoolSize;
29
+ private storeSynced;
29
30
  get ready(): boolean;
30
31
  init(): Promise<void>;
32
+ initSyncIfPossible(): boolean;
31
33
  ensureCapacity(cellCapacity: number, formulaCapacity: number, constantCapacity: number, rangeCapacity?: number, memberCapacity?: number): void;
32
34
  uploadFormulas(layout: WasmFormulaUploadLayout): void;
33
35
  uploadRanges(layout: WasmRangeUploadLayout): void;
@@ -1,5 +1,5 @@
1
1
  import { ValueTag } from "@bilig/protocol";
2
- import { createKernel } from "@bilig/wasm-kernel";
2
+ import { createKernel, createKernelSync } from "@bilig/wasm-kernel";
3
3
  const OUTPUT_STRING_BASE = 2147483648;
4
4
  function decodeSpillValue(tag, rawValue, strings, outputStrings) {
5
5
  switch (tag) {
@@ -25,24 +25,51 @@ export class WasmKernelFacade {
25
25
  kernel = null;
26
26
  initPromise = null;
27
27
  uploadedStringPoolSize = 0;
28
+ storeSynced = false;
28
29
  get ready() {
29
30
  return this.kernel !== null;
30
31
  }
31
32
  async init() {
33
+ if (this.kernel) {
34
+ return;
35
+ }
32
36
  if (this.initPromise)
33
37
  return this.initPromise;
34
38
  this.initPromise = createKernel()
35
39
  .then((kernel) => {
36
- this.kernel = kernel;
37
- kernel.init(64, 64, 64, 64, 64);
40
+ if (this.kernel === null) {
41
+ this.kernel = kernel;
42
+ kernel.init(64, 64, 64, 64, 64);
43
+ this.storeSynced = false;
44
+ }
38
45
  return undefined;
39
46
  })
40
47
  .catch(() => {
41
- this.kernel = null;
48
+ if (this.kernel === null) {
49
+ this.kernel = null;
50
+ }
42
51
  return undefined;
43
52
  });
44
53
  return this.initPromise;
45
54
  }
55
+ initSyncIfPossible() {
56
+ if (this.kernel) {
57
+ return true;
58
+ }
59
+ try {
60
+ const kernel = createKernelSync();
61
+ if (this.kernel === null) {
62
+ this.kernel = kernel;
63
+ kernel.init(64, 64, 64, 64, 64);
64
+ this.storeSynced = false;
65
+ }
66
+ this.initPromise ??= Promise.resolve();
67
+ return true;
68
+ }
69
+ catch {
70
+ return false;
71
+ }
72
+ }
46
73
  ensureCapacity(cellCapacity, formulaCapacity, constantCapacity, rangeCapacity = this.kernel?.getRangeCapacity() ?? 64, memberCapacity = this.kernel?.getMemberCapacity() ?? 64) {
47
74
  this.kernel?.ensureCellCapacity(cellCapacity);
48
75
  this.kernel?.ensureFormulaCapacity(formulaCapacity);
@@ -86,6 +113,7 @@ export class WasmKernelFacade {
86
113
  if (!this.kernel) {
87
114
  return;
88
115
  }
116
+ this.storeSynced = false;
89
117
  this.kernel.readTags().fill(0);
90
118
  this.kernel.readNumbers().fill(0);
91
119
  this.kernel.readStringIds().fill(0);
@@ -103,8 +131,9 @@ export class WasmKernelFacade {
103
131
  if (!this.kernel)
104
132
  return;
105
133
  this.ensureCapacity(store.size, this.kernel.getFormulaCapacity(), this.kernel.getConstantCapacity(), this.kernel.getRangeCapacity(), this.kernel.getMemberCapacity());
106
- if (changedCellIndices === undefined) {
134
+ if (changedCellIndices === undefined || !this.storeSynced) {
107
135
  this.kernel.writeCells(store.tags.slice(0, store.size), store.numbers.slice(0, store.size), store.stringIds.slice(0, store.size), store.errors.slice(0, store.size));
136
+ this.storeSynced = true;
108
137
  return;
109
138
  }
110
139
  if (changedCellIndices.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-facade.js","sourceRoot":"","sources":["../src/wasm-facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm-facade.js","sourceRoot":"","sources":["../src/wasm-facade.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface SheetRecord {
9
9
  name: string;
10
10
  order: number;
11
11
  grid: SheetGrid;
12
+ columnVersions: Uint32Array;
12
13
  rowAxis: Array<WorkbookAxisEntryRecord | undefined>;
13
14
  columnAxis: Array<WorkbookAxisEntryRecord | undefined>;
14
15
  styleRanges: WorkbookStyleRangeRecord[];
@@ -33,6 +34,7 @@ export declare class WorkbookStore {
33
34
  readonly metadata: WorkbookMetadataRecord;
34
35
  private readonly metadataService;
35
36
  workbookName: string;
37
+ private batchedColumnVersionUpdates;
36
38
  private nextSheetId;
37
39
  private nextRowAxisId;
38
40
  private nextColumnAxisId;
@@ -43,11 +45,15 @@ export declare class WorkbookStore {
43
45
  deleteSheet(name: string): void;
44
46
  renameSheet(oldName: string, nextName: string): SheetRecord | undefined;
45
47
  getSheet(name: string): SheetRecord | undefined;
48
+ getSheetColumnVersion(sheetName: string, col: number): number;
46
49
  getSheetById(id: number): SheetRecord | undefined;
47
50
  getOrCreateSheet(name: string): SheetRecord;
48
51
  ensureCell(sheetName: string, address: string): number;
49
52
  ensureCellRecord(sheetName: string, address: string): EnsuredCell;
50
53
  ensureCellAt(sheetId: number, row: number, col: number): EnsuredCell;
54
+ withBatchedColumnVersionUpdates<T>(execute: () => T): T;
55
+ private bumpColumnVersionByCellIndex;
56
+ private bumpColumnVersion;
51
57
  getCellIndex(sheetName: string, address: string): number | undefined;
52
58
  getSheetNameById(id: number): string;
53
59
  getAddress(index: number): string;
@@ -24,6 +24,7 @@ export class WorkbookStore {
24
24
  metadata = createWorkbookMetadataRecord();
25
25
  metadataService = createWorkbookMetadataService(this.metadata);
26
26
  workbookName;
27
+ batchedColumnVersionUpdates = null;
27
28
  nextSheetId = 1;
28
29
  nextRowAxisId = 1;
29
30
  nextColumnAxisId = 1;
@@ -31,6 +32,9 @@ export class WorkbookStore {
31
32
  nextFormatId = 1;
32
33
  constructor(workbookName = "Workbook") {
33
34
  this.workbookName = workbookName;
35
+ this.cellStore.onSetValue = (index) => {
36
+ this.bumpColumnVersionByCellIndex(index);
37
+ };
34
38
  this.ensureDefaultStyle();
35
39
  this.ensureDefaultNumberFormat();
36
40
  }
@@ -51,6 +55,7 @@ export class WorkbookStore {
51
55
  name,
52
56
  order,
53
57
  grid: new SheetGrid(),
58
+ columnVersions: new Uint32Array(MAX_COLS),
54
59
  rowAxis: [],
55
60
  columnAxis: [],
56
61
  styleRanges: [],
@@ -110,6 +115,9 @@ export class WorkbookStore {
110
115
  getSheet(name) {
111
116
  return this.sheetsByName.get(name);
112
117
  }
118
+ getSheetColumnVersion(sheetName, col) {
119
+ return this.sheetsByName.get(sheetName)?.columnVersions[col] ?? 0;
120
+ }
113
121
  getSheetById(id) {
114
122
  return this.sheetsById.get(id);
115
123
  }
@@ -139,6 +147,46 @@ export class WorkbookStore {
139
147
  sheet.grid.set(row, col, cellIndex);
140
148
  return { cellIndex, created: true };
141
149
  }
150
+ withBatchedColumnVersionUpdates(execute) {
151
+ if (this.batchedColumnVersionUpdates) {
152
+ return execute();
153
+ }
154
+ const pending = new Map();
155
+ this.batchedColumnVersionUpdates = pending;
156
+ try {
157
+ return execute();
158
+ }
159
+ finally {
160
+ this.batchedColumnVersionUpdates = null;
161
+ pending.forEach((columns, sheetId) => {
162
+ columns.forEach((col) => {
163
+ this.bumpColumnVersion(sheetId, col);
164
+ });
165
+ });
166
+ }
167
+ }
168
+ bumpColumnVersionByCellIndex(cellIndex) {
169
+ const sheetId = this.cellStore.sheetIds[cellIndex];
170
+ const col = this.cellStore.cols[cellIndex];
171
+ const pending = this.batchedColumnVersionUpdates;
172
+ if (pending) {
173
+ let columns = pending.get(sheetId);
174
+ if (!columns) {
175
+ columns = new Set();
176
+ pending.set(sheetId, columns);
177
+ }
178
+ columns.add(col);
179
+ return;
180
+ }
181
+ this.bumpColumnVersion(sheetId, col);
182
+ }
183
+ bumpColumnVersion(sheetId, col) {
184
+ const sheet = this.getSheetById(sheetId);
185
+ if (!sheet) {
186
+ return;
187
+ }
188
+ sheet.columnVersions[col] = (sheet.columnVersions[col] ?? 0) + 1;
189
+ }
142
190
  getCellIndex(sheetName, address) {
143
191
  const sheet = this.getSheet(sheetName);
144
192
  if (!sheet)