@cause-911/core
Version:
Run `npm install @cause-911/core --save` to add this library to your project
153 lines • 10.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
var ApiLookupService = /** @class */ (function () {
function ApiLookupService(http) {
this.http = http;
this.http = http;
}
/**
* @return {?}
*/
ApiLookupService.prototype.getIpInformation = /**
* @return {?}
*/
function () {
var _this = this;
return new Observable((/**
* @param {?} observer
* @return {?}
*/
function (observer) {
_this.lookupIpWith_IpApi().subscribe((/**
* @param {?} result
* @return {?}
*/
function (result) {
observer.next(result);
observer.complete();
}), (/**
* @return {?}
*/
function () {
_this.lookupIpWith_GeoIpDb().subscribe((/**
* @param {?} result
* @return {?}
*/
function (result) {
observer.next(result);
observer.complete();
}), (/**
* @return {?}
*/
function () {
observer.error('Can\'t lookup the IP address');
}));
}));
}));
};
/**
* @private
* @return {?}
*/
ApiLookupService.prototype.lookupIpWith_GeoIpDb = /**
* @private
* @return {?}
*/
function () {
var _this = this;
return new Observable((/**
* @param {?} observer
* @return {?}
*/
function (observer) {
_this.http.get('http://geoip-db.com/json').subscribe((/**
* @param {?} response
* @return {?}
*/
function (response) {
observer.next((/** @type {?} */ ({
country: response['country_code'],
countryName: response['country_name'],
stateName: response['state'],
cityName: response['city'],
longitude: response['longitude'],
latitude: response['latitude']
})));
observer.complete();
}), (/**
* @param {?} error
* @return {?}
*/
function (error) {
observer.error(error);
}));
}));
};
/**
* @private
* @return {?}
*/
ApiLookupService.prototype.lookupIpWith_IpApi = /**
* @private
* @return {?}
*/
function () {
var _this = this;
return new Observable((/**
* @param {?} observer
* @return {?}
*/
function (observer) {
_this.http.get('http://ip-api.com/json').subscribe(((/**
* @param {?} response
* @return {?}
*/
function (response) {
observer.next((/** @type {?} */ ({
country: response['countryCode'],
countryName: response['country'],
state: response['region'],
stateName: response['regionName'],
cityName: response['city'],
isp: response['isp'],
longitude: response['lon'],
latitude: response['lat']
})));
observer.complete();
})), (/**
* @param {?} error
* @return {?}
*/
function (error) {
observer.error(error);
}));
}));
};
ApiLookupService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
ApiLookupService.ctorParameters = function () { return [
{ type: HttpClient }
]; };
/** @nocollapse */ ApiLookupService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function ApiLookupService_Factory() { return new ApiLookupService(i0.ɵɵinject(i1.HttpClient)); }, token: ApiLookupService, providedIn: "root" });
return ApiLookupService;
}());
export { ApiLookupService };
if (false) {
/**
* @type {?}
* @private
*/
ApiLookupService.prototype.http;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWxvb2t1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNhdXNlLTkxMS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9zZXJ2aWNlcy9hcGktbG9va3VwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUdoQztJQUtFLDBCQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Ozs7SUFFTSwyQ0FBZ0I7OztJQUF2QjtRQUFBLGlCQWNDO1FBYkMsT0FBTyxJQUFJLFVBQVU7Ozs7UUFBQyxVQUFBLFFBQVE7WUFDNUIsS0FBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUzs7OztZQUFDLFVBQUEsTUFBTTtnQkFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUM7OztZQUFFO2dCQUNELEtBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFNBQVM7Ozs7Z0JBQUMsVUFBQSxNQUFNO29CQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7OztnQkFBRTtvQkFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7Z0JBQ2pELENBQUMsRUFBQyxDQUFDO1lBQ0wsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRU8sK0NBQW9COzs7O0lBQTVCO1FBQUEsaUJBZ0JDO1FBZkMsT0FBTyxJQUFJLFVBQVU7Ozs7UUFBQyxVQUFBLFFBQVE7WUFDNUIsS0FBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQSxRQUFRO2dCQUMxRCxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFXO29CQUN2QixPQUFPLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQztvQkFDakMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUM7b0JBQ3JDLFNBQVMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDO29CQUM1QixRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztvQkFDMUIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7b0JBQ2hDLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDO2lCQUMvQixFQUFBLENBQUMsQ0FBQztnQkFDSCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsQ0FBQzs7OztZQUFFLFVBQUEsS0FBSztnQkFDTixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVPLDZDQUFrQjs7OztJQUExQjtRQUFBLGlCQWtCQztRQWpCQyxPQUFPLElBQUksVUFBVTs7OztRQUFDLFVBQUEsUUFBUTtZQUM1QixLQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQzs7OztZQUFDLFVBQUEsUUFBUTtnQkFDekQsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBVztvQkFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUM7b0JBQ2hDLFdBQVcsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDO29CQUNoQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQztvQkFDekIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUM7b0JBQ2pDLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO29CQUMxQixHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztvQkFDcEIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUM7b0JBQzFCLFFBQVEsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO2lCQUMxQixFQUFBLENBQUMsQ0FBQztnQkFDSCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxFQUFDOzs7O1lBQUUsVUFBQSxLQUFLO2dCQUNQLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7O2dCQTdERixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQU5PLFVBQVU7OzsyQkFEbEI7Q0FtRUMsQUE5REQsSUE4REM7U0EzRFksZ0JBQWdCOzs7Ozs7SUFFZixnQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBcGlMb29rdXB9IGZyb20gJy4uL21vZGVscy9hcGktbG9va3VwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBpTG9va3VwU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgdGhpcy5odHRwID0gaHR0cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJcEluZm9ybWF0aW9uKCk6IE9ic2VydmFibGU8QXBpTG9va3VwPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgIHRoaXMubG9va3VwSXBXaXRoX0lwQXBpKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIG9ic2VydmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH0sICgpID0+IHtcbiAgICAgICAgdGhpcy5sb29rdXBJcFdpdGhfR2VvSXBEYigpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoJ0NhblxcJ3QgbG9va3VwIHRoZSBJUCBhZGRyZXNzJyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvb2t1cElwV2l0aF9HZW9JcERiKCk6IE9ic2VydmFibGU8QXBpTG9va3VwPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoJ2h0dHA6Ly9nZW9pcC1kYi5jb20vanNvbicpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgIG9ic2VydmVyLm5leHQoPEFwaUxvb2t1cD57XG4gICAgICAgICAgY291bnRyeTogcmVzcG9uc2VbJ2NvdW50cnlfY29kZSddLFxuICAgICAgICAgIGNvdW50cnlOYW1lOiByZXNwb25zZVsnY291bnRyeV9uYW1lJ10sXG4gICAgICAgICAgc3RhdGVOYW1lOiByZXNwb25zZVsnc3RhdGUnXSxcbiAgICAgICAgICBjaXR5TmFtZTogcmVzcG9uc2VbJ2NpdHknXSxcbiAgICAgICAgICBsb25naXR1ZGU6IHJlc3BvbnNlWydsb25naXR1ZGUnXSxcbiAgICAgICAgICBsYXRpdHVkZTogcmVzcG9uc2VbJ2xhdGl0dWRlJ11cbiAgICAgICAgfSk7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb29rdXBJcFdpdGhfSXBBcGkoKTogT2JzZXJ2YWJsZTxBcGlMb29rdXA+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgdGhpcy5odHRwLmdldCgnaHR0cDovL2lwLWFwaS5jb20vanNvbicpLnN1YnNjcmliZSgocmVzcG9uc2UgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KDxBcGlMb29rdXA+e1xuICAgICAgICAgIGNvdW50cnk6IHJlc3BvbnNlWydjb3VudHJ5Q29kZSddLFxuICAgICAgICAgIGNvdW50cnlOYW1lOiByZXNwb25zZVsnY291bnRyeSddLFxuICAgICAgICAgIHN0YXRlOiByZXNwb25zZVsncmVnaW9uJ10sXG4gICAgICAgICAgc3RhdGVOYW1lOiByZXNwb25zZVsncmVnaW9uTmFtZSddLFxuICAgICAgICAgIGNpdHlOYW1lOiByZXNwb25zZVsnY2l0eSddLFxuICAgICAgICAgIGlzcDogcmVzcG9uc2VbJ2lzcCddLFxuICAgICAgICAgIGxvbmdpdHVkZTogcmVzcG9uc2VbJ2xvbiddLFxuICAgICAgICAgIGxhdGl0dWRlOiByZXNwb25zZVsnbGF0J11cbiAgICAgICAgfSk7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9KSwgZXJyb3IgPT4ge1xuICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19