@bilig/headless 0.10.64 → 0.11.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.
- package/README.md +43 -33
- package/dist/fast-range-read.js +38 -19
- package/dist/fast-range-read.js.map +1 -1
- package/dist/tracked-cell-lazy-physical-changes.js +28 -1
- package/dist/tracked-cell-lazy-physical-changes.js.map +1 -1
- package/dist/work-paper-read-operations.js +27 -2
- package/dist/work-paper-read-operations.js.map +1 -1
- package/dist/work-paper-runtime-surface.d.ts +1 -1
- package/dist/work-paper-runtime.d.ts +8 -2
- package/dist/work-paper-runtime.js +137 -19
- package/dist/work-paper-runtime.js.map +1 -1
- package/dist/work-paper-sheet-dimension-cache.d.ts +6 -1
- package/dist/work-paper-sheet-dimension-cache.js +9 -2
- package/dist/work-paper-sheet-dimension-cache.js.map +1 -1
- package/dist/work-paper-sheet-initialization.d.ts +6 -2
- package/dist/work-paper-sheet-initialization.js +10 -4
- package/dist/work-paper-sheet-initialization.js.map +1 -1
- package/dist/work-paper-sheet-inspection.d.ts +3 -0
- package/dist/work-paper-sheet-inspection.js +35 -1
- package/dist/work-paper-sheet-inspection.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@bilig/headless)
|
|
5
5
|
[](https://github.com/proompteng/bilig)
|
|
6
6
|
[](https://github.com/proompteng/bilig/stargazers)
|
|
7
|
-
[](
|
|
7
|
+
[](https://github.com/proompteng/bilig/blob/main/LICENSE)
|
|
8
8
|
|
|
9
9
|
`@bilig/headless` lets Node.js programs build workbooks, write formulas, read
|
|
10
10
|
calculated cells, and save or restore the workbook as JSON. It is the `bilig`
|
|
@@ -34,18 +34,19 @@ pnpm --filter @bilig/headless build
|
|
|
34
34
|
- Run the [quickstart](#quickstart) for a one-file formula and persistence
|
|
35
35
|
smoke test.
|
|
36
36
|
- Try the runnable examples:
|
|
37
|
-
[`examples/headless-workpaper`](
|
|
38
|
-
[`npm run json-records`](
|
|
37
|
+
[`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper) and
|
|
38
|
+
[`npm run json-records`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper#json-records-input).
|
|
39
39
|
- Build a small service from the
|
|
40
|
-
[Node service recipe](
|
|
40
|
+
[Node service recipe](https://github.com/proompteng/bilig/blob/main/docs/node-service-workpaper-recipe.md).
|
|
41
41
|
- Check the
|
|
42
|
-
[compatibility boundaries](
|
|
42
|
+
[compatibility boundaries](https://github.com/proompteng/bilig/blob/main/docs/where-bilig-is-not-excel-compatible-yet.md)
|
|
43
43
|
before assuming full Excel parity.
|
|
44
44
|
- Compare against other engines with the
|
|
45
|
-
[
|
|
46
|
-
|
|
45
|
+
[SheetJS and ExcelJS comparison](https://github.com/proompteng/bilig/blob/main/docs/sheetjs-exceljs-alternative-formula-workbook-api.md),
|
|
46
|
+
[HyperFormula comparison](https://github.com/proompteng/bilig/blob/main/docs/hyperformula-alternative-headless-workpaper.md)
|
|
47
|
+
and [benchmark explainer](https://github.com/proompteng/bilig/blob/main/docs/what-workpaper-benchmark-proves.md).
|
|
47
48
|
- Star or bookmark the project:
|
|
48
|
-
<https://github.com/proompteng/bilig
|
|
49
|
+
<https://github.com/proompteng/bilig>.
|
|
49
50
|
|
|
50
51
|
## Production Status
|
|
51
52
|
|
|
@@ -64,10 +65,10 @@ Current release posture:
|
|
|
64
65
|
workloads: `38/38` public and `8/8` holdout.
|
|
65
66
|
- The public benchmark evidence note explains the measured workload families,
|
|
66
67
|
engine metadata, exclusions, and the current p95 nuance:
|
|
67
|
-
[`docs/headless-workpaper-benchmark-evidence.md`](
|
|
68
|
+
[`docs/headless-workpaper-benchmark-evidence.md`](https://github.com/proompteng/bilig/blob/main/docs/headless-workpaper-benchmark-evidence.md).
|
|
68
69
|
- The shareable benchmark explainer states what the scorecard proves and what
|
|
69
70
|
it does not:
|
|
70
|
-
[`docs/what-workpaper-benchmark-proves.md`](
|
|
71
|
+
[`docs/what-workpaper-benchmark-proves.md`](https://github.com/proompteng/bilig/blob/main/docs/what-workpaper-benchmark-proves.md).
|
|
71
72
|
- Recently fixed and hardened P1 risks are covered by regression tests:
|
|
72
73
|
- `updateConfig()` now applies `useColumnIndex` correctly when a rebuild-only
|
|
73
74
|
config key changes in the same update.
|
|
@@ -117,44 +118,48 @@ Repository links:
|
|
|
117
118
|
|
|
118
119
|
- Website: <https://proompteng.github.io/bilig/>
|
|
119
120
|
- GitHub: <https://github.com/proompteng/bilig>
|
|
120
|
-
- Star or bookmark: <https://github.com/proompteng/bilig
|
|
121
|
+
- Star or bookmark: <https://github.com/proompteng/bilig>
|
|
121
122
|
- Feedback discussion:
|
|
122
123
|
<https://github.com/proompteng/bilig/discussions/115>
|
|
123
124
|
- Good first issues:
|
|
124
125
|
<https://github.com/proompteng/bilig/blob/main/docs/starter-issues.md>
|
|
126
|
+
- First-timers-only issues:
|
|
127
|
+
<https://github.com/proompteng/bilig/issues?q=is%3Aissue%20state%3Aopen%20label%3Afirst-timers-only>
|
|
125
128
|
- npm: <https://www.npmjs.com/package/@bilig/headless>
|
|
126
129
|
- runnable example:
|
|
127
|
-
[`examples/headless-workpaper`](
|
|
130
|
+
[`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper)
|
|
128
131
|
- JSON records input example:
|
|
129
|
-
[`npm run json-records`](
|
|
132
|
+
[`npm run json-records`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper#json-records-input)
|
|
130
133
|
- Node service recipe:
|
|
131
|
-
[`docs/node-service-workpaper-recipe.md`](
|
|
134
|
+
[`docs/node-service-workpaper-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/node-service-workpaper-recipe.md)
|
|
132
135
|
- CSV-shaped input recipe:
|
|
133
|
-
[`docs/csv-shaped-workpaper-input-recipe.md`](
|
|
136
|
+
[`docs/csv-shaped-workpaper-input-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/csv-shaped-workpaper-input-recipe.md)
|
|
134
137
|
- unsupported formula troubleshooting:
|
|
135
|
-
[`docs/unsupported-formula-troubleshooting-recipe.md`](
|
|
138
|
+
[`docs/unsupported-formula-troubleshooting-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/unsupported-formula-troubleshooting-recipe.md)
|
|
136
139
|
- agent tool-calling recipe:
|
|
137
|
-
[`docs/agent-workpaper-tool-calling-recipe.md`](
|
|
140
|
+
[`docs/agent-workpaper-tool-calling-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/agent-workpaper-tool-calling-recipe.md)
|
|
138
141
|
- revenue-model article:
|
|
139
|
-
[`docs/building-a-revenue-model-with-headless-workpaper.md`](
|
|
142
|
+
[`docs/building-a-revenue-model-with-headless-workpaper.md`](https://github.com/proompteng/bilig/blob/main/docs/building-a-revenue-model-with-headless-workpaper.md)
|
|
140
143
|
- compatibility boundaries:
|
|
141
|
-
[`docs/where-bilig-is-not-excel-compatible-yet.md`](
|
|
144
|
+
[`docs/where-bilig-is-not-excel-compatible-yet.md`](https://github.com/proompteng/bilig/blob/main/docs/where-bilig-is-not-excel-compatible-yet.md)
|
|
142
145
|
- XLSX corpus verifier walkthrough:
|
|
143
|
-
[`docs/xlsx-corpus-verifier-walkthrough.md`](
|
|
146
|
+
[`docs/xlsx-corpus-verifier-walkthrough.md`](https://github.com/proompteng/bilig/blob/main/docs/xlsx-corpus-verifier-walkthrough.md)
|
|
144
147
|
- HyperFormula comparison:
|
|
145
|
-
[`docs/hyperformula-alternative-headless-workpaper.md`](
|
|
148
|
+
[`docs/hyperformula-alternative-headless-workpaper.md`](https://github.com/proompteng/bilig/blob/main/docs/hyperformula-alternative-headless-workpaper.md)
|
|
149
|
+
- SheetJS and ExcelJS comparison:
|
|
150
|
+
[`docs/sheetjs-exceljs-alternative-formula-workbook-api.md`](https://github.com/proompteng/bilig/blob/main/docs/sheetjs-exceljs-alternative-formula-workbook-api.md)
|
|
146
151
|
- local benchmark walkthrough:
|
|
147
|
-
[`docs/local-workpaper-benchmark-walkthrough.md`](
|
|
152
|
+
[`docs/local-workpaper-benchmark-walkthrough.md`](https://github.com/proompteng/bilig/blob/main/docs/local-workpaper-benchmark-walkthrough.md)
|
|
148
153
|
- XLOOKUP exact fixture walkthrough:
|
|
149
|
-
[`docs/formula-edge-xlookup-exact-fixture.md`](
|
|
154
|
+
[`docs/formula-edge-xlookup-exact-fixture.md`](https://github.com/proompteng/bilig/blob/main/docs/formula-edge-xlookup-exact-fixture.md)
|
|
150
155
|
- SUMIFS paired criteria fixture walkthrough:
|
|
151
|
-
[`docs/formula-edge-sumifs-paired-criteria-fixture.md`](
|
|
156
|
+
[`docs/formula-edge-sumifs-paired-criteria-fixture.md`](https://github.com/proompteng/bilig/blob/main/docs/formula-edge-sumifs-paired-criteria-fixture.md)
|
|
152
157
|
- GROUPBY spill fixture walkthrough:
|
|
153
|
-
[`docs/formula-edge-groupby-spill-fixture.md`](
|
|
158
|
+
[`docs/formula-edge-groupby-spill-fixture.md`](https://github.com/proompteng/bilig/blob/main/docs/formula-edge-groupby-spill-fixture.md)
|
|
154
159
|
- published DEV article:
|
|
155
160
|
<https://dev.to/gregkonush/why-agents-need-workbook-apis-instead-of-spreadsheet-screenshots-3d61>
|
|
156
161
|
- DEV article source:
|
|
157
|
-
[`docs/dev-to-workbook-apis-post.md`](
|
|
162
|
+
[`docs/dev-to-workbook-apis-post.md`](https://github.com/proompteng/bilig/blob/main/docs/dev-to-workbook-apis-post.md)
|
|
158
163
|
|
|
159
164
|
## Quickstart
|
|
160
165
|
|
|
@@ -237,7 +242,7 @@ console.log({ initial, restoredValue, bytes: json.length, verified })
|
|
|
237
242
|
## Runnable Example
|
|
238
243
|
|
|
239
244
|
The repo includes a small external-consumer project at
|
|
240
|
-
[`examples/headless-workpaper`](
|
|
245
|
+
[`examples/headless-workpaper`](https://github.com/proompteng/bilig/tree/main/examples/headless-workpaper). It builds a
|
|
241
246
|
revenue workbook, evaluates formulas, applies an agent-style edit, persists and
|
|
242
247
|
restores the workbook, and verifies the final result.
|
|
243
248
|
|
|
@@ -245,6 +250,7 @@ restores the workbook, and verifies the final result.
|
|
|
245
250
|
cd examples/headless-workpaper
|
|
246
251
|
npm install
|
|
247
252
|
npm start
|
|
253
|
+
npm run agent:tool-call
|
|
248
254
|
```
|
|
249
255
|
|
|
250
256
|
For the agent-specific writeback proof, run:
|
|
@@ -257,9 +263,13 @@ That demo records the exact assumption cells changed, verifies dependent formula
|
|
|
257
263
|
readback, persists the workbook, restores it, and checks that formulas and
|
|
258
264
|
outputs survived the round trip.
|
|
259
265
|
|
|
266
|
+
`npm run agent:tool-call` exposes a small SDK-neutral tool-call shape:
|
|
267
|
+
`readRange`, `setInputCell`, computed before/after values, formula contracts,
|
|
268
|
+
persistence bytes, and restored readback equality.
|
|
269
|
+
|
|
260
270
|
For a framework-neutral recipe that wraps WorkPaper operations as agent-callable
|
|
261
271
|
tools, see
|
|
262
|
-
[`docs/agent-workpaper-tool-calling-recipe.md`](
|
|
272
|
+
[`docs/agent-workpaper-tool-calling-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/agent-workpaper-tool-calling-recipe.md).
|
|
263
273
|
It covers validated sheet/address parsing, computed before/after readback, and
|
|
264
274
|
persistence after a successful edit.
|
|
265
275
|
|
|
@@ -267,23 +277,23 @@ Repository CI also runs the same example against packed local runtime packages
|
|
|
267
277
|
through `pnpm workpaper:smoke:external`.
|
|
268
278
|
|
|
269
279
|
For a minimal service boundary with no framework dependency, see
|
|
270
|
-
[`docs/node-service-workpaper-recipe.md`](
|
|
280
|
+
[`docs/node-service-workpaper-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/node-service-workpaper-recipe.md).
|
|
271
281
|
It shows a built-in Node HTTP route that reads a computed summary, applies one
|
|
272
282
|
controlled input edit, and persists the WorkPaper document.
|
|
273
283
|
|
|
274
284
|
For simple tabular service payloads, see
|
|
275
|
-
[`docs/csv-shaped-workpaper-input-recipe.md`](
|
|
285
|
+
[`docs/csv-shaped-workpaper-input-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/csv-shaped-workpaper-input-recipe.md).
|
|
276
286
|
It normalizes a small CSV-shaped fixture into the `WorkPaper.buildFromSheets()`
|
|
277
287
|
array shape and reads formula-backed summaries.
|
|
278
288
|
|
|
279
289
|
For formula error handling, see
|
|
280
|
-
[`docs/unsupported-formula-troubleshooting-recipe.md`](
|
|
290
|
+
[`docs/unsupported-formula-troubleshooting-recipe.md`](https://github.com/proompteng/bilig/blob/main/docs/unsupported-formula-troubleshooting-recipe.md).
|
|
281
291
|
It shows how to pair `getCellDisplayValue()` with
|
|
282
292
|
`getCellFormulaDiagnostics()` so Node services and agent tools can return
|
|
283
293
|
actionable errors instead of silently accepting unsupported formula inputs.
|
|
284
294
|
|
|
285
295
|
For a focused persistence walkthrough, see
|
|
286
|
-
[`docs/persisting-formula-backed-workpaper-documents-in-node.md`](
|
|
296
|
+
[`docs/persisting-formula-backed-workpaper-documents-in-node.md`](https://github.com/proompteng/bilig/blob/main/docs/persisting-formula-backed-workpaper-documents-in-node.md)
|
|
287
297
|
and run the example package:
|
|
288
298
|
|
|
289
299
|
```sh
|
|
@@ -509,7 +519,7 @@ pnpm run ci
|
|
|
509
519
|
```
|
|
510
520
|
|
|
511
521
|
For a newcomer-friendly benchmark command walkthrough, see
|
|
512
|
-
[`docs/local-workpaper-benchmark-walkthrough.md`](
|
|
522
|
+
[`docs/local-workpaper-benchmark-walkthrough.md`](https://github.com/proompteng/bilig/blob/main/docs/local-workpaper-benchmark-walkthrough.md).
|
|
513
523
|
It explains the committed artifact check, a reduced local smoke run, and the
|
|
514
524
|
scorecard fields to compare in benchmark diffs.
|
|
515
525
|
|
package/dist/fast-range-read.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BLOCK_COLS, BLOCK_ROWS } from '@bilig/core';
|
|
2
2
|
import { ErrorCode, ValueTag } from '@bilig/protocol';
|
|
3
3
|
const EMPTY_CELL_VALUE = Object.freeze({ tag: ValueTag.Empty });
|
|
4
|
-
const FAST_PHYSICAL_RANGE_AREA_LIMIT =
|
|
4
|
+
const FAST_PHYSICAL_RANGE_AREA_LIMIT = 262_144;
|
|
5
5
|
export function readFastPhysicalRangeValues(engine, range) {
|
|
6
6
|
const sheet = engine.workbook.getSheetById(range.start.sheet);
|
|
7
7
|
if (!sheet || sheet.structureVersion !== 1) {
|
|
@@ -20,6 +20,11 @@ export function readFastPhysicalRangeValues(engine, range) {
|
|
|
20
20
|
rows[rowOffset] = row;
|
|
21
21
|
}
|
|
22
22
|
const cellStore = engine.workbook.cellStore;
|
|
23
|
+
const cellTags = cellStore.tags;
|
|
24
|
+
const cellNumbers = cellStore.numbers;
|
|
25
|
+
const cellStringIds = cellStore.stringIds;
|
|
26
|
+
const cellErrors = cellStore.errors;
|
|
27
|
+
const strings = engine.strings;
|
|
23
28
|
let filledCells = 0;
|
|
24
29
|
const blockRowStart = Math.floor(range.start.row / BLOCK_ROWS);
|
|
25
30
|
const blockRowEnd = Math.floor(range.end.row / BLOCK_ROWS);
|
|
@@ -45,7 +50,38 @@ export function readFastPhysicalRangeValues(engine, range) {
|
|
|
45
50
|
if (encodedCellIndex === 0) {
|
|
46
51
|
continue;
|
|
47
52
|
}
|
|
48
|
-
|
|
53
|
+
const cellIndex = encodedCellIndex - 1;
|
|
54
|
+
const outputCol = absoluteBlockCol + localCol - range.start.col;
|
|
55
|
+
switch (cellTags[cellIndex] ?? ValueTag.Empty) {
|
|
56
|
+
case ValueTag.Number:
|
|
57
|
+
row[outputCol] = { tag: ValueTag.Number, value: cellNumbers[cellIndex] ?? 0 };
|
|
58
|
+
break;
|
|
59
|
+
case ValueTag.Boolean:
|
|
60
|
+
row[outputCol] = {
|
|
61
|
+
tag: ValueTag.Boolean,
|
|
62
|
+
value: (cellNumbers[cellIndex] ?? 0) !== 0,
|
|
63
|
+
};
|
|
64
|
+
break;
|
|
65
|
+
case ValueTag.String: {
|
|
66
|
+
const stringId = cellStringIds[cellIndex] ?? 0;
|
|
67
|
+
row[outputCol] = {
|
|
68
|
+
tag: ValueTag.String,
|
|
69
|
+
value: stringId === 0 ? '' : strings.get(stringId),
|
|
70
|
+
stringId,
|
|
71
|
+
};
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
case ValueTag.Error:
|
|
75
|
+
row[outputCol] = {
|
|
76
|
+
tag: ValueTag.Error,
|
|
77
|
+
code: cellErrors[cellIndex] ?? ErrorCode.None,
|
|
78
|
+
};
|
|
79
|
+
break;
|
|
80
|
+
case ValueTag.Empty:
|
|
81
|
+
default:
|
|
82
|
+
row[outputCol] = EMPTY_CELL_VALUE;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
49
85
|
filledCells += 1;
|
|
50
86
|
}
|
|
51
87
|
}
|
|
@@ -61,21 +97,4 @@ export function readFastPhysicalRangeValues(engine, range) {
|
|
|
61
97
|
}
|
|
62
98
|
return rows;
|
|
63
99
|
}
|
|
64
|
-
function readCellValue(cellStore, engine, cellIndex) {
|
|
65
|
-
switch (cellStore.tags[cellIndex] ?? ValueTag.Empty) {
|
|
66
|
-
case ValueTag.Number:
|
|
67
|
-
return { tag: ValueTag.Number, value: cellStore.numbers[cellIndex] ?? 0 };
|
|
68
|
-
case ValueTag.Boolean:
|
|
69
|
-
return { tag: ValueTag.Boolean, value: (cellStore.numbers[cellIndex] ?? 0) !== 0 };
|
|
70
|
-
case ValueTag.String: {
|
|
71
|
-
const stringId = cellStore.stringIds[cellIndex] ?? 0;
|
|
72
|
-
return { tag: ValueTag.String, value: stringId === 0 ? '' : engine.strings.get(stringId), stringId };
|
|
73
|
-
}
|
|
74
|
-
case ValueTag.Error:
|
|
75
|
-
return { tag: ValueTag.Error, code: cellStore.errors[cellIndex] ?? ErrorCode.None };
|
|
76
|
-
case ValueTag.Empty:
|
|
77
|
-
default:
|
|
78
|
-
return EMPTY_CELL_VALUE;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
100
|
//# sourceMappingURL=fast-range-read.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fast-range-read.js","sourceRoot":"","sources":["../src/fast-range-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAA0B,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,iBAAiB,CAAA;AAGrE,MAAM,gBAAgB,GAAc,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;AAC1E,MAAM,8BAA8B,GAAG,
|
|
1
|
+
{"version":3,"file":"fast-range-read.js","sourceRoot":"","sources":["../src/fast-range-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -244,10 +244,13 @@ export function tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndi
|
|
|
244
244
|
const length = changedCellIndices.length;
|
|
245
245
|
const split = options.sortedSliceSplit;
|
|
246
246
|
const sortedSliceSplit = split !== undefined && split > 0 && split < length ? split : undefined;
|
|
247
|
+
let isReverseSorted = sortedSliceSplit === undefined;
|
|
247
248
|
let previousRow = -1;
|
|
248
249
|
let previousCol = -1;
|
|
249
250
|
let previousRightRow = -1;
|
|
250
251
|
let previousRightCol = -1;
|
|
252
|
+
let previousReverseRow = Number.POSITIVE_INFINITY;
|
|
253
|
+
let previousReverseCol = Number.POSITIVE_INFINITY;
|
|
251
254
|
for (let index = 0; index < length; index += 1) {
|
|
252
255
|
const cellIndex = changedCellIndices[index];
|
|
253
256
|
if (cellStore.sheetIds[cellIndex] !== sheetId) {
|
|
@@ -255,6 +258,11 @@ export function tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndi
|
|
|
255
258
|
}
|
|
256
259
|
const row = cellStore.rows[cellIndex] ?? 0;
|
|
257
260
|
const col = cellStore.cols[cellIndex] ?? 0;
|
|
261
|
+
if (isReverseSorted && (row > previousReverseRow || (row === previousReverseRow && col >= previousReverseCol))) {
|
|
262
|
+
isReverseSorted = false;
|
|
263
|
+
}
|
|
264
|
+
previousReverseRow = row;
|
|
265
|
+
previousReverseCol = col;
|
|
258
266
|
if (sortedSliceSplit !== undefined && index >= sortedSliceSplit) {
|
|
259
267
|
if (row < previousRightRow || (row === previousRightRow && col < previousRightCol)) {
|
|
260
268
|
return null;
|
|
@@ -264,14 +272,33 @@ export function tryCreateLazyPhysicalTrackedIndexChanges(engine, changedCellIndi
|
|
|
264
272
|
continue;
|
|
265
273
|
}
|
|
266
274
|
if (row < previousRow || (row === previousRow && col < previousCol)) {
|
|
267
|
-
|
|
275
|
+
if (sortedSliceSplit !== undefined) {
|
|
276
|
+
return null;
|
|
277
|
+
}
|
|
278
|
+
previousRow = row;
|
|
279
|
+
previousCol = col;
|
|
280
|
+
continue;
|
|
268
281
|
}
|
|
269
282
|
previousRow = row;
|
|
270
283
|
previousCol = col;
|
|
271
284
|
}
|
|
272
285
|
const sheetName = sheet?.name ?? workbook.getSheetNameById(sheetId);
|
|
286
|
+
if (!isTrackedIndexSliceSorted(cellStore, changedCellIndices, 0, length)) {
|
|
287
|
+
if (!isReverseSorted) {
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
return createLazyPhysicalTrackedIndexChanges(sheetId, sheetName, cellStore, engine, copyReverseSortedTrackedCellIndices(changedCellIndices), formatAddressCached);
|
|
291
|
+
}
|
|
273
292
|
return createLazyPhysicalTrackedIndexChanges(sheetId, sheetName, cellStore, engine, changedCellIndices, formatAddressCached, sortedSliceSplit);
|
|
274
293
|
}
|
|
294
|
+
function copyReverseSortedTrackedCellIndices(changedCellIndices) {
|
|
295
|
+
const length = changedCellIndices.length;
|
|
296
|
+
const reversed = new Uint32Array(length);
|
|
297
|
+
for (let index = 0; index < length; index += 1) {
|
|
298
|
+
reversed[length - index - 1] = changedCellIndices[index];
|
|
299
|
+
}
|
|
300
|
+
return reversed;
|
|
301
|
+
}
|
|
275
302
|
export function copyOrderedTrackedCellIndices(cellStore, changedCellIndices, target, offset, sortedSliceSplit) {
|
|
276
303
|
if (sortedSliceSplit === undefined) {
|
|
277
304
|
for (let index = 0; index < changedCellIndices.length; index += 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracked-cell-lazy-physical-changes.js","sourceRoot":"","sources":["../src/tracked-cell-lazy-physical-changes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tracked-cell-lazy-physical-changes.js","sourceRoot":"","sources":["../src/tracked-cell-lazy-physical-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACL,sCAAsC,EACtC,oBAAoB,GAErB,MAAM,8BAA8B,CAAA;AAGrC,MAAM,kBAAkB,GAAa,EAAE,CAAA;AACvC,MAAM,8BAA8B,GAAG,IAAI,OAAO,EAA+D,CAAA;AAajH,MAAM,UAAU,iCAAiC,CAAC,SAA2B,EAAE,aAAqB,EAAE,cAAsB;IAC1H,OAAO,CACL,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAC7E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAA2B,EAC3B,kBAAmD,EACnD,KAAa,EACb,GAAW;IAEX,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,iCAAiC,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAE,EAAE,kBAAkB,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACjH,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,GAAW;IAC3D,IAAI,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAC1B,kBAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACjC,CAAC;IACD,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,SAAiB,EACjB,OAAe,EACf,SAAiB,EACjB,SAA2B,EAC3B,MAAyB,EACzB,mBAAyD;IAEzD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAE,CAAA;IACtC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAE,CAAA;IACtC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE;QACrC,SAAS;QACT,EAAE,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC;QACjC,QAAQ,EAAE,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;KAC7D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,SAA2B,EAC3B,kBAAmD,EACnD,OAAe;IAEf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,IAAI,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAE,CAAC,KAAK,OAAO,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,OAAe,EACf,SAAiB,EACjB,SAA2B,EAC3B,MAAyB,EACzB,kBAAmD,EACnD,mBAAyD,EACzD,gBAAyB;IAEzB,MAAM,oCAAoC,GACxC,kBAAkB,YAAY,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;IAC7G,MAAM,MAAM,GAAG,oCAAoC,CAAC,MAAM,CAAA;IAC1D,MAAM,KAAK,GAA0B,EAAE,CAAA;IACvC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;IACrB,IAAI,QAAyD,CAAA;IAC7D,IAAI,iBAAiB,GAAG,KAAK,CAAA;IAC7B,IAAI,kBAA2C,CAAA;IAC/C,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC3G,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;QACnD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,oCAAoC,CAAC,KAAK,CAAE,CAAA;QACrD,CAAC;QACD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,kBAAkB,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;YAC5C,6BAA6B,CAAC,SAAS,EAAE,oCAAoC,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACzH,CAAC;QACD,OAAO,kBAAkB,CAAC,KAAK,CAAE,CAAA;IACnC,CAAC,CAAA;IACD,MAAM,uBAAuB,GAAG,CAAC,EAA8C,EAAQ,EAAE;QACvF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC/C,EAAE,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,CAAE,CAAC,CAAA;YACzD,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,kBAAkB,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;YAC5C,6BAA6B,CAAC,SAAS,EAAE,oCAAoC,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACzH,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/C,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAE,CAAC,CAAA;QACvC,CAAC;IACH,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,KAAa,EAAuB,EAAE;QACzD,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,KAAK,CAAE,CAAA;QACtB,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,GAAG,sCAAsC,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAA;YAC1H,OAAO,KAAK,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,8BAA8B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAA;QACpI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,UAAqC,EAAE,EAAQ,EAAE;QAC/D,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAA;QAC3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,iBAAiB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;gBACpC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;gBACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAE,CAAA;oBAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;oBAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC9C,CAAC;gBACD,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YACxC,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;QAC3E,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACpE,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACpE,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,IAA4B,CAAA;QAChC,IAAI,WAAiC,CAAA;QACrC,IAAI,MAA8B,CAAA;QAClC,IAAI,SAAiC,CAAA;QACrC,IAAI,OAA2C,CAAA;QAC/C,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAc,EAAE;YACtD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;YACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;YAC7D,IAAI,GAAG,QAAQ,CAAA;YACf,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAA;QACD,uBAAuB,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC3C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,WAAW,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;YAChC,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC9C,CAAC;YACD,MAAM,GAAG,GAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAA0B,IAAI,QAAQ,CAAC,KAAK,CAAA;YACjF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;YACnB,CAAC;iBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBACrC,WAAW,GAAG,GAAG,CAAA;YACnB,CAAC;iBAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC/B,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;YAChC,CAAC;YACD,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,QAAQ,CAAC,MAAM,CAAC;gBACrB,KAAK,QAAQ,CAAC,OAAO;oBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;oBAClD,MAAK;gBACP,KAAK,QAAQ,CAAC,MAAM;oBAClB,CAAC;wBACC,SAAS,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;wBACpC,OAAO,KAAK,EAAE,CAAA;wBACd,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;wBACtD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;wBACvF,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;oBACnE,CAAC;oBACD,MAAK;gBACP,KAAK,QAAQ,CAAC,KAAK;oBACjB,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;oBACjC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAA;oBAC7D,MAAK;gBACP,KAAK,QAAQ,CAAC,KAAK,CAAC;gBACpB;oBACE,MAAK;YACT,CAAC;QACH,CAAC,CAAC,CAAA;QACF,QAAQ,GAAG;YACT,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnF,OAAO;YACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;SAC9C,CAAA;IACH,CAAC,CAAA;IACD,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,KAAK,CAAC,KAAK,CAAC,GAAG,sCAAsC,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAA;gBAC5H,CAAC;YACH,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAA;YACxB,OAAM;QACR,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,KAAK,CAAC,GAAG,8BAA8B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAA;YACtI,CAAC;QACH,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAA;IAC1B,CAAC,CAAA;IACD,MAAM,cAAc,GAAG,CAAC,QAAyB,EAAsB,EAAE;QACvE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAClH,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;QAC7B,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC5B,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;YACtC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC3F,CAAC;QACD,wBAAwB,CAAC,MAAM,EAAE,QAAQ;YACvC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;YACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC3D,CAAC;YACD,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;gBACzB,QAAQ,EAAE,IAAI;aACf,CAAA;QACH,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,QAAQ;YAClB,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,CAAC,MAAM;YACZ,OAAO;gBACL,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3D,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;aACzG,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IACF,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAA;IACvE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,MAAyB,EACzB,kBAAmD,EACnD,OAAe,EACf,mBAAyD,EACzD,UAAkD,EAAE;IAEpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;IACpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAA;IACtC,MAAM,gBAAgB,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/F,IAAI,eAAe,GAAG,gBAAgB,KAAK,SAAS,CAAA;IACpD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAA;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC,CAAA;IACpB,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAA;IACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAA;IACzB,IAAI,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAA;IACjD,IAAI,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAA;IACjD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAE,CAAA;QAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,eAAe,IAAI,CAAC,GAAG,GAAG,kBAAkB,IAAI,CAAC,GAAG,KAAK,kBAAkB,IAAI,GAAG,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC;YAC/G,eAAe,GAAG,KAAK,CAAA;QACzB,CAAC;QACD,kBAAkB,GAAG,GAAG,CAAA;QACxB,kBAAkB,GAAG,GAAG,CAAA;QACxB,IAAI,gBAAgB,KAAK,SAAS,IAAI,KAAK,IAAI,gBAAgB,EAAE,CAAC;YAChE,IAAI,GAAG,GAAG,gBAAgB,IAAI,CAAC,GAAG,KAAK,gBAAgB,IAAI,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC;gBACnF,OAAO,IAAI,CAAA;YACb,CAAC;YACD,gBAAgB,GAAG,GAAG,CAAA;YACtB,gBAAgB,GAAG,GAAG,CAAA;YACtB,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,GAAG,WAAW,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC;YACpE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,WAAW,GAAG,GAAG,CAAA;YACjB,WAAW,GAAG,GAAG,CAAA;YACjB,SAAQ;QACV,CAAC;QACD,WAAW,GAAG,GAAG,CAAA;QACjB,WAAW,GAAG,GAAG,CAAA;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACnE,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,qCAAqC,CAC1C,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,mCAAmC,CAAC,kBAAkB,CAAC,EACvD,mBAAmB,CACpB,CAAA;IACH,CAAC;IACD,OAAO,qCAAqC,CAC1C,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,CACjB,CAAA;AACH,CAAC;AAED,SAAS,mCAAmC,CAAC,kBAAmD;IAC9F,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAE,CAAA;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,SAA2B,EAC3B,kBAAmD,EACnD,MAAmB,EACnB,MAAc,EACd,gBAAyB;IAEzB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAE,CAAA;QACrD,CAAC;QACD,OAAO,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;IAC3C,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,iBAAiB,GAAG,gBAAgB,CAAA;IACxC,IAAI,WAAW,GAAG,MAAM,CAAA;IACxB,OAAO,aAAa,GAAG,gBAAgB,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACzF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,aAAa,CAAE,CAAA;QAC5D,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,iBAAiB,CAAE,CAAA;QACpE,IAAI,iCAAiC,CAAC,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChG,MAAM,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAAA;YACvC,aAAa,IAAI,CAAC,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,CAAC,GAAG,qBAAqB,CAAA;YAC3C,iBAAiB,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,WAAW,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAE,CAAA;QACxD,aAAa,IAAI,CAAC,CAAA;QAClB,WAAW,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,CAAE,CAAA;QAC5D,iBAAiB,IAAI,CAAC,CAAA;QACtB,WAAW,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,kBAAmD;IACxF,OAAO,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,OAAuC;IACzF,MAAM,QAAQ,GAAG,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAA;IACd,CAAC;IACD,QAAQ,CAAC,gBAAgB,EAAE,CAAA;IAC3B,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAuC,EAAE,UAAqC,EAAE;IACxH,MAAM,QAAQ,GAAG,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAA;IACd,CAAC;IACD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAuC;IACpF,OAAO,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACpD,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ValueTag } from '@bilig/protocol';
|
|
2
|
+
import { compileFormula, formatAddress } from '@bilig/formula';
|
|
2
3
|
import { buildWorkPaperDenseRange, collectSerializedWorkPaperSheets, collectWorkPaperSheetsByName, readWorkPaperSheetRange, } from './work-paper-sheet-read.js';
|
|
3
4
|
import { formatWorkPaperCellAddressText, formatWorkPaperCellRangeText, parseWorkPaperCellAddressText, parseWorkPaperCellRangeText, resolveDefaultWorkPaperSheetName, } from './work-paper-address-format.js';
|
|
4
5
|
import { readWorkPaperCellClassification, readWorkPaperCellFormula, readWorkPaperCellHasSimpleValue, readWorkPaperCellHyperlink, readWorkPaperCellPartOfArray, readWorkPaperCellValue, readWorkPaperCellValueDetailedType, readWorkPaperCellValueType, readWorkPaperRangeValues, } from './work-paper-cell-read.js';
|
|
@@ -36,8 +37,11 @@ export function createWorkPaperReadOperations(runtime) {
|
|
|
36
37
|
if (cached) {
|
|
37
38
|
return { width: cached.width, height: cached.height };
|
|
38
39
|
}
|
|
39
|
-
const
|
|
40
|
-
|
|
40
|
+
const scanned = scanSheetDimensionsAndDynamicFormula(engine(), sheet);
|
|
41
|
+
const dimensions = scanned.dimensions;
|
|
42
|
+
sheetDimensionCache.cacheScanned(sheetId, dimensions, {
|
|
43
|
+
mayResizeDynamically: scanned.mayResizeDynamically,
|
|
44
|
+
});
|
|
41
45
|
return dimensions;
|
|
42
46
|
};
|
|
43
47
|
const getCellValueFormat = (address) => {
|
|
@@ -182,4 +186,25 @@ export function createWorkPaperReadOperations(runtime) {
|
|
|
182
186
|
getCellValueFormat,
|
|
183
187
|
};
|
|
184
188
|
}
|
|
189
|
+
function scanSheetDimensionsAndDynamicFormula(engine, sheet) {
|
|
190
|
+
let width = 0;
|
|
191
|
+
let height = 0;
|
|
192
|
+
let mayResize = false;
|
|
193
|
+
sheet.grid.forEachCellEntry((_cellIndex, row, col) => {
|
|
194
|
+
height = Math.max(height, row + 1);
|
|
195
|
+
width = Math.max(width, col + 1);
|
|
196
|
+
if (!mayResize) {
|
|
197
|
+
const formula = engine.getCell(sheet.name, formatAddress(row, col)).formula;
|
|
198
|
+
if (formula !== undefined) {
|
|
199
|
+
try {
|
|
200
|
+
mayResize = compileFormula(formula).producesSpill;
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
mayResize = true;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
return { dimensions: { width, height }, mayResizeDynamically: mayResize };
|
|
209
|
+
}
|
|
185
210
|
//# sourceMappingURL=work-paper-read-operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work-paper-read-operations.js","sourceRoot":"","sources":["../src/work-paper-read-operations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"work-paper-read-operations.js","sourceRoot":"","sources":["../src/work-paper-read-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare abstract class WorkPaperRuntimeSurface extends WorkPaperPublicSur
|
|
|
17
17
|
protected abstract readonly namedExpressions: Map<string, InternalNamedExpression>;
|
|
18
18
|
protected abstract readonly engineEvents: WorkPaperEngineEventTracker;
|
|
19
19
|
protected abstract readonly mutationQueues: WorkPaperMutationQueues;
|
|
20
|
-
protected abstract
|
|
20
|
+
protected abstract sheetDimensionCache: WorkPaperSheetDimensionCache;
|
|
21
21
|
protected abstract visibilityCache: VisibilitySnapshot | null;
|
|
22
22
|
protected abstract namedExpressionValueCache: NamedExpressionValueSnapshot | null;
|
|
23
23
|
protected abstract sheetRecordsCache: readonly SheetRecord[] | null;
|
|
@@ -2,7 +2,7 @@ import { SpreadsheetEngine, type SheetRecord } from '@bilig/core';
|
|
|
2
2
|
import { type CellValue, type WorkbookSnapshot } from '@bilig/protocol';
|
|
3
3
|
import { WorkPaperSheetDimensionCache } from './work-paper-sheet-dimension-cache.js';
|
|
4
4
|
import { type InternalNamedExpression, type WorkPaperNamedExpressionValueSnapshot } from './work-paper-named-expression-helpers.js';
|
|
5
|
-
import type { WorkPaperCellAddress, WorkPaperCellRange, WorkPaperConfig, WorkPaperSheet, WorkPaperSheets, WorkPaperInternals, RawCellContent, SerializedWorkPaperNamedExpression } from './work-paper-types.js';
|
|
5
|
+
import type { WorkPaperCellAddress, WorkPaperCellRange, WorkPaperChange, WorkPaperConfig, WorkPaperSheet, WorkPaperSheets, WorkPaperInternals, RawCellContent, SerializedWorkPaperNamedExpression } from './work-paper-types.js';
|
|
6
6
|
import { WorkPaperEmitter } from './work-paper-emitter.js';
|
|
7
7
|
import type { QueuedEvent } from './work-paper-tracked-event-helpers.js';
|
|
8
8
|
import type { VisibilitySnapshot } from './work-paper-visibility-snapshot.js';
|
|
@@ -20,7 +20,7 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
|
|
|
20
20
|
protected readonly functionAliasLookup: Map<string, InternalFunctionBinding>;
|
|
21
21
|
private readonly internalFunctionLookup;
|
|
22
22
|
private readonly workPaperInternals;
|
|
23
|
-
protected
|
|
23
|
+
protected sheetDimensionCache: WorkPaperSheetDimensionCache;
|
|
24
24
|
protected config: WorkPaperConfig;
|
|
25
25
|
private clipboard;
|
|
26
26
|
protected visibilityCache: VisibilitySnapshot | null;
|
|
@@ -49,6 +49,7 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
|
|
|
49
49
|
static buildFromSheets(sheets: WorkPaperSheets, configInput?: WorkPaperConfig, namedExpressions?: readonly SerializedWorkPaperNamedExpression[]): WorkPaper;
|
|
50
50
|
static buildFromSnapshot(snapshot: WorkbookSnapshot, configInput?: WorkPaperConfig): WorkPaper;
|
|
51
51
|
updateConfig(next: WorkPaperConfig): void;
|
|
52
|
+
transaction(operations: () => void): WorkPaperChange[];
|
|
52
53
|
private canEditAxisIntervals;
|
|
53
54
|
private applyAxisIntervalEdit;
|
|
54
55
|
private applyAxisMove;
|
|
@@ -56,6 +57,10 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
|
|
|
56
57
|
destroy(): void;
|
|
57
58
|
dispose(): void;
|
|
58
59
|
private applySerializedMatrix;
|
|
60
|
+
private captureTransactionSnapshot;
|
|
61
|
+
private restoreTransactionSnapshot;
|
|
62
|
+
private resetTransactionRuntimeState;
|
|
63
|
+
private restoreHistoryStacks;
|
|
59
64
|
private applyMatrixContents;
|
|
60
65
|
private replaceSheetContentInternal;
|
|
61
66
|
private applyRawContent;
|
|
@@ -76,6 +81,7 @@ export declare class WorkPaper extends WorkPaperRuntimeSurface {
|
|
|
76
81
|
private applyRuntimeOnlyConfigUpdate;
|
|
77
82
|
private rebuildWithConfig;
|
|
78
83
|
private rewriteFormulaForStorage;
|
|
84
|
+
private replaceEngineForConfig;
|
|
79
85
|
private restorePublicFormula;
|
|
80
86
|
private validateNamedExpression;
|
|
81
87
|
private upsertNamedExpressionInternal;
|