var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; import { TransformOperationExecutor } from './TransformOperationExecutor'; import { TransformationType } from './enums'; import { defaultOptions } from './constants/default-options.constant'; var ClassTransformer = /** @class */ (function () { function ClassTransformer() { } ClassTransformer.prototype.instanceToPlain = function (object, options) { var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options)); return executor.transform(undefined, object, undefined, undefined, undefined, undefined); }; ClassTransformer.prototype.classToPlainFromExist = function (object, plainObject, options) { var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options)); return executor.transform(plainObject, object, undefined, undefined, undefined, undefined); }; ClassTransformer.prototype.plainToInstance = function (cls, plain, options) { var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options)); return executor.transform(undefined, plain, cls, undefined, undefined, undefined); }; ClassTransformer.prototype.plainToClassFromExist = function (clsObject, plain, options) { var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options)); return executor.transform(clsObject, plain, undefined, undefined, undefined, undefined); }; ClassTransformer.prototype.instanceToInstance = function (object, options) { var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options)); return executor.transform(undefined, object, undefined, undefined, undefined, undefined); }; ClassTransformer.prototype.classToClassFromExist = function (object, fromObject, options) { var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options)); return executor.transform(fromObject, object, undefined, undefined, undefined, undefined); }; ClassTransformer.prototype.serialize = function (object, options) { return JSON.stringify(this.instanceToPlain(object, options)); }; /** * Deserializes given JSON string to a object of the given class. */ ClassTransformer.prototype.deserialize = function (cls, json, options) { var jsonObject = JSON.parse(json); return this.plainToInstance(cls, jsonObject, options); }; /** * Deserializes given JSON string to an array of objects of the given class. */ ClassTransformer.prototype.deserializeArray = function (cls, json, options) { var jsonObject = JSON.parse(json); return this.plainToInstance(cls, jsonObject, options); }; return ClassTransformer; }()); export { ClassTransformer }; //# sourceMappingURL=ClassTransformer.js.map