UNPKG

@prodo/route

Version:

Route plugin for [Prodo](https://prodo.dev). See [documentation](https://docs.prodo.dev/plugins/routing) for more info.

55 lines 2.2 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = require("./types"); var utils_1 = require("./utils"); exports.pushAction = function (ctx) { return function (routeParams) { if (typeof routeParams === "string") { routeParams = { path: routeParams }; } routeParams = __assign(__assign({}, routeParams), { path: utils_1.normalizePath(routeParams.path) }); ctx[types_1.persistentSymbol].isTimeTravelling = true; ctx[types_1.universeSymbol].route = { path: routeParams.path, params: routeParams.params || {}, }; ctx[types_1.historySymbol].push(routeParams.path + utils_1.createParamString(routeParams.params)); }; }; exports.replaceAction = function (ctx) { return function (routeParams) { if (typeof routeParams === "string") { routeParams = { path: routeParams }; } routeParams = __assign(__assign({}, routeParams), { path: utils_1.normalizePath(routeParams.path) }); ctx[types_1.universeSymbol].route = { path: routeParams.path, params: routeParams.params || {}, }; ctx[types_1.persistentSymbol].isTimeTravelling = true; ctx[types_1.universeSymbol].route = { path: routeParams.path, params: routeParams.params || {}, }; ctx[types_1.historySymbol].replace(routeParams.path + utils_1.createParamString(routeParams.params)); }; }; exports.setRouteAction = function (ctx) { return function (routeParams) { if (!ctx[types_1.persistentSymbol].isTimeTravelling) { ctx[types_1.universeSymbol].route = { path: utils_1.normalizePath(routeParams.path), params: routeParams.params || {}, }; } else { ctx[types_1.persistentSymbol].isTimeTravelling = false; } }; }; //# sourceMappingURL=actions.js.map