@gouvfr/dsfr-nexus
Version:
Le module `dsfr-nexus` est l'interface de ligne de commande (CLI) centrale du Système de Design de l’État - DSFR. Il offre des outils pour gérer et compiler les ressources du DSFR
33 lines (28 loc) • 878 B
JavaScript
import { FacetParser } from '../../facet/facet-parser.js';
class ResourceParser {
async load (directory, version, locales) {
const facetParser = new FacetParser(directory, version, 'yml');
await facetParser.read();
this._resources = {};
if (facetParser.has) {
for (const locale of locales) {
const resource = {};
const code = locale.isDefault ? null : locale.code;
for (const filename of facetParser.filenames) {
const data = facetParser.loadFacet(code, filename);
if (data) {
Object.freeze(data);
resource[filename] = data;
}
}
Object.freeze(resource);
this._resources[locale.code] = resource;
}
}
Object.freeze(this._resources);
}
getResource (locale) {
return this._resources[locale.code];
}
}
export { ResourceParser };