@dimarborda/xlsx-editor 0.2.0 → 0.3.1

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.
@@ -36,14 +36,38 @@ export class XlsxWorkbook {
36
36
  * Back to the default format for the cells of a range
37
37
  */
38
38
  clear_format(sheet: number, range: string): void;
39
+ /**
40
+ * Deletes `count` columns from `first`
41
+ */
42
+ delete_columns(sheet: number, first: number, count: number): number;
43
+ /**
44
+ * Deletes `count` rows from `first`
45
+ */
46
+ delete_rows(sheet: number, first: number, count: number): number;
39
47
  /**
40
48
  * The workbook as .xlsx bytes
41
49
  */
42
50
  export_bytes(): Uint8Array;
51
+ /**
52
+ * Fills `target` from `source`, the cells at one of its ends; with `series`, trends continue
53
+ */
54
+ fill_range(sheet: number, source: string, target: string, series: boolean): void;
43
55
  /**
44
56
  * Replaces `{{FIELD}}` placeholders with the strings of a JSON object; returns how many
45
57
  */
46
58
  fill_template_json(values: string): number;
59
+ /**
60
+ * Numbers as the cell format `style` shows them in the language `locale`
61
+ */
62
+ format_numbers(style: number, values: Float64Array, locale: string): string[];
63
+ /**
64
+ * `count` empty columns before the column `before`, like the one to their left
65
+ */
66
+ insert_columns(sheet: number, before: number, count: number): number;
67
+ /**
68
+ * `count` empty rows before the row `before`, like the one above them
69
+ */
70
+ insert_rows(sheet: number, before: number, count: number): number;
47
71
  /**
48
72
  * Markers of the shared lexicon (`{{KEY}}`, `{key}`, `[ … ]`, see `ooxml_core::markers`)
49
73
  * in the text cells of every worksheet, as JSON:
@@ -51,6 +75,14 @@ export class XlsxWorkbook {
51
75
  */
52
76
  markers_json(): string;
53
77
  merge_cells(sheet: number, range: string): void;
78
+ /**
79
+ * Moves `count` columns from `first` before the column `before` (see `move_rows`)
80
+ */
81
+ move_columns(sheet: number, first: number, count: number, before: number): number;
82
+ /**
83
+ * Moves `count` rows from `first` before the row `before`; returns where the first ends up
84
+ */
85
+ move_rows(sheet: number, first: number, count: number, before: number): number;
54
86
  /**
55
87
  * An empty workbook with one sheet
56
88
  */
@@ -83,10 +115,22 @@ export class XlsxWorkbook {
83
115
  * Width in characters of the columns `first..=last` (1 = A)
84
116
  */
85
117
  set_column_width(sheet: number, first: number, last: number, width: number): void;
118
+ /**
119
+ * Hides or shows the columns `first..=last`
120
+ */
121
+ set_columns_hidden(sheet: number, first: number, last: number, hidden: boolean): void;
86
122
  /**
87
123
  * Formats the cells of a range; `format` is JSON (see `format_input`)
88
124
  */
89
125
  set_format_json(sheet: number, range: string, format: string): void;
126
+ /**
127
+ * Height in points of the rows `first..=last`; none goes back to the automatic height
128
+ */
129
+ set_row_height(sheet: number, first: number, last: number, height?: number | null): void;
130
+ /**
131
+ * Hides or shows the rows `first..=last`
132
+ */
133
+ set_rows_hidden(sheet: number, first: number, last: number, hidden: boolean): void;
90
134
  /**
91
135
  * Where the selection ended up after the current step (comes back from `redo`)
92
136
  */
@@ -97,7 +141,8 @@ export class XlsxWorkbook {
97
141
  set_values_json(sheet: number, start: string, rows: string): void;
98
142
  /**
99
143
  * Cells of the sheet at `sheet` that show something, formatted in the language `locale`
100
- * (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color?]`
144
+ * (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color, number]` (the last two
145
+ * only when there is something to say: numbers carry `number`, with `color` null if none)
101
146
  */
102
147
  sheet_cells_json(sheet: number, locale: string): string;
103
148
  /**
@@ -142,10 +187,18 @@ export interface InitOutput {
142
187
  readonly xlsxworkbook_cell_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
143
188
  readonly xlsxworkbook_checkpoint: (a: number, b: number, c: number) => void;
144
189
  readonly xlsxworkbook_clear_format: (a: number, b: number, c: number, d: number) => [number, number];
190
+ readonly xlsxworkbook_delete_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
191
+ readonly xlsxworkbook_delete_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
145
192
  readonly xlsxworkbook_export_bytes: (a: number) => [number, number, number, number];
193
+ readonly xlsxworkbook_fill_range: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
146
194
  readonly xlsxworkbook_fill_template_json: (a: number, b: number, c: number) => [number, number, number];
195
+ readonly xlsxworkbook_format_numbers: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
196
+ readonly xlsxworkbook_insert_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
197
+ readonly xlsxworkbook_insert_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
147
198
  readonly xlsxworkbook_markers_json: (a: number) => [number, number, number, number];
148
199
  readonly xlsxworkbook_merge_cells: (a: number, b: number, c: number, d: number) => [number, number];
200
+ readonly xlsxworkbook_move_columns: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
201
+ readonly xlsxworkbook_move_rows: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
149
202
  readonly xlsxworkbook_new: (a: number, b: number) => [number, number, number];
150
203
  readonly xlsxworkbook_new_blank: () => [number, number, number];
151
204
  readonly xlsxworkbook_range_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -154,7 +207,10 @@ export interface InitOutput {
154
207
  readonly xlsxworkbook_region_at_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
155
208
  readonly xlsxworkbook_rename_sheet: (a: number, b: number, c: number, d: number) => [number, number, number];
156
209
  readonly xlsxworkbook_set_column_width: (a: number, b: number, c: number, d: number, e: number) => [number, number];
210
+ readonly xlsxworkbook_set_columns_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
157
211
  readonly xlsxworkbook_set_format_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
212
+ readonly xlsxworkbook_set_row_height: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
213
+ readonly xlsxworkbook_set_rows_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
158
214
  readonly xlsxworkbook_set_selection_after: (a: number, b: number, c: number) => void;
159
215
  readonly xlsxworkbook_set_values_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
160
216
  readonly xlsxworkbook_sheet_cells_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -153,6 +153,34 @@ export class XlsxWorkbook {
153
153
  throw takeFromExternrefTable0(ret[0]);
154
154
  }
155
155
  }
156
+ /**
157
+ * Deletes `count` columns from `first`
158
+ * @param {number} sheet
159
+ * @param {number} first
160
+ * @param {number} count
161
+ * @returns {number}
162
+ */
163
+ delete_columns(sheet, first, count) {
164
+ const ret = wasm.xlsxworkbook_delete_columns(this.__wbg_ptr, sheet, first, count);
165
+ if (ret[2]) {
166
+ throw takeFromExternrefTable0(ret[1]);
167
+ }
168
+ return ret[0] >>> 0;
169
+ }
170
+ /**
171
+ * Deletes `count` rows from `first`
172
+ * @param {number} sheet
173
+ * @param {number} first
174
+ * @param {number} count
175
+ * @returns {number}
176
+ */
177
+ delete_rows(sheet, first, count) {
178
+ const ret = wasm.xlsxworkbook_delete_rows(this.__wbg_ptr, sheet, first, count);
179
+ if (ret[2]) {
180
+ throw takeFromExternrefTable0(ret[1]);
181
+ }
182
+ return ret[0] >>> 0;
183
+ }
156
184
  /**
157
185
  * The workbook as .xlsx bytes
158
186
  * @returns {Uint8Array}
@@ -166,6 +194,23 @@ export class XlsxWorkbook {
166
194
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
167
195
  return v1;
168
196
  }
197
+ /**
198
+ * Fills `target` from `source`, the cells at one of its ends; with `series`, trends continue
199
+ * @param {number} sheet
200
+ * @param {string} source
201
+ * @param {string} target
202
+ * @param {boolean} series
203
+ */
204
+ fill_range(sheet, source, target, series) {
205
+ const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
206
+ const len0 = WASM_VECTOR_LEN;
207
+ const ptr1 = passStringToWasm0(target, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
208
+ const len1 = WASM_VECTOR_LEN;
209
+ const ret = wasm.xlsxworkbook_fill_range(this.__wbg_ptr, sheet, ptr0, len0, ptr1, len1, series);
210
+ if (ret[1]) {
211
+ throw takeFromExternrefTable0(ret[0]);
212
+ }
213
+ }
169
214
  /**
170
215
  * Replaces `{{FIELD}}` placeholders with the strings of a JSON object; returns how many
171
216
  * @param {string} values
@@ -180,6 +225,54 @@ export class XlsxWorkbook {
180
225
  }
181
226
  return ret[0] >>> 0;
182
227
  }
228
+ /**
229
+ * Numbers as the cell format `style` shows them in the language `locale`
230
+ * @param {number} style
231
+ * @param {Float64Array} values
232
+ * @param {string} locale
233
+ * @returns {string[]}
234
+ */
235
+ format_numbers(style, values, locale) {
236
+ const ptr0 = passArrayF64ToWasm0(values, wasm.__wbindgen_malloc);
237
+ const len0 = WASM_VECTOR_LEN;
238
+ const ptr1 = passStringToWasm0(locale, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
239
+ const len1 = WASM_VECTOR_LEN;
240
+ const ret = wasm.xlsxworkbook_format_numbers(this.__wbg_ptr, style, ptr0, len0, ptr1, len1);
241
+ if (ret[3]) {
242
+ throw takeFromExternrefTable0(ret[2]);
243
+ }
244
+ var v3 = getArrayJsValueFromWasm0(ret[0], ret[1]);
245
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
246
+ return v3;
247
+ }
248
+ /**
249
+ * `count` empty columns before the column `before`, like the one to their left
250
+ * @param {number} sheet
251
+ * @param {number} before
252
+ * @param {number} count
253
+ * @returns {number}
254
+ */
255
+ insert_columns(sheet, before, count) {
256
+ const ret = wasm.xlsxworkbook_insert_columns(this.__wbg_ptr, sheet, before, count);
257
+ if (ret[2]) {
258
+ throw takeFromExternrefTable0(ret[1]);
259
+ }
260
+ return ret[0] >>> 0;
261
+ }
262
+ /**
263
+ * `count` empty rows before the row `before`, like the one above them
264
+ * @param {number} sheet
265
+ * @param {number} before
266
+ * @param {number} count
267
+ * @returns {number}
268
+ */
269
+ insert_rows(sheet, before, count) {
270
+ const ret = wasm.xlsxworkbook_insert_rows(this.__wbg_ptr, sheet, before, count);
271
+ if (ret[2]) {
272
+ throw takeFromExternrefTable0(ret[1]);
273
+ }
274
+ return ret[0] >>> 0;
275
+ }
183
276
  /**
184
277
  * Markers of the shared lexicon (`{{KEY}}`, `{key}`, `[ … ]`, see `ooxml_core::markers`)
185
278
  * in the text cells of every worksheet, as JSON:
@@ -216,6 +309,36 @@ export class XlsxWorkbook {
216
309
  throw takeFromExternrefTable0(ret[0]);
217
310
  }
218
311
  }
312
+ /**
313
+ * Moves `count` columns from `first` before the column `before` (see `move_rows`)
314
+ * @param {number} sheet
315
+ * @param {number} first
316
+ * @param {number} count
317
+ * @param {number} before
318
+ * @returns {number}
319
+ */
320
+ move_columns(sheet, first, count, before) {
321
+ const ret = wasm.xlsxworkbook_move_columns(this.__wbg_ptr, sheet, first, count, before);
322
+ if (ret[2]) {
323
+ throw takeFromExternrefTable0(ret[1]);
324
+ }
325
+ return ret[0] >>> 0;
326
+ }
327
+ /**
328
+ * Moves `count` rows from `first` before the row `before`; returns where the first ends up
329
+ * @param {number} sheet
330
+ * @param {number} first
331
+ * @param {number} count
332
+ * @param {number} before
333
+ * @returns {number}
334
+ */
335
+ move_rows(sheet, first, count, before) {
336
+ const ret = wasm.xlsxworkbook_move_rows(this.__wbg_ptr, sheet, first, count, before);
337
+ if (ret[2]) {
338
+ throw takeFromExternrefTable0(ret[1]);
339
+ }
340
+ return ret[0] >>> 0;
341
+ }
219
342
  /**
220
343
  * An empty workbook with one sheet
221
344
  * @returns {XlsxWorkbook}
@@ -349,6 +472,19 @@ export class XlsxWorkbook {
349
472
  throw takeFromExternrefTable0(ret[0]);
350
473
  }
351
474
  }
475
+ /**
476
+ * Hides or shows the columns `first..=last`
477
+ * @param {number} sheet
478
+ * @param {number} first
479
+ * @param {number} last
480
+ * @param {boolean} hidden
481
+ */
482
+ set_columns_hidden(sheet, first, last, hidden) {
483
+ const ret = wasm.xlsxworkbook_set_columns_hidden(this.__wbg_ptr, sheet, first, last, hidden);
484
+ if (ret[1]) {
485
+ throw takeFromExternrefTable0(ret[0]);
486
+ }
487
+ }
352
488
  /**
353
489
  * Formats the cells of a range; `format` is JSON (see `format_input`)
354
490
  * @param {number} sheet
@@ -365,6 +501,32 @@ export class XlsxWorkbook {
365
501
  throw takeFromExternrefTable0(ret[0]);
366
502
  }
367
503
  }
504
+ /**
505
+ * Height in points of the rows `first..=last`; none goes back to the automatic height
506
+ * @param {number} sheet
507
+ * @param {number} first
508
+ * @param {number} last
509
+ * @param {number | null} [height]
510
+ */
511
+ set_row_height(sheet, first, last, height) {
512
+ const ret = wasm.xlsxworkbook_set_row_height(this.__wbg_ptr, sheet, first, last, !isLikeNone(height), isLikeNone(height) ? 0 : height);
513
+ if (ret[1]) {
514
+ throw takeFromExternrefTable0(ret[0]);
515
+ }
516
+ }
517
+ /**
518
+ * Hides or shows the rows `first..=last`
519
+ * @param {number} sheet
520
+ * @param {number} first
521
+ * @param {number} last
522
+ * @param {boolean} hidden
523
+ */
524
+ set_rows_hidden(sheet, first, last, hidden) {
525
+ const ret = wasm.xlsxworkbook_set_rows_hidden(this.__wbg_ptr, sheet, first, last, hidden);
526
+ if (ret[1]) {
527
+ throw takeFromExternrefTable0(ret[0]);
528
+ }
529
+ }
368
530
  /**
369
531
  * Where the selection ended up after the current step (comes back from `redo`)
370
532
  * @param {string | null} [selection]
@@ -392,7 +554,8 @@ export class XlsxWorkbook {
392
554
  }
393
555
  /**
394
556
  * Cells of the sheet at `sheet` that show something, formatted in the language `locale`
395
- * (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color?]`
557
+ * (`es`, `en-US`…), as JSON rows `[row, col, style, text, kind, color, number]` (the last two
558
+ * only when there is something to say: numbers carry `number`, with `color` null if none)
396
559
  * @param {number} sheet
397
560
  * @param {string} locale
398
561
  * @returns {string}
@@ -623,6 +786,14 @@ function getDataViewMemory0() {
623
786
  return cachedDataViewMemory0;
624
787
  }
625
788
 
789
+ let cachedFloat64ArrayMemory0 = null;
790
+ function getFloat64ArrayMemory0() {
791
+ if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {
792
+ cachedFloat64ArrayMemory0 = new Float64Array(wasm.memory.buffer);
793
+ }
794
+ return cachedFloat64ArrayMemory0;
795
+ }
796
+
626
797
  function getStringFromWasm0(ptr, len) {
627
798
  return decodeText(ptr >>> 0, len);
628
799
  }
@@ -646,6 +817,13 @@ function passArray8ToWasm0(arg, malloc) {
646
817
  return ptr;
647
818
  }
648
819
 
820
+ function passArrayF64ToWasm0(arg, malloc) {
821
+ const ptr = malloc(arg.length * 8, 8) >>> 0;
822
+ getFloat64ArrayMemory0().set(arg, ptr / 8);
823
+ WASM_VECTOR_LEN = arg.length;
824
+ return ptr;
825
+ }
826
+
649
827
  function passStringToWasm0(arg, malloc, realloc) {
650
828
  if (realloc === undefined) {
651
829
  const buf = cachedTextEncoder.encode(arg);
@@ -724,6 +902,7 @@ function __wbg_finalize_init(instance, module) {
724
902
  wasm = instance.exports;
725
903
  wasmModule = module;
726
904
  cachedDataViewMemory0 = null;
905
+ cachedFloat64ArrayMemory0 = null;
727
906
  cachedUint8ArrayMemory0 = null;
728
907
  wasm.__wbindgen_start();
729
908
  return wasm;
Binary file
@@ -11,10 +11,18 @@ export const xlsxworkbook_can_undo: (a: number) => number;
11
11
  export const xlsxworkbook_cell_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
12
12
  export const xlsxworkbook_checkpoint: (a: number, b: number, c: number) => void;
13
13
  export const xlsxworkbook_clear_format: (a: number, b: number, c: number, d: number) => [number, number];
14
+ export const xlsxworkbook_delete_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
15
+ export const xlsxworkbook_delete_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
14
16
  export const xlsxworkbook_export_bytes: (a: number) => [number, number, number, number];
17
+ export const xlsxworkbook_fill_range: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
15
18
  export const xlsxworkbook_fill_template_json: (a: number, b: number, c: number) => [number, number, number];
19
+ export const xlsxworkbook_format_numbers: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
20
+ export const xlsxworkbook_insert_columns: (a: number, b: number, c: number, d: number) => [number, number, number];
21
+ export const xlsxworkbook_insert_rows: (a: number, b: number, c: number, d: number) => [number, number, number];
16
22
  export const xlsxworkbook_markers_json: (a: number) => [number, number, number, number];
17
23
  export const xlsxworkbook_merge_cells: (a: number, b: number, c: number, d: number) => [number, number];
24
+ export const xlsxworkbook_move_columns: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
25
+ export const xlsxworkbook_move_rows: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
18
26
  export const xlsxworkbook_new: (a: number, b: number) => [number, number, number];
19
27
  export const xlsxworkbook_new_blank: () => [number, number, number];
20
28
  export const xlsxworkbook_range_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -23,7 +31,10 @@ export const xlsxworkbook_redo_json: (a: number) => [number, number];
23
31
  export const xlsxworkbook_region_at_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
24
32
  export const xlsxworkbook_rename_sheet: (a: number, b: number, c: number, d: number) => [number, number, number];
25
33
  export const xlsxworkbook_set_column_width: (a: number, b: number, c: number, d: number, e: number) => [number, number];
34
+ export const xlsxworkbook_set_columns_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
26
35
  export const xlsxworkbook_set_format_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
36
+ export const xlsxworkbook_set_row_height: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
37
+ export const xlsxworkbook_set_rows_hidden: (a: number, b: number, c: number, d: number, e: number) => [number, number];
27
38
  export const xlsxworkbook_set_selection_after: (a: number, b: number, c: number) => void;
28
39
  export const xlsxworkbook_set_values_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
29
40
  export const xlsxworkbook_sheet_cells_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];