Files
Liam DeBeasi fe2cf22f5d feat(vue): add webHashHistory and memoryHistory options for router (#22101)
* add additional history types

* fix imports
2020-09-17 10:20:54 -04:00

37 lines
1.2 KiB
TypeScript

import { App } from 'vue';
import {
createRouter as createVueRouter,
createWebHistory as createVueWebHistory,
createWebHashHistory as createVueWebHashHistory,
createMemoryHistory as createVueMemoryHistory
} from 'vue-router';
import { createIonRouter } from './router';
import { createViewStacks } from './viewStacks';
import { IonicVueRouterOptions } from './types';
export const createRouter = (opts: IonicVueRouterOptions) => {
const routerOptions = { ...opts };
delete routerOptions.tabsPrefix;
const router = createVueRouter(routerOptions);
const ionRouter = createIonRouter(opts, router);
const viewStacks = createViewStacks();
const oldInstall = router.install.bind(router);
router.install = (app: App) => {
app.provide('navManager', ionRouter);
app.provide('viewStacks', viewStacks);
oldInstall(app);
};
const oldIsReady = router.isReady.bind(router);
router.isReady = () => oldIsReady();
return router;
}
export const createWebHistory = (base?: string) => createVueWebHistory(base);
export const createWebHashHistory = (base?: string) => createVueWebHashHistory(base);
export const createMemoryHistory = (base?: string) => createVueMemoryHistory(base);