import * as Solid from 'solid-js';
import { replaceEqualDeep } from '@tanstack/router-core';
import { useRouter } from './useRouter';
export function useRouterState(opts) {
    const contextRouter = useRouter({
        warn: opts?.router === undefined,
    });
    const router = opts?.router || contextRouter;
    if (!opts?.select) {
        return (() => router.stores.__store.get());
    }
    const select = opts.select;
    return Solid.createMemo((prev) => {
        const res = select(router.stores.__store.get());
        if (prev === undefined)
            return res;
        return replaceEqualDeep(prev, res);
    }, { transparent: true });
}
//# sourceMappingURL=useRouterState.jsx.map