{"_id":"@atlaslabs/koa-swagger-decorator","_rev":"10-c17198f4099273281ec4e2d35f2b629d","name":"@atlaslabs/koa-swagger-decorator","dist-tags":{"latest":"0.2.118"},"versions":{"0.0.1":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.0.1","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"70271811bd4d374b097724c2c34b6aa21d3ad7ca","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.0.1","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.20.2/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-uwx/dbourLOQTCwNB5hkL5V9P75L5hAldwztVY6HJF4uMsdlgyN6dd2F8y1vUn4orWYg0mGSxD6AP+QZyV1+Jg==","shasum":"4fb3400cf13950846bcbf42ca158b004a3da2f20","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.0.1.tgz","fileCount":27,"unpackedSize":104452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeavOBCRA9TVsSAnZWagAAZxQQAI/Lu6d4m4pZoZ09vNqN\naZHTcnSeQ6Ymvt9b+M7Av1acj6KenMICHX1pK44pYiYZ+crO8pRv6qUlHx4f\nAx+W9/7z8qe0mIkEovwIOo4gy9X9wPqxyrkpZgJclTRbDUrNnppCJQDlazRo\n61LFGLGp2y+JiL0LSzBJu6KprTywxcgfZ2JhWxkE9s4yMfZZy1GaYAq/qcCS\nwxnwKSZ2yVbHrRvXihXlO6TajmSvp007uKpkZsINdnHLGN6mvkWqS+zaDXpe\nt1ITOJhS0XfgAtlNLlFGM21ZeNWfAR37l36z8m9aavZipL8yzNJjEz6FzFm+\nG4dndWZwrmbZowemvMoLTaFhFRRD2jTVLxik1kT8uU91FW7DpTfAquRHYsII\nmcrfHp2jySgTupB3xdvkBi/8p6hzC09lRpIekjNruzwtXOOdU0lL2FJExdqk\nih2xubLDTFNzZSf2ctYyO2FwXIN5jCnxBGqomGZIRuYSBZxg8PG809aRpuc8\n4qcxio5/wHSts4/R9EbsG3FyDCHJv62WLXPSvUcgiwp9N6NlGZf/aC0yj4kf\n4BKzCVzF8M92CvaroYRB35jEdHExR95+onOvoGKNV7ELVrfCefHtAz/HhJDz\nB/UL6G+1a6SGs9jTDdRfeyiltxF2Eb8HsbXn2wYQAUkKDpMeaQAm091RyqAf\noelY\r\n=nqtB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLfUgeJsWFGGDxKyJRSaSybGvypDLfNUNH6QCeC3EsNgIhALw219USQTncHxeMUQ3ASOruN1NlPTIKTFMxslXwsw80"}]},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.0.1_1584067457180_0.8788583458727348"},"_hasShrinkwrap":false},"0.0.2":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.0.2","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"c0ffc9fa989ec9d1cbbaae9a4c8b02f2778019db","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.0.2","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.20.2/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-OcvxVXHDyml2nrm2NqNCi6PXzU11cnbD872Y+A43LY9Tpqh2QvNtch0OuTLMu6skGNmbZ/joirqCSExIfVy0zQ==","shasum":"45e4b7be18c2281ea07d08e4115af66018f387b3","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.0.2.tgz","fileCount":27,"unpackedSize":104452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeavTHCRA9TVsSAnZWagAAaGoQAInRcsTD+zCKJrJflD5h\nV/Sl5fkwUIldxgqZwkkYOei/nW02f5aMXUgcv/n96Qz2dhGxlr8vIBg0dJXV\nK00dJqP1wHg6iVqT3585rNtVe/rLYUbY8+A0OACwNc7A0fJOSqEgMf5UZNM8\nZDWKNytKgPx/q9dglAPM5lkrbb1iHmaMxMslh7B7oaa7VFPqSd2/AAsaIYUj\n5AwFNjRCHUspHIR0sKi/4IFj9uGtRGOyjEVT0Iz1uYuQD5yB+mDNBEFRpgAr\nMd/a7pnFxFY2gC8kVufIGpOtnI09wUoF3kd1PZHZg2klmQ8s2rqCqZ1yL6kp\noxHNm9YDlAW0F8GbL0rTHDZsSd+AzEp9h51xRTK18qkmAcS+Xf65k8jHEPUz\n0T/RjfzdYJ+SsVrTZCNogBce3AMMBmfQxqu97hFuMlK6MuFvTnn740Hg4esM\nTTcVNtV0tyEQ4GdiKuNlRVLmxcjsne0iwQbMEKn1Za13W/6s0zIeQdLIgq+f\nSGVUhF0q6e9wxWxkODjsO9pMgUryOhTiKMStfZYhkgK2vNkJLtUU8xO8Lx7M\nYvZRxrTfYrHn1PK8nmSddYpwKxuAEtlcvsnAalwuKqiTI5IrB9YxVbOrm50M\nvT2MEOP2/PsCRcfEWOZokuZer48xR4F/GpMlGfWVPKyyFYJbBN6SZH+f1jPt\nk6uy\r\n=ue81\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJIoI3N9cBuje6513yWf+52dzwq91E/pTSzkRYqbe/5QIhAMuvIfnAbfwYTrAu/+CwIRH2SaxyqRp0x1HrAwj1RvLQ"}]},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.0.2_1584067782817_0.9715654375372997"},"_hasShrinkwrap":false},"0.0.3":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.0.3","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"45ba33f9da6875e50400abbb00cf4cf787b92cfc","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.0.3","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.20.2/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-63lRYtfJNLxUfNOPdTmGq/GHNRJ0zUwDae5wmlqrxeRa6W1AzAOsjoHucCjpCFJh5/qS5QTFesH6ZpDtU1HCTw==","shasum":"097f3293b7c9d3715545fba7d0eb101ae0c79beb","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.0.3.tgz","fileCount":27,"unpackedSize":104452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaxsuCRA9TVsSAnZWagAAYQIP/1jlt1noflIS62ZusGJH\nMAjcdvdYLAh9GDRBDmWJWFRskrx15Hc61t0AuaCrEHfiOBCBwNakuCvunzRZ\nzyDCxS63MHdTem+cWk1jPdcoG4fvIBWtz7no/tKLSF6dTEMACqDRtXa74DZK\n9ixAAOHMSE/lF4/mGyrAOGvMr9zQmlzdNT1h9FQRgtLqYLH5BKkh++oJMApg\ni4MtzMkR6aV+ml3HWi3aawQoNCQl5Kc+/ZhU4WGKJ0IOodkNct5j1NrAO/X1\nh/Io5GJiCe21CErB4fhO2r7UX7FwetnaxAPsxeyN7cnfNpxBaSZc3Op6dMuS\nlsFX6S2eXPSboJMfMdLIcSk53UYRPAJLt7CosPGhJv4d8W+aBUHgMZzWjX51\nTWd7YdQVwPwfpMmvda5JcFQiY+kxiIBDD2d8gVvFz5tQ3JJXs6Pb2c7CZ93V\nvap1BXyabHtlWOZYnJlNvHK26OL32XF6m1zUU+UEAet4QzNk7fqW9AIpby6q\nbO+rhpMFrQ2ACWNLIoOOdVcI2kUUZBVvsAB2s1N5/0nxT5zneyl/e0lv17VI\nuseYMu68Gl3iR4omBxFCQeP293m9B8i13QEYTOis/fOURmeTJMiHeliwYm5H\nc1OCBv7QhT5Tt8bP8DkC1wLx2QMc6cQ+9SIUkAJ37Xu7RI/oQ1gcJysqGuNR\nc4Mx\r\n=knP9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBCNSJeHbj9WKFbREwjHBTgwWEfpKxZYSfYxTbPbhmYxAiBY1B3dp6ngMIyPTHFHkU99vBeqhGkY3WOZHRv+JhQrrw=="}]},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.0.3_1584077614465_0.6614160754567098"},"_hasShrinkwrap":false},"0.1.1":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.1.1","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"3d54b52ab80c29c9dd2d2f5394a538c9c5285a74","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.1.1","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.20.2/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-QOciDhcNnciBF3sqraKJdlD1JDVkyIMMMi0bZvoxX60WTbB134H4ul0bGvmCpVZDtUUoEm52vwMhRRUIN1G1TA==","shasum":"8f6f2b9900e194b5dc84980d5dc3a1cf9afd126c","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.1.1.tgz","fileCount":27,"unpackedSize":104452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecdDDCRA9TVsSAnZWagAAD1MP/18NTzqk80dhSed7wOQf\nZ1V2Wkzs6dmyOxGaqtv4Y7fVYS2YCMQnix7PzFrUPWS7Fnpi2b98ywgVEBBQ\nj6fuFS06PQs6gLi0j93LvZCxwD/psi6OHpba50fUST+WvD3leQoSvEjXDYWp\nwEV54dblzB3Z9OpPehWYKzMDuHGys4behKU3TqpSj5R8ya6Y6vg1+mevTZRY\nZVjcFQ+3djpfSynU01wCcaNodDqLhXmRc+N+2HBuC+CdryjuEqWpLoc6w9Be\nqPxIrrewC6bqb0QMDq3g5etYIGkMoFd4UHZpqBFllpcCmfcZwDRUgvlzU5XW\n1kPhzj3xGnH82Trv/XF6XVRkzu31VXKS1dHY+NJ+M/3Nu6CzY973pUvtnohY\nEtHCz/7LZzA1W0vJ7eVjI1D3IQVj87ic61c/NKrBgXhplUjugrsA9wODvLQi\nSPAQ+ci12EtoWwvJt151RDIxDvaFvuN+PGhKU58WrIUHCjTT7EVnhtXhd0lX\nyE0O2HwvgKybDIhYBEhija3/aiID9bPXw8ByozJJWhU9LAmFcpG4GOWHHK0V\nt0HA564urY4o/Ls/iADqum+6OHYlFADOK2g4x7iRS8e9T/nOSLW8TPijRANq\nzHVgdIGYaPJEtlBktz7CWaNs8mIgMwxGi6iIKvNyzrvbhy6FcOMVE8YAytgr\nUSz/\r\n=mzXI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZmFFZaenh0JIbRh8l2up3dfFukfygcvLt9DeCPGcUwAiEA5UXYRCqDOxDF+zzxgH12EJwdaE/cj3Ot5BFDHXMfHEM="}]},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.1.1_1584517314868_0.7227703249810038"},"_hasShrinkwrap":false},"0.1.4":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.1.4","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"c2b3fec6180ad20a953b8641182cd004cbe7ea94","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.1.4","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-5eXNFVYDfwijlPGSNcrgXYuefxtpx66zHxOXfmdbRrz22EwEORJ2+vuY+1o1Lm1U4l/BaP8z535/cv7iy3+Uyw==","shasum":"05d1e3575be74cf22b442bec2c466da9c1b6bb8c","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.1.4.tgz","fileCount":27,"unpackedSize":106050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMi7iCRA9TVsSAnZWagAA2Q4P/idrRgllp7MQdVmo3Ej7\n/5nGxw1rNZAy69efumutOZjOvUPOIbHGRz3DKeqJN0YlhtiQxts1URV/UmbP\nSFYsXoRFunh4R9T9c72i7m20SwLKAH3pExSC/JypSCbLrMrg+Vdlqs5Aar27\nlZGPUceq8dK8+cDdMwuWHK0QVg7oGHpgTk0ylLGlFAmrXRjDCh1sb32hiTvj\nRF/Q+eQ4sK9tpMyoy29aFcJdEOv7H5h34Kx9q8kqsYSnAivRBne2MvZk2CaD\n7vEN7HH2Ci+k4kxFkXbW1XtSFU5Iy4ceiet1jY5GXqSjeRlU4hPdx8ejCVSD\nO2AZgLg96bfGj+SIKX6Q3SeEVOBisx3dLHENRmp7DdEJdA0rvYvn/xCLT8PB\nWr715LsDywu4fJ+zZVQu+0f3xxczl8ZXzWKg3XgZV5FwzNTBMk5NzOzmh7zU\na384KEH8JUuGbN4zYYHGbOVjWCT9NrkTMghrNTwHA7eKsgmZgpIAbVRPqxuO\nNstL6lNQGLAREWocZqKkNgeRGpcmKWwuyvbiTc0LP8TdhP8LCkNfvefZFT5T\nZ2pgk9c6F0tMOJDRZ76TTE5pszAuO4fWHyxDv0ZHJlTtU5qbqmMsxgaYB1KN\nWN8fDh0P5Nxi/coHZl++h+Lo6rpGBnZuuEUE8MgaER96w0tafMNqALuXTbxr\ncNq8\r\n=G5xH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDsb7d4IGPB2KkVcRvUGeqIKBrlXvoqYOFD4gy0Wl9dPAiAbbATxaS4MJ8vsqmZP1lUtn5DghJPr2DQ30AVma0wZ8Q=="}]},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.1.4_1597124321920_0.26013156203760013"},"_hasShrinkwrap":false},"0.1.61":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.1.61","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"b4507b50893e7ddcff29a1c66fbcbec2d70d4cb2","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.1.61","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-BncfG9fUBcVk6NXQ3ZNXcj3v+RREE1oCU0wRiU1ToEbtNwHa05PWrEoCPp58y7DotsqjqKywokyGpKMRKbskAg==","shasum":"e355f39b056240cbafdbf8d36ff7bdf827762c30","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.1.61.tgz","fileCount":27,"unpackedSize":106089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo2YlCRA9TVsSAnZWagAAxIcQAJEuE8Pj2p/GlblkS20w\neADR1iWq3LIdRcxoncuT3qNam8vGQ88cFC4IYtrnCQuus0nb3ETd7FZTb3/g\nOE2bsiCGNrVOD1PEu+7Fs/x16pKEkFaeJhWF0gBBzppecoZstd0WzYzJN2RE\nZsAy9nag/ZyAeSrmiHKD8QYqsKXWvF44rvXWSSTawLegxOSKW46ifnkmUle9\nqRXfDPhrdN+vJLqR5ZYL78ZQSlCccq5bc9ZQPT6K8d9sXvZkTOrxj3xA1XoH\neIBnrysKOGUH9qtxdQtNI29GBaVG67DpfNAPYb6eUhC2cUpn3yE16Z/hTSDF\nb/Ibsv6bfXtnQAPqS582nmisqfOzWG0Pyx/iWZTZh4rWQO8YA6cn4G2dn3aC\nhGgd7/zQ0mOJBF7hPmLApJgnqSy83NwGdriRZ5246fPL+zj7PMP60yG2J1BS\nRSKXwzcXWy7LoKHxciPUh8tH5NN95gpyNk0yZFCVaZNzQkK21EoPLC7E5Mlh\nt7SLAfZ/4vpdX3TJI2nHpVDAz5uzlIPzITEAvYsa1nznI+Zdib/QecrMy7uH\nQhJvYEdmtlINvMxZvWNBw2PLfwZWP9XCiJNMgKy3aOuN9vqiTKJsyNQ5uKCl\nsB+NnqlLwMW4AJTT2n4uN6K3brGZXz9Y+8QGKOg2Q3AVbJQnmljkuduNTjBY\nmpsl\r\n=jZ5J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNC+1LUDZ6iymywe8IosIIQ92hDtmVkAyQewtymqg3XAiEA3FiL791pXtDgnV2ExJyqDXMwCWFFhLqHRH2Q6b0wsuw="}]},"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.1.61_1604544036898_0.10030509862590309"},"_hasShrinkwrap":false},"0.2.1":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.2.1","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"8034a98ee304d2a62cf5433a60200d71c765c20c","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.2.1","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-3tkVczRfgUdJ2vWOj25Vx7igM5fbZwmfRwzaGeiMCHAkE5CaBnw+a+ZvY8ab5kotDXDKTTL+ZmWlzoF9QgVr4w==","shasum":"500ca2054ed18748caa5b08eac87f14fee5a73ef","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.2.1.tgz","fileCount":27,"unpackedSize":106088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBTHHCRA9TVsSAnZWagAAtVQP/3VmqBCFwXLklwk0DqP0\nCbWOb3STtXNM97rV3xiRGZvobVj3PMrx5nOCNaFyywbp6wuOFwChaAQefIqB\nol4HpjAAycis5zdTg0VXrqabsjqU62t3SHTcA46znAwEpblKYNZ69Inz5cPf\nHJ93EDGs/DuqNgOWfziIOAJmb5L0r4iaom/7/od7YNqNK+vRhoXhN8m1Xdf9\n6rzWGSwP/NF08t7fACvCShGrL/QcBcVOGpILefTY5yombWwTx9hfUSmIeCN2\nFxk+Dn9Ilj2cNiZGBOAqTFh7Dcio85whBO4gMuDTCd910zRAzhdv+niC6IyV\nxhx7YE67irvjvs5a0FP2SAySOqv6+mtNryH/95SdVoZzaweSXTe0KOeIr5t8\nhjP4IU4dHiF8NvVxjP1lgmZPYMmGO9EZuO4lX7j2ygofQaURQl4v/tSrNUHv\nkmMDryLtFQckgmQjuXgitNuAuEm+Hf8AomcuKBYYRIcGFTMqx094l+mpS1cq\nY3fCMZ3KClg0RQxqJrsu+pl4XXNH6wYClMEDrLJMr3z8mPHXuazUIaQi5TXa\n25DH4ZGSl/TqSUe65ZtKwDAstnN42/OmBb5zeVdqE/IwZwE9dzruU60DawWk\nEgBgRsypGIybYwTrpT/DiHM+u6DBHim6WVofBKvynciZ8YRHVEwbDsYcJzvD\nHssR\r\n=owc6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSdiR1hey9qGt1Y04donV4wCrJhklbBnNZVIFI7C8GpAiEAwoao9bcuyeI3T2aLoSBF+eL/TAyxMq1FpYBtaCVkvBw="}]},"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.2.1_1610953158855_0.3224638220443865"},"_hasShrinkwrap":false},"0.2.116":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.2.116","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"1b8d53d50eb8d380d159e9ddbf1ada862c762797","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.2.116","_nodeVersion":"16.12.0","_npmVersion":"lerna/3.22.1/node@v16.12.0+x64 (darwin)","dist":{"integrity":"sha512-K70l2N2NLx2JZ6MNrfdn/RQIdlFxoGgqdJjtTCe/7b1Q+tTeFaY474WrGty5xrF+GmiyONfJVK+I4NFxUTAUkA==","shasum":"581c5d496f6945cd1282e76bb92bc0ce42864e14","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.2.116.tgz","fileCount":27,"unpackedSize":106090,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDeuFrWdvax+aieR0y/XLfz/jD0sN6RLjxHmY9+nBpmrAiBqeHEKgB3tiO/l/aZLyGtsxD9gRyR/gOp4f0RG/N8NRg=="}]},"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.2.116_1634881761091_0.6912787949883972"},"_hasShrinkwrap":false},"0.2.117":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.2.117","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"a8e986e7a152d98ee751acee4388b8251788ffbe","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.2.117","_nodeVersion":"17.0.1","_npmVersion":"lerna/3.22.1/node@v17.0.1+x64 (darwin)","dist":{"integrity":"sha512-HUmV+U4wcR2mWUFaGTsqnY9yd70ndXvOBEZYQ9pqKWhYTXFj4GFO5xo+b6Yu1wOZlwsQ2Nklpx+dOhlEw6YdgQ==","shasum":"5d4dd00e0dcd424d8789633a1b1d8c337abd85c3","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.2.117.tgz","fileCount":27,"unpackedSize":106090,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC72vZfKswZOsTBHefNVFXircOlcsJNTkGSDfwJeijZQAIgHQlRpFwmlMGPhZFuiWWHp3Ja0P1felppWnP4+HcB+YA="}]},"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.2.117_1636688570206_0.032726203605574655"},"_hasShrinkwrap":false},"0.2.118":{"name":"@atlaslabs/koa-swagger-decorator","description":"using decorator to automatically generate swagger doc for koa-router","author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"version":"0.2.118","license":"MIT","main":"dist/index.js","dependencies":{"@types/globby":"^9.1.0","@types/koa-router":"^7.4.0","@types/ramda":"^0.26.43","globby":"^11.0.0","is-type-of":"^1.2.1","koa-router":"^8.0.8","ramda":"^0.27.0"},"nyc":{"include":["dist/**/*.js"],"exclude":["example/**/*.js","test/**/*.js"]},"devDependencies":{"@types/chai":"^4.2.10","@types/koa":"^2.11.2","@types/koa-bodyparser":"^5.0.1","@types/node":"^13.9.1","lodash":"^4.17.15","ts-node":"^8.6.2","ts-node-dev":"^1.0.0-pre.44","tslint":"^6.1.0","typescript":"^3.8.3"},"scripts":{"build":"tsc -p tsconfig.json"},"pre-commit":["precommit-msg","format","add"],"repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"gitHead":"3fd805ce053ba3d56767f6db032b6a0723a59a30","bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"homepage":"https://github.com/goodatlas/switch-backend.modules#readme","_id":"@atlaslabs/koa-swagger-decorator@0.2.118","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (darwin)","dist":{"integrity":"sha512-8FjMcFXxlInqsqfdY43HNaNOGpRfdcfhqVOH1v8M9/yfdcCExMB/YK0TMF+eHksBxoJnM+VnkR0XBoWBpTaKGg==","shasum":"208e1d316ec4654e7d9a1cd5cb9261be3318dde7","tarball":"https://registry.npmjs.org/@atlaslabs/koa-swagger-decorator/-/koa-swagger-decorator-0.2.118.tgz","fileCount":27,"unpackedSize":106090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqBxFCRA9TVsSAnZWagAAEzYQAJshOLdbOjRPL4IEqXlm\nA0Qa39kBnskhawCyJ8SFjYvq0GhtG3upDi199vpaG6byRRkuj4VMHob/083t\nTk2lRIiiZBrFFuDHS+9ow9nJ3ELYlqXk6QwuPqGfkUm42F8FciyctoJ3TWzA\nc+RSl0hiwCuArfCTNt+leRnSsKM89KPgTC9uxccuGsMRJ3MgdFqFczD/1pQZ\nQc4ZTHyjBZxCal2JAO0X3/dnAmE5XQD6i00Pl+QFTlfZTBaXci1G/z4ErcAo\nzzpVBGmpn9U7xbuhEwoP2TjZZgNuqo/oQScAH5cylPaKU502CTmWTtIx+8/7\nX9F1TSwKNcdxr2NJZ0gwaL8NGAnCrFscd5DUpGfWjzHQAH6Jxr6hTRAXvDCN\nr4xTp95e12IxZw6gRPxeXGAdHbWMcucCapIccmTVAjKthlxOYUXwTC6DQNz1\nnjDiPLmrU1XOSi/+HgYEe28L8gGqP8CedOgZxX6lIjMIO5m5360EQ0JgVkSs\ndimCHU7kezd04qjkyhY2dLIXum7IpPcaDHJ/vZVSlgH/Wq7zN2s2aGb2qNZB\nGXkqLHR8ObLMRzrTj5vH50c+Q4rZXlqKdSs9u2Uwo6A9kNYXYdb9+DJTsDIm\niim5rArExZ/bRjtfCIcfRFFrpJHuGPf5B1OdiCtCq6H2cdyMcaBIXYGWTFzz\n6DT5\r\n=gYqR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF/zmX1ljEDvDRzjxSp0GNlHUIAUv29SCsQDOE454CA2AiBjDSQH413G9ZVno1wfbYZwJO5MZtuRRPPnDpFcojADgw=="}]},"_npmUser":{"name":"atlaslabs","email":"atlas@atlaslabs.ai"},"directories":{},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-swagger-decorator_0.2.118_1638407237647_0.4540251406209175"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-13T02:44:16.931Z","0.0.1":"2020-03-13T02:44:17.313Z","modified":"2022-04-04T16:11:47.540Z","0.0.2":"2020-03-13T02:49:42.972Z","0.0.3":"2020-03-13T05:33:34.609Z","0.1.1":"2020-03-18T07:41:55.028Z","0.1.4":"2020-08-11T05:38:42.065Z","0.1.61":"2020-11-05T02:40:37.166Z","0.2.1":"2021-01-18T06:59:19.038Z","0.2.116":"2021-10-22T05:49:21.285Z","0.2.117":"2021-11-12T03:42:50.367Z","0.2.118":"2021-12-02T01:07:17.892Z"},"maintainers":[{"name":"atlaslabs","email":"atlas@atlaslabs.ai"}],"description":"using decorator to automatically generate swagger doc for koa-router","homepage":"https://github.com/goodatlas/switch-backend.modules#readme","repository":{"type":"git","url":"git+https://github.com/goodatlas/switch-backend.modules.git"},"author":{"name":"atlas","email":"atlas@atlaslabs.ai"},"bugs":{"url":"https://github.com/goodatlas/switch-backend.modules/issues"},"license":"MIT","readme":"# koa-swagger-decorator\n\n> using decorator to auto generate swagger json docs\n\n[![build status][travis-image]][travis-url]\n[![npm](https://img.shields.io/npm/l/express.svg)](https://www.npmjs.com/package/koa-swagger-decorator)\n\n## Installation\n\n```bash\nnpm install koa-swagger-decorator\n```\n\n## Contributing Guide\n\nPlease refer to [contribution.md](https://github.com/Cody2333/koa-swagger-decorator/blob/master/CONTRIBUTING.md) before creating your PR or issue.\n\n## Introduction\n\n### Koa Swagger Decorator\n\nusing decorator to auto generate swagger json docs add support validation for swagger definitions\n\nbased on [Swagger OpenAPI Specification 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md)\n\nsupport both javascript (babel required) and typescript\n\n## Example\n\n```bash\n// using commonds below to start and test the example server\n\ngit clone https://github.com/Cody2333/koa-swagger-decorator.git\n\ncd koa-swagger-decorator\n\nnpm install\n\nnpm run start\n\nfinally open:\nhttp://localhost:3000/api/swagger-html\n```\n\n### Requirements\n\n- Koa2\n- koa-router\n- babel support for decorator (or using typescript)\n\n```bash\n// add [transform-decorators-legacy] to .babelrc if using js\n\nnpm install --save-dev babel-plugin-transform-decorators-legacy\n\n{\n  \"presets\": [\n    [\"env\", {\"targets\": {\"node\": \"current\"}}]\n  ],\n  \"plugins\": [\"transform-decorators-legacy\"]\n}\n```\n\n### Detail\n\nfor more detail please take a look at the [example koa server](https://github.com/Cody2333/koa-swagger-decorator/tree/master/example)\n\n#### first wrapper the koa-router object\n\n```javascript\n// router.js\nimport Router from 'koa-router'\n\nimport Test from './test'\n\nimport { SwaggerRouter } from 'koa-swagger-decorator'\n\nconst router = new SwaggerRouter([KoaRouterOpts],[SwaggerOpts]) // extends from koa-router\n\n// swagger docs avaliable at http://localhost:3000/api/swagger-html\nrouter.swagger({\n  title: 'Example Server',\n  description: 'API DOC',\n  version: '1.0.0',\n\n  // [optional] default is root path.\n  // if you are using koa-swagger-decorator within nested router, using this param to let swagger know your current router point\n  prefix: '/api',\n\n  // [optional] default is /swagger-html\n  swaggerHtmlEndpoint: '/swagger-html',\n\n  // [optional] default is /swagger-json\n  swaggerJsonEndpoint: '/swagger-json',\n\n  // [optional] additional options for building swagger doc\n  // eg. add api_key as shown below\n  swaggerOptions: {\n    securityDefinitions: {\n      api_key: {\n        type: 'apiKey',\n        in: 'header',\n        name: 'api_key',\n      },\n    },\n  },\n  // [optional] additional configuration for config how to show swagger view\n  swaggerConfiguration: {\n    display: {\n      defaultModelsExpandDepth: 4, // The default expansion depth for models (set to -1 completely hide the models).\n      defaultModelExpandDepth: 3, // The default expansion depth for the model on the model-example section.\n      docExpansion: 'list', // Controls the default expansion setting for the operations and tags. \n      defaultModelRendering: 'model' // Controls how the model is shown when the API is first rendered. \n    }\n  }\n})\n// map all static methods at Test class for router\n// router.map(Test);\n\n// mapDir will scan the input dir, and automatically call router.map to all Router Class\nrouter.mapDir(_path.resolve(__dirname), {\n  // default: true. To recursively scan the dir to make router. If false, will not scan subroutes dir\n  // recursive: true,\n  // default: true, if true, you can call ctx.validatedBody[Query|Params] to get validated data.\n  // doValidation: true,\n  // default: [], paths to ignore while looking for decorators \n  // ignore: [\"**.spec.ts\"],\n})\n```\n\n#### using decorator to make api definition\n\n```javascript\n// test.js\n\nimport User from 'models/user'\nimport { request, summary, query, path, body, tags } from 'koa-swagger-decorator'\n\nconst testTag = tags(['test'])\n\nconst userSchema = {\n  name: { type: 'string', required: true },\n  gender: { type: 'string', required: false, example: 'male' },\n  groups: {\n    type: 'array',\n    required: true,\n    items: { type: 'string', example: 'group1' }, // item's type will also be validated\n  },\n}\n\nexport default class Test {\n  @request('get', '/users')\n  @summary('get user list')\n  @security([{ api_key: [] }])\n  @testTag\n  @query({\n    type: { type: 'number', required: true, default: 1, description: 'type' },\n  })\n  static async getUsers(ctx) {\n    const users = await User.findAll()\n    ctx.body = { users }\n  }\n\n  @request('get', '/users/{id}')\n  @summary('get user info by id')\n  @security([{ api_key: [] }])\n  @testTag\n  @path({\n    id: { type: 'number', required: true, default: 1, description: 'id' },\n  })\n  static async getUser(ctx) {\n    const { id } = ctx.validatedParams\n    const user = await User.findById(id)\n    ctx.body = { user }\n  }\n\n  @request('post', '/users')\n  @testTag\n  @body(userSchema)\n  static async postUser(ctx) {\n    // const body = ctx.request.body;\n    const body = ctx.validatedBody\n    ctx.body = { result: body }\n  }\n\n  static async temp(ctx) {\n    ctx.body = { result: 'success' }\n  }\n}\n```\n\n\n#### using decorator to make api body\n```typescript\nimport Router from 'koa-router';\nimport { request, summary, query, path, body, tags, swaggerClass, swaggerProperty } from 'koa-swagger-decorator'\n\n@swaggerClass()\nexport class subObject {\n  @swaggerProperty({ type: \"string\", required: true }) Email: string = \"\";\n  @swaggerProperty({ type: \"string\", required: true }) NickName: string = \"\";\n  @swaggerProperty({ type: \"string\", required: true }) Password: string = \"\";\n};\n\n@swaggerClass()\nexport class userInfo {\n  @swaggerProperty({ type: \"string\", required: true }) Email: string = \"\";\n  @swaggerProperty({ type: \"string\", required: true }) NickName: string = \"\";\n  @swaggerProperty({ type: \"string\", required: true }) Password: string = \"\";\n  @swaggerProperty({type:\"object\",properties:(subObject as any).swaggerDocument}) UserInfo:subObject;\n};\n\nexport default class Test {\n  @request('POST', '/user/Register')\n  @summary('register user')\n  @description('example of api')\n  @body((userInfo as any).swaggerDocument)\n  static async Register(ctx: Router.IRouterContext) {\n    var params = (ctx as any).validatedBody as userInfo;\n    console.log(params);\n  }\n}\n```\n\n#### avaliable annotations\n\n- tags\n- query\n- path\n- body\n- formData\n- middlewares\n- security\n- summary\n- description\n- responses\n- deprecated\n\n#### class annotations\n\n- tagsAll\n- responsesAll\n- middlewaresAll\n- securityAll\n- deprecatedAll\n- queryAll\n\n``` javascript\nrequest // @request('POST', '/users')\n\ntags // @tags(['example'])\nquery // @query({limit: {type: 'number', required: true, default: 10, description: 'desc'}})\n\npath // @path({limit: {type: 'number', required: true, default: 10, description: 'desc'}})\n\nbody // @body({groups: {type: 'array', required: true, items: { type: 'string', example: 'group1' }}})\n\nformData // @formData({file: {type: 'file', required: true, description: 'file content'}})\n\nmiddlewares\n// support koa middlewares.\n// eg. @middlewares([func1,func2])\n\nsecurity \n// define authentication method, key must be same as one of methods defined in swaggerOptions.securityDefinitions\n// @security([{ api_key: [] }]) \n\nsummary // @summary('api summary')\n\ndescription // @description('api description')\n\nresponses\n// @responses({ 200: { description: 'success'}, 400: { description: 'error'}})\n// responses is optional\n\ndeprecated // @deprecated\n\n@tagsAll(['A', 'B'])\n@deprecatedAll\n@securityAll([{ api_key: [] }])\n@middlewaresAll([log1, log2]) // add middlewares [log1, log2] to all routers in this class\n@queryAll({ limit: { type: 'number', default: 444, required: true } }) // can be merged with @query\nexport default class SampleRouter {\n  ...\n}\n```\n\n#### validation\n\nsupport validation type: `string, number, boolean, object, array.`\n\n`properties` in `{type: 'object'}` and `items` in `{type: 'array'}` can alse be validated.\n\nother types eg. `integer` will not be validated, and will return the raw value.\n\nby default, validation is activated and you can call ctx.validatedQuery[Body|Params] to access the validated value.\n\nto turn off validation:\n\n```javascript\nrouter.mapDir(_path.resolve(__dirname), {\n  // default: true, if true, you can call ctx.validatedBody[Query|Params] to get validated data.\n  doValidation: false,\n})\n```\n\n##### runing the project and it will generate docs through swagger ui\n\n![image.png](http://upload-images.jianshu.io/upload_images/2563527-4b6ed895183a0055.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n## License\n\n© MIT\n\n[npm-url]: https://npmjs.org/package/koa-swagger-decorator\n[travis-image]: https://travis-ci.org/Cody2333/koa-swagger-decorator.svg?branch=develop\n[travis-url]: https://travis-ci.org/Cody2333/koa-swagger-decorator\n","readmeFilename":"README.md"}