import { AnyJson, DataPersisterArgs } from '~/types/interfaces' import { denormalizers } from '~/services/serializer/denormalizer/_import' import { normalizers } from '~/services/serializer/normalizer/_import' import { DENORMALIZER_TYPE } from '~/types/enums' class Serializer { public normalize (args:DataPersisterArgs) { for (const normalizer of normalizers) { if (normalizer.support(args.type)) { return new normalizer().normalize(args) } } } public denormalize (data: AnyJson, type: DENORMALIZER_TYPE): any { for (const denormalizer of denormalizers) { if (denormalizer.support(type)) { return new denormalizer().denormalize(data) } } } } export default Serializer