UNPKG

hook-fetch

Version:

A lightweight and modern HTTP request library developed based on the native Fetch API of the browser, providing a user-friendly interface similar to Axios and powerful extensibility.

1 lines 724 B
const e=require(`../../chunk-mbd8xe7s.cjs`),t=e.__toESM(require(`vue`)),n=({request:e,onError:n})=>{let r=null,i=(0,t.ref)(!1),a=(...t)=>r||(r=e(...t),r),o=(...t)=>(r=e(...t),i.value=!0,r?.catch(e=>{e instanceof Error&&!e.message.includes(`Unexpected token`)&&e.name!==`AbortError`&&n?.(e)}),r?.finally(()=>{i.value=!1}),r),s=(...e)=>(o(...e),r.text()),c=(...e)=>(o(...e),r.stream()),l=(...e)=>(o(...e),r.blob()),u=(...e)=>(o(...e),r.arrayBuffer()),d=(...e)=>(o(...e),r.formData()),f=(...e)=>(o(...e),r.bytes()),p=()=>{if(i.value=!1,r)try{r?.abort()}catch(e){console.error(`cancel error`,e)}};return{request:a,stream:c,text:s,blob:l,arrayBufferData:u,formDataResult:d,bytesData:f,cancel:p,loading:i}};exports.useHookFetch=n;