{"version":3,"file":"client.gen.cjs","names":["mergeConfigs","createConfig","createInterceptors","mergeHeaders","setAuthParams","buildUrl","getValidRequestBody","httpError","getParseAs","createSseClient"],"sources":["../../../../src/generated/mapi/client/client.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { HTTPError, Options as KyOptions } from 'ky';\nimport ky from 'ky';\n\nimport { createSseClient } from '../core/serverSentEvents.gen';\nimport type { HttpMethod } from '../core/types.gen';\nimport { getValidRequestBody } from '../core/utils.gen';\nimport type { Client, Config, RequestOptions, ResolvedRequestOptions, RetryOptions } from './types.gen';\nimport type { Middleware } from './utils.gen';\nimport {\n  buildUrl,\n  createConfig,\n  createInterceptors,\n  getParseAs,\n  mergeConfigs,\n  mergeHeaders,\n  setAuthParams,\n} from './utils.gen';\n\nexport const createClient = (config: Config = {}): Client => {\n  let _config = mergeConfigs(createConfig(), config);\n\n  const getConfig = (): Config => ({ ..._config });\n\n  const setConfig = (config: Config): Config => {\n    _config = mergeConfigs(_config, config);\n    return getConfig();\n  };\n\n  const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();\n\n  const beforeRequest = async (options: RequestOptions) => {\n    const opts = {\n      ..._config,\n      ...options,\n      headers: mergeHeaders(_config.headers, options.headers),\n      ky: options.ky ?? _config.ky ?? ky,\n      serializedBody: undefined,\n    };\n\n    if (opts.security) {\n      await setAuthParams({\n        ...opts,\n        security: opts.security,\n      });\n    }\n\n    if (opts.requestValidator) {\n      await opts.requestValidator(opts);\n    }\n\n    if (opts.body !== undefined && opts.bodySerializer) {\n      opts.serializedBody = opts.bodySerializer(opts.body);\n    }\n\n    if (opts.body === undefined || opts.serializedBody === '') {\n      opts.headers.delete('Content-Type');\n    }\n\n    const url = buildUrl(opts);\n\n    return { opts, url };\n  };\n\n  const parseErrorResponse = async (\n    response: Response,\n    request: Request,\n    opts: ResolvedRequestOptions,\n    interceptorsMiddleware: Middleware<Request, Response, unknown, ResolvedRequestOptions>,\n  ) => {\n    const result = {\n      request,\n      response,\n    };\n\n    const textError = await response.text();\n    let jsonError: unknown;\n\n    try {\n      jsonError = JSON.parse(textError);\n    } catch {\n      jsonError = undefined;\n    }\n\n    const error = jsonError ?? textError;\n    let finalError = error;\n\n    for (const fn of interceptorsMiddleware.error.fns) {\n      if (fn) {\n        finalError = (await fn(error, response, request, opts)) as string;\n      }\n    }\n\n    finalError = finalError || ({} as string);\n\n    if (opts.throwOnError) {\n      throw finalError;\n    }\n\n    return opts.responseStyle === 'data'\n      ? undefined\n      : {\n          error: finalError,\n          ...result,\n        };\n  };\n\n  const request: Client['request'] = async (options) => {\n    // @ts-expect-error\n    const { opts, url } = await beforeRequest(options);\n\n    const kyInstance = opts.ky!;\n\n    const validBody = getValidRequestBody(opts);\n\n    const kyOptions: KyOptions = {\n      body: validBody as BodyInit,\n      cache: opts.cache,\n      credentials: opts.credentials,\n      headers: opts.headers,\n      integrity: opts.integrity,\n      keepalive: opts.keepalive,\n      method: opts.method as KyOptions['method'],\n      mode: opts.mode,\n      redirect: 'follow',\n      referrer: opts.referrer,\n      referrerPolicy: opts.referrerPolicy,\n      signal: opts.signal,\n      throwHttpErrors: opts.throwOnError ?? false,\n      timeout: opts.timeout,\n      ...opts.kyOptions,\n    };\n\n    if (opts.retry && typeof opts.retry === 'object') {\n      const retryOpts = opts.retry as RetryOptions;\n      kyOptions.retry = {\n        limit: retryOpts.limit ?? 2,\n        methods: retryOpts.methods as Array<\n          'get' | 'post' | 'put' | 'patch' | 'head' | 'delete' | 'options' | 'trace'\n        >,\n        statusCodes: retryOpts.statusCodes,\n      };\n    }\n\n    let request = new Request(url, {\n      body: kyOptions.body as BodyInit,\n      headers: kyOptions.headers as HeadersInit,\n      method: kyOptions.method,\n    });\n\n    for (const fn of interceptors.request.fns) {\n      if (fn) {\n        request = await fn(request, opts);\n      }\n    }\n\n    let response: Response;\n\n    try {\n      response = await kyInstance(request, kyOptions);\n    } catch (error) {\n      if (error && typeof error === 'object' && 'response' in error) {\n        const httpError = error as HTTPError;\n        response = httpError.response;\n\n        for (const fn of interceptors.response.fns) {\n          if (fn) {\n            response = await fn(response, request, opts);\n          }\n        }\n\n        return parseErrorResponse(response, request, opts, interceptors);\n      }\n\n      throw error;\n    }\n\n    for (const fn of interceptors.response.fns) {\n      if (fn) {\n        response = await fn(response, request, opts);\n      }\n    }\n\n    const result = {\n      request,\n      response,\n    };\n\n    if (response.ok) {\n      const parseAs =\n        (opts.parseAs === 'auto'\n          ? getParseAs(response.headers.get('Content-Type'))\n          : opts.parseAs) ?? 'json';\n\n      if (response.status === 204 || response.headers.get('Content-Length') === '0') {\n        let emptyData: any;\n        switch (parseAs) {\n          case 'arrayBuffer':\n          case 'blob':\n          case 'text':\n            emptyData = await response[parseAs]();\n            break;\n          case 'formData':\n            emptyData = new FormData();\n            break;\n          case 'stream':\n            emptyData = response.body;\n            break;\n          case 'json':\n          default:\n            emptyData = {};\n            break;\n        }\n        return opts.responseStyle === 'data'\n          ? emptyData\n          : {\n              data: emptyData,\n              ...result,\n            };\n      }\n\n      let data: any;\n      switch (parseAs) {\n        case 'arrayBuffer':\n        case 'blob':\n        case 'formData':\n        case 'text':\n          data = await response[parseAs]();\n          break;\n        case 'json': {\n          // Some servers return 200 with no Content-Length and empty body.\n          // response.json() would throw; read as text and parse if non-empty.\n          const text = await response.text();\n          data = text ? JSON.parse(text) : {};\n          break;\n        }\n        case 'stream':\n          return opts.responseStyle === 'data'\n            ? response.body\n            : {\n                data: response.body,\n                ...result,\n              };\n      }\n\n      if (parseAs === 'json') {\n        if (opts.responseValidator) {\n          await opts.responseValidator(data);\n        }\n\n        if (opts.responseTransformer) {\n          data = await opts.responseTransformer(data);\n        }\n      }\n\n      return opts.responseStyle === 'data'\n        ? data\n        : {\n            data,\n            ...result,\n          };\n    }\n\n    return parseErrorResponse(response, request, opts, interceptors);\n  };\n\n  const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>\n    request({ ...options, method });\n\n  const makeSseFn = (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {\n    const { opts, url } = await beforeRequest(options);\n    return createSseClient({\n      ...opts,\n      body: opts.body as BodyInit | null | undefined,\n      fetch: globalThis.fetch,\n      headers: opts.headers as unknown as Record<string, string>,\n      method,\n      onRequest: async (url, init) => {\n        let request = new Request(url, init);\n        for (const fn of interceptors.request.fns) {\n          if (fn) {\n            request = await fn(request, opts);\n          }\n        }\n        return request;\n      },\n      serializedBody: getValidRequestBody(opts) as BodyInit | null | undefined,\n      url,\n    });\n  };\n\n  return {\n    buildUrl,\n    connect: makeMethodFn('CONNECT'),\n    delete: makeMethodFn('DELETE'),\n    get: makeMethodFn('GET'),\n    getConfig,\n    head: makeMethodFn('HEAD'),\n    interceptors,\n    options: makeMethodFn('OPTIONS'),\n    patch: makeMethodFn('PATCH'),\n    post: makeMethodFn('POST'),\n    put: makeMethodFn('PUT'),\n    request,\n    setConfig,\n    sse: {\n      connect: makeSseFn('CONNECT'),\n      delete: makeSseFn('DELETE'),\n      get: makeSseFn('GET'),\n      head: makeSseFn('HEAD'),\n      options: makeSseFn('OPTIONS'),\n      patch: makeSseFn('PATCH'),\n      post: makeSseFn('POST'),\n      put: makeSseFn('PUT'),\n      trace: makeSseFn('TRACE'),\n    },\n    trace: makeMethodFn('TRACE'),\n  } as Client;\n};\n"],"mappings":"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"}