From 806d13460240abe94843e569b1820cd8d0d8edd1 Mon Sep 17 00:00:00 2001 From: Michael Kret <88898367+michael-radency@users.noreply.github.com> Date: Fri, 23 Jun 2023 14:24:31 +0300 Subject: [PATCH] fix(Google Sheets Node): Incorrect read of 0 and false (#6525) --- .../nodes/Google/Sheet/test/v2/utils/utils.test.ts | 2 +- .../nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/nodes-base/nodes/Google/Sheet/test/v2/utils/utils.test.ts b/packages/nodes-base/nodes/Google/Sheet/test/v2/utils/utils.test.ts index d00eaf638..69894eea4 100644 --- a/packages/nodes-base/nodes/Google/Sheet/test/v2/utils/utils.test.ts +++ b/packages/nodes-base/nodes/Google/Sheet/test/v2/utils/utils.test.ts @@ -163,7 +163,7 @@ describe('Test Google Sheets, removeEmptyColumns', () => { expect(result).toBeDefined(); expect(result).toEqual([ ['id', 'col1', 'col3'], - ['', 'A', 'C'], // TODO:should be [0, 'A', 'C'] ? + [0, 'A', 'C'], [1, 'a', 'c'], [2, 'd', 'f'], [3, 'g', 'i'], diff --git a/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts b/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts index 50fd0f4ca..6451b3895 100644 --- a/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts +++ b/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.ts @@ -102,7 +102,9 @@ export function trimToFirstEmptyRow(data: SheetRangeData, includesRowNumber = tr export function removeEmptyRows(data: SheetRangeData, includesRowNumber = true) { const baseLength = includesRowNumber ? 1 : 0; const notEmptyRows = data.filter((row) => - row.slice(baseLength).some((cell) => cell || typeof cell === 'number'), + row + .slice(baseLength) + .some((cell) => cell || typeof cell === 'number' || typeof cell === 'boolean'), ); if (includesRowNumber) { notEmptyRows[0][0] = ROW_NUMBER; @@ -143,7 +145,9 @@ export function removeEmptyColumns(data: SheetRangeData) { returnData.push(column); } } - return (returnData[0] || []).map((_, i) => returnData.map((row) => row[i] || '')); + return (returnData[0] || []).map((_, i) => + returnData.map((row) => (row[i] === undefined ? '' : row[i])), + ); } export function prepareSheetData(