next-universal-route
Version:
Universal Next.js Route
24 lines (23 loc) • 810 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.generatePath = void 0;
var path_to_regexp_1 = require("path-to-regexp");
var mapValues_1 = require("./mapValues");
var cache = {};
var compilePath = function (path) {
if (cache[path]) {
return cache[path];
}
var generator = (0, path_to_regexp_1.compile)(path);
cache[path] = generator;
return generator;
};
var generatePath = function (path, params) {
if (path === void 0) { path = '/'; }
if (params === void 0) { params = {}; }
var safeParams = (0, mapValues_1.mapValues)(params, function (p) {
return typeof p === 'undefined' || p === null || p === '' ? '_' : p;
});
return path === '/' ? path : compilePath(path)(safeParams);
};
exports.generatePath = generatePath;
;