solid-swr-store
Version:
SolidJS bindings for swr-store
2 lines (1 loc) • 546 B
JavaScript
import{createEffect as n,createResource as o,createSignal as u,onCleanup as l}from"solid-js";function d(a,r,e){let[i,s]=u(a.get(r(),{shouldRevalidate:e.shouldRevalidate,initialData:e.initialData,hydrate:e.hydrate}));return n(()=>{let t=r();l(a.subscribe(t,()=>{s(()=>a.get(t,{shouldRevalidate:!1}))}))}),i}function S(a,r,e){let i=d(a,r,e),[s]=o(i,async t=>{if(t.status==="failure")throw t.data;return t.data},"initialData"in e?{initialValue:e.initialData,ssrLoadFrom:"initial"}:{});return s}export{S as useSWRStore,d as useSWRStoreSuspenseless};