UNPKG

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