UNPKG

@jsverse/transloco

Version:

The internationalization (i18n) library for Angular

51 lines 5.14 kB
import { isObject } from '@jsverse/utils'; /* * @example * * given: lazy-page/en => lazy-page * */ export function getScopeFromLang(lang) { if (!lang) { return ''; } const split = lang.split('/'); split.pop(); return split.join('/'); } /* * @example * * given: lazy-page/en => en * */ export function getLangFromScope(lang) { if (!lang) { return ''; } return lang.split('/').pop(); } function prependScope(inlineLoader, scope) { return Object.keys(inlineLoader).reduce((acc, lang) => { acc[`${scope}/${lang}`] = inlineLoader[lang]; return acc; }, {}); } export function isScopeObject(item) { return typeof item?.scope === 'string'; } export function hasInlineLoader(item) { return item?.loader && isObject(item.loader); } export function resolveInlineLoader(providerScope, scope) { return hasInlineLoader(providerScope) ? prependScope(providerScope.loader, scope) : undefined; } export function getEventPayload(lang) { return { scope: getScopeFromLang(lang) || null, langName: getLangFromScope(lang), }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby9zcmMvbGliL3V0aWxzL3Njb3BlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVMxQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZO0lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRVosT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZO0lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUcsQ0FBQztBQUNoQyxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsWUFBMEIsRUFBRSxLQUFhO0lBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQ3JDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ1osR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELEVBQXNELENBQ3ZELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ3JDLE9BQU8sT0FBTyxJQUFJLEVBQUUsS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFTO0lBQ3ZDLE9BQU8sSUFBSSxFQUFFLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLGFBQW9DLEVBQ3BDLEtBQWM7SUFFZCxPQUFPLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDbkMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTyxFQUFFLEtBQU0sQ0FBQztRQUM3QyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVk7SUFDMUMsT0FBTztRQUNMLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJO1FBQ3JDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7S0FDakMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ0Bqc3ZlcnNlL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgSW5saW5lTG9hZGVyLFxuICBMb2FkZWRFdmVudCxcbiAgUHJvdmlkZXJTY29wZSxcbiAgVHJhbnNsb2NvU2NvcGUsXG59IGZyb20gJy4uL3RyYW5zbG9jby50eXBlcyc7XG5cbi8qXG4gKiBAZXhhbXBsZVxuICpcbiAqIGdpdmVuOiBsYXp5LXBhZ2UvZW4gPT4gbGF6eS1wYWdlXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NvcGVGcm9tTGFuZyhsYW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWxhbmcpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCBzcGxpdCA9IGxhbmcuc3BsaXQoJy8nKTtcbiAgc3BsaXQucG9wKCk7XG5cbiAgcmV0dXJuIHNwbGl0LmpvaW4oJy8nKTtcbn1cblxuLypcbiAqIEBleGFtcGxlXG4gKlxuICogZ2l2ZW46IGxhenktcGFnZS9lbiA9PiBlblxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExhbmdGcm9tU2NvcGUobGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFsYW5nKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIGxhbmcuc3BsaXQoJy8nKS5wb3AoKSE7XG59XG5cbmZ1bmN0aW9uIHByZXBlbmRTY29wZShpbmxpbmVMb2FkZXI6IElubGluZUxvYWRlciwgc2NvcGU6IHN0cmluZykge1xuICByZXR1cm4gT2JqZWN0LmtleXMoaW5saW5lTG9hZGVyKS5yZWR1Y2UoXG4gICAgKGFjYywgbGFuZykgPT4ge1xuICAgICAgYWNjW2Ake3Njb3BlfS8ke2xhbmd9YF0gPSBpbmxpbmVMb2FkZXJbbGFuZ107XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVMb2FkZXJba2V5b2YgSW5saW5lTG9hZGVyXT4sXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Njb3BlT2JqZWN0KGl0ZW06IGFueSk6IGl0ZW0gaXMgUHJvdmlkZXJTY29wZSB7XG4gIHJldHVybiB0eXBlb2YgaXRlbT8uc2NvcGUgPT09ICdzdHJpbmcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzSW5saW5lTG9hZGVyKGl0ZW06IGFueSk6IGl0ZW0gaXMgUHJvdmlkZXJTY29wZSB7XG4gIHJldHVybiBpdGVtPy5sb2FkZXIgJiYgaXNPYmplY3QoaXRlbS5sb2FkZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUlubGluZUxvYWRlcihcbiAgcHJvdmlkZXJTY29wZTogVHJhbnNsb2NvU2NvcGUgfCBudWxsLFxuICBzY29wZT86IHN0cmluZyxcbik6IElubGluZUxvYWRlciB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBoYXNJbmxpbmVMb2FkZXIocHJvdmlkZXJTY29wZSlcbiAgICA/IHByZXBlbmRTY29wZShwcm92aWRlclNjb3BlLmxvYWRlciEsIHNjb3BlISlcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEV2ZW50UGF5bG9hZChsYW5nOiBzdHJpbmcpOiBMb2FkZWRFdmVudFsncGF5bG9hZCddIHtcbiAgcmV0dXJuIHtcbiAgICBzY29wZTogZ2V0U2NvcGVGcm9tTGFuZyhsYW5nKSB8fCBudWxsLFxuICAgIGxhbmdOYW1lOiBnZXRMYW5nRnJvbVNjb3BlKGxhbmcpLFxuICB9O1xufVxuIl19