INNER CODE UNIT · TypeScript
createHttpClient
transitive-bullshit/functional-typescript · packages/fts-http-client/src/index.ts:5
export function createHttpClient(definition: Definition, url: string) {
const { title } = definition
const requiredParams = getRequiredParams(definition.params.schema)
const validator = createValidator()
const paramsEncoder = validator.encoder(definition.params.schema)
const returnsDecoder = validator.decoder(definition.returns.schema)
return async (...args: any[]) => {
let setParams = false
let params: any
if (args.length > definition.params.order.length) {
throw new Error(
`Invalid parameters to "${title}": too many parameters. Expected ${
definition.params.order.length
}, received ${args.length}.`
)