@lodestar/api
Version:
A Typescript REST client for the Ethereum Consensus API
11 lines • 1.03 kB
TypeScript
import { Endpoint, HasOnlyOptionalProps, RouteDefinition, RouteDefinitions } from "../types.js";
import { IHttpClient } from "./httpClient.js";
import { ApiRequestInit } from "./request.js";
import { ApiResponse } from "./response.js";
export type ApiClientMethod<E extends Endpoint> = E["args"] extends void ? (init?: ApiRequestInit) => Promise<ApiResponse<E>> : HasOnlyOptionalProps<E["args"]> extends true ? (args?: E["args"], init?: ApiRequestInit) => Promise<ApiResponse<E>> : (args: E["args"], init?: ApiRequestInit) => Promise<ApiResponse<E>>;
export type ApiClientMethods<Es extends Record<string, Endpoint>> = {
[K in keyof Es]: ApiClientMethod<Es[K]>;
};
export declare function createApiClientMethod<E extends Endpoint>(definition: RouteDefinition<E>, client: IHttpClient, operationId: string): ApiClientMethod<E>;
export declare function createApiClientMethods<Es extends Record<string, Endpoint>>(definitions: RouteDefinitions<Es>, client: IHttpClient): ApiClientMethods<Es>;
//# sourceMappingURL=method.d.ts.map