@giancosta86/omnicourse-core
Version:
Core model for OmniCourse
24 lines • 1.25 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.LocalizedRawTaxonomyFetcher = void 0;
function translateRawSubjects(rawSubjects, subjectNameTranslations) {
const translatedEntries = Object.entries(rawSubjects).map(([subjectName, subjectItems]) => {
const translatedSubjectName = subjectNameTranslations.get(subjectName) ?? subjectName;
const translatedSubjectItems = subjectItems instanceof Array
? subjectItems
: translateRawSubjects(subjectItems, subjectNameTranslations);
return [translatedSubjectName, translatedSubjectItems];
});
return Object.fromEntries(translatedEntries);
}
var LocalizedRawTaxonomyFetcher;
(function (LocalizedRawTaxonomyFetcher) {
function create({ sourceFetcher, subjectNameTranslations }) {
return async (taxonomyId) => {
const originalRawTaxonomy = await sourceFetcher(taxonomyId);
return translateRawSubjects(originalRawTaxonomy, subjectNameTranslations);
};
}
LocalizedRawTaxonomyFetcher.create = create;
})(LocalizedRawTaxonomyFetcher || (exports.LocalizedRawTaxonomyFetcher = LocalizedRawTaxonomyFetcher = {}));
//# sourceMappingURL=LocalizedRawTaxonomyFetcher.js.map
;