UNPKG

wft-geodb-angular-client

Version:
1 lines 47.9 kB
{"version":3,"file":"wft-geodb-angular-client.mjs","sources":["../../../projects/wft-geodb-angular-client/src/lib/model/country-summary.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/country-details.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/currency.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/geo-error.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/geo-location.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/geo-response.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/geodb-config.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/language.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/locale.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/place-summary.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/place-details.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/region-summary.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/region-details.model.ts","../../../projects/wft-geodb-angular-client/src/lib/model/time-zone.model.ts","../../../projects/wft-geodb-angular-client/src/lib/geodb.service.ts","../../../projects/wft-geodb-angular-client/src/lib/geodb-free.module.ts","../../../projects/wft-geodb-angular-client/src/lib/auth.interceptor.ts","../../../projects/wft-geodb-angular-client/src/lib/geodb-pro.module.ts","../../../projects/wft-geodb-angular-client/src/public_api.ts","../../../projects/wft-geodb-angular-client/src/wft-geodb-angular-client.ts"],"sourcesContent":["export class CountrySummary {\n code: string;\n wikiDataId: string;\n\n currencyCodes: string[];\n name: string;\n}\n","import {CountrySummary} from './country-summary.model';\n\nexport class CountryDetails extends CountrySummary {\n callingCode: string;\n flagImageUri: string;\n numRegions: number;\n}\n\n","export class Currency {\n countryCodes: string[];\n code: string;\n symbol: string;\n}\n","export class GeoError {\n code: string;\n message: string;\n}\n","export class GeoLocation {\n latitude: number;\n longitude: number;\n}\n","import {GeoError} from './geo-error.model';\n\nexport class GeoResponse<T> {\n errors: GeoError[] = new Array<GeoError>();\n data: T;\n metadata: any;\n\n static buildForData(data: any, metadata: any): GeoResponse<any> {\n const response: GeoResponse<any> = new GeoResponse<any>();\n\n response.data = data;\n response.metadata = metadata;\n\n return response;\n }\n\n static buildForError(error: GeoError): GeoResponse<any> {\n const response: GeoResponse<any> = new GeoResponse<any>();\n\n response.errors.push(error);\n\n return response;\n }\n\n static buildForErrors(errors: GeoError[]): GeoResponse<any> {\n const response: GeoResponse<any> = new GeoResponse<any>();\n\n for (const error of errors) {\n response.errors.push(error);\n }\n\n return response;\n }\n}\n","export class GeoDbConfig {\n apiKey: string;\n serviceUri: string;\n}\n","export class Language {\n code: string;\n}\n","export class Locale {\n code: string;\n}\n","export class PlaceSummary {\n type: string;\n\n id: string;\n wikiDataId: string;\n\n country: string;\n countryCode: string;\n\n region: string;\n regionCode: string;\n regionWdId: string;\n\n latitude: number;\n longitude: number;\n\n name: string;\n population: number;\n\n // Only included if the result of a location-constrained request\n distance: number;\n\n get displayName(): string {\n return this.region != null && this.region.trim().length > 0\n ? this.name + ', ' + this.region + ', ' + this.country\n : this.name + ', ' + this.country;\n }\n}\n","import {PlaceSummary} from './place-summary.model';\n\nexport class PlaceDetails extends PlaceSummary {\n deleted: boolean;\n elevationMeters: number;\n timezone: string;\n}\n","export class RegionSummary {\n countryCode: string;\n fipsCode: string;\n isoCode: string;\n wikiDataId: string;\n\n name: string;\n}\n","import {RegionSummary} from './region-summary.model';\n\nexport class RegionDetails extends RegionSummary {\n capital: string;\n numCities: number;\n}\n\n","export class TimeZone {\n id: string;\n name: string;\n rawUtcOffsetHours: number;\n}\n","import {Observable} from 'rxjs';\n\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\n\nimport {PlaceDetails} from './model/place-details.model';\nimport {PlaceSummary} from './model/place-summary.model';\nimport {CountrySummary} from './model/country-summary.model';\nimport {GeoResponse} from './model/geo-response.model';\nimport {NearLocationRequest} from './request/near-location-request.model';\nimport {RegionSummary} from './model/region-summary.model';\n\nimport {GeoDbConfig} from './model/geodb-config.model';\nimport {CountryDetails} from './model/country-details.model';\nimport {RegionDetails} from './model/region-details.model';\nimport {Currency} from './model/currency.model';\nimport {Locale} from './model/locale.model';\nimport {FindAdminDivisionsRequest} from './request/find-admin-divisions-request.model';\nimport {FindCountryPlacesRequest} from './request/find-country-places-request.model';\nimport {FindPlacesRequest} from './request/find-places-request.model';\nimport {FindCollectionRequest} from './request/find-collection-request.model';\nimport {FindCountriesRequest} from './request/find-countries-request.model';\nimport {FindCurrenciesRequest} from './request/find-currencies-request.model';\nimport {FindRegionsRequest} from './request/find-regions-request.model';\nimport {FindRegionPlacesRequest} from './request/find-region-places-request.model';\nimport {FindPlacesNearPlaceRequest} from './request/find-places-near-place-request.model';\nimport {TimeZone} from './model/time-zone.model';\nimport {GetPlaceDistanceRequest} from './request/get-place-distance-request.model';\nimport {FindPlacesNearLocationRequest} from './request/find-places-near-location-request.model';\nimport {GetPlaceDetailsRequest} from './request/get-place-details-request.model';\nimport {GetCountryDetailsRequest} from './request/get-country-details-request.model';\nimport {GetRegionDetailsRequest} from './request/get-region-details-request.model';\nimport {Language} from './model/language.model';\n\n@Injectable()\nexport class GeoDbService {\n private adminDivisionsEndpoint: string;\n private countriesEndpoint: string;\n private currenciesEndpoint: string;\n private languagesEndpoint: string;\n private localesEndpoint: string;\n private placesEndpoint: string;\n private timeZonesEndpoint: string;\n\n constructor(private httpClient: HttpClient, private config: GeoDbConfig) {\n\n this.adminDivisionsEndpoint = config.serviceUri + '/v1/geo/adminDivisions';\n this.countriesEndpoint = config.serviceUri + '/v1/geo/countries';\n this.currenciesEndpoint = config.serviceUri + '/v1/locale/currencies';\n this.languagesEndpoint = config.serviceUri + '/v1/locale/languages';\n this.localesEndpoint = config.serviceUri + '/v1/locale/locales';\n this.placesEndpoint = config.serviceUri + '/v1/geo/places';\n this.timeZonesEndpoint = config.serviceUri + '/v1/locale/timezones';\n }\n\n private static buildPagingParams(request: FindCollectionRequest): HttpParams {\n\n return new HttpParams()\n .set('offset', '' + request.offset)\n .set('limit', '' + request.limit)\n .set('hateoasMode', 'false');\n }\n\n private static toLocationString(nearLocation: NearLocationRequest): string {\n\n let locationString = '';\n\n if (nearLocation.latitude > 0) {\n locationString += '+';\n }\n\n locationString += nearLocation.latitude;\n\n if (nearLocation.longitude > 0) {\n locationString += '+';\n }\n\n locationString += nearLocation.longitude;\n\n return locationString;\n }\n\n findAdminDivisions(request: FindAdminDivisionsRequest): Observable<GeoResponse<PlaceSummary[]>> {\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n if (request.countryIds) {\n params = params.set('countryIds', request.countryIds.join(','));\n }\n\n if (request.excludedCountryIds) {\n params = params.set('excludedCountryIds', request.excludedCountryIds.join(','));\n }\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.minPopulation) {\n params = params.set('minPopulation', '' + request.minPopulation);\n }\n\n if (request.maxPopulation) {\n params = params.set('maxPopulation', '' + request.maxPopulation);\n }\n\n if (request.timeZoneIds) {\n params = params.set('timeZoneIds', request.timeZoneIds.join(','));\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n if (request.sortDirectives) {\n params = params.set('sort', request.sortDirectives.join(','));\n }\n\n if (request.includeDeleted) {\n params = params.set('includeDeleted', request.includeDeleted);\n }\n\n return this.httpClient.get<GeoResponse<PlaceSummary[]>>(\n this.adminDivisionsEndpoint,\n {\n params: params\n }\n );\n }\n\n findCountries(request: FindCountriesRequest): Observable<GeoResponse<CountrySummary[]>> {\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n if (request.currencyCode) {\n params = params.set('currencyCode', request.currencyCode);\n }\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n return this.httpClient.get<GeoResponse<CountrySummary[]>>(\n this.countriesEndpoint,\n {\n params: params\n }\n );\n }\n\n findCountryPlaces(request: FindCountryPlacesRequest): Observable<GeoResponse<PlaceSummary[]>> {\n\n const endpoint = this.buildCountryEndpoint(request.countryId) + '/places';\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.minPopulation) {\n params = params.set('minPopulation', '' + request.minPopulation);\n }\n\n if (request.maxPopulation) {\n params = params.set('maxPopulation', '' + request.maxPopulation);\n }\n\n if (request.types) {\n params = params.set('types', request.types.join(','));\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n if (request.sortDirectives) {\n params = params.set('sort', request.sortDirectives.join(','));\n }\n\n return this.httpClient.get<GeoResponse<PlaceSummary[]>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n findCountry(request: GetCountryDetailsRequest): Observable<GeoResponse<CountryDetails>> {\n\n const endpoint = this.countriesEndpoint + '/' + request.countryId;\n\n let params: HttpParams = new HttpParams();\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n return this.httpClient.get<GeoResponse<CountryDetails>>(\n endpoint,\n {\n params: params\n });\n }\n\n findCurrencies(request: FindCurrenciesRequest): Observable<GeoResponse<Currency[]>> {\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n if (request.countryId) {\n params = params.set('countryId', request.countryId);\n }\n\n return this.httpClient.get<GeoResponse<Currency[]>>(\n this.currenciesEndpoint,\n {\n params: params\n }\n );\n }\n\n findLanguages(request: FindCollectionRequest): Observable<GeoResponse<Language[]>> {\n\n const params: HttpParams = GeoDbService.buildPagingParams(request);\n\n return this.httpClient.get<GeoResponse<Language[]>>(\n this.languagesEndpoint,\n {\n params: params\n }\n );\n }\n\n findLocales(request: FindCollectionRequest): Observable<GeoResponse<Locale[]>> {\n\n const params: HttpParams = GeoDbService.buildPagingParams(request);\n\n return this.httpClient.get<GeoResponse<Locale[]>>(\n this.localesEndpoint,\n {\n params: params\n }\n );\n }\n\n\n findPlaces(request: FindPlacesRequest): Observable<GeoResponse<PlaceSummary[]>> {\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n if (request.countryIds) {\n params = params.set('countryIds', request.countryIds.join(','));\n }\n\n if (request.excludedCountryIds) {\n params = params.set('excludedCountryIds', request.excludedCountryIds.join(','));\n }\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.minPopulation) {\n params = params.set('minPopulation', '' + request.minPopulation);\n }\n\n if (request.maxPopulation) {\n params = params.set('maxPopulation', '' + request.maxPopulation);\n }\n\n if (request.timeZoneIds) {\n params = params.set('timeZoneIds', request.timeZoneIds.join(','));\n }\n\n if (request.types) {\n params = params.set('types', request.types.join(','));\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n if (request.sortDirectives) {\n params = params.set('sort', request.sortDirectives.join(','));\n }\n\n if (request.includeDeleted) {\n params = params.set('includeDeleted', request.includeDeleted);\n }\n\n return this.httpClient.get<GeoResponse<PlaceSummary[]>>(\n this.placesEndpoint,\n {\n params: params\n }\n );\n }\n\n findPlacesNearLocation(request: FindPlacesNearLocationRequest): Observable<GeoResponse<PlaceSummary[]>> {\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n params = params\n .set('radius', '' + request.location.radius)\n .set('distanceUnit', request.location.distanceUnit);\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.minPopulation) {\n params = params.set('minPopulation', '' + request.minPopulation);\n }\n\n if (request.maxPopulation) {\n params = params.set('maxPopulation', '' + request.maxPopulation);\n }\n\n if (request.types) {\n params = params.set('types', request.types.join(','));\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n if (request.sortDirectives) {\n params = params.set('sort', request.sortDirectives.join(','));\n }\n\n if (request.includeDeleted) {\n params = params.set('includeDeleted', request.includeDeleted);\n }\n\n // Workaround for HttpClient '+' encoding bug.\n const locationId = GeoDbService\n .toLocationString(request.location)\n .replace(/\\+/g, '%2B');\n\n const endpoint = this.placesEndpoint + '?location=' + locationId;\n\n return this.httpClient.get<GeoResponse<PlaceSummary[]>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n findPlacesNearPlace(request: FindPlacesNearPlaceRequest): Observable<GeoResponse<PlaceSummary[]>> {\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n params = params\n .set('radius', '' + request.radius)\n .set('distanceUnit', request.distanceUnit);\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.minPopulation) {\n params = params.set('minPopulation', '' + request.minPopulation);\n }\n\n if (request.maxPopulation) {\n params = params.set('maxPopulation', '' + request.maxPopulation);\n }\n\n if (request.types) {\n params = params.set('types', request.types.join(','));\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n if (request.sortDirectives) {\n params = params.set('sort', request.sortDirectives.join(','));\n }\n\n if (request.includeDeleted) {\n params = params.set('includeDeleted', request.includeDeleted);\n }\n\n const endpoint = this.placesEndpoint + '/' + request.placeId + '/nearbyPlaces';\n\n return this.httpClient.get<GeoResponse<PlaceSummary[]>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n findRegion(request: GetRegionDetailsRequest): Observable<GeoResponse<RegionDetails>> {\n\n const endpoint = this.buildRegionsEndpoint(request.countryId) + '/' + request.regionCode;\n\n let params: HttpParams = new HttpParams();\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n return this.httpClient.get<GeoResponse<RegionDetails>>(\n endpoint,\n {\n params: params\n });\n }\n\n findRegionPlaces(request: FindRegionPlacesRequest): Observable<GeoResponse<PlaceSummary[]>> {\n\n const endpoint = this.buildRegionEndpoint(request.countryId, request.regionId) + '/places';\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.minPopulation) {\n params = params.set('minPopulation', '' + request.minPopulation);\n }\n\n if (request.maxPopulation) {\n params = params.set('maxPopulation', '' + request.maxPopulation);\n }\n\n if (request.types) {\n params = params.set('types', request.types.join(','));\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n if (request.sortDirectives) {\n params = params.set('sort', request.sortDirectives.join(','));\n }\n\n return this.httpClient.get<GeoResponse<PlaceSummary[]>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n findRegions(request: FindRegionsRequest): Observable<GeoResponse<RegionSummary[]>> {\n\n const endpoint = this.buildRegionsEndpoint(request.countryId);\n\n let params: HttpParams = GeoDbService.buildPagingParams(request);\n\n if (request.namePrefix) {\n params = params.set('namePrefix', request.namePrefix);\n }\n\n if (request.namePrefixDefaultLangResults) {\n params = params.set('namePrefixDefaultLangResults', request.namePrefixDefaultLangResults);\n }\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n return this.httpClient.get<GeoResponse<RegionSummary[]>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n findTimeZones(request: FindCollectionRequest): Observable<GeoResponse<TimeZone[]>> {\n\n const params: HttpParams = GeoDbService.buildPagingParams(request);\n\n return this.httpClient.get<GeoResponse<TimeZone[]>>(\n this.timeZonesEndpoint,\n {\n params: params\n }\n );\n }\n\n get apiKey(): string {\n return this.config.apiKey;\n }\n\n setApiKey(apiKey: string) {\n this.config.apiKey = apiKey;\n }\n\n getPlace(request: GetPlaceDetailsRequest): Observable<GeoResponse<PlaceDetails>> {\n\n const endpoint = this.buildPlaceEndpoint(request.placeId);\n\n let params: HttpParams = new HttpParams();\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n return this.httpClient.get<GeoResponse<PlaceDetails>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n getPlaceAdminRegion(request: GetPlaceDetailsRequest): Observable<GeoResponse<PlaceDetails>> {\n\n const endpoint = this.buildPlaceEndpoint(request.placeId) + '/locatedIn';\n\n let params: HttpParams = new HttpParams();\n\n if (request.asciiMode) {\n params = params.set('asciiMode', '' + request.asciiMode);\n }\n\n if (request.languageCode) {\n params = params.set('languageCode', request.languageCode);\n }\n\n return this.httpClient.get<GeoResponse<PlaceDetails>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n getPlaceDateTime(id: string): Observable<GeoResponse<string>> {\n\n const endpoint = this.buildPlaceEndpoint(id) + '/dateTime';\n\n return this.httpClient.get<GeoResponse<string>>(endpoint);\n }\n\n getPlaceDistance(request: GetPlaceDistanceRequest): Observable<GeoResponse<number>> {\n\n const endpoint = this.buildPlaceEndpoint(request.fromPlaceId) + '/distance';\n\n const params: HttpParams = new HttpParams()\n .set('toPlaceId', '' + request.toPlaceId)\n .set('distanceUnit', '' + request.distanceUnit);\n\n return this.httpClient.get<GeoResponse<number>>(\n endpoint,\n {\n params: params\n }\n );\n }\n\n getPlaceTime(placeId: string): Observable<GeoResponse<string>> {\n\n const endpoint = this.buildPlaceEndpoint(placeId) + '/time';\n\n return this.httpClient.get<GeoResponse<string>>(endpoint);\n }\n\n getTimeZoneDateTime(zoneId: string): Observable<GeoResponse<string>> {\n\n const endpoint = this.buildTimeZoneEndpoint(zoneId) + '/dateTime';\n\n return this.httpClient.get<GeoResponse<string>>(endpoint);\n }\n\n getTimeZoneTime(zoneId: string): Observable<GeoResponse<string>> {\n\n const endpoint = this.buildTimeZoneEndpoint(zoneId) + '/time';\n\n return this.httpClient.get<GeoResponse<string>>(endpoint);\n }\n\n private buildCountryEndpoint(countryId: string): string {\n return this.countriesEndpoint + '/' + countryId;\n }\n\n private buildPlaceEndpoint(olaceId: string): string {\n return this.placesEndpoint + '/' + olaceId;\n }\n\n private buildRegionEndpoint(countryId: string, regionId: string): string {\n return this.buildRegionsEndpoint(countryId) + '/' + regionId;\n }\n\n private buildRegionsEndpoint(countryId: string): string {\n return this.buildCountryEndpoint(countryId) + '/regions';\n }\n\n private buildTimeZoneEndpoint(zoneId: string): string {\n return this.timeZonesEndpoint + '/' + zoneId;\n }\n}\n","import {HttpClientModule, HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\n\nimport {GeoDbService} from './geodb.service';\nimport {GeoDbConfig} from './model/geodb-config.model';\n\n@NgModule({\n providers: [\n GeoDbService\n ],\n imports: [\n HttpClientModule\n ]\n})\nexport class GeoDbFreeModule {\n static forRoot(config: GeoDbConfig): ModuleWithProviders<GeoDbFreeModule> {\n return {\n ngModule: GeoDbFreeModule,\n providers: [\n {\n provide: GeoDbConfig,\n useValue: config\n }\n ]\n };\n }\n\n constructor(config: GeoDbConfig) {\n }\n}\n","import {HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {GeoDbConfig} from './model/geodb-config.model';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n\n constructor(private config: GeoDbConfig) {\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n\n if (request.url.startsWith(this.config.serviceUri)) {\n const headers: HttpHeaders = request\n .headers\n .set('X-Mashape-Key', this.config.apiKey);\n\n return next.handle(request.clone({headers: headers}));\n }\n\n return next.handle(request);\n }\n}\n","import {HttpClientModule, HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\n\nimport {AuthInterceptor} from './auth.interceptor';\nimport {GeoDbService} from './geodb.service';\nimport {GeoDbConfig} from './model/geodb-config.model';\n\n@NgModule({\n providers: [\n GeoDbService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true\n }\n ],\n imports: [\n HttpClientModule\n ]\n})\nexport class GeoDbProModule {\n static forRoot(config: GeoDbConfig): ModuleWithProviders<GeoDbProModule> {\n return {\n ngModule: GeoDbProModule,\n providers: [\n {\n provide: GeoDbConfig,\n useValue: config\n }\n ]\n };\n }\n\n constructor(config: GeoDbConfig) {\n }\n}\n","/*\n * Public API Surface of wft-geodb-angular-client\n */\n\nexport * from './lib/model/index';\nexport * from './lib/request/index';\n\nexport * from './lib/geodb-free.module';\nexport * from './lib/geodb-pro.module';\nexport * from './lib/geodb.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2.GeoDbConfig","i1.GeoDbConfig"],"mappings":"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"}