UNPKG

@lodestar/api

Version:

A Typescript REST client for the Ethereum Consensus API

27 lines 1.07 kB
import { mapValues } from "@lodestar/utils"; import { compileRouteUrlFormatter } from "../urlFormat.js"; export function createApiClientMethod(definition, client, operationId) { const urlFormatter = compileRouteUrlFormatter(definition.url); const definitionExtended = { ...definition, urlFormatter, operationId, }; // If the request args is void, then completely remove the args parameter if (definition.req.schema.body === undefined && definition.req.schema.params === undefined && definition.req.schema.query === undefined) { return (async (init) => { return client.request(definitionExtended, undefined, init); }); } return async (args, init) => { return client.request(definitionExtended, args ?? {}, init); }; } export function createApiClientMethods(definitions, client) { return mapValues(definitions, (definition, operationId) => { return createApiClientMethod(definition, client, operationId); }); } //# sourceMappingURL=method.js.map