{
  "version": 3,
  "sources": ["../../../src/use-swr-store.tsx"],
  "sourcesContent": ["import {\n  createEffect,\n  createResource,\n  createSignal,\n  onCleanup,\n  Resource,\n} from 'solid-js';\nimport { MutationResult, SWRStore } from 'swr-store';\n\nexport interface UseSWRStoreOptions<T> {\n  initialData?: T;\n  shouldRevalidate?: boolean;\n  hydrate?: boolean;\n}\n\nexport function useSWRStoreSuspenseless<T, P extends any[] = []>(\n  store: SWRStore<T, P>,\n  args: () => P,\n  options: UseSWRStoreOptions<T>,\n): () => MutationResult<T> {\n  const [result, setResult] = createSignal(store.get(args(), {\n    shouldRevalidate: options.shouldRevalidate,\n    initialData: options.initialData,\n    hydrate: options.hydrate,\n  }));\n\n  createEffect(() => {\n    const currentArgs = args();\n    onCleanup(store.subscribe(currentArgs, () => {\n      setResult(() => store.get(currentArgs, {\n        shouldRevalidate: false,\n      }));\n    }));\n  });\n\n  return result;\n}\n\nexport function useSWRStore<T, P extends any[] = []>(\n  store: SWRStore<T, P>,\n  args: () => P,\n  options: UseSWRStoreOptions<T>,\n): Resource<T | undefined> {\n  const suspenseless = useSWRStoreSuspenseless(store, args, options);\n  const [resource] = createResource(\n    suspenseless,\n    async (result): Promise<T> => {\n      if (result.status === 'failure') {\n        throw result.data;\n      }\n      return result.data;\n    },\n    'initialData' in options ? {\n      initialValue: options.initialData,\n      ssrLoadFrom: 'initial',\n    } : {},\n  );\n  return resource as Resource<T | undefined>;\n}\n"],
  "mappings": ";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AASA,SAAS,wBACd,OACA,MACA,SACyB;AACzB,QAAM,CAAC,QAAQ,SAAS,IAAI,aAAa,MAAM,IAAI,KAAK,GAAG;AAAA,IACzD,kBAAkB,QAAQ;AAAA,IAC1B,aAAa,QAAQ;AAAA,IACrB,SAAS,QAAQ;AAAA,EACnB,CAAC,CAAC;AAEF,eAAa,MAAM;AACjB,UAAM,cAAc,KAAK;AACzB,cAAU,MAAM,UAAU,aAAa,MAAM;AAC3C,gBAAU,MAAM,MAAM,IAAI,aAAa;AAAA,QACrC,kBAAkB;AAAA,MACpB,CAAC,CAAC;AAAA,IACJ,CAAC,CAAC;AAAA,EACJ,CAAC;AAED,SAAO;AACT;AAEO,SAAS,YACd,OACA,MACA,SACyB;AACzB,QAAM,eAAe,wBAAwB,OAAO,MAAM,OAAO;AACjE,QAAM,CAAC,QAAQ,IAAI;AAAA,IACjB;AAAA,IACA,OAAO,WAAuB;AAC5B,UAAI,OAAO,WAAW,WAAW;AAC/B,cAAM,OAAO;AAAA,MACf;AACA,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,iBAAiB,UAAU;AAAA,MACzB,cAAc,QAAQ;AAAA,MACtB,aAAa;AAAA,IACf,IAAI,CAAC;AAAA,EACP;AACA,SAAO;AACT;",
  "names": []
}
