{"_id":"ampersand-router","_rev":"43-e395b690aa5f90e515aaf4474be66390","name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","dist-tags":{"latest":"5.0.0"},"versions":{"0.1.0":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"0.1.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"0.x.x","backbone-events-standalone":"0.x.x","get-result":"0.x.x","jquery-browserify":"1.x.x","underscore":"1.x.x","precommit-hook":"~0.3.10"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"_id":"ampersand-router@0.1.0","dist":{"shasum":"c88eca7d47c708d0f6f918e3a85e46b91f5812f4","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-0.1.0.tgz","integrity":"sha512-aP54BGzr5G2/PcmgFLohZtzU0mYEeDcCs/oAE/XNus0JtZh/eXsrY5bL1AmykQAClPD2c0oE9DXGxAkApevacQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPMKRAKKnvhPACBq+VC8MmEvsUW+iq2bcLVKARr/wfjQIhALs1NPQ1Tbe1nzbuuKr5znhVeKd3Xq72xxfx2tfsqGIr"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"directories":{}},"0.1.1":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"0.1.1","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"0.x.x","backbone-events-standalone":"0.x.x","get-result":"0.x.x","jquery-browserify":"1.x.x","underscore":"1.x.x","precommit-hook":"~0.3.10"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"_id":"ampersand-router@0.1.1","dist":{"shasum":"23bb0c8ff5e606bd401be329ff26137a9e35822d","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-0.1.1.tgz","integrity":"sha512-/6dIhPBMnWqAGl0mZwMZYM1xFIW8+OTakPtTID9evoB7vf6327P3y0y5tYbiRvPzpxIhzxDetMMDEK3KW/VKUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGXbRe2b7bD07LuLFlJmCRnIbY7BJ/97kkIJ5ter3sCeAiBUXA7RasWHFzKRj4kUu+nA8RiA1iXd3iECsqfkQXXjtA=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"directories":{}},"1.0.0":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"0.x.x","backbone-events-standalone":"0.x.x","testem":"^0.6.16","underscore":"~1.6.0"},"devDependencies":{"precommit-hook":"~0.3.10","tape":"^2.13.2","underscore":"1.x.x"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"testem","test":"testem ci"},"_id":"ampersand-router@1.0.0","dist":{"shasum":"98c7509395a855002e6ce06a370119b25c32140d","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.0.tgz","integrity":"sha512-UQwr51U0BO0baYfbOnZADVIQ9qnSCe3hQgcZD9d8ilwtQ3vd0cfNxKTHzHkbY4k2uWeFX7nnqaiAJclXusasag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/WVMnC+AxEyYGJ2akm/7PNUKR1e8pTuQe/tjHXlDNiAIhALwyoAp44NDfb6fJizyJGv6+dmLdSPEl83e6mYDzel9k"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"}],"directories":{}},"1.0.1":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.1","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"0.x.x","backbone-events-standalone":"0.x.x","underscore":"~1.6.0"},"devDependencies":{"browserify":"^4.1.10","precommit-hook":"~0.3.10","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1","underscore":"1.x.x"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js"},"_id":"ampersand-router@1.0.1","_shasum":"25efcc68d13d62d3f2e877058887359a23274f30","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"latentflip","email":"phil@latentflip.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"}],"dist":{"shasum":"25efcc68d13d62d3f2e877058887359a23274f30","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.1.tgz","integrity":"sha512-iz2fVemZ3QoViL953NvmJNRHpqd0viDLwD3u8zBoVV3fpxs8OzamA23TYPZ1UDZHUCG//s4k26WxT872RArhSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH9bfym3SOYOLD+NFlJLkzq1+ei51swTkBEgODmuYWBJAiBHp18dGEW6ogrC1mrYmG4IktzG91fL0zkFgbMDZkH5UA=="}]},"directories":{}},"1.0.2":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.2","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","backbone-events-standalone":"0.2.2","underscore":"^1.6.0"},"devDependencies":{"browserify":"^4.1.10","precommit-hook":"~0.3.10","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1","underscore":"1.x.x"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js"},"gitHead":"0c946c3826649ae53f8927c86d16f419a25523de","_id":"ampersand-router@1.0.2","_shasum":"35e44a937686db5844aea3b57032f1de171056ac","_from":".","_npmVersion":"1.4.20","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"}],"dist":{"shasum":"35e44a937686db5844aea3b57032f1de171056ac","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.2.tgz","integrity":"sha512-bGrxqsmhOHTQGwnbysN21RVchgFRAl8VwaFxkx3QUO79fCeWH+t2lCbFg41/xZNYvbTKAqiYpMTAxkRvC7WUAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAu1QjsuP1F/C4D3TLGFViyF5sSA8rOE5ZOWnY3y7HdRAiAGu0NO5IA9T6aMv2dxEIoQs1aApwcSbqLq4zYCNXEUcg=="}]},"directories":{}},"1.0.3":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.3","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","backbone-events-standalone":"0.2.2","jshint":"^2.5.3","precommit-hook":"^1.0.7","underscore":"1.6.0"},"devDependencies":{"browserify":"^4.1.10","phantomjs":"^1.9.7-15","precommit-hook":"~0.3.10","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"e356b2382ced0df6faf4c4c51f6e2c1dcfebeddd","_id":"ampersand-router@1.0.3","_shasum":"b5b521e820a8dade489809cb76ad2a7c3f47c6ea","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"b5b521e820a8dade489809cb76ad2a7c3f47c6ea","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.3.tgz","integrity":"sha512-95FUQNWuPrJEUopD3AKZSGphB2r/7pViWESrg5D1I9VB1U3XwbTldvH9VzuHOT7JCuvIvBPDLge4KPnZLiCj2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYoqIG8vT9uXOvM51KaKMndULeSHRIxhk6ldAIOttEvAiEAqlaVANgYynIOTTPZu4CKeJfvtz3JJDjpghhgXULcr0Q="}]},"directories":{}},"1.0.4":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.4","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","backbone-events-standalone":"0.2.2","jshint":"^2.5.3","underscore":"1.6.0"},"devDependencies":{"browserify":"^4.1.10","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"d6892c6262571589842515d7ce6fa54ce7a992ea","_id":"ampersand-router@1.0.4","_shasum":"abfdda9c452636b33a42b29eb0ca5352a9d92e61","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"abfdda9c452636b33a42b29eb0ca5352a9d92e61","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.4.tgz","integrity":"sha512-Ecn5GJxGjQrcgA8iy2Nw2+/rjC8SPSjOZ8x5witThm6+kNStqVkya6kA9+G5JyOu6X755ecASBqc4chV7Yzcew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEiBmZX+N8a1e2+GREYVBEsSkDXXlHYcml5rRMXAif+GAiEA6a9aOVQBPgN3qlbS3w+Qrh48AAURLAT7842VlqrfmNM="}]},"directories":{}},"1.0.5":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.5","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","backbone-events-standalone":"0.2.2","underscore":"1.6.0"},"devDependencies":{"browserify":"^4.1.10","jshint":"^2.5.3","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"1078017b98bf3a45174e29a07d5322e470313a5f","_id":"ampersand-router@1.0.5","_shasum":"912695d958b9879951fdfaae073bafddef0f874b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"912695d958b9879951fdfaae073bafddef0f874b","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.5.tgz","integrity":"sha512-tTQvzQJarhbtQZQu4jq4O+JUi54KZG2GP3lNyDFDYfOaJRA0VDyNNhEC1ugyFzXo+6k2xypeHbQe2kqCE5ciXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHGE5sWCKNYk93Sz6lIr/tqoXTpDphQDGNEjjzSiSZFAiEApcm7kOGPgPyGNVgyyORvUN14I7foXTuS4a1dyi06nHI="}]},"directories":{}},"1.0.6":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.6","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","backbone-events-standalone":"0.2.2","underscore":"1.6.0","ampersand-version":"^1.0.0"},"devDependencies":{"browserify":"^4.1.10","jshint":"^2.5.3","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"browserify":{"transform":["ampersand-version"]},"gitHead":"188a6dc82ccaf392105130323995c90c5a951890","_id":"ampersand-router@1.0.6","_shasum":"2b7ba099c9c88fa806b762d846c8c9f0db1352df","_from":".","_npmVersion":"2.0.0-alpha-5","_npmUser":{"name":"latentflip","email":"phil@latentflip.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"2b7ba099c9c88fa806b762d846c8c9f0db1352df","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.6.tgz","integrity":"sha512-GVMatIYynw/O1xAbG/359RGlygBqYtB8SRgUoa+muxm1WK0bVVjhYW1nUE4iHILZ9x+V4s3ZCzZnApRsXiOivQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBp2igM7Aqv2oGbdEsli9G8EV2O5jBo/q7Wmw/Ow8zR7AiEA7uF5hSse/X+idWVlq6Eri7NIWszBjYN5h8KA8rtjyqc="}]},"directories":{}},"1.0.7":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"1.0.7","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"amp-bind":"^1.0.1","amp-extend":"^1.0.1","amp-is-function":"^1.0.1","amp-is-regexp":"^1.0.1","amp-result":"^1.0.1","ampersand-class-extend":"^1.0.0","ampersand-version":"^1.0.0","backbone-events-standalone":"0.2.2"},"devDependencies":{"amp-each":"^1.0.1","amp-pick":"^1.0.0","browserify":"^4.1.10","jshint":"^2.5.3","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"0e359c8f5c4c04234ba936836c780c55a512daf0","_id":"ampersand-router@1.0.7","_shasum":"0a91a8e9f49a7088b37a6aa24a9ad1be14509423","_from":".","_npmVersion":"2.1.5","_nodeVersion":"0.10.30","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"0a91a8e9f49a7088b37a6aa24a9ad1be14509423","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-1.0.7.tgz","integrity":"sha512-aFxvXujsgz5C2yV2q68xN6bLrA5MqYfJ7cWlDmzLS9lKs010oiAPOp4hDoFmxrURFol9jTPRls3sVyOL8DiqsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIApCwJ+prkbAfzCvziCZUfF0Eiv+3xL5eKStBPgbufhIAiBwKinLWwkQl3tmPLVu9azhtqq2SJ7ifmJaub83N8mhkw=="}]},"directories":{}},"2.0.0":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"2.0.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"amp-bind":"^1.0.1","amp-extend":"^1.0.1","amp-is-function":"^1.0.1","amp-is-regexp":"^1.0.1","amp-result":"^1.0.1","ampersand-class-extend":"^1.0.0","ampersand-version":"^1.0.0","backbone-events-standalone":"0.2.2"},"devDependencies":{"amp-each":"^1.0.1","amp-pick":"^1.0.0","browserify":"^4.1.10","jshint":"^2.5.3","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"2957aff98d4ccc05e16a35f40abe5e2ffd99bcee","_id":"ampersand-router@2.0.0","_shasum":"f315518389b26325351fd61f75e84031e1b46e03","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.37","_npmUser":{"name":"gar","email":"gar@comrade.us"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"f315518389b26325351fd61f75e84031e1b46e03","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-2.0.0.tgz","integrity":"sha512-DJaOxtcyt6YOGWWBA0EE61I7ShF+7oAHz3nmKUAFeowpbG1OLRP2U6abtHNGOB/K450GUmpLCWzHBbrCoTipFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6uPJZnOrmDchauaULpgsLxuM6XTR9bZhPsWEjWDqFbgIgDViQgQqjGz84q4r2yMZIxLemIhiKIh4v25WrqjIMJJ8="}]},"directories":{}},"2.0.1":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"2.0.1","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","ampersand-version":"^1.0.0","backbone-events-standalone":"0.2.2","lodash.assign":"^3.0.0","lodash.bind":"^3.1.0","lodash.isfunction":"^3.0.2","lodash.isregexp":"^3.0.1","lodash.result":"^3.0.0"},"devDependencies":{"browserify":"^4.1.10","jshint":"^2.5.3","lodash.pick":"^3.1.0","lodash.foreach":"^3.0.2","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"a38557bcd643dea332bde1b6043fcfa3ff6aa5f7","_id":"ampersand-router@2.0.1","_shasum":"09244a819f7248b199e8244986bc00dc5b8cf6cb","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.10.35","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"09244a819f7248b199e8244986bc00dc5b8cf6cb","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-2.0.1.tgz","integrity":"sha512-zMsR/idI3gsvqcQ6PSAR9gSls2voND14RByt6FYYF8jzA67l70kWeGpYKzv66wIpU/92LOimjG452q4qX2ULFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxwPmhGdxJ+7fVrZwMEVek1mO3u2o2qYZoF5av9ad/LQIgVISusLQ85H/UuYqIQG3xJ4FGCg/ZJ78faX/j+I79saY="}]},"directories":{}},"2.1.0":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"2.1.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","ampersand-events":"^1.1.1","ampersand-version":"^1.0.0","lodash.assign":"^3.0.0","lodash.bind":"^3.1.0","lodash.isfunction":"^3.0.2","lodash.isregexp":"^3.0.1","lodash.result":"^3.0.0"},"devDependencies":{"browserify":"^4.1.10","jshint":"^2.5.3","lodash.pick":"^3.1.0","lodash.foreach":"^3.0.2","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"922997a6b37aa053372937104fdc98024b1bd09b","_id":"ampersand-router@2.1.0","_shasum":"567042228ffcffda1e884b59c7660738553c2a27","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.37","_npmUser":{"name":"gar","email":"gar@comrade.us"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"567042228ffcffda1e884b59c7660738553c2a27","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-2.1.0.tgz","integrity":"sha512-EGDKHX/I+VBkhd1vs10FuT87H2hwmulxkGECsmrlIBlpVv4dmANxoKMKOTmMnr2BTCt4YUZZTfTIxty+5TtTLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT9vCNhK2dLACtiNKEWC27CMxEiedHkRD/SFPQ5BJUqwIhAOYxCDzDHF6WXjX0JJMfa+/NNMpYtA/OhlAxzfq5NG6k"}]},"directories":{}},"3.0.0":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"3.0.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","ampersand-events":"^1.1.1","ampersand-version":"^1.0.0","lodash.assign":"^3.0.0","lodash.bind":"^3.1.0","lodash.isfunction":"^3.0.2","lodash.isregexp":"^3.0.1","lodash.result":"^3.0.0"},"devDependencies":{"browserify":"^4.1.10","jshint":"^2.5.3","lodash.pick":"^3.1.0","lodash.foreach":"^3.0.2","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"e46debc87c3458f0db7d11d06c639b2f4f8dee69","_id":"ampersand-router@3.0.0","_shasum":"0bc6ba569daf7e709de551493f90fd379c4c124a","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.35","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"0bc6ba569daf7e709de551493f90fd379c4c124a","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-3.0.0.tgz","integrity":"sha512-Ok4xsH2/xvhXT7xkdyO+oOBawsUPU26AqhMt8Nqj1SSiA/tRH1LOydxrYbKLkrUdOGblD1/UxXy9rR+y5P29yw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDb9f7sUSB9AntWnfO5ewHr5a2T6IoX/5t8L3ldHVL58AiEAosIAzLtsihf1zU4yjdYaOzRe2NRLIiFgtkrlD0L46Vg="}]},"directories":{}},"3.0.1":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"3.0.1","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","ampersand-events":"^1.1.1","ampersand-version":"^1.0.0","lodash.assign":"^3.0.0","lodash.bind":"^3.1.0","lodash.isfunction":"^3.0.2","lodash.isregexp":"^3.0.1","lodash.result":"^3.0.0"},"devDependencies":{"browserify":"^4.1.10","jshint":"^2.5.3","lodash.pick":"^3.1.0","lodash.foreach":"^3.0.2","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"e0c5b3d43d2b8e8189c48bfcbc0ff86031712fee","_id":"ampersand-router@3.0.1","_shasum":"1b6c5198812164165ab8cd471ba66d33aba97889","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.38","_npmUser":{"name":"gar","email":"gar@comrade.us"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"1b6c5198812164165ab8cd471ba66d33aba97889","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-3.0.1.tgz","integrity":"sha512-jfGl7XacE3KF0j8qro2LoeLCTjwu9RrAFHqzYUHMe9MHeQn+2yqKaQUAZUJs8nlEyHOXn1fYyoMNRBurq/yC2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIALkCeHN+k8NLSAZeDGb0YAEzi7vPu5WpGtTymBNBGTjAiEAyIj4iZ1AFp1i9PZPwfw8SPnPG4MX5iMWykYnPaX67w8="}]},"directories":{}},"3.0.2":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"3.0.2","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^1.0.0","ampersand-events":"^1.1.1","ampersand-version":"^1.0.0","lodash.assign":"^3.0.0","lodash.bind":"^3.1.0","lodash.isfunction":"^3.0.2","lodash.isregexp":"^3.0.1","lodash.result":"^3.0.0"},"devDependencies":{"browserify":"^4.1.10","jshint":"^2.5.3","lodash.pick":"^3.1.0","lodash.foreach":"^3.0.2","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"^1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"^0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"gitHead":"cf8d6aa7f834cd38043617b3b68f2c3ce25dc0b1","_id":"ampersand-router@3.0.2","_shasum":"f4e60f2e09384fc8fc2c3ddcdeba064720f0f264","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.38","_npmUser":{"name":"gar","email":"gar@comrade.us"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"f4e60f2e09384fc8fc2c3ddcdeba064720f0f264","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-3.0.2.tgz","integrity":"sha512-uVdL8jpB0/3guT2AuJolje4etlJzGqw1LOq5jjerJkd/Cpa3rKLky5gEQDtJeou1i0gNRCeVqu02r6lUV9us+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuJgdeGtjJOa5TSq9C7oHrknLVaMMynnw9iBOqeYTHswIgT8wMvRi6qLyvR8BD6QuJPZZdQcLrGYxxMLpjlyug6oA="}]},"directories":{}},"4.0.0":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"4.0.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^2.0.0","ampersand-events":"^2.0.1","ampersand-version":"^1.0.0","lodash":"^4.11.1"},"devDependencies":{"jshint":"^2.5.3","phantomjs":"^2.1.7","precommit-hook":"^3.0.0","tape":"^4.4.0","zuul":"^3.9.0"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router.git"},"scripts":{"start":"zuul --local -- test/index.js","test":"zuul --phantom -- test/index.js","test-ci":"zuul -- test/index.js","lint":"jshint .","validate":"npm ls"},"pre-commit":["lint","validate","test"],"gitHead":"60f4f4dcf3eb0c9b4434118fa7019a1b71a99e99","_id":"ampersand-router@4.0.0","_shasum":"1502c7ba6734af0394e7d8ab6780bcd543ea1338","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.9.1","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"dist":{"shasum":"1502c7ba6734af0394e7d8ab6780bcd543ea1338","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-4.0.0.tgz","integrity":"sha512-h+v8RSo+fx+s05khkFGH5uNOAyVhZCMw60hQpw8cGAuq0RdtYt2zG1sTBxUx6tdVKm2HMVfQWGhh4di2FFsv/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAClZV7HWdMb1uqZdSwhebsiymotkrrQvW3DWY675d4kAiEAp39UENMK1yGj639AJj7OTTWj+U6TZ7XpWsLqzz7NGVo="}]},"maintainers":[{"name":"fyockm","email":"fyockm@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"henrikjoreteg","email":"henrik@joreteg.com"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"pgilad","email":"giladp007@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ampersand-router-4.0.0.tgz_1464208003425_0.8386459432076663"},"directories":{}},"5.0.0":{"name":"ampersand-router","description":"Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.","version":"5.0.0","author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"dependencies":{"ampersand-class-extend":"^2.0.0","ampersand-events":"^2.0.1","ampersand-version":"^1.0.0","lodash":"^4.11.1"},"devDependencies":{"jshint":"^2.5.3","phantomjs":"^2.1.7","precommit-hook":"^3.0.0","tape":"^4.4.0","zuul":"^3.9.0"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"license":"MIT","main":"ampersand-router.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router.git"},"scripts":{"start":"zuul --local -- test/index.js","test":"zuul --phantom -- test/index.js","test-ci":"zuul -- test/index.js","lint":"jshint .","validate":"npm ls"},"pre-commit":["lint","validate","test"],"gitHead":"603e9055a3290e2254703723d23476c373bd53a4","_id":"ampersand-router@5.0.0","_npmVersion":"5.0.2","_nodeVersion":"8.0.0","_npmUser":{"name":"dhritzkiv","email":"daniel.hritzkiv@gmail.com"},"dist":{"integrity":"sha512-EFvA2zSXsUDyPrB/SOwUeTSVq5vpm9jJz5MLmprKYSnlZE8UnaVgQc5bk4rXx3cuPQHkdhoZl5+BVaIZbInw2g==","shasum":"3b6ec158f0877fe5048a197b5e5dafa141501912","tarball":"https://registry.npmjs.org/ampersand-router/-/ampersand-router-5.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTPpFGud2RODz7Xh96saPpNbsCF82vbuomDtHQAfwy5wIhAK4T16xj27VbYnDKAJ6qMKglpvhxcOESdo7zodfBBGTe"}]},"maintainers":[{"name":"dhritzkiv","email":"daniel.hritzkiv@gmail.com"},{"name":"fyockm","email":"fyockm@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"henrikjoreteg","email":"henrik@joreteg.com"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"pgilad","email":"giladp007@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ampersand-router-5.0.0.tgz_1496630274449_0.30684926407411695"},"directories":{}}},"readme":"# ampersand-router\n\nClientside router with fallbacks for browsers that don't support pushState. Mostly lifted from [Backbone.js](http://backbonejs.org/#Router).\n\nAmpersand-router also adds a `redirectTo` method which is handy for doing \"internal\" redirects without breaking backbutton functionality in the browser.\n\n<!-- starthide -->\nPart of the [Ampersand.js toolkit](http://ampersandjs.com) for building clientside applications.\n<!-- endhide -->\n\n## install\n\n```\nnpm install ampersand-router\n```\n\n<!-- starthide -->\n## example\n\nIn this example the router is trigger a `newPage` event along with the instance of a page. It is up to your application to listen for this event on the router and then do something with the page instance.\n\nThis is helpful when paired with the [`ampersand-view-switcher#set`](https://github.com/AmpersandJS/ampersand-view-switcher#set-switchersetviewinstance) method to ensure that the page instance is rendered into the correct container and it gets cleaned up properly via its `remove` method when a new page gets triggered by the router. Check out how the `ampersand` cli accomplishes this within its [router](https://github.com/AmpersandJS/ampersand/blob/41ff011c43e4d3adab06b4b1941583034d58195f/template/shared/client/router.js#L24-L26) and [view-switcher](https://github.com/AmpersandJS/ampersand/blob/41ff011c43e4d3adab06b4b1941583034d58195f/template/shared/client/views/main.js#L53).\n\n```javascript\nvar Router = require('ampersand-router');\n\n\nmodule.exports = Router.extend({\n    routes: {\n        '': 'home',\n        'users/:id': 'userDetail',\n        'info': 'info'\n    },\n\n    // ------- ROUTE HANDLERS ---------\n    home: function () {\n        this.trigger('newPage', new HomePage());\n    },\n\n    // redirect example\n    userDetail: function (id) {\n        var user = app.users.get(id);\n        if (user) {\n            this.trigger('newPage', new HomePage());\n        } else {\n            this.redirectTo('users');\n        }\n    }\n\n    ...\n});\n```\n<!-- endhide -->\n\n## API Reference\n\n### extend `AmpersandRouter.extend(properties)`\n\nGet started by creating a custom router class. Define actions that are triggered when certain URL fragments are matched, and provide a [routes](#ampersand-router-routes) hash that pairs routes to actions. Note that you'll want to avoid using a leading slash in your route definitions:\n\n```javascript\nvar AppRouter = AmpersandRouter.extend({\n\n  routes: {\n    \"help\":                 \"help\",    // #help\n    \"search/:query\":        \"search\",  // #search/kiwis\n    \"search/:query/p:page\": \"search\"   // #search/kiwis/p7\n  },\n\n  help: function() {\n    //...\n  },\n\n  search: function(query, page) {\n    //...\n  }\n\n});\n```\n\n### routes `router.routes`\n\nThe routes hash maps URLs with parameters to functions on your router (or just direct function definitions, if you prefer), similar to the [View](#ampersand-view)'s [events hash](#ampersand-view-events). Routes can contain parameter parts, `:param`, which match a single URL component between slashes; and splat parts `*splat`, which can match any number of URL components. Part of a route can be made optional by surrounding it in parentheses `(/:optional)`.\n\nFor example, a route of `\"search/:query/p:page\"` will match a fragment of `#search/obama/p2`, passing `\"obama\"` and `\"2\"` to the action.\n\nA route of `\"file/*path\"` will match `#file/nested/folder/file.txt`, passing `\"nested/folder/file.txt\"` to the action.\n\nA route of `\"docs/:section(/:subsection)\"` will match #docs/faq and #docs/faq/installing, passing `\"faq\"` to the action in the first case, and passing `\"faq\"` and `\"installing\"` to the action in the second.\n\nTrailing slashes are treated as part of the URL, and (correctly) treated as a unique route when accessed. `docs` and `docs/` will fire different callbacks. If you can't avoid generating both types of URLs, you can define a `\"docs(/)\"` matcher to capture both cases.\n\nWhen the visitor presses the back button, or enters a URL, and a particular route is matched, the name of the action will be fired as an event, so that other objects can listen to the router, and be notified. In the following example, visiting `#help/uploading` will fire a `route:help` event from the router.\n\n```javascript\nroutes: {\n  \"help/:page\":         \"help\",\n  \"download/*path\":     \"download\",\n  \"folder/:name\":       \"openFolder\",\n  \"folder/:name-:mode\": \"openFolder\"\n}\n\nrouter.on(\"route:help\", function(page) {\n  ...\n});\n```\n\n### constructor / initialize `new Router([options])`\n\nWhen creating a new router, you may pass its routes hash directly as the `routes` option, if you choose. All options will also be passed to your `initialize` function, if defined.\n\n### route `router.route(route, name, [callback])`\n\nManually create a route for the router, The `route` argument may be a routing string or regular expression. Each matching capture from the route or regular expression will be passed as an argument to the callback. The `name` argument will be triggered as a `\"route:name\"` event whenever the route is matched. If the `callback` argument is omitted `router[name]` will be used instead. Routes added later may override previously declared routes.\n\n```javascript\ninitialize: function(options) {\n\n  // Matches #page/10, passing \"10\"\n  this.route(\"page/:number\", \"page\", function(number){ ... });\n\n  // Matches /117-a/b/c/open, passing \"117-a/b/c\" to this.open\n  this.route(/^(.*?)\\/open$/, \"open\");\n\n},\n\nopen: function(id) { ... }\n```\n\n### navigate `router.navigate(fragment, [options])`\n\nWhenever you reach a point in your application that you'd like to save as a URL, call *navigate* in order to update the URL. Route function will be called by default, but if you want to prevent it, you can set the `trigger` option to `false`. To update the URL without creating an entry in the browser's history, set the `replace` option to `true`.\n\n```javascript\nopenPage: function(pageNumber) {\n  this.document.pages.at(pageNumber).open();\n  this.navigate(\"page/\" + pageNumber);\n}\n\n// Or ...\n\napp.navigate(\"help/troubleshooting\", {trigger: false});\n\n// Or ...\n\napp.navigate(\"help/troubleshooting\", {replace: true});\n```\n\n### reload `router.reload()`\n\nAllows you to re-navigate to the same page.  Re-runs the route handler\nfor the current url.\n\n### redirectTo `router.redirectTo(fragment)`\n\nSometimes you want to be able to redirect to a different route in your application without adding an entry in the browser's history. RedirectTo is just a shorthand for calling [navigate](#ampersand-router-navigate) with both `trigger` and `replace` set to `true`.\n\n```javascript\nvar AppRouter = AmpersandRouter.extend({\n    routes: {\n        'login': 'login',\n        'dashboard': 'dashboard'\n    },\n\n    dashboard: function () {\n        if (!app.me.loggedIn) return this.redirectTo('login');\n\n        // show dashboard page...\n    }\n});\n```\n\n### execute `router.execute(callback, args)`\n\nThis method is called internally within the router, whenever a route matches and its corresponding callback is about to be executed. Override it to perform custom parsing or wrapping of your routes, for example, to parse query strings before handing them to your route callback, like so:\n\n```javascript\nvar Router = AmpersandRouter.extend({\n  execute: function(callback, args) {\n    args.push(parseQueryString(args.pop()));\n    if (callback) callback.apply(this, args);\n  }\n});\n```\n\n### history.start `router.history.start([options])`\n\nAmpersandRouter automatically requires and instantiates a single ampersand-history object. AmpersandHistory serves as a global router (per frame) to handle hashchange events or pushState, match the appropriate route, and trigger callbacks. You shouldn't ever have to create one of these yourself since ampersand-router already contains one.\n\nWhen all of your Routers have been created, and all of the routes are set up properly, call `router.history.start()` on one of your routers to begin monitoring hashchange events, and dispatching routes. Subsequent calls to `history.start()` will throw an error, and `router.history.started()` is a boolean value indicating whether it has already been called.\n\nSupported options:\n\n* **pushState** {Boolean} - HTML5 pushState is turned on by default. However if you want to indicate that you don't want to use it in your application, you can add `{pushState: false}` to the options. __Defaults to true__\n* **hashChange** {Boolean} - If you'd like to use pushState, but have browsers that don't support it natively use full page refreshes instead, you can add `{hashChange: false}` to the options. __Defaults to true__\n* **root** {String} - If your application is not being served from the root url `/` of your domain, be sure to tell History where the root really is, as an option: `router.history.start({root: \"/public/search/\"})`. __Defaults to `/`__\n* **silent** {Boolean} - If the server has already rendered the entire page, and you don't want the initial route to trigger when starting History, pass `silent: true`. __Defaults to false__\n\nWhen called, if a route succeeds with a match for the current URL, `router.history.start()` returns `true`. If no defined route matches the current URL, it returns `false`.\n\n\n<!-- starthide -->\n## credits\n\nAll credit goes to Jeremy Ashkenas and the rest of the Backbone.js authors.\n\nIf you like this follow [@HenrikJoreteg](http://twitter.com/henrikjoreteg) on twitter.\n\n## license\n\nMIT\n<!-- endhide -->\n","maintainers":[{"email":"daniel.hritzkiv@gmail.com","name":"dhritzkiv"},{"email":"giladp007@gmail.com","name":"pgilad"},{"email":"fyockm@gmail.com","name":"fyockm"},{"email":"henrik@joreteg.com","name":"henrikjoreteg"},{"email":"phil@latentflip.com","name":"latentflip"}],"time":{"modified":"2022-06-13T02:46:14.162Z","created":"2014-03-18T04:21:25.852Z","0.1.0":"2014-03-18T04:21:25.852Z","0.1.1":"2014-03-20T04:15:02.167Z","1.0.0":"2014-06-13T04:39:01.936Z","1.0.1":"2014-06-19T12:13:40.020Z","1.0.2":"2014-07-23T20:34:56.667Z","1.0.3":"2014-09-04T21:27:28.823Z","1.0.4":"2014-09-06T19:53:22.366Z","1.0.5":"2014-09-11T18:18:54.077Z","1.0.6":"2014-10-27T22:03:59.880Z","1.0.7":"2015-01-19T18:12:15.533Z","2.0.0":"2015-03-26T16:21:28.702Z","2.0.1":"2015-03-31T18:44:30.434Z","2.1.0":"2015-04-01T16:30:22.002Z","3.0.0":"2015-04-06T22:03:28.682Z","3.0.1":"2015-04-08T16:31:42.793Z","3.0.2":"2015-04-08T20:02:19.097Z","4.0.0":"2016-05-25T20:26:43.909Z","5.0.0":"2017-06-05T02:37:54.606Z"},"homepage":"https://github.com/ampersandjs/ampersand-router","keywords":["clientside","router","history"],"repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-router.git"},"author":{"name":"Henrik Joreteg","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-router/issues"},"license":"MIT","readmeFilename":"README.md","users":{}}