0.0.10 • Published 6 months ago

@e22m4u/js-path-trie v0.0.10

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

@e22m4u/js-path-trie

Маршрутизатор для Node.js на основе префиксного дерева (trie).

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

Установка

Требуется 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

0.0.10

6 months ago

0.0.9

11 months ago

0.0.8

11 months ago

0.0.7

12 months ago

0.0.6

12 months ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago