wuchale
Version:
Protobuf-like i18n from plain code
11 lines (10 loc) • 394 B
JavaScript
/** No-side effect way to load catalogs. Can be used for multiple file IDs. */
export async function loadCatalogs(locale, loadIDs, loadCatalog) {
const data = {};
const promises = loadIDs.map(id => loadCatalog(id, locale));
// merge into one object
for (const [i, loaded] of (await Promise.all(promises)).entries()) {
data[loadIDs[i]] = loaded;
}
return data;
}