diff --git a/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte b/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte index 1571b9ad22..74126c1c70 100644 --- a/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte +++ b/packages/builder/src/components/common/CodeEditor/CodeEditor.svelte @@ -284,17 +284,19 @@ return } - const config = validations[helperName] + const { arguments: expectedArguments = [] } = + validations[helperName] const providedParams = node.params - if (providedParams.length !== config.arguments.length) { + + if (providedParams.length !== expectedArguments.length) { diagnostics.push({ from, to, severity: "error", message: `Helper "${helperName}" expects ${ - config.arguments.length - } parameters (${config.arguments.join(", ")}), but got ${ + expectedArguments.length + } parameters (${expectedArguments.join(", ")}), but got ${ providedParams.length }.`, }) diff --git a/packages/builder/src/components/common/bindings/BindingPanel.svelte b/packages/builder/src/components/common/bindings/BindingPanel.svelte index 4f124140cd..a9e7c1ffdf 100644 --- a/packages/builder/src/components/common/bindings/BindingPanel.svelte +++ b/packages/builder/src/components/common/bindings/BindingPanel.svelte @@ -110,6 +110,12 @@ } return validations }, {}), + ...helperOptions.reduce((validations, option) => { + validations[option.label] = { + arguments: option.args, + } + return validations + }, {}), } $: { diff --git a/packages/builder/src/types/bindings.ts b/packages/builder/src/types/bindings.ts index 3e62149ed4..3879a18c7d 100644 --- a/packages/builder/src/types/bindings.ts +++ b/packages/builder/src/types/bindings.ts @@ -12,6 +12,6 @@ export interface BindingCompletionOption extends Completion { export type CodeValidator = Record< string, { - arguments: any[] + arguments?: any[] } >