diff --git a/packages/bruno-js/src/sandbox/quickjs/index.js b/packages/bruno-js/src/sandbox/quickjs/index.js index 58ccd885d..d5fe5e8f3 100644 --- a/packages/bruno-js/src/sandbox/quickjs/index.js +++ b/packages/bruno-js/src/sandbox/quickjs/index.js @@ -22,6 +22,12 @@ const toNumber = (value) => { return Number.isInteger(num) ? parseInt(value, 10) : parseFloat(value); }; +const removeQuotes = (str) => { + if ((str.startsWith('"') && str.endsWith('"')) || (str.startsWith("'") && str.endsWith("'"))) { + return str.slice(1, -1); + } + return str; +}; const executeQuickJsVm = ({ script: externalScript, context: externalContext, scriptType = 'template-literal' }) => { if (!externalScript?.length || typeof externalScript !== 'string') { @@ -38,6 +44,7 @@ const executeQuickJsVm = ({ script: externalScript, context: externalContext, sc if (externalScript === 'null') return null; if (externalScript === 'undefined') return undefined; + externalScript = removeQuotes(externalScript); const vm = QuickJSSyncContext; @@ -87,6 +94,7 @@ const executeQuickJsVmAsync = async ({ script: externalScript, context: external if (externalScript === 'null') return null; if (externalScript === 'undefined') return undefined; + externalScript = removeQuotes(externalScript); try { const module = await newQuickJSWASMModule(); diff --git a/packages/bruno-js/src/utils.js b/packages/bruno-js/src/utils.js index 6b5ecacb5..55b454d02 100644 --- a/packages/bruno-js/src/utils.js +++ b/packages/bruno-js/src/utils.js @@ -85,6 +85,14 @@ const evaluateJsTemplateLiteral = (templateLiteral, context) => { return undefined; } + if (templateLiteral.startsWith('"') && templateLiteral.endsWith('"')) { + return templateLiteral.slice(1, -1); + } + + if (templateLiteral.startsWith("'") && templateLiteral.endsWith("'")) { + return templateLiteral.slice(1, -1); + } + if (!isNaN(templateLiteral)) { const number = Number(templateLiteral); // Check if the number is too high. Too high number might get altered, see #1000