@eredzik/calaminejs 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node/calamine_js.d.ts +9 -2
- package/dist/node/calamine_js.js +17 -4
- package/dist/node/calamine_js_bg.wasm +0 -0
- package/dist/node/calamine_js_bg.wasm.d.ts +3 -2
- package/dist/web/calamine_js.d.ts +12 -4
- package/dist/web/calamine_js.js +17 -4
- package/dist/web/calamine_js_bg.wasm +0 -0
- package/dist/web/calamine_js_bg.wasm.d.ts +3 -2
- package/package.json +7 -3
|
@@ -31,8 +31,14 @@ export class Sheet {
|
|
|
31
31
|
/**
|
|
32
32
|
* Convert sheet to Parquet format
|
|
33
33
|
* Returns the Parquet file as bytes
|
|
34
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
34
35
|
*/
|
|
35
|
-
to_parquet(): Uint8Array;
|
|
36
|
+
to_parquet(unmerge_cells: boolean): Uint8Array;
|
|
37
|
+
/**
|
|
38
|
+
* Get the merged regions in this sheet
|
|
39
|
+
* Returns an array of arrays, where each inner array is [start_row, start_col, end_row, end_col]
|
|
40
|
+
*/
|
|
41
|
+
merged_regions(): Array<any>;
|
|
36
42
|
/**
|
|
37
43
|
* Infer which row is the table header
|
|
38
44
|
* Returns HeaderInfo with the row index and column names, or None if no header is found
|
|
@@ -46,8 +52,9 @@ export class Sheet {
|
|
|
46
52
|
/**
|
|
47
53
|
* Convert sheet to Parquet format with custom column names
|
|
48
54
|
* column_names: array of column names (must match col_count)
|
|
55
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
49
56
|
*/
|
|
50
|
-
to_parquet_with_names(column_names: string[]): Uint8Array;
|
|
57
|
+
to_parquet_with_names(column_names: string[], unmerge_cells: boolean): Uint8Array;
|
|
51
58
|
get_cell(row: number, col: number): CellValue | undefined;
|
|
52
59
|
col_count(): number;
|
|
53
60
|
row_count(): number;
|
package/dist/node/calamine_js.js
CHANGED
|
@@ -338,10 +338,12 @@ class Sheet {
|
|
|
338
338
|
/**
|
|
339
339
|
* Convert sheet to Parquet format
|
|
340
340
|
* Returns the Parquet file as bytes
|
|
341
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
342
|
+
* @param {boolean} unmerge_cells
|
|
341
343
|
* @returns {Uint8Array}
|
|
342
344
|
*/
|
|
343
|
-
to_parquet() {
|
|
344
|
-
const ret = wasm.sheet_to_parquet(this.__wbg_ptr);
|
|
345
|
+
to_parquet(unmerge_cells) {
|
|
346
|
+
const ret = wasm.sheet_to_parquet(this.__wbg_ptr, unmerge_cells);
|
|
345
347
|
if (ret[3]) {
|
|
346
348
|
throw takeFromExternrefTable0(ret[2]);
|
|
347
349
|
}
|
|
@@ -349,6 +351,15 @@ class Sheet {
|
|
|
349
351
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
350
352
|
return v1;
|
|
351
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* Get the merged regions in this sheet
|
|
356
|
+
* Returns an array of arrays, where each inner array is [start_row, start_col, end_row, end_col]
|
|
357
|
+
* @returns {Array<any>}
|
|
358
|
+
*/
|
|
359
|
+
merged_regions() {
|
|
360
|
+
const ret = wasm.sheet_merged_regions(this.__wbg_ptr);
|
|
361
|
+
return ret;
|
|
362
|
+
}
|
|
352
363
|
/**
|
|
353
364
|
* Infer which row is the table header
|
|
354
365
|
* Returns HeaderInfo with the row index and column names, or None if no header is found
|
|
@@ -366,13 +377,15 @@ class Sheet {
|
|
|
366
377
|
/**
|
|
367
378
|
* Convert sheet to Parquet format with custom column names
|
|
368
379
|
* column_names: array of column names (must match col_count)
|
|
380
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
369
381
|
* @param {string[]} column_names
|
|
382
|
+
* @param {boolean} unmerge_cells
|
|
370
383
|
* @returns {Uint8Array}
|
|
371
384
|
*/
|
|
372
|
-
to_parquet_with_names(column_names) {
|
|
385
|
+
to_parquet_with_names(column_names, unmerge_cells) {
|
|
373
386
|
const ptr0 = passArrayJsValueToWasm0(column_names, wasm.__wbindgen_malloc);
|
|
374
387
|
const len0 = WASM_VECTOR_LEN;
|
|
375
|
-
const ret = wasm.sheet_to_parquet_with_names(this.__wbg_ptr, ptr0, len0);
|
|
388
|
+
const ret = wasm.sheet_to_parquet_with_names(this.__wbg_ptr, ptr0, len0, unmerge_cells);
|
|
376
389
|
if (ret[3]) {
|
|
377
390
|
throw takeFromExternrefTable0(ret[2]);
|
|
378
391
|
}
|
|
Binary file
|
|
@@ -22,11 +22,12 @@ export const headerinfo_row_index: (a: number) => number;
|
|
|
22
22
|
export const sheet_col_count: (a: number) => number;
|
|
23
23
|
export const sheet_get_cell: (a: number, b: number, c: number) => number;
|
|
24
24
|
export const sheet_infer_header_row: (a: number) => number;
|
|
25
|
+
export const sheet_merged_regions: (a: number) => any;
|
|
25
26
|
export const sheet_name: (a: number) => [number, number];
|
|
26
27
|
export const sheet_row_count: (a: number) => number;
|
|
27
28
|
export const sheet_rows: (a: number) => any;
|
|
28
|
-
export const sheet_to_parquet: (a: number) => [number, number, number, number];
|
|
29
|
-
export const sheet_to_parquet_with_names: (a: number, b: number, c: number) => [number, number, number, number];
|
|
29
|
+
export const sheet_to_parquet: (a: number, b: number) => [number, number, number, number];
|
|
30
|
+
export const sheet_to_parquet_with_names: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
30
31
|
export const workbook_from_bytes: (a: number, b: number) => [number, number, number];
|
|
31
32
|
export const workbook_from_bytes_with_progress: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
32
33
|
export const workbook_get_sheet: (a: number, b: number, c: number) => number;
|
|
@@ -31,8 +31,14 @@ export class Sheet {
|
|
|
31
31
|
/**
|
|
32
32
|
* Convert sheet to Parquet format
|
|
33
33
|
* Returns the Parquet file as bytes
|
|
34
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
34
35
|
*/
|
|
35
|
-
to_parquet(): Uint8Array;
|
|
36
|
+
to_parquet(unmerge_cells: boolean): Uint8Array;
|
|
37
|
+
/**
|
|
38
|
+
* Get the merged regions in this sheet
|
|
39
|
+
* Returns an array of arrays, where each inner array is [start_row, start_col, end_row, end_col]
|
|
40
|
+
*/
|
|
41
|
+
merged_regions(): Array<any>;
|
|
36
42
|
/**
|
|
37
43
|
* Infer which row is the table header
|
|
38
44
|
* Returns HeaderInfo with the row index and column names, or None if no header is found
|
|
@@ -46,8 +52,9 @@ export class Sheet {
|
|
|
46
52
|
/**
|
|
47
53
|
* Convert sheet to Parquet format with custom column names
|
|
48
54
|
* column_names: array of column names (must match col_count)
|
|
55
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
49
56
|
*/
|
|
50
|
-
to_parquet_with_names(column_names: string[]): Uint8Array;
|
|
57
|
+
to_parquet_with_names(column_names: string[], unmerge_cells: boolean): Uint8Array;
|
|
51
58
|
get_cell(row: number, col: number): CellValue | undefined;
|
|
52
59
|
col_count(): number;
|
|
53
60
|
row_count(): number;
|
|
@@ -91,11 +98,12 @@ export interface InitOutput {
|
|
|
91
98
|
readonly sheet_col_count: (a: number) => number;
|
|
92
99
|
readonly sheet_get_cell: (a: number, b: number, c: number) => number;
|
|
93
100
|
readonly sheet_infer_header_row: (a: number) => number;
|
|
101
|
+
readonly sheet_merged_regions: (a: number) => any;
|
|
94
102
|
readonly sheet_name: (a: number) => [number, number];
|
|
95
103
|
readonly sheet_row_count: (a: number) => number;
|
|
96
104
|
readonly sheet_rows: (a: number) => any;
|
|
97
|
-
readonly sheet_to_parquet: (a: number) => [number, number, number, number];
|
|
98
|
-
readonly sheet_to_parquet_with_names: (a: number, b: number, c: number) => [number, number, number, number];
|
|
105
|
+
readonly sheet_to_parquet: (a: number, b: number) => [number, number, number, number];
|
|
106
|
+
readonly sheet_to_parquet_with_names: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
99
107
|
readonly workbook_from_bytes: (a: number, b: number) => [number, number, number];
|
|
100
108
|
readonly workbook_from_bytes_with_progress: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
101
109
|
readonly workbook_get_sheet: (a: number, b: number, c: number) => number;
|
package/dist/web/calamine_js.js
CHANGED
|
@@ -340,10 +340,12 @@ export class Sheet {
|
|
|
340
340
|
/**
|
|
341
341
|
* Convert sheet to Parquet format
|
|
342
342
|
* Returns the Parquet file as bytes
|
|
343
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
344
|
+
* @param {boolean} unmerge_cells
|
|
343
345
|
* @returns {Uint8Array}
|
|
344
346
|
*/
|
|
345
|
-
to_parquet() {
|
|
346
|
-
const ret = wasm.sheet_to_parquet(this.__wbg_ptr);
|
|
347
|
+
to_parquet(unmerge_cells) {
|
|
348
|
+
const ret = wasm.sheet_to_parquet(this.__wbg_ptr, unmerge_cells);
|
|
347
349
|
if (ret[3]) {
|
|
348
350
|
throw takeFromExternrefTable0(ret[2]);
|
|
349
351
|
}
|
|
@@ -351,6 +353,15 @@ export class Sheet {
|
|
|
351
353
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
352
354
|
return v1;
|
|
353
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Get the merged regions in this sheet
|
|
358
|
+
* Returns an array of arrays, where each inner array is [start_row, start_col, end_row, end_col]
|
|
359
|
+
* @returns {Array<any>}
|
|
360
|
+
*/
|
|
361
|
+
merged_regions() {
|
|
362
|
+
const ret = wasm.sheet_merged_regions(this.__wbg_ptr);
|
|
363
|
+
return ret;
|
|
364
|
+
}
|
|
354
365
|
/**
|
|
355
366
|
* Infer which row is the table header
|
|
356
367
|
* Returns HeaderInfo with the row index and column names, or None if no header is found
|
|
@@ -368,13 +379,15 @@ export class Sheet {
|
|
|
368
379
|
/**
|
|
369
380
|
* Convert sheet to Parquet format with custom column names
|
|
370
381
|
* column_names: array of column names (must match col_count)
|
|
382
|
+
* unmerge_cells: if true, spread merged cell values to fill empty cells horizontally
|
|
371
383
|
* @param {string[]} column_names
|
|
384
|
+
* @param {boolean} unmerge_cells
|
|
372
385
|
* @returns {Uint8Array}
|
|
373
386
|
*/
|
|
374
|
-
to_parquet_with_names(column_names) {
|
|
387
|
+
to_parquet_with_names(column_names, unmerge_cells) {
|
|
375
388
|
const ptr0 = passArrayJsValueToWasm0(column_names, wasm.__wbindgen_malloc);
|
|
376
389
|
const len0 = WASM_VECTOR_LEN;
|
|
377
|
-
const ret = wasm.sheet_to_parquet_with_names(this.__wbg_ptr, ptr0, len0);
|
|
390
|
+
const ret = wasm.sheet_to_parquet_with_names(this.__wbg_ptr, ptr0, len0, unmerge_cells);
|
|
378
391
|
if (ret[3]) {
|
|
379
392
|
throw takeFromExternrefTable0(ret[2]);
|
|
380
393
|
}
|
|
Binary file
|
|
@@ -22,11 +22,12 @@ export const headerinfo_row_index: (a: number) => number;
|
|
|
22
22
|
export const sheet_col_count: (a: number) => number;
|
|
23
23
|
export const sheet_get_cell: (a: number, b: number, c: number) => number;
|
|
24
24
|
export const sheet_infer_header_row: (a: number) => number;
|
|
25
|
+
export const sheet_merged_regions: (a: number) => any;
|
|
25
26
|
export const sheet_name: (a: number) => [number, number];
|
|
26
27
|
export const sheet_row_count: (a: number) => number;
|
|
27
28
|
export const sheet_rows: (a: number) => any;
|
|
28
|
-
export const sheet_to_parquet: (a: number) => [number, number, number, number];
|
|
29
|
-
export const sheet_to_parquet_with_names: (a: number, b: number, c: number) => [number, number, number, number];
|
|
29
|
+
export const sheet_to_parquet: (a: number, b: number) => [number, number, number, number];
|
|
30
|
+
export const sheet_to_parquet_with_names: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
30
31
|
export const workbook_from_bytes: (a: number, b: number) => [number, number, number];
|
|
31
32
|
export const workbook_from_bytes_with_progress: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
32
33
|
export const workbook_get_sheet: (a: number, b: number, c: number) => number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eredzik/calaminejs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Rust calamine library bindings for JavaScript/TypeScript - Excel file reading and Parquet conversion",
|
|
5
5
|
"main": "./dist/node/calamine_js.js",
|
|
6
6
|
"module": "./dist/web/calamine_js.js",
|
|
@@ -45,10 +45,14 @@
|
|
|
45
45
|
"build:node:size": "wasm-pack build --target nodejs --out-dir dist/node --profile release-size",
|
|
46
46
|
"build:web:size": "wasm-pack build --target web --out-dir dist/web --profile release-size",
|
|
47
47
|
"postbuild": "rm -f dist/node/.gitignore dist/web/.gitignore dist/node/package.json dist/web/package.json dist/node/README.md dist/web/README.md dist/node/LICENSE dist/web/LICENSE",
|
|
48
|
-
"clean": "rm -rf dist target"
|
|
48
|
+
"clean": "rm -rf dist target",
|
|
49
|
+
"test": "vitest run",
|
|
50
|
+
"test:watch": "vitest"
|
|
49
51
|
},
|
|
50
52
|
"devDependencies": {
|
|
51
|
-
"npm-run-all": "^4.1.5"
|
|
53
|
+
"npm-run-all": "^4.1.5",
|
|
54
|
+
"vitest": "^2.1.8",
|
|
55
|
+
"@types/node": "^22.10.5"
|
|
52
56
|
},
|
|
53
57
|
"keywords": [
|
|
54
58
|
"excel",
|