{ "version": 3, "sources": ["src/app/shared/tokens/app-languages.ts", "src/app/shared/services/languages/languages.service.ts"], "sourcesContent": ["import { Language } from './../services/languages/languages.service';\r\nimport {InjectionToken} from '@angular/core';\r\n\r\nexport const APP_LANGUAGES = new InjectionToken('APP_LANGUAGES');\r\n", "import { Injectable, Inject, LOCALE_ID } from '@angular/core';\r\nimport { APP_LANGUAGES } from '@shared/tokens/app-languages';\r\n\r\nexport class Language {\r\n public code: string;\r\n public name: string;\r\n public flag: string;\r\n\r\n public getLangUrl(pagePath: string): string {\r\n return `/${this.code}/${pagePath}`;\r\n }\r\n\r\n constructor(code: string, name: string, flag?: string) {\r\n this.code = code;\r\n this.name = name;\r\n this.flag = flag || code;\r\n }\r\n}\r\n\r\nclass Languages {\r\n private _map: Map;\r\n\r\n constructor() {\r\n this._map = new Map();\r\n }\r\n get Languages(): Language[] {\r\n return Array.from(this._map.values());\r\n }\r\n set Languages(languages: Language[]) {\r\n for (const language of languages) {\r\n this._map.set(language.code, language);\r\n }\r\n }\r\n get LanguagesCode(): string[] {\r\n return Array.from(this._map.keys());\r\n }\r\n get default(): string {\r\n return this._map.keys().next().value;\r\n }\r\n\r\n getByCode(code: string): Language {\r\n return this._map.get(code);\r\n }\r\n\r\n}\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class LanguagesService {\r\n private _languagesMap: Languages;\r\n constructor(@Inject(LOCALE_ID) private locale: string,\r\n @Inject(APP_LANGUAGES) private appLanguages: Language[]) {\r\n this._languagesMap = new Languages();\r\n this._languagesMap.Languages = this.appLanguages;\r\n }\r\n\r\n public getLanguages(): Language[] {\r\n return this._languagesMap.Languages;\r\n }\r\n public getLanguageByCode(code): Language{\r\n return this._languagesMap.getByCode(code);\r\n }\r\n public getCurrentLang(): Language {\r\n return this._languagesMap.getByCode(this.locale.substring(0, 2));\r\n }\r\n\r\n public getCurrentLangCode(): string {\r\n return this.locale.substring(0, 2);\r\n }\r\n}\r\n"], "mappings": "iEAGO,IAAMA,EAAgB,IAAIC,EAA2B,eAAe,ECArE,IAAOC,EAAP,KAAe,CAKVC,WAAWC,EAAgB,CAChC,MAAO,IAAI,KAAKC,IAAI,IAAID,CAAQ,EAClC,CAEAE,YAAYD,EAAcE,EAAcC,EAAa,CACnD,KAAKH,KAAOA,EACZ,KAAKE,KAAOA,EACZ,KAAKC,KAAOA,GAAQH,CACtB,GAGEI,EAAN,KAAe,CAGXH,aAAA,CACI,KAAKI,KAAO,IAAIC,GACpB,CACA,IAAIF,WAAS,CACT,OAAOG,MAAMC,KAAK,KAAKH,KAAKI,OAAM,CAAE,CACxC,CACA,IAAIL,UAAUM,EAAqB,CACjC,QAAWC,KAAYD,EACrB,KAAKL,KAAKO,IAAID,EAASX,KAAMW,CAAQ,CAEzC,CACA,IAAIE,eAAa,CACb,OAAON,MAAMC,KAAK,KAAKH,KAAKS,KAAI,CAAE,CACtC,CACA,IAAIC,SAAO,CACP,OAAO,KAAKV,KAAKS,KAAI,EAAGE,KAAI,EAAGC,KACnC,CAEAC,UAAUlB,EAAY,CAClB,OAAO,KAAKK,KAAKc,IAAInB,CAAI,CAC7B,GAKSoB,GAAgB,IAAA,CAAvB,IAAOA,EAAP,MAAOA,CAAgB,CAEzBnB,YAAuCoB,EACIC,EAAwB,CAD5B,KAAAD,OAAAA,EACI,KAAAC,aAAAA,EACvC,KAAKC,cAAgB,IAAInB,EACzB,KAAKmB,cAAcnB,UAAY,KAAKkB,YACxC,CAEOE,cAAY,CACf,OAAO,KAAKD,cAAcnB,SAC9B,CACOqB,kBAAkBzB,EAAI,CACzB,OAAO,KAAKuB,cAAcL,UAAUlB,CAAI,CAC5C,CACO0B,gBAAc,CACjB,OAAO,KAAKH,cAAcL,UAAU,KAAKG,OAAOM,UAAU,EAAG,CAAC,CAAC,CACnE,CAEOC,oBAAkB,CACvB,OAAO,KAAKP,OAAOM,UAAU,EAAG,CAAC,CACrC,yCApBWP,GAAgBS,EAELC,CAAS,EAAAD,EACTE,CAAa,CAAA,CAAA,wBAHxBX,EAAgBY,QAAhBZ,EAAgBa,UAAAC,WADH,MAAM,CAAA,EAC1B,IAAOd,EAAPe,SAAOf,CAAgB,GAAA", "names": ["APP_LANGUAGES", "InjectionToken", "Language", "getLangUrl", "pagePath", "code", "constructor", "name", "flag", "Languages", "_map", "Map", "Array", "from", "values", "languages", "language", "set", "LanguagesCode", "keys", "default", "next", "value", "getByCode", "get", "LanguagesService", "locale", "appLanguages", "_languagesMap", "getLanguages", "getLanguageByCode", "getCurrentLang", "substring", "getCurrentLangCode", "\u0275\u0275inject", "LOCALE_ID", "APP_LANGUAGES", "factory", "\u0275fac", "providedIn", "_LanguagesService"] }