UNPKG

@hey-api/client-axios

Version:

🚀 Axios client for `@hey-api/openapi-ts` codegen.

1 lines • 37.5 kB
{"version":3,"sources":["../../client-core/src/auth.ts","../../client-core/src/bodySerializer.ts","../../client-core/src/params.ts","../../client-core/src/pathSerializer.ts","../src/utils.ts","../src/client.ts"],"names":["getAuthToken","auth","callback","token","serializeFormDataPair","data","key","value","serializeUrlSearchParamsPair","formDataBodySerializer","body","v","jsonBodySerializer","urlSearchParamsBodySerializer","extraPrefixesMap","extraPrefixes","buildKeyMap","fields","map","config","stripEmptySlots","params","slot","buildClientParams","args","index","arg","field","name","extra","prefix","allowed","separatorArrayExplode","style","separatorArrayNoExplode","separatorObjectExplode","serializeArrayParam","allowReserved","explode","joinedValues","separator","serializePrimitiveParam","serializeObjectParam","valueOnly","values","PATH_PARAM_RE","defaultPathSerializer","path","_url","url","matches","match","R","$","f","replaceValue","createQuerySerializer","array","object","queryParams","search","serializedArray","serializedObject","serializedPrimitive","setAuthParams","security","options","h","buildUrl","getUrl","query","querySerializer","mergeConfigs","a","b","mergeHeaders","axiosHeadersKeywords","headers","mergedHeaders","header","iterator","createConfig","override","createClient","_config","configWithoutAuth","instance","axios","getConfig","setConfig","request","opts","_axios","optsWithoutAuth","response","error","e"],"mappings":"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","file":"index.cjs","sourcesContent":["export type AuthToken = string | undefined;\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: 'header' | 'query' | 'cookie';\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string;\n scheme?: 'basic' | 'bearer';\n type: 'apiKey' | 'http';\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token =\n typeof callback === 'function' ? await callback(auth) : callback;\n\n if (!token) {\n return;\n }\n\n if (auth.scheme === 'bearer') {\n return `Bearer ${token}`;\n }\n\n if (auth.scheme === 'basic') {\n return `Basic ${btoa(token)}`;\n }\n\n return token;\n};\n","import type {\n ArrayStyle,\n ObjectStyle,\n SerializerOptions,\n} from './pathSerializer';\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: any) => any;\n\nexport interface QuerySerializerOptions {\n allowReserved?: boolean;\n array?: SerializerOptions<ArrayStyle>;\n object?: SerializerOptions<ObjectStyle>;\n}\n\nconst serializeFormDataPair = (data: FormData, key: string, value: unknown) => {\n if (typeof value === 'string' || value instanceof Blob) {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nconst serializeUrlSearchParamsPair = (\n data: URLSearchParams,\n key: string,\n value: unknown,\n) => {\n if (typeof value === 'string') {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nexport const formDataBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ) => {\n const data = new FormData();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v));\n } else {\n serializeFormDataPair(data, key, value);\n }\n });\n\n return data;\n },\n};\n\nexport const jsonBodySerializer = {\n bodySerializer: <T>(body: T) =>\n JSON.stringify(body, (key, value) =>\n typeof value === 'bigint' ? value.toString() : value,\n ),\n};\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ) => {\n const data = new URLSearchParams();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));\n } else {\n serializeUrlSearchParamsPair(data, key, value);\n }\n });\n\n return data.toString();\n },\n};\n","type Slot = 'body' | 'headers' | 'path' | 'query';\n\nexport type Field =\n | {\n in: Exclude<Slot, 'body'>;\n key: string;\n map?: string;\n }\n | {\n in: Extract<Slot, 'body'>;\n key?: string;\n map?: string;\n };\n\nexport interface Fields {\n allowExtra?: Partial<Record<Slot, boolean>>;\n args?: ReadonlyArray<Field>;\n}\n\nexport type FieldsConfig = ReadonlyArray<Field | Fields>;\n\nconst extraPrefixesMap: Record<string, Slot> = {\n $body_: 'body',\n $headers_: 'headers',\n $path_: 'path',\n $query_: 'query',\n};\nconst extraPrefixes = Object.entries(extraPrefixesMap);\n\ntype KeyMap = Map<\n string,\n {\n in: Slot;\n map?: string;\n }\n>;\n\nconst buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => {\n if (!map) {\n map = new Map();\n }\n\n for (const config of fields) {\n if ('in' in config) {\n if (config.key) {\n map.set(config.key, {\n in: config.in,\n map: config.map,\n });\n }\n } else if (config.args) {\n buildKeyMap(config.args, map);\n }\n }\n\n return map;\n};\n\ninterface Params {\n body: unknown;\n headers: Record<string, unknown>;\n path: Record<string, unknown>;\n query: Record<string, unknown>;\n}\n\nconst stripEmptySlots = (params: Params) => {\n for (const [slot, value] of Object.entries(params)) {\n if (value && typeof value === 'object' && !Object.keys(value).length) {\n delete params[slot as Slot];\n }\n }\n};\n\nexport const buildClientParams = (\n args: ReadonlyArray<unknown>,\n fields: FieldsConfig,\n) => {\n const params: Params = {\n body: {},\n headers: {},\n path: {},\n query: {},\n };\n\n const map = buildKeyMap(fields);\n\n let config: FieldsConfig[number] | undefined;\n\n for (const [index, arg] of args.entries()) {\n if (fields[index]) {\n config = fields[index];\n }\n\n if (!config) {\n continue;\n }\n\n if ('in' in config) {\n if (config.key) {\n const field = map.get(config.key)!;\n const name = field.map || config.key;\n (params[field.in] as Record<string, unknown>)[name] = arg;\n } else {\n params.body = arg;\n }\n } else {\n for (const [key, value] of Object.entries(arg ?? {})) {\n const field = map.get(key);\n\n if (field) {\n const name = field.map || key;\n (params[field.in] as Record<string, unknown>)[name] = value;\n } else {\n const extra = extraPrefixes.find(([prefix]) =>\n key.startsWith(prefix),\n );\n\n if (extra) {\n const [prefix, slot] = extra;\n (params[slot] as Record<string, unknown>)[\n key.slice(prefix.length)\n ] = value;\n } else {\n for (const [slot, allowed] of Object.entries(\n config.allowExtra ?? {},\n )) {\n if (allowed) {\n (params[slot as Slot] as Record<string, unknown>)[key] = value;\n break;\n }\n }\n }\n }\n }\n }\n }\n\n stripEmptySlots(params);\n\n return params;\n};\n","interface SerializeOptions<T>\n extends SerializePrimitiveOptions,\n SerializerOptions<T> {}\n\ninterface SerializePrimitiveOptions {\n allowReserved?: boolean;\n name: string;\n}\n\nexport interface SerializerOptions<T> {\n /**\n * @default true\n */\n explode: boolean;\n style: T;\n}\n\nexport type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';\nexport type ArraySeparatorStyle = ArrayStyle | MatrixStyle;\ntype MatrixStyle = 'label' | 'matrix' | 'simple';\nexport type ObjectStyle = 'form' | 'deepObject';\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle;\n\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n value: string;\n}\n\nexport const separatorArrayExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const separatorArrayNoExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case 'form':\n return ',';\n case 'pipeDelimited':\n return '|';\n case 'spaceDelimited':\n return '%20';\n default:\n return ',';\n }\n};\n\nexport const separatorObjectExplode = (style: ObjectSeparatorStyle) => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const serializeArrayParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n value: unknown[];\n}) => {\n if (!explode) {\n const joinedValues = (\n allowReserved ? value : value.map((v) => encodeURIComponent(v as string))\n ).join(separatorArrayNoExplode(style));\n switch (style) {\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n case 'simple':\n return joinedValues;\n default:\n return `${name}=${joinedValues}`;\n }\n }\n\n const separator = separatorArrayExplode(style);\n const joinedValues = value\n .map((v) => {\n if (style === 'label' || style === 'simple') {\n return allowReserved ? v : encodeURIComponent(v as string);\n }\n\n return serializePrimitiveParam({\n allowReserved,\n name,\n value: v as string,\n });\n })\n .join(separator);\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues;\n};\n\nexport const serializePrimitiveParam = ({\n allowReserved,\n name,\n value,\n}: SerializePrimitiveParam) => {\n if (value === undefined || value === null) {\n return '';\n }\n\n if (typeof value === 'object') {\n throw new Error(\n 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.',\n );\n }\n\n return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;\n};\n\nexport const serializeObjectParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n valueOnly,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n value: Record<string, unknown> | Date;\n valueOnly?: boolean;\n}) => {\n if (value instanceof Date) {\n return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;\n }\n\n if (style !== 'deepObject' && !explode) {\n let values: string[] = [];\n Object.entries(value).forEach(([key, v]) => {\n values = [\n ...values,\n key,\n allowReserved ? (v as string) : encodeURIComponent(v as string),\n ];\n });\n const joinedValues = values.join(',');\n switch (style) {\n case 'form':\n return `${name}=${joinedValues}`;\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n default:\n return joinedValues;\n }\n }\n\n const separator = separatorObjectExplode(style);\n const joinedValues = Object.entries(value)\n .map(([key, v]) =>\n serializePrimitiveParam({\n allowReserved,\n name: style === 'deepObject' ? `${name}[${key}]` : key,\n value: v as string,\n }),\n )\n .join(separator);\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues;\n};\n","import type {\n ArraySeparatorStyle,\n QuerySerializer,\n QuerySerializerOptions,\n} from '@hey-api/client-core';\nimport {\n getAuthToken,\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '@hey-api/client-core';\n\nimport type { Client, ClientOptions, Config, RequestOptions } from './types';\n\ninterface PathSerializer {\n path: Record<string, unknown>;\n url: string;\n}\n\nconst PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\nconst defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {\n let url = _url;\n const matches = _url.match(PATH_PARAM_RE);\n if (matches) {\n for (const match of matches) {\n let explode = false;\n let name = match.substring(1, match.length - 1);\n let style: ArraySeparatorStyle = 'simple';\n\n if (name.endsWith('*')) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n\n if (name.startsWith('.')) {\n name = name.substring(1);\n style = 'label';\n } else if (name.startsWith(';')) {\n name = name.substring(1);\n style = 'matrix';\n }\n\n const value = path[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n url = url.replace(\n match,\n serializeArrayParam({ explode, name, style, value }),\n );\n continue;\n }\n\n if (typeof value === 'object') {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n valueOnly: true,\n }),\n );\n continue;\n }\n\n if (style === 'matrix') {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n );\n continue;\n }\n\n const replaceValue = encodeURIComponent(\n style === 'label' ? `.${value as string}` : (value as string),\n );\n url = url.replace(match, replaceValue);\n }\n }\n return url;\n};\n\nexport const createQuerySerializer = <T = unknown>({\n allowReserved,\n array,\n object,\n}: QuerySerializerOptions = {}) => {\n const querySerializer = (queryParams: T) => {\n const search: string[] = [];\n if (queryParams && typeof queryParams === 'object') {\n for (const name in queryParams) {\n const value = queryParams[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...array,\n });\n if (serializedArray) search.push(serializedArray);\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...object,\n });\n if (serializedObject) search.push(serializedObject);\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved,\n name,\n value: value as string,\n });\n if (serializedPrimitive) search.push(serializedPrimitive);\n }\n }\n }\n return search.join('&');\n };\n return querySerializer;\n};\n\nexport const setAuthParams = async ({\n security,\n ...options\n}: Pick<Required<RequestOptions>, 'security'> &\n Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Record<any, unknown>;\n }) => {\n for (const auth of security) {\n const token = await getAuthToken(auth, options.auth);\n\n if (!token) {\n continue;\n }\n\n const name = auth.name ?? 'Authorization';\n\n switch (auth.in) {\n case 'query':\n if (!options.query) {\n options.query = {};\n }\n options.query[name] = token;\n break;\n case 'cookie': {\n const value = `${name}=${token}`;\n if ('Cookie' in options.headers && options.headers['Cookie']) {\n options.headers['Cookie'] = `${options.headers['Cookie']}; ${value}`;\n } else {\n options.headers['Cookie'] = value;\n }\n break;\n }\n case 'header':\n default:\n options.headers[name] = token;\n break;\n }\n\n return;\n }\n};\n\nexport const buildUrl: Client['buildUrl'] = (options) => {\n const url = getUrl({\n path: options.path,\n // let `paramsSerializer()` handle query params if it exists\n query: !options.paramsSerializer ? options.query : undefined,\n querySerializer:\n typeof options.querySerializer === 'function'\n ? options.querySerializer\n : createQuerySerializer(options.querySerializer),\n url: options.url,\n });\n return url;\n};\n\nexport const getUrl = ({\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n path?: Record<string, unknown>;\n query?: Record<string, unknown>;\n querySerializer: QuerySerializer;\n url: string;\n}) => {\n const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;\n let url = pathUrl;\n if (path) {\n url = defaultPathSerializer({ path, url });\n }\n let search = query ? querySerializer(query) : '';\n if (search.startsWith('?')) {\n search = search.substring(1);\n }\n if (search) {\n url += `?${search}`;\n }\n return url;\n};\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b };\n config.headers = mergeHeaders(a.headers, b.headers);\n return config;\n};\n\n/**\n * Special Axios headers keywords allowing to set headers by request method.\n */\nexport const axiosHeadersKeywords = [\n 'common',\n 'delete',\n 'get',\n 'head',\n 'patch',\n 'post',\n 'put',\n] as const;\n\nexport const mergeHeaders = (\n ...headers: Array<Required<Config>['headers'] | undefined>\n): Record<any, unknown> => {\n const mergedHeaders: Record<any, unknown> = {};\n for (const header of headers) {\n if (!header || typeof header !== 'object') {\n continue;\n }\n\n const iterator = Object.entries(header);\n\n for (const [key, value] of iterator) {\n if (\n axiosHeadersKeywords.includes(\n key as (typeof axiosHeadersKeywords)[number],\n ) &&\n typeof value === 'object'\n ) {\n mergedHeaders[key] = {\n ...(mergedHeaders[key] as Record<any, unknown>),\n ...value,\n };\n } else if (value === null) {\n delete mergedHeaders[key];\n } else if (Array.isArray(value)) {\n for (const v of value) {\n // @ts-expect-error\n mergedHeaders[key] = [...(mergedHeaders[key] ?? []), v as string];\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e. their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders[key] =\n typeof value === 'object' ? JSON.stringify(value) : (value as string);\n }\n }\n }\n return mergedHeaders;\n};\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n ...override,\n});\n","import type { AxiosError, RawAxiosRequestHeaders } from 'axios';\nimport axios from 'axios';\n\nimport type { Client, Config } from './types';\nimport {\n buildUrl,\n createConfig,\n mergeConfigs,\n mergeHeaders,\n setAuthParams,\n} from './utils';\n\nexport const createClient = (config: Config = {}): Client => {\n let _config = mergeConfigs(createConfig(), config);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { auth, ...configWithoutAuth } = _config;\n const instance = axios.create(configWithoutAuth);\n\n const getConfig = (): Config => ({ ..._config });\n\n const setConfig = (config: Config): Config => {\n _config = mergeConfigs(_config, config);\n instance.defaults = {\n ...instance.defaults,\n ..._config,\n // @ts-expect-error\n headers: mergeHeaders(instance.defaults.headers, _config.headers),\n };\n return getConfig();\n };\n\n // @ts-expect-error\n const request: Client['request'] = async (options) => {\n const opts = {\n ..._config,\n ...options,\n axios: options.axios ?? _config.axios ?? instance,\n headers: mergeHeaders(_config.headers, options.headers),\n };\n\n if (opts.security) {\n await setAuthParams({\n ...opts,\n security: opts.security,\n });\n }\n\n if (opts.body && opts.bodySerializer) {\n opts.body = opts.bodySerializer(opts.body);\n }\n\n const url = buildUrl(opts);\n\n try {\n // assign Axios here for consistency with fetch\n const _axios = opts.axios!;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { auth, ...optsWithoutAuth } = opts;\n const response = await _axios({\n ...optsWithoutAuth,\n baseURL: opts.baseURL as string,\n data: opts.body,\n headers: opts.headers as RawAxiosRequestHeaders,\n // let `paramsSerializer()` handle query params if it exists\n params: opts.paramsSerializer ? opts.query : undefined,\n url,\n });\n\n let { data } = response;\n\n if (opts.responseType === '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 {\n ...response,\n data: data ?? {},\n };\n } catch (error) {\n const e = error as AxiosError;\n if (opts.throwOnError) {\n throw e;\n }\n // @ts-expect-error\n e.error = e.response?.data ?? {};\n return e;\n }\n };\n\n return {\n buildUrl,\n delete: (options) => request({ ...options, method: 'DELETE' }),\n get: (options) => request({ ...options, method: 'GET' }),\n getConfig,\n head: (options) => request({ ...options, method: 'HEAD' }),\n instance,\n options: (options) => request({ ...options, method: 'OPTIONS' }),\n patch: (options) => request({ ...options, method: 'PATCH' }),\n post: (options) => request({ ...options, method: 'POST' }),\n put: (options) => request({ ...options, method: 'PUT' }),\n request,\n setConfig,\n } as Client;\n};\n"]}