mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-15 01:32:56 +08:00
Merge pull request #10899 from toddlucas/isomorphic-fetch-update
Isomorphic fetch update
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
/// <reference path="isomorphic-fetch.d.ts"/>
|
||||
/// <reference path="../bluebird/bluebird-2.0.d.ts" />
|
||||
|
||||
import fetchImportedViaCommonJS = require('isomorphic-fetch');
|
||||
import * as fetchImportedViaES6Module from 'isomorphic-fetch';
|
||||
|
||||
179
isomorphic-fetch/isomorphic-fetch.d.ts
vendored
179
isomorphic-fetch/isomorphic-fetch.d.ts
vendored
@@ -3,48 +3,53 @@
|
||||
// Definitions by: Todd Lucas <https://github.com/toddlucas>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare enum RequestContext {
|
||||
"audio", "beacon", "cspreport", "download", "embed", "eventsource",
|
||||
"favicon", "fetch", "font", "form", "frame", "hyperlink", "iframe",
|
||||
"image", "imageset", "import", "internal", "location", "manifest",
|
||||
"object", "ping", "plugin", "prefetch", "script", "serviceworker",
|
||||
"sharedworker", "subresource", "style", "track", "video", "worker",
|
||||
"xmlhttprequest", "xslt"
|
||||
}
|
||||
declare enum RequestMode { "same-origin", "no-cors", "cors" }
|
||||
declare enum RequestCredentials { "omit", "same-origin", "include" }
|
||||
declare enum RequestCache {
|
||||
"default", "no-store", "reload", "no-cache", "force-cache",
|
||||
"only-if-cached"
|
||||
}
|
||||
declare enum ResponseType { "basic", "cors", "default", "error", "opaque" }
|
||||
type RequestType = "" | "audio" | "font" | "image" | "script" | "style" |
|
||||
"track" | "video";
|
||||
type RequestDestination = "" | "document" | "embed" | "font" | "image" |
|
||||
"manifest" | "media" | "object" | "report" | "script" | "serviceworker" |
|
||||
"sharedworker" | "style" | "worker" | "xslt";
|
||||
type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors";
|
||||
type RequestCredentials = "omit" | "same-origin" | "include";
|
||||
type RequestCache =
|
||||
"default" | "no-store" | "reload" | "no-cache" | "force-cache" |
|
||||
"only-if-cached";
|
||||
type RequestRedirect = "follow" | "error" | "manual";
|
||||
|
||||
declare type HeaderInit = Headers | Array<string>;
|
||||
declare type BodyInit = ArrayBuffer | ArrayBufferView | Blob | FormData | string;
|
||||
declare type RequestInfo = Request | string;
|
||||
type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" |
|
||||
"opaqueredirect";
|
||||
|
||||
interface RequestInit {
|
||||
method?: string;
|
||||
headers?: HeaderInit | { [index: string]: string };
|
||||
body?: BodyInit;
|
||||
mode?: string | RequestMode;
|
||||
credentials?: string | RequestCredentials;
|
||||
cache?: string | RequestCache;
|
||||
}
|
||||
type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" |
|
||||
"same-origin" | "origin" | "strict-origin" | "origin-when-cross-origin" |
|
||||
"strict-origin-when-cross-origin" | "unsafe-url";
|
||||
|
||||
interface IHeaders {
|
||||
get(name: string): string;
|
||||
getAll(name: string): Array<string>;
|
||||
has(name: string): boolean;
|
||||
}
|
||||
|
||||
declare class Headers implements IHeaders {
|
||||
append(name: string, value: string): void;
|
||||
delete(name: string):void;
|
||||
delete(name: string): void;
|
||||
get(name: string): string;
|
||||
getAll(name: string): Array<string>;
|
||||
has(name: string): boolean;
|
||||
set(name: string, value: string): void;
|
||||
|
||||
// TODO: iterable<string, string>;
|
||||
forEach(callback: (value: string, index: number, headers: IHeaders) => void, thisArg?: any): void;
|
||||
// NOTE: The following are supported by whatwg-fetch but not node-fetch.
|
||||
// entries(): IterableIterator<[string, string]>;
|
||||
// keys(): IterableIterator<string>;
|
||||
// values(): IterableIterator<string>;
|
||||
}
|
||||
|
||||
type HeadersInit = Headers | Array<string> | { [index: string]: string };
|
||||
|
||||
declare class Headers implements IHeaders {
|
||||
constructor(init?: HeadersInit);
|
||||
append(name: string, value: string): void;
|
||||
delete(name: string): void;
|
||||
get(name: string): string;
|
||||
getAll(name: string): Array<string>;
|
||||
has(name: string): boolean;
|
||||
set(name: string, value: string): void;
|
||||
|
||||
forEach(callback: (value: string, index: number, headers: IHeaders) => void, thisArg?: any): void;
|
||||
}
|
||||
|
||||
interface IBody {
|
||||
@@ -70,49 +75,109 @@ declare class Body implements IBody {
|
||||
interface IRequest extends IBody {
|
||||
method: string;
|
||||
url: string;
|
||||
headers: Headers;
|
||||
context: string | RequestContext;
|
||||
referrer: string;
|
||||
mode: string | RequestMode;
|
||||
credentials: string | RequestCredentials;
|
||||
cache: string | RequestCache;
|
||||
headers: IHeaders;
|
||||
|
||||
type: RequestType;
|
||||
destination: RequestDestination;
|
||||
referrer?: string;
|
||||
referrerPolicy?: ReferrerPolicy;
|
||||
mode: RequestMode;
|
||||
credentials: RequestCredentials;
|
||||
cache: RequestCache;
|
||||
redirect?: RequestRedirect;
|
||||
integrity?: string;
|
||||
|
||||
clone(): IRequest;
|
||||
}
|
||||
|
||||
type BodyInit = Blob | ArrayBufferView | ArrayBuffer | FormData /* | URLSearchParams */ | string;
|
||||
|
||||
interface RequestInit {
|
||||
method?: string;
|
||||
headers?: HeadersInit;
|
||||
body?: BodyInit;
|
||||
referrer?: string;
|
||||
referrerPolicy?: ReferrerPolicy;
|
||||
mode?: RequestMode;
|
||||
credentials?: RequestCredentials;
|
||||
cache?: RequestCache;
|
||||
redirect?: RequestRedirect;
|
||||
integrity?: string;
|
||||
window?: any; // can only be set to null
|
||||
}
|
||||
|
||||
type RequestInfo = IRequest | string;
|
||||
|
||||
declare class Request extends Body implements IRequest {
|
||||
constructor(input: string | Request, init?: RequestInit);
|
||||
constructor(input: RequestInfo, init?: RequestInit);
|
||||
|
||||
method: string;
|
||||
url: string;
|
||||
headers: Headers;
|
||||
context: string | RequestContext;
|
||||
headers: IHeaders;
|
||||
|
||||
type: RequestType
|
||||
destination: RequestDestination;
|
||||
referrer: string;
|
||||
mode: string | RequestMode;
|
||||
credentials: string | RequestCredentials;
|
||||
cache: string | RequestCache;
|
||||
referrerPolicy: ReferrerPolicy;
|
||||
mode: RequestMode;
|
||||
credentials: RequestCredentials;
|
||||
cache: RequestCache;
|
||||
redirect: RequestRedirect;
|
||||
integrity: string;
|
||||
|
||||
clone(): IRequest;
|
||||
}
|
||||
|
||||
interface IResponse extends IBody {
|
||||
type: ResponseType;
|
||||
|
||||
url: string;
|
||||
redirected: boolean;
|
||||
status: number;
|
||||
statusText: string;
|
||||
ok: boolean;
|
||||
headers: IHeaders;
|
||||
type: string | ResponseType;
|
||||
size: number;
|
||||
timeout: number;
|
||||
redirect(url: string, status: number): IResponse;
|
||||
error(): IResponse;
|
||||
// size: number;
|
||||
// timeout: number;
|
||||
body: any;
|
||||
trailer: Promise<IHeaders>;
|
||||
|
||||
clone(): IResponse;
|
||||
}
|
||||
|
||||
interface IFetchStatic {
|
||||
Promise: any;
|
||||
Headers: IHeaders
|
||||
Request: IRequest;
|
||||
Response: IResponse;
|
||||
(url: string | IRequest, init?: RequestInit): Promise<IResponse>;
|
||||
type ResponseBodyInit = BodyInit;
|
||||
|
||||
interface ResponseInit {
|
||||
status?: number;
|
||||
statusText?: string;
|
||||
headers?: HeadersInit;
|
||||
}
|
||||
|
||||
declare var fetch: IFetchStatic;
|
||||
declare class Response extends Body implements IResponse {
|
||||
constructor(body?: ResponseBodyInit, init?: ResponseInit);
|
||||
|
||||
static redirect(url: string, status?: number): IResponse;
|
||||
static error(): IResponse;
|
||||
|
||||
type: ResponseType
|
||||
|
||||
url: string;
|
||||
redirected: boolean;
|
||||
status: number;
|
||||
statusText: string;
|
||||
ok: boolean;
|
||||
headers: IHeaders;
|
||||
body: any;
|
||||
trailer: Promise<IHeaders>;
|
||||
|
||||
clone(): IResponse;
|
||||
}
|
||||
|
||||
interface Window {
|
||||
fetch(url: RequestInfo, init?: RequestInit): Promise<IResponse>;
|
||||
}
|
||||
|
||||
declare var fetch: typeof window.fetch;
|
||||
|
||||
declare module "isomorphic-fetch" {
|
||||
export = fetch;
|
||||
|
||||
Reference in New Issue
Block a user