import { useSelector } from './useSelector' import type { Accessor } from 'solid-js' import type { Atom } from '@tanstack/store' import type { UseSelectorOptions } from './useSelector' /** * Returns the current atom accessor together with a setter. * * Use this when a component needs to both read and update the same writable * atom. * * @example * ```tsx * const [count, setCount] = useAtom(countAtom) * * return ( * * ) * ``` */ export function useAtom( atom: Atom, options?: UseSelectorOptions, ): [Accessor, Atom['set']] { const value = useSelector(atom, undefined, options) return [value, atom.set] }