import { writable } from "svelte/store"; // stale shim until https://github.com/ConsoleTVs/sswr/issues/24 is resolved export type SWRKey = string; export function useSWR( key: SWRKey | undefined | (() => SWRKey | undefined) ) { const data = writable(); const error = writable(); function doFetch() { let keyString = typeof key === "string" ? key : key(); fetch(keyString) .then(async (response) => { data.set(await response.json()); }) .catch((err) => { error.set(err); }); } doFetch(); return { data, error, revalidate: doFetch, }; }