fix(core): Don't use unbound context methods in code sandboxes (#11914)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2024-11-27 12:08:16 +01:00
committed by GitHub
parent 2c252b0b2d
commit f6c0d045e9
6 changed files with 19 additions and 30 deletions

View File

@@ -81,31 +81,20 @@ function getSandbox(
const workflowMode = this.getMode();
const context = getSandboxContext.call(this, itemIndex);
// eslint-disable-next-line @typescript-eslint/unbound-method
context.addInputData = this.addInputData;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.addOutputData = this.addOutputData;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.getInputConnectionData = this.getInputConnectionData;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.getInputData = this.getInputData;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.getNode = this.getNode;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.getExecutionCancelSignal = this.getExecutionCancelSignal;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.getNodeOutputs = this.getNodeOutputs;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.executeWorkflow = this.executeWorkflow;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.getWorkflowDataProxy = this.getWorkflowDataProxy;
// eslint-disable-next-line @typescript-eslint/unbound-method
context.addInputData = this.addInputData.bind(this);
context.addOutputData = this.addOutputData.bind(this);
context.getInputConnectionData = this.getInputConnectionData.bind(this);
context.getInputData = this.getInputData.bind(this);
context.getNode = this.getNode.bind(this);
context.getExecutionCancelSignal = this.getExecutionCancelSignal.bind(this);
context.getNodeOutputs = this.getNodeOutputs.bind(this);
context.executeWorkflow = this.executeWorkflow.bind(this);
context.getWorkflowDataProxy = this.getWorkflowDataProxy.bind(this);
context.logger = this.logger;
if (options?.addItems) {
context.items = context.$input.all();
}
// eslint-disable-next-line @typescript-eslint/unbound-method
const sandbox = new JavaScriptSandbox(context, code, this.helpers, {
resolver: vmResolver,