"use strict"; exports.__esModule = true; var _pathToRegexp = require("path-to-regexp"); var _pathToRegexp2 = _interopRequireDefault(_pathToRegexp); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var patternCache = {}; var cacheLimit = 10000; var cacheCount = 0; var compileGenerator = function compileGenerator(pattern) { var cacheKey = pattern; var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {}); if (cache[pattern]) return cache[pattern]; var compiledGenerator = _pathToRegexp2.default.compile(pattern); if (cacheCount < cacheLimit) { cache[pattern] = compiledGenerator; cacheCount++; } return compiledGenerator; }; /** * Public API for generating a URL pathname from a pattern and parameters. */ var generatePath = function generatePath() { var pattern = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "/"; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (pattern === "/") { return pattern; } var generator = compileGenerator(pattern); return generator(params, { pretty: true }); }; exports.default = generatePath;