UNPKG

1.07 kBJavaScriptView Raw
1var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
2
3import { parse } from 'url';
4import { createBrowserHistory as _createBrowserHistory, createMemoryHistory as _createMemoryHistory, createHashHistory as _createHashHistory } from 'history';
5
6export const useBasename = createHistory => options => {
7 const { basename = '' } = options || {};
8
9 const history = createHistory(options);
10
11 return _extends({}, history, {
12 createHref: location => {
13 const locationObj = parse(location);
14 if (locationObj.host || !locationObj.pathname) return location;
15 return `${basename}${location}`;
16 }
17 });
18};
19
20export const createBrowserHistory = useBasename(_createBrowserHistory);
21export const createMemoryHistory = useBasename(_createMemoryHistory);
22export const createHashHistory = useBasename(_createHashHistory);
23//# sourceMappingURL=history.js.map
\No newline at end of file