File tree Expand file tree Collapse file tree 1 file changed +9
-20
lines changed
apps/sim/executor/handlers/variables Expand file tree Collapse file tree 1 file changed +9
-20
lines changed Original file line number Diff line number Diff line change @@ -127,33 +127,22 @@ export class VariablesBlockHandler implements BlockHandler {
127127 }
128128
129129 if ( type === 'object' || type === 'array' ) {
130+ // If value is already an object or array, accept it as-is
131+ // The type hint is for UI purposes and string parsing, not runtime validation
130132 if ( typeof value === 'object' && value !== null ) {
131- if ( type === 'array' && ! Array . isArray ( value ) ) {
132- throw new Error (
133- `Invalid array value for variable "${ variableName || 'unknown' } ": expected an array, got an object`
134- )
135- }
136- if ( type === 'object' && Array . isArray ( value ) ) {
137- throw new Error (
138- `Invalid object value for variable "${ variableName || 'unknown' } ": expected an object, got an array`
139- )
140- }
141133 return value
142134 }
135+ // If it's a string, try to parse it as JSON
143136 if ( typeof value === 'string' && value . trim ( ) ) {
144137 try {
145138 const parsed = JSON . parse ( value )
146- if ( type === 'array' && ! Array . isArray ( parsed ) ) {
147- throw new Error (
148- `Invalid array value for variable "${ variableName || 'unknown' } ": parsed value is not an array`
149- )
150- }
151- if ( type === 'object' && ( Array . isArray ( parsed ) || typeof parsed !== 'object' ) ) {
152- throw new Error (
153- `Invalid object value for variable "${ variableName || 'unknown' } ": parsed value is not an object`
154- )
139+ // Accept any valid JSON object or array
140+ if ( typeof parsed === 'object' && parsed !== null ) {
141+ return parsed
155142 }
156- return parsed
143+ throw new Error (
144+ `Invalid JSON for variable "${ variableName || 'unknown' } ": parsed value is not an object or array`
145+ )
157146 } catch ( error : any ) {
158147 throw new Error (
159148 `Invalid JSON for variable "${ variableName || 'unknown' } ": ${ error . message } `
You can’t perform that action at this time.
0 commit comments