diff --git a/packages/nodes-base/nodes/Merge/v2/MergeV2.node.ts b/packages/nodes-base/nodes/Merge/v2/MergeV2.node.ts index 6a5db82f93..91d09a2a69 100644 --- a/packages/nodes-base/nodes/Merge/v2/MergeV2.node.ts +++ b/packages/nodes-base/nodes/Merge/v2/MergeV2.node.ts @@ -291,7 +291,7 @@ export class MergeV2 implements INodeType { } async execute(this: IExecuteFunctions): Promise { - const returnData: INodeExecutionData[] = []; + let returnData: INodeExecutionData[] = []; const mode = this.getNodeParameter('mode', 0) as string; @@ -536,7 +536,7 @@ export class MergeV2 implements INodeType { output = [...output, ...unmatched1, ...unmatched2]; } - returnData.push(...output); + returnData = returnData.concat(output); } if (joinMode === 'keepNonMatches') { @@ -565,15 +565,21 @@ export class MergeV2 implements INodeType { if (joinMode === 'enrichInput1') { if (clashResolveOptions.resolveClash === 'addSuffix') { - returnData.push(...mergedEntries, ...addSuffixToEntriesKeys(matches.unmatched1, '1')); + returnData = returnData.concat( + mergedEntries, + addSuffixToEntriesKeys(matches.unmatched1, '1'), + ); } else { - returnData.push(...mergedEntries, ...matches.unmatched1); + returnData = returnData.concat(mergedEntries, matches.unmatched1); } } else { if (clashResolveOptions.resolveClash === 'addSuffix') { - returnData.push(...mergedEntries, ...addSuffixToEntriesKeys(matches.unmatched2, '2')); + returnData = returnData.concat( + mergedEntries, + addSuffixToEntriesKeys(matches.unmatched2, '2'), + ); } else { - returnData.push(...mergedEntries, ...matches.unmatched2); + returnData = returnData.concat(mergedEntries, matches.unmatched2); } } } diff --git a/packages/nodes-base/nodes/Merge/v3/actions/mode/combineByFields.ts b/packages/nodes-base/nodes/Merge/v3/actions/mode/combineByFields.ts index 0e848666ee..6c95fd571f 100644 --- a/packages/nodes-base/nodes/Merge/v3/actions/mode/combineByFields.ts +++ b/packages/nodes-base/nodes/Merge/v3/actions/mode/combineByFields.ts @@ -262,7 +262,7 @@ export async function execute( this: IExecuteFunctions, inputsData: INodeExecutionData[][], ): Promise { - const returnData: INodeExecutionData[] = []; + let returnData: INodeExecutionData[] = []; const advanced = this.getNodeParameter('advanced', 0) as boolean; let matchFields; @@ -374,7 +374,7 @@ export async function execute( output = [...output, ...unmatched1, ...unmatched2]; } - returnData.push(...output); + returnData = returnData.concat(output); } if (joinMode === 'keepNonMatches') { @@ -403,15 +403,21 @@ export async function execute( if (joinMode === 'enrichInput1') { if (clashResolveOptions.resolveClash === 'addSuffix') { - returnData.push(...mergedEntries, ...addSuffixToEntriesKeys(matches.unmatched1, '1')); + returnData = returnData.concat( + mergedEntries, + addSuffixToEntriesKeys(matches.unmatched1, '1'), + ); } else { - returnData.push(...mergedEntries, ...matches.unmatched1); + returnData = returnData.concat(mergedEntries, matches.unmatched1); } } else { if (clashResolveOptions.resolveClash === 'addSuffix') { - returnData.push(...mergedEntries, ...addSuffixToEntriesKeys(matches.unmatched2, '2')); + returnData = returnData.concat( + mergedEntries, + addSuffixToEntriesKeys(matches.unmatched2, '2'), + ); } else { - returnData.push(...mergedEntries, ...matches.unmatched2); + returnData = returnData.concat(mergedEntries, matches.unmatched2); } } } diff --git a/packages/nodes-base/nodes/Merge/v3/actions/mode/combineBySql.ts b/packages/nodes-base/nodes/Merge/v3/actions/mode/combineBySql.ts index 3578e19a18..edbb666fa4 100644 --- a/packages/nodes-base/nodes/Merge/v3/actions/mode/combineBySql.ts +++ b/packages/nodes-base/nodes/Merge/v3/actions/mode/combineBySql.ts @@ -125,7 +125,7 @@ async function executeSelectWithMappedPairedItems( for (const item of result) { if (Array.isArray(item)) { - returnData.push(...item.map((entry) => rowToExecutionData(entry))); + returnData.push.apply(returnData, item.map(rowToExecutionData)); } else if (typeof item === 'object') { returnData.push(rowToExecutionData(item)); } @@ -211,7 +211,7 @@ export async function execute( input: i, }; }); - pairedItem.push(...pairedItems); + pairedItem.push.apply(pairedItem, pairedItems); return; } @@ -237,7 +237,10 @@ export async function execute( for (const item of result) { if (Array.isArray(item)) { - returnData.push(...item.map((json) => ({ json, pairedItem }))); + returnData.push.apply( + returnData, + item.map((json) => ({ json, pairedItem })), + ); } else if (typeof item === 'object') { returnData.push({ json: item, pairedItem }); }