feat:计算公式映射

This commit is contained in:
houjunxiang
2026-01-30 21:01:30 +08:00
parent 13faa8d66c
commit 5d1d4b7232
3 changed files with 118 additions and 80 deletions

View File

@@ -0,0 +1,27 @@
export default function parseSafeArgs(argsStr) {
if (!argsStr.trim()) return []
// 将 ', ' 或 '(' 后的单引号字符串转换为合法 JSON 字符串
// 思路:匹配所有 '...' 并替换为 "..."
let jsonLike =
'[' +
argsStr
.replace(/\s*,\s*/g, ',') // 去掉参数间空格
.replace(/'/g, '"') + // 单引号 → 双引号
']'
try {
const parsed = JSON.parse(jsonLike)
// 确保数字不被转成字符串JSON 会自动处理)
return parsed.map(item => {
if (typeof item === 'string') {
// 如果是 '<' 或 '>',保留字符串
return item
}
return item // number
})
} catch (e) {
console.warn('Failed to parse args:', argsStr, e)
return []
}
}