@datalayer/cells 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/lib/core/axis.d.ts +6 -0
  2. package/lib/core/axis.d.ts.map +1 -1
  3. package/lib/core/axis.js +46 -7
  4. package/lib/core/axis.js.map +1 -1
  5. package/lib/core/commands.d.ts +157 -0
  6. package/lib/core/commands.d.ts.map +1 -0
  7. package/lib/core/commands.js +620 -0
  8. package/lib/core/commands.js.map +1 -0
  9. package/lib/core/format.d.ts +52 -0
  10. package/lib/core/format.d.ts.map +1 -0
  11. package/lib/core/format.js +264 -0
  12. package/lib/core/format.js.map +1 -0
  13. package/lib/core/history.d.ts +42 -0
  14. package/lib/core/history.d.ts.map +1 -0
  15. package/lib/core/history.js +63 -0
  16. package/lib/core/history.js.map +1 -0
  17. package/lib/core/index.d.ts +17 -2
  18. package/lib/core/index.d.ts.map +1 -1
  19. package/lib/core/index.js +22 -1
  20. package/lib/core/index.js.map +1 -1
  21. package/lib/core/model.d.ts +116 -0
  22. package/lib/core/model.d.ts.map +1 -0
  23. package/lib/core/model.js +330 -0
  24. package/lib/core/model.js.map +1 -0
  25. package/lib/core/patches.d.ts +140 -0
  26. package/lib/core/patches.d.ts.map +1 -0
  27. package/lib/core/patches.js +272 -0
  28. package/lib/core/patches.js.map +1 -0
  29. package/lib/core/reactor.d.ts +24 -0
  30. package/lib/core/reactor.d.ts.map +1 -0
  31. package/lib/core/reactor.js +48 -0
  32. package/lib/core/reactor.js.map +1 -0
  33. package/lib/core/selection.d.ts +81 -0
  34. package/lib/core/selection.d.ts.map +1 -0
  35. package/lib/core/selection.js +175 -0
  36. package/lib/core/selection.js.map +1 -0
  37. package/lib/core/workbook.d.ts +59 -0
  38. package/lib/core/workbook.d.ts.map +1 -0
  39. package/lib/core/workbook.js +101 -0
  40. package/lib/core/workbook.js.map +1 -0
  41. package/lib/points/index.d.ts +154 -0
  42. package/lib/points/index.d.ts.map +1 -0
  43. package/lib/points/index.js +50 -0
  44. package/lib/points/index.js.map +1 -0
  45. package/package.json +2 -1
@@ -49,6 +49,8 @@ export declare class Axis {
49
49
  materialize(index: number): number;
50
50
  /** How many ids are materialised. */
51
51
  get materialized(): number;
52
+ /** `n` fresh ids, for the indexes an insert creates. Never reused. */
53
+ freshIds(n: number): Int32Array;
52
54
  /** The index of an id, or -1. O(n) over the materialised ids; for the binding, not the hot path. */
53
55
  indexOfId(id: number): number;
54
56
  /** A copy of the materialised ids, for snapshots and the file format. */
@@ -85,6 +87,10 @@ export declare class Axis {
85
87
  effectiveSizeOf(index: number): number;
86
88
  /** Set the size of an index. O(log n). */
87
89
  resize(index: number, size: number): void;
90
+ /** Whether any size was ever set (else every size is the default and nothing is hidden). */
91
+ get customized(): boolean;
92
+ /** Whether any index is hidden. */
93
+ get hasHidden(): boolean;
88
94
  isHidden(index: number): boolean;
89
95
  setHidden(index: number, hidden: boolean): void;
90
96
  /** The offset of an index's start: the sum of the effective sizes before it. O(log n). */
@@ -1 +1 @@
1
- {"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../src/core/axis.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;GAiBG;AAEH,yDAAyD;AACzD,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,yEAAyE;AACzE,eAAO,MAAM,UAAU,QAAU,CAAC;AAElC,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,IAAI;;IACf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAcjB,OAAO,EAAE,WAAW;IAehC,oDAAoD;IACpD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAM3B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAalC,qCAAqC;IACrC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,oGAAoG;IACpG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAS7B,yEAAyE;IACzE,GAAG,IAAI,UAAU;IAMjB,oFAAoF;IACpF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW;IAU3C;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE;IAkCrG;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW;IA8B9D;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IA8B7C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAenG,kDAAkD;IAClD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK7B,wDAAwD;IACxD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAItC,0CAA0C;IAC1C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAWzC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMhC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAU/C,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU/B,oCAAoC;IACpC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,0FAA0F;IAC1F,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CA+FhC"}
1
+ {"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../src/core/axis.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;GAiBG;AAEH,yDAAyD;AACzD,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,yEAAyE;AACzE,eAAO,MAAM,UAAU,QAAU,CAAC;AAElC,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,IAAI;;IACf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAcjB,OAAO,EAAE,WAAW;IAehC,oDAAoD;IACpD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAM3B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAalC,qCAAqC;IACrC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,sEAAsE;IACtE,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAoB/B,oGAAoG;IACpG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAS7B,yEAAyE;IACzE,GAAG,IAAI,UAAU;IAMjB,oFAAoF;IACpF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW;IAY3C;;;;;;OAMG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,WAAW,GACpB;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE;IAsClD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW;IAmC9D;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAgC7C,6EAA6E;IAC7E,eAAe,CACb,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,CAAC,EAAE,MAAM,GACR,IAAI;IAeP,kDAAkD;IAClD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK7B,wDAAwD;IACxD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAItC,0CAA0C;IAC1C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAWzC,4FAA4F;IAC5F,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,mCAAmC;IACnC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMhC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAU/C,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU/B,oCAAoC;IACpC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,0FAA0F;IAC1F,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CA+FhC"}
package/lib/core/axis.js CHANGED
@@ -77,6 +77,29 @@ export class Axis {
77
77
  get materialized() {
78
78
  return this.#length;
79
79
  }
80
+ /** `n` fresh ids, for the indexes an insert creates. Never reused. */
81
+ freshIds(n) {
82
+ const ids = new Int32Array(n);
83
+ for (let k = 0; k < n; k += 1)
84
+ ids[k] = this.#nextFresh++;
85
+ return ids;
86
+ }
87
+ /** Whether `tail` is what a delete of `n` would bring at the end by itself. */
88
+ #isImplicitTail(tail, n) {
89
+ if (tail.sizes !== null || tail.hidden !== null)
90
+ return false;
91
+ // After the delete, `#length` drops by n and index k >= #length holds
92
+ // IMPLICIT_BASE + #implicitStart + (k - #length).
93
+ const lengthAfter = this.#length - n;
94
+ for (let k = 0; k < n; k += 1) {
95
+ const index = this.count - n + k;
96
+ if (index < lengthAfter)
97
+ return false;
98
+ if (tail.ids[k] !== IMPLICIT_BASE + this.#implicitStart + (index - lengthAfter))
99
+ return false;
100
+ }
101
+ return true;
102
+ }
80
103
  /** The index of an id, or -1. O(n) over the materialised ids; for the binding, not the hot path. */
81
104
  indexOfId(id) {
82
105
  for (let i = 0; i < this.#length; i += 1)
@@ -96,11 +119,12 @@ export class Axis {
96
119
  /** The state of `n` indexes from `at`: ids, sizes and hidden flags, for patches. */
97
120
  segment(at, n) {
98
121
  this.#checkSpan(at, n, false);
99
- this.materialize(at + n - 1);
100
122
  return {
101
- ids: this.#ids.slice(at, at + n),
123
+ ids: Int32Array.from({ length: n }, (_, k) => this.idAt(at + k)),
102
124
  sizes: this.#sizes === null ? null : this.#sizes.slice(at, at + n),
103
- hidden: this.#hidden === null ? null : Uint8Array.from({ length: n }, (_, k) => (this.isHidden(at + k) ? 1 : 0)),
125
+ hidden: this.#hidden === null
126
+ ? null
127
+ : Uint8Array.from({ length: n }, (_, k) => (this.isHidden(at + k) ? 1 : 0)),
104
128
  };
105
129
  }
106
130
  /**
@@ -150,7 +174,10 @@ export class Axis {
150
174
  }
151
175
  this.#rebuildFrom(at);
152
176
  }
153
- return { inserted: { ids, sizes: segment?.sizes ?? null, hidden: segment?.hidden ?? null }, dropped };
177
+ return {
178
+ inserted: { ids, sizes: segment?.sizes ?? null, hidden: segment?.hidden ?? null },
179
+ dropped,
180
+ };
154
181
  }
155
182
  /**
156
183
  * Delete `n` indexes from `at`; returns them. New indexes appear at the end:
@@ -163,11 +190,15 @@ export class Axis {
163
190
  throw new Error(`delete: ${n} indexes but a tail of ${tail.ids.length}.`);
164
191
  }
165
192
  const removed = this.segment(at, n);
166
- if (tail !== undefined)
193
+ this.materialize(at + n - 1);
194
+ // A tail that is what the axis would derive anyway (the common case:
195
+ // undoing an insert far from the end) needs no materialising.
196
+ const explicitTail = tail !== undefined && !this.#isImplicitTail(tail, n);
197
+ if (explicitTail)
167
198
  this.materialize(this.count - 1);
168
199
  this.#ids.copyWithin(at, at + n, this.#length);
169
200
  this.#length -= n;
170
- if (tail !== undefined) {
201
+ if (explicitTail) {
171
202
  this.#ids.set(tail.ids, this.count - n);
172
203
  this.#length = this.count;
173
204
  }
@@ -220,7 +251,7 @@ export class Axis {
220
251
  if (this.#sizes !== null) {
221
252
  rotate(this.#sizes);
222
253
  if (this.#hidden !== null) {
223
- const flags = Float64Array.from({ length: this.count }, (_, i) => (i >= lo && i < hi && this.isHidden(i) ? 1 : 0));
254
+ const flags = Float64Array.from({ length: this.count }, (_, i) => i >= lo && i < hi && this.isHidden(i) ? 1 : 0);
224
255
  rotate(flags);
225
256
  for (let i = lo; i < hi; i += 1)
226
257
  this.#setBit(i, flags[i] === 1);
@@ -268,6 +299,14 @@ export class Axis {
268
299
  if (after !== before)
269
300
  this.#add(index, after - before);
270
301
  }
302
+ /** Whether any size was ever set (else every size is the default and nothing is hidden). */
303
+ get customized() {
304
+ return this.#sizes !== null;
305
+ }
306
+ /** Whether any index is hidden. */
307
+ get hasHidden() {
308
+ return this.#hidden !== null && this.#hidden.some((w) => w !== 0);
309
+ }
271
310
  isHidden(index) {
272
311
  this.#check(index);
273
312
  const h = this.#hidden;
@@ -1 +1 @@
1
- {"version":3,"file":"axis.js","sourceRoot":"","sources":["../../src/core/axis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axis.js","sourceRoot":"","sources":["../../src/core/axis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * The core commands: a typed union, each with a handler that refuses with
3
+ * reasons or produces patches. `CellsCorePlugin` contributes the handlers to
4
+ * the `datalayer.cells.command` point, as any plugin contributes its own.
5
+ *
6
+ * @module core/commands
7
+ */
8
+ import type { CellContent } from './cells.js';
9
+ import { type AxisName, type CellsPatch } from './patches.js';
10
+ import { type Style } from './styles.js';
11
+ import { type CellValue } from './values.js';
12
+ import type { Sheet, Workbook } from './workbook.js';
13
+ import { type Position, type Zone, zoneContains } from './zone.js';
14
+ import type { CommandHandler } from '../points/index.js';
15
+ /** Why a command was refused. */
16
+ export type RefusalReason = 'ReadOnly' | 'UnknownCommand' | 'UnknownSheet' | 'OutOfBounds' | 'InvalidArgument' | 'MergeOverlap' | 'NoMerge' | 'NotEmptyAtEnd' | 'LastSheet' | 'DuplicateSheetName' | 'InvalidSheetName' | 'Gate';
17
+ export interface Refusal {
18
+ readonly reason: RefusalReason | (string & {});
19
+ /** A sentence a person can read. */
20
+ readonly message: string;
21
+ }
22
+ export type CommandResult = {
23
+ readonly ok: true;
24
+ } | {
25
+ readonly ok: false;
26
+ readonly refusals: readonly Refusal[];
27
+ };
28
+ export declare const OK: CommandResult;
29
+ export declare function refuse(reason: Refusal['reason'], message: string): CommandResult;
30
+ /** What a handler sees: the workbook, read-only by contract (writes go through patches). */
31
+ export interface CommandContext {
32
+ readonly workbook: Workbook;
33
+ }
34
+ /**
35
+ * What a cell is set to. A plain value is a literal; `{ formula }` a formula
36
+ * (without `=`); `style` replaces the style (`null`: the default; absent: kept).
37
+ */
38
+ export type CellInput = CellValue | {
39
+ readonly value?: CellValue;
40
+ readonly formula?: string;
41
+ readonly style?: Style | null;
42
+ };
43
+ /**
44
+ * What typing `text` into a cell means: a formula for `=…`, a number, a
45
+ * boolean (`TRUE`, `FALSE`), else the text itself. A leading `'` forces text.
46
+ */
47
+ export declare function parseInput(text: string): CellInput;
48
+ export interface SetCellsCommand {
49
+ readonly type: 'SET_CELLS';
50
+ readonly sheet: string;
51
+ /** The top-left cell; `cells` is a block of rows from there. */
52
+ readonly at: Position;
53
+ readonly cells: readonly (readonly CellInput[])[];
54
+ }
55
+ export interface SetStyleCommand {
56
+ readonly type: 'SET_STYLE';
57
+ readonly sheet: string;
58
+ readonly zone: Zone;
59
+ /** Merged into each cell's style; `null` resets to the default. */
60
+ readonly style: Style | null;
61
+ }
62
+ export interface ClearCommand {
63
+ readonly type: 'CLEAR';
64
+ readonly sheet: string;
65
+ readonly zone: Zone;
66
+ readonly what?: 'all' | 'contents' | 'styles';
67
+ }
68
+ export interface InsertAxisCommand {
69
+ readonly type: 'INSERT_AXIS';
70
+ readonly sheet: string;
71
+ readonly axis: AxisName;
72
+ readonly at: number;
73
+ readonly n: number;
74
+ }
75
+ export interface DeleteAxisCommand {
76
+ readonly type: 'DELETE_AXIS';
77
+ readonly sheet: string;
78
+ readonly axis: AxisName;
79
+ readonly at: number;
80
+ readonly n: number;
81
+ }
82
+ export interface MoveAxisCommand {
83
+ readonly type: 'MOVE_AXIS';
84
+ readonly sheet: string;
85
+ readonly axis: AxisName;
86
+ readonly at: number;
87
+ readonly n: number;
88
+ /** Before this index, in the coordinates before the move. */
89
+ readonly to: number;
90
+ }
91
+ export interface ResizeAxisCommand {
92
+ readonly type: 'RESIZE_AXIS';
93
+ readonly sheet: string;
94
+ readonly axis: AxisName;
95
+ readonly from: number;
96
+ /** Inclusive. */
97
+ readonly to: number;
98
+ readonly size: number;
99
+ }
100
+ export interface HideAxisCommand {
101
+ readonly type: 'HIDE_AXIS';
102
+ readonly sheet: string;
103
+ readonly axis: AxisName;
104
+ readonly from: number;
105
+ readonly to: number;
106
+ readonly hidden: boolean;
107
+ }
108
+ export interface MergeCommand {
109
+ readonly type: 'MERGE';
110
+ readonly sheet: string;
111
+ readonly zone: Zone;
112
+ }
113
+ export interface UnmergeCommand {
114
+ readonly type: 'UNMERGE';
115
+ readonly sheet: string;
116
+ readonly zone: Zone;
117
+ }
118
+ export interface AddSheetCommand {
119
+ readonly type: 'ADD_SHEET';
120
+ readonly name?: string;
121
+ /** Tab position; the end by default. */
122
+ readonly at?: number;
123
+ /** The id to give it; fresh by default. */
124
+ readonly id?: string;
125
+ }
126
+ export interface DeleteSheetCommand {
127
+ readonly type: 'DELETE_SHEET';
128
+ readonly sheet: string;
129
+ }
130
+ export interface RenameSheetCommand {
131
+ readonly type: 'RENAME_SHEET';
132
+ readonly sheet: string;
133
+ readonly name: string;
134
+ }
135
+ export interface MoveSheetCommand {
136
+ readonly type: 'MOVE_SHEET';
137
+ readonly sheet: string;
138
+ readonly to: number;
139
+ }
140
+ export interface FreezeCommand {
141
+ readonly type: 'FREEZE';
142
+ readonly sheet: string;
143
+ readonly rows: number;
144
+ readonly cols: number;
145
+ }
146
+ export type CoreCommand = SetCellsCommand | SetStyleCommand | ClearCommand | InsertAxisCommand | DeleteAxisCommand | MoveAxisCommand | ResizeAxisCommand | HideAxisCommand | MergeCommand | UnmergeCommand | AddSheetCommand | DeleteSheetCommand | RenameSheetCommand | MoveSheetCommand | FreezeCommand;
147
+ /** Any command: a core one, or a plugin's. */
148
+ export type Command = CoreCommand | ({
149
+ readonly type: string;
150
+ } & Record<string, unknown>);
151
+ declare function all(...results: CommandResult[]): CommandResult;
152
+ /** A cells patch writing `contents` (by position) over `zone`, from the current state. */
153
+ export declare function cellsPatch(sheet: Sheet, zone: Zone, contents: readonly [number, number, CellContent | null][]): CellsPatch;
154
+ /** The core command handlers, contributed by `CellsCorePlugin`. */
155
+ export declare const CORE_COMMANDS: readonly CommandHandler<any>[];
156
+ export { all as allResults, zoneContains };
157
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/core/commands.ts"],"names":[],"mappings":"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"}