{"_id":"routington","_rev":"53-44110fe2903a44f088ba9f603123d9ad","name":"routington","dist-tags":{"latest":"1.0.3"},"versions":{"0.0.1":{"name":"routington","version":"0.0.1","_id":"routington@0.0.1","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"dist":{"shasum":"123367db89af1a83f54798291be939008cf22902","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.1.tgz","integrity":"sha512-C0zDpeKROsV7rlGmh8XwvkJPvZtEkqCDdQm3p3Eo+YiaNqvc21dsLr3YYtMQLLinHdK0/scJa7TQw4U/tSPe7w==","signatures":[{"sig":"MEQCIGph21HrrM5Oo/6x7eAl2e1mRBskU+a3Cf9awkDIECE/AiB8IINmQNwQudxhdFUq4gYLnmsPMbcGNcgvtC1B50J3Jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","_npmVersion":"1.2.18","description":"Prefix tree-based URL routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.2":{"name":"routington","version":"0.0.2","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"WTFPL","_id":"routington@0.0.2","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"83487d65de3fbab987204478082e69f682e50062","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.2.tgz","integrity":"sha512-aubtA3Ih1r7b35D2sGhb8HsBl3ts3UQkoJVbVpZmgeY3QXILW6+Nsdu6ZZiAUtDgOgnY5EME2Ne4eYof5WX0UA==","signatures":[{"sig":"MEYCIQDuhd5de1L6EOKBLcsezfOdTt4SFhvIJtmL04G3hUxu2QIhAP4SiVv8EtibUL3tn6dYQFjzsBaXGstrgeAe2mf2aqdy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.2.19","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.3":{"name":"routington","version":"0.0.3","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"WTFPL","_id":"routington@0.0.3","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"3b751e21bb6c72cd76aac683e6bf6ca63fcc009f","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.3.tgz","integrity":"sha512-aODChBo4PyH7/ijjQFpShh/qdzjtrVclFlg6+FBeTj7hJdnhBBrj1Ho3iF+TKV22iP4dJKR+qu/qGyM/WHz5Ng==","signatures":[{"sig":"MEUCIAz7nwoinJBBIEmwDzsFPW8a2PP1ds8oH01Mz1QxckAvAiEA+ddsmj0DkwyZWg07vCi0+Vd/Xkhxs40iOT/K05kRQkM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.2.19","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.4":{"name":"routington","version":"0.0.4","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"WTFPL","_id":"routington@0.0.4","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"a0a70e2609a3e31d935e6fcc25a0c2ba5a30488d","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.4.tgz","integrity":"sha512-+6lCthfLi6Rm6QExf8fwo1CkU7mq0WVJ5N3/DhzwBlG+HQm9w22gNu2lBZ5CziODqZk5o6xbn9BlZsw5oR/tIQ==","signatures":[{"sig":"MEQCIAjnMyoHeDOgGnwPRSQmaiD3ajHaqkTZATwiB1AhuEmbAiBmZKDkTNXMDsuhsfcwcP85ZZJA0uKZ2EKtf9NTUPrazA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.2.19","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.5":{"name":"routington","version":"0.0.5","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"WTFPL","_id":"routington@0.0.5","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"ece974923dd1d249c187f10c7bc2f6464fc4cc93","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.5.tgz","integrity":"sha512-ORItg7Xo/AvGld2UeaxPin2NkAQwYhKgBNZE/0nzQizg2qHbalcgU2KvBP30BoCLhOLTjjs0gHjEF+C5EiJ7Zw==","signatures":[{"sig":"MEYCIQCmvz8TM+bI2wmQEimRIWTT2ik8MQygKvNVB3HWKs/KUwIhAPZN2VrjLPg7VYR8TnGo36kIlGajC3PRmaBgT/U9S2KH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.2.19","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.6":{"name":"routington","version":"0.0.6","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.0.6","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"48e65b32e9d4df9fdda1f2421ee3d161d30d8cbf","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.6.tgz","integrity":"sha512-N6sh405aeDXEUThfvvPaIiV+OisTSwaxQsdMuxr6ZLddVQuxvXTPI+1b+/kxwuuPuhNqsWltAJZkIYPQ3O135Q==","signatures":[{"sig":"MEUCIQDUMZluzkSSGUnWvkgYKkVHoXkUZjkmzh27Gy3TIrsHwwIgMY3NpuTuRY6n1B7e+in/B/jzmMpJJ+zGdN54p3WIHVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.2.21","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.7":{"name":"routington","version":"0.0.7","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.0.7","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"d3717486bf1abb0bd957410cb1764f2dfa15eb1b","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.7.tgz","integrity":"sha512-SI3rg2n4+Jhmsr80lnkm2iqVisURNQJTAC3GUZN6HY7+pVXhHlzTCZPxVAG8VsBIGS8Dr5LWZe1YVyEzlvy2jg==","signatures":[{"sig":"MEQCIFWlwpEBZb4iOjOMcCvI+EQvaCF0NmK8F5OYZcHhJEHRAiAao1knL9WzKL3uV6yyUr5xdwbYC4BErrdm5gRQj0n2aQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.3.0","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.8":{"name":"routington","version":"0.0.8","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.0.8","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"8e5f2f3b962d921f694c54489da90708520891d9","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.8.tgz","integrity":"sha512-sfUBR9OpRTVHm4xkaZHkNK+3p9n+RPknLUHCSCS7ObN5e7p2PssFSmwGPIt+ppegQ17vVpIqWRQ2VvKaDrJJ8A==","signatures":[{"sig":"MEQCIANvtQqbQyLfCvHP7anx+NTCK0xtTbfj+LFGGwsu0iEgAiBpWAoCB9zbeRm+J8wr1poW7JSEMPCRNSPWJINSBmhptw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.3.1","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.9":{"name":"routington","version":"0.0.9","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.0.9","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"f31ed974a930a442bab305c8de589dd95b65b98e","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.9.tgz","integrity":"sha512-BgT4wrFbdpjmdU91JbRzqV83NZfCeLjBUuqDswXES54DMJKilj1+I3V6PY7AXTBTxzQXSRhkOR5CFu/Qr91GEA==","signatures":[{"sig":"MEYCIQDQBeWuZ76k601gRyD2wusk8PZGWXE1fft+h+YmjWU4qQIhAKu5rujimFjrtQQrXjYlASuZCtzZSxEk/bflavbYlxfd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.3.1","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.10":{"name":"routington","version":"0.0.10","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.0.10","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"a14600fc10fa496cd71afae9efdc5ef52e2d9940","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.10.tgz","integrity":"sha512-tG55RwDj+Nb+R8Wr5pSOgd/ylvn6qhZnvb8xF3xNNZxbEyni/gbnUATBC8niygKF4pXmw2vuuLKm/jExSvfj4A==","signatures":[{"sig":"MEUCIQCWlGY7g4t8l/w/K/xBaIxTc0g69ISLpnmXlLjnzeJS0AIgcrWcZ22g/iR4iuwI0uJpr38TbxE9b7aERhXbO8+mQ3I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.3.1","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*","component":"*"}},"0.0.11":{"name":"routington","version":"0.0.11","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.0.11","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"homepage":"https://github.com/berrington/routington","bugs":{"url":"https://github.com/berrington/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"d3afd00f9104bc2c5fab25a1c7e95a4141c5d80c","tarball":"https://registry.npmjs.org/routington/-/routington-0.0.11.tgz","integrity":"sha512-0yheytcbeA9zM5BA/JIPHrLf7CL1NxE0kEBjJbHrdcHG353M4iOsMQZZlTQf1Wh4uW0y5Yil8nF78Y+Arpfvgw==","signatures":[{"sig":"MEYCIQDhKoh50DBkKtXYANo2z9YzP/ErfDPeHEf9PB24wZgVbAIhAOi1rWCi4FCnq2fA1prGU+NQnilKXIOFiklX990Gtn9e","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/berrington/routington.git","type":"git"},"_npmVersion":"1.3.13","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","should":"*"}},"0.1.0":{"name":"routington","version":"0.1.0","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.1.0","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"homepage":"https://github.com/jonathanong/routington","bugs":{"url":"https://github.com/jonathanong/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"6b61033a36256c1c2eca5db616bf8639366c4ebf","tarball":"https://registry.npmjs.org/routington/-/routington-0.1.0.tgz","integrity":"sha512-1X7AAB/+j1gT97KQaOXRu5wmCdSVgmXPMO7vaznXP0IyOxPabSODf3VjX+zYR2f282FVBF6tX379qQheFpAGBg==","signatures":[{"sig":"MEQCIDlqonhCqL3wB1Tyz7GitCEO+CrAocaZ/H4t9Q369PL7AiAtoSZAJ1QhSpv45NSfW1n0DdKIvXKOr59IcZjoybJcuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/jonathanong/routington.git","type":"git"},"_npmVersion":"1.3.21","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","matcha":"*","should":"*"}},"0.1.1":{"name":"routington","version":"0.1.1","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.1.1","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"homepage":"https://github.com/jonathanong/routington","bugs":{"url":"https://github.com/jonathanong/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"21ca7870289a4a6b03b5021bb0ce0832725acedc","tarball":"https://registry.npmjs.org/routington/-/routington-0.1.1.tgz","integrity":"sha512-rkYiUnKW8UIAyC8wNcuLXZs/X02lK6hHbyae+7V5Q3DDr0hZaPfIUj7ag+fPfaB5eNJcpTRO5N4B6DRJjA9vUw==","signatures":[{"sig":"MEQCIBpFMurvhby7iV2399x+umQ9xEthNZPf4ZjcjF6YwxWeAiAbUbzoVg72E8WQVJwWTzeCetmwyWnJ7zZDNMY6z42bSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/jonathanong/routington.git","type":"git"},"_npmVersion":"1.3.21","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","matcha":"*","should":"*"}},"0.1.2":{"name":"routington","version":"0.1.2","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.1.2","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"homepage":"https://github.com/jonathanong/routington","bugs":{"url":"https://github.com/jonathanong/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"92afd9d7689d760761732d2f252de0a96542126d","tarball":"https://registry.npmjs.org/routington/-/routington-0.1.2.tgz","integrity":"sha512-4ud9y4FIny6EjLQioBBOzZ0uXyQl3iPsCWhP9VGDO3vam2ajIpKjUdD7ZkBSVoabnY4yBNqiuDUa/VSpLdgHYw==","signatures":[{"sig":"MEQCIEvEO2B85RhHqJyaPUOaJAiuzL/BxfM2n1fnsvN2TJL+AiAz77M+Y4RJkC3n3EN4Kj3deWDAbYdhdQd0GCCFN0Zh9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/jonathanong/routington.git","type":"git"},"_npmVersion":"1.3.26","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","matcha":"*","should":"*"}},"0.1.3":{"name":"routington","version":"0.1.3","author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@0.1.3","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"homepage":"https://github.com/jonathanong/routington","bugs":{"url":"https://github.com/jonathanong/routington/issues","email":"me@jongleberry.com"},"dist":{"shasum":"27bda10ffe4d27c4d3c545e4268b9b79105fc20c","tarball":"https://registry.npmjs.org/routington/-/routington-0.1.3.tgz","integrity":"sha512-c8fVZpXLgGHoQM8aefLeqy3X52gEdA0OKw3K1s5e24TLB5QjD5uNoP1rmNZeiDL+kf1z3tyrWIrqyog4uhmwyw==","signatures":[{"sig":"MEUCIQDHdrRiHGhbnOp3s6BcPMirSf1DpExHvWMZVwMGv2EFSQIgathNiI8WvRHi7vldGwOmwaJ64JlBFwuhU3duRvTytPE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/jonathanong/routington.git","type":"git"},"_npmVersion":"1.4.4","description":"Trie-based URL Routing","directories":{},"devDependencies":{"mocha":"*","matcha":"*","should":"*"}},"1.0.0":{"name":"routington","version":"1.0.0","keywords":["router","routes","routing","trie"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@1.0.0","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"homepage":"https://github.com/jonathanong/routington","bugs":{"url":"https://github.com/jonathanong/routington/issues"},"dist":{"shasum":"376ea8490d966177e12bdda1639b0e14f670d364","tarball":"https://registry.npmjs.org/routington/-/routington-1.0.0.tgz","integrity":"sha512-GCEwjT3ytywhaPabQ0skHwszjoE6V9PSJLJEQoyhYeAg72Iul+pYteFOVjth8qPJfLYcTjnBVZHLq8691o/Isw==","signatures":[{"sig":"MEUCIQC017/qHh2g2cPnINeLHTMYMdmfpI+dURy/wU85f+/u8wIgF8mhQNf6BMvGLXySRAyE5ZpeosyqFfcTsjs/ESXzoSE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib","_from":".","files":["lib"],"_shasum":"376ea8490d966177e12bdda1639b0e14f670d364","gitHead":"08c7518caf831f10c667e91e978c5103349bfd7f","scripts":{"test":"mocha --reporter spec --require should","bench":"matcha benchmark","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/jonathanong/routington","type":"git"},"_npmVersion":"1.4.21","description":"Trie-based URL Routing","directories":{},"dependencies":{"flatten":"0"},"devDependencies":{"mocha":"1","matcha":"0","should":"4","istanbul":"0"}},"1.0.1":{"name":"routington","version":"1.0.1","keywords":["router","routes","routing","trie"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@1.0.1","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/routington","bugs":{"url":"https://github.com/pillarjs/routington/issues"},"dist":{"shasum":"f4ebe5a05dd6cbcb75da01af59e8b1f475a65d13","tarball":"https://registry.npmjs.org/routington/-/routington-1.0.1.tgz","integrity":"sha512-ImVIBxXtmS1MTJZNur+GZLfeKnZ/5j+7n72Q3EPojvsQxce1PYP+TGBCYSxhfgKGq+patwRLyK5W/chrtqjyPQ==","signatures":[{"sig":"MEQCIBWXrB8TOZjkYmjU2a0LJZ3RENHWUqTVmk49n+9wWCAzAiAsD07JIQoLpXy/F9uye9S6r6lBygRZ7nKUb/2rR0zBjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib","_from":".","files":["lib"],"_shasum":"f4ebe5a05dd6cbcb75da01af59e8b1f475a65d13","gitHead":"754ffa479641e706ac2e9962956812dae5465724","scripts":{"test":"mocha --reporter spec --require should","bench":"matcha benchmark","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/pillarjs/routington","type":"git"},"_npmVersion":"1.4.26","description":"Trie-based URL Routing","directories":{},"dependencies":{"flatten":"~0.0.1","http-errors":"~1.2.0"},"devDependencies":{"mocha":"1","matcha":"0","should":"4","istanbul":"0"}},"1.0.2":{"name":"routington","version":"1.0.2","keywords":["router","routes","routing","trie"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@1.0.2","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/routington","bugs":{"url":"https://github.com/pillarjs/routington/issues"},"dist":{"shasum":"678e296811c5c34dcaf056086f4f4c1442b2f2d4","tarball":"https://registry.npmjs.org/routington/-/routington-1.0.2.tgz","integrity":"sha512-HT0c97ghO+Wuxv0apY3J4siXiwX8S1wvFDmx8/lRT78ArJVIX9uBYPdWck+B/PNKEdNhwbGheZi5mDZlxruHCA==","signatures":[{"sig":"MEUCIQDSdKkgwt0W7Tx57hvRvB9V0didmT7cohyNwK1UMwtILAIgE3H46Ph/b36VIejUraZEiKa83ag7FQYVf03pTlv2yK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib","_from":".","files":["lib"],"_shasum":"678e296811c5c34dcaf056086f4f4c1442b2f2d4","gitHead":"e1d05f9d1ad5376ad7f1ec43eb56493ef7d2af6f","scripts":{"test":"mocha --reporter spec --require should","bench":"matcha benchmark","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/pillarjs/routington","type":"git"},"_npmVersion":"2.0.2","description":"Trie-based URL Routing","directories":{},"_nodeVersion":"0.11.13","dependencies":{"flatten":"~0.0.1","http-assert":"^1.0.2"},"devDependencies":{"mocha":"1","matcha":"0","should":"4","istanbul":"0"}},"1.0.3":{"name":"routington","version":"1.0.3","keywords":["router","routes","routing","trie"],"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","_id":"routington@1.0.3","maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"homepage":"https://github.com/pillarjs/routington","bugs":{"url":"https://github.com/pillarjs/routington/issues"},"dist":{"shasum":"bd54cbf99bfa6bc9309312e38d5ea140ee0f421c","tarball":"https://registry.npmjs.org/routington/-/routington-1.0.3.tgz","integrity":"sha512-7hgqbBCkD8eTW4nckNS/8pxK3THKKN8pID9AqQYUbB5IkFihg4benHmhmYBrdKbK394wmVGphkUcFlnhlP9COA==","signatures":[{"sig":"MEUCIDR9Wb40VxpSWefvEm0QIuFbxJPSa/1grqv34+QNNqcoAiEAzhNIk9I97QTDuvR2l/rl48jqP028aV224lWfKvxw7hw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib","_from":".","files":["lib"],"_shasum":"bd54cbf99bfa6bc9309312e38d5ea140ee0f421c","gitHead":"db9f59bf21cb2a5f2f9cb8e3215edbf4654d0faa","scripts":{"test":"mocha --reporter spec --require should","bench":"matcha benchmark","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should"},"_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"deprecated":"This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions","repository":{"url":"https://github.com/pillarjs/routington","type":"git"},"_npmVersion":"2.1.12","description":"Trie-based URL Routing","directories":{},"_nodeVersion":"0.11.14","dependencies":{"flatten":"~0.0.1","http-assert":"1"},"devDependencies":{"mocha":"1","matcha":"0","should":"4","istanbul":"0"}}},"time":{"created":"2013-04-17T22:37:47.371Z","modified":"2026-05-11T19:09:59.029Z","0.0.1":"2013-04-17T22:38:14.763Z","0.0.2":"2013-05-02T02:46:04.165Z","0.0.3":"2013-05-02T05:55:47.339Z","0.0.4":"2013-05-03T04:53:39.532Z","0.0.5":"2013-05-03T20:51:10.725Z","0.0.6":"2013-05-20T23:11:14.459Z","0.0.7":"2013-06-28T18:41:46.990Z","0.0.8":"2013-07-01T23:02:51.885Z","0.0.9":"2013-07-05T07:12:10.458Z","0.0.10":"2013-07-13T22:41:34.179Z","0.0.11":"2013-11-15T07:35:27.317Z","0.1.0":"2013-12-28T10:43:50.148Z","0.1.1":"2013-12-28T10:48:21.145Z","0.1.2":"2014-02-12T20:42:09.504Z","0.1.3":"2014-03-06T09:40:24.392Z","1.0.0":"2014-07-23T06:13:49.074Z","1.0.1":"2014-09-10T06:05:49.145Z","1.0.2":"2014-09-22T00:48:05.623Z","1.0.3":"2014-12-27T22:13:14.269Z"},"bugs":{"url":"https://github.com/pillarjs/routington/issues"},"author":{"url":"http://jongleberry.com","name":"Jonathan Ong","email":"me@jongleberry.com"},"license":"MIT","homepage":"https://github.com/pillarjs/routington","keywords":["router","routes","routing","trie"],"repository":{"url":"https://github.com/pillarjs/routington","type":"git"},"description":"Trie-based URL Routing","maintainers":[{"email":"ulisesgascondev@gmail.com","name":"ulisesgascon"},{"email":"doug@somethingdoug.com","name":"dougwilson"},{"email":"jonathanrichardong@gmail.com","name":"jongleberry"}],"readme":"## Routington\n\n[![NPM version][npm-image]][npm-url]\n[![Build status][travis-image]][travis-url]\n[![Test coverage][coveralls-image]][coveralls-url]\n[![Dependency Status][david-image]][david-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n[![Gittip][gittip-image]][gittip-url]\n\nRoutington is a [trie](http://en.wikipedia.org/wiki/Trie)-based URL router.\nIts goal is only to define and match URLs.\nIt does not handle methods, headers, controllers, views, etc., in anyway.\nIt is faster than traditional, linear, regular expression-matching routers, although insignficantly,\nand scales with the number of routes.\n\nThe purpose of this router isn't for performance,\nbut to bring more structure to URL routing.\nThe intention is for you to build a framework on top either in node.js or in the browser.\n\nImplementations:\n\n  - [koa-trie-router](https://github.com/koajs/trie-router) - for [koa](https://github.com/koajs)\n  - [wayfarer](https://github.com/yoshuawuyts/wayfarer)\n\n### API\n\n#### node Node = Routington()\n\n```js\nvar routington = require('routington')\nvar router = routington()\n```\n\n`router` is the root `Node` in the trie. All `node`s will have `router` as furthest ancestor.\n\n#### Node\n\nEvery node on a tree is an instance of `Node`. You only construct the root. A `node` has the following properties:\n\n- `child {}Node` - String based child definitions.\n  For example, `node.child['post']` will return a child node with `node.string === 'post'`\n- `children []Node` - Name/regex based child definitions\n- `parent Node` - The parent of the node\n- `name` - Name of the node (for parameter matching)\n- `string` - String to match the URL fragment\n- `regex` - Regular expression to match the URL fragment\n\n#### nodes []Node = router.define(route)\n\n```js\nvar nodes = router.define('/:identity(page|petition)/:id([0-9a-f]{24})')\n```\n\n- `route` is a definition of a route and is an extension of Express' routing syntax.\n  `route`, however, can only be a string.\n- `nodes` is an array of `node`s.\n\nEach fragment of the route, delimited by a `/`, can have the following signature:\n\n- `string` - ex `/post`\n- `string|string` - `|` separated strings, ex `/post|page`\n- `:name` - Wildcard route matched to a name\n- `(regex)` - A regular expression match without saving the parameter (not recommended)\n- `:name(regex)`- Named regular expression match\n\nYou should always name your regular expressions otherwise you can't use the captured value.\nThe regular expression is built using `new RegExp('^(' + regex + ')$', 'i')`,\nso you need to escape your string, ie `\\\\w`.\nYou can always pre-define names or regular expressions before. For example, I can define:\n\n```js\nrouter.define('/page/:id(\\\\w{3,30})')\n\n// later, :id will have the same regexp\n// so you don't have to repeat yourself\nrouter.define('/page/:id/things')\n```\n\n#### match {} = router.match(url)\n\n```js\nrouter.define('/page/:id(\\\\w{3,30})')\nvar match = router.match('/page/taylorswift')\n```\n\n`match`, unless `null`, will be an object with the following properties:\n\n- `param` - A list of named parameters, ex, `match.param.id === 'taylorswift'`.\n- `node` - The matched node.\n  Will always have `name.string === ''`.\n\n### Building a Router on top of Routington\n\nEach URL you define creates a node,\nand you are free to do whatever you'd like with each node as long you don't overwrite any prototype properties (basically just `define`, `match`, and `parse`).\nAdding any features to routington shouldn't be necessary.\n\nFor example, suppose you want to attach callbacks to a node by extending routington:\n\n```js\nrouter.get('/:id/:controller', function (req, res, next) {\n  console.log('do something')\n})\n```\n\nYou can attach the middleware to a `node.GET` array:\n\n```js\nrouter.get = function (path, handler) {\n  var node = router.define(path)[0]\n  node.GET = node.GET || []\n  node.GET.push(handler)\n}\n```\n\nNow, dispatching is easy:\n\n```js\nfunction dispatcher(req, res, next) {\n  var match = router.match(url.parse(req.url).pathname)\n  if (!match)\n    // this is a 404\n\n  var node = match.node\n  var callbacks = node[req.method]\n  if (!callbacks)\n    // this is a 405\n\n  // execute all the callbacks.\n  // async.series won't actually work here,\n  // but you get the point.\n  async.series(callbacks, next)\n}\n```\n\nProperties attached to the node will be exposed on the match.\nFor example,\nsuppose you wanted to label a node:\n\n```js\nvar node = router.define('/:id/:controller')[0]\nnode.label = 'controller'\n```\n\nWhen matched, it will be available via `match.node.label`:\n\n```js\nvar match = router.match('/someid/somecontroller')\nassert(match.node.label === 'label')\n```\n\nSince reaching into `match.node` is a little inconvenient and you probably don't want your end users to touch it,\nyou should expose in your dispatcher:\n\n```js\nvar match = router.match(url.parse(req.url).pathname)\n\n// ...\n\nreq.param = match.param\nreq.label = match.node.label\n```\n\n### Browser Support\n\nIE9+\n\n[npm-image]: https://img.shields.io/npm/v/routington.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/routington\n[github-tag]: http://img.shields.io/github/tag/pillarjs/routington.svg?style=flat-square\n[github-url]: https://github.com/pillarjs/routington/tags\n[travis-image]: https://img.shields.io/travis/pillarjs/routington.svg?style=flat-square\n[travis-url]: https://travis-ci.org/pillarjs/routington\n[coveralls-image]: https://img.shields.io/coveralls/pillarjs/routington.svg?style=flat-square\n[coveralls-url]: https://coveralls.io/r/pillarjs/routington?branch=master\n[david-image]: http://img.shields.io/david/pillarjs/routington.svg?style=flat-square\n[david-url]: https://david-dm.org/pillarjs/routington\n[license-image]: http://img.shields.io/npm/l/routington.svg?style=flat-square\n[license-url]: LICENSE.md\n[downloads-image]: http://img.shields.io/npm/dm/routington.svg?style=flat-square\n[downloads-url]: https://npmjs.org/package/routington\n[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square\n[gittip-url]: https://www.gittip.com/jonathanong/\n","readmeFilename":"README.md","users":{"kehanshi":true}}