UNPKG

@ngneat/transloco

Version:

The internationalization (i18n) library for Angular

76 lines 5.72 kB
/** * @fileoverview added by tsickle * Generated from: lib/lang-resolver.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { getLangFromScope, getPipeValue, getScopeFromLang } from './shared'; export class LangResolver { constructor() { this.initialized = false; } // inline => provider => active /** * @param {?=} __0 * @return {?} */ resolve({ inline, provider, active } = { inline: undefined, provider: undefined, active: undefined }) { /** @type {?} */ let 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) { const [_, extracted] = getPipeValue(provider, 'static'); lang = extracted; } if (inline) { const [_, extracted] = getPipeValue(inline, 'static'); lang = extracted; } this.initialized = true; return lang; } /** * * Resolve the lang * * \@example * * resolveLangBasedOnScope('todos/en') => en * resolveLangBasedOnScope('en') => en * * @param {?} lang * @return {?} */ resolveLangBasedOnScope(lang) { /** @type {?} */ const scope = getScopeFromLang(lang); return scope ? getLangFromScope(lang) : lang; } /** * * Resolve the lang path for loading * * \@example * * resolveLangPath('todos', 'en') => todos/en * resolveLangPath('en') => en * * @param {?} lang * @param {?} scope * @return {?} */ resolveLangPath(lang, scope) { return scope ? `${scope}/${lang}` : lang; } } if (false) { /** @type {?} */ LangResolver.prototype.initialized; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ25lYXQvdHJhbnNsb2NvLyIsInNvdXJjZXMiOlsibGliL2xhbmctcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBUTVFLE1BQU0sT0FBTyxZQUFZO0lBQXpCO1FBQ0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUEwRHRCLENBQUM7Ozs7OztJQXZEQyxPQUFPLENBQ0wsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sS0FBeUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTs7WUFFNUcsSUFBSSxHQUFHLE1BQU07UUFDakI7OztXQUdHO1FBQ0gsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksR0FBRyxNQUFNLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxRQUFRLEVBQUU7a0JBQ04sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7WUFDdkQsSUFBSSxHQUFHLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUksTUFBTSxFQUFFO2tCQUNKLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3JELElBQUksR0FBRyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7Ozs7Ozs7Ozs7SUFZRCx1QkFBdUIsQ0FBQyxJQUFZOztjQUM1QixLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lBWUQsZUFBZSxDQUFDLElBQVksRUFBRSxLQUF5QjtRQUNyRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7OztJQTFEQyxtQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMYW5nRnJvbVNjb3BlLCBnZXRQaXBlVmFsdWUsIGdldFNjb3BlRnJvbUxhbmcgfSBmcm9tICcuL3NoYXJlZCc7XG5cbnR5cGUgTGFuZ1Jlc29sdmVyUGFyYW1zID0ge1xuICBpbmxpbmU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdmlkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgYWN0aXZlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY2xhc3MgTGFuZ1Jlc29sdmVyIHtcbiAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAvLyBpbmxpbmUgPT4gcHJvdmlkZXIgPT4gYWN0aXZlXG4gIHJlc29sdmUoXG4gICAgeyBpbmxpbmUsIHByb3ZpZGVyLCBhY3RpdmUgfTogTGFuZ1Jlc29sdmVyUGFyYW1zID0geyBpbmxpbmU6IHVuZGVmaW5lZCwgcHJvdmlkZXI6IHVuZGVmaW5lZCwgYWN0aXZlOiB1bmRlZmluZWQgfVxuICApIHtcbiAgICBsZXQgbGFuZyA9IGFjdGl2ZTtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRoZSB1c2VyIGNoYW5nZXMgdGhlIGxhbmcgd2UgbmVlZCB0byB1cGRhdGVcbiAgICAgKiB0aGUgdmlldy4gT3RoZXJ3aXNlLCB0aGUgbGFuZyB3aWxsIHJlbWFpbiB0aGUgaW5saW5lL3Byb3ZpZGVkIGxhbmdcbiAgICAgKi9cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgbGFuZyA9IGFjdGl2ZTtcbiAgICAgIHJldHVybiBsYW5nO1xuICAgIH1cblxuICAgIGlmIChwcm92aWRlcikge1xuICAgICAgY29uc3QgW18sIGV4dHJhY3RlZF0gPSBnZXRQaXBlVmFsdWUocHJvdmlkZXIsICdzdGF0aWMnKTtcbiAgICAgIGxhbmcgPSBleHRyYWN0ZWQ7XG4gICAgfVxuXG4gICAgaWYgKGlubGluZSkge1xuICAgICAgY29uc3QgW18sIGV4dHJhY3RlZF0gPSBnZXRQaXBlVmFsdWUoaW5saW5lLCAnc3RhdGljJyk7XG4gICAgICBsYW5nID0gZXh0cmFjdGVkO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHJldHVybiBsYW5nO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFJlc29sdmUgdGhlIGxhbmdcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogcmVzb2x2ZUxhbmdCYXNlZE9uU2NvcGUoJ3RvZG9zL2VuJykgPT4gZW5cbiAgICogcmVzb2x2ZUxhbmdCYXNlZE9uU2NvcGUoJ2VuJykgPT4gZW5cbiAgICpcbiAgICovXG4gIHJlc29sdmVMYW5nQmFzZWRPblNjb3BlKGxhbmc6IHN0cmluZykge1xuICAgIGNvbnN0IHNjb3BlID0gZ2V0U2NvcGVGcm9tTGFuZyhsYW5nKTtcbiAgICByZXR1cm4gc2NvcGUgPyBnZXRMYW5nRnJvbVNjb3BlKGxhbmcpIDogbGFuZztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZXNvbHZlIHRoZSBsYW5nIHBhdGggZm9yIGxvYWRpbmdcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogcmVzb2x2ZUxhbmdQYXRoKCd0b2RvcycsICdlbicpID0+IHRvZG9zL2VuXG4gICAqIHJlc29sdmVMYW5nUGF0aCgnZW4nKSA9PiBlblxuICAgKlxuICAgKi9cbiAgcmVzb2x2ZUxhbmdQYXRoKGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBzY29wZSA/IGAke3Njb3BlfS8ke2xhbmd9YCA6IGxhbmc7XG4gIH1cbn1cbiJdfQ==