oxid é um módulo de solicitação http isomórfico baseado em observável rxjs.
Isso tem dependências de pares de rxjs@6 , que também deverão ser instaladas
npm instalar óxido
Oxid exporta a instância padrão oxid e também expõe a classe Oxid para construir instâncias separadas.
import {oxid, Oxid} from 'oxid';oxid.get('url', options).subscribe();const anotherInstance = new Oxid(customConfigurations);anotherInstance.get('url', options).subscribe(); Todos os retornos da interface do oxid Observable<HttpEvent<T>> permitem assinar da função request base para a função do método http.
digite requestMethodType = <T>(url: string, config?: RequestConfig) => Observable<HttpEvent<T>>;type requestMethodWithDataType = <T, U>(url: string, dados?: T, config?: RequestConfig) = > Observable<HttpEvent<U>>;class Oxid {
exclusão somente leitura pública: requestMethodType;
obtenção somente leitura pública: requestMethodType;
cabeçalho somente leitura público: requestMethodType;
opções públicas somente leitura: requestMethodType;
postagem pública somente leitura: requestMethodWithDataType;
colocação somente leitura pública: requestMethodWithDataType;
patch somente leitura público: requestMethodWithDataType;
solicitação pública<T estende objeto | string = qualquer>(url: string, config?: RequestConfig): Observable<HttpEvent<T>>;
solicitação pública<T estende objeto | string = qualquer>(url: string): Observable<HttpEvent<T>>;
solicitação pública<T estende objeto | string = qualquer>(config: RequestConfig): Observable<HttpEvent<T>>;
solicitação pública<T estende objeto | string = qualquer>(urlOrConfig: RequestConfig | string,config?: RequestConfig
): Observable<HttpEvent<T>> { Oxid inclui um conjunto padrão de valores de configuração. Este valor será usado quando usar a instância de solicitação oxid . Ao criar uma nova instância via classe, ela não inclui nenhum valor de opção por padrão, deve ser especificada via construtor de classe. Ainda assim, o método individual ( request() e rest) aceita RequestConfig separadamente, que será mesclado nas configurações quando a instância estiver sendo criada.
interface RequestConfigBase {
url?: string;
método?: Método;
baseURL?: string;
transformRequest?: Transformador | Matriz<Transformador>;
transformResponse?: Transformador | Matriz<Transformador>;
cabeçalhos?: algum;
parâmetros?: qualquer;
paramsSerializer?: (params: qualquer) => string;
dados?: algum;
adaptador?: Adaptador;
autenticação?: BasicCredentials;
tipo de resposta?: Tipo de resposta;
respostaEncoding?: string;
xsrfCookieName?: string;
xsrfHeaderName?: string;
maxContentLength?: número;
validarStatus?: (status: número) => booleano;
maxRedirects?: número;
socketPath?: string | nulo;
proxy?: ProxyConfig;}interface RequestConfigNode estende RequestConfigBase {
/** * Agente customizado a ser usado na solicitação http do nó. */
httpAgente?: qualquer;
/** * Agente customizado a ser usado na solicitação https do nó. */
httpsAgente?: qualquer;
transporte?: {solicitação: typeof import('http').request };}interface RequestConfigBrowser estende RequestConfigBase {
/** * Emite evento de progresso para solicitação xhr. */
reportProgress?: booleano;
withCredentials?: booleano;} importar {oxid, Oxid, defaultOptions} de 'oxid';oxid.get(url); //usará `defaultOptions`oxid.get({url, withCredentials: false}); // usará `defaultOptions`, substituirá `withCredentials`const another = new Oxid(); //sem configuração baseconst anotherWithConfig = new oxid({withCredendials: false}) //definir configuração baseanotherWithConfig.get({url, withCredentials: false}) //usará a configuração quando a instância for criada, substitua `withCredentials` Observe que o objeto defaultOptions é imutável. Alterar e reatribuir valores ao valor de configuração padrão existente não funcionará; em vez disso, deverá criar um novo objeto de configuração.
O próprio Oxid não possui mecanismo para gravar log. Em vez disso, ele expõe uma função para conectar qualquer registrador usado no aplicativo.
function enableLogger(logger: logFunctionType): void;function enableLogger(logger: Partial<Logger>): void;
Pode ser uma função única ou um objeto com níveis de log como depuração, informação, aviso, erro. Notas enableLogger é uma função global que afeta qualquer instância do oxid e só começa a emitir log uma vez após enableLogger ter sido chamado.
import { enableLogger, oxid } from 'oxid';// logs não são emitidosoxid.get().subscribe();enableLogger(console.log.bind(console));// agora logs internos serão emitidos via consoleoxid.get ().subscrever();Poucos scripts npm são suportados para código de construção/teste.
build : transpila o código para dist .
build:clean : Limpa a compilação existente.
test : execute o teste de unidade. Não requer build antes de executar o teste.
lint : Execute lint em todas as bases de código.
Embora este módulo NÃO seja oficialmente afiliado, ele depende de muita arte anterior de axios e @angular/http . Você pode notar algumas lógicas semelhantes e isso é esperado.