0.0.5 • Published 8 months ago

@e22m4u/js-path-trie v0.0.5

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

@e22m4u/js-path-trie

English | Русский

A router for Node.js based on a prefix tree (trie).

Installation

Node.js 16 or higher is required.

npm install @e22m4u/js-path-trie

The module supports ESM and CommonJS standards.

ESM

import {PathTrie} from '@e22m4u/js-path-trie';

CommonJS

const {PathTrie} = require('@e22m4u/js-path-trie');

Overview

The PathTrie class has the following methods:

  • add(pathTemplate: string, value: unknown) adds a value to a new route
  • match(path: string) returns a value by a given path

Example:

import {PathTrie} from '@e22m4u/js-path-trie';

const trie = new PathTrie();

// route registration is performed using
// the "add" method, which takes a route
// template and its value
trie.add('/foo/bar', yourValue1);
trie.add('/foo/:p1/bar/:p2', yourValue2);

// to search for a value use the "match"
// method, which returns the route value
// and its parameters
trie.match('/foo/bar');
// {
//   value: yourValue1,
//   params: {}
// }

// if a route has parameters
// their values will be returned
// in the search result
trie.match('/foo/10/bar/20');
// {
//   value: yourValue2,
//   params: {p1: 10, p2: 20}
// }

// if a route is not found
// "undefined" is returned
trie.match('/foo/bar/baz');
// undefined

Debugging

Set the DEBUG variable to enable log output.

DEBUG=jsPathTrie* npm run test

Testing

npm run test

License

MIT

0.0.5

8 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

10 months ago

0.0.1

10 months ago