{"version":3,"file":"_useStore.cjs","names":["useSelector"],"sources":["../src/_useStore.ts"],"sourcesContent":["import { useSelector } from './useSelector'\nimport type { Ref } from 'vue-demi'\nimport type { Store, StoreActionMap } from '@tanstack/store'\nimport type { UseSelectorOptions } from './useSelector'\n\n/**\n * Experimental combined read+write hook for stores, mirroring useAtom's tuple\n * pattern.\n *\n * Returns `[selected, actions]` when the store has an actions factory, or\n * `[selected, setState]` for plain stores.\n *\n * @example\n * ```ts\n * // Store with actions\n * const [cats, { addCat }] = _useStore(petStore, (s) => s.cats)\n * console.log(cats.value)\n *\n * // Store without actions\n * const [count, setState] = _useStore(plainStore, (s) => s)\n * setState((prev) => prev + 1)\n * ```\n */\nexport function _useStore<\n  TState,\n  TActions extends StoreActionMap,\n  TSelected = NoInfer<TState>,\n>(\n  store: Store<TState, TActions>,\n  selector: (state: NoInfer<TState>) => TSelected,\n  options?: UseSelectorOptions<TSelected>,\n): [\n  Readonly<Ref<TSelected>>,\n  [TActions] extends [never] ? Store<TState>['setState'] : TActions,\n] {\n  const selected = useSelector(store, selector, options)\n  const actionsOrSetState =\n    (store.actions as StoreActionMap | undefined) ?? store.setState\n\n  return [selected, actionsOrSetState] as any\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuBA,SAAgB,UAKd,OACA,UACA,SAIA;AAKA,QAAO,CAJUA,gCAAY,OAAO,UAAU,QAAQ,EAEnD,MAAM,WAA0C,MAAM,SAErB"}