UNPKG

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