@rickyli79/rich-json
Version:
Serialize and Deserialize javascript objects
33 lines (32 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FunctionSerializer = void 0;
/* eslint-disable no-eval */
const lib_1 = require("../lib");
class FunctionSerializer {
static instance;
static getInstance() {
if (this.instance === undefined) {
this.instance = (0, lib_1.createCustomerSerializer)({
class: Function,
toContent(value) {
return value.toString();
},
fromContent(content) {
let func;
try {
func = eval(`(${content})`);
}
catch (e) {
const tmp = eval(`({${content}})`);
func = tmp[Object.keys(tmp)[0]];
}
return func;
},
serializContent: false,
});
}
return this.instance;
}
}
exports.FunctionSerializer = FunctionSerializer;