UNPKG

bipbop-webservice

Version:

Chamada aos serviços da BIPBOP via NodeJS ou pelo navegador.

55 lines (54 loc) 2.06 kB
import FormData from 'form-data'; export declare type Form = { [conf: string]: string; }; /** * A classe WebService é responsável para que aplicações possam * se comunicar com a BIPBOP com facilidade usando o esquema fetch * https://developer.mozilla.org/pt-BR/docs/Web/API/Fetch_API/Using_Fetch * * @example * ```typescript *import WebService from 'bipbop-webservice/web-service'; * *const maxClients = 10; *const fetchOptions: RequestInit = {}; // https://developer.mozilla.org/pt-BR/docs/Web/API/Fetch_API/Using_Fetch *const apiKey = '<secret>'; // Chave de API da BIPBOP (https://www.bipbop.com.br) * *new WebService(apiKey, maxClients, fetchOptions) * .request("SELECT FROM 'INFO'.'INFO'") * .then(r => r.text()) * .then(r => console.log(r)); * ``` */ export default class WebService { configs: RequestInit; apiKey: string; private bipbopLimit; /** * Inicializa uma consulta * * @param apiKey Chave de API da BIPBOP (https://www.bipbop.com.br) * @param userLimit Quantidade máxima de consultas simultâneas * @param configs Configurações do fetch (https://developer.mozilla.org/pt-BR/docs/Web/API/Fetch_API/Using_Fetch) */ constructor(apiKey?: string, userLimit?: number | null, configs?: RequestInit); private static formData; private object; private validate; static throwException(dom: Document): boolean; /** * Realiza uma requisição * * @param query Consulta a BIPBOP (ex.: SELECT FROM 'INFO'.'INFO') * @param form Parâmetros da consulta - POST * @param urlData Parâmetros da consulta - GET */ request(query: string, form?: Form | FormData, urlData?: Form): Promise<Response>; /** * Faz o parser de uma requisição BIPBOP * @param responsePromise Request inicializado * @returns No caso de um XML retorna um Document (https://developer.mozilla.org/pt-BR/docs/Web/API/Document), se não, um tipo qualquer. */ static parse(responsePromise: Promise<Response> | Response): Promise<any>; }