taro-fetch-polyfill
Version:
W3C fetch() API polyfill for Taro 3+
74 lines (72 loc) • 2.75 kB
TypeScript
import MPBlob from "miniprogram-blob";
import { ReadableStream as _ReadableStream1, ReadableStream, WritableStream, TransformStream } from "web-streams-polyfill";
import FormData from "miniprogram-formdata";
import URLSearchParams from "@ungap/url-search-params";
export class Headers implements globalThis.Headers {
constructor(init?: HeadersInit);
append(name: string, value: string): void;
set(name: string, value: string): void;
get(name: string): string;
has(name: string): boolean;
delete(name: string): void;
[Symbol.iterator](): Generator<[string, string], void, unknown>;
entries(): Generator<[string, string], void, unknown>;
keys(): Generator<string, void, unknown>;
values(): Generator<string, void, unknown>;
forEach(callbackfn: (value: string, key: string, parent: globalThis.Headers) => void, thisArg?: any): void;
getSetCookie(): string[];
}
export class Blob extends MPBlob implements globalThis.Blob {
bytes(): Promise<Uint8Array<ArrayBuffer>>;
slice(start?: number, end?: number, contentType?: string): Blob;
stream(): _ReadableStream1<any>;
}
export { FormData, ReadableStream, TransformStream, WritableStream };
export class Body implements globalThis.Body {
body: ReadableStream<Uint8Array> | null;
bodyUsed: boolean;
bytes(): Promise<Uint8Array<ArrayBuffer>>;
arrayBuffer(): Promise<ArrayBuffer>;
blob(): Promise<Blob>;
text(): Promise<string>;
json(): Promise<any>;
/**
* @deprecated 尚未实现内部逻辑
*/
formData(): Promise<globalThis.FormData>;
}
export { URLSearchParams };
export type BodyInit = string | URLSearchParams | FormData | Blob | BufferSource | _ReadableStream1;
export class Response extends Body implements globalThis.Response {
type: ResponseType;
url: string;
status: number;
statusText: string;
ok: boolean;
redirected: boolean;
headers: Headers;
constructor(body?: BodyInit | null, init?: ResponseInit);
clone(): Response & this;
}
export interface RequestInit extends Omit<globalThis.RequestInit, 'body'> {
body?: BodyInit | null;
}
export class Request extends Body implements globalThis.Request {
cache: RequestCache;
credentials: RequestCredentials;
destination: RequestDestination;
headers: Headers;
integrity: string;
keepalive: boolean;
method: string;
mode: RequestMode;
redirect: RequestRedirect;
referrer: string;
referrerPolicy: ReferrerPolicy;
signal: AbortSignal;
url: string;
constructor(input: RequestInfo | URL, init?: RequestInit);
clone(): Request;
}
export function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
//# sourceMappingURL=index.d.ts.map