react-application-core
Version:
A react-based application core for the business applications.
56 lines • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RouteUtils = exports.getRoutePathBySection = exports.buildEntityRoute = exports.buildRoute = void 0;
var R = require("ramda");
var definitions_interface_1 = require("../definitions.interface");
var definition_1 = require("../definition");
var calc_1 = require("./calc");
function buildRoute(path, params) {
(path.match(/\:[a-zA-Z0-9]+/g) || []).forEach(function (placeholder) {
path = path.replace(placeholder, params[placeholder.substring(1, placeholder.length)]);
});
return path;
}
exports.buildRoute = buildRoute;
/**
* @stable [10.09.2020]
* @param path
* @param entity
*/
exports.buildEntityRoute = function (path, entity) {
return buildRoute(path, { id: entity ? entity.id : definition_1.DefaultEntities.NEW });
};
/**
* @stable [10.09.2020]
* @param entity
*/
var asRoutePath = function (entity) {
return R.isNil(entity) ? definitions_interface_1.UNDEF : calc_1.CalcUtils.calc(entity.routeConfiguration.path);
};
/**
* @stable [11.09.2019]
* @param {string} section
* @param {Map<string, >} connectorConfigs
* @returns {string}
*/
exports.getRoutePathBySection = function (section, connectorConfigs) {
var routePath = null;
connectorConfigs.forEach(function (connectorConfig, currentSection) {
if (currentSection === section) {
routePath = asRoutePath(connectorConfig);
}
});
return routePath;
};
/**
* @stable [07.06.2020]
*/
var RouteUtils = /** @class */ (function () {
function RouteUtils() {
}
RouteUtils.asRoutePath = asRoutePath; /* @stable [10.09.2020] */
RouteUtils.buildEntityRoute = exports.buildEntityRoute; /* @stable [07.06.2020] */
return RouteUtils;
}());
exports.RouteUtils = RouteUtils;
//# sourceMappingURL=route.js.map