diff --git a/src/index.ts b/src/index.ts index d18764d..34489b2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -140,36 +140,36 @@ export default function createClient(defaultOptions?: ClientOptions) { return { /** Call a GET endpoint */ - async get, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'GET' }); + async get, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'GET' }); }, /** Call a PUT endpoint */ - async put, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'PUT' }); + async put, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'PUT' }); }, /** Call a POST endpoint */ - async post, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'POST' }); + async post, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'POST' }); }, /** Call a DELETE endpoint */ - async del, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'DELETE' }); + async del, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'DELETE' }); }, /** Call a OPTIONS endpoint */ - async options, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'OPTIONS' }); + async options, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'OPTIONS' }); }, /** Call a HEAD endpoint */ - async head, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'HEAD' }); + async head, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'HEAD' }); }, /** Call a PATCH endpoint */ - async patch, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'PATCH' }); + async patch, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'PATCH' }); }, /** Call a TRACE endpoint */ - async trace, M extends keyof T[U]>(url: U, options: FetchOptions) { - return coreFetch(url, { ...options, method: 'TRACE' }); + async trace, M extends keyof T[U]>(url: U, options?: FetchOptions) { + return coreFetch(url, { ...(options ?? ({} as FetchOptions)), method: 'TRACE' }); }, }; }