{"_id":"@donnyroufs/browter","_rev":"10-6765a05935e5ab6a01a3e14623ba9790","name":"@donnyroufs/browter","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"@donnyroufs/browter","version":"0.1.0","source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/test.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","gitHead":"bfabc5c39d5272aaf93828054191ba2e161b8f93","description":"```ts import \"@donnyroufs/browter\";","_id":"@donnyroufs/browter@0.1.0","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-ztLRv1lBR+xYIldP3Kijd0YXw1bzlrfZtQFqw3BfWYZ+cLwu9X9fKeJpPRktXHNYMxmBRM0lt4B67TMP6rfRqg==","shasum":"acf27e12d10ec465b8029659307e8cc880b3deda","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.0.tgz","fileCount":37,"unpackedSize":47346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMIFWCRA9TVsSAnZWagAAy4IQAIVNHW7fNQ7pvIcdVR8F\n9PI7e0/WDybkyUnkxSXzzx7VyBwc/iE7+U98AH2eMcob+XULasUE410pDMg2\njo/4fpNf8IsN+gUApkFX9pqd+dpMQW+19Cq3TK9vZ+9UvGfmZTXaLm8D38wZ\n69ZUNh1QsgRGyUU+4QpHcLJ5EwgQy1fHAwIWXa/HZaQT7oqVo1L+VhUzRVpX\nDdbabzNGSRsgi0A0BOPdjORHwd13Mm8iRkesEdShYqE+TUi4vJ/VAJBxVlXf\njfYnarXqsdhRlybiC6a3VaLMuDiFdGFByzomQlYXKNM1zY60Koph0AgU0FIa\n0jmS9WkdtoBtykwcDDR9/pc2YPMZMqYjvFZN4Px1XmE2aXfu0u8Ke1bSOZs7\ny7GtW0AsHMIF3Hq/vHpNzhaaZhJRPPae2tcbBI7zAzoTj14LISYAzuN5bTTN\n1+U0ygoGAzhjH6Aau61mxxNs45y5tK6loNO9NAd83tv+6BqT69p/61kfdSuL\nYEgcCp2/R6Hou5xtI/QnRYZL16dGFt9kc5cQeEth8FYVX+HLUuhtiLOOc+9J\ndlse0J8/66wlduTkx3SeHkyELIRaE4XU5pin0fbjkGiDWBAlG487k1FOR3vg\nfDq7GknuNvsFLYjMtUJnvfjJzkK7Hb2uZ3aaB8lMVR+0XPRMmRLRcOqbU97N\n724o\r\n=Geys\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuegV0Kc75f1MpYMlrIt7pBnfgr/1mmqAvuvfG1KYdcAIgfxzRjcmvWUGfoTOvjoJMI8JOTI6kpgO6AwjjQfhzx5s="}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.0_1613791573820_0.18928308569558538"},"_hasShrinkwrap":false},"0.1.1":{"name":"@donnyroufs/browter","version":"0.1.1","source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/test.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","gitHead":"3da29dfb637f0297eefaddec50950aec7368c900","description":"Browter gives the default Express Router some extra juice","_id":"@donnyroufs/browter@0.1.1","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-6A/qUBsRQimhEEhHAOKOv/rFCF2wzjgnk8YI2u34ettLhTYRbt3p0Z6O7pvamzmOGD0y+Savu5i24Nh1/ZFfhg==","shasum":"61729ef177609b74b0117557b36b6f76f42f131d","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.1.tgz","fileCount":37,"unpackedSize":48953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMIcNCRA9TVsSAnZWagAAQXUP/R0RfqO35tOAlj3DOCK0\ngyvgusU3k1rBnDkzmB6SDiNPzQDrtPeCo4Z8CviL7DXYfeto0CBF9pReBzNU\n/wpPz5FVIvuD0Jcj3Cr8OPExgavPjKABdUSYze+8kK9QIUnKgWdN4+0V8KBB\n/ySUkOb5ZVZRfQLfMcuYepMU7y8+0GGOqOhIaNKDugvjJ1nazGJA2nPp//mY\nepTJyoiRi4nzQlvcCj/aApVWpzT+aIfZ+XJ740q/3COA5qAyxL8LZ21JxwSC\n8XskORjV7kyAbaik7ax50U31qO9Mt8lHxW8WzvP+dXpSZZTWsQaTfkAYL194\n2GUjE/GS4WSw0frlNv1oXmBEuwWhRVxqd7G14TUlRzfWHvVH94DAtUAtAyPZ\nfwKIwlRQtVpVXzHhCkyEOUJ7LaOF6uukrDQ+qSUdXB5WpwZChojb2ts3UM2O\nE6Ja1MgoSMM5HLjvayLzwaBcXqsTjnxrbH3ZPYN+qbe9w6RbxpOgAMHC+Hl1\nPYJTgrdQfuy1WDvD6rbmxqeKbSpT82AEvrBHYfRAZyV4HIjocKKjRHPmurk4\nm29UNkx/5whraXW4mHQVFqucguysc/9Ymhmi8icBDWX/CaeBW9zHsIpyhHCk\n0iecomslwaPbe6DvDDpTv2lLyRVdC6KpF2X+bpzi9xDP6v0SeuKTfRQmkgJx\noOXa\r\n=bjTK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCj1dlsbX6Skb5sYxlKMpebaoTz8VuTqcYqwYLoIJhpAgIgYrICZ/GxH9bdKaQVivLrCpaFtzAcW8817sI68/Cks64="}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.1_1613793037131_0.8365165550842841"},"_hasShrinkwrap":false},"0.1.2":{"name":"@donnyroufs/browter","version":"0.1.2","source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/test.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","gitHead":"d6dda34847dc84fac7f3eb1c67c7cff17c6c5996","description":"**Browter** gives the default Express Router some extra juice","_id":"@donnyroufs/browter@0.1.2","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-17abLXkupkJGhwTWS7KM/uWd1ibnqCj9IB0pAgxGHJw7DjK6cFqqHLonFXhJ60O0sVoEPD+9whmWmXZjUZl7Hg==","shasum":"21495dc6c4643d633375fd86e49abc3ad326bca3","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.2.tgz","fileCount":37,"unpackedSize":48993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMIkKCRA9TVsSAnZWagAA5boP/jYrVHGRHD5NbxrNZGqx\n0gpSRtnjOvLeF7BDkoBrC9t0/p+OMT+oyZvrneNWqismkuwbRWRYXlSYXJln\n1lfsy5VdD/TdJ2TAIbJ8G2E5zvuQoZpMNkVlxmMkBHziR5steGsI2uhGRv/H\ngBqFDSJBVfjxHPShgXX4F/SRqkb4zW/MZKdfsJP8k41WZ/cmM0E7wDVtjln/\nt96BQKkSNE7P/UoVs3A+mVZA79po6fnrqIGI8wGFTnvQe5E22WOPsC3KBVQm\nNq3g9Q5SmjdJ+CnUGEEAzB2Tj9OkSbh9wD2NXS2EXi4c2rD4cZgtw/qw6U6u\nYndpMJM5v+pdXxLlbgfmURgV8JbJsfGI4EzE4o3EWYc/MX5PqX3KdYJw8Q1/\n731NfNrKpVu4tDl7+fCjnHe7BUvVRBgvBubVuOJ7DsC6V9SlLIzg8Pwpk0F6\nkDvuYm/44hikIfuL9ypREJPd9Nqfyr9LTKWkyWeuJGTgijclJM5fhjS/YcOr\nUOYOhQHv/AgAIwGrgRv3PYWGb5I6xZ/xPZLa3qeu8hkAx+WygxQOe5C9HpzZ\nOoRws0vSWJclS7O89MyrFwZ34d0AyZ7gipmRVFlQ84Heub8snlvcmhjfSpRO\nRRxLkMcFuPBR/umM7STZFZY16QVUX0HHo/6tduzOLSuQQvDwcASUESzKN/kl\nfQxi\r\n=DMhO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa/lulZkzIW3J9ZcWnDOZqcHMpBwuZt5ZvAO3kSGaoEwIhALF6eR2iSKswncCYnmYzAGs2lTWWmVWqwUz8Y5OL/hRl"}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.2_1613793546162_0.7912355286638284"},"_hasShrinkwrap":false},"0.1.3":{"name":"@donnyroufs/browter","version":"0.1.3","source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/test.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","gitHead":"951274fed65c38b8a6ce1018913776d87d6d813a","description":"![example](https://i.imgur.com/IHBvzm7.png)","_id":"@donnyroufs/browter@0.1.3","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-7yMjj+qPZ5EleubLLbAIsE7naFoigymTfNdISPnsL5Dd6KRh+g8uXKRHHUztnB+4+4p9LhxJmGA7TZqSk9XUSw==","shasum":"d5cb150867a7898343ea94462d290c626f4842c1","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.3.tgz","fileCount":38,"unpackedSize":51195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMQtQCRA9TVsSAnZWagAAVJoP/3QSQoPlLxRMejuO7SID\nu7CHJCVQ2NE7Ph4C7v45I2zXx1TlcEZR925orApCbghYs1s3iqsFBQtPZ8eX\nY2FTTFDMHhyrz7vQKnUePnlZYK9d6XFbzY5x4d8DDCT1t8PmNOj5N84B7KEO\nU/uaAr5vgmUvvw/H3RceQmTRF1Lik9Hwhdd2ctCIkkL4uvwXogXzI+6Gc1n5\nbFCQ7jn9QeL6BOpAuS1j041mV5ztAW/DeiYOkpCGqGDpZ/8kElJ1j4dKA/kQ\nTNa3VlaWTsw74En2BtU6/wJ5STCflakq2HV7DRBN1aqj1L+meajmFafW7ELg\nhW0ibbPxNen0xndeb0kaPMwhqmvWxdaZV++4/KaBDsOAKebXVY6eWy0MbWpY\njM5ObroFCrTcor8vsH8ZUHvUd1zw/iIt/tiiAMyyo4dc/E5as85Ditvcl9IF\n/IErUe/W4tnN2GlvOnqjdsUI9sX/Xj5T8np/FktYxbLiVOLIx8NGtKSFBrqZ\nBNp0zpEs6OYF+4VdoYz9yhHEAPOscYj/koSd3rEcXnw7b3nbXSwIKMZcws5B\n07LrYqCR5l9jq2nxosDbK6GyGTiQTEn7r/Kkiia9GgXgmEPv8vCB/nJnvEHA\nUCEed25WvCBMwHR96KVt/jJbzOQnA0mb7knxZOsmkAjfY1Va2IpmoLmJrVu4\n3IC5\r\n=a1vA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXb5jPXHSuiKBmh8BCNvpQ0pSYLTk5vKMC1GOsQD6ChgIgOylLFiskK5gJdpWPQbjBpmy8Th9vUuT9r+dahmf0jJY="}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.3_1613826895641_0.7234089772178487"},"_hasShrinkwrap":false},"0.1.4":{"name":"@donnyroufs/browter","version":"0.1.4","source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only src/test.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","gitHead":"951274fed65c38b8a6ce1018913776d87d6d813a","description":"![example](https://i.imgur.com/IHBvzm7.png)","_id":"@donnyroufs/browter@0.1.4","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-3OQBtpKGVA6mesBaFOWmlPJ5j7MatkqEx8+d4Ij8GIiqaDdypOaifSb64TM+7AZDlEU835rdzytGjTA84c/Q5Q==","shasum":"5f03090dde4197309fcb450485294d976cf3616f","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.4.tgz","fileCount":39,"unpackedSize":57523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMQypCRA9TVsSAnZWagAAgHIP/Ave0Jv3QPyXCSIC9987\ngYdNoBo/xe813Icj5QrOtaMp4WB8PUfeIUGqpF+MDeqLyfUXTLg69GNAU1YU\nVPpKhV4uk6Xi4fS5qMR1hUUXyBCtleQxsRmTup+DlyHNH+JKLWNdulYK6fEp\ng/NfllPvlzSttHkEHFeLAPm5mAm8zR0aPdqq3VTtTUvIeZK33Lkg534/0nqU\n5IjX/J0bYCPMlvK85/c65kei1/1T40cIYTpnPCRvyKhKacJAlMrnBqoEJdk4\nrdDorWISVNjG5Mqi7Qrg5FhPf1B04sD4LszK2XqBwu2kCPpGfuGWYHjnanhq\nOeHJcjRwcpVkFKXp+RrxS23JgU5ypijNzG3D1ekCEMdZO/UkTO6dNdPlppy8\npx7W96BT/ouXJ5RN5afmTza24g74XZIfBdun3Bhfy7nNwifWssuJJLqatEKi\nHWD5VkRtesL3kJFP7iz/AG+v5cLZCH5L4v8Q5jgcR5bG1nIveMPVB5Ta7rh1\nQlIrUQR72t5/0qvD7n94G4fO/diZ3OanXjpXfFoPthHcqVe1Qh86LdHOEZs2\nSh6CdFKMW3k4R1waQwmEvWG8Zu7DBhAV+ozUD4rLtiXa3AHtCzLOejWGj6kC\nuDEZfui6HQkMrGGxu23lpivWeHfgrh+DKASpXe6h2GZEZiIq+zUzLk8XQ4rL\nHYn7\r\n=5d69\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzGjeTwdoiwtd0Y7vzxvDhDG5iC9/UH4eFvt6QipvyZAiEA2H9TjPqySnZXf53oL7NetAoHPqPgH8p2PDtnzIvYesU="}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.4_1613827240946_0.13471937867033112"},"_hasShrinkwrap":false},"0.1.5":{"name":"@donnyroufs/browter","version":"0.1.5","homepage":"https://github.com/donnyroufs/browter","author":{"name":"Donny Roufs","email":"iamchets@yahoo.com"},"source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only examples/playground/bootstrap.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","gitHead":"cf8640779f69f11acc6c2167fe5a55e0a20d649f","description":"![example](https://i.imgur.com/oegU7K0.png)","_id":"@donnyroufs/browter@0.1.5","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-qZhr3Bip97PbbYWT7YeU4EVihhVrZVu/MS4D1a34SuDOCgj0NIMBLT+f5HetAwxm6jk0jxLP/YKvkxe++foiSA==","shasum":"56e03d6db1d37bcbb886f2f6a50699c2a1316f4e","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.5.tgz","fileCount":21,"unpackedSize":68160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNAyVCRA9TVsSAnZWagAAZCkP/ip86AyaPUeOqSXFCuoE\nswLwbqdLjHWKCKwkQOaG+J7YPNbUfoFMBXxFRTK6lYlHiX22DZfw1wnY3IyK\n31U1JdoGM0kmlDK4D5dmPsT1u7OD+eUNMbKKw6RAjNSLi7lwIuJ7vCYJffIe\nLXWeNAow3F8yDeytXNTqqUGs31K1izukT8vqA3//yye48LimJL2Gf2DaY5X1\nxml/d0CxrlvEkFskjvLiy8Y15cHjkxD9461lEi8+OfxOBipJ0PJYjGnZRrB5\nt9Iy0z7QlJR3LcUlC/fWH6Rz8LNgPGAoTQnbt+II7bywpchvcmlDD5EZIsKu\neVf1ZzTnN7gYTVswYwZIZOI/s2llF8d2HucSQGKKndPD/hPjNMYH7HqBcHly\nC4/2BBZG1UusV9EFlXs2pbyJKFrrd42Kct1Ef5VmabXvzfxG4WeCnnkgr0Gl\nBPJMH0McvOsLaLaSKE427cIjCzg8PAE4Vmp5UhaWZaMZupCLwH3GduUCCiWb\nIr9HLFOCOMb6kaCVQMnztmiIXtokIZZC0H6jx977RVsQl+MKr2mNoLwESr09\nNLIbHrlSH5fQm0Bu1Ie6//Amx7NCdYELtoxTNgFem+5we9F8hiMxr5YEAWd+\nYyxFR/zm320viuLr6e/eq+ErpAZSEYPakFcHtXUBw5jzlaRkpjxepJ+C4q51\nYccZ\r\n=uFMB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb0qrFCPC5kfSiac9ywIdZx9Udt2upm8iQHx33iLFcJQIhAIdck74LGa1ZSXbXwLyj8/zMje/QNqSNGJxppYdmsEF1"}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.5_1614023828579_0.5071785169257905"},"_hasShrinkwrap":false},"0.1.6":{"name":"@donnyroufs/browter","version":"0.1.6","homepage":"https://github.com/donnyroufs/browter","author":{"name":"Donny Roufs","email":"iamchets@yahoo.com"},"source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only examples/playground/bootstrap.ts","run:example-rest":"ts-node-dev --respawn --transpile-only examples/rest-api/bootstrap.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"express":"^4.17.1"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","keywords":["express","router","adapters","grouping","namespaces","clean","micro","library"],"gitHead":"af0ffaf93fedc27a006dfb2e82bf92f8cd1799cf","description":"![example](https://i.imgur.com/oegU7K0.png)","_id":"@donnyroufs/browter@0.1.6","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-L7fve7iCmjSHw5z+iWi36jP7Cxa+aFdxgiuXU4uyrPVDWHVUmC/kfcMVHUprnnkKdL0+d8gy5HrZ5vtiyLnnJw==","shasum":"9330ead0fae83b986d49ebc5e76901e69a508f98","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.6.tgz","fileCount":23,"unpackedSize":67567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNNbuCRA9TVsSAnZWagAAiwEP+gPFmdkb2jsZ2QlBSl9Z\nq0fxFq6hngjtcL9BA8z3sPjBmezRDVU1HCLcfRgg3heqZRxVZZoIFteI6aJI\nEjKdyujT403v5SJApYgLaHLYxJs/VkxYrYspmvMr5GbO2oD1WIgHC2xPfNIe\nhWhIBR2a2jq/aKX4VInUyUCQ9Bfez8QdgQVkg1ReeAIbHtTbXMOr9L+yDv0/\naiMdRE+MPpFy7DWR1OXuEkInCBGr/vVCG/mM0wbe/vhBd1E/poRLR5xzLyUI\n26vF5fKKlMhvRDcWQnsaHVd7QBOrNX7Z4kUAH+yuGXBFdE2ikoIpps654aZC\nCxCQQDA/71dFUhbbjaqeiar0lkUd1tY461eh7CDn0E1MO8teMPe5PlV79dVO\nIwIQqbJVXkk+Kc7Mog5/PMm2Uck9ufO/ZO4Tc1cHI8E7cRI8/vvYEfoefQ8b\nh2nSAxRTaNzI7RYH3A5gn3mXx4dCYH32xoP3ve0SejfnyLaQiagYzap4D+IW\nKBqVopRQBU/gZq/yEDkaN1rPsE0JbPYJ6rClACiTqWcNcI2JLim6faTvv/Nn\nh9pm+5tOATSuWW83ahk4NrkrCh+seLmp4qvNiH1lMiVaOuQ5pluW4AJF1Bs2\ni7T4mYw/MENB35jbsL04p4VroEFEHyt5jCb7Ri5i+I1m3RBKdFtFkRLHJBrG\nIlLl\r\n=8zFG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbofdM4tAvY8grrk8FKp4BVSiHI0/QRLGdxo5W8wAXsAiEArC7nIF8gpHrRDVkRnrP7SYdVXQwbi/fb/2YZL2FNqWU="}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.6_1614075630057_0.4658206361143322"},"_hasShrinkwrap":false},"0.1.7":{"name":"@donnyroufs/browter","version":"0.1.7","homepage":"https://github.com/donnyroufs/browter","author":{"name":"Donny Roufs","email":"iamchets@yahoo.com"},"source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only examples/playground/bootstrap.ts","run:example-rest":"ts-node-dev --respawn --transpile-only examples/rest-api/bootstrap.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{"@types/koa":"^2.13.0","express":"^4.17.1","koa":"^2.13.1","koa-router":"^10.0.0"},"devDependencies":{"@types/express":"^4.17.11","@types/jest":"^26.0.20","@types/koa-router":"^7.4.1","jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","keywords":["express","router","adapters","grouping","namespaces","clean","micro","library"],"gitHead":"bcc99f3e09281fb95cc0458698f8bbb97f776f36","description":"![example](https://i.imgur.com/oegU7K0.png)","_id":"@donnyroufs/browter@0.1.7","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-dK1NHLDofkcdjBK53nyCuQjwYFiWerNaczLrh0wmVDa594x2YoJh9vcv5DSX47oJZZW1aGSSj/YN7YD3BRA6Mg==","shasum":"eb66154f5dc37b910d75d19046b5f1a02b78242c","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.7.tgz","fileCount":23,"unpackedSize":61161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOV91CRA9TVsSAnZWagAAJYwP/06oScWS93J8FTDXyr5U\nSOI8hSpcpg0goJ/Qt846p2nCDBnKhKGYB3ZolToogKBg9E8UlP/zicfIghwu\noIFip3VU9WBe/zfsfIxWE6HvMWIAkA4Q5BLGXgyv7v/afKN3OBQIqfCbD0lD\nSbH72PDbCWvB1bp34NBYHqSfknpTpbkrcs0hpTcyAsjSopGHECTsYAGDZHaY\nSI739SRdjE9dIttt4wjF83jQ75vCh4He6njQWp2juzoCSNl6/eNlS8ycfLXP\nunnQoFUYdT52KH1XQYMggw2PQ2v0CCOHxaSFRu/cObCQZWCg1bfvMt/Uodld\nLKpDUuzJy0BUJqBHvoHcs0ha08tumcqdPNdoh7GT3rQdAmpET4m1ACtIz5ND\ntZDJhpccxE9snq5Z/Cio0XPSMr3IjkhzoqUZ7/F3DORbUdAYSsmw+KNjhtm7\nbhud+/LT0D2WP4ZwF/sLLTMqL55SmeXDjGIGTCODmU15YtU2TbzCHHj/QmQm\nqD7dSWl7TWauZinZ/0Lya2AAzT4i5azRbU/a5iYF8j2ALTxTa+Hs1PinfuoV\nKDfsGtygW51/ylIHuW0k1sSBWH7mIuONfFTscKB7dqMSgNRnoRcyItgUif+e\nShCn4HpThAdRBM63/f/gQ0TtKE9OVhV3KGnd66CnDxxPdNiT+jUS6MLD3TIr\n3FED\r\n=h+rz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDptW/22nJ6r/2Uvf0VgpISxifk2F47MdLEYalENZ2HmwIhALOKGRO7838e/QEcvNR7CSDCeeMsLzwzhn9IY5jRY7+k"}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.7_1614372724811_0.8553422414387353"},"_hasShrinkwrap":false},"0.1.8":{"name":"@donnyroufs/browter","version":"0.1.8","homepage":"https://github.com/donnyroufs/browter","author":{"name":"Donny Roufs","email":"iamchets@yahoo.com"},"source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only examples/playground/bootstrap.ts","run:example-rest":"ts-node-dev --respawn --transpile-only examples/rest-api/bootstrap.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{},"devDependencies":{"jest":"^26.6.3","microbundle":"^0.13.0","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","keywords":["express","router","adapters","grouping","namespaces","clean","micro","library"],"gitHead":"cfa1e102f52826e68702f03e196b56ba43bd29bb","description":"![example](https://i.imgur.com/OptWLcf.png)","_id":"@donnyroufs/browter@0.1.8","_nodeVersion":"14.15.5","_npmVersion":"7.5.4","dist":{"integrity":"sha512-irP71RvYdlC6rphvR8ENdVx8YD01aTvOhsf8DO11HWVRN+JAm5zCji4phZHuIO/PJKBpr0oVgo7JahnjbZ19zg==","shasum":"b6e2ea9cab200019e4636d56940871b37a390d17","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.8.tgz","fileCount":23,"unpackedSize":61024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOWcWCRA9TVsSAnZWagAAmj0P/jEwoAVnO2fWmMQZioCT\nVja0Ys1zD0frkL4nmn1EVSTpQlO4Iobdor90GG5Pe4X0nE+PoAtEWQMoTtXH\nQ6J7yHLsGdz9+IZlH19qo3lvbLBX9SUjTTQ6h93U+HfNw73KZpqy2jQCkVdO\ncUQJlQ0n0twzdzWYfXBh0hpXqQD0ieSNRmGb57HT0bVLZx44GW5KW66Ae+ew\nrr8bhAGGiNbd0ZdcAmq+8VstnkEykKQ4NOgBzXpUzlnpjvPJAD5oYc3YC4Cb\nVDH1YIXDYpgdJeSpQEcKfi7GkZ3DbZSjb4KXuwSThoyyzsjQkVos4HOFSvfL\n8dv4num43+biMvpZIncoSPqTBAl0YrSV5hqSsiEwjtwE5MbQmUDd986hQFl1\n51XM2QUcltZ0zdPpN7tjB7Tt8o0/HhweaA/j+HNpF4Kt9Qp5H9vLV5utFC0g\n9OTcrQC4TxczXnFOgJ+Wxq940m1jOOZOSnhkJn9YNWIukpXYnsfJQXjRzV5L\nByZHttEylFfCHUxMufWh90qzZb04YaOnmoKnpCqVnRNMmbYrw0gow/4RqwoX\nmCfen+bzM5zdh1wlitaPKGVnHmh4WOoeg/1mMke2v0vUAdCU08bsO6M1ubAR\ncHqWizD4ROMg2/4W/YTmKF9tzyKhvklZzMxfBDs1Nyo06T5AOY6pFgMkweag\no/DB\r\n=L8PV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPAoll4E5vDNFSLKQg6q8hTf2oyyStxXyWfITuGJb9nAiEAk9H4HF/baS0xggrlGfHw030WPDxf/zYE4k9ylqO7Pmo="}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.8_1614374678088_0.7572261375288314"},"_hasShrinkwrap":false},"0.1.9":{"name":"@donnyroufs/browter","version":"0.1.9","homepage":"https://github.com/donnyroufs/browter","author":{"name":"Donny Roufs","email":"iamchets@yahoo.com"},"source":"src/index.ts","main":"dist/index.js","module":"dist/index.module.js","unpkg":"dist/index.umd.js","scripts":{"dev":"ts-node-dev --respawn --transpile-only examples/playground/bootstrap.ts","run:example-rest":"ts-node-dev --respawn --transpile-only examples/rest-api/bootstrap.ts","build":"microbundle","run:dev":"microbundle watch","test":"jest --watch"},"dependencies":{},"devDependencies":{"@donnyroufs/express-to-browter-adapter":"^1.0.1","@types/express":"^4.17.11","@types/supertest":"^2.0.10","express":"^4.17.1","jest":"^26.6.3","microbundle":"^0.13.0","prettier":"^2.2.1","supertest":"^6.1.3","ts-jest":"^26.5.1","ts-node-dev":"^1.1.1","typescript":"^4.1.5"},"license":"MIT","keywords":["express","router","adapters","grouping","namespaces","clean","micro","library"],"gitHead":"851ab96cd4bf78627eb45d23e2ff054a5540737a","description":"![example](https://i.imgur.com/OptWLcf.png)","_id":"@donnyroufs/browter@0.1.9","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-hcQEl7EfjIw0D1nsUUGU8HyZZzIy7wuR0wTKnxxVHPPaBTOCQLugsGerBGBB/1188ITevOWIV5+lfKHuDiB5mA==","shasum":"2c0e52e74b7596c6654aef85fb6d8c2ec81d7431","tarball":"https://registry.npmjs.org/@donnyroufs/browter/-/browter-0.1.9.tgz","fileCount":22,"unpackedSize":66276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP7k5CRA9TVsSAnZWagAAV6wP/jyZ/1f4veMdgYcNA3uu\n83ZcyUTUaxXW0CwDL5Tage3EaifIRPCNrwf8DNtQq5SKOlhTsOWV17FKEaCb\n3SduKcUD+5+wm0UqLvhSQtRIfvSXRZGIxAeH8C40Kspl+z/8mkOOmMuzwlTD\n63WNLoNiRFtMMPPTaKivhwm/umTWIxoeJWlQSI/8RTJQiTn7c/iOzqzu9zVh\nNtqnj5SRBXsvJW3t8qm0ptEUohHDaPVKWII93UFPRsmcV5pKI4ybK7dbi5jt\nB90IL/45u/N5Xw3QmxTaaV69pkhFXT9hH39s75LUsH/crHFHRq0LBmVPOAQn\nRS8PkNYvAH4youI0e0lU0xBRgJTm47XTYXkIavRZMHOK7YqcGQEcpCczs085\n1jcxl9hO0SXQQ9U0UuWP3xl+TKr84Ea1LMj0WOWVvvFXq7oo0tvtqpvhyXW9\n+zKP1NGoNuylNzFsJu4kGSO90gI51VMUx/5unUnqfAnzQt/iilfyR3s/v+Er\n8krTgPRL4wvUhl05uU8sYMj/X/Q6W39o8zs4rQ644BUlZpz+lRwjSpuTzZEo\n9XcwwnGWfqYQGSsT7XMqq0+AumyeGZujVI+V88eWHX8YIbBP/7W3tFVvx/EY\n6f0B8qPQR9Yi8nlZ68W7UMtnJTJUrzOTiHkdBMIZxYo9qLewSgOpgjA+nZ3p\nQa8K\r\n=fbaP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcJt565hEPu5TXNh0ceogxgdKv2aLOwC7v36REhm/OiAiEAuKETKZGFtMpS/KZt6ZyHUpK7fuxJ5+l5cDFWUDvhWRU="}]},"_npmUser":{"name":"iamchets","email":"iamchets@yahoo.com"},"directories":{},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/browter_0.1.9_1614788920592_0.7371565244562415"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-20T03:26:13.593Z","0.1.0":"2021-02-20T03:26:14.158Z","modified":"2022-04-05T05:15:48.434Z","0.1.1":"2021-02-20T03:50:37.278Z","0.1.2":"2021-02-20T03:59:06.331Z","0.1.3":"2021-02-20T13:14:55.804Z","0.1.4":"2021-02-20T13:20:41.100Z","0.1.5":"2021-02-22T19:57:08.747Z","0.1.6":"2021-02-23T10:20:30.215Z","0.1.7":"2021-02-26T20:52:05.190Z","0.1.8":"2021-02-26T21:24:38.297Z","0.1.9":"2021-03-03T16:28:40.813Z"},"maintainers":[{"name":"iamchets","email":"iamchets@yahoo.com"}],"description":"![example](https://i.imgur.com/OptWLcf.png)","license":"MIT","readme":"# Browter makes routing simple and organized\r\n\r\n![example](https://i.imgur.com/OptWLcf.png)\r\n\r\n**Browter** in it's own does not do a thing because it relies on adapters. By creating an adapter we can do things on top of a given router and then return a valid instance for the given framework/router.\r\n\r\n**features**\r\n\r\n- Use for any Router\r\n- Group Routes by namespace\r\n- No more imports for your controllers. **Browter** will bind them for you\r\n- Have the option to have many groups in one. This allows for resourceful routes\r\n- It wraps your route handlers to catch any errors which you can handle at the top level\r\n- Have all your routes in one file with as final result some eye candy.\r\n- Built on Typescript\r\n\r\n**In progress**\r\n\r\n- Resourceful routes generation.\r\n\r\n# Getting started with Browter\r\n\r\n## Install package(s)\r\n\r\nRight now only an official Express adapter exists, but you can make your own! Browter exposes the IRouterAdapter interface which you can implement on any of your classes to create an adapter.\r\n\r\n### Yarn\r\n\r\n```\r\n$ yarn add @donnyroufs/browter\r\n$ yarn add @donnyroufs/express-to-browter-adapter\r\n```\r\n\r\n### Npm\r\n\r\n```\r\n$ npm install @donnyroufs/browter\r\n$ npm install @donnyroufs/express-to-browter-adapter\r\n```\r\n\r\n## Known adapters for Browter\r\n\r\n- [express](https://github.com/donnyroufs/express-to-browter-adapter)\r\n\r\n## Routes.ts\r\n\r\n```ts\r\nimport { ExpressToBrowterAdapter } from '@donnyroufs/express-to-browter-adapter'\r\nimport { Browter } from '@donnyroufs/browter'\r\nimport { Router as ExpressRouter } from 'express'\r\n\r\nconst adapted = new ExpressToBrowterAdapter(ExpressRouter)\r\nconst browter = new Browter<ExpressRouter>(adapted)\r\n\r\nbrowter.group('/api/v1', (browter) => {\r\n  browter.get('/', 'CoreController.index')\r\n\r\n  browter.group('users', (browter) => {\r\n    browter.get('/', 'UserController.index')\r\n\r\n    browter.group('posts', (browter) => {\r\n      browter.post('/', 'PostController.store')\r\n    })\r\n  })\r\n\r\n  browter.group('verifications', (browter) => {\r\n    browter.get('/', 'VerificationController.index', [isAuth])\r\n  })\r\n})\r\n\r\nexport default browter.build()\r\n```\r\n\r\n## Which will create:\r\n\r\n| Http Method | Endpoint              | Controller             | Route handler |\r\n| ----------- | --------------------- | ---------------------- | ------------- |\r\n| GET         | /api/v1/              | CoreController         | index         |\r\n| GET         | /api/v1/users         | UserController         | index         |\r\n| POST        | /api/v1/users/posts   | PostController         | store         |\r\n| GET         | /api/v1/verifications | VerificationController | isAuth, index |\r\n\r\n## Example Http Controller\r\n\r\n> It's recommended to have one Composite Root where you setup all your controllers with it's required dependencies.\r\n\r\n```ts\r\nclass UserController {\r\n  async index(req: Request, res: Response) {\r\n    res.send('Hello World!')\r\n  }\r\n}\r\n\r\nexport userController = new UserController()\r\n```\r\n\r\n## App.ts, initialize Browter with an Express app\r\n\r\n```ts\r\nimport express from 'express'\r\nimport ApiRoutes from './Routes.ts'\r\n\r\nconst app = express()\r\n\r\n// Middleware which gets called when an exception gets thrown\r\nthis.server.use((err, req, res, next) => {\r\n  res.json({\r\n    statusCode: 400,\r\n  })\r\n})\r\n\r\napp.use(ApiRoutes)\r\n\r\napp.listen(5000)\r\n```\r\n\r\n## Change the controllers directory\r\n\r\nBy default Browter will look for controllers in `src/Api/Controllers` but if that doesn't fit with your architecture then you can change it's options like so\r\n\r\n```ts\r\nnew Browter(adapter, {\r\n  controllersDir: Path.resolve('./src/Api/Controller/Http\")\r\n})\r\n```\r\n\r\n## Losing the context of this because of the exceptions wrapper\r\n\r\nThe autoBindMethods will make sure that the context stays within the controller\r\n\r\n```ts\r\nexport class BaseController {\r\n  constructor() {\r\n    this.autoBindMethods()\r\n  }\r\n\r\n  private autoBindMethods() {\r\n    const methods = Object.getOwnPropertyNames(Object.getPrototypeOf(this))\r\n\r\n    methods\r\n      .filter((method) => method !== 'constructor')\r\n      .forEach((method) => (this[method] = this[method].bind(this)))\r\n  }\r\n}\r\n```\r\n\r\n## Current Milestones\r\n\r\n- [x] v0.1.1 | Automatically bind controllers with their routes\r\n- [x] v0.1.2 | Group routes by namespace\r\n- [x] v0.1.3 | Nested Grouping\r\n- [x] v0.1.4 | Catch errors in route handlers and handle at the top level\r\n- [x] v0.1.5 | Rewrite current API to remove magic and allow for adapters in the future\r\n- [x] v0.1.6 | Mainly bug fixes\r\n- [x] v0.1.9 | Remove Express dependency and use adapters to make Browter flexible for any router.\r\n- [ ] v0.2.0 | Scaffold resourceful routes\r\n- [ ] v0.2.0 | Generate docs out of JSDocs and host it.\r\n","readmeFilename":"README.md","homepage":"https://github.com/donnyroufs/browter","author":{"name":"Donny Roufs","email":"iamchets@yahoo.com"},"keywords":["express","router","adapters","grouping","namespaces","clean","micro","library"]}