route-node
A package to create a tree (trie) of named routes. It is similar to routington except that nodes are not added by splitting path by segment ("/"). Instead the tree is built with the supplied nodes, meaning each node is a valid route.
This module is being used for developing a router, API is subject to change without notice
Install
$ npm install route-node --save
Usage
Building your route tree:
var RootNode = require('route-node');
var usersNode = new RouteNode('users', '/users', [
new RouteNode('list', '/list'),
new RouteNode('view', '/view/:id')
]);
var ordersNode = new RouteNode('orders', '/orders', [
new RouteNode('pending', '/pending'),
new RouteNode('completed', '/completed'),
new RouteNode('view', '/view/:id')
]);
var rootNode = new RouteNode('', '', [
ordersNode,
usersNode
]);
rootNode.add(new RouteNode('home', '/home'));
And then build paths, or match your paths against your tree:
rootNode.getPath('users.view');
rootNode.buildPath('users.view', {id: 1});
rootNode.matchPath('/users/view/1');
Related packages
Based on