From 10bb30b34473af99734e3928e611a997d2032336 Mon Sep 17 00:00:00 2001 From: Fanny Cheung Date: Tue, 16 Jul 2024 17:00:28 +0200 Subject: [PATCH 1/4] Fix header row --- scripts/shared.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/shared.js b/scripts/shared.js index 840695a..e996da6 100644 --- a/scripts/shared.js +++ b/scripts/shared.js @@ -248,8 +248,14 @@ export function sheetRawContentToObjects(rawContent){ let [firstRow, ...dataRows] = rawContent /** @type {string[]} */ - //@ts-expect-error this type is correct after the filter - const columns = firstRow.filter(({value}) => typeof value === 'string' && value.length >= 1).map(r => r.value) + + const columns = firstRow.map((r, i) => { + if (r.value === undefined || r.value === null || r.value === "") { + return `Column ${i+1}` + } + + return r.value + }) return dataRows .map(row => { From a2c69626c3bd7e28a57e1aaa2233700993d0c59d Mon Sep 17 00:00:00 2001 From: Fanny Cheung Date: Tue, 16 Jul 2024 17:13:24 +0200 Subject: [PATCH 2/4] Add test --- package-lock.json | 4 ++-- tests/sheetRawContentToObjects.js | 39 +++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 tests/sheetRawContentToObjects.js diff --git a/package-lock.json b/package-lock.json index 96509de..fc9f952 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "front-end-template", + "name": "ods-xlsx", "version": "0.6.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "front-end-template", + "name": "ods-xlsx", "version": "0.6.0", "dependencies": { "@xmldom/xmldom": "^0.8.10", diff --git a/tests/sheetRawContentToObjects.js b/tests/sheetRawContentToObjects.js new file mode 100644 index 0000000..377136c --- /dev/null +++ b/tests/sheetRawContentToObjects.js @@ -0,0 +1,39 @@ +import test from 'ava'; +import { sheetRawContentToObjects } from "../scripts/shared.js" + +test("Empty header value should be kept", t => { + const rawContent = [ + [ + { + type: "string", + value: "", + }, + { + type: "string", + value: "Pitchou", + }, + ], + [ + { + type: "string", + value: "1", + }, + { + type: "string", + value: "2", + }, + ] + ] + + const object = sheetRawContentToObjects(rawContent) + + t.deepEqual( + object, + [ + { + "Column 1": "1", + "Pitchou": "2", + } + ] + ) +}) \ No newline at end of file From bb469e1f081a3b9de301842d1468dba18a6a8732 Mon Sep 17 00:00:00 2001 From: Fanny Cheung Date: Tue, 16 Jul 2024 17:13:35 +0200 Subject: [PATCH 3/4] 0.7.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc9f952..011e342 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ods-xlsx", - "version": "0.6.0", + "version": "0.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ods-xlsx", - "version": "0.6.0", + "version": "0.7.0", "dependencies": { "@xmldom/xmldom": "^0.8.10", "unzipit": "^1.4.3" diff --git a/package.json b/package.json index f0c42da..995d911 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ods-xlsx", - "version": "0.6.0", + "version": "0.7.0", "type": "module", "main": "./scripts/node.js", "browser": "./scripts/browser.js", From ecd9f1c4e1d44682f97a737a6f4a5afaf65d81a7 Mon Sep 17 00:00:00 2001 From: Fanny Cheung Date: Tue, 16 Jul 2024 17:14:12 +0200 Subject: [PATCH 4/4] Update to version 0.7.0 --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e394573..c99243e 100644 --- a/readme.md +++ b/readme.md @@ -8,7 +8,7 @@ Small lib to parse/understand .ods and .xsls files in the browser and node.js ### Install ```sh -npm i https://github.com/DavidBruant/ods-xlsx.git#v0.6.0 +npm i https://github.com/DavidBruant/ods-xlsx.git#v0.7.0 ```