UNPKG

@lodestar/api

Version:

A Typescript REST client for the Ethereum Consensus API

27 lines 1.73 kB
import { Type } from "@chainsafe/ssz"; import { ForkName } from "@lodestar/params"; import { Endpoint, RequestWithBodyCodec, RequestWithoutBodyCodec, ResponseCodec, ResponseDataCodec, ResponseMetadataCodec, SszRequestMethods } from "./types.js"; export type EmptyArgs = void; export type EmptyRequest = Record<never, never>; export type EmptyResponseData = void; export type EmptyMeta = void; export type AnyEndpoint = Endpoint<any, any, any, any, any>; export type EmptyRequestEndpoint = Endpoint<any, EmptyArgs, EmptyRequest, any, any>; export type EmptyResponseEndpoint = Endpoint<any, any, any, EmptyResponseData, EmptyMeta>; /** Shortcut for routes that have no params, query */ export declare const EmptyRequestCodec: RequestWithoutBodyCodec<EmptyRequestEndpoint>; export declare function JsonOnlyReq<E extends Endpoint>(req: Omit<RequestWithBodyCodec<E>, keyof SszRequestMethods<E>>): RequestWithBodyCodec<E>; export declare const EmptyResponseDataCodec: ResponseDataCodec<EmptyResponseData, EmptyMeta>; export declare const EmptyMetaCodec: ResponseMetadataCodec<EmptyMeta>; export declare const EmptyResponseCodec: ResponseCodec<EmptyResponseEndpoint>; export declare function WithMeta<T, M extends { version: ForkName; }>(getType: (m: M) => Type<T>): ResponseDataCodec<T, M>; export declare function WithVersion<T, M extends { version: ForkName; }>(getType: (v: ForkName) => Type<T>): ResponseDataCodec<T, M>; export declare function JsonOnlyResp<E extends Endpoint>(resp: Omit<ResponseCodec<E>, "data"> & { data: Omit<ResponseCodec<E>["data"], "serialize" | "deserialize">; }): ResponseCodec<E>; export declare const JsonOnlyResponseCodec: ResponseCodec<AnyEndpoint>; //# sourceMappingURL=codecs.d.ts.map