Projekt

Obecné

Profil

Stáhnout (572 Bajtů) Statistiky
| Větev: | Revize:
1
import pathToRegexp from "path-to-regexp";
2

    
3
const cache = {};
4
const cacheLimit = 10000;
5
let cacheCount = 0;
6

    
7
function compilePath(path) {
8
  if (cache[path]) return cache[path];
9

    
10
  const generator = pathToRegexp.compile(path);
11

    
12
  if (cacheCount < cacheLimit) {
13
    cache[path] = generator;
14
    cacheCount++;
15
  }
16

    
17
  return generator;
18
}
19

    
20
/**
21
 * Public API for generating a URL pathname from a path and parameters.
22
 */
23
function generatePath(path = "/", params = {}) {
24
  return path === "/" ? path : compilePath(path)(params, { pretty: true });
25
}
26

    
27
export default generatePath;
(10-10/14)