import { read } from 'yaml-import' import { AnyJson } from '~/types/interfaces' import BaseDenormalizer from '~/services/serializer/denormalizer/baseDenormalizer' import { DENORMALIZER_TYPE } from '~/types/enums' const yaml = require('js-yaml') /** * Classe permettant d'assurer la dénormalization d'un fichier JSON en JSON */ class Yaml extends BaseDenormalizer { static support (type: DENORMALIZER_TYPE): boolean { return type === DENORMALIZER_TYPE.YAML } /** * Parse un fichier Yaml pour en retourner son équivalent en Json * * @param {AnyJson} data * @return {AnyJson} */ public static denormalize (data: AnyJson): AnyJson { try { return yaml.load(yaml.dump(read(data.path))) } catch (e) { throw new Error(e.message) } } } export default Yaml