import {AnyJson, Denormalizer} from "~/types/interfaces"; import { read } from 'yaml-import'; import BaseDenormalizer from "~/services/serializer/denormalizer/baseDenormalizer"; import {DENORMALIZER_TYPE} from "~/types/enums"; const yaml = require('js-yaml'); /** * @category Services/utils * @class YamlParser * Classe permettant d'assurer le parsing d'un fichier Yaml */ class Yaml extends BaseDenormalizer implements Denormalizer{ 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} */ denormalize(data: AnyJson): AnyJson { try { return yaml.load(yaml.dump(read(data.path))); }catch (e) { console.debug(e); return {} } } } export default Yaml