UNPKG

@snipsonian/redux-first-router

Version:

Redux-first-router snippets

42 lines (41 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRouteKeysThatBelongToGroup = exports.doesRouteBelongToGroup = exports.getRouteKeyByPath = exports.getRoutePath = exports.getRoute = exports.getRegisteredRoutes = exports.registerRoutes = void 0; let allRoutes; function registerRoutes(routes) { allRoutes = routes; } exports.registerRoutes = registerRoutes; function getRegisteredRoutes() { return allRoutes; } exports.getRegisteredRoutes = getRegisteredRoutes; function getRoute({ routeKey }) { return allRoutes[routeKey]; } exports.getRoute = getRoute; function getRoutePath({ routeKey }) { return getRoute({ routeKey }).path; } exports.getRoutePath = getRoutePath; function getRouteKeyByPath({ path }) { return getAllRouteKeys() .find((routeKey) => getRoute({ routeKey }).path === path); } exports.getRouteKeyByPath = getRouteKeyByPath; function doesRouteBelongToGroup({ routeKey, group }) { const route = getRoute({ routeKey }); if (!route || !route.groups) { return false; } return route.groups.indexOf(group) > -1; } exports.doesRouteBelongToGroup = doesRouteBelongToGroup; function getRouteKeysThatBelongToGroup({ group }) { return getAllRouteKeys() .filter((routeKey) => doesRouteBelongToGroup({ routeKey, group })); } exports.getRouteKeysThatBelongToGroup = getRouteKeysThatBelongToGroup; function getAllRouteKeys() { return Object.keys(allRoutes); }