ClassTransformer.js 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. var __assign = (this && this.__assign) || function () {
  2. __assign = Object.assign || function(t) {
  3. for (var s, i = 1, n = arguments.length; i < n; i++) {
  4. s = arguments[i];
  5. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
  6. t[p] = s[p];
  7. }
  8. return t;
  9. };
  10. return __assign.apply(this, arguments);
  11. };
  12. import { TransformOperationExecutor } from './TransformOperationExecutor';
  13. import { TransformationType } from './enums';
  14. import { defaultOptions } from './constants/default-options.constant';
  15. var ClassTransformer = /** @class */ (function () {
  16. function ClassTransformer() {
  17. }
  18. ClassTransformer.prototype.instanceToPlain = function (object, options) {
  19. var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));
  20. return executor.transform(undefined, object, undefined, undefined, undefined, undefined);
  21. };
  22. ClassTransformer.prototype.classToPlainFromExist = function (object, plainObject, options) {
  23. var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));
  24. return executor.transform(plainObject, object, undefined, undefined, undefined, undefined);
  25. };
  26. ClassTransformer.prototype.plainToInstance = function (cls, plain, options) {
  27. var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));
  28. return executor.transform(undefined, plain, cls, undefined, undefined, undefined);
  29. };
  30. ClassTransformer.prototype.plainToClassFromExist = function (clsObject, plain, options) {
  31. var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));
  32. return executor.transform(clsObject, plain, undefined, undefined, undefined, undefined);
  33. };
  34. ClassTransformer.prototype.instanceToInstance = function (object, options) {
  35. var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));
  36. return executor.transform(undefined, object, undefined, undefined, undefined, undefined);
  37. };
  38. ClassTransformer.prototype.classToClassFromExist = function (object, fromObject, options) {
  39. var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));
  40. return executor.transform(fromObject, object, undefined, undefined, undefined, undefined);
  41. };
  42. ClassTransformer.prototype.serialize = function (object, options) {
  43. return JSON.stringify(this.instanceToPlain(object, options));
  44. };
  45. /**
  46. * Deserializes given JSON string to a object of the given class.
  47. */
  48. ClassTransformer.prototype.deserialize = function (cls, json, options) {
  49. var jsonObject = JSON.parse(json);
  50. return this.plainToInstance(cls, jsonObject, options);
  51. };
  52. /**
  53. * Deserializes given JSON string to an array of objects of the given class.
  54. */
  55. ClassTransformer.prototype.deserializeArray = function (cls, json, options) {
  56. var jsonObject = JSON.parse(json);
  57. return this.plainToInstance(cls, jsonObject, options);
  58. };
  59. return ClassTransformer;
  60. }());
  61. export { ClassTransformer };
  62. //# sourceMappingURL=ClassTransformer.js.map