UNPKG

anvisa-med

Version:

Biblioteca para acessar medicamentos na ANVISA

66 lines (65 loc) 2.47 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchPill = void 0; const searchBase_1 = require("./searchBase"); /** * @link https://consultas.anvisa.gov.br/#/medicamentos/ */ class SearchPill extends searchBase_1.SearchBase { constructor() { super("1", "20"); this.append("filter[situacaoRegistro]", "V"); } /** * @alias "Nome do Produto" */ medication(name) { this.append("filter[nomeProduto]", name); return this; } /** * @alias "Número do Registro" */ registrationNumber(number) { this.append("filter[numeroRegistro]", number); return this; } /** * @alias "Número do CNPJ do Detentor do Registro" */ cnpj(document) { this.append("filter[cnpj]", document); return this; } requestWithRetry(tentativies) { const _super = Object.create(null, { requestWithRetry: { get: () => super.requestWithRetry } }); return __awaiter(this, void 0, void 0, function* () { return _super.requestWithRetry.call(this, tentativies); }); } request() { return __awaiter(this, void 0, void 0, function* () { const data = yield this.http.get("https://consultas.anvisa.gov.br/api/consulta/medicamento/produtos?" + this.searchParams.toString()); return data.content.map((x) => { x.linkDetalhes = `https://consultas.anvisa.gov.br/api/consulta/medicamento/produtos/${x.processo.numero}`; x.getProductDetails = () => { return this.http.get(x.linkDetalhes); }; return x; }); }); } } exports.SearchPill = SearchPill;