UNPKG

ravendb

Version:
37 lines 1.12 kB
import { pascalCaseReplacer } from "./Replacers.js"; import { camelCaseReviver } from "./Revivers.js"; export class JsonSerializer { _reviver; _replacer; constructor(reviver, replacer) { this._reviver = reviver; this._replacer = replacer; } deserialize(jsonString) { return JSON.parse(jsonString, this._reviver); } serialize(obj) { return JSON.stringify(obj, this._replacer); } /** * Serializer which doesn't touch casing - just using build-in JS functions like * stringify and parse. */ static getDefault() { return new JsonSerializer(undefined, undefined); } /** * Serialization changes from camelCasing to PascalCasing * Deserialization changes from PascalCasing to camelCasing */ static getDefaultForCommandPayload() { return new JsonSerializer(camelCaseReviver, pascalCaseReplacer); } static toPlainObject(obj) { if (obj === undefined) { return undefined; } return JSON.parse(JSON.stringify(obj)); } } //# sourceMappingURL=Serializer.js.map