@itxch/contentful-import
Version:
This tool allows you to import JSON dump exported by contentful-export
34 lines (33 loc) • 880 B
JavaScript
function sortLocales(locales) {
const localeByFallback = {};
locales.forEach((locale) => {
if (locale.fallbackCode === null) {
locale.fallbackCode = void 0;
}
if (!localeByFallback[locale.fallbackCode]) {
localeByFallback[locale.fallbackCode] = [];
}
localeByFallback[locale.fallbackCode].push(locale);
});
return sortByFallbackKey(localeByFallback);
}
function sortByFallbackKey(localeByFallback, key) {
if (!localeByFallback[`${key}`]) {
return [];
}
const sortedLocales = localeByFallback[`${key}`];
sortedLocales.forEach((locale) => {
sortByFallbackKey(localeByFallback, locale.code).forEach(
(x) => sortedLocales.push(x)
);
});
sortedLocales.forEach((locale) => {
if (!locale.fallbackCode) {
locale.fallbackCode = null;
}
});
return sortedLocales;
}
export {
sortLocales as default
};