| 123456789101112131415161718192021222324252627282930313233343536 |
- import {dump, load} from 'js-yaml';
- import {AnyJson} from "~/types/data";
- import {Encoder} from "~/types/interfaces";
- /**
- * Encodage / décodage de données au format Yaml
- */
- class YamlEncoder implements Encoder {
- // TODO: voir si toujours utile de le garder? ou peut-être en faire un YamlUtils et ajouter la fonction 'readFile'
- // utilisée dans le abilityBuilder
- /**
- * Convertit l'objet suivant au format Yaml
- *
- * @param {AnyJson} data
- * @return {AnyJson}
- */
- public encode (data: AnyJson): string {
- return dump(data)
- }
- /**
- * Parse une chaine de caractères au format Yaml et
- * retourne son équivalent sous forme d'objet
- *
- * @param {AnyJson} data
- * @return {AnyJson}
- */
- public decode (data: string): AnyJson | null {
- if (!data) {
- return null
- }
- return load(data) as AnyJson
- }
- }
- export default new YamlEncoder()
|