feat(core): Add closeFunction support to Sub-Nodes (#7708)

Github issue / Community forum post (link here to close automatically):

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
This commit is contained in:
Jan Oberhauser
2023-12-21 14:21:09 +01:00
committed by GitHub
parent 9ac8825a67
commit bec0faed9e
6 changed files with 47 additions and 6 deletions

View File

@@ -37,6 +37,7 @@ import pick from 'lodash/pick';
import { extension, lookup } from 'mime-types';
import type {
BinaryHelperFunctions,
CloseFunction,
ConnectionTypes,
ContextType,
FieldType,
@@ -3118,6 +3119,7 @@ export function getExecuteFunctions(
additionalData: IWorkflowExecuteAdditionalData,
executeData: IExecuteData,
mode: WorkflowExecuteMode,
closeFunctions: CloseFunction[],
abortSignal?: AbortSignal,
): IExecuteFunctions {
return ((workflow, runExecutionData, connectionInputData, inputData, node) => {
@@ -3294,7 +3296,11 @@ export function getExecuteFunctions(
};
try {
return await nodeType.supplyData.call(context, itemIndex);
const response = await nodeType.supplyData.call(context, itemIndex);
if (response.closeFunction) {
closeFunctions.push(response.closeFunction);
}
return response;
} catch (error) {
// Propagate errors from sub-nodes
if (error.functionality === 'configuration-node') throw error;