UNPKG

@ngneat/transloco

Version:

The internationalization (i18n) library for Angular

132 lines 7.06 kB
/** * @fileoverview added by tsickle * Generated from: lib/lang-resolver.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { getLangFromScope, getPipeValue, getScopeFromLang } from './shared'; var LangResolver = /** @class */ (function () { function LangResolver() { this.initialized = false; } // inline => provider => active // inline => provider => active /** * @param {?=} __0 * @return {?} */ LangResolver.prototype.resolve = // inline => provider => active /** * @param {?=} __0 * @return {?} */ function (_a) { var _b = _a === void 0 ? { inline: undefined, provider: undefined, active: undefined } : _a, inline = _b.inline, provider = _b.provider, active = _b.active; /** @type {?} */ var lang = active; /** * When the user changes the lang we need to update * the view. Otherwise, the lang will remain the inline/provided lang */ if (this.initialized) { lang = active; return lang; } if (provider) { var _c = tslib_1.__read(getPipeValue(provider, 'static'), 2), _ = _c[0], extracted = _c[1]; lang = extracted; } if (inline) { var _d = tslib_1.__read(getPipeValue(inline, 'static'), 2), _ = _d[0], extracted = _d[1]; lang = extracted; } this.initialized = true; return lang; }; /** * * Resolve the lang * * @example * * resolveLangBasedOnScope('todos/en') => en * resolveLangBasedOnScope('en') => en * */ /** * * Resolve the lang * * \@example * * resolveLangBasedOnScope('todos/en') => en * resolveLangBasedOnScope('en') => en * * @param {?} lang * @return {?} */ LangResolver.prototype.resolveLangBasedOnScope = /** * * Resolve the lang * * \@example * * resolveLangBasedOnScope('todos/en') => en * resolveLangBasedOnScope('en') => en * * @param {?} lang * @return {?} */ function (lang) { /** @type {?} */ var scope = getScopeFromLang(lang); return scope ? getLangFromScope(lang) : lang; }; /** * * Resolve the lang path for loading * * @example * * resolveLangPath('todos', 'en') => todos/en * resolveLangPath('en') => en * */ /** * * Resolve the lang path for loading * * \@example * * resolveLangPath('todos', 'en') => todos/en * resolveLangPath('en') => en * * @param {?} lang * @param {?} scope * @return {?} */ LangResolver.prototype.resolveLangPath = /** * * Resolve the lang path for loading * * \@example * * resolveLangPath('todos', 'en') => todos/en * resolveLangPath('en') => en * * @param {?} lang * @param {?} scope * @return {?} */ function (lang, scope) { return scope ? scope + "/" + lang : lang; }; return LangResolver; }()); export { LangResolver }; if (false) { /** @type {?} */ LangResolver.prototype.initialized; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ25lYXQvdHJhbnNsb2NvLyIsInNvdXJjZXMiOlsibGliL2xhbmctcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVE1RTtJQUFBO1FBQ0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUEwRHRCLENBQUM7SUF4REMsK0JBQStCOzs7Ozs7SUFDL0IsOEJBQU87Ozs7OztJQUFQLFVBQ0UsRUFBZ0g7WUFBaEgsdUZBQWdILEVBQTlHLGtCQUFNLEVBQUUsc0JBQVEsRUFBRSxrQkFBTTs7WUFFdEIsSUFBSSxHQUFHLE1BQU07UUFDakI7OztXQUdHO1FBQ0gsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksR0FBRyxNQUFNLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxRQUFRLEVBQUU7WUFDTixJQUFBLHdEQUFpRCxFQUFoRCxTQUFDLEVBQUUsaUJBQTZDO1lBQ3ZELElBQUksR0FBRyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNKLElBQUEsc0RBQStDLEVBQTlDLFNBQUMsRUFBRSxpQkFBMkM7WUFDckQsSUFBSSxHQUFHLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRzs7Ozs7Ozs7Ozs7OztJQUNILDhDQUF1Qjs7Ozs7Ozs7Ozs7O0lBQXZCLFVBQXdCLElBQVk7O1lBQzVCLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDcEMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRzs7Ozs7Ozs7Ozs7Ozs7SUFDSCxzQ0FBZTs7Ozs7Ozs7Ozs7OztJQUFmLFVBQWdCLElBQVksRUFBRSxLQUF5QjtRQUNyRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUksS0FBSyxTQUFJLElBQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFDSCxtQkFBQztBQUFELENBQUMsQUEzREQsSUEyREM7Ozs7SUExREMsbUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TGFuZ0Zyb21TY29wZSwgZ2V0UGlwZVZhbHVlLCBnZXRTY29wZUZyb21MYW5nIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG50eXBlIExhbmdSZXNvbHZlclBhcmFtcyA9IHtcbiAgaW5saW5lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByb3ZpZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGFjdGl2ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNsYXNzIExhbmdSZXNvbHZlciB7XG4gIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgLy8gaW5saW5lID0+IHByb3ZpZGVyID0+IGFjdGl2ZVxuICByZXNvbHZlKFxuICAgIHsgaW5saW5lLCBwcm92aWRlciwgYWN0aXZlIH06IExhbmdSZXNvbHZlclBhcmFtcyA9IHsgaW5saW5lOiB1bmRlZmluZWQsIHByb3ZpZGVyOiB1bmRlZmluZWQsIGFjdGl2ZTogdW5kZWZpbmVkIH1cbiAgKSB7XG4gICAgbGV0IGxhbmcgPSBhY3RpdmU7XG4gICAgLyoqXG4gICAgICogV2hlbiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBsYW5nIHdlIG5lZWQgdG8gdXBkYXRlXG4gICAgICogdGhlIHZpZXcuIE90aGVyd2lzZSwgdGhlIGxhbmcgd2lsbCByZW1haW4gdGhlIGlubGluZS9wcm92aWRlZCBsYW5nXG4gICAgICovXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGxhbmcgPSBhY3RpdmU7XG4gICAgICByZXR1cm4gbGFuZztcbiAgICB9XG5cbiAgICBpZiAocHJvdmlkZXIpIHtcbiAgICAgIGNvbnN0IFtfLCBleHRyYWN0ZWRdID0gZ2V0UGlwZVZhbHVlKHByb3ZpZGVyLCAnc3RhdGljJyk7XG4gICAgICBsYW5nID0gZXh0cmFjdGVkO1xuICAgIH1cblxuICAgIGlmIChpbmxpbmUpIHtcbiAgICAgIGNvbnN0IFtfLCBleHRyYWN0ZWRdID0gZ2V0UGlwZVZhbHVlKGlubGluZSwgJ3N0YXRpYycpO1xuICAgICAgbGFuZyA9IGV4dHJhY3RlZDtcbiAgICB9XG5cbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICByZXR1cm4gbGFuZztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZXNvbHZlIHRoZSBsYW5nXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIHJlc29sdmVMYW5nQmFzZWRPblNjb3BlKCd0b2Rvcy9lbicpID0+IGVuXG4gICAqIHJlc29sdmVMYW5nQmFzZWRPblNjb3BlKCdlbicpID0+IGVuXG4gICAqXG4gICAqL1xuICByZXNvbHZlTGFuZ0Jhc2VkT25TY29wZShsYW5nOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzY29wZSA9IGdldFNjb3BlRnJvbUxhbmcobGFuZyk7XG4gICAgcmV0dXJuIHNjb3BlID8gZ2V0TGFuZ0Zyb21TY29wZShsYW5nKSA6IGxhbmc7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogUmVzb2x2ZSB0aGUgbGFuZyBwYXRoIGZvciBsb2FkaW5nXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIHJlc29sdmVMYW5nUGF0aCgndG9kb3MnLCAnZW4nKSA9PiB0b2Rvcy9lblxuICAgKiByZXNvbHZlTGFuZ1BhdGgoJ2VuJykgPT4gZW5cbiAgICpcbiAgICovXG4gIHJlc29sdmVMYW5nUGF0aChsYW5nOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gc2NvcGUgPyBgJHtzY29wZX0vJHtsYW5nfWAgOiBsYW5nO1xuICB9XG59XG4iXX0=