@bilig/headless 0.8.0 → 0.8.2

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 (164) hide show
  1. package/README.md +15 -0
  2. package/dist/persistence.d.ts +1 -1
  3. package/dist/persistence.js +13 -11
  4. package/dist/persistence.js.map +1 -1
  5. package/dist/tracked-cell-index-changes.d.ts +1 -7
  6. package/dist/tracked-cell-index-changes.js +20 -434
  7. package/dist/tracked-cell-index-changes.js.map +1 -1
  8. package/dist/tracked-cell-lazy-physical-changes.d.ts +21 -0
  9. package/dist/tracked-cell-lazy-physical-changes.js +333 -0
  10. package/dist/tracked-cell-lazy-physical-changes.js.map +1 -0
  11. package/dist/tracked-cell-value-read.d.ts +18 -0
  12. package/dist/tracked-cell-value-read.js +46 -0
  13. package/dist/tracked-cell-value-read.js.map +1 -0
  14. package/dist/tracked-engine-event-refs.d.ts +1 -1
  15. package/dist/tracked-engine-event-refs.js +14 -4
  16. package/dist/tracked-engine-event-refs.js.map +1 -1
  17. package/dist/tracked-index-source-order.d.ts +5 -0
  18. package/dist/tracked-index-source-order.js +15 -0
  19. package/dist/tracked-index-source-order.js.map +1 -0
  20. package/dist/work-paper-address-format.d.ts +33 -0
  21. package/dist/work-paper-address-format.js +116 -0
  22. package/dist/work-paper-address-format.js.map +1 -0
  23. package/dist/work-paper-axis-helpers.d.ts +26 -0
  24. package/dist/work-paper-axis-helpers.js +104 -0
  25. package/dist/work-paper-axis-helpers.js.map +1 -0
  26. package/dist/work-paper-capability-checks.d.ts +17 -0
  27. package/dist/work-paper-capability-checks.js +101 -0
  28. package/dist/work-paper-capability-checks.js.map +1 -0
  29. package/dist/work-paper-capability-operations.d.ts +34 -0
  30. package/dist/work-paper-capability-operations.js +70 -0
  31. package/dist/work-paper-capability-operations.js.map +1 -0
  32. package/dist/work-paper-capability-surface.d.ts +97 -0
  33. package/dist/work-paper-capability-surface.js +236 -0
  34. package/dist/work-paper-capability-surface.js.map +1 -0
  35. package/dist/work-paper-cell-content-setter.d.ts +37 -0
  36. package/dist/work-paper-cell-content-setter.js +87 -0
  37. package/dist/work-paper-cell-content-setter.js.map +1 -0
  38. package/dist/work-paper-cell-mutation-refs.d.ts +23 -0
  39. package/dist/work-paper-cell-mutation-refs.js +50 -0
  40. package/dist/work-paper-cell-mutation-refs.js.map +1 -0
  41. package/dist/work-paper-cell-read.d.ts +41 -0
  42. package/dist/work-paper-cell-read.js +54 -0
  43. package/dist/work-paper-cell-read.js.map +1 -0
  44. package/dist/work-paper-clipboard-operations.d.ts +24 -0
  45. package/dist/work-paper-clipboard-operations.js +56 -0
  46. package/dist/work-paper-clipboard-operations.js.map +1 -0
  47. package/dist/work-paper-clipboard.d.ts +13 -0
  48. package/dist/work-paper-clipboard.js +19 -0
  49. package/dist/work-paper-clipboard.js.map +1 -0
  50. package/dist/work-paper-config.d.ts +11 -0
  51. package/dist/work-paper-config.js +247 -0
  52. package/dist/work-paper-config.js.map +1 -0
  53. package/dist/work-paper-date-time.d.ts +4 -0
  54. package/dist/work-paper-date-time.js +38 -0
  55. package/dist/work-paper-date-time.js.map +1 -0
  56. package/dist/work-paper-dependency-refs.d.ts +11 -0
  57. package/dist/work-paper-dependency-refs.js +74 -0
  58. package/dist/work-paper-dependency-refs.js.map +1 -0
  59. package/dist/work-paper-emitter.d.ts +22 -0
  60. package/dist/work-paper-emitter.js +130 -0
  61. package/dist/work-paper-emitter.js.map +1 -0
  62. package/dist/work-paper-engine-event-tracker.d.ts +24 -0
  63. package/dist/work-paper-engine-event-tracker.js +92 -0
  64. package/dist/work-paper-engine-event-tracker.js.map +1 -0
  65. package/dist/work-paper-errors.d.ts +4 -0
  66. package/dist/work-paper-errors.js +7 -0
  67. package/dist/work-paper-errors.js.map +1 -1
  68. package/dist/work-paper-existing-numeric-fast-path.d.ts +31 -0
  69. package/dist/work-paper-existing-numeric-fast-path.js +120 -0
  70. package/dist/work-paper-existing-numeric-fast-path.js.map +1 -0
  71. package/dist/work-paper-fill-helpers.d.ts +8 -0
  72. package/dist/work-paper-fill-helpers.js +34 -0
  73. package/dist/work-paper-fill-helpers.js.map +1 -0
  74. package/dist/work-paper-formula-analysis.d.ts +18 -0
  75. package/dist/work-paper-formula-analysis.js +54 -0
  76. package/dist/work-paper-formula-analysis.js.map +1 -0
  77. package/dist/work-paper-formula-rewrite.d.ts +22 -0
  78. package/dist/work-paper-formula-rewrite.js +71 -0
  79. package/dist/work-paper-formula-rewrite.js.map +1 -0
  80. package/dist/work-paper-function-registry.d.ts +39 -0
  81. package/dist/work-paper-function-registry.js +66 -0
  82. package/dist/work-paper-function-registry.js.map +1 -0
  83. package/dist/work-paper-history-operations.d.ts +15 -0
  84. package/dist/work-paper-history-operations.js +14 -0
  85. package/dist/work-paper-history-operations.js.map +1 -0
  86. package/dist/work-paper-history.d.ts +50 -0
  87. package/dist/work-paper-history.js +136 -0
  88. package/dist/work-paper-history.js.map +1 -0
  89. package/dist/work-paper-internals.d.ts +24 -0
  90. package/dist/work-paper-internals.js +59 -0
  91. package/dist/work-paper-internals.js.map +1 -0
  92. package/dist/work-paper-literal-mutation-queue.d.ts +18 -0
  93. package/dist/work-paper-literal-mutation-queue.js +40 -0
  94. package/dist/work-paper-literal-mutation-queue.js.map +1 -0
  95. package/dist/work-paper-matrix-application.d.ts +31 -0
  96. package/dist/work-paper-matrix-application.js +85 -0
  97. package/dist/work-paper-matrix-application.js.map +1 -0
  98. package/dist/work-paper-mutation-queues.d.ts +29 -0
  99. package/dist/work-paper-mutation-queues.js +72 -0
  100. package/dist/work-paper-mutation-queues.js.map +1 -0
  101. package/dist/work-paper-named-expression-fast-path.d.ts +37 -0
  102. package/dist/work-paper-named-expression-fast-path.js +100 -0
  103. package/dist/work-paper-named-expression-fast-path.js.map +1 -0
  104. package/dist/work-paper-named-expression-helpers.d.ts +54 -0
  105. package/dist/work-paper-named-expression-helpers.js +179 -0
  106. package/dist/work-paper-named-expression-helpers.js.map +1 -0
  107. package/dist/work-paper-named-expression-operations.d.ts +39 -0
  108. package/dist/work-paper-named-expression-operations.js +82 -0
  109. package/dist/work-paper-named-expression-operations.js.map +1 -0
  110. package/dist/work-paper-public-surface.d.ts +73 -0
  111. package/dist/work-paper-public-surface.js +165 -0
  112. package/dist/work-paper-public-surface.js.map +1 -0
  113. package/dist/work-paper-read-operations.d.ts +52 -0
  114. package/dist/work-paper-read-operations.js +185 -0
  115. package/dist/work-paper-read-operations.js.map +1 -0
  116. package/dist/work-paper-runtime-adapters.d.ts +144 -0
  117. package/dist/work-paper-runtime-adapters.js +256 -0
  118. package/dist/work-paper-runtime-adapters.js.map +1 -0
  119. package/dist/work-paper-runtime-helpers.d.ts +27 -0
  120. package/dist/work-paper-runtime-helpers.js +305 -0
  121. package/dist/work-paper-runtime-helpers.js.map +1 -0
  122. package/dist/work-paper-runtime-surface.d.ts +137 -0
  123. package/dist/work-paper-runtime-surface.js +702 -0
  124. package/dist/work-paper-runtime-surface.js.map +1 -0
  125. package/dist/work-paper-runtime.d.ts +56 -285
  126. package/dist/work-paper-runtime.js +403 -4809
  127. package/dist/work-paper-runtime.js.map +1 -1
  128. package/dist/work-paper-scratch-evaluator.js +29 -26
  129. package/dist/work-paper-scratch-evaluator.js.map +1 -1
  130. package/dist/work-paper-sheet-dimension-cache.d.ts +36 -0
  131. package/dist/work-paper-sheet-dimension-cache.js +158 -0
  132. package/dist/work-paper-sheet-dimension-cache.js.map +1 -0
  133. package/dist/work-paper-sheet-initialization.d.ts +19 -0
  134. package/dist/work-paper-sheet-initialization.js +93 -0
  135. package/dist/work-paper-sheet-initialization.js.map +1 -0
  136. package/dist/work-paper-sheet-inspection.d.ts +66 -0
  137. package/dist/work-paper-sheet-inspection.js +204 -0
  138. package/dist/work-paper-sheet-inspection.js.map +1 -0
  139. package/dist/work-paper-sheet-operations.d.ts +59 -0
  140. package/dist/work-paper-sheet-operations.js +104 -0
  141. package/dist/work-paper-sheet-operations.js.map +1 -0
  142. package/dist/work-paper-sheet-read.d.ts +21 -0
  143. package/dist/work-paper-sheet-read.js +32 -0
  144. package/dist/work-paper-sheet-read.js.map +1 -0
  145. package/dist/work-paper-sheet-rename-fast-path.d.ts +18 -0
  146. package/dist/work-paper-sheet-rename-fast-path.js +43 -0
  147. package/dist/work-paper-sheet-rename-fast-path.js.map +1 -0
  148. package/dist/work-paper-static-api.d.ts +18 -0
  149. package/dist/work-paper-static-api.js +44 -0
  150. package/dist/work-paper-static-api.js.map +1 -0
  151. package/dist/work-paper-static-registry.d.ts +21 -0
  152. package/dist/work-paper-static-registry.js +150 -0
  153. package/dist/work-paper-static-registry.js.map +1 -0
  154. package/dist/work-paper-tracked-change-reducer.d.ts +41 -0
  155. package/dist/work-paper-tracked-change-reducer.js +281 -0
  156. package/dist/work-paper-tracked-change-reducer.js.map +1 -0
  157. package/dist/work-paper-tracked-event-helpers.d.ts +89 -0
  158. package/dist/work-paper-tracked-event-helpers.js +366 -0
  159. package/dist/work-paper-tracked-event-helpers.js.map +1 -0
  160. package/dist/work-paper-types.d.ts +6 -5
  161. package/dist/work-paper-visibility-snapshot.d.ts +36 -0
  162. package/dist/work-paper-visibility-snapshot.js +62 -0
  163. package/dist/work-paper-visibility-snapshot.js.map +1 -0
  164. package/package.json +13 -5
@@ -1,9 +1,14 @@
1
1
  import { indexToColumn } from '@bilig/formula';
2
2
  import { makeCellKey } from '@bilig/core';
3
- import { ErrorCode, ValueTag } from '@bilig/protocol';
3
+ import { compareTrackedPhysicalCellIndices, copyOrderedTrackedCellIndices, createLazyPhysicalTrackedIndexChanges, detachTrackedIndexChanges, formatTrackedAddress, isTrackedIndexSliceSorted, readPhysicalTrackedIndexChange, trackedIndicesAllBelongToSheet, tryCreateLazyPhysicalTrackedIndexChanges, } from './tracked-cell-lazy-physical-changes.js';
4
+ import { readTrackedCellValue } from './tracked-cell-value-read.js';
5
+ import { trackedSourceHasSortedDisjointIndices } from './tracked-index-source-order.js';
4
6
  const COLUMN_LABEL_CACHE = [];
5
- const DEFERRED_TRACKED_INDEX_CHANGES = new WeakMap();
6
7
  const LAZY_PUBLIC_CHANGE_SOURCE_THRESHOLD = 256;
8
+ export { detachTrackedIndexChanges, forceMaterializeTrackedIndexChanges, hasDeferredTrackedIndexChanges, } from './tracked-cell-lazy-physical-changes.js';
9
+ function withSourceExplicitChangedCount(options, explicitChangedCount) {
10
+ return explicitChangedCount === undefined ? options : { ...options, explicitChangedCount };
11
+ }
7
12
  export function materializeTrackedIndexChangesWithMetadata(engine, changedCellIndices, options = {}) {
8
13
  if (changedCellIndices.length === 0) {
9
14
  return { changes: [], ordered: true };
@@ -44,9 +49,7 @@ export function materializeTrackedIndexChangesWithMetadata(engine, changedCellIn
44
49
  return { changes: [], ordered: true };
45
50
  }
46
51
  if (options.lazy) {
47
- const lazyPhysicalChanges = tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndices, firstSheetId, formatAddressCached, {
48
- sortedSliceSplit: options.explicitChangedCount,
49
- });
52
+ const lazyPhysicalChanges = tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndices, firstSheetId, formatAddressCached, options.explicitChangedCount === undefined ? {} : { sortedSliceSplit: options.explicitChangedCount });
50
53
  if (lazyPhysicalChanges) {
51
54
  return { changes: lazyPhysicalChanges, ordered: true };
52
55
  }
@@ -101,20 +104,14 @@ export function materializeTrackedIndexChangesWithMetadata(engine, changedCellIn
101
104
  }
102
105
  return { changes, ordered: true };
103
106
  }
104
- if (options.lazy && isPhysicalSheet && trackedIndicesAllBelongToSheet(cellStore, changedCellIndices, firstSheetId)) {
105
- if (isTrackedIndexSliceSorted(cellStore, changedCellIndices, 0, changedCellIndices.length)) {
106
- return {
107
- changes: createLazyPhysicalTrackedIndexChanges(firstSheetId, sheetName, cellStore, engine, changedCellIndices, formatAddressCached),
108
- ordered: true,
109
- };
110
- }
111
- const reverseSortedCellIndices = copyReverseSortedTrackedCellIndices(cellStore, changedCellIndices);
112
- if (reverseSortedCellIndices) {
113
- return {
114
- changes: createLazyPhysicalTrackedIndexChanges(firstSheetId, sheetName, cellStore, engine, reverseSortedCellIndices, formatAddressCached),
115
- ordered: true,
116
- };
117
- }
107
+ if (options.lazy &&
108
+ isPhysicalSheet &&
109
+ trackedIndicesAllBelongToSheet(cellStore, changedCellIndices, firstSheetId) &&
110
+ isTrackedIndexSliceSorted(cellStore, changedCellIndices, 0, changedCellIndices.length)) {
111
+ return {
112
+ changes: createLazyPhysicalTrackedIndexChanges(firstSheetId, sheetName, cellStore, engine, changedCellIndices, formatAddressCached),
113
+ ordered: true,
114
+ };
118
115
  }
119
116
  let ordered = true;
120
117
  let previousRow = -1;
@@ -236,10 +233,8 @@ export function materializeTrackedIndexChangeSourcesWithMetadata(engine, sources
236
233
  return lazySameSheetChanges;
237
234
  }
238
235
  if (sources.length === 1) {
239
- const materialized = materializeTrackedIndexChangesWithMetadata(engine, sources[0].changedCellIndices, {
240
- ...options,
241
- explicitChangedCount: sources[0].explicitChangedCount,
242
- });
236
+ const source = sources[0];
237
+ const materialized = materializeTrackedIndexChangesWithMetadata(engine, source.changedCellIndices, withSourceExplicitChangedCount(options, source.explicitChangedCount));
243
238
  return {
244
239
  changes: materialized.changes,
245
240
  ordered: materialized.ordered,
@@ -267,10 +262,7 @@ export function materializeTrackedIndexChangeSourcesWithMetadata(engine, sources
267
262
  }
268
263
  previousNumericCellIndex = last;
269
264
  }
270
- const materialized = materializeTrackedIndexChangesWithMetadata(engine, source.changedCellIndices, {
271
- ...options,
272
- explicitChangedCount: source.explicitChangedCount,
273
- });
265
+ const materialized = materializeTrackedIndexChangesWithMetadata(engine, source.changedCellIndices, withSourceExplicitChangedCount(options, source.explicitChangedCount));
274
266
  materializedSources[sourceIndex] = materialized;
275
267
  if (!materialized.ordered) {
276
268
  canUseSortedDisjointFastPath = false;
@@ -297,51 +289,12 @@ export function materializeTrackedIndexChangeSourcesWithMetadata(engine, sources
297
289
  }
298
290
  return materializeTrackedIndexChangeSourcesGeneric(engine, sources, materializedSources, options, sheetOrders);
299
291
  }
300
- export function forceMaterializeTrackedIndexChanges(changes) {
301
- const deferred = DEFERRED_TRACKED_INDEX_CHANGES.get(changes);
302
- if (deferred === undefined) {
303
- return false;
304
- }
305
- deferred.forceMaterialize();
306
- DEFERRED_TRACKED_INDEX_CHANGES.delete(changes);
307
- return true;
308
- }
309
- export function detachTrackedIndexChanges(changes, options = {}) {
310
- const deferred = DEFERRED_TRACKED_INDEX_CHANGES.get(changes);
311
- if (deferred === undefined) {
312
- return false;
313
- }
314
- deferred.detach(options);
315
- return true;
316
- }
317
- export function hasDeferredTrackedIndexChanges(changes) {
318
- return DEFERRED_TRACKED_INDEX_CHANGES.has(changes);
319
- }
320
- function readTrackedCellValue(cellStore, cellIndex, engine) {
321
- const tag = cellStore.tags[cellIndex] ?? ValueTag.Empty;
322
- switch (tag) {
323
- case ValueTag.Number:
324
- return { tag: ValueTag.Number, value: cellStore.numbers[cellIndex] ?? 0 };
325
- case ValueTag.Boolean:
326
- return { tag: ValueTag.Boolean, value: (cellStore.numbers[cellIndex] ?? 0) !== 0 };
327
- case ValueTag.String:
328
- return cellStore.getValue(cellIndex, (stringId) => engine.strings.get(stringId));
329
- case ValueTag.Error:
330
- return { tag: ValueTag.Error, code: cellStore.errors[cellIndex] };
331
- case ValueTag.Empty:
332
- default:
333
- return { tag: ValueTag.Empty };
334
- }
335
- }
336
292
  function materializeTrackedIndexChangeSourcesGeneric(engine, sources, materializedSources, options, sheetOrders) {
337
293
  const latestChangesByKey = new Map();
338
294
  for (let sourceIndex = 0; sourceIndex < sources.length; sourceIndex += 1) {
339
295
  const source = sources[sourceIndex];
340
296
  const materialized = materializedSources[sourceIndex] ??
341
- materializeTrackedIndexChangesWithMetadata(engine, source.changedCellIndices, {
342
- ...options,
343
- explicitChangedCount: source.explicitChangedCount,
344
- });
297
+ materializeTrackedIndexChangesWithMetadata(engine, source.changedCellIndices, withSourceExplicitChangedCount(options, source.explicitChangedCount));
345
298
  for (let changeIndex = 0; changeIndex < materialized.changes.length; changeIndex += 1) {
346
299
  const change = materialized.changes[changeIndex];
347
300
  const key = makeCellKey(change.address.sheet, change.address.row, change.address.col);
@@ -456,20 +409,6 @@ function orderedTrackedIndexSource(cellStore, source) {
456
409
  lastCellIndex: source.changedCellIndices[length - 1],
457
410
  };
458
411
  }
459
- function trackedSourceHasSortedDisjointIndices(source) {
460
- if (source.changedCellIndicesSortedDisjoint !== undefined) {
461
- return source.changedCellIndicesSortedDisjoint;
462
- }
463
- let previous = -1;
464
- for (let index = 0; index < source.changedCellIndices.length; index += 1) {
465
- const cellIndex = source.changedCellIndices[index];
466
- if (!Number.isInteger(cellIndex) || cellIndex < 0 || cellIndex <= previous) {
467
- return false;
468
- }
469
- previous = cellIndex;
470
- }
471
- return true;
472
- }
473
412
  function sheetOrderLookup(engine) {
474
413
  const sheetOrders = new Map();
475
414
  engine.workbook.sheetsById.forEach((sheet, sheetId) => {
@@ -510,357 +449,4 @@ function isTrackedCellChangeSliceReverseSorted(changes, sheetOrders, start, end)
510
449
  }
511
450
  return true;
512
451
  }
513
- function compareTrackedPhysicalCellIndices(cellStore, leftCellIndex, rightCellIndex) {
514
- return ((cellStore.rows[leftCellIndex] ?? 0) - (cellStore.rows[rightCellIndex] ?? 0) ||
515
- (cellStore.cols[leftCellIndex] ?? 0) - (cellStore.cols[rightCellIndex] ?? 0));
516
- }
517
- function isTrackedIndexSliceSorted(cellStore, changedCellIndices, start, end) {
518
- for (let index = start + 1; index < end; index += 1) {
519
- if (compareTrackedPhysicalCellIndices(cellStore, changedCellIndices[index - 1], changedCellIndices[index]) > 0) {
520
- return false;
521
- }
522
- }
523
- return true;
524
- }
525
- function copyReverseSortedTrackedCellIndices(cellStore, changedCellIndices) {
526
- const length = changedCellIndices.length;
527
- const result = new Uint32Array(length);
528
- let previousRow = Number.POSITIVE_INFINITY;
529
- let previousCol = Number.POSITIVE_INFINITY;
530
- for (let index = 0; index < length; index += 1) {
531
- const cellIndex = changedCellIndices[index];
532
- const row = cellStore.rows[cellIndex] ?? 0;
533
- const col = cellStore.cols[cellIndex] ?? 0;
534
- if (row > previousRow || (row === previousRow && col >= previousCol)) {
535
- return undefined;
536
- }
537
- result[length - index - 1] = cellIndex;
538
- previousRow = row;
539
- previousCol = col;
540
- }
541
- return result;
542
- }
543
- function formatTrackedAddress(row, col) {
544
- let label = COLUMN_LABEL_CACHE[col];
545
- if (label === undefined) {
546
- label = indexToColumn(col);
547
- COLUMN_LABEL_CACHE[col] = label;
548
- }
549
- return `${label}${row + 1}`;
550
- }
551
- function readPhysicalTrackedIndexChange(cellIndex, sheetId, sheetName, cellStore, engine, formatAddressCached) {
552
- const row = cellStore.rows[cellIndex];
553
- const col = cellStore.cols[cellIndex];
554
- return {
555
- kind: 'cell',
556
- address: { sheet: sheetId, row, col },
557
- sheetName,
558
- a1: formatAddressCached(row, col),
559
- newValue: readTrackedCellValue(cellStore, cellIndex, engine),
560
- };
561
- }
562
- function trackedIndicesAllBelongToSheet(cellStore, changedCellIndices, sheetId) {
563
- for (let index = 0; index < changedCellIndices.length; index += 1) {
564
- if (cellStore.sheetIds[changedCellIndices[index]] !== sheetId) {
565
- return false;
566
- }
567
- }
568
- return true;
569
- }
570
- function createLazyPhysicalTrackedIndexChanges(sheetId, sheetName, cellStore, engine, changedCellIndices, formatAddressCached, sortedSliceSplit) {
571
- const changedCellIndicesForMaterialization = changedCellIndices instanceof Uint32Array ? changedCellIndices : copyTrackedCellIndices(changedCellIndices);
572
- const length = changedCellIndicesForMaterialization.length;
573
- const cache = [];
574
- cache.length = length;
575
- let detached;
576
- let fullyMaterialized = false;
577
- let orderedCellIndices;
578
- const hasMaterializedIndex = (index) => Object.prototype.hasOwnProperty.call(cache, index);
579
- const orderedCellIndexAt = (index) => {
580
- if (sortedSliceSplit === undefined) {
581
- return changedCellIndicesForMaterialization[index];
582
- }
583
- if (orderedCellIndices === undefined) {
584
- orderedCellIndices = new Uint32Array(length);
585
- copyOrderedTrackedCellIndices(cellStore, changedCellIndicesForMaterialization, orderedCellIndices, 0, sortedSliceSplit);
586
- }
587
- return orderedCellIndices[index];
588
- };
589
- const forEachOrderedCellIndex = (fn) => {
590
- if (sortedSliceSplit === undefined) {
591
- for (let index = 0; index < length; index += 1) {
592
- fn(index, changedCellIndicesForMaterialization[index]);
593
- }
594
- return;
595
- }
596
- if (orderedCellIndices === undefined) {
597
- orderedCellIndices = new Uint32Array(length);
598
- copyOrderedTrackedCellIndices(cellStore, changedCellIndicesForMaterialization, orderedCellIndices, 0, sortedSliceSplit);
599
- }
600
- for (let index = 0; index < length; index += 1) {
601
- fn(index, orderedCellIndices[index]);
602
- }
603
- };
604
- const materialize = (index) => {
605
- if (hasMaterializedIndex(index)) {
606
- return cache[index];
607
- }
608
- if (detached) {
609
- cache[index] = readDetachedPhysicalTrackedIndexChange(index, sheetId, sheetName, cellStore, detached, formatAddressCached);
610
- return cache[index];
611
- }
612
- cache[index] = readPhysicalTrackedIndexChange(orderedCellIndexAt(index), sheetId, sheetName, cellStore, engine, formatAddressCached);
613
- return cache[index];
614
- };
615
- const detach = (options = {}) => {
616
- if (fullyMaterialized) {
617
- return;
618
- }
619
- const preservePositions = options.preservePositions ?? true;
620
- if (detached !== undefined) {
621
- if (preservePositions && detached.rows === undefined) {
622
- if (detached.cellIndices === undefined) {
623
- return;
624
- }
625
- const rows = new Uint32Array(length);
626
- const cols = new Uint32Array(length);
627
- for (let index = 0; index < length; index += 1) {
628
- const cellIndex = detached.cellIndices[index];
629
- rows[index] = cellStore.rows[cellIndex] ?? 0;
630
- cols[index] = cellStore.cols[cellIndex] ?? 0;
631
- }
632
- detached = { ...detached, rows, cols };
633
- }
634
- return;
635
- }
636
- const cellIndices = preservePositions ? undefined : new Uint32Array(length);
637
- const rows = preservePositions ? new Uint32Array(length) : undefined;
638
- const cols = preservePositions ? new Uint32Array(length) : undefined;
639
- const numbers = new Float64Array(length);
640
- let tags;
641
- let constantTag;
642
- let errors;
643
- let stringIds;
644
- let strings;
645
- const ensureTags = (currentIndex) => {
646
- if (tags !== undefined) {
647
- return tags;
648
- }
649
- const nextTags = new Uint8Array(length);
650
- nextTags.fill(constantTag ?? ValueTag.Empty, 0, currentIndex);
651
- tags = nextTags;
652
- return nextTags;
653
- };
654
- forEachOrderedCellIndex((index, cellIndex) => {
655
- if (cellIndices !== undefined) {
656
- cellIndices[index] = cellIndex;
657
- }
658
- if (rows !== undefined && cols !== undefined) {
659
- rows[index] = cellStore.rows[cellIndex] ?? 0;
660
- cols[index] = cellStore.cols[cellIndex] ?? 0;
661
- }
662
- const tag = cellStore.tags[cellIndex] ?? ValueTag.Empty;
663
- if (tags !== undefined) {
664
- tags[index] = tag;
665
- }
666
- else if (constantTag === undefined) {
667
- constantTag = tag;
668
- }
669
- else if (tag !== constantTag) {
670
- ensureTags(index)[index] = tag;
671
- }
672
- switch (tag) {
673
- case ValueTag.Number:
674
- case ValueTag.Boolean:
675
- numbers[index] = cellStore.numbers[cellIndex] ?? 0;
676
- break;
677
- case ValueTag.String:
678
- {
679
- stringIds ??= new Int32Array(length);
680
- strings ??= [];
681
- stringIds[index] = cellStore.stringIds[cellIndex] ?? 0;
682
- const value = cellStore.getValue(cellIndex, (stringId) => engine.strings.get(stringId));
683
- strings[index] = value.tag === ValueTag.String ? value.value : '';
684
- }
685
- break;
686
- case ValueTag.Error:
687
- errors ??= new Int32Array(length);
688
- errors[index] = cellStore.errors[cellIndex] ?? ErrorCode.None;
689
- break;
690
- case ValueTag.Empty:
691
- default:
692
- break;
693
- }
694
- });
695
- detached = {
696
- ...(cellIndices === undefined ? {} : { cellIndices }),
697
- ...(rows !== undefined && cols !== undefined ? { rows, cols } : {}),
698
- ...(tags !== undefined ? { tags } : { constantTag: constantTag ?? ValueTag.Empty }),
699
- numbers,
700
- ...(errors === undefined ? {} : { errors }),
701
- ...(stringIds === undefined ? {} : { stringIds }),
702
- ...(strings === undefined ? {} : { strings }),
703
- };
704
- };
705
- const forceMaterialize = () => {
706
- if (fullyMaterialized) {
707
- return;
708
- }
709
- if (detached !== undefined) {
710
- for (let index = 0; index < length; index += 1) {
711
- if (!hasMaterializedIndex(index)) {
712
- cache[index] = readDetachedPhysicalTrackedIndexChange(index, sheetId, sheetName, cellStore, detached, formatAddressCached);
713
- }
714
- }
715
- fullyMaterialized = true;
716
- return;
717
- }
718
- for (let index = 0; index < length; index += 1) {
719
- if (!hasMaterializedIndex(index)) {
720
- cache[index] = readPhysicalTrackedIndexChange(orderedCellIndexAt(index), sheetId, sheetName, cellStore, engine, formatAddressCached);
721
- }
722
- }
723
- fullyMaterialized = true;
724
- };
725
- const numericIndexOf = (property) => {
726
- if (typeof property !== 'string' || property.length === 0) {
727
- return undefined;
728
- }
729
- const index = Number(property);
730
- return Number.isInteger(index) && index >= 0 && index < length && String(index) === property ? index : undefined;
731
- };
732
- const proxy = new Proxy(cache, {
733
- get(target, property, receiver) {
734
- const index = numericIndexOf(property);
735
- return index === undefined ? Reflect.get(target, property, receiver) : materialize(index);
736
- },
737
- getOwnPropertyDescriptor(target, property) {
738
- const index = numericIndexOf(property);
739
- if (index === undefined) {
740
- return Reflect.getOwnPropertyDescriptor(target, property);
741
- }
742
- return {
743
- configurable: true,
744
- enumerable: true,
745
- value: materialize(index),
746
- writable: true,
747
- };
748
- },
749
- has(target, property) {
750
- return numericIndexOf(property) !== undefined || Reflect.has(target, property);
751
- },
752
- ownKeys(target) {
753
- return [
754
- ...Array.from({ length }, (_value, index) => String(index)),
755
- ...Reflect.ownKeys(target).filter((key) => typeof key !== 'string' || numericIndexOf(key) === undefined),
756
- ];
757
- },
758
- });
759
- DEFERRED_TRACKED_INDEX_CHANGES.set(proxy, { forceMaterialize, detach });
760
- return proxy;
761
- }
762
- function tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndices, sheetId, formatAddressCached, options = {}) {
763
- const workbook = engine.workbook;
764
- const sheet = workbook.getSheetById(sheetId);
765
- if (sheet && sheet.structureVersion !== 1) {
766
- return null;
767
- }
768
- const cellStore = workbook.cellStore;
769
- const length = changedCellIndices.length;
770
- const split = options.sortedSliceSplit;
771
- const sortedSliceSplit = split !== undefined && split > 0 && split < length ? split : undefined;
772
- let previousRow = -1;
773
- let previousCol = -1;
774
- let previousRightRow = -1;
775
- let previousRightCol = -1;
776
- for (let index = 0; index < length; index += 1) {
777
- const cellIndex = changedCellIndices[index];
778
- if (cellStore.sheetIds[cellIndex] !== sheetId) {
779
- return null;
780
- }
781
- const row = cellStore.rows[cellIndex] ?? 0;
782
- const col = cellStore.cols[cellIndex] ?? 0;
783
- if (sortedSliceSplit !== undefined && index >= sortedSliceSplit) {
784
- if (row < previousRightRow || (row === previousRightRow && col < previousRightCol)) {
785
- return null;
786
- }
787
- previousRightRow = row;
788
- previousRightCol = col;
789
- continue;
790
- }
791
- if (row < previousRow || (row === previousRow && col < previousCol)) {
792
- return null;
793
- }
794
- previousRow = row;
795
- previousCol = col;
796
- }
797
- const sheetName = sheet?.name ?? workbook.getSheetNameById(sheetId);
798
- return createLazyPhysicalTrackedIndexChanges(sheetId, sheetName, cellStore, engine, changedCellIndices, formatAddressCached, sortedSliceSplit);
799
- }
800
- function copyOrderedTrackedCellIndices(cellStore, changedCellIndices, target, offset, sortedSliceSplit) {
801
- if (sortedSliceSplit === undefined) {
802
- for (let index = 0; index < changedCellIndices.length; index += 1) {
803
- target[offset + index] = changedCellIndices[index];
804
- }
805
- return offset + changedCellIndices.length;
806
- }
807
- let explicitIndex = 0;
808
- let recalculatedIndex = sortedSliceSplit;
809
- let outputIndex = offset;
810
- while (explicitIndex < sortedSliceSplit && recalculatedIndex < changedCellIndices.length) {
811
- const explicitCellIndex = changedCellIndices[explicitIndex];
812
- const recalculatedCellIndex = changedCellIndices[recalculatedIndex];
813
- if (compareTrackedPhysicalCellIndices(cellStore, explicitCellIndex, recalculatedCellIndex) <= 0) {
814
- target[outputIndex] = explicitCellIndex;
815
- explicitIndex += 1;
816
- }
817
- else {
818
- target[outputIndex] = recalculatedCellIndex;
819
- recalculatedIndex += 1;
820
- }
821
- outputIndex += 1;
822
- }
823
- while (explicitIndex < sortedSliceSplit) {
824
- target[outputIndex] = changedCellIndices[explicitIndex];
825
- explicitIndex += 1;
826
- outputIndex += 1;
827
- }
828
- while (recalculatedIndex < changedCellIndices.length) {
829
- target[outputIndex] = changedCellIndices[recalculatedIndex];
830
- recalculatedIndex += 1;
831
- outputIndex += 1;
832
- }
833
- return outputIndex;
834
- }
835
- function copyTrackedCellIndices(changedCellIndices) {
836
- return Uint32Array.from(changedCellIndices);
837
- }
838
- function readDetachedPhysicalTrackedIndexChange(index, sheetId, sheetName, cellStore, detached, formatAddressCached) {
839
- const cellIndex = detached.cellIndices?.[index];
840
- const row = detached.rows?.[index] ?? (cellIndex === undefined ? 0 : (cellStore.rows[cellIndex] ?? 0));
841
- const col = detached.cols?.[index] ?? (cellIndex === undefined ? 0 : (cellStore.cols[cellIndex] ?? 0));
842
- return {
843
- kind: 'cell',
844
- address: { sheet: sheetId, row, col },
845
- sheetName,
846
- a1: formatAddressCached(row, col),
847
- newValue: readDetachedCellValue(detached, index),
848
- };
849
- }
850
- function readDetachedCellValue(detached, index) {
851
- const tag = (detached.tags?.[index] ?? detached.constantTag ?? ValueTag.Empty);
852
- switch (tag) {
853
- case ValueTag.Number:
854
- return { tag: ValueTag.Number, value: detached.numbers[index] ?? 0 };
855
- case ValueTag.Boolean:
856
- return { tag: ValueTag.Boolean, value: (detached.numbers[index] ?? 0) !== 0 };
857
- case ValueTag.String:
858
- return { tag: ValueTag.String, value: detached.strings?.[index] ?? '', stringId: detached.stringIds?.[index] ?? 0 };
859
- case ValueTag.Error:
860
- return { tag: ValueTag.Error, code: detached.errors?.[index] ?? ErrorCode.None };
861
- case ValueTag.Empty:
862
- default:
863
- return { tag: ValueTag.Empty };
864
- }
865
- }
866
452
  //# sourceMappingURL=tracked-cell-index-changes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracked-cell-index-changes.js","sourceRoot":"","sources":["../src/tracked-cell-index-changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracked-cell-index-changes.js","sourceRoot":"","sources":["../src/tracked-cell-index-changes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { SpreadsheetEngine } from '@bilig/core';
2
+ import type { WorkPaperCellChange } from './work-paper-types.js';
3
+ export interface TrackedIndexDetachOptions {
4
+ readonly preservePositions?: boolean;
5
+ }
6
+ type TrackedCellStore = SpreadsheetEngine['workbook']['cellStore'];
7
+ export declare function compareTrackedPhysicalCellIndices(cellStore: TrackedCellStore, leftCellIndex: number, rightCellIndex: number): number;
8
+ export declare function isTrackedIndexSliceSorted(cellStore: TrackedCellStore, changedCellIndices: readonly number[] | Uint32Array, start: number, end: number): boolean;
9
+ export declare function formatTrackedAddress(row: number, col: number): string;
10
+ export declare function readPhysicalTrackedIndexChange(cellIndex: number, sheetId: number, sheetName: string, cellStore: TrackedCellStore, engine: SpreadsheetEngine, formatAddressCached: (row: number, col: number) => string): WorkPaperCellChange;
11
+ export declare function trackedIndicesAllBelongToSheet(cellStore: TrackedCellStore, changedCellIndices: readonly number[] | Uint32Array, sheetId: number): boolean;
12
+ export declare function createLazyPhysicalTrackedIndexChanges(sheetId: number, sheetName: string, cellStore: TrackedCellStore, engine: SpreadsheetEngine, changedCellIndices: readonly number[] | Uint32Array, formatAddressCached: (row: number, col: number) => string, sortedSliceSplit?: number): WorkPaperCellChange[];
13
+ export declare function tryCreateLazyPhysicalTrackedIndexChanges(engine: SpreadsheetEngine, changedCellIndices: readonly number[] | Uint32Array, sheetId: number, formatAddressCached: (row: number, col: number) => string, options?: {
14
+ readonly sortedSliceSplit?: number;
15
+ }): WorkPaperCellChange[] | null;
16
+ export declare function copyOrderedTrackedCellIndices(cellStore: TrackedCellStore, changedCellIndices: readonly number[] | Uint32Array, target: Uint32Array, offset: number, sortedSliceSplit?: number): number;
17
+ export declare function copyTrackedCellIndices(changedCellIndices: readonly number[] | Uint32Array): Uint32Array;
18
+ export declare function forceMaterializeTrackedIndexChanges(changes: readonly WorkPaperCellChange[]): boolean;
19
+ export declare function detachTrackedIndexChanges(changes: readonly WorkPaperCellChange[], options?: TrackedIndexDetachOptions): boolean;
20
+ export declare function hasDeferredTrackedIndexChanges(changes: readonly WorkPaperCellChange[]): boolean;
21
+ export {};