import FormData from 'form-data'; export interface 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 = ''; // 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; /** * 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 parseContent(contentType: string, text: string): Promise; /** * 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): Promise; }