@safejs/serializer
Version:
Serializer is a superset of JSON that includes recursive objects, dates, regular expressions, functions and others which you also can expand by yourself
27 lines • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Serializer = void 0;
const presets_1 = require("./presets");
const base_1 = require("./base");
const DEFAULT_SERIALIZER_OPTIONS = {
preset: "es5",
functions: false,
extra: {},
};
class Serializer {
constructor(options = {}) {
this.serializers = {};
this.setOptions(options);
}
setOptions({ preset = DEFAULT_SERIALIZER_OPTIONS.preset, functions: f = DEFAULT_SERIALIZER_OPTIONS.functions, extra = DEFAULT_SERIALIZER_OPTIONS.extra, } = DEFAULT_SERIALIZER_OPTIONS) {
this.serializers = Object.assign(Object.assign(Object.assign({}, (f ? presets_1.functionPreset : {})), (preset ? presets_1.presets[preset] : {})), extra);
}
serialize(obj) {
return base_1.BaseSerializer.serialize(obj, this.serializers);
}
deserialize(str) {
return base_1.BaseDeserializer.deserialize(str, this.serializers);
}
}
exports.Serializer = Serializer;
//# sourceMappingURL=serializer.js.map