@risemaxi/api-client
Version:
Client Library for Rise
16 lines • 881 B
TypeScript
import type { DeleteEndpoints, Endpoint, EndpointParameters, GetEndpoints, Method, PatchEndpoints, PostEndpoints, PutEndpoints } from "./contract.js";
export type HttpMethod = "post" | "get" | "patch" | "delete" | "put";
export type Fetcher = (method: Method, url: string, parameters?: EndpointParameters | undefined) => Promise<Endpoint["response"]>;
export type RequiredKeys<T> = {
[P in keyof T]-?: undefined extends T[P] ? never : P;
}[keyof T];
export type MaybeOptionalArg<T> = RequiredKeys<T> extends never ? [config?: T] : [config: T];
export type MaybeOptionalOptions<T, O> = RequiredKeys<T> extends never ? [config?: T, options?: O] : [config: T, options?: O];
export type EndpointMethodMap = {
delete: DeleteEndpoints;
get: GetEndpoints;
patch: PatchEndpoints;
post: PostEndpoints;
put: PutEndpoints;
};
//# sourceMappingURL=client.types.d.ts.map