UNPKG

8.01 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/ClassTransformer.ts"],"names":[],"mappings":"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","file":"ClassTransformer.js","sourcesContent":["import {ClassTransformOptions} from \"./ClassTransformOptions\";\r\nimport {TransformOperationExecutor, TransformationType} from \"./TransformOperationExecutor\";\r\n\r\nexport type ClassType<T> = {\r\n new (...args: any[]): T;\r\n};\r\n\r\nexport class ClassTransformer {\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Converts class (constructor) object to plain (literal) object. Also works with arrays.\r\n */\r\n classToPlain<T extends Object>(object: T, options?: ClassTransformOptions): Object;\r\n classToPlain<T extends Object>(object: T[], options?: ClassTransformOptions): Object[];\r\n classToPlain<T extends Object>(object: T|T[], options?: ClassTransformOptions): Object|Object[] {\r\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, options || {});\r\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\r\n }\r\n\r\n /**\r\n * Converts class (constructor) object to plain (literal) object.\r\n * Uses given plain object as source object (it means fills given plain object with data from class object).\r\n * Also works with arrays.\r\n */\r\n classToPlainFromExist<T extends Object, P>(object: T, plainObject: P, options?: ClassTransformOptions): T;\r\n classToPlainFromExist<T extends Object, P>(object: T, plainObjects: P[], options?: ClassTransformOptions): T[];\r\n classToPlainFromExist<T extends Object, P>(object: T, plainObject: P|P[], options?: ClassTransformOptions): T|T[] {\r\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, options || {});\r\n return executor.transform(plainObject, object, undefined, undefined, undefined, undefined);\r\n }\r\n\r\n /**\r\n * Converts plain (literal) object to class (constructor) object. Also works with arrays.\r\n */\r\n plainToClass<T extends Object, V extends Array<any>>(cls: ClassType<T>, plain: V, options?: ClassTransformOptions): T[];\r\n plainToClass<T extends Object, V>(cls: ClassType<T>, plain: V, options?: ClassTransformOptions): T;\r\n plainToClass<T extends Object, V>(cls: ClassType<T>, plain: V|V[], options?: ClassTransformOptions): T|T[] {\r\n const executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, options || {});\r\n return executor.transform(undefined, plain, cls, undefined, undefined, undefined);\r\n }\r\n\r\n /**\r\n * Converts plain (literal) object to class (constructor) object.\r\n * Uses given object as source object (it means fills given object with data from plain object).\r\n * Also works with arrays.\r\n */\r\n plainToClassFromExist<T extends Object, V extends Array<any>>(clsObject: T, plain: V, options?: ClassTransformOptions): T;\r\n plainToClassFromExist<T extends Object, V>(clsObject: T, plain: V, options?: ClassTransformOptions): T[];\r\n plainToClassFromExist<T extends Object, V>(clsObject: T, plain: V|V[], options?: ClassTransformOptions): T|T[] {\r\n const executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, options || {});\r\n return executor.transform(clsObject, plain, undefined, undefined, undefined, undefined);\r\n }\r\n\r\n /**\r\n * Converts class (constructor) object to new class (constructor) object. Also works with arrays.\r\n */\r\n classToClass<T>(object: T, options?: ClassTransformOptions): T;\r\n classToClass<T>(object: T[], options?: ClassTransformOptions): T[];\r\n classToClass<T>(object: T|T[], options?: ClassTransformOptions): T|T[] {\r\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, options || {});\r\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\r\n }\r\n\r\n /**\r\n * Converts class (constructor) object to plain (literal) object.\r\n * Uses given plain object as source object (it means fills given plain object with data from class object).\r\n * Also works with arrays.\r\n */\r\n classToClassFromExist<T>(object: T, fromObject: T, options?: ClassTransformOptions): T;\r\n classToClassFromExist<T>(object: T, fromObjects: T[], options?: ClassTransformOptions): T[];\r\n classToClassFromExist<T>(object: T, fromObject: T|T[], options?: ClassTransformOptions): T|T[] {\r\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, options || {});\r\n return executor.transform(fromObject, object, undefined, undefined, undefined, undefined);\r\n }\r\n\r\n /**\r\n * Serializes given object to a JSON string.\r\n */\r\n serialize<T>(object: T, options?: ClassTransformOptions): string;\r\n serialize<T>(object: T[], options?: ClassTransformOptions): string;\r\n serialize<T>(object: T|T[], options?: ClassTransformOptions): string {\r\n return JSON.stringify(this.classToPlain(object, options));\r\n }\r\n\r\n /**\r\n * Deserializes given JSON string to a object of the given class.\r\n */\r\n deserialize<T>(cls: ClassType<T>, json: string, options?: ClassTransformOptions): T {\r\n const jsonObject: T = JSON.parse(json);\r\n return this.plainToClass(cls, jsonObject, options);\r\n }\r\n\r\n /**\r\n * Deserializes given JSON string to an array of objects of the given class.\r\n */\r\n deserializeArray<T>(cls: ClassType<T>, json: string, options?: ClassTransformOptions): T[] {\r\n const jsonObject: any[] = JSON.parse(json);\r\n return this.plainToClass(cls, jsonObject, options);\r\n }\r\n\r\n}\r\n"],"sourceRoot":"."}
\No newline at end of file