@virtualstate/navigation
Version:
Native JavaScript [navigation](https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API) implementation
12 lines (11 loc) • 493 B
text/typescript
import {Navigation, NavigationTransition} from "./spec/navigation";
export async function transition<S>(navigation: Navigation<S>) {
let transition: NavigationTransition<S> | undefined = undefined;
let finalPromise;
while (navigation.transition && transition !== navigation.transition) {
transition = navigation.transition;
finalPromise = transition.finished;
await finalPromise.catch((error: unknown): void => void error);
}
return finalPromise;
}