@bjesuiter/serializr-helpers
Version:
Provides some helper functions and serialization PropertySchemas for mobxjs/serializr - library
50 lines (49 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const serializr_1 = require("serializr");
/**
* Serializes a typescript object to a JSON string with optional formatting
* @param {T} instance - The object to serialize, is of type T
* @param formattingSpace - an optional spacer for JSON stringify
* @return {string}
*/
function serializeToJson(//
//serializr params
instance
//JSON.stringify params
, formattingSpace) {
return JSON.stringify(serializr_1.serialize(instance), undefined, formattingSpace);
}
exports.serializeToJson = serializeToJson;
function deserializeFromJson(modelschema, jsonString, callback, customArgs) {
return serializr_1.deserialize(modelschema, JSON.parse(jsonString), callback, customArgs);
}
exports.deserializeFromJson = deserializeFromJson;
/**
* An alias method for serialize from serializr package
* Encodes a complex object structure into a POJO
* @param {T} instance
*/
function serializeToPojo(instance) {
return serializr_1.serialize(instance);
}
exports.serializeToPojo = serializeToPojo;
function deserializeFromPojo(modelschema, jsObject, callback, customArgs) {
return serializr_1.deserialize(modelschema, jsObject, callback, customArgs);
}
exports.deserializeFromPojo = deserializeFromPojo;
/**
* Alias for serializeToJson
*/
function serializeJson(//
//serializr params
instance
//JSON.stringify params
, formattingSpace) {
return serializeToJson(instance, formattingSpace);
}
exports.serializeJson = serializeJson;
function deserializeJson(modelschema, jsonString, callback, customArgs) {
return serializr_1.deserialize(modelschema, JSON.parse(jsonString), callback, customArgs);
}
exports.deserializeJson = deserializeJson;