JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 47
  • Score
    100M100P100Q78518F
  • License MIT

Маршрутизатор на основе префиксного дерева

Package Exports

  • @e22m4u/js-path-trie
  • @e22m4u/js-path-trie/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@e22m4u/js-path-trie) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@e22m4u/js-path-trie

ES-модуль маршрутизации на основе префиксного дерева.

  • Использует path-to-regexp синтаксис.
  • Поддерживает параметры маршрута.

Установка

npm install @e22m4u/js-path-trie

Пример

  • add(pathTemplate: string, value: unknown) - добавить значение к новому маршруту
  • match(path: string) - поиск значения по заданному маршруту
const trie = new PathTrie();

// добавление маршрутов выполняется
// методом "add", который принимает
// шаблон маршрута и его значение
trie.add('/foo/bar', yourValue1);
trie.add('/foo/:p1/bar/:p2', yourValue2);

// для поиска значения используется
// метод "match", который возвращает
// значение маршрута и его параметры
trie.match('/foo/bar');
// {
//   value: yourValue1,
//   params: {}
// }

// если маршрут имеет параметры,
// то их значения вернуться
// в результате поиска
trie.match('/foo/10/bar/20');
// {
//   value: yourValue2,
//   params: {p1: 10, p2: 20}
// }

// если маршрут не найден,
// то возвращается "undefined"
trie.match('/foo/bar/baz');
// undefined

Отладка

Что бы включить вывод логов, требуется определить переменную окружения DEBUG перед запуском.

DEBUG=jsPathTrie* npm run test

Тестирование

npm run test

Лицензия

MIT