@ngneat/transloco
Version:
The internationalization (i18n) library for Angular
128 lines • 8.71 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/shared.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { hasInlineLoader, isString } from './helpers';
import { take } from 'rxjs/operators';
/*
* @example
*
* given: lazy-page/en => lazy-page
*
*/
/**
* @param {?} lang
* @return {?}
*/
export function getScopeFromLang(lang) {
if (!lang) {
return '';
}
/** @type {?} */
var split = lang.split('/');
split.pop();
return split.join('/');
}
/*
* @example
*
* given: lazy-page/en => en
*
*/
/**
* @param {?} lang
* @return {?}
*/
export function getLangFromScope(lang) {
if (!lang) {
return '';
}
/** @type {?} */
var split = lang.split('/');
return split.pop();
}
/**
* \@example
*
* getPipeValue('todos|scoped', 'scoped') [true, 'todos']
* getPipeValue('en|static', 'static') [true, 'en']
* getPipeValue('en', 'static') [false, 'en']
* @param {?} str
* @param {?} value
* @param {?=} char
* @return {?}
*/
export function getPipeValue(str, value, char) {
if (char === void 0) { char = '|'; }
if (isString(str)) {
/** @type {?} */
var splitted = str.split(char);
/** @type {?} */
var lastItem = splitted.pop();
return lastItem === value ? [true, splitted.toString()] : [false, lastItem];
}
return [false, ''];
}
/**
* @param {?} service
* @param {?} lang
* @return {?}
*/
export function shouldListenToLangChanges(service, lang) {
var _a = tslib_1.__read(getPipeValue(lang, 'static'), 1), hasStatic = _a[0];
if (hasStatic === false) {
// If we didn't get 'lang|static' check if it's set in the global level
return service.config.reRenderOnLangChange;
}
// We have 'lang|static' so don't listen to lang changes
return false;
}
/**
* @param {?} listenToLangChange
* @return {?}
*/
export function listenOrNotOperator(listenToLangChange) {
return listenToLangChange ? (/**
* @param {?} source
* @return {?}
*/
function (source) { return source; }) : take(1);
}
/**
* @param {?} inlineLoader
* @param {?} scope
* @return {?}
*/
function prependScope(inlineLoader, scope) {
return Object.keys(inlineLoader).reduce((/**
* @param {?} acc
* @param {?} lang
* @return {?}
*/
function (acc, lang) {
acc[scope + "/" + lang] = inlineLoader[lang];
return acc;
}), {});
}
/**
* @param {?} providerScope
* @param {?} scope
* @return {?}
*/
export function resolveInlineLoader(providerScope, scope) {
return hasInlineLoader(providerScope) ? prependScope(providerScope.loader, scope) : null;
}
/**
* @param {?} lang
* @return {?}
*/
export function getEventPayload(lang) {
return {
scope: getScopeFromLang(lang) || null,
langName: getLangFromScope(lang),
lang: lang
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC90cmFuc2xvY28vIiwic291cmNlcyI6WyJsaWIvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFTdEMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVk7SUFDM0MsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE9BQU8sRUFBRSxDQUFDO0tBQ1g7O1FBQ0ssS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzdCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNaLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDOzs7Ozs7Ozs7OztBQVFELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZO0lBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLEVBQUUsQ0FBQztLQUNYOztRQUNLLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM3QixPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNyQixDQUFDOzs7Ozs7Ozs7Ozs7QUFTRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsSUFBVTtJQUFWLHFCQUFBLEVBQUEsVUFBVTtJQUNqRSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTs7WUFDWCxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7O1lBQzFCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQy9CLE9BQU8sUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQzdFO0lBRUQsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNyQixDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsT0FBeUIsRUFBRSxJQUFZO0lBQ3pFLElBQUEsb0RBQTBDLEVBQXpDLGlCQUF5QztJQUNoRCxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUU7UUFDdkIsdUVBQXVFO1FBQ3ZFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztLQUM1QztJQUVELHdEQUF3RDtJQUN4RCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLGtCQUEyQjtJQUM3RCxPQUFPLGtCQUFrQixDQUFDLENBQUM7Ozs7SUFBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE1BQU0sRUFBTixDQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDOzs7Ozs7QUFFRCxTQUFTLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSztJQUN2QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTTs7Ozs7SUFBQyxVQUFDLEdBQUcsRUFBRSxJQUFJO1FBQ2hELEdBQUcsQ0FBSSxLQUFLLFNBQUksSUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLGFBQW9DLEVBQUUsS0FBYTtJQUNyRixPQUFPLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMzRixDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBWTtJQUMxQyxPQUFPO1FBQ0wsS0FBSyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUk7UUFDckMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLE1BQUE7S0FDTCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICcuL3RyYW5zbG9jby5zZXJ2aWNlJztcbmltcG9ydCB7IGhhc0lubGluZUxvYWRlciwgaXNTdHJpbmcgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElubGluZUxvYWRlciwgVHJhbnNsb2NvU2NvcGUgfSBmcm9tICcuL3R5cGVzJztcblxuLypcbiAqIEBleGFtcGxlXG4gKlxuICogZ2l2ZW46IGxhenktcGFnZS9lbiA9PiBsYXp5LXBhZ2VcbiAqXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY29wZUZyb21MYW5nKGxhbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghbGFuZykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBjb25zdCBzcGxpdCA9IGxhbmcuc3BsaXQoJy8nKTtcbiAgc3BsaXQucG9wKCk7XG4gIHJldHVybiBzcGxpdC5qb2luKCcvJyk7XG59XG5cbi8qXG4gKiBAZXhhbXBsZVxuICpcbiAqIGdpdmVuOiBsYXp5LXBhZ2UvZW4gPT4gZW5cbiAqXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYW5nRnJvbVNjb3BlKGxhbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghbGFuZykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBjb25zdCBzcGxpdCA9IGxhbmcuc3BsaXQoJy8nKTtcbiAgcmV0dXJuIHNwbGl0LnBvcCgpO1xufVxuXG4vKipcbiAqIEBleGFtcGxlXG4gKlxuICogZ2V0UGlwZVZhbHVlKCd0b2Rvc3xzY29wZWQnLCAnc2NvcGVkJykgW3RydWUsICd0b2RvcyddXG4gKiBnZXRQaXBlVmFsdWUoJ2VufHN0YXRpYycsICdzdGF0aWMnKSBbdHJ1ZSwgJ2VuJ11cbiAqIGdldFBpcGVWYWx1ZSgnZW4nLCAnc3RhdGljJykgW2ZhbHNlLCAnZW4nXVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGlwZVZhbHVlKHN0cjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBjaGFyID0gJ3wnKTogW2Jvb2xlYW4sIHN0cmluZ10ge1xuICBpZiAoaXNTdHJpbmcoc3RyKSkge1xuICAgIGNvbnN0IHNwbGl0dGVkID0gc3RyLnNwbGl0KGNoYXIpO1xuICAgIGNvbnN0IGxhc3RJdGVtID0gc3BsaXR0ZWQucG9wKCk7XG4gICAgcmV0dXJuIGxhc3RJdGVtID09PSB2YWx1ZSA/IFt0cnVlLCBzcGxpdHRlZC50b1N0cmluZygpXSA6IFtmYWxzZSwgbGFzdEl0ZW1dO1xuICB9XG5cbiAgcmV0dXJuIFtmYWxzZSwgJyddO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkTGlzdGVuVG9MYW5nQ2hhbmdlcyhzZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLCBsYW5nOiBzdHJpbmcpIHtcbiAgY29uc3QgW2hhc1N0YXRpY10gPSBnZXRQaXBlVmFsdWUobGFuZywgJ3N0YXRpYycpO1xuICBpZiAoaGFzU3RhdGljID09PSBmYWxzZSkge1xuICAgIC8vIElmIHdlIGRpZG4ndCBnZXQgJ2xhbmd8c3RhdGljJyBjaGVjayBpZiBpdCdzIHNldCBpbiB0aGUgZ2xvYmFsIGxldmVsXG4gICAgcmV0dXJuIHNlcnZpY2UuY29uZmlnLnJlUmVuZGVyT25MYW5nQ2hhbmdlO1xuICB9XG5cbiAgLy8gV2UgaGF2ZSAnbGFuZ3xzdGF0aWMnIHNvIGRvbid0IGxpc3RlbiB0byBsYW5nIGNoYW5nZXNcbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlzdGVuT3JOb3RPcGVyYXRvcihsaXN0ZW5Ub0xhbmdDaGFuZ2U6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIGxpc3RlblRvTGFuZ0NoYW5nZSA/IHNvdXJjZSA9PiBzb3VyY2UgOiB0YWtlKDEpO1xufVxuXG5mdW5jdGlvbiBwcmVwZW5kU2NvcGUoaW5saW5lTG9hZGVyLCBzY29wZSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoaW5saW5lTG9hZGVyKS5yZWR1Y2UoKGFjYywgbGFuZykgPT4ge1xuICAgIGFjY1tgJHtzY29wZX0vJHtsYW5nfWBdID0gaW5saW5lTG9hZGVyW2xhbmddO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVJbmxpbmVMb2FkZXIocHJvdmlkZXJTY29wZTogVHJhbnNsb2NvU2NvcGUgfCBudWxsLCBzY29wZTogc3RyaW5nKTogSW5saW5lTG9hZGVyIHwgbnVsbCB7XG4gIHJldHVybiBoYXNJbmxpbmVMb2FkZXIocHJvdmlkZXJTY29wZSkgPyBwcmVwZW5kU2NvcGUocHJvdmlkZXJTY29wZS5sb2FkZXIsIHNjb3BlKSA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFdmVudFBheWxvYWQobGFuZzogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgc2NvcGU6IGdldFNjb3BlRnJvbUxhbmcobGFuZykgfHwgbnVsbCxcbiAgICBsYW5nTmFtZTogZ2V0TGFuZ0Zyb21TY29wZShsYW5nKSxcbiAgICBsYW5nXG4gIH07XG59XG4iXX0=