@virtualstate/navigation
Version:
Native JavaScript [navigation](https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API) implementation
48 lines • 1.24 kB
JavaScript
import { isRouter, Router } from "./router.js";
import { getNavigation } from "../get-navigation.js";
let router;
export function getRouter() {
if (isRouter(router)) {
return router;
}
const navigation = getNavigation();
const local = new Router(navigation, "navigate");
router = local;
return local;
}
export function route(...args) {
let pattern, fn;
if (args.length === 1) {
[] = args;
}
else if (args.length === 2) {
[] = args;
}
return routes(pattern).route(fn);
}
export function routes(...args) {
let router;
if (!args.length) {
router = new Router();
getRouter().routes(router);
}
else if (args.length === 1) {
const [arg] = args;
if (isRouter(arg)) {
router = arg;
getRouter().routes(router);
}
else {
const pattern = arg;
router = new Router();
getRouter().routes(pattern, router);
}
}
else if (args.length >= 2) {
const [pattern, routerArg] = args;
router = routerArg ?? new Router();
getRouter().routes(pattern, router);
}
return router;
}
//# sourceMappingURL=route.js.map