Маршрутизатор для Node.js на основе префиксного дерева
|
|
1 year ago | |
|---|---|---|
| .husky | 1 year ago | |
| dist | 1 year ago | |
| src | 1 year ago | |
| .c8rc | 1 year ago | |
| .commitlintrc | 1 year ago | |
| .editorconfig | 1 year ago | |
| .gitignore | 1 year ago | |
| .mocharc.cjs | 1 year ago | |
| .prettierrc | 1 year ago | |
| LICENSE | 1 year ago | |
| README-ru.md | 1 year ago | |
| README.md | 1 year ago | |
| build-cjs.js | 1 year ago | |
| eslint.config.js | 1 year ago | |
| package.json | 1 year ago | |
| tsconfig.json | 1 year ago |
English | Русский
Маршрутизатор для Node.js на основе префиксного дерева (trie).
npm install @e22m4u/js-path-trie
Для загрузки ES-модуля требуется установить
"type": "module" в файле package.json, или
использовать .mjs расширение.
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