Маршрутизатор для Node.js на основе префиксного дерева
|
|
4 дней назад | |
|---|---|---|
| .husky | 1 год назад | |
| dist | 2 месяцев назад | |
| src | 4 дней назад | |
| .c8rc | 1 год назад | |
| .commitlintrc | 1 год назад | |
| .editorconfig | 1 год назад | |
| .gitignore | 1 год назад | |
| .mocharc.cjs | 1 год назад | |
| .prettierrc | 1 год назад | |
| LICENSE | 4 месяцев назад | |
| README.md | 4 дней назад | |
| build-cjs.js | 1 год назад | |
| eslint.config.js | 4 дней назад | |
| jsconfig.json | 4 дней назад | |
| package.json | 4 дней назад |
Маршрутизатор для Node.js на основе префиксного дерева (Trie).
Требуется Node.js 16 и выше.
npm install @e22m4u/js-path-trie
Модуль поддерживает ESM и CommonJS стандарты.
ESM
import {PathTrie} from '@e22m4u/js-path-trie';
CommonJS
const {PathTrie} = require('@e22m4u/js-path-trie');
Класс PathTrie имеет следующие методы:
add(pathTemplate: string, value: unknown) добавить
значение к новому маршрутуmatch(path: string) поиск значения по заданному
маршрутуПример:
import {PathTrie} from '@e22m4u/js-path-trie';
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