Archived
1
0
Fork 0
This repository has been archived on 2024-02-06. You can view files and clone it, but cannot push or open issues or pull requests.
api-ts-gen/dist/utils/APIPromise.d.ts
supmiku39 75674df502 ClientAPI, ServerAPI interface, Schema TS codegen
ClientAPI: use Axios
ServerAPI: use @koa/router
FullDate: wrapped Date only class
APIPromise: enhanced Promise on api response

application/json only(multipart/*, image/*, ... are not supported)
get, post, put, delete, patch only
2020-04-05 00:57:34 +09:00

13 lines
651 B
TypeScript

import { AxiosResponse } from 'axios';
declare type Optional<T> = T | undefined | null;
declare type TPromiseOn<T, R> = Optional<(_: T) => R | PromiseLike<R>>;
export declare abstract class APIPromise<T> implements PromiseLike<T> {
promise: Promise<T>;
constructor(req: Promise<AxiosResponse<any>>);
then<T1 = T, T2 = never>(onRsv?: TPromiseOn<T, T1>, onRjt?: TPromiseOn<any, T2>): Promise<T1 | T2>;
catch<T2>(onRjt: TPromiseOn<any, T2>): Promise<T | T2>;
abstract onResponse(res: AxiosResponse<any>): T;
onSuccess<U, V>(f: Optional<(x: U) => V>, v: U): U | V;
onFail<U, V>(f: Optional<(x: U) => V>, v: U): V;
}
export {};