UNPKG

solid-use

Version:
2 lines (1 loc) 1.6 kB
import{createEffect as l,createResource as i,createSignal as R}from"solid-js";var r=globalThis.fetch;function h(s){return typeof s=="function"}function a(s){return h(s)?s():s}var c=class{constructor(e,t){this.input=e,this.init=t}readResponse(){return[a(this.input),a(this.init)]}arrayBuffer(){return i(()=>this.readResponse(),async([e,t])=>(await r(e,t)).arrayBuffer())[0]}blob(){return i(()=>this.readResponse(),async([e,t])=>(await r(e,t)).blob())[0]}formData(){return i(()=>this.readResponse(),async([e,t])=>(await r(e,t)).formData())[0]}json(){return i(()=>this.readResponse(),async([e,t])=>(await r(e,t)).json())[0]}text(){return i(()=>this.readResponse(),async([e,t])=>(await r(e,t)).text())[0]}},f=class{constructor(e){this.source=e}get value(){return this.source().value}get status(){return this.source().status}};function u(s){let[e,t]=R({status:"pending"});return l(()=>{let n=s();t({status:"pending",value:n}),n.then(o=>{t({status:"success",value:o})},o=>{t({status:"failure",value:o})})}),new f(e)}var p=class{constructor(e,t){this.input=e,this.init=t}async readResponse(){return await r(a(this.input),a(this.init))}arrayBuffer(){return u(async()=>(await this.readResponse()).arrayBuffer())}blob(){return u(async()=>(await this.readResponse()).blob())}formData(){return u(async()=>(await this.readResponse()).formData())}json(){return u(async()=>(await this.readResponse()).json())}text(){return u(async()=>(await this.readResponse()).text())}};function d(s,e,t){return t?new c(s,e):new p(s,e)}var g=d;export{c as SuspensefulFetchResponse,p as SuspenselessFetchResponse,g as default};