@tanstack/vue-router
Version:
Modern and scalable routing for Vue applications
22 lines (21 loc) • 775 B
JavaScript
import { useRouter } from "./useRouter.js";
import * as Vue from "vue";
import { isServer } from "@tanstack/router-core/isServer";
import { useStore } from "@tanstack/vue-store";
//#region src/useRouterState.tsx
function useRouterState(opts) {
const contextRouter = useRouter({ warn: opts?.router === void 0 });
const router = opts?.router || contextRouter;
if (!router || !router.stores.__store) return Vue.ref(void 0);
if (isServer ?? router.isServer) {
const state = router.stores.__store.get();
return Vue.ref(opts?.select ? opts.select(state) : state);
}
return useStore(router.stores.__store, (state) => {
if (opts?.select) return opts.select(state);
return state;
});
}
//#endregion
export { useRouterState };
//# sourceMappingURL=useRouterState.js.map