@bjesuiter/serializr-helpers
Version:
Provides some helper functions and serialization PropertySchemas for mobxjs/serializr - library
42 lines (41 loc) • 1.38 kB
JavaScript
import { deserialize as decode, serialize as encode } from '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}
*/
export function serializeToJson(//
//serializr params
instance
//JSON.stringify params
, formattingSpace) {
return JSON.stringify(encode(instance), undefined, formattingSpace);
}
export function deserializeFromJson(modelschema, jsonString, callback, customArgs) {
return decode(modelschema, JSON.parse(jsonString), callback, customArgs);
}
/**
* An alias method for serialize from serializr package
* Encodes a complex object structure into a POJO
* @param {T} instance
*/
export function serializeToPojo(instance) {
return encode(instance);
}
export function deserializeFromPojo(modelschema, jsObject, callback, customArgs) {
return decode(modelschema, jsObject, callback, customArgs);
}
/**
* Alias for serializeToJson
*/
export function serializeJson(//
//serializr params
instance
//JSON.stringify params
, formattingSpace) {
return serializeToJson(instance, formattingSpace);
}
export function deserializeJson(modelschema, jsonString, callback, customArgs) {
return decode(modelschema, JSON.parse(jsonString), callback, customArgs);
}