@ricsam/formula-engine 0.2.8 → 0.2.10

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 (130) hide show
  1. package/README.md +41 -3
  2. package/dist/cjs/core/engine.cjs +551 -166
  3. package/dist/cjs/core/engine.cjs.map +3 -3
  4. package/dist/cjs/core/managers/dependency-manager.cjs +151 -67
  5. package/dist/cjs/core/managers/dependency-manager.cjs.map +3 -3
  6. package/dist/cjs/core/managers/evaluation-manager.cjs.map +1 -1
  7. package/dist/cjs/core/managers/workbook-manager.cjs +197 -1
  8. package/dist/cjs/core/managers/workbook-manager.cjs.map +3 -3
  9. package/dist/cjs/core/mutation-invalidation.cjs +241 -0
  10. package/dist/cjs/core/mutation-invalidation.cjs.map +10 -0
  11. package/dist/cjs/core/types.cjs.map +2 -2
  12. package/dist/cjs/core/workbook-renamer.cjs.map +1 -1
  13. package/dist/cjs/evaluator/formula-evaluator.cjs +22 -48
  14. package/dist/cjs/evaluator/formula-evaluator.cjs.map +3 -3
  15. package/dist/cjs/functions/math/sum/summation-utils.cjs +2 -2
  16. package/dist/cjs/functions/math/sum/summation-utils.cjs.map +2 -2
  17. package/dist/cjs/lib.cjs +2 -13
  18. package/dist/cjs/lib.cjs.map +3 -3
  19. package/dist/cjs/package.json +1 -1
  20. package/dist/cjs/parser/formatter.cjs +3 -4
  21. package/dist/cjs/parser/formatter.cjs.map +3 -3
  22. package/dist/cjs/parser/parser.cjs +24 -216
  23. package/dist/cjs/parser/parser.cjs.map +3 -3
  24. package/dist/mjs/core/engine.mjs +565 -207
  25. package/dist/mjs/core/engine.mjs.map +3 -3
  26. package/dist/mjs/core/managers/dependency-manager.mjs +151 -67
  27. package/dist/mjs/core/managers/dependency-manager.mjs.map +3 -3
  28. package/dist/mjs/core/managers/evaluation-manager.mjs.map +1 -1
  29. package/dist/mjs/core/managers/workbook-manager.mjs +197 -1
  30. package/dist/mjs/core/managers/workbook-manager.mjs.map +3 -3
  31. package/dist/mjs/core/mutation-invalidation.mjs +201 -0
  32. package/dist/mjs/core/mutation-invalidation.mjs.map +10 -0
  33. package/dist/mjs/core/types.mjs.map +2 -2
  34. package/dist/mjs/core/workbook-renamer.mjs.map +1 -1
  35. package/dist/mjs/evaluator/formula-evaluator.mjs +22 -48
  36. package/dist/mjs/evaluator/formula-evaluator.mjs.map +3 -3
  37. package/dist/mjs/functions/math/sum/summation-utils.mjs +2 -2
  38. package/dist/mjs/functions/math/sum/summation-utils.mjs.map +2 -2
  39. package/dist/mjs/lib.mjs +2 -13
  40. package/dist/mjs/lib.mjs.map +3 -3
  41. package/dist/mjs/package.json +1 -1
  42. package/dist/mjs/parser/formatter.mjs +3 -4
  43. package/dist/mjs/parser/formatter.mjs.map +3 -3
  44. package/dist/mjs/parser/parser.mjs +24 -216
  45. package/dist/mjs/parser/parser.mjs.map +3 -3
  46. package/dist/types/core/engine.d.ts +31 -135
  47. package/dist/types/core/managers/dependency-manager.d.ts +5 -1
  48. package/dist/types/core/managers/evaluation-manager.d.ts +1 -1
  49. package/dist/types/core/managers/workbook-manager.d.ts +23 -1
  50. package/dist/types/core/mutation-invalidation.d.ts +46 -0
  51. package/dist/types/core/types.d.ts +35 -0
  52. package/dist/types/lib.d.ts +0 -8
  53. package/dist/types/parser/parser.d.ts +4 -6
  54. package/package.json +1 -1
  55. package/dist/cjs/core/commands/command-executor.cjs +0 -149
  56. package/dist/cjs/core/commands/command-executor.cjs.map +0 -10
  57. package/dist/cjs/core/commands/content-commands.cjs +0 -857
  58. package/dist/cjs/core/commands/content-commands.cjs.map +0 -10
  59. package/dist/cjs/core/commands/metadata-commands.cjs +0 -160
  60. package/dist/cjs/core/commands/metadata-commands.cjs.map +0 -10
  61. package/dist/cjs/core/commands/named-expression-commands.cjs +0 -363
  62. package/dist/cjs/core/commands/named-expression-commands.cjs.map +0 -10
  63. package/dist/cjs/core/commands/structure-commands.cjs +0 -696
  64. package/dist/cjs/core/commands/structure-commands.cjs.map +0 -10
  65. package/dist/cjs/core/commands/style-commands.cjs +0 -229
  66. package/dist/cjs/core/commands/style-commands.cjs.map +0 -10
  67. package/dist/cjs/core/commands/table-commands.cjs +0 -495
  68. package/dist/cjs/core/commands/table-commands.cjs.map +0 -10
  69. package/dist/cjs/core/commands/types.cjs +0 -99
  70. package/dist/cjs/core/commands/types.cjs.map +0 -10
  71. package/dist/cjs/core/managers/schema-manager.cjs +0 -374
  72. package/dist/cjs/core/managers/schema-manager.cjs.map +0 -10
  73. package/dist/cjs/core/schema/cell-orm.cjs +0 -76
  74. package/dist/cjs/core/schema/cell-orm.cjs.map +0 -10
  75. package/dist/cjs/core/schema/grid-orm.cjs +0 -125
  76. package/dist/cjs/core/schema/grid-orm.cjs.map +0 -10
  77. package/dist/cjs/core/schema/schema-builder.cjs +0 -74
  78. package/dist/cjs/core/schema/schema-builder.cjs.map +0 -10
  79. package/dist/cjs/core/schema/schema-helpers.cjs +0 -200
  80. package/dist/cjs/core/schema/schema-helpers.cjs.map +0 -10
  81. package/dist/cjs/core/schema/schema.cjs +0 -91
  82. package/dist/cjs/core/schema/schema.cjs.map +0 -10
  83. package/dist/cjs/core/schema/table-orm.cjs +0 -189
  84. package/dist/cjs/core/schema/table-orm.cjs.map +0 -10
  85. package/dist/mjs/core/commands/command-executor.mjs +0 -109
  86. package/dist/mjs/core/commands/command-executor.mjs.map +0 -10
  87. package/dist/mjs/core/commands/content-commands.mjs +0 -821
  88. package/dist/mjs/core/commands/content-commands.mjs.map +0 -10
  89. package/dist/mjs/core/commands/metadata-commands.mjs +0 -120
  90. package/dist/mjs/core/commands/metadata-commands.mjs.map +0 -10
  91. package/dist/mjs/core/commands/named-expression-commands.mjs +0 -323
  92. package/dist/mjs/core/commands/named-expression-commands.mjs.map +0 -10
  93. package/dist/mjs/core/commands/structure-commands.mjs +0 -661
  94. package/dist/mjs/core/commands/structure-commands.mjs.map +0 -10
  95. package/dist/mjs/core/commands/style-commands.mjs +0 -189
  96. package/dist/mjs/core/commands/style-commands.mjs.map +0 -10
  97. package/dist/mjs/core/commands/table-commands.mjs +0 -459
  98. package/dist/mjs/core/commands/table-commands.mjs.map +0 -10
  99. package/dist/mjs/core/commands/types.mjs +0 -59
  100. package/dist/mjs/core/commands/types.mjs.map +0 -10
  101. package/dist/mjs/core/managers/schema-manager.mjs +0 -334
  102. package/dist/mjs/core/managers/schema-manager.mjs.map +0 -10
  103. package/dist/mjs/core/schema/cell-orm.mjs +0 -35
  104. package/dist/mjs/core/schema/cell-orm.mjs.map +0 -10
  105. package/dist/mjs/core/schema/grid-orm.mjs +0 -84
  106. package/dist/mjs/core/schema/grid-orm.mjs.map +0 -10
  107. package/dist/mjs/core/schema/schema-builder.mjs +0 -34
  108. package/dist/mjs/core/schema/schema-builder.mjs.map +0 -10
  109. package/dist/mjs/core/schema/schema-helpers.mjs +0 -160
  110. package/dist/mjs/core/schema/schema-helpers.mjs.map +0 -10
  111. package/dist/mjs/core/schema/schema.mjs +0 -51
  112. package/dist/mjs/core/schema/schema.mjs.map +0 -10
  113. package/dist/mjs/core/schema/table-orm.mjs +0 -156
  114. package/dist/mjs/core/schema/table-orm.mjs.map +0 -10
  115. package/dist/types/core/commands/command-executor.d.ts +0 -81
  116. package/dist/types/core/commands/content-commands.d.ts +0 -172
  117. package/dist/types/core/commands/metadata-commands.d.ts +0 -55
  118. package/dist/types/core/commands/named-expression-commands.d.ts +0 -130
  119. package/dist/types/core/commands/structure-commands.d.ts +0 -155
  120. package/dist/types/core/commands/style-commands.d.ts +0 -76
  121. package/dist/types/core/commands/table-commands.d.ts +0 -119
  122. package/dist/types/core/commands/types.d.ts +0 -143
  123. package/dist/types/core/managers/schema-manager.d.ts +0 -142
  124. package/dist/types/core/schema/cell-orm.d.ts +0 -33
  125. package/dist/types/core/schema/grid-orm.d.ts +0 -63
  126. package/dist/types/core/schema/schema-builder.d.ts +0 -16
  127. package/dist/types/core/schema/schema-helpers.d.ts +0 -49
  128. package/dist/types/core/schema/schema.d.ts +0 -167
  129. package/dist/types/core/schema/schema.type-test.d.ts +0 -1
  130. package/dist/types/core/schema/table-orm.d.ts +0 -46
@@ -1,495 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropNames = Object.getOwnPropertyNames;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- function __accessProp(key) {
6
- return this[key];
7
- }
8
- var __toCommonJS = (from) => {
9
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
10
- if (entry)
11
- return entry;
12
- entry = __defProp({}, "__esModule", { value: true });
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (var key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(entry, key))
16
- __defProp(entry, key, {
17
- get: __accessProp.bind(from, key),
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- }
21
- __moduleCache.set(from, entry);
22
- return entry;
23
- };
24
- var __moduleCache;
25
- var __returnValue = (v) => v;
26
- function __exportSetter(name, newValue) {
27
- this[name] = __returnValue.bind(null, newValue);
28
- }
29
- var __export = (target, all) => {
30
- for (var name in all)
31
- __defProp(target, name, {
32
- get: all[name],
33
- enumerable: true,
34
- configurable: true,
35
- set: __exportSetter.bind(all, name)
36
- });
37
- };
38
-
39
- // src/core/commands/table-commands.ts
40
- var exports_table_commands = {};
41
- __export(exports_table_commands, {
42
- UpdateTableCommand: () => UpdateTableCommand,
43
- ResetTablesCommand: () => ResetTablesCommand,
44
- RenameTableCommand: () => RenameTableCommand,
45
- RemoveTableCommand: () => RemoveTableCommand,
46
- AddTableCommand: () => AddTableCommand
47
- });
48
- module.exports = __toCommonJS(exports_table_commands);
49
- var import_types = require("./types.cjs");
50
- var import_resource_keys = require("../resource-keys.cjs");
51
- var import_utils = require("../utils.cjs");
52
- function getAddressKey(address) {
53
- return `${address.workbookName}:${address.sheetName}:${address.rowIndex}:${address.colIndex}`;
54
- }
55
- function collectTableFootprintCells(workbookManager, table) {
56
- const cells = new Map;
57
- const sheet = workbookManager.getSheet({
58
- workbookName: table.workbookName,
59
- sheetName: table.sheetName
60
- });
61
- if (!sheet) {
62
- return [];
63
- }
64
- const startColIndex = table.start.colIndex;
65
- const endColIndex = startColIndex + table.headers.size - 1;
66
- if (table.endRow.type === "number") {
67
- for (let rowIndex = table.start.rowIndex;rowIndex <= table.endRow.value; rowIndex++) {
68
- for (let colIndex = startColIndex;colIndex <= endColIndex; colIndex++) {
69
- const address = {
70
- workbookName: table.workbookName,
71
- sheetName: table.sheetName,
72
- rowIndex,
73
- colIndex
74
- };
75
- cells.set(getAddressKey(address), {
76
- address,
77
- content: workbookManager.getCellContent(address)
78
- });
79
- }
80
- }
81
- return Array.from(cells.values());
82
- }
83
- for (const [ref, content] of sheet.content.entries()) {
84
- const { rowIndex, colIndex } = import_utils.parseCellReference(ref);
85
- if (rowIndex < table.start.rowIndex) {
86
- continue;
87
- }
88
- if (colIndex < startColIndex || colIndex > endColIndex) {
89
- continue;
90
- }
91
- const address = {
92
- workbookName: table.workbookName,
93
- sheetName: table.sheetName,
94
- rowIndex,
95
- colIndex
96
- };
97
- cells.set(getAddressKey(address), {
98
- address,
99
- content
100
- });
101
- }
102
- return Array.from(cells.values());
103
- }
104
- function buildTableTouchedCells(workbookManager, tables) {
105
- const touchedCells = new Map;
106
- for (const table of tables) {
107
- if (!table) {
108
- continue;
109
- }
110
- for (const cell of collectTableFootprintCells(workbookManager, table)) {
111
- touchedCells.set(getAddressKey(cell.address), {
112
- address: cell.address,
113
- beforeKind: import_types.getSerializedCellValueKind(cell.content),
114
- afterKind: import_types.getSerializedCellValueKind(cell.content)
115
- });
116
- }
117
- }
118
- return Array.from(touchedCells.values());
119
- }
120
- function buildTableContextChangedCells(workbookManager, tables) {
121
- const changedCells = new Map;
122
- for (const table of tables) {
123
- if (!table) {
124
- continue;
125
- }
126
- for (const cell of collectTableFootprintCells(workbookManager, table)) {
127
- changedCells.set(getAddressKey(cell.address), cell.address);
128
- }
129
- }
130
- return Array.from(changedCells.values());
131
- }
132
- function mergeTouchedCells(...groups) {
133
- const precedence = {
134
- empty: 0,
135
- scalar: 1,
136
- formula: 2
137
- };
138
- const merged = new Map;
139
- for (const group of groups) {
140
- for (const touchedCell of group) {
141
- const key = getAddressKey(touchedCell.address);
142
- const existing = merged.get(key);
143
- if (!existing) {
144
- merged.set(key, touchedCell);
145
- continue;
146
- }
147
- merged.set(key, {
148
- address: touchedCell.address,
149
- beforeKind: precedence[touchedCell.beforeKind] >= precedence[existing.beforeKind] ? touchedCell.beforeKind : existing.beforeKind,
150
- afterKind: precedence[touchedCell.afterKind] >= precedence[existing.afterKind] ? touchedCell.afterKind : existing.afterKind
151
- });
152
- }
153
- }
154
- return Array.from(merged.values());
155
- }
156
-
157
- class AddTableCommand {
158
- deps;
159
- props;
160
- requiresReevaluation = true;
161
- executeFootprint = import_types.emptyMutationInvalidation();
162
- undoFootprint = import_types.emptyMutationInvalidation();
163
- constructor(deps, props) {
164
- this.deps = deps;
165
- this.props = props;
166
- }
167
- execute() {
168
- const table = this.deps.tableManager.addTable({
169
- ...this.props,
170
- getCellValue: this.deps.getCellValue
171
- });
172
- const resourceKey = import_resource_keys.getTableResourceKey({
173
- workbookName: this.props.workbookName,
174
- tableName: this.props.tableName
175
- });
176
- this.executeFootprint = {
177
- touchedCells: buildTableTouchedCells(this.deps.workbookManager, [table]),
178
- tableContextChangedCells: buildTableContextChangedCells(this.deps.workbookManager, [table]),
179
- resourceKeys: [resourceKey]
180
- };
181
- this.undoFootprint = this.executeFootprint;
182
- }
183
- undo() {
184
- this.deps.tableManager.removeTable({
185
- workbookName: this.props.workbookName,
186
- tableName: this.props.tableName
187
- });
188
- }
189
- getInvalidationFootprint(phase) {
190
- return phase === "execute" ? this.executeFootprint : this.undoFootprint;
191
- }
192
- toAction() {
193
- return {
194
- type: import_types.ActionTypes.ADD_TABLE,
195
- payload: this.props
196
- };
197
- }
198
- }
199
-
200
- class RemoveTableCommand {
201
- deps;
202
- opts;
203
- requiresReevaluation = true;
204
- removedTable;
205
- executeFootprint = import_types.emptyMutationInvalidation();
206
- undoFootprint = import_types.emptyMutationInvalidation();
207
- constructor(deps, opts) {
208
- this.deps = deps;
209
- this.opts = opts;
210
- }
211
- execute() {
212
- this.removedTable = this.deps.tableManager.getTable({
213
- workbookName: this.opts.workbookName,
214
- name: this.opts.tableName
215
- });
216
- this.deps.tableManager.removeTable(this.opts);
217
- const resourceKey = import_resource_keys.getTableResourceKey({
218
- workbookName: this.opts.workbookName,
219
- tableName: this.opts.tableName
220
- });
221
- this.executeFootprint = {
222
- touchedCells: buildTableTouchedCells(this.deps.workbookManager, [
223
- this.removedTable
224
- ]),
225
- tableContextChangedCells: buildTableContextChangedCells(this.deps.workbookManager, [this.removedTable]),
226
- resourceKeys: [resourceKey]
227
- };
228
- this.undoFootprint = this.executeFootprint;
229
- }
230
- undo() {
231
- if (!this.removedTable)
232
- return;
233
- const { start, endRow, headers, sheetName } = this.removedTable;
234
- const startRef = `${String.fromCharCode(65 + start.colIndex)}${start.rowIndex + 1}`;
235
- this.deps.tableManager.addTable({
236
- workbookName: this.opts.workbookName,
237
- tableName: this.opts.tableName,
238
- sheetName,
239
- start: startRef,
240
- numRows: endRow,
241
- numCols: headers.size,
242
- getCellValue: this.deps.getCellValue
243
- });
244
- }
245
- getInvalidationFootprint(phase) {
246
- return phase === "execute" ? this.executeFootprint : this.undoFootprint;
247
- }
248
- toAction() {
249
- return {
250
- type: import_types.ActionTypes.REMOVE_TABLE,
251
- payload: this.opts
252
- };
253
- }
254
- }
255
-
256
- class RenameTableCommand {
257
- deps;
258
- workbookName;
259
- oldName;
260
- newName;
261
- requiresReevaluation = true;
262
- executeFootprint = import_types.emptyMutationInvalidation();
263
- undoFootprint = import_types.emptyMutationInvalidation();
264
- constructor(deps, workbookName, oldName, newName) {
265
- this.deps = deps;
266
- this.workbookName = workbookName;
267
- this.oldName = oldName;
268
- this.newName = newName;
269
- }
270
- execute() {
271
- const previousTable = this.deps.tableManager.getTable({
272
- workbookName: this.workbookName,
273
- name: this.oldName
274
- });
275
- this.deps.tableManager.renameTable(this.workbookName, {
276
- oldName: this.oldName,
277
- newName: this.newName
278
- });
279
- const changedCells = this.deps.workbookManager.updateAllFormulas((formula) => this.deps.renameTableInFormula(formula, this.oldName, this.newName));
280
- const changedNamedExpressions = this.deps.namedExpressionManager.updateAllNamedExpressions((formula) => this.deps.renameTableInFormula(formula, this.oldName, this.newName));
281
- this.deps.apiSchemaManager.updateForTableRename(this.workbookName, this.oldName, this.newName);
282
- const renamedTable = this.deps.tableManager.getTable({
283
- workbookName: this.workbookName,
284
- name: this.newName
285
- });
286
- this.executeFootprint = {
287
- touchedCells: mergeTouchedCells(buildTableTouchedCells(this.deps.workbookManager, [
288
- previousTable,
289
- renamedTable
290
- ]), changedCells.map((address) => ({
291
- address,
292
- beforeKind: "formula",
293
- afterKind: "formula"
294
- }))),
295
- tableContextChangedCells: buildTableContextChangedCells(this.deps.workbookManager, [previousTable, renamedTable]),
296
- resourceKeys: [
297
- import_resource_keys.getTableResourceKey({
298
- workbookName: this.workbookName,
299
- tableName: this.oldName
300
- }),
301
- import_resource_keys.getTableResourceKey({
302
- workbookName: this.workbookName,
303
- tableName: this.newName
304
- }),
305
- ...changedNamedExpressions
306
- ]
307
- };
308
- }
309
- undo() {
310
- const currentTable = this.deps.tableManager.getTable({
311
- workbookName: this.workbookName,
312
- name: this.newName
313
- });
314
- this.deps.tableManager.renameTable(this.workbookName, {
315
- oldName: this.newName,
316
- newName: this.oldName
317
- });
318
- const changedCells = this.deps.workbookManager.updateAllFormulas((formula) => this.deps.renameTableInFormula(formula, this.newName, this.oldName));
319
- const changedNamedExpressions = this.deps.namedExpressionManager.updateAllNamedExpressions((formula) => this.deps.renameTableInFormula(formula, this.newName, this.oldName));
320
- this.deps.apiSchemaManager.updateForTableRename(this.workbookName, this.newName, this.oldName);
321
- const restoredTable = this.deps.tableManager.getTable({
322
- workbookName: this.workbookName,
323
- name: this.oldName
324
- });
325
- this.undoFootprint = {
326
- touchedCells: mergeTouchedCells(buildTableTouchedCells(this.deps.workbookManager, [
327
- currentTable,
328
- restoredTable
329
- ]), changedCells.map((address) => ({
330
- address,
331
- beforeKind: "formula",
332
- afterKind: "formula"
333
- }))),
334
- tableContextChangedCells: buildTableContextChangedCells(this.deps.workbookManager, [currentTable, restoredTable]),
335
- resourceKeys: [
336
- import_resource_keys.getTableResourceKey({
337
- workbookName: this.workbookName,
338
- tableName: this.oldName
339
- }),
340
- import_resource_keys.getTableResourceKey({
341
- workbookName: this.workbookName,
342
- tableName: this.newName
343
- }),
344
- ...changedNamedExpressions
345
- ]
346
- };
347
- }
348
- getInvalidationFootprint(phase) {
349
- return phase === "execute" ? this.executeFootprint : this.undoFootprint;
350
- }
351
- toAction() {
352
- return {
353
- type: import_types.ActionTypes.RENAME_TABLE,
354
- payload: {
355
- workbookName: this.workbookName,
356
- oldName: this.oldName,
357
- newName: this.newName
358
- }
359
- };
360
- }
361
- }
362
-
363
- class UpdateTableCommand {
364
- deps;
365
- opts;
366
- requiresReevaluation = true;
367
- previousTable;
368
- executeFootprint = import_types.emptyMutationInvalidation();
369
- undoFootprint = import_types.emptyMutationInvalidation();
370
- constructor(deps, opts) {
371
- this.deps = deps;
372
- this.opts = opts;
373
- }
374
- execute() {
375
- this.previousTable = this.deps.tableManager.getTable({
376
- workbookName: this.opts.workbookName,
377
- name: this.opts.tableName
378
- });
379
- this.deps.tableManager.updateTable({
380
- ...this.opts,
381
- getCellValue: this.deps.getCellValue
382
- });
383
- const resourceKey = import_resource_keys.getTableResourceKey({
384
- workbookName: this.opts.workbookName,
385
- tableName: this.opts.tableName
386
- });
387
- const nextTable = this.deps.tableManager.getTable({
388
- workbookName: this.opts.workbookName,
389
- name: this.opts.tableName
390
- });
391
- this.executeFootprint = {
392
- touchedCells: buildTableTouchedCells(this.deps.workbookManager, [
393
- this.previousTable,
394
- nextTable
395
- ]),
396
- tableContextChangedCells: buildTableContextChangedCells(this.deps.workbookManager, [this.previousTable, nextTable]),
397
- resourceKeys: [resourceKey]
398
- };
399
- this.undoFootprint = this.executeFootprint;
400
- }
401
- undo() {
402
- if (!this.previousTable)
403
- return;
404
- const { start, endRow, headers, sheetName } = this.previousTable;
405
- const startRef = `${String.fromCharCode(65 + start.colIndex)}${start.rowIndex + 1}`;
406
- this.deps.tableManager.updateTable({
407
- workbookName: this.opts.workbookName,
408
- tableName: this.opts.tableName,
409
- sheetName,
410
- start: startRef,
411
- numRows: endRow,
412
- numCols: headers.size,
413
- getCellValue: this.deps.getCellValue
414
- });
415
- }
416
- getInvalidationFootprint(phase) {
417
- return phase === "execute" ? this.executeFootprint : this.undoFootprint;
418
- }
419
- toAction() {
420
- return {
421
- type: import_types.ActionTypes.UPDATE_TABLE,
422
- payload: this.opts
423
- };
424
- }
425
- }
426
-
427
- class ResetTablesCommand {
428
- deps;
429
- newTables;
430
- requiresReevaluation = true;
431
- previousTables;
432
- executeFootprint = import_types.emptyMutationInvalidation();
433
- undoFootprint = import_types.emptyMutationInvalidation();
434
- constructor(deps, newTables) {
435
- this.deps = deps;
436
- this.newTables = newTables;
437
- }
438
- execute() {
439
- this.previousTables = new Map;
440
- for (const [workbookName, tables] of this.deps.tableManager.tables) {
441
- this.previousTables.set(workbookName, new Map(tables));
442
- }
443
- this.deps.tableManager.resetTables(this.newTables);
444
- const resourceKeys = new Set;
445
- for (const [workbookName, tables] of this.previousTables ?? []) {
446
- for (const tableName of tables.keys()) {
447
- resourceKeys.add(import_resource_keys.getTableResourceKey({
448
- workbookName,
449
- tableName
450
- }));
451
- }
452
- }
453
- for (const [workbookName, tables] of this.newTables) {
454
- for (const tableName of tables.keys()) {
455
- resourceKeys.add(import_resource_keys.getTableResourceKey({
456
- workbookName,
457
- tableName
458
- }));
459
- }
460
- }
461
- this.executeFootprint = {
462
- touchedCells: buildTableTouchedCells(this.deps.workbookManager, [
463
- ...Array.from(this.previousTables?.values() ?? []).flatMap((tables) => Array.from(tables.values())),
464
- ...Array.from(this.newTables.values()).flatMap((tables) => Array.from(tables.values()))
465
- ]),
466
- tableContextChangedCells: buildTableContextChangedCells(this.deps.workbookManager, [
467
- ...Array.from(this.previousTables?.values() ?? []).flatMap((tables) => Array.from(tables.values())),
468
- ...Array.from(this.newTables.values()).flatMap((tables) => Array.from(tables.values()))
469
- ]),
470
- resourceKeys: Array.from(resourceKeys)
471
- };
472
- this.undoFootprint = this.executeFootprint;
473
- }
474
- undo() {
475
- if (!this.previousTables)
476
- return;
477
- this.deps.tableManager.resetTables(this.previousTables);
478
- }
479
- getInvalidationFootprint(phase) {
480
- return phase === "execute" ? this.executeFootprint : this.undoFootprint;
481
- }
482
- toAction() {
483
- return {
484
- type: import_types.ActionTypes.RESET_TABLES,
485
- payload: {
486
- tables: Array.from(this.newTables.entries()).map(([wb, tables]) => [
487
- wb,
488
- Array.from(tables.entries())
489
- ])
490
- }
491
- };
492
- }
493
- }
494
-
495
- //# debugId=B613AEE64997BD0E64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/core/commands/table-commands.ts"],
4
- "sourcesContent": [
5
- "/**\n * Table Commands - Commands that modify table definitions\n *\n * These commands all require re-evaluation after execution.\n */\n\nimport type { TableManager } from \"../managers/table-manager.cjs\";\nimport type { NamedExpressionManager } from \"../managers/named-expression-manager.cjs\";\nimport type { WorkbookManager } from \"../managers/workbook-manager.cjs\";\nimport type { SchemaManager } from \"../managers/schema-manager.cjs\";\nimport type {\n CellAddress,\n SerializedCellValue,\n SpreadsheetRangeEnd,\n TableDefinition,\n} from \"../types.cjs\";\nimport type {\n EngineCommand,\n EngineAction,\n MutationInvalidation,\n} from \"./types.cjs\";\nimport {\n ActionTypes,\n emptyMutationInvalidation,\n getSerializedCellValueKind,\n} from \"./types.cjs\";\nimport { getTableResourceKey } from \"../resource-keys.cjs\";\nimport { parseCellReference } from \"../utils.cjs\";\n\nfunction getAddressKey(address: CellAddress): string {\n return `${address.workbookName}:${address.sheetName}:${address.rowIndex}:${address.colIndex}`;\n}\n\nfunction collectTableFootprintCells(\n workbookManager: WorkbookManager,\n table: TableDefinition\n): Array<{\n address: CellAddress;\n content: SerializedCellValue | undefined;\n}> {\n const cells = new Map<\n string,\n {\n address: CellAddress;\n content: SerializedCellValue | undefined;\n }\n >();\n const sheet = workbookManager.getSheet({\n workbookName: table.workbookName,\n sheetName: table.sheetName,\n });\n if (!sheet) {\n return [];\n }\n\n const startColIndex = table.start.colIndex;\n const endColIndex = startColIndex + table.headers.size - 1;\n\n if (table.endRow.type === \"number\") {\n for (let rowIndex = table.start.rowIndex; rowIndex <= table.endRow.value; rowIndex++) {\n for (let colIndex = startColIndex; colIndex <= endColIndex; colIndex++) {\n const address = {\n workbookName: table.workbookName,\n sheetName: table.sheetName,\n rowIndex,\n colIndex,\n };\n cells.set(getAddressKey(address), {\n address,\n content: workbookManager.getCellContent(address),\n });\n }\n }\n return Array.from(cells.values());\n }\n\n for (const [ref, content] of sheet.content.entries()) {\n const { rowIndex, colIndex } = parseCellReference(ref);\n if (rowIndex < table.start.rowIndex) {\n continue;\n }\n if (colIndex < startColIndex || colIndex > endColIndex) {\n continue;\n }\n\n const address = {\n workbookName: table.workbookName,\n sheetName: table.sheetName,\n rowIndex,\n colIndex,\n };\n cells.set(getAddressKey(address), {\n address,\n content,\n });\n }\n\n return Array.from(cells.values());\n}\n\nfunction buildTableTouchedCells(\n workbookManager: WorkbookManager,\n tables: Array<TableDefinition | undefined>\n): MutationInvalidation[\"touchedCells\"] {\n const touchedCells = new Map<\n string,\n {\n address: CellAddress;\n beforeKind: ReturnType<typeof getSerializedCellValueKind>;\n afterKind: ReturnType<typeof getSerializedCellValueKind>;\n }\n >();\n\n for (const table of tables) {\n if (!table) {\n continue;\n }\n for (const cell of collectTableFootprintCells(workbookManager, table)) {\n touchedCells.set(getAddressKey(cell.address), {\n address: cell.address,\n beforeKind: getSerializedCellValueKind(cell.content),\n afterKind: getSerializedCellValueKind(cell.content),\n });\n }\n }\n\n return Array.from(touchedCells.values());\n}\n\nfunction buildTableContextChangedCells(\n workbookManager: WorkbookManager,\n tables: Array<TableDefinition | undefined>\n): CellAddress[] {\n const changedCells = new Map<string, CellAddress>();\n\n for (const table of tables) {\n if (!table) {\n continue;\n }\n for (const cell of collectTableFootprintCells(workbookManager, table)) {\n changedCells.set(getAddressKey(cell.address), cell.address);\n }\n }\n\n return Array.from(changedCells.values());\n}\n\nfunction mergeTouchedCells(\n ...groups: MutationInvalidation[\"touchedCells\"][]\n): MutationInvalidation[\"touchedCells\"] {\n const precedence = {\n empty: 0,\n scalar: 1,\n formula: 2,\n } as const;\n const merged = new Map<\n string,\n MutationInvalidation[\"touchedCells\"][number]\n >();\n\n for (const group of groups) {\n for (const touchedCell of group) {\n const key = getAddressKey(touchedCell.address);\n const existing = merged.get(key);\n if (!existing) {\n merged.set(key, touchedCell);\n continue;\n }\n\n merged.set(key, {\n address: touchedCell.address,\n beforeKind:\n precedence[touchedCell.beforeKind] >= precedence[existing.beforeKind]\n ? touchedCell.beforeKind\n : existing.beforeKind,\n afterKind:\n precedence[touchedCell.afterKind] >= precedence[existing.afterKind]\n ? touchedCell.afterKind\n : existing.afterKind,\n });\n }\n }\n\n return Array.from(merged.values());\n}\n\n/**\n * Dependencies needed for table commands.\n */\nexport interface TableCommandDeps {\n tableManager: TableManager;\n namedExpressionManager: NamedExpressionManager;\n workbookManager: WorkbookManager;\n apiSchemaManager: SchemaManager;\n getCellValue: (cellAddress: CellAddress) => SerializedCellValue;\n renameTableInFormula: (\n formula: string,\n oldName: string,\n newName: string\n ) => string;\n}\n\n/**\n * Command to add a table.\n */\nexport class AddTableCommand implements EngineCommand {\n readonly requiresReevaluation = true;\n private executeFootprint = emptyMutationInvalidation();\n private undoFootprint = emptyMutationInvalidation();\n\n constructor(\n private deps: TableCommandDeps,\n private props: {\n tableName: string;\n sheetName: string;\n workbookName: string;\n start: string;\n numRows: SpreadsheetRangeEnd;\n numCols: number;\n }\n ) {}\n\n execute(): void {\n const table = this.deps.tableManager.addTable({\n ...this.props,\n getCellValue: this.deps.getCellValue,\n });\n const resourceKey = getTableResourceKey({\n workbookName: this.props.workbookName,\n tableName: this.props.tableName,\n });\n this.executeFootprint = {\n touchedCells: buildTableTouchedCells(this.deps.workbookManager, [table]),\n tableContextChangedCells: buildTableContextChangedCells(\n this.deps.workbookManager,\n [table]\n ),\n resourceKeys: [resourceKey],\n };\n this.undoFootprint = this.executeFootprint;\n }\n\n undo(): void {\n this.deps.tableManager.removeTable({\n workbookName: this.props.workbookName,\n tableName: this.props.tableName,\n });\n }\n\n getInvalidationFootprint(phase: \"execute\" | \"undo\"): MutationInvalidation {\n return phase === \"execute\" ? this.executeFootprint : this.undoFootprint;\n }\n\n toAction(): EngineAction {\n return {\n type: ActionTypes.ADD_TABLE,\n payload: this.props,\n };\n }\n}\n\n/**\n * Command to remove a table.\n */\nexport class RemoveTableCommand implements EngineCommand {\n readonly requiresReevaluation = true;\n private removedTable: TableDefinition | undefined;\n private executeFootprint = emptyMutationInvalidation();\n private undoFootprint = emptyMutationInvalidation();\n\n constructor(\n private deps: TableCommandDeps,\n private opts: { tableName: string; workbookName: string }\n ) {}\n\n execute(): void {\n // Capture table before removal\n this.removedTable = this.deps.tableManager.getTable({\n workbookName: this.opts.workbookName,\n name: this.opts.tableName,\n });\n\n this.deps.tableManager.removeTable(this.opts);\n const resourceKey = getTableResourceKey({\n workbookName: this.opts.workbookName,\n tableName: this.opts.tableName,\n });\n this.executeFootprint = {\n touchedCells: buildTableTouchedCells(this.deps.workbookManager, [\n this.removedTable,\n ]),\n tableContextChangedCells: buildTableContextChangedCells(\n this.deps.workbookManager,\n [this.removedTable]\n ),\n resourceKeys: [resourceKey],\n };\n this.undoFootprint = this.executeFootprint;\n }\n\n undo(): void {\n if (!this.removedTable) return;\n\n // Recreate the table\n const { start, endRow, headers, sheetName } = this.removedTable;\n const startRef = `${String.fromCharCode(65 + start.colIndex)}${start.rowIndex + 1}`;\n\n this.deps.tableManager.addTable({\n workbookName: this.opts.workbookName,\n tableName: this.opts.tableName,\n sheetName,\n start: startRef,\n numRows: endRow,\n numCols: headers.size,\n getCellValue: this.deps.getCellValue,\n });\n }\n\n getInvalidationFootprint(phase: \"execute\" | \"undo\"): MutationInvalidation {\n return phase === \"execute\" ? this.executeFootprint : this.undoFootprint;\n }\n\n toAction(): EngineAction {\n return {\n type: ActionTypes.REMOVE_TABLE,\n payload: this.opts,\n };\n }\n}\n\n/**\n * Command to rename a table.\n */\nexport class RenameTableCommand implements EngineCommand {\n readonly requiresReevaluation = true;\n private executeFootprint = emptyMutationInvalidation();\n private undoFootprint = emptyMutationInvalidation();\n\n constructor(\n private deps: TableCommandDeps,\n private workbookName: string,\n private oldName: string,\n private newName: string\n ) {}\n\n execute(): void {\n const previousTable = this.deps.tableManager.getTable({\n workbookName: this.workbookName,\n name: this.oldName,\n });\n this.deps.tableManager.renameTable(this.workbookName, {\n oldName: this.oldName,\n newName: this.newName,\n });\n\n // Update formulas in sheet cells\n const changedCells = this.deps.workbookManager.updateAllFormulas((formula) =>\n this.deps.renameTableInFormula(formula, this.oldName, this.newName)\n );\n\n // Update named expressions\n const changedNamedExpressions =\n this.deps.namedExpressionManager.updateAllNamedExpressions((formula) =>\n this.deps.renameTableInFormula(formula, this.oldName, this.newName)\n );\n\n // Update API schemas\n this.deps.apiSchemaManager.updateForTableRename(\n this.workbookName,\n this.oldName,\n this.newName\n );\n const renamedTable = this.deps.tableManager.getTable({\n workbookName: this.workbookName,\n name: this.newName,\n });\n\n this.executeFootprint = {\n touchedCells: mergeTouchedCells(\n buildTableTouchedCells(this.deps.workbookManager, [\n previousTable,\n renamedTable,\n ]),\n changedCells.map((address) => ({\n address,\n beforeKind: \"formula\" as const,\n afterKind: \"formula\" as const,\n }))\n ),\n tableContextChangedCells: buildTableContextChangedCells(\n this.deps.workbookManager,\n [previousTable, renamedTable]\n ),\n resourceKeys: [\n getTableResourceKey({\n workbookName: this.workbookName,\n tableName: this.oldName,\n }),\n getTableResourceKey({\n workbookName: this.workbookName,\n tableName: this.newName,\n }),\n ...changedNamedExpressions,\n ],\n };\n }\n\n undo(): void {\n const currentTable = this.deps.tableManager.getTable({\n workbookName: this.workbookName,\n name: this.newName,\n });\n // Rename back\n this.deps.tableManager.renameTable(this.workbookName, {\n oldName: this.newName,\n newName: this.oldName,\n });\n\n // Update formulas back\n const changedCells = this.deps.workbookManager.updateAllFormulas((formula) =>\n this.deps.renameTableInFormula(formula, this.newName, this.oldName)\n );\n\n // Update named expressions back\n const changedNamedExpressions =\n this.deps.namedExpressionManager.updateAllNamedExpressions((formula) =>\n this.deps.renameTableInFormula(formula, this.newName, this.oldName)\n );\n\n // Update API schemas back\n this.deps.apiSchemaManager.updateForTableRename(\n this.workbookName,\n this.newName,\n this.oldName\n );\n const restoredTable = this.deps.tableManager.getTable({\n workbookName: this.workbookName,\n name: this.oldName,\n });\n\n this.undoFootprint = {\n touchedCells: mergeTouchedCells(\n buildTableTouchedCells(this.deps.workbookManager, [\n currentTable,\n restoredTable,\n ]),\n changedCells.map((address) => ({\n address,\n beforeKind: \"formula\" as const,\n afterKind: \"formula\" as const,\n }))\n ),\n tableContextChangedCells: buildTableContextChangedCells(\n this.deps.workbookManager,\n [currentTable, restoredTable]\n ),\n resourceKeys: [\n getTableResourceKey({\n workbookName: this.workbookName,\n tableName: this.oldName,\n }),\n getTableResourceKey({\n workbookName: this.workbookName,\n tableName: this.newName,\n }),\n ...changedNamedExpressions,\n ],\n };\n }\n\n getInvalidationFootprint(phase: \"execute\" | \"undo\"): MutationInvalidation {\n return phase === \"execute\" ? this.executeFootprint : this.undoFootprint;\n }\n\n toAction(): EngineAction {\n return {\n type: ActionTypes.RENAME_TABLE,\n payload: {\n workbookName: this.workbookName,\n oldName: this.oldName,\n newName: this.newName,\n },\n };\n }\n}\n\n/**\n * Command to update a table.\n */\nexport class UpdateTableCommand implements EngineCommand {\n readonly requiresReevaluation = true;\n private previousTable: TableDefinition | undefined;\n private executeFootprint = emptyMutationInvalidation();\n private undoFootprint = emptyMutationInvalidation();\n\n constructor(\n private deps: TableCommandDeps,\n private opts: {\n tableName: string;\n sheetName?: string;\n start?: string;\n numRows?: SpreadsheetRangeEnd;\n numCols?: number;\n workbookName: string;\n }\n ) {}\n\n execute(): void {\n // Capture previous table state\n this.previousTable = this.deps.tableManager.getTable({\n workbookName: this.opts.workbookName,\n name: this.opts.tableName,\n });\n\n this.deps.tableManager.updateTable({\n ...this.opts,\n getCellValue: this.deps.getCellValue,\n });\n const resourceKey = getTableResourceKey({\n workbookName: this.opts.workbookName,\n tableName: this.opts.tableName,\n });\n const nextTable = this.deps.tableManager.getTable({\n workbookName: this.opts.workbookName,\n name: this.opts.tableName,\n });\n this.executeFootprint = {\n touchedCells: buildTableTouchedCells(this.deps.workbookManager, [\n this.previousTable,\n nextTable,\n ]),\n tableContextChangedCells: buildTableContextChangedCells(\n this.deps.workbookManager,\n [this.previousTable, nextTable]\n ),\n resourceKeys: [resourceKey],\n };\n this.undoFootprint = this.executeFootprint;\n }\n\n undo(): void {\n if (!this.previousTable) return;\n\n // Restore previous table state\n const { start, endRow, headers, sheetName } = this.previousTable;\n const startRef = `${String.fromCharCode(65 + start.colIndex)}${start.rowIndex + 1}`;\n\n this.deps.tableManager.updateTable({\n workbookName: this.opts.workbookName,\n tableName: this.opts.tableName,\n sheetName,\n start: startRef,\n numRows: endRow,\n numCols: headers.size,\n getCellValue: this.deps.getCellValue,\n });\n }\n\n getInvalidationFootprint(phase: \"execute\" | \"undo\"): MutationInvalidation {\n return phase === \"execute\" ? this.executeFootprint : this.undoFootprint;\n }\n\n toAction(): EngineAction {\n return {\n type: ActionTypes.UPDATE_TABLE,\n payload: this.opts,\n };\n }\n}\n\n/**\n * Command to reset all tables.\n */\nexport class ResetTablesCommand implements EngineCommand {\n readonly requiresReevaluation = true;\n private previousTables: Map<string, Map<string, TableDefinition>> | undefined;\n private executeFootprint = emptyMutationInvalidation();\n private undoFootprint = emptyMutationInvalidation();\n\n constructor(\n private deps: TableCommandDeps,\n private newTables: Map<string, Map<string, TableDefinition>>\n ) {}\n\n execute(): void {\n // Capture previous tables\n this.previousTables = new Map();\n for (const [workbookName, tables] of this.deps.tableManager.tables) {\n this.previousTables.set(workbookName, new Map(tables));\n }\n\n this.deps.tableManager.resetTables(this.newTables);\n const resourceKeys = new Set<string>();\n for (const [workbookName, tables] of this.previousTables ?? []) {\n for (const tableName of tables.keys()) {\n resourceKeys.add(\n getTableResourceKey({\n workbookName,\n tableName,\n })\n );\n }\n }\n for (const [workbookName, tables] of this.newTables) {\n for (const tableName of tables.keys()) {\n resourceKeys.add(\n getTableResourceKey({\n workbookName,\n tableName,\n })\n );\n }\n }\n this.executeFootprint = {\n touchedCells: buildTableTouchedCells(this.deps.workbookManager, [\n ...Array.from(this.previousTables?.values() ?? []).flatMap((tables) =>\n Array.from(tables.values())\n ),\n ...Array.from(this.newTables.values()).flatMap((tables) =>\n Array.from(tables.values())\n ),\n ]),\n tableContextChangedCells: buildTableContextChangedCells(\n this.deps.workbookManager,\n [\n ...Array.from(this.previousTables?.values() ?? []).flatMap((tables) =>\n Array.from(tables.values())\n ),\n ...Array.from(this.newTables.values()).flatMap((tables) =>\n Array.from(tables.values())\n ),\n ]\n ),\n resourceKeys: Array.from(resourceKeys),\n };\n this.undoFootprint = this.executeFootprint;\n }\n\n undo(): void {\n if (!this.previousTables) return;\n this.deps.tableManager.resetTables(this.previousTables);\n }\n\n getInvalidationFootprint(phase: \"execute\" | \"undo\"): MutationInvalidation {\n return phase === \"execute\" ? this.executeFootprint : this.undoFootprint;\n }\n\n toAction(): EngineAction {\n return {\n type: ActionTypes.RESET_TABLES,\n payload: {\n tables: Array.from(this.newTables.entries()).map(([wb, tables]) => [\n wb,\n Array.from(tables.entries()),\n ]),\n },\n };\n }\n}\n"
6
- ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,IAJP;AAKoC,IAApC;AACmC,IAAnC;AAEA,SAAS,aAAa,CAAC,SAA8B;AAAA,EACnD,OAAO,GAAG,QAAQ,gBAAgB,QAAQ,aAAa,QAAQ,YAAY,QAAQ;AAAA;AAGrF,SAAS,0BAA0B,CACjC,iBACA,OAIC;AAAA,EACD,MAAM,QAAQ,IAAI;AAAA,EAOlB,MAAM,QAAQ,gBAAgB,SAAS;AAAA,IACrC,cAAc,MAAM;AAAA,IACpB,WAAW,MAAM;AAAA,EACnB,CAAC;AAAA,EACD,IAAI,CAAC,OAAO;AAAA,IACV,OAAO,CAAC;AAAA,EACV;AAAA,EAEA,MAAM,gBAAgB,MAAM,MAAM;AAAA,EAClC,MAAM,cAAc,gBAAgB,MAAM,QAAQ,OAAO;AAAA,EAEzD,IAAI,MAAM,OAAO,SAAS,UAAU;AAAA,IAClC,SAAS,WAAW,MAAM,MAAM,SAAU,YAAY,MAAM,OAAO,OAAO,YAAY;AAAA,MACpF,SAAS,WAAW,cAAe,YAAY,aAAa,YAAY;AAAA,QACtE,MAAM,UAAU;AAAA,UACd,cAAc,MAAM;AAAA,UACpB,WAAW,MAAM;AAAA,UACjB;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM,IAAI,cAAc,OAAO,GAAG;AAAA,UAChC;AAAA,UACA,SAAS,gBAAgB,eAAe,OAAO;AAAA,QACjD,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,OAAO,MAAM,KAAK,MAAM,OAAO,CAAC;AAAA,EAClC;AAAA,EAEA,YAAY,KAAK,YAAY,MAAM,QAAQ,QAAQ,GAAG;AAAA,IACpD,QAAQ,UAAU,aAAa,gCAAmB,GAAG;AAAA,IACrD,IAAI,WAAW,MAAM,MAAM,UAAU;AAAA,MACnC;AAAA,IACF;AAAA,IACA,IAAI,WAAW,iBAAiB,WAAW,aAAa;AAAA,MACtD;AAAA,IACF;AAAA,IAEA,MAAM,UAAU;AAAA,MACd,cAAc,MAAM;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM,IAAI,cAAc,OAAO,GAAG;AAAA,MAChC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,MAAM,KAAK,MAAM,OAAO,CAAC;AAAA;AAGlC,SAAS,sBAAsB,CAC7B,iBACA,QACsC;AAAA,EACtC,MAAM,eAAe,IAAI;AAAA,EASzB,WAAW,SAAS,QAAQ;AAAA,IAC1B,IAAI,CAAC,OAAO;AAAA,MACV;AAAA,IACF;AAAA,IACA,WAAW,QAAQ,2BAA2B,iBAAiB,KAAK,GAAG;AAAA,MACrE,aAAa,IAAI,cAAc,KAAK,OAAO,GAAG;AAAA,QAC5C,SAAS,KAAK;AAAA,QACd,YAAY,wCAA2B,KAAK,OAAO;AAAA,QACnD,WAAW,wCAA2B,KAAK,OAAO;AAAA,MACpD,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,KAAK,aAAa,OAAO,CAAC;AAAA;AAGzC,SAAS,6BAA6B,CACpC,iBACA,QACe;AAAA,EACf,MAAM,eAAe,IAAI;AAAA,EAEzB,WAAW,SAAS,QAAQ;AAAA,IAC1B,IAAI,CAAC,OAAO;AAAA,MACV;AAAA,IACF;AAAA,IACA,WAAW,QAAQ,2BAA2B,iBAAiB,KAAK,GAAG;AAAA,MACrE,aAAa,IAAI,cAAc,KAAK,OAAO,GAAG,KAAK,OAAO;AAAA,IAC5D;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,KAAK,aAAa,OAAO,CAAC;AAAA;AAGzC,SAAS,iBAAiB,IACrB,QACmC;AAAA,EACtC,MAAM,aAAa;AAAA,IACjB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,MAAM,SAAS,IAAI;AAAA,EAKnB,WAAW,SAAS,QAAQ;AAAA,IAC1B,WAAW,eAAe,OAAO;AAAA,MAC/B,MAAM,MAAM,cAAc,YAAY,OAAO;AAAA,MAC7C,MAAM,WAAW,OAAO,IAAI,GAAG;AAAA,MAC/B,IAAI,CAAC,UAAU;AAAA,QACb,OAAO,IAAI,KAAK,WAAW;AAAA,QAC3B;AAAA,MACF;AAAA,MAEA,OAAO,IAAI,KAAK;AAAA,QACd,SAAS,YAAY;AAAA,QACrB,YACE,WAAW,YAAY,eAAe,WAAW,SAAS,cACtD,YAAY,aACZ,SAAS;AAAA,QACf,WACE,WAAW,YAAY,cAAc,WAAW,SAAS,aACrD,YAAY,YACZ,SAAS;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,KAAK,OAAO,OAAO,CAAC;AAAA;AAAA;AAsB5B,MAAM,gBAAyC;AAAA,EAM1C;AAAA,EACA;AAAA,EAND,uBAAuB;AAAA,EACxB,mBAAmB,uCAA0B;AAAA,EAC7C,gBAAgB,uCAA0B;AAAA,EAElD,WAAW,CACD,MACA,OAQR;AAAA,IATQ;AAAA,IACA;AAAA;AAAA,EAUV,OAAO,GAAS;AAAA,IACd,MAAM,QAAQ,KAAK,KAAK,aAAa,SAAS;AAAA,SACzC,KAAK;AAAA,MACR,cAAc,KAAK,KAAK;AAAA,IAC1B,CAAC;AAAA,IACD,MAAM,cAAc,yCAAoB;AAAA,MACtC,cAAc,KAAK,MAAM;AAAA,MACzB,WAAW,KAAK,MAAM;AAAA,IACxB,CAAC;AAAA,IACD,KAAK,mBAAmB;AAAA,MACtB,cAAc,uBAAuB,KAAK,KAAK,iBAAiB,CAAC,KAAK,CAAC;AAAA,MACvE,0BAA0B,8BACxB,KAAK,KAAK,iBACV,CAAC,KAAK,CACR;AAAA,MACA,cAAc,CAAC,WAAW;AAAA,IAC5B;AAAA,IACA,KAAK,gBAAgB,KAAK;AAAA;AAAA,EAG5B,IAAI,GAAS;AAAA,IACX,KAAK,KAAK,aAAa,YAAY;AAAA,MACjC,cAAc,KAAK,MAAM;AAAA,MACzB,WAAW,KAAK,MAAM;AAAA,IACxB,CAAC;AAAA;AAAA,EAGH,wBAAwB,CAAC,OAAiD;AAAA,IACxE,OAAO,UAAU,YAAY,KAAK,mBAAmB,KAAK;AAAA;AAAA,EAG5D,QAAQ,GAAiB;AAAA,IACvB,OAAO;AAAA,MACL,MAAM,yBAAY;AAAA,MAClB,SAAS,KAAK;AAAA,IAChB;AAAA;AAEJ;AAAA;AAKO,MAAM,mBAA4C;AAAA,EAO7C;AAAA,EACA;AAAA,EAPD,uBAAuB;AAAA,EACxB;AAAA,EACA,mBAAmB,uCAA0B;AAAA,EAC7C,gBAAgB,uCAA0B;AAAA,EAElD,WAAW,CACD,MACA,MACR;AAAA,IAFQ;AAAA,IACA;AAAA;AAAA,EAGV,OAAO,GAAS;AAAA,IAEd,KAAK,eAAe,KAAK,KAAK,aAAa,SAAS;AAAA,MAClD,cAAc,KAAK,KAAK;AAAA,MACxB,MAAM,KAAK,KAAK;AAAA,IAClB,CAAC;AAAA,IAED,KAAK,KAAK,aAAa,YAAY,KAAK,IAAI;AAAA,IAC5C,MAAM,cAAc,yCAAoB;AAAA,MACtC,cAAc,KAAK,KAAK;AAAA,MACxB,WAAW,KAAK,KAAK;AAAA,IACvB,CAAC;AAAA,IACD,KAAK,mBAAmB;AAAA,MACtB,cAAc,uBAAuB,KAAK,KAAK,iBAAiB;AAAA,QAC9D,KAAK;AAAA,MACP,CAAC;AAAA,MACD,0BAA0B,8BACxB,KAAK,KAAK,iBACV,CAAC,KAAK,YAAY,CACpB;AAAA,MACA,cAAc,CAAC,WAAW;AAAA,IAC5B;AAAA,IACA,KAAK,gBAAgB,KAAK;AAAA;AAAA,EAG5B,IAAI,GAAS;AAAA,IACX,IAAI,CAAC,KAAK;AAAA,MAAc;AAAA,IAGxB,QAAQ,OAAO,QAAQ,SAAS,cAAc,KAAK;AAAA,IACnD,MAAM,WAAW,GAAG,OAAO,aAAa,KAAK,MAAM,QAAQ,IAAI,MAAM,WAAW;AAAA,IAEhF,KAAK,KAAK,aAAa,SAAS;AAAA,MAC9B,cAAc,KAAK,KAAK;AAAA,MACxB,WAAW,KAAK,KAAK;AAAA,MACrB;AAAA,MACA,OAAO;AAAA,MACP,SAAS;AAAA,MACT,SAAS,QAAQ;AAAA,MACjB,cAAc,KAAK,KAAK;AAAA,IAC1B,CAAC;AAAA;AAAA,EAGH,wBAAwB,CAAC,OAAiD;AAAA,IACxE,OAAO,UAAU,YAAY,KAAK,mBAAmB,KAAK;AAAA;AAAA,EAG5D,QAAQ,GAAiB;AAAA,IACvB,OAAO;AAAA,MACL,MAAM,yBAAY;AAAA,MAClB,SAAS,KAAK;AAAA,IAChB;AAAA;AAEJ;AAAA;AAKO,MAAM,mBAA4C;AAAA,EAM7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EARD,uBAAuB;AAAA,EACxB,mBAAmB,uCAA0B;AAAA,EAC7C,gBAAgB,uCAA0B;AAAA,EAElD,WAAW,CACD,MACA,cACA,SACA,SACR;AAAA,IAJQ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGV,OAAO,GAAS;AAAA,IACd,MAAM,gBAAgB,KAAK,KAAK,aAAa,SAAS;AAAA,MACpD,cAAc,KAAK;AAAA,MACnB,MAAM,KAAK;AAAA,IACb,CAAC;AAAA,IACD,KAAK,KAAK,aAAa,YAAY,KAAK,cAAc;AAAA,MACpD,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,IAChB,CAAC;AAAA,IAGD,MAAM,eAAe,KAAK,KAAK,gBAAgB,kBAAkB,CAAC,YAChE,KAAK,KAAK,qBAAqB,SAAS,KAAK,SAAS,KAAK,OAAO,CACpE;AAAA,IAGA,MAAM,0BACJ,KAAK,KAAK,uBAAuB,0BAA0B,CAAC,YAC5D,KAAK,KAAK,qBAAqB,SAAS,KAAK,SAAS,KAAK,OAAO,CACpE;AAAA,IAGA,KAAK,KAAK,iBAAiB,qBACzB,KAAK,cACL,KAAK,SACL,KAAK,OACP;AAAA,IACA,MAAM,eAAe,KAAK,KAAK,aAAa,SAAS;AAAA,MACnD,cAAc,KAAK;AAAA,MACnB,MAAM,KAAK;AAAA,IACb,CAAC;AAAA,IAED,KAAK,mBAAmB;AAAA,MACtB,cAAc,kBACZ,uBAAuB,KAAK,KAAK,iBAAiB;AAAA,QAChD;AAAA,QACA;AAAA,MACF,CAAC,GACD,aAAa,IAAI,CAAC,aAAa;AAAA,QAC7B;AAAA,QACA,YAAY;AAAA,QACZ,WAAW;AAAA,MACb,EAAE,CACJ;AAAA,MACA,0BAA0B,8BACxB,KAAK,KAAK,iBACV,CAAC,eAAe,YAAY,CAC9B;AAAA,MACA,cAAc;AAAA,QACZ,yCAAoB;AAAA,UAClB,cAAc,KAAK;AAAA,UACnB,WAAW,KAAK;AAAA,QAClB,CAAC;AAAA,QACD,yCAAoB;AAAA,UAClB,cAAc,KAAK;AAAA,UACnB,WAAW,KAAK;AAAA,QAClB,CAAC;AAAA,QACD,GAAG;AAAA,MACL;AAAA,IACF;AAAA;AAAA,EAGF,IAAI,GAAS;AAAA,IACX,MAAM,eAAe,KAAK,KAAK,aAAa,SAAS;AAAA,MACnD,cAAc,KAAK;AAAA,MACnB,MAAM,KAAK;AAAA,IACb,CAAC;AAAA,IAED,KAAK,KAAK,aAAa,YAAY,KAAK,cAAc;AAAA,MACpD,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,IAChB,CAAC;AAAA,IAGD,MAAM,eAAe,KAAK,KAAK,gBAAgB,kBAAkB,CAAC,YAChE,KAAK,KAAK,qBAAqB,SAAS,KAAK,SAAS,KAAK,OAAO,CACpE;AAAA,IAGA,MAAM,0BACJ,KAAK,KAAK,uBAAuB,0BAA0B,CAAC,YAC5D,KAAK,KAAK,qBAAqB,SAAS,KAAK,SAAS,KAAK,OAAO,CACpE;AAAA,IAGA,KAAK,KAAK,iBAAiB,qBACzB,KAAK,cACL,KAAK,SACL,KAAK,OACP;AAAA,IACA,MAAM,gBAAgB,KAAK,KAAK,aAAa,SAAS;AAAA,MACpD,cAAc,KAAK;AAAA,MACnB,MAAM,KAAK;AAAA,IACb,CAAC;AAAA,IAED,KAAK,gBAAgB;AAAA,MACnB,cAAc,kBACZ,uBAAuB,KAAK,KAAK,iBAAiB;AAAA,QAChD;AAAA,QACA;AAAA,MACF,CAAC,GACD,aAAa,IAAI,CAAC,aAAa;AAAA,QAC7B;AAAA,QACA,YAAY;AAAA,QACZ,WAAW;AAAA,MACb,EAAE,CACJ;AAAA,MACA,0BAA0B,8BACxB,KAAK,KAAK,iBACV,CAAC,cAAc,aAAa,CAC9B;AAAA,MACA,cAAc;AAAA,QACZ,yCAAoB;AAAA,UAClB,cAAc,KAAK;AAAA,UACnB,WAAW,KAAK;AAAA,QAClB,CAAC;AAAA,QACD,yCAAoB;AAAA,UAClB,cAAc,KAAK;AAAA,UACnB,WAAW,KAAK;AAAA,QAClB,CAAC;AAAA,QACD,GAAG;AAAA,MACL;AAAA,IACF;AAAA;AAAA,EAGF,wBAAwB,CAAC,OAAiD;AAAA,IACxE,OAAO,UAAU,YAAY,KAAK,mBAAmB,KAAK;AAAA;AAAA,EAG5D,QAAQ,GAAiB;AAAA,IACvB,OAAO;AAAA,MACL,MAAM,yBAAY;AAAA,MAClB,SAAS;AAAA,QACP,cAAc,KAAK;AAAA,QACnB,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,MAChB;AAAA,IACF;AAAA;AAEJ;AAAA;AAKO,MAAM,mBAA4C;AAAA,EAO7C;AAAA,EACA;AAAA,EAPD,uBAAuB;AAAA,EACxB;AAAA,EACA,mBAAmB,uCAA0B;AAAA,EAC7C,gBAAgB,uCAA0B;AAAA,EAElD,WAAW,CACD,MACA,MAQR;AAAA,IATQ;AAAA,IACA;AAAA;AAAA,EAUV,OAAO,GAAS;AAAA,IAEd,KAAK,gBAAgB,KAAK,KAAK,aAAa,SAAS;AAAA,MACnD,cAAc,KAAK,KAAK;AAAA,MACxB,MAAM,KAAK,KAAK;AAAA,IAClB,CAAC;AAAA,IAED,KAAK,KAAK,aAAa,YAAY;AAAA,SAC9B,KAAK;AAAA,MACR,cAAc,KAAK,KAAK;AAAA,IAC1B,CAAC;AAAA,IACD,MAAM,cAAc,yCAAoB;AAAA,MACtC,cAAc,KAAK,KAAK;AAAA,MACxB,WAAW,KAAK,KAAK;AAAA,IACvB,CAAC;AAAA,IACD,MAAM,YAAY,KAAK,KAAK,aAAa,SAAS;AAAA,MAChD,cAAc,KAAK,KAAK;AAAA,MACxB,MAAM,KAAK,KAAK;AAAA,IAClB,CAAC;AAAA,IACD,KAAK,mBAAmB;AAAA,MACtB,cAAc,uBAAuB,KAAK,KAAK,iBAAiB;AAAA,QAC9D,KAAK;AAAA,QACL;AAAA,MACF,CAAC;AAAA,MACD,0BAA0B,8BACxB,KAAK,KAAK,iBACV,CAAC,KAAK,eAAe,SAAS,CAChC;AAAA,MACA,cAAc,CAAC,WAAW;AAAA,IAC5B;AAAA,IACA,KAAK,gBAAgB,KAAK;AAAA;AAAA,EAG5B,IAAI,GAAS;AAAA,IACX,IAAI,CAAC,KAAK;AAAA,MAAe;AAAA,IAGzB,QAAQ,OAAO,QAAQ,SAAS,cAAc,KAAK;AAAA,IACnD,MAAM,WAAW,GAAG,OAAO,aAAa,KAAK,MAAM,QAAQ,IAAI,MAAM,WAAW;AAAA,IAEhF,KAAK,KAAK,aAAa,YAAY;AAAA,MACjC,cAAc,KAAK,KAAK;AAAA,MACxB,WAAW,KAAK,KAAK;AAAA,MACrB;AAAA,MACA,OAAO;AAAA,MACP,SAAS;AAAA,MACT,SAAS,QAAQ;AAAA,MACjB,cAAc,KAAK,KAAK;AAAA,IAC1B,CAAC;AAAA;AAAA,EAGH,wBAAwB,CAAC,OAAiD;AAAA,IACxE,OAAO,UAAU,YAAY,KAAK,mBAAmB,KAAK;AAAA;AAAA,EAG5D,QAAQ,GAAiB;AAAA,IACvB,OAAO;AAAA,MACL,MAAM,yBAAY;AAAA,MAClB,SAAS,KAAK;AAAA,IAChB;AAAA;AAEJ;AAAA;AAKO,MAAM,mBAA4C;AAAA,EAO7C;AAAA,EACA;AAAA,EAPD,uBAAuB;AAAA,EACxB;AAAA,EACA,mBAAmB,uCAA0B;AAAA,EAC7C,gBAAgB,uCAA0B;AAAA,EAElD,WAAW,CACD,MACA,WACR;AAAA,IAFQ;AAAA,IACA;AAAA;AAAA,EAGV,OAAO,GAAS;AAAA,IAEd,KAAK,iBAAiB,IAAI;AAAA,IAC1B,YAAY,cAAc,WAAW,KAAK,KAAK,aAAa,QAAQ;AAAA,MAClE,KAAK,eAAe,IAAI,cAAc,IAAI,IAAI,MAAM,CAAC;AAAA,IACvD;AAAA,IAEA,KAAK,KAAK,aAAa,YAAY,KAAK,SAAS;AAAA,IACjD,MAAM,eAAe,IAAI;AAAA,IACzB,YAAY,cAAc,WAAW,KAAK,kBAAkB,CAAC,GAAG;AAAA,MAC9D,WAAW,aAAa,OAAO,KAAK,GAAG;AAAA,QACrC,aAAa,IACX,yCAAoB;AAAA,UAClB;AAAA,UACA;AAAA,QACF,CAAC,CACH;AAAA,MACF;AAAA,IACF;AAAA,IACA,YAAY,cAAc,WAAW,KAAK,WAAW;AAAA,MACnD,WAAW,aAAa,OAAO,KAAK,GAAG;AAAA,QACrC,aAAa,IACX,yCAAoB;AAAA,UAClB;AAAA,UACA;AAAA,QACF,CAAC,CACH;AAAA,MACF;AAAA,IACF;AAAA,IACA,KAAK,mBAAmB;AAAA,MACtB,cAAc,uBAAuB,KAAK,KAAK,iBAAiB;AAAA,QAC9D,GAAG,MAAM,KAAK,KAAK,gBAAgB,OAAO,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,WAC1D,MAAM,KAAK,OAAO,OAAO,CAAC,CAC5B;AAAA,QACA,GAAG,MAAM,KAAK,KAAK,UAAU,OAAO,CAAC,EAAE,QAAQ,CAAC,WAC9C,MAAM,KAAK,OAAO,OAAO,CAAC,CAC5B;AAAA,MACF,CAAC;AAAA,MACD,0BAA0B,8BACxB,KAAK,KAAK,iBACV;AAAA,QACE,GAAG,MAAM,KAAK,KAAK,gBAAgB,OAAO,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,WAC1D,MAAM,KAAK,OAAO,OAAO,CAAC,CAC5B;AAAA,QACA,GAAG,MAAM,KAAK,KAAK,UAAU,OAAO,CAAC,EAAE,QAAQ,CAAC,WAC9C,MAAM,KAAK,OAAO,OAAO,CAAC,CAC5B;AAAA,MACF,CACF;AAAA,MACA,cAAc,MAAM,KAAK,YAAY;AAAA,IACvC;AAAA,IACA,KAAK,gBAAgB,KAAK;AAAA;AAAA,EAG5B,IAAI,GAAS;AAAA,IACX,IAAI,CAAC,KAAK;AAAA,MAAgB;AAAA,IAC1B,KAAK,KAAK,aAAa,YAAY,KAAK,cAAc;AAAA;AAAA,EAGxD,wBAAwB,CAAC,OAAiD;AAAA,IACxE,OAAO,UAAU,YAAY,KAAK,mBAAmB,KAAK;AAAA;AAAA,EAG5D,QAAQ,GAAiB;AAAA,IACvB,OAAO;AAAA,MACL,MAAM,yBAAY;AAAA,MAClB,SAAS;AAAA,QACP,QAAQ,MAAM,KAAK,KAAK,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,YAAY;AAAA,UACjE;AAAA,UACA,MAAM,KAAK,OAAO,QAAQ,CAAC;AAAA,QAC7B,CAAC;AAAA,MACH;AAAA,IACF;AAAA;AAEJ;",
8
- "debugId": "B613AEE64997BD0E64756E2164756E21",
9
- "names": []
10
- }
@@ -1,99 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropNames = Object.getOwnPropertyNames;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- function __accessProp(key) {
6
- return this[key];
7
- }
8
- var __toCommonJS = (from) => {
9
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
10
- if (entry)
11
- return entry;
12
- entry = __defProp({}, "__esModule", { value: true });
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (var key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(entry, key))
16
- __defProp(entry, key, {
17
- get: __accessProp.bind(from, key),
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- }
21
- __moduleCache.set(from, entry);
22
- return entry;
23
- };
24
- var __moduleCache;
25
- var __returnValue = (v) => v;
26
- function __exportSetter(name, newValue) {
27
- this[name] = __returnValue.bind(null, newValue);
28
- }
29
- var __export = (target, all) => {
30
- for (var name in all)
31
- __defProp(target, name, {
32
- get: all[name],
33
- enumerable: true,
34
- configurable: true,
35
- set: __exportSetter.bind(all, name)
36
- });
37
- };
38
-
39
- // src/core/commands/types.ts
40
- var exports_types = {};
41
- __export(exports_types, {
42
- getSerializedCellValueKind: () => getSerializedCellValueKind,
43
- emptyMutationInvalidation: () => emptyMutationInvalidation,
44
- ActionTypes: () => ActionTypes
45
- });
46
- module.exports = __toCommonJS(exports_types);
47
- function getSerializedCellValueKind(value) {
48
- if (value === undefined || typeof value === "string" && value.length === 0) {
49
- return "empty";
50
- }
51
- if (typeof value === "string" && value.startsWith("=")) {
52
- return "formula";
53
- }
54
- return "scalar";
55
- }
56
- function emptyMutationInvalidation() {
57
- return {
58
- touchedCells: [],
59
- resourceKeys: []
60
- };
61
- }
62
- var ActionTypes = {
63
- SET_CELL_CONTENT: "SET_CELL_CONTENT",
64
- SET_SHEET_CONTENT: "SET_SHEET_CONTENT",
65
- CLEAR_RANGE: "CLEAR_RANGE",
66
- PASTE_CELLS: "PASTE_CELLS",
67
- FILL_AREAS: "FILL_AREAS",
68
- MOVE_CELL: "MOVE_CELL",
69
- MOVE_RANGE: "MOVE_RANGE",
70
- AUTO_FILL: "AUTO_FILL",
71
- ADD_WORKBOOK: "ADD_WORKBOOK",
72
- REMOVE_WORKBOOK: "REMOVE_WORKBOOK",
73
- RENAME_WORKBOOK: "RENAME_WORKBOOK",
74
- CLONE_WORKBOOK: "CLONE_WORKBOOK",
75
- ADD_SHEET: "ADD_SHEET",
76
- REMOVE_SHEET: "REMOVE_SHEET",
77
- RENAME_SHEET: "RENAME_SHEET",
78
- ADD_TABLE: "ADD_TABLE",
79
- REMOVE_TABLE: "REMOVE_TABLE",
80
- RENAME_TABLE: "RENAME_TABLE",
81
- UPDATE_TABLE: "UPDATE_TABLE",
82
- RESET_TABLES: "RESET_TABLES",
83
- ADD_NAMED_EXPRESSION: "ADD_NAMED_EXPRESSION",
84
- REMOVE_NAMED_EXPRESSION: "REMOVE_NAMED_EXPRESSION",
85
- UPDATE_NAMED_EXPRESSION: "UPDATE_NAMED_EXPRESSION",
86
- RENAME_NAMED_EXPRESSION: "RENAME_NAMED_EXPRESSION",
87
- SET_NAMED_EXPRESSIONS: "SET_NAMED_EXPRESSIONS",
88
- SET_CELL_METADATA: "SET_CELL_METADATA",
89
- SET_SHEET_METADATA: "SET_SHEET_METADATA",
90
- SET_WORKBOOK_METADATA: "SET_WORKBOOK_METADATA",
91
- ADD_CONDITIONAL_STYLE: "ADD_CONDITIONAL_STYLE",
92
- REMOVE_CONDITIONAL_STYLE: "REMOVE_CONDITIONAL_STYLE",
93
- ADD_CELL_STYLE: "ADD_CELL_STYLE",
94
- REMOVE_CELL_STYLE: "REMOVE_CELL_STYLE",
95
- CLEAR_CELL_STYLES: "CLEAR_CELL_STYLES",
96
- RESET_TO_SERIALIZED: "RESET_TO_SERIALIZED"
97
- };
98
-
99
- //# debugId=65098011DD3A30FD64756E2164756E21