Merge pull request #3805 from Pragadesh-45/fix/handle-assert-results

Refactor: Improve expression handling across different runtimes (Fix: #3758)
This commit is contained in:
lohit 2025-01-15 20:36:07 +05:30 committed by GitHub
commit 6abd063749
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 14 deletions

View File

@ -22,12 +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 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') {
@ -44,7 +44,8 @@ const executeQuickJsVm = ({ script: externalScript, context: externalContext, sc
if (externalScript === 'null') return null;
if (externalScript === 'undefined') return undefined;
externalScript = removeQuotes(externalScript);
// This is commented out as part of the fix for #3758
// externalScript = removeQuotes(externalScript);
const vm = QuickJSSyncContext;
@ -94,7 +95,8 @@ const executeQuickJsVmAsync = async ({ script: externalScript, context: external
if (externalScript === 'null') return null;
if (externalScript === 'undefined') return undefined;
externalScript = removeQuotes(externalScript);
// This is commented out as part of the fix for #3758
// externalScript = removeQuotes(externalScript);
try {
const module = await newQuickJSWASMModule();

View File

@ -85,13 +85,15 @@ const evaluateJsTemplateLiteral = (templateLiteral, context) => {
return undefined;
}
if (templateLiteral.startsWith('"') && templateLiteral.endsWith('"')) {
return templateLiteral.slice(1, -1);
}
// This is commented out as part of the fix for #3758
// if (templateLiteral.startsWith('"') && templateLiteral.endsWith('"')) {
// return templateLiteral.slice(1, -1);
// }
if (templateLiteral.startsWith("'") && templateLiteral.endsWith("'")) {
return templateLiteral.slice(1, -1);
}
// This is commented out as part of the fix for #3758
// if (templateLiteral.startsWith("'") && templateLiteral.endsWith("'")) {
// return templateLiteral.slice(1, -1);
// }
if (!isNaN(templateLiteral)) {
const number = Number(templateLiteral);