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}.`
      )

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…