{"_id":"express-async-router","_rev":"24-299e3e9b9b2c3eceb54d4107ac5c61a7","name":"express-async-router","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","dist-tags":{"latest":"0.1.15"},"versions":{"0.1.0":{"name":"express-async-router","version":"0.1.0","description":"Express Async Router helps the use of promises in express","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"_id":"express-async-router@0.1.0","_shasum":"640a3459bad49f04d9a869d4311b5838350dddc7","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"640a3459bad49f04d9a869d4311b5838350dddc7","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.0.tgz","integrity":"sha512-8aw1/MygXuunn3hdxRGIgdy0OiE5XAixfMBJhnqn4GOH69hVboWX83VbqmAd8zUNVfkCYoJOINfQESXTRJWa8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBJzhSwl3+G/MDu/Y+7mr+h5d1ow6HWhHFiJgO7xOvSVAiEAitNZisB/kTnxLM3i7erJ6ym/3F0UoVyPFEEXP/z6A28="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.1":{"name":"express-async-router","version":"0.1.1","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"_id":"express-async-router@0.1.1","_shasum":"7f44a60779e17285c80494c5f8c173b8da6248cd","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"7f44a60779e17285c80494c5f8c173b8da6248cd","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.1.tgz","integrity":"sha512-1OK3q6mFjAZnZJ0bwltBhm/niivS/MbjHvaYfoZVa9NHH2KQByOJRNX9dH8pmeEhHszuMqDkbQOSUfOexhvc1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFK9EhhjdwkdpYsQeFmfZyqVI4pieuMfKoJvUmytQUAQIgLNOkt5M37Qbd1AdC5eY8T5DbyIEGhfFK9LzBs810bXY="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.2":{"name":"express-async-router","version":"0.1.2","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"6f13d55d8c1ee24ad0da4fbe52aafe0232912bfc","_id":"express-async-router@0.1.2","_shasum":"9f41a8fac655c260412fd66155e2aa2775b64042","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"9f41a8fac655c260412fd66155e2aa2775b64042","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.2.tgz","integrity":"sha512-GEZ7LGvt9IPCU3MimCzuu0FUAyQ1kNWTeGMjJTduNAB4J9UJSqxTbjLaJmz9RmOWtoiQzpbzGIc6N89KSiehAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIArp9/HKaaDeQcDvJU/o3lN3DM9gpYVap5ytIGDczrhTAiEA6U6SqrlbsweiWGjfFex8104LRLyXFHviAuAj23n5qr8="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.3":{"name":"express-async-router","version":"0.1.3","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"7768aee66c08a880df081b52efd5a047e9ca3056","_id":"express-async-router@0.1.3","_shasum":"8ea9ae993d54e763c98beaa3c7e320db544ae20c","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"8ea9ae993d54e763c98beaa3c7e320db544ae20c","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.3.tgz","integrity":"sha512-R0SKJDpGpZVvG0KmRts+BLzIPnJrEn4feB28/Qn0ZS88uuUplc9YKtExcEIO6ALQHWfGIBTAZNwawTZMqEWefQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAIxBZyie1ygQ9DOiyODD4WTGCVbMjzpJiQ+BW502Ml5AiA04n4tfrERK/WNeBHPBCcl4oBOHTdANE26+2jLWAY2Uw=="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.4":{"name":"express-async-router","version":"0.1.4","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"cdd7fdc3d24c3eb277de08946838091d5c3b780b","_id":"express-async-router@0.1.4","_shasum":"62e611beabfa21f4c444cd1474fad536ed7a3ad8","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"62e611beabfa21f4c444cd1474fad536ed7a3ad8","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.4.tgz","integrity":"sha512-eFushx+PfschEX2FbEeQ/NAZE3CAV7ajJSuY4fO44ApaYRWCdYMD3W8vZ+NA5B/nwArEEudwTPmuMP6l+nKNnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzx+arc0B+4PDIcvpezxeON2dyhRw7hbKOpzWjmAKTjgIgUOyqMvTboGEQnB+ZiWtYFN2Svw4KCNjBUmLkwrLPops="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.5":{"name":"express-async-router","version":"0.1.5","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"dd4ce72f8ef0fe6e18cb883544f6bbcc21700fa0","_id":"express-async-router@0.1.5","_shasum":"1770a1274d778c3aa953b93ee373fdd12ed9e814","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"1770a1274d778c3aa953b93ee373fdd12ed9e814","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.5.tgz","integrity":"sha512-sTswGRDiNjgowXHUdhVK6MVaeQVjMb5yqQADa4rjW3VnW+aTZhHjqwpnB8FeoI2/fyElsBbyBwpxWrNlpFiYXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAfLV0vN+1xcDzgxiJ6txAqXE+8cRbQwCZUe091yPkdiAiA8aDEcj2u7kf61QVvR/dyE9ieS36f4QLyVNBlPbSK4Yg=="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.6":{"name":"express-async-router","version":"0.1.6","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"90fe207471c64fbdf946b107b88c6d66e454e2f8","_id":"express-async-router@0.1.6","_shasum":"f841983609d9f5f217b8f1f72d53b86e11da043b","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"f841983609d9f5f217b8f1f72d53b86e11da043b","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.6.tgz","integrity":"sha512-7cTBHkbjPnEzqLDnv7YoNX5pnx/udIMEKgoOr4a/ICB4I9QDNu3urtpLgSVAZTjvjOByg659YnLsyPjqWw8MbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGg66p1Q0rUJ82gmB32Oncvwlze4bwqaYM4Y9cg/H9Y0AiAMqscjlrJ0ADc6+efuJ4G4seEdVCDXHpNDLhMhuGC2cw=="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.7":{"name":"express-async-router","version":"0.1.7","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"5abb39ec33cab1ed782599328d8c305678ccd99a","_id":"express-async-router@0.1.7","_shasum":"1727a0d07151ec522fa9f808ff6845abdab74cb3","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"1727a0d07151ec522fa9f808ff6845abdab74cb3","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.7.tgz","integrity":"sha512-UwiT6r7HSXiEWG2CvnIS9+u9OI/8d6L5vV7922O+cV5DbsPiYhznowgEtTmWzIQCpyRexzIo6C1HX0QRcdJpxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAz1/VvknZ+lZReJ6IQu3QS7CD3w3W4AqIm/HyP1fg21AiBq4YIyd0y7m4zLI4qE/U7k1NJtN6ShSMhGeG6jonB+HA=="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.8":{"name":"express-async-router","version":"0.1.8","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"5f1cd5fe1346185d0ff4df47b82d9d78df381f57","_id":"express-async-router@0.1.8","_shasum":"71ee37842752c80b101066eff8b98b5c8eb0af2d","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"71ee37842752c80b101066eff8b98b5c8eb0af2d","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.8.tgz","integrity":"sha512-ILPyptzptWGI3dDVmJpeARjQdc9/L/T5FCOocJgj/99d/rSUS8M8WvIxldCG5edmnb7bAxtDiLkzRp+OtFtEuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7ah3MxTR7zUXq2f2zPR0e8qoAGXte5NgpKspe7HgKtwIhAIrM8I25sFXUf5Zy4BwSTXKNwKErBvpQjnqGEGc7DVq5"}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.9":{"name":"express-async-router","version":"0.1.9","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"bd83bae4a26a50c996da0cbd11ba94659f193eb9","_id":"express-async-router@0.1.9","_shasum":"ec9ba07f07d0d26221fa0b7a67be59548d41a858","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"ec9ba07f07d0d26221fa0b7a67be59548d41a858","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.9.tgz","integrity":"sha512-wHwOZychOM7LL+n7WqHQ0bCSkEiGdS4MBAiMDyEm4gL1lgjAi9JAWclF2kI9YljEfjGfYVwMkWHOPhsvFV8MAg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeZOHeiVqiLcvapypT/iydV1A/+sSHrJ20YV3NKWXi5wIgHDU7kzZw6F3AizD5DW7L+S2rPy8XuCkSS1ifMMkqYdU="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.10":{"name":"express-async-router","version":"0.1.10","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"test":"grunt"},"dependencies":{"express":"^4.13.3"},"devDependencies":{"grunt":"^0.4.5","grunt-build-control":"^0.6.1","grunt-contrib-clean":"^0.7.0","grunt-contrib-copy":"^0.8.2","grunt-contrib-jshint":"^0.11.3","grunt-ts":"^5.2.0","grunt-tslint":"^3.0.0","promizr":"^0.2.5","time-grunt":"^1.2.2","tslint":"^3.0.0","typescript":"^1.6.2"},"gitHead":"a3971c7e15c1e04890f096a20e757e5b950da413","_id":"express-async-router@0.1.10","_shasum":"bccdbacd6fab28b0cafd9e7a43505d5143bedb25","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"bccdbacd6fab28b0cafd9e7a43505d5143bedb25","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.10.tgz","integrity":"sha512-qSe7n9vytkZokZfbr0dkgU07TkWlGdQ2YVAOQVQlZQergo5X0I273XcGorHooKkuLZDDKyLtVcxVtCLTpntzTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLmksKqRRzFrHAmSOSBf4pqMvJWdwWiv4DPCJNRXKbMgIhAN+iLjZ4x7APLjeqQhQjtNYFywkPBpwZKCJXuwqAe353"}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{}},"0.1.11":{"name":"express-async-router","version":"0.1.11","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"scripts":{"postinstall":"typings install","test":"grunt"},"dependencies":{"express":"^4.0.0"},"devDependencies":{"grunt":"^1.0.1","grunt-build-control":"^0.7.1","grunt-contrib-clean":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-ts":"^6.0.0-beta.3","grunt-tslint":"^3.3.0","time-grunt":"^1.4.0","tslint":"^3.15.1","typescript":"^2.0.3"},"gitHead":"4f3bee3813b766b19cca2ee5342175fb3f54a580","_id":"express-async-router@0.1.11","_shasum":"2bf87b0711ce3800d0a7e3fe770788401a62e525","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"2bf87b0711ce3800d0a7e3fe770788401a62e525","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.11.tgz","integrity":"sha512-k9Kg/ie0VLWX7d9b5m9xglvR+J1//L+WL4KZjHWllHdBLaxh/WtmVfucGLRVOiUGjNvy7vOuczDAxkdJIH0MZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBFsCIdSCKo+B8KZX38mHvyjJtrkG+j8l54fBQcLicWiAiAL50vezVU2Dbupqd8XU09sIblb0xpQUyF4TbKGg0pZ0g=="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-async-router-0.1.11.tgz_1476799328210_0.6959710996598005"},"directories":{}},"0.1.12":{"name":"express-async-router","version":"0.1.12","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"dependencies":{"express":"^4.0.0"},"gitHead":"15684fe20eaf480c417ca9dba96e980084e897eb","_id":"express-async-router@0.1.12","scripts":{},"_shasum":"b604b29373a8b95e019f63e4b0136f550c8e47d5","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"spatools","email":"spa@somatic.fr"},"dist":{"shasum":"b604b29373a8b95e019f63e4b0136f550c8e47d5","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.12.tgz","integrity":"sha512-GCDXtKciJb1yeNFrsrFNItcsHv791ssj9mlChg85ehi0w3gaPial+ISwa+mV/mDVsa2/Q4qgB1ncokzYdM0Qqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDaobA9Nwk9eqOEMj8sprAiMfB+xXLO5cO2cYUBH73zrAiAXJOW9xNS+2tDigaPkNXCpq4feyUpjRQ3+FOn6UYr/kw=="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-async-router-0.1.12.tgz_1476813530401_0.08698183461092412"},"directories":{}},"0.1.13":{"name":"express-async-router","version":"0.1.13","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"dependencies":{"@types/express":"^4.11.1","@types/node":"^8.9.4","express":"^4.0.0"},"gitHead":"e19b0eab9bd8f3d3156e06e9d1283d76c9b0e8a9","_id":"express-async-router@0.1.13","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"spatools","email":"dev@touchify.co"},"dist":{"integrity":"sha512-7lGXgjSbWB8fL42IPfr4m4yqP2WtI4qSMfo9GFvFPzJwpIRTED4c0F5tvTCi7zFBLVMlB5dedDWV233cAmcMkQ==","shasum":"0738cfc673cb7ad33b2b28f253605533eb68d240","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.13.tgz","fileCount":4,"unpackedSize":13231,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtErmtDP7m9tD16r93yjw3rey+bsSDw3/FLHpn/aZ1nAiEAkw7DzUZ2ZhZOaQ9uNnfQd9eb+WH6royPQPNBMNofxSs="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-async-router_0.1.13_1519052910123_0.7234407558715785"},"_hasShrinkwrap":false},"0.1.15":{"name":"express-async-router","version":"0.1.15","description":"Express Async Router - An Express Router wrapper which automatically manage Promise.","main":"index.js","license":"MIT","homepage":"https://github.com/spatools/express-async-router#readme","author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"keywords":["express","async","router","promise","es6"],"dependencies":{"@types/express":"^4.16.0","@types/node":"^8.10.36","express":"^4.16.4"},"gitHead":"e44328c2b4d348b532e24f3d66eb66f51fc421e2","_id":"express-async-router@0.1.15","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"spatools","email":"dev@touchify.co"},"dist":{"integrity":"sha512-fV4AwVHOCtYyECvfSqUcWoKC4leRSjkP+OTv8TLNUByZDk40lfE2Ptky77ZVUctTVnel1nwdAaGTrUuzVWz+Fw==","shasum":"a58ab77f9e92c9b251f5d87479e15ef11ad5ec4f","tarball":"https://registry.npmjs.org/express-async-router/-/express-async-router-0.1.15.tgz","fileCount":4,"unpackedSize":13900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxQW4CRA9TVsSAnZWagAAaRUQAIxLwOoqNhLiSpmhFIfr\nhvXsOD5VitlmWTICKOWG45fyHBspSy/SHBX8k3D1LY+FPg2pUlXgwUwcuPXA\nZ5xbV/iAQwIUQdRJwPDWRM4/CC8s+c5dP56KFxdCmOoNCirI5gNgYERSOta7\nDUIyL0kv50f9LQjmtPnMD3SANkjsC70LnkeKFVfas/gYFxXZinMXsHGw+zxc\nCLeCb5oWULg8/xhn29Dhykra1iCGljiMIH+e86Rgyy0URckdOIDyIaOkSPMi\nNayT7vA2N8VyYQa4A9LdyW+NerbNALCl9Gg4qg0fMH0UZHOi00lI9vB+LgI4\ncSK4w4lDtDK3jy0ZHB/EBn17qtS8LJPJ507hv08Zm5sSVom4mnyJMc3ZKYi6\nklXtveRNUcHLupjMwQOGNnDb9KdXmlGx4oNDCP6+ujlnnaFRXQysfs6Ce1AX\nGGIY44fTmmljiNUvPQNNJZpRDcuFQVwxhZfltHcnZ5oYmzX5f9eGO5zSz7FI\nF0VJB9sI+XpNjSmjp/DRA79X4fET/m+WBLGaKBVkjG7vLjFGsWs+9ux8h88V\npZwnuyKsgSC2MImfR7gRtovWWym/o5wsuPK6JYGoQfvO1JJrL8qPaBZstTQr\n1KmrXtLGVoHXoQ9XNTulUNzvnk0/Dy03zYS4jPMY48Q6sPCrXafwtSUsf6oe\n4/R+\r\n=tWDJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnVJSRY096WVXKyY9C30+r/rjzh6XqwTLwIzM+o4XydgIgMe90te+ydSS/cEIf6ACx1hhQCKF8UxL1xY53GIbqkLg="}]},"maintainers":[{"name":"spatools","email":"spa@somatic.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-async-router_0.1.15_1539638711726_0.758444537811718"},"_hasShrinkwrap":false}},"readme":"# express-async-router\r\n\r\n`express-async-router` is an [Express] [Router] wrapper which automatically manage `Promise`.\r\n\r\n## Getting Started\r\n\r\n`express-async-router` works exactly as Express [Router].\r\nIf you're not family with Express Router API, please see [Router] documentation.\r\n\r\n### Installation\r\n\r\n`express-async-router` can be installed using NPM:\r\n\r\n```shell\r\n$ npm install express-async-router --save\r\n```\r\n\r\n### Usage\r\n\r\nFirst import `express-async-router` in your project:\r\n\r\n```javascript\r\nvar AsyncRouter = require(\"express-async-router\").AsyncRouter;\r\n```\r\n\r\nThen instanciate `AsyncRouter`:\r\n\r\n```javascript\r\nvar router = AsyncRouter();\r\n```\r\n\r\nYou're ready to use `AsyncRouter` the same way as Express [Router] but without worrying about `Promise`.\r\n\r\n```javascript\r\nrouter.get(\"/\", function (req, res) {\r\n\treturn myGetOperation()\r\n\t\t.then(myOtherOperation);\r\n});\r\n\r\nrouter.post(\"/:test\", function (req, res) {\r\n\treturn myParametrizedOperation(req.params.test)\r\n\t\t.then(myOtherOperation);\r\n});\r\n\r\nrouter.use(function (req, res) {\r\n\treturn myMiddlewareOperation()\r\n\t\t.then(myOtherOperation);\r\n});\r\n```\r\n\r\n## Options\r\n\r\n`express-async-router` works exactly as Express [Router] so it can take the same options plus some additionnals to manage how request is sent.\r\n\r\nBy default, `express-async-router` sends the Promise result by using `res.send(result)` if headers was not already sent. You can customize this behavior by passing `sender` option when creating `AsyncRouter`.\r\n\r\n### options.send\r\n\r\n**Type**: `boolean` | **Default**: `true`\r\n\r\nIf set to `false`, `AsyncRouter` will never try to send `Promise` result.\r\n\r\n### options.sender\r\n\r\n**Type**: `(req, res, value) => Thenable` | **Default**: `function (req, res, value) { res.send(value); }`\r\n\r\nIf set, it will override the default `AsyncRouter` `sender` function.\r\n\r\n\r\nExamples:\r\n\r\n```javascript\r\nvar router = AsyncRouter({ send: false });\r\n```\r\nOr\r\n\r\n```javascript\r\nvar router = AsyncRouter({ sender: mySender });\r\n\r\nfunction mySender(req, res, value) { \r\n\tres.rend(value.template, value.data); \r\n}\r\n\r\nrouter.get(\"/\", function () {\r\n\treturn myOperation().then(function (data) {\r\n\t\treturn {\r\n\t\t\ttemplate: \"index\",\r\n\t\t\tdata: data\r\n\t\t};\r\n\t});\r\n});\r\n```\r\n\r\n### send\r\n\r\n## Promise handling\r\n\r\n`express-async-router` automatically handles Promises when it can.\r\n\r\n### param(name: string, handler: (req, res, param) => Thenable)\r\n\r\nA special `Router.param` override which automatically calls `next` function when returned `Promise` resolves.\r\nIf returned `Promise` rejects, rejected `Error` is transfered to `next` function.\r\nIf result is not a `Promise`, `next` function is immediatelly called.\r\n\r\nExample:\r\n```javascript\r\nrouter.param(\"test\", function (req, res, param) {\r\n\treturn getTestEntity(param)\r\n\t\t.then(function(entity) {\r\n\t\t\treq.test = entity;\r\n\t\t});\r\n});\r\n```\r\n\r\n### _[method]_(name: string, handler: (req, res) => Thenable)\r\n\r\nA `Router[method]` wrapper which automatically calls `next` function when returned `Promise` resolves.\r\nIf returned `Promise` rejects, rejected `Error` is transfered to `next` function.\r\nIf result is not a `Promise`, `next` function is immediatelly called.\r\n\r\nExamples:\r\n```javascript\r\nrouter.get(\"/\", function () {\r\n\treturn getTestEntities();\r\n});\r\n\r\nrouter.post(\"/:test\", function (req) {\r\n\treturn getTestEntity(req.params.test);\r\n});\r\n```\r\n\r\n### use(...handlers[]: (req, res) => Thenable)\r\n### use(name: string | RegExp | string[], ...handlers[]: (req, res) => Thenable)\r\n\r\nA `Router.use` wrapper which automatically calls `next` function when returned `Promise` resolves.\r\nIf returned `Promise` rejects, rejected `Error` is transfered to `next` function.\r\nIf result is not a `Promise`, `next` function is immediatelly called.\r\n\r\n__NOTE: If you declare 3 arguments in your function, `next` will only be called when an error occured.__\r\n\r\nExamples:\r\n```javascript\r\nrouter.use(function (req) {\r\n\treturn validateToken(req.header(\"MyCustomToken\"))\r\n\t\t.then(function (user) {\r\n\t\t\treq.user = user;\r\n\t\t});\r\n});\r\n\r\nrouter.use(\"/test\", function (req) {\r\n\treturn validateToken(req.header(\"MyCustomToken\"))\r\n\t\t.then(function (user) {\r\n\t\t\treq.user = user;\r\n\t\t});\r\n});\r\n\r\nrouter.use(myCustomAuth, serveStatic(__dirname + \"/public\"), function (req) {\r\n\treturn logToServer(req)\r\n\t\t.then(function () {\r\n\t\t\tconsole.log(req);\r\n\t\t});\r\n});\r\n\r\n```\r\n\r\n### use(...handlers[]: (err, req, res, next) => Thenable)\r\n### use(name: string | RegExp | string[], ...handlers[]: (err, req, res, next) => Thenable)\r\n\r\nA `Router.use` wrapper for Error handling which automatically calls `next` function when returned `Promise` resolves.\r\nIf returned `Promise` rejects, rejected `Error` is transfered to `next` function.\r\nIf result is not a `Promise`, `next` function is immediatelly called.\r\n\r\n__WARNING: You must declare the 4 arguments to your function to be recognized as an Error handler. This is for compatibility with Native Middlewares.__\r\n\r\nExamples:\r\n```javascript\r\nrouter.use(function (err, req, res, next) {\r\n\treturn logError(err)\r\n\t\t.then(function () {\r\n\t\t\tconsole.error(err);\r\n\t\t\tres.send(500, \"An error occured!\");\r\n\t\t});\r\n});\r\n\r\nrouter.use(\"/test\", function (err, req, res, next) {\r\n\treturn logError(err)\r\n\t\t.then(function () {\r\n\t\t\tconsole.error(err);\r\n\t\t\tres.send(500, \"An error occured!\");\r\n\t\t});\r\n});\r\n\r\nrouter.use(function (err, req, res, next) {\r\n\treturn logError(err)\r\n\t\t.then(function () {\r\n\t\t\tconsole.error(err);\r\n\t\t\tres.send(500, \"An error occured!\");\r\n\t\t});\r\n});\r\n```\r\n\r\n## Contribute\r\n\r\n### Install Global Dependencies\r\n\r\n`express-router-async` needs some development dependencies:\r\n\r\n* [Grunt](http://gruntjs.com)\r\n* [tsd](http://definitelytyped.org/tsd/)\r\n\r\n```shell\r\n$ npm install -g grunt-cli tsd\r\n```\r\n\r\n### Install Project dependencies\r\n\r\n```shell\r\n$ npm install\r\n```\r\n\r\n### Build project\r\n\r\n```shell\r\n$ grunt\r\n```\r\n\r\n\r\n[Express]: http://expressjs.com/\r\n[Router]: http://expressjs.com/4x/api.html#router","maintainers":[{"email":"maxime@touchify.co","name":"mluce"}],"time":{"modified":"2022-06-17T22:08:35.259Z","created":"2015-11-29T06:17:45.182Z","0.1.0":"2015-11-29T06:17:45.182Z","0.1.1":"2015-11-29T07:26:24.126Z","0.1.2":"2015-11-29T08:30:14.741Z","0.1.3":"2015-11-29T08:46:03.033Z","0.1.4":"2015-12-03T06:44:17.470Z","0.1.5":"2015-12-19T17:51:13.767Z","0.1.6":"2015-12-20T16:18:33.165Z","0.1.7":"2015-12-20T16:35:51.521Z","0.1.8":"2015-12-29T00:28:27.119Z","0.1.9":"2016-01-07T18:52:06.307Z","0.1.10":"2016-01-11T23:18:59.574Z","0.1.11":"2016-10-18T14:02:10.495Z","0.1.12":"2016-10-18T17:58:51.041Z","0.1.13":"2018-02-19T15:08:30.197Z","0.1.14":"2018-10-15T21:19:02.288Z","0.1.15":"2018-10-15T21:25:11.822Z"},"homepage":"https://github.com/spatools/express-async-router#readme","keywords":["express","async","router","promise","es6"],"repository":{"type":"git","url":"git+https://github.com/spatools/express-async-router.git"},"author":{"name":"SPATools","email":"spa@touchify.co","url":"https://github.com/spatools"},"bugs":{"url":"https://github.com/spatools/express-async-router/issues"},"license":"MIT","readmeFilename":"README.md","users":{"zorak":true}}