@bjesuiter/serializr-helpers
Version:
Provides some helper functions and serialization PropertySchemas for mobxjs/serializr - library
45 lines (44 loc) • 1.84 kB
TypeScript
import { ClazzOrModelSchema } from 'serializr';
export declare type SerializrCallback<T> = (err: any, result: T) => void | undefined;
export declare type SerializrArrayCallback<T> = (err: any, result: T[]) => void;
/**
* 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 declare function serializeToJson<T>(//
instance: T, formattingSpace?: string | number): string;
/**
* Deserializes a typescript object from JSON string
* @param {ClazzOrModelSchema<T>} modelschema
* @param {string} jsonString
* @param {(err: any, result: T) => void} callback
* @param customArgs
* @return {T}
*/
export declare function deserializeFromJson<T>(modelschema: ClazzOrModelSchema<T>, jsonString: string, callback?: SerializrCallback<T>, customArgs?: any): T;
/**
* An alias method for serialize from serializr package
* Encodes a complex object structure into a POJO
* @param {T} instance
*/
export declare function serializeToPojo<T>(instance: T): any;
/**
* An alias method for deserialize from serializr package
* @param {ClazzOrModelSchema<T>} modelschema
* @param jsObject
* @param {(err: any, result: T) => void} callback
* @param customArgs
* @return {T}
*/
export declare function deserializeFromPojo<T>(modelschema: ClazzOrModelSchema<T>, jsObject: any, callback?: SerializrCallback<T>, customArgs?: any): T;
/**
* Alias for serializeToJson
*/
export declare function serializeJson<T>(//
instance: T, formattingSpace?: string | number): string;
/**
* Alias for deserializeFromJson
*/
export declare function deserializeJson<T>(modelschema: ClazzOrModelSchema<T>, jsonString: string, callback?: SerializrCallback<T>, customArgs?: any): T;