mirror of
https://github.com/msojocs/wx-compiler.git
synced 2025-07-19 00:00:04 +08:00
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
|
|
const clearNum = ["start", "end", "line", "column", "index", 'parenStart']
|
|
|
|
const FUNC = {
|
|
'[object Object]': (ast)=>{
|
|
for(let key in ast){
|
|
const type = Object.prototype.toString.call(ast[key])
|
|
// console.log(key, ' - ', type)
|
|
if(clearNum.includes(key))ast[key] = 0
|
|
else if(FUNC[type]){
|
|
ast[key] = FUNC[type](ast[key])
|
|
}else{
|
|
// console.log('无法识别的类型:', type)
|
|
}
|
|
}
|
|
if(ast.type && ast.type === 'Identifier'){
|
|
ast.name = ''
|
|
ast.loc.identifierName = ''
|
|
}
|
|
return ast
|
|
},
|
|
'[object Array]': (arr)=>{
|
|
for (let i = 0; i < arr.length; i++) {
|
|
const ele = arr[i];
|
|
const type = Object.prototype.toString.call(ele)
|
|
arr[i] = FUNC[type](ele)
|
|
}
|
|
return arr
|
|
}
|
|
|
|
}
|
|
const removeVariables = (ast)=>{
|
|
const type = Object.prototype.toString.call(ast)
|
|
// console.log(type)
|
|
if(FUNC[type]){
|
|
return FUNC[type](ast)
|
|
}
|
|
return null
|
|
}
|
|
|
|
module.exports = {
|
|
removeVariables
|
|
} |