UNPKG

infinity-forge

Version:
112 lines 3.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRouterBuild = createRouterBuild; function createRouterBuild(router) { var queryParams = router.query; function addRouteParam(paramName, paramValue) { if (queryParams[paramName]) { queryParams[paramName] = "".concat(queryParams[paramName], ",").concat(paramValue); } else { queryParams[paramName] = paramValue; } router.push({ pathname: router.pathname, query: queryParams, }, undefined, { shallow: false, }); } function updateRouteParam(paramName, paramValue) { queryParams[paramName] = paramValue; router.push({ pathname: router.pathname, query: queryParams, }, undefined, { shallow: false, scroll: false }); } function removeRouteParam(paramName, value) { var paramText = queryParams[paramName]; if (typeof paramText === 'string') { var paramItemsArray = paramText.split(','); var paramRemoveIndex = paramItemsArray.findIndex(function (paramItem) { return paramItem === value.toString(); }); if (paramRemoveIndex !== -1) { paramItemsArray.splice(paramRemoveIndex, 1); } if (paramItemsArray.length > 0) { queryParams[paramName] = paramItemsArray.join(','); } else { delete queryParams[paramName]; } } router.push({ pathname: router.pathname, query: queryParams, }, undefined, { shallow: false, }); } function addRoutePath(mainPath, path) { var mainPathValues = queryParams[mainPath]; if (typeof mainPathValues !== 'string' && mainPathValues !== undefined) { mainPathValues.push(path); } queryParams[mainPath] = mainPathValues; router.push({ pathname: router.pathname, query: queryParams, }, undefined, { shallow: false, }); } function updateRoutePath(mainPath, newPath) { queryParams[mainPath] = newPath.split('/'); router.push({ pathname: router.pathname, query: queryParams, }, undefined, { shallow: false, }); } function removeRoutePath(mainPath, value) { var mainPathValues = queryParams[mainPath]; if (typeof mainPathValues !== 'string' && mainPathValues !== undefined) { var routeRemoveIndex = mainPathValues.findIndex(function (routeValue) { return routeValue === value.toString(); }); if (routeRemoveIndex !== -1) { mainPathValues.splice(routeRemoveIndex, 1); } } queryParams[mainPath] = mainPathValues; router.push({ pathname: router.pathname, query: queryParams, }, undefined, { shallow: false, }); } function switchRoute(mainPath, path, removeParam, newParams) { delete queryParams[removeParam]; var params = Object.assign(newParams, queryParams); router.push({ pathname: "/".concat(mainPath, "/").concat(path), query: params, }, undefined, { shallow: false, }); } return { addRouteParam: addRouteParam, updateRouteParam: updateRouteParam, removeRouteParam: removeRouteParam, addRoutePath: addRoutePath, updateRoutePath: updateRoutePath, removeRoutePath: removeRoutePath, switchRoute: switchRoute, }; } //# sourceMappingURL=router-build.js.map