Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3 лет назад
12345678910111213141516171819202122232425262728293031323334353637
  1. import pathToRegexp from "path-to-regexp";
  2. var patternCache = {};
  3. var cacheLimit = 10000;
  4. var cacheCount = 0;
  5. var compileGenerator = function compileGenerator(pattern) {
  6. var cacheKey = pattern;
  7. var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});
  8. if (cache[pattern]) return cache[pattern];
  9. var compiledGenerator = pathToRegexp.compile(pattern);
  10. if (cacheCount < cacheLimit) {
  11. cache[pattern] = compiledGenerator;
  12. cacheCount++;
  13. }
  14. return compiledGenerator;
  15. };
  16. /**
  17. * Public API for generating a URL pathname from a pattern and parameters.
  18. */
  19. var generatePath = function generatePath() {
  20. var pattern = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "/";
  21. var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  22. if (pattern === "/") {
  23. return pattern;
  24. }
  25. var generator = compileGenerator(pattern);
  26. return generator(params, { pretty: true });
  27. };
  28. export default generatePath;