@kubb/plugin-client
Version:
API client generator plugin for Kubb, creating type-safe HTTP clients (Axios, Fetch) from OpenAPI specifications for making API requests.
38 lines (34 loc) • 1.18 kB
text/typescript
/* eslint-disable no-alert, no-console */
/**
* Generated by Kubb (https://kubb.dev/).
* Do not edit manually.
*/
import type { RequestConfig, ResponseErrorConfig } from './test/.kubb/fetch'
import { buildFormData } from './test/.kubb/config'
import { fetch } from './test/.kubb/fetch'
export function getUploadFileUrl(petId: UploadFilePathParams['petId']) {
const res = { method: 'POST', url: `/pet/${petId}/uploadImage` as const }
return res
}
/**
* @summary uploads an image
* {@link /pet/:petId/uploadImage}
*/
export async function uploadFile(
petId: UploadFilePathParams['petId'],
data: UploadFileMutationRequest,
params?: UploadFileQueryParams,
config: Partial<RequestConfig<UploadFileMutationRequest>> & { client?: typeof fetch } = {},
) {
const { client: request = fetch, ...requestConfig } = config
const requestData = data
const formData = buildFormData(requestData)
const res = await request<UploadFileMutationResponse, ResponseErrorConfig<Error>, UploadFileMutationRequest>({
method: 'POST',
url: getUploadFileUrl(petId).url.toString(),
params,
data: formData as FormData,
...requestConfig,
})
return res.data
}