serializer.ts 723 B

123456789101112131415161718192021222324
  1. import {AnyJson, DataPersisterArgs} from "~/types/interfaces";
  2. import {denormalizers} from "~/services/serializer/denormalizer/_import";
  3. import {normalizers} from "~/services/serializer/normalizer/_import";
  4. import {DENORMALIZER_TYPE} from "~/types/enums";
  5. class Serializer {
  6. public normalize(args:DataPersisterArgs){
  7. for(const normalizer of normalizers){
  8. if(normalizer.support(args.type)){
  9. return new normalizer().normalize(args);
  10. }
  11. }
  12. }
  13. public denormalize(data: AnyJson, type: DENORMALIZER_TYPE): any {
  14. for(const denormalizer of denormalizers){
  15. if(denormalizer.support(type)){
  16. return new denormalizer().denormalize(data);
  17. }
  18. }
  19. }
  20. }
  21. export default Serializer