UNPKG

@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
"use strict"; 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