UNPKG

@protorians/air-rest

Version:
69 lines (34 loc) 1.42 kB
export declare type IAirMethods = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; export declare interface IAirRestEndPoint<P extends IEndpointPayload, R extends IEndpointResponse> { _route: string | number; _payload: IEndpointPayload | FormData; _method: IAirMethods; _transpilate: boolean; // _responses: IEndpointResponse; use(server: IAirRestServer): this; method(method: IAirMethods): this; route(route: string | number): this; slugs(...slugs: (string | number)[]): this; payload(payload: P): this; // response( response : R ) : this; send(): Promise<R> | undefined; useForm(form: HTMLFormElement): this; useFormData(formData: FormData): this; } export declare type IEndpointResponse = { [R: string]: any } export declare type IEndpointPayload = { [P: string]: any } export declare type AirStackEndPoints = { } export interface IAirRestServer { server: string; options: RequestInit | undefined; post<R extends IEndpointResponse>(stack: IAirRestEndPoint<IEndpointPayload, R>): Promise<R>; get<R extends IEndpointResponse>(stack: IAirRestEndPoint<IEndpointPayload, R>): Promise<R>; put<R extends IEndpointResponse>(stack: IAirRestEndPoint<IEndpointPayload, R>): Promise<R>; patch<R extends IEndpointResponse>(stack: IAirRestEndPoint<IEndpointPayload, R>): Promise<R>; delete<R extends IEndpointResponse>(stack: IAirRestEndPoint<IEndpointPayload, R>): Promise<R>; }