@rickyli79/rich-json
Version:
Serialize and Deserialize javascript objects
37 lines (36 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WrapRunnerSerializer = exports.WrapRunner = void 0;
const lib_1 = require("../lib");
class WrapRunner {
func;
args;
constructor(func, ...args) {
this.func = func;
this.args = args;
}
run(THIS = null) {
return this.func.apply(THIS, this.args);
}
}
exports.WrapRunner = WrapRunner;
class WrapRunnerSerializer {
static instance;
static getInstance() {
if (this.instance === undefined) {
this.instance = (0, lib_1.createCustomerSerializer)({
className: 'rich-json#WrapRunner',
class: WrapRunner,
toContent(value) {
return [value.func, value.args];
},
fromContent(content) {
return new WrapRunner(content[0], ...content[1]);
},
serializContent: true,
});
}
return this.instance;
}
}
exports.WrapRunnerSerializer = WrapRunnerSerializer;