@muzykantov/ngx-dadata
Version:
Angular 6+ [DaData][dadata] suggestion (подсказки) implementation
69 lines • 5.11 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from "@angular/common/http";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
/** @enum {string} */
const DaDataType = {
fio: "fio",
address: "address",
party: "party",
bank: "bank",
email: "email",
};
export { DaDataType };
export class NgxDaDataService {
/**
* @param {?} http
*/
constructor(http) {
this.http = http;
this.apiKey = '';
}
/**
* @param {?} key
* @return {?}
*/
setApiKey(key) {
this.apiKey = key;
}
/**
* @param {?} value
* @param {?=} type
* @param {?=} count
* @param {?=} options
* @return {?}
*/
getData(value, type = DaDataType.address, count = 10, options = null) {
/** @type {?} */
const httpOptions = {
headers: new HttpHeaders({
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Token ' + this.apiKey,
})
};
/** @type {?} */
const body = Object.assign({ query: value, count: count }, options);
return this.http.post("https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/" + type, body, httpOptions);
}
}
NgxDaDataService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
NgxDaDataService.ctorParameters = () => [
{ type: HttpClient }
];
/** @nocollapse */ NgxDaDataService.ngInjectableDef = i0.defineInjectable({ factory: function NgxDaDataService_Factory() { return new NgxDaDataService(i0.inject(i1.HttpClient)); }, token: NgxDaDataService, providedIn: "root" });
if (false) {
/** @type {?} */
NgxDaDataService.prototype.apiKey;
/** @type {?} */
NgxDaDataService.prototype.http;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhLWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdXp5a2FudG92L25neC1kYWRhdGEvIiwic291cmNlcyI6WyJsaWIvbmd4LWRhLWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7OztJQUszRCxLQUFNLEtBQUs7SUFDWCxTQUFVLFNBQVM7SUFDbkIsT0FBUSxPQUFPO0lBQ2YsTUFBTyxNQUFNO0lBQ2IsT0FBUSxPQUFPOzs7QUFNakIsTUFBTSxPQUFPLGdCQUFnQjs7OztJQUczQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRnBDLFdBQU0sR0FBRyxFQUFFLENBQUM7SUFFNEIsQ0FBQzs7Ozs7SUFFekMsU0FBUyxDQUFDLEdBQVc7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDcEIsQ0FBQzs7Ozs7Ozs7SUFFRCxPQUFPLENBQUMsS0FBYSxFQUFFLE9BQW1CLFVBQVUsQ0FBQyxPQUFPLEVBQUUsUUFBZ0IsRUFBRSxFQUFFLFVBQWUsSUFBSTs7Y0FDN0YsV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsY0FBYyxFQUFHLGtCQUFrQjtnQkFDbkMsZUFBZSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTTthQUN4QyxDQUFDO1NBQ0g7O2NBRUssSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUIsK0RBQStELEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNsSSxDQUFDOzs7WUF2QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFkTyxVQUFVOzs7OztJQWdCaEIsa0NBQVk7O0lBRUEsZ0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0RhRGF0YVJlc3BvbnNlfSBmcm9tIFwiLi9tb2RlbHMvZGEtZGF0YS1yZXNwb25zZVwiO1xyXG5cclxuZXhwb3J0IGVudW0gRGFEYXRhVHlwZSB7XHJcbiAgZmlvID0gXCJmaW9cIixcclxuICBhZGRyZXNzID0gXCJhZGRyZXNzXCIsXHJcbiAgcGFydHkgPSBcInBhcnR5XCIsXHJcbiAgYmFuayA9IFwiYmFua1wiLFxyXG4gIGVtYWlsID0gXCJlbWFpbFwiXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neERhRGF0YVNlcnZpY2Uge1xyXG4gIGFwaUtleSA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICBzZXRBcGlLZXkoa2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYXBpS2V5ID0ga2V5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSh2YWx1ZTogc3RyaW5nLCB0eXBlOiBEYURhdGFUeXBlID0gRGFEYXRhVHlwZS5hZGRyZXNzLCBjb3VudDogbnVtYmVyID0gMTAsIG9wdGlvbnM6IGFueSA9IG51bGwpOiBPYnNlcnZhYmxlPERhRGF0YVJlc3BvbnNlPntcclxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgJ0F1dGhvcml6YXRpb24nOiAnVG9rZW4gJyArIHRoaXMuYXBpS2V5LFxyXG4gICAgICB9KVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBib2R5ID0gT2JqZWN0LmFzc2lnbih7IHF1ZXJ5OiB2YWx1ZSwgY291bnQ6IGNvdW50IH0sIG9wdGlvbnMpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PERhRGF0YVJlc3BvbnNlPihcImh0dHBzOi8vc3VnZ2VzdGlvbnMuZGFkYXRhLnJ1L3N1Z2dlc3Rpb25zL2FwaS80XzEvcnMvc3VnZ2VzdC9cIiArIHR5cGUsIGJvZHksIGh0dHBPcHRpb25zKVxyXG4gIH1cclxufVxyXG4iXX0=