objectToString(obj, fun) {
const stringifyFunction = (obj) => {
let newobj = JSON.parse(JSON.stringify(obj))
for (let key in obj) {
if (obj[key] instanceof Function) {
newobj[key] = obj[key].toString().replace(/[\n\t]/g, '')
continue
}
if (obj[key] instanceof Object) {
newobj[key] = stringifyFunction(obj[key])
}
}
return newobj
}
let _object = stringifyFunction(obj)
return JSON.stringify(_object)
},
stringToObject(string) {
const stringToFunction = (obj) => {
var regex = /^((functon\s)|.)([a-zA-Z_][a-zA-Z0-9_]*)\(.*\)\s\{.*\}/
for (let key in obj) {
if (obj[key] instanceof Object) {
stringToFunction(obj[key])
} else {
if (regex.test(obj[key])) {
try {
let params = obj[key].substring(
obj[key].indexOf('(') + 1,
obj[key].indexOf(')')
)
let operation = obj[key].substring(
obj[key].indexOf('{') + 1,
obj[key].length - 1
)
obj[key] = new Function(params, operation)
} catch (e) {
console.log(e)
}
}
}
}
return obj
}
let obj = JSON.parse(string)
return stringToFunction(obj)
}