@kolkov/ngx-dadata
Version:
Angular 6+ and 13+ DaData suggestion (подсказки) implementation
42 lines • 5.68 kB
JavaScript
import { Injectable } from '@angular/core';
import { HttpHeaders } from '@angular/common/http';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export var DadataType;
(function (DadataType) {
DadataType["fio"] = "fio";
DadataType["address"] = "address";
DadataType["party"] = "party";
DadataType["bank"] = "bank";
DadataType["email"] = "email";
})(DadataType || (DadataType = {}));
export class NgxDadataService {
constructor(http) {
this.http = http;
this.apiKey = '';
}
setApiKey(key) {
this.apiKey = key;
}
// eslint-disable-next-line max-len
getData(value, type = DadataType.address, config) {
const httpOptions = {
headers: new HttpHeaders({
Accept: 'application/json',
'Content-Type': 'application/json',
Authorization: 'Token ' + this.apiKey,
})
};
const body = Object.assign({}, { query: value }, { count: config?.limit }, { location: config?.locations }, { location_bust: config?.locationsBoost }, { from_bound: config?.bounds?.fromBound }, { to_bound: config?.bounds?.toBound });
return this.http.post('https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/' + type, body, httpOptions);
}
}
NgxDadataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NgxDadataService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
NgxDadataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NgxDadataService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NgxDadataService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRhZGF0YS9zcmMvbGliL25neC1kYWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzdELE1BQU0sQ0FBTixJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIseUJBQVcsQ0FBQTtJQUNYLGlDQUFtQixDQUFBO0lBQ25CLDZCQUFlLENBQUE7SUFDZiwyQkFBYSxDQUFBO0lBQ2IsNkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckI7QUFLRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGcEMsV0FBTSxHQUFHLEVBQUUsQ0FBQztJQUdaLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBVztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLE9BQU8sQ0FBQyxLQUFhLEVBQUUsT0FBbUIsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFvQjtRQUNoRixNQUFNLFdBQVcsR0FBRztZQUNsQixPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3ZCLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDdEMsQ0FBQztTQUNILENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN4QixFQUFFLEVBQ0YsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLEVBQ2QsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxFQUN0QixFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLEVBQzdCLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUMsRUFDdkMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsRUFDdkMsRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUMsQ0FDcEMsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWlCLCtEQUErRCxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkksQ0FBQzs7OEdBN0JVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RhZGF0YVJlc3BvbnNlfSBmcm9tICcuL21vZGVscy9kYWRhdGEtcmVzcG9uc2UnO1xuaW1wb3J0IHtCb3VuZHMsIERhZGF0YUNvbmZpZywgTG9jYXRpb259IGZyb20gJy4vZGFkYXRhLWNvbmZpZyc7XG5cbmV4cG9ydCBlbnVtIERhZGF0YVR5cGUge1xuICBmaW8gPSAnZmlvJyxcbiAgYWRkcmVzcyA9ICdhZGRyZXNzJyxcbiAgcGFydHkgPSAncGFydHknLFxuICBiYW5rID0gJ2JhbmsnLFxuICBlbWFpbCA9ICdlbWFpbCdcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4RGFkYXRhU2VydmljZSB7XG4gIGFwaUtleSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICB9XG5cbiAgc2V0QXBpS2V5KGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5hcGlLZXkgPSBrZXk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICBnZXREYXRhKHZhbHVlOiBzdHJpbmcsIHR5cGU6IERhZGF0YVR5cGUgPSBEYWRhdGFUeXBlLmFkZHJlc3MsIGNvbmZpZzogRGFkYXRhQ29uZmlnKTogT2JzZXJ2YWJsZTxEYWRhdGFSZXNwb25zZT4ge1xuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIEF1dGhvcml6YXRpb246ICdUb2tlbiAnICsgdGhpcy5hcGlLZXksXG4gICAgICB9KVxuICAgIH07XG4gICAgY29uc3QgYm9keSA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIHtxdWVyeTogdmFsdWV9LFxuICAgICAge2NvdW50OiBjb25maWc/LmxpbWl0fSxcbiAgICAgIHtsb2NhdGlvbjogY29uZmlnPy5sb2NhdGlvbnN9LFxuICAgICAge2xvY2F0aW9uX2J1c3Q6IGNvbmZpZz8ubG9jYXRpb25zQm9vc3R9LFxuICAgICAge2Zyb21fYm91bmQ6IGNvbmZpZz8uYm91bmRzPy5mcm9tQm91bmR9LFxuICAgICAge3RvX2JvdW5kOiBjb25maWc/LmJvdW5kcz8udG9Cb3VuZH1cbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxEYWRhdGFSZXNwb25zZT4oJ2h0dHBzOi8vc3VnZ2VzdGlvbnMuZGFkYXRhLnJ1L3N1Z2dlc3Rpb25zL2FwaS80XzEvcnMvc3VnZ2VzdC8nICsgdHlwZSwgYm9keSwgaHR0cE9wdGlvbnMpO1xuICB9XG59XG4iXX0=