@magicnov/ngx-dadata
Version:
Angular 6+ and 13+ DaData suggestion (подсказки) implementation with Material Design
42 lines • 5.99 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWRhZGF0YS9zcmMvbGliL25neC1kYWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSy9ELE1BQU0sQ0FBTixJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIseUJBQVcsQ0FBQTtJQUNYLGlDQUFtQixDQUFBO0lBQ25CLDZCQUFlLENBQUE7SUFDZiwyQkFBYSxDQUFBO0lBQ2IsNkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckI7QUFLRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGcEMsV0FBTSxHQUFHLEVBQUUsQ0FBQztJQUUyQixDQUFDO0lBRXhDLFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsT0FBTyxDQUNMLEtBQWEsRUFDYixPQUFtQixVQUFVLENBQUMsT0FBTyxFQUNyQyxNQUFvQjtRQUVwQixNQUFNLFdBQVcsR0FBRztZQUNsQixPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3ZCLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDdEMsQ0FBQztTQUNILENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN4QixFQUFFLEVBQ0YsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQ2hCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFDeEIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUMvQixFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEVBQ3pDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQ3pDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQ3RDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQiwrREFBK0QsR0FBRyxJQUFJLEVBQ3RFLElBQUksRUFDSixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7OzhHQXBDVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRGFkYXRhUmVzcG9uc2UgfSBmcm9tIFwiLi9tb2RlbHMvZGFkYXRhLXJlc3BvbnNlXCI7XHJcbmltcG9ydCB7IERhZGF0YUNvbmZpZyB9IGZyb20gXCIuL2RhZGF0YS1jb25maWdcIjtcclxuXHJcbmV4cG9ydCBlbnVtIERhZGF0YVR5cGUge1xyXG4gIGZpbyA9IFwiZmlvXCIsXHJcbiAgYWRkcmVzcyA9IFwiYWRkcmVzc1wiLFxyXG4gIHBhcnR5ID0gXCJwYXJ0eVwiLFxyXG4gIGJhbmsgPSBcImJhbmtcIixcclxuICBlbWFpbCA9IFwiZW1haWxcIixcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4RGFkYXRhU2VydmljZSB7XHJcbiAgYXBpS2V5ID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICBzZXRBcGlLZXkoa2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYXBpS2V5ID0ga2V5O1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICBnZXREYXRhKFxyXG4gICAgdmFsdWU6IHN0cmluZyxcclxuICAgIHR5cGU6IERhZGF0YVR5cGUgPSBEYWRhdGFUeXBlLmFkZHJlc3MsXHJcbiAgICBjb25maWc6IERhZGF0YUNvbmZpZ1xyXG4gICk6IE9ic2VydmFibGU8RGFkYXRhUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgQXV0aG9yaXphdGlvbjogXCJUb2tlbiBcIiArIHRoaXMuYXBpS2V5LFxyXG4gICAgICB9KSxcclxuICAgIH07XHJcbiAgICBjb25zdCBib2R5ID0gT2JqZWN0LmFzc2lnbihcclxuICAgICAge30sXHJcbiAgICAgIHsgcXVlcnk6IHZhbHVlIH0sXHJcbiAgICAgIHsgY291bnQ6IGNvbmZpZz8ubGltaXQgfSxcclxuICAgICAgeyBsb2NhdGlvbjogY29uZmlnPy5sb2NhdGlvbnMgfSxcclxuICAgICAgeyBsb2NhdGlvbl9idXN0OiBjb25maWc/LmxvY2F0aW9uc0Jvb3N0IH0sXHJcbiAgICAgIHsgZnJvbV9ib3VuZDogY29uZmlnPy5ib3VuZHM/LmZyb21Cb3VuZCB9LFxyXG4gICAgICB7IHRvX2JvdW5kOiBjb25maWc/LmJvdW5kcz8udG9Cb3VuZCB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PERhZGF0YVJlc3BvbnNlPihcclxuICAgICAgXCJodHRwczovL3N1Z2dlc3Rpb25zLmRhZGF0YS5ydS9zdWdnZXN0aW9ucy9hcGkvNF8xL3JzL3N1Z2dlc3QvXCIgKyB0eXBlLFxyXG4gICAgICBib2R5LFxyXG4gICAgICBodHRwT3B0aW9uc1xyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19