UNPKG

typescript-json-serializer

Version:

Typescript library to serialize classes into json and deserialize json into classes.

26 lines (25 loc) 993 B
export declare type IOProto = (property: any, currentInstance?: any) => any; export declare type PredicateProto = (property: any, parentProperty?: any) => any; export declare type DataStructure = 'array' | 'dictionary' | 'map' | 'set'; export interface JsonPropertyBaseMetadata { dataStructure?: DataStructure; required?: boolean; beforeSerialize?: IOProto; afterSerialize?: IOProto; beforeDeserialize?: IOProto; afterDeserialize?: IOProto; } export interface JsonPropertiesMetadata { [id: string]: JsonPropertyMetadata; } export interface JsonPropertyMetadata extends JsonPropertyBaseMetadata { isNameOverridden?: boolean; name: string | Array<string>; type?: Function; predicate?: PredicateProto; } export interface JsonPropertyOptions extends JsonPropertyBaseMetadata { name?: string | Array<string>; type?: Function | PredicateProto; } export declare const JsonProperty: (options?: string | JsonPropertyOptions | undefined) => Function;