UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

66 lines 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readSheet = readSheet; const GoogleSheets_utils_1 = require("../../helpers/GoogleSheets.utils"); async function readSheet(sheet, sheetName, itemIndex, returnData, nodeVersion, items, rangeString, additionalOptions) { const options = this.getNodeParameter('options', itemIndex, {}); const outputFormattingOption = options.outputFormatting?.values || {}; const dataLocationOnSheetOptions = options.dataLocationOnSheet?.values || additionalOptions || {}; if (dataLocationOnSheetOptions.rangeDefinition === undefined) { dataLocationOnSheetOptions.rangeDefinition = 'detectAutomatically'; } const includeHeadersWithEmptyCells = additionalOptions?.includeHeadersWithEmptyCells ?? false; const range = rangeString ?? (0, GoogleSheets_utils_1.getRangeString)(sheetName, dataLocationOnSheetOptions); const valueRenderMode = (outputFormattingOption.general || 'UNFORMATTED_VALUE'); const dateTimeRenderOption = (outputFormattingOption.date || 'FORMATTED_STRING'); const sheetData = (await sheet.getData(range, valueRenderMode, dateTimeRenderOption)); if (sheetData === undefined || sheetData.length === 0) { return []; } const { data, headerRow: keyRowIndex, firstDataRow: dataStartRowIndex, } = (0, GoogleSheets_utils_1.prepareSheetData)(sheetData, dataLocationOnSheetOptions); let responseData = []; const lookupValues = this.getNodeParameter('filtersUI.values', itemIndex, []); const inputData = data; if (lookupValues.length) { let returnAllMatches; if (nodeVersion < 4.5) { returnAllMatches = options.returnAllMatches === 'returnAllMatches' ? true : false; } else { returnAllMatches = (additionalOptions?.returnFirstMatch ?? options.returnFirstMatch) ? false : true; } if (nodeVersion <= 4.1) { for (let i = 1; i < items.length; i++) { const itemLookupValues = this.getNodeParameter('filtersUI.values', i, []); if (itemLookupValues.length) { lookupValues.push(...itemLookupValues); } } } const combineFilters = this.getNodeParameter('combineFilters', itemIndex, 'OR'); responseData = await sheet.lookupValues({ inputData, keyRowIndex, dataStartRowIndex, lookupValues, returnAllMatches, nodeVersion, combineFilters, }); } else { responseData = sheet.structureArrayDataByColumn(inputData, keyRowIndex, dataStartRowIndex, includeHeadersWithEmptyCells); } returnData.push(...responseData.map((item) => { return { json: item, pairedItem: { item: itemIndex }, }; })); return returnData; } //# sourceMappingURL=readOperation.js.map