UNPKG

@bjesuiter/serializr-helpers

Version:

Provides some helper functions and serialization PropertySchemas for mobxjs/serializr - library

45 lines (44 loc) 1.84 kB
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;