react-router
Version:
A complete routing library for React
37 lines (28 loc) • 1.62 kB
JavaScript
var _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; };
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
import useQueries from 'history/lib/useQueries';
import createTransitionManager from './createTransitionManager';
import warning from './routerWarning';
/**
* Returns a new createHistory function that may be used to create
* history objects that know about routing.
*
* Enhances history objects with the following methods:
*
* - listen((error, nextState) => {})
* - listenBeforeLeavingRoute(route, (nextLocation) => {})
* - match(location, (error, redirectLocation, nextState) => {})
* - isActive(pathname, query, indexOnly=false)
*/
function useRoutes(createHistory) {
process.env.NODE_ENV !== 'production' ? warning(false, '`useRoutes` is deprecated. Please use `createTransitionManager` instead.') : void 0;
return function () {
var _ref = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var routes = _ref.routes;
var options = _objectWithoutProperties(_ref, ['routes']);
var history = useQueries(createHistory)(options);
var transitionManager = createTransitionManager(history, routes);
return _extends({}, history, transitionManager);
};
}
export default useRoutes;