UNPKG

@danilandreev/material-docs

Version:

material-docs - react framework for easy creating documentation site in material design style.

40 lines (33 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = goToPage; var _createRouteFromName = _interopRequireDefault(require("./createRouteFromName")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /** * goToPage - function for redirecting between pages. * On page error returns false value. * Throws TypeError when changeRouteFunction is incorrect. * @function * @param {string | string[]} page Page path, can be a string separated with "/" or array of strings in right order. * @param {function} changeRouteFunction Function for handling redirect. Pass changeRoute() from routing-manager here. * @return boolean * @throws TypeError */ function goToPage(page, changeRouteFunction) { if (typeof changeRouteFunction !== "function") throw new TypeError("MaterialDocs: Incorrect type of changeRouteFunction param, expected \"function(object)\", got \"".concat(_typeof(changeRouteFunction), "\"")); if (typeof page !== "string" && !Array.isArray(page)) return false; var path = page; if (typeof path === "string") { path = path.split("/"); } path = path.map(function (item) { return (0, _createRouteFromName.default)(item); }).join("/"); changeRouteFunction({ page: path }); return true; }