UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

92 lines (91 loc) 4.37 kB
/** TYPES **/ export interface XHRResponseInit extends ResponseInit { url?: string; } declare const XHRResponse_base: { new (body?: BodyInit | null | undefined, init?: ResponseInit | undefined): Response; prototype: Response; error(): Response; redirect(url: string | URL, status?: number | undefined): Response; }; export declare class XHRResponse extends XHRResponse_base { protected _url: string; constructor(body?: BodyInit | null, init?: XHRResponseInit); get url(): string; } /** TYPES **/ export declare type XHRResponseTypeExtended = XMLHttpRequestResponseType | 'binary-string'; export declare function areReadableStreamSupported(): boolean; export declare function isReadableStream(value: any): value is ReadableStream; /** INIT AND SEND XHR FROM REQUEST **/ /** * Sets headers (type Headers) into xhr (type XMLHttpRequest) */ export declare function setHeadersIntoXHR(headers: Headers, xhr: XMLHttpRequest): void; /** * Returns a boolean to assign to xhr.withCredentials from the parameters extracted from request */ export declare function getXHRWithCredentialsValueFromRequest(request: Request): boolean; /** * Inits an XMLHttpRequest from a Request: * - sets proper responseType, withCredentials, headers, etc... * - aborts xhr if request.signal is aborted */ export declare function initXHRFromRequest(request: Request, xhr: XMLHttpRequest, responseType: XHRResponseTypeExtended): void; /** * Inits an XMLHttpRequest from a Request, and sends the body */ export declare function initAndSendXHRFromRequestAndBody(xhr: XMLHttpRequest, responseType: XHRResponseTypeExtended, request: Request, body: BodyInit | null): void; /** * Inits an XMLHttpRequest from a Request, and sends the body as a ReadableStream. */ export declare function initAndSendXHRFromRequestUsingReadableStream(xhr: XMLHttpRequest, responseType: XHRResponseTypeExtended, request: Request): void; /** * Inits an XMLHttpRequest from a Request, and sends the body as a Blob. */ export declare function initAndSendXHRFromRequestUsingBlob(xhr: XMLHttpRequest, responseType: XHRResponseTypeExtended, request: Request, signal?: AbortSignal): Promise<void>; /** * Inits and sends an XMLHttpRequest from a Request. Chooses best sending method. */ export declare function initAndSendXHRFromRequest(xhr: XMLHttpRequest, responseType: XHRResponseTypeExtended, request: Request, signal?: AbortSignal): Promise<void>; /** CONVERTS FINISHED XHR INTO RESPONSE **/ /** * Converts a binary string to an Uint8Array */ export declare function binaryStringToUint8Array(input: string): Uint8Array; /** * Converts an XHR.response (having different formats) into an Uint8Array * INFO: Assumes xhr.readyState is xhr.DONE and response is not null */ export declare function XHRResponseToUint8Array(xhr: XMLHttpRequest, responseType?: XHRResponseTypeExtended): Uint8Array; /** * Converts an XHR.response (having different formats) into a Blob * Assumes xhr.readyState is xhr.DONE and response is not null */ export declare function XHRResponseToBlob(xhr: XMLHttpRequest, responseType?: XHRResponseTypeExtended): Blob; /** * Converts an XHR.response (having different formats) into a ReadableStream * Assumes xhr.readyState before or equals to xhr.HEADERS_RECEIVED */ export declare function XHRResponseToReadableStream(xhr: XMLHttpRequest, responseType?: XHRResponseTypeExtended): ReadableStream<Uint8Array>; export declare type IHeaderTuple = [key: string, value: string]; /** * Converts a raw headers' string to an array of tuple [key, value] */ export declare function parseRawHeaders(headers: string): IHeaderTuple[]; /** * Creates a ResponseInit from an XHR.response * Assumes xhr.readyState after or equals to xhr.HEADERS_RECEIVED */ export declare function XHRResponseToResponseInit(xhr: XMLHttpRequest): XHRResponseInit; /** * Creates a Response from an XMLHttpRequest. * Assumes xhr.readyState is xhr.DONE and response is not null */ export declare function XHRResponseToResponse(xhr: XMLHttpRequest, responseType?: XHRResponseTypeExtended): Response; /** * Creates a Response from an XMLHttpRequest. Uses ReadableStream. * Assumes xhr.readyState is after or equal to HEADERS_RECEIVED */ export declare function XHRResponseToResponseUsingReadableStream(xhr: XMLHttpRequest, responseType?: XHRResponseTypeExtended): Response; export {};