UNPKG

@rickyli79/rich-json

Version:

Serialize and Deserialize javascript objects

37 lines (36 loc) 1.08 kB
"use strict"; 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;