refactor(core): All calls to supplyData should use a distinct context type (no-changelog) (#11421)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2024-10-28 11:37:23 +01:00
committed by GitHub
parent 04c075a46b
commit 8f5fe05a92
70 changed files with 560 additions and 308 deletions

View File

@@ -1,5 +1,10 @@
import { EventEmitter } from 'events';
import type { IExecuteFunctions, INodeExecutionData, IWorkflowDataProxyData } from 'n8n-workflow';
import type {
IExecuteFunctions,
INodeExecutionData,
ISupplyDataFunctions,
IWorkflowDataProxyData,
} from 'n8n-workflow';
import { isObject } from './utils';
import { ValidationError } from './ValidationError';
@@ -19,7 +24,10 @@ export interface SandboxContext extends IWorkflowDataProxyData {
export const REQUIRED_N8N_ITEM_KEYS = new Set(['json', 'binary', 'pairedItem', 'error']);
export function getSandboxContext(this: IExecuteFunctions, index: number): SandboxContext {
export function getSandboxContext(
this: IExecuteFunctions | ISupplyDataFunctions,
index: number,
): SandboxContext {
const helpers = {
...this.helpers,
httpRequestWithAuthentication: this.helpers.httpRequestWithAuthentication.bind(this),

View File

@@ -4,6 +4,7 @@ import type {
IExecuteFunctions,
INode,
INodeExecutionData,
ISupplyDataFunctions,
} from 'n8n-workflow';
import {
ApplicationError,
@@ -51,7 +52,7 @@ const configureFieldHelper = (dotNotation?: boolean) => {
};
export function composeReturnItem(
this: IExecuteFunctions,
this: IExecuteFunctions | ISupplyDataFunctions,
itemIndex: number,
inputItem: INodeExecutionData,
newFields: IDataObject,
@@ -220,7 +221,11 @@ export const validateEntry = (
};
};
export function resolveRawData(this: IExecuteFunctions, rawData: string, i: number) {
export function resolveRawData(
this: IExecuteFunctions | ISupplyDataFunctions,
rawData: string,
i: number,
) {
const resolvables = getResolvables(rawData);
let returnData: string = rawData;

View File

@@ -6,6 +6,7 @@ import type {
INode,
INodeExecutionData,
INodeProperties,
ISupplyDataFunctions,
} from 'n8n-workflow';
import { NodeOperationError } from 'n8n-workflow';
@@ -185,7 +186,7 @@ const displayOptions = {
export const description = updateDisplayOptions(displayOptions, properties);
export async function execute(
this: IExecuteFunctions,
this: IExecuteFunctions | ISupplyDataFunctions,
item: INodeExecutionData,
i: number,
options: SetNodeOptions,