import { Injectable } from '@angular/core'; import { Http } from '@angular/http'; import 'rxjs/add/observable/of'; import 'rxjs/add/operator/map'; import { Observable, } from 'rxjs/Observable'; import languageMap from './language-map.const'; @Injectable() export default class LocationService { private _location: Observable; constructor( private _http: Http, ) { this._location = Observable.of(navigator.language); } public getDefaultCurrencyCode(locationUrl: string): Observable { return this._http.get(locationUrl) .map((resp) => { const currencyData = resp.json(); return currencyData && currencyData.currency && currencyData.currency.code ? currencyData.currency.code : 'GBP'; }); } public getDefaultLanguage(): Observable { return this._location.map((location) => { const language = languageMap[location]; return language ? language : 'en'; }); } }