UNPKG

2.97 kBTypeScriptView Raw
1
2import { ClassTransformOptions } from "./ClassTransformOptions";
3export declare type ClassType<T> = {
4 new (...args: any[]): T;
5};
6export declare class ClassTransformer {
7 /**
8 * Converts class (constructor) object to plain (literal) object. Also works with arrays.
9 */
10 classToPlain<T extends Object>(object: T, options?: ClassTransformOptions): Object;
11 classToPlain<T extends Object>(object: T[], options?: ClassTransformOptions): Object[];
12 /**
13 * Converts class (constructor) object to plain (literal) object.
14 * Uses given plain object as source object (it means fills given plain object with data from class object).
15 * Also works with arrays.
16 */
17 classToPlainFromExist<T extends Object, P>(object: T, plainObject: P, options?: ClassTransformOptions): T;
18 classToPlainFromExist<T extends Object, P>(object: T, plainObjects: P[], options?: ClassTransformOptions): T[];
19 /**
20 * Converts plain (literal) object to class (constructor) object. Also works with arrays.
21 */
22 plainToClass<T extends Object, V extends Array<any>>(cls: ClassType<T>, plain: V, options?: ClassTransformOptions): T[];
23 plainToClass<T extends Object, V>(cls: ClassType<T>, plain: V, options?: ClassTransformOptions): T;
24 /**
25 * Converts plain (literal) object to class (constructor) object.
26 * Uses given object as source object (it means fills given object with data from plain object).
27 * Also works with arrays.
28 */
29 plainToClassFromExist<T extends Object, V extends Array<any>>(clsObject: T, plain: V, options?: ClassTransformOptions): T;
30 plainToClassFromExist<T extends Object, V>(clsObject: T, plain: V, options?: ClassTransformOptions): T[];
31 /**
32 * Converts class (constructor) object to new class (constructor) object. Also works with arrays.
33 */
34 classToClass<T>(object: T, options?: ClassTransformOptions): T;
35 classToClass<T>(object: T[], options?: ClassTransformOptions): T[];
36 /**
37 * Converts class (constructor) object to plain (literal) object.
38 * Uses given plain object as source object (it means fills given plain object with data from class object).
39 * Also works with arrays.
40 */
41 classToClassFromExist<T>(object: T, fromObject: T, options?: ClassTransformOptions): T;
42 classToClassFromExist<T>(object: T, fromObjects: T[], options?: ClassTransformOptions): T[];
43 /**
44 * Serializes given object to a JSON string.
45 */
46 serialize<T>(object: T, options?: ClassTransformOptions): string;
47 serialize<T>(object: T[], options?: ClassTransformOptions): string;
48 /**
49 * Deserializes given JSON string to a object of the given class.
50 */
51 deserialize<T>(cls: ClassType<T>, json: string, options?: ClassTransformOptions): T;
52 /**
53 * Deserializes given JSON string to an array of objects of the given class.
54 */
55 deserializeArray<T>(cls: ClassType<T>, json: string, options?: ClassTransformOptions): T[];
56}