Files
xsh-assistant-next/composables/useFetchWrapped.ts

22 lines
533 B
TypeScript

import { useFormPayload } from '~/composables/useFormPayload'
export const useFetchWrapped = <TypeReq, TypeResp>(
action: string,
payload?: TypeReq,
options?: {
method?: 'GET' | 'POST'
headers?: Record<string, string>
baseURL?: string
}
) => {
const runtimeConfig = useRuntimeConfig()
return $fetch<TypeResp>('/', {
baseURL: options?.baseURL || runtimeConfig.public.API_BASE,
method: options?.method || 'POST',
query: {
s: action,
},
body: useFormPayload(payload as object),
})
}