{"_id":"@herbsjs/herbs2rest","_rev":"32-80b2034d5138886fd95fd27a3ea2e6f4","name":"@herbsjs/herbs2rest","dist-tags":{"latest":"4.1.1","beta":"4.1.0-beta.12"},"versions":{"1.0.0":{"name":"@herbsjs/herbs2rest","version":"1.0.0","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@semantic-release/changelog":"^5.0.1","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/git":"^9.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","cz-conventional-changelog":"^3.3.0","semantic-release":"^17.4.4","babel-eslint":"^10.1.0","@herbsjs/buchu":"^1.0.1","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","express":"^4.17.1","mocha":"^9.0.1","nyc":"^15.1.0","prettier":"^2.3.1","supertest":"^6.1.3"},"dependencies":{"@herbsjs/gotu":"^1.0.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"598a95c1243076d969b0f6dd55068d5058d80bfd","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@1.0.0","_nodeVersion":"12.16.2","_npmVersion":"7.18.1","dist":{"integrity":"sha512-b5z+7a58rlyTjPIyMEf9HQ1beaIAVIcx5KE+AUd3pT+TMKRawLp/suSJJwD0pvAtN7Q3Vk2IVBj5vj44J5vdCg==","shasum":"8ae2cb29721edd565781aecaad2e3ca5f8e3fc6b","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-1.0.0.tgz","fileCount":32,"unpackedSize":32409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0z2KCRA9TVsSAnZWagAAKm0QAI0TOpKHiBq+ex38vkj4\n9SGnG87sNPVkK2nUL7MYwex5pfCYX1dzVU7DmNWr9tFbAHFkD9dfEIqRjeSL\n4HoO3HAk2O/FWcKC0Q1BCj1T+calyGLBJAiUMwNE51P2rT5ZUhKAsejVHiHt\nCUZdsW5Ov1qQnLNriCyeUjOu5T1eCxbQiV+qkR+cL19CL5PqGJ0iAGGzBYZY\nD+IObUSsO8EnOQqBEwqoR2HX33GOtpZz+k4TuNUe/QVI5uZ035FaoZsuMDv/\nzM/56wD98iEjVv0/MPNXZsFoPYZ9IaIjOzN9K/DQ0d/XveGS5GEyb25vJF6P\nCExKaQnqhb8uIn9y3FmNtw4SJWUHAboSlNupRTOn4BaSbOJisQoeYCMrnAOG\n2PYvDi/e52wn/87gJ5wyVedB22ENCAJKuBxKrJU2c8y5LEVexRTu8sOLUhqf\ngGCc71/el3fLpnmd8Jtne6/VOjyedcbuQFMISRLbWWJ7/vUOBNnAiuoni2Jr\nri03Ue8IhyrMc9NtIOlyNbJbRkurbElmZqJkzQhOGhb9jW24Mo2J94kLvSeb\ntYKiE7j4KR6N09XhpQGZrecqW26r10Egtm2kGcIziNyPwcDUr+g2PTGJWg/R\npfQhScpyi5TPhvUEwxRMuKdKhPiEjxMzAMWfKbHewzHD6Osu9XvX+hApXLnb\nEFdF\r\n=xHhx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCstYMguwMZm0kSfj94bP6mVyryXcSPn91khUkpfQcHRAIhALJPPRizA7hZqG9kMXV6J1m0ccdZyV0UDHbfODxAaKQE"}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"directories":{},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_1.0.0_1624456585662_0.8818314517092252"},"_hasShrinkwrap":false},"2.0.0":{"name":"@herbsjs/herbs2rest","version":"2.0.0","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@herbsjs/herbs":"^1.3.1","@semantic-release/changelog":"^5.0.1","@semantic-release/commit-analyzer":"^8.0.1","@semantic-release/git":"^9.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","@semantic-release/release-notes-generator":"^9.0.3","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.1","express":"^4.17.1","mocha":"^9.1.3","nyc":"^15.1.0","prettier":"^2.3.1","semantic-release":"^17.4.4","supertest":"^6.1.6"},"peerDependencies":{"@herbsjs/herbs":"^1.3.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"9dbf7ecb885cd05b30b2a69a0fef6a2872c44bbd","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@2.0.0","_nodeVersion":"12.16.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-1uTsZBvCtKcfO/EQUIhveJvqDc3u2siLB1wAIs5df/3GX5Rm40JC6mG7XkqxgLhCUuQy2lPoXlZIko9r3q1lYA==","shasum":"626f4950336bc5ea16f74e99278d592eea7e1d60","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-2.0.0.tgz","fileCount":32,"unpackedSize":38123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhq3bOCRA9TVsSAnZWagAAkJsP/1dhVCvOakBLYu4c8ZBU\nU21lYQ8gDDRwTfPzB0dqQzSZO5oaeDMSITsSif780QQzh6LlF07Il2IeB9OP\nLrh+TIcf1mx1l6y5Ftc64j2o32YywZ2jyX8HwbxY23qSM/GkU353l6ABb+U+\n4AqxW2odbNuDIbvYl0vDxjcyEKOwF5qbMyP+14y6VSjX7Pkxm+nmEZGWfpLL\nkncd+PR6BBpVVWYhWYV4FsSAgAQAweXt+iL//mepr02nMd0cXlemS8lCvHw7\nQvvigCW0s91K/iU71416v22o+fdCMLJ+JKsST7XoUL52QDr1p6/Lxlx+C+Y0\ndEdFFT8k8JW8ekohUniOSh4bX8R05jE6AIWq0DB0Hvmls59GCadD1A745aXu\nQiDuX5bD76MoER+owL5Pustz2JmVv/YNPwRfe0NYiHbd1cBACohB5K8EmVSL\nuufr8sbi8ssZnCDXuAyyiXbRQJgmd5vbUG7+20Y5kMYZN8asyoBJL6ia7hdc\n6NKmpsKaZpBYzTjx+tevmdmILo6KyYoO5pptt6jR3Fe89xoyy4Kn3eg0K36W\nTusYtdMeh2PxxgtHLG8z50YBFi0VWfwDNr71iW3klLzTdU71+jFqSWghCmpN\n3NrrBSyr7mCMV8kgXGxeFhQXp3g+27Hu1fmv/lXzTMndl+lIABlS30W0R1DQ\nq1aq\r\n=f7ZC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGR9mgFdjjQ+S4dmQ5XX20HdmHlxTuTX0zkHp5n+TWrvAiEA24TchuzY0XZch0IFfBDJu4dINxxzfaJJiKtSJN1zmtE="}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"directories":{},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_2.0.0_1638627022487_0.6128452208698496"},"_hasShrinkwrap":false},"2.0.1":{"name":"@herbsjs/herbs2rest","version":"2.0.1","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@herbsjs/herbs":"^1.4.2","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.2","@semantic-release/npm":"^8.0.3","@semantic-release/release-notes-generator":"^10.0.3","@babel/eslint-parser":"^7.16.5","cz-conventional-changelog":"^3.3.0","eslint":"^8.6.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.4","eslint-plugin-prettier":"^4.0.0","express":"^4.17.2","mocha":"^9.1.4","nyc":"^15.1.0","prettier":"^2.5.1","semantic-release":"^18.0.1","supertest":"^6.2.1"},"peerDependencies":{"@herbsjs/herbs":"^1.4.2"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"fa1c39f519dc951f89d8c73917b764bfaaafdd37","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@2.0.1","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-LwPoC/NfEEjEK4CpWGi1UxtYZsO8f9EReXlNanJX3BOwmKPt7eH+FYdvXSb0qIzQVQ7eyT+/JcE1Se63ZM2pBA==","shasum":"39073ae180d70c11878bca7eb1739e126daf4164","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-2.0.1.tgz","fileCount":31,"unpackedSize":37686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4vNrCRA9TVsSAnZWagAAi64P/Akvvsax5hosjMGgHaYj\nRQAoHlSj8AJwCnHn6kNMnT8GdEAxG53Ca/PcL00K31rYTmIz7r35XcRcIYNo\nRYZMOxlvuOlAo3/aM8hflGeifYX+jz6S00wvjWDg91bY0xzCVbiRxPUk3spe\nKGg5jmgMsidUUaoVrx9NNWvrg3CsJJqn6ktwiXhUo+FtTTA8x/Ac89GwDUTK\nlUORVADRRZ3jWE1sYMPzMVaKtdJUcEP6aBueAj7To9j4Nk+RWgu2JRck6s3Q\nbbHzwhQCoKHUitGYzpsUtzK7oMKCIyZcqF/2GatW8/cfls6ar29PevQqSl05\nkGCYGdzPDf/D1BdEXiQbUZPVED/pMMb2gB5oX0NZUFbvrocddsMq1BnflKFT\nY4ebTPu5/jM/7LU6IFJxcDEpxuCjibWilYBqNpb6Q6A1sJTQhupGTmZx7Yjz\nLnbLbu+tDiik1RZVXPIJROBGOGlnnWZBgjWokmBFbBH7eM2ONqQmZnc6n4tl\nwTFCcxv+PEj8Ves4adeZk3BEUkvtSvM8MFUSOkDC7hh/j7SFl1dmUu5hLZEs\nGFRyOYX0qG5L/XZpOyvqY6JLGljfo04n5/7knvbfETG/o4Z4XTV8wxaq/kw4\nnLSrlXInzWvL0Tac1+51EOKU71ZxRo3XKCfNum0Ob/HBpn/hhrRU1D2iYzHi\nOvRi\r\n=97Un\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF814A7+u82FVJsLegeZHXTLhSI6eNX/ZmmhXGdcTwygIhAOoU1le7ajKvcUExvgdgfy0ki8rXTdRb7RQIMbZxVRsr"}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"directories":{},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_2.0.1_1642263403500_0.9866850481676928"},"_hasShrinkwrap":false},"2.0.2":{"name":"@herbsjs/herbs2rest","version":"2.0.2","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbs":"^1.4.5","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.17.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","supertest":"^6.2.3"},"peerDependencies":{"@herbsjs/herbs":"^1.4.5","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"a056e0acee7ebfd7179e9ca82af258cc8683dd1b","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@2.0.2","_nodeVersion":"14.19.3","_npmVersion":"8.12.1","dist":{"integrity":"sha512-eDxuxQaIy42r97ou6h1wCg9J17q6PkhwBlWDyooVX/sEfHbGF9Tm2XofLHz4sq23VNvGM7Wn3dM2b1Us1BHNeQ==","shasum":"3b02e53861997a4f6d5aaf1c16ce5b024c244f02","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-2.0.2.tgz","fileCount":32,"unpackedSize":38822,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAfgZrhKCUuOHJWQqqMx+7sXze+8LwUpNpYY5envMwBvAiEAtd+n6kebRYrZ0yVYwXVMdbyI8nuDtqg5HRCI3crzmJg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioLXAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpANA//R+b8OgMDZUlKXK8cMYIlC0LC3ldVEu6sxgH7mkCgJ3UNFlH2\r\n6npHsDTmqtdWJEanX4cACQHMQz7q9V98ryulKvTaiiJZaumytlEckE7i066T\r\nH+hlLF2McXKYwAFv2mwvUOMnDr8Mlw4UlkLTsYISBBzAxsSz+W1rBRIcc3s7\r\nvAwcBTF0osOAJ5H6Q+SD5uNWbGBKqpT6lB9PmwaFuWS6i283vX+/Nnw4GAXt\r\n31OEXqTI/q9p8LisDI62WFJ8RXUN9YLim2hSUHHiNnGbFwbeVJOHuvmF33/d\r\nx8MoAf9xfCJ0G0WADfwQj8K3Y2UlWfvS/kS+wm3bcgY1kWrorjOR2GuWwqRf\r\nYEerV7PdvXU3k9y3UFxgDwj/nPmjt+aOX9PRMned6JBEiwBhaQfSRRMQ8Yjj\r\n1ROB2LfMsv8pioOLNk+RXIO0bFuBO2WaMbW6ixF4C6epD8VO7xUHVJMQykuk\r\n72eZWbCN0xTNS1ezhdqfmYCnHCg14Y6Y2PngiRs7Ejj7o9mZ/fwSXhvnVEnB\r\nUBkPMZ9wRg6CVaxy0FYouXUEkZQswaQwFrYT+qFTb02tVNTVqZR4Jh78lMjz\r\nWoOXg2kdk0bETRGX+NWkI162+lAie/GaYBxaqMfMhyfRaiXctCxHp5pZlo9s\r\nJwLqC3d6mXlBIUvNeFktX2mkAs5zl2+vjH0=\r\n=qVJc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"directories":{},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_2.0.2_1654699456395_0.09518847194605207"},"_hasShrinkwrap":false},"3.0.0":{"name":"@herbsjs/herbs2rest","version":"3.0.0","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbs":"^1.4.5","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.17.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","supertest":"^6.2.3"},"peerDependencies":{"@herbsjs/herbs":"^1.4.5","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"5e35f706ef9327f1d90aadf794db121cdef3ee40","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.0.0","_nodeVersion":"14.19.3","_npmVersion":"8.12.1","dist":{"integrity":"sha512-VXEj72q1yv8JWjoPD9PBHUp+jZawdE2AmNPGAY/XRgPIbzaGWPp8/RmBnlxYRxW3BW9WnSwUVt+qnoC0UPYx+g==","shasum":"1fc690b2d94c91da9156bd1eb332f3be7cdf1bf1","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.0.0.tgz","fileCount":32,"unpackedSize":40001,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6ZXmb4Jp7uSCAydwmkkGWJKOdady58bTGJ/VBFyUQVAIgS41maljj6qAEvhuzpyPQGnvXK8WYFidnyeP8xa0FMYc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuiB8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqH/A//eETqjzbQ7YBSvsVf00m5ZFHCrpV1MGg7mh//ZWAB8tCTR0rH\r\nrYDtjeXH2MTuPFxVp8woK0Ljx1SciYzdWsHB2AzDrVL5vpGjGUSxQqnxgQt9\r\ntYtCmef+wdVPcltVrblBjp+jxSI1TfG1IwGBg86QnYQoaBrIq3abMvWpwVNT\r\nbk1Sse+ZDBdWzDYc4taiMugT4oRzLKk1vYkMLxMUq+sBWfXkey72Hz39VS4d\r\n4d3QatZAJeGDfWOinfx5jwh6Vz+9+FCajYEhrfL482qMW47dj9EMNcy2xtou\r\n02gA14zJKZZ3djtEQOpaH91/M4rqcml8pdMJGGWawXasyL/vbluGm2F8ejta\r\nGpDAOT2OcbN0d0cQd7LiRd4P0Q2Fvp93ediupPwrYHbJNTXwzops5izmasIH\r\nMnsESq1m0srzJvaJpsSznf7U492Ei+kN3y+1P9KnIhCYFHSj75dp4pSkv57/\r\nTQ560zTr56NVfNZCxSllk1q2MkdMKuKe6t9VQMf2RvzQmoa9ZhRIEcUSNaNs\r\nrxkqw4dLoqdTc7ZFdeyP9TDyQEi5R3XubIJynkHIVT03sAFfC9CMioVbgsEr\r\nW3i/+aOQTZfCTmzBydp5uItjt4osCmGtdBaX4x1VW/3rnXXZUZ8YTYB9HA47\r\nMGuTQUUijwijmw2Eu+7q1561dYn+G4q2WX4=\r\n=yndb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.0.0_1656365180293_0.24789094603637807"},"_hasShrinkwrap":false},"3.0.1":{"name":"@herbsjs/herbs2rest","version":"3.0.1","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbs":"^1.4.5","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.17.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","supertest":"^6.2.3"},"peerDependencies":{"@herbsjs/herbs":"^1.4.5","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"59253db84da947fa59d0d999e3153eaaa1c77bde","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.0.1","_nodeVersion":"14.19.3","_npmVersion":"8.12.1","dist":{"integrity":"sha512-4BUO+Ws7yj0qm/2zUWeNIribuzhKwi/FqLi68cfYtynmURXDmYi+79RcIBXnQSFxoRDecHs5MG0pEnd2W/oCgQ==","shasum":"09e1f317b98715747f622a7bae480bfecc77b937","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.0.1.tgz","fileCount":32,"unpackedSize":40275,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIByV2iK3ZLxxcMKqZ5Uun/+0F3AnfRcFb+MAhEEVGPb+AiEAmjudLXBePdE8aKseYJElIKtM0MlYs+2ybt3Ot+9I2Vk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivNwwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHYQ/9HatcHmUTvAKiHwDVgHAhiZFBXxizTZg6Qto/O3mkjm55mo/I\r\n5tKHMEju8vQMYPqhGZIF/Q+n0UfuKu877FTIekdbS3PP7WwkNfD8YmG0ooIm\r\nCiAjHdJmkPOUGqH42FwxcwUnGCBxT1bifZIN+PEJ9hQdcjoGcKDKDwvfB8N7\r\nc2yIkPReJC8bWYsqpMBEY3IYOgObjFZu/vxxMWCf7KzZY0NtiaK0UQ4NMbNl\r\niYylqh28dDT25U8ePx+xGEdALC7IctMJecxkVOf1BIMprACHXwvq2xn3+4Qc\r\n09wJ3bqOTpiQkV6PywWqOUYAZ8aGCb4wiwkb01vVEZPLm0UqH5jN3AUS794a\r\nruDVfkO8sn8N8NGomlhRBx3mqY/ljiL3qKyeVV3TRTh1nuTGKOPkoE2hEAHH\r\nfGrVqjHBRkD1aXRo0Zt/myB0qbxm8oo46DXkLUp11H4M7BT/tYCBnM9e7Y4L\r\np5xWcSfYES0qpWYOO9eaui6+GbSWcSPbXvGc9IOzHt97I1J79ePLb2fMWorW\r\nl/UlIJdGlMqVx7ndKr2XjQlbyxGR8NsUzIB4djpH++0/g9IHo6Bj45ITBGip\r\nqxq/MZuqgKrlY/l+NQhgyO5lTT4N8kHSotaG7l8gPQkbyBl5STBa/DCCtPkE\r\nLE/tr8tq51/kcHONLQwudTiy2gkYcW2hcU8=\r\n=cg+n\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.0.1_1656544304181_0.6688458733292155"},"_hasShrinkwrap":false},"3.0.2":{"name":"@herbsjs/herbs2rest","version":"3.0.2","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbs":"^1.4.5","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.17.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","supertest":"^6.2.3"},"peerDependencies":{"@herbsjs/herbs":"^1.4.5","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"1faba9a1c315f9c3fb80be9a33a86c45dca7befd","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.0.2","_nodeVersion":"14.19.3","_npmVersion":"8.12.1","dist":{"integrity":"sha512-bQn9UMejPnI2s+eG/iWr+dESWJN26LuXrGoeLKUm07jDJvFwEVnkFEfhzCnZ7dozy5fUR14icnX5MpNgP+0fOw==","shasum":"a09c6f80bd876799155ead4481a4fbef960919f5","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.0.2.tgz","fileCount":32,"unpackedSize":41352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGtI4+vFf7a0Pz9omPhG0jEXRtVjyCgD3RjGqjqtB0iAiEAtGtzkbcY9J2wSZNx2RUqSzXV1kMWY31xisZPL46aQwY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizIj5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+ARAAkWDSRvPD4CFde8uIpo9N0Wf3Wh/9TmFmkdlH9hJ4KuXlA6U+\r\nTwJEZvviBpy5MJjKyxoUXlGvCpx+g4XPqILlksLt1jo7Ci18E7Etrj2RUsdx\r\nmGurE7z3NrKCJMGggkSpB0IAZStQ6Yfrz+8MsaVZ8WqGt8JElhinKcrS+ikh\r\nhQ/qEo84OrrPAidsQg2tX2e/YSCIiJz/HPgjZiRKvil/3xeFx5D9dug22cvr\r\nHF5rTIBT4yT5N27biVVnU5nQaqybTyLt5tophIplXKm7bXvciVhLuCt0eecL\r\ncknl7pF7q0js/zR3anuWySmmM8uaOVGkN/fsGxPztTGAqZzEiZh9TzouCjy3\r\nmTjNgk52PRZf5YAA+oosF9oYY32m3jpYEzEqJdowxlcRt+i912TSDtFGXKZo\r\nlT8AX/00bQT9w/9nR/eMDgIQeFeKXujs3KBkdzTw0+A5iuMSkCdtD4mmNZ4L\r\nU7ye6X4VAcdIITZHPIkbIx/mRTH2vdr6IMcraqKq52h0x3PAcjbznkfZ9QJW\r\nEqALghcHDU6cVc42Hy9PuNKxkQG1R4gPyr0qHcfpt85BGjquKumuO641BAR2\r\nNOjGa6muzC43NOFhSQqYBhyc6sEHbDAssZwoMPU5zcy35c4SKM28+Wr9iVuw\r\nVTRKVWPLvSpuIAtai1ScckrNSyFnpQCuC20=\r\n=iSib\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.0.2_1657571577662_0.07523143762136453"},"_hasShrinkwrap":false},"3.1.0":{"name":"@herbsjs/herbs2rest","version":"3.1.0","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbs":"^1.6.2","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.5","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.22.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4","@herbsjs/herbarium":"^1.4.0"},"peerDependencies":{"@herbsjs/herbs":"^1.6.2","express":"^4.18.1","@herbsjs/herbarium":"^1.4.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"f49af5bf8cb079f154ab3c2bff47d7398fcbccf4","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.1.0","_nodeVersion":"14.20.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-0ihhDD9BEWu0dK8wPWYNmkzZI0PAI9n3ukgDYypAv5Q6Z3IgxXhCzFfZq+YQDagxRLX2vFs1ZRMmYGstYntTlg==","shasum":"6f6a361cf9bcd01a26409affd8caabc28dc8787a","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.1.0.tgz","fileCount":34,"unpackedSize":47710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8CWGmePkTHXuHwtIkncVE9N7r1jk0R8lL7roCi9S7LAiA97ZjMtBevwyWX516uYjDCWIjzFI/7Z14iYmU0S6aRpQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+7KsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRFA//UM3zQ0VDnZJQbMycSRfIay2oJCtC4BiGmkhhUutjV4NbIP0D\r\nHeyszvQhg40BtEhOTAbBT/KAd6UunqPQrXlP4r6orUwtXmfL5g+pLKd/TYke\r\nGzZHi0RY1tFvgT1j4XCLg2AdSkr3I1I33F1q/yp0bOKAPw3JMfMIXpt+p0Vm\r\nYaHoCdpzH2ekWrfCLtm+cjgh+pYByJQVpMKO7XFDX9DsbfHsXVekoKgcjCKV\r\n1WdM+rDyKN3hKs6uapQE6AsKaSK7AZV1bELLoQzs/PPRL+XIfOpDoQOTgOpD\r\nbR6aHTThGSLYl6y8OPE+wHqjgOdqdWzPEAIYqGlT0/lGROLykzRN3FlvAahD\r\n1XnhyeUDuAduH9SHvRRDuCaIjYlS/tMB/wxxbKGQWBZA2vmvfAr06IKnlaG5\r\n4V2GPKBHjPSCtlKXiwYr5IhMtWtz36zzrxcdkzbk9hI4sKrzlElsLNkZK6dL\r\nLXY6uC6/kjSxtGqzo6wGg/93HepmcpSRGW9LE8rzAQdoUNVLdoBY0BbtKJIo\r\nvBHtGM5GVUi1KMAe1MjkWX4hxSeb0usGcnwwQahjEQJPwkAffJvy27qF/OTR\r\nNhafU7gwQADrvGXMonv2pGCvtwRtrSnOqVSN4TlcDPwa49mAE3ibWRiV8pjB\r\nMNUpy81j0MT35xBasnCdBUkYtykS7I+6AKw=\r\n=oIkQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.1.0_1660662444714_0.14552857382067175"},"_hasShrinkwrap":false},"3.1.1":{"name":"@herbsjs/herbs2rest","version":"3.1.1","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbs":"^1.6.2","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.5","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.22.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4","@herbsjs/herbarium":"^1.4.0"},"peerDependencies":{"@herbsjs/herbs":"^1.6.2","express":"^4.18.1","@herbsjs/herbarium":"^1.4.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"72efff34c6288e7192c23110d679d20afb394a2b","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.1.1","_nodeVersion":"14.20.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-OL1wXe65gOxrFhqkQEZRJJtoYfa50O71gIuJG9RYb3Vl+jjyT5nLnmUL1Vw3T/L+xLOcFPndU0M1YwGSfTpSLQ==","shasum":"9aaed52eac7ec9bf01410d198b4e0982ff7f65c4","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.1.1.tgz","fileCount":34,"unpackedSize":49726,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBtpbnPUwdQscXknbPcmYbT3cCOtillJl55iw72js8t0AiAFr8q11za3LDixi00FbSNhXjeZiLlFlicGH+xfp2P0EQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjArjvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbyQ//TYR8r3QBBa09Z/IJMrBKurX4yZIJu5vCss3QLleTOZfyHQex\r\n0NcXoOKkTl6jb9Xve+jYxgwfyE0sVtIufKPa0hShCrugADomX5BmTS03x2FA\r\nM0Vo17REhWK1S6Ty/Q3U8/pTiB5zk9x4stO4jCsvHsL0+Uhb9kA3AhaAStOK\r\nj5DOV/FiZ3VVlN/aU2FsSZ9C7eRm1K9xZiuMCjDeg7cRX2GgGHQO/S0FPn7H\r\nF9qEaUst7Qd/gitwaMAe6t8zkqbW49dB4hS34FTe4a9Jt3bVE36XEVPcILrI\r\nB9rS7qYaGUBisSUN/+Ldg3DsOwfF/kiWtGo+XV0C6no+KuGD1ZNf+dZuNeJc\r\nnxYAEfDKHOQuqMZNhEFTmVw+TI6P/VekTb2cCTg/NmnvzHjXdk6Wosc9unb3\r\n9PiMxdE6vzXhE9H+skQL+Eo9GtgeGyX6TLpGg48BmjgS1zfYcogSgJuXQ9k8\r\nBnrnwA2JyeDU+e7sIhAHO7u3DwV7PWF4OcLcrveIbACCgq0jZ3VmxIWxerJW\r\nYco/KoYUhQMtG6ozJYHF/2nKb2iYqfvaoJzzGQ1mrWIeuweExcnUpQCaoeEW\r\nvMZNyGziDoMOZP955OJXfVsGAWBiooF8liKchCTpkdMVoGLxxaKYG9RHvUcl\r\nn3L5y091qx3qA4AunqYg3SD4x8Fzd4oM5ck=\r\n=GYws\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.1.1_1661122798918_0.27882646422263657"},"_hasShrinkwrap":false},"3.2.0":{"name":"@herbsjs/herbs2rest","version":"3.2.0","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.6","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.5","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"44a9a6f3cac00fa001e09a9242f339fc93e3e2ef","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.2.0","_nodeVersion":"14.20.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-Azr9cdZdCZCHTQrUFpeji5rQ31pQUilGBY11HBPEXN4V3/M8ayVmTatXxZcTZIXz9crFgwgCNoqTKvjcG2Assw==","shasum":"a68496d4c37aa8d8d345c7d6d5f79a88effa362c","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.2.0.tgz","fileCount":34,"unpackedSize":50708,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDE+5KGeCxXKtUdK2cVXKDcUv9/azU73UAFY5UxxjvoZAiEA1CaBKb1sLS6X/VcNnfq89WU+Wa7d8Dvm2kJcU9BQUEA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGR+DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPvw/9Ew/e35IUhWT3jTtjm1uP9vhsdaiPHCBHnhBhmBwHhjMxTmeF\r\nIh+hhX2axb0z90ec8iiCkwOVxMZGwbnyFgAEvNJTcRPJbw+KcSkTdYZFsDmR\r\nukTbf30sDi27QeHrIe/3HaJokzQRNw24tKkp4/2nna1eA5ukC6Sm2ifGL7XR\r\nQuipUG9vMeeI1/kd37Ai71fU+msdcqPlrLWhNM2onA3LPHWNYCQ3AlM0Lm8H\r\n0im8p5Yk4RxDAUa3DqAlN8ejzcPmH8D0oK7kCX12AOPQbuBw6p/wFrg7eajc\r\nxUSHJwYO3gX3+63OA7nMFPkDLG4gEVjIGYgtjPmSFyJ3NF6KpK//0DdKVlZP\r\nu23IW1zHGXLUon1gvoNZgD8psI2lvY+sUESXzFWjwPO64xhBonOPOf8XfECI\r\n+YuttfhZjQdLE6t5HTSR1eDwnPLO/mmDRxHAdjpr/THlRJ+1PFCF4dkd0sEW\r\nkveWcKToumk3i94/n4eWXuLmC/3MSq3IkA3doXDJLq/VgV6/W3HgE/19fBrM\r\nN1pY0V7EN85dq6nChFPFTm8rob3CQA/3z/1LdPGt8jmEUx2TZ0dSCYh0hC7F\r\noO+TwsvUcdWCMG2+MmznmGcG4ip6dZKK8SoVyFddYfnNPZsHK8waZOLYaxq7\r\n2zxn6QrDktO5pIIGo528hPMl6NFdQi66zxQ=\r\n=9P38\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.2.0_1662590851238_0.6399403571709612"},"_hasShrinkwrap":false},"3.2.1":{"name":"@herbsjs/herbs2rest","version":"3.2.1","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.6","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.1","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.5","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"27f2dff4a5dd35af91f72699f2f58c8985a89828","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.2.1","_nodeVersion":"14.20.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-ZsJCLu+9Kz1ftQsIYlkHpri3AWv2Sx6Tt66iq6tg8JFJNGZwPEaK/m2855l29tJ7b9SnYwtXprPPCq4Q37dktQ==","shasum":"8d8268d7060d4e970cd3d41efc111aabcec21a9f","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.2.1.tgz","fileCount":34,"unpackedSize":51118,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWhfjXX2SXZfpwsBR536TxHWvGbnTdh+/MFUfgmvn9oAIhAOFCPd3EwLic8HcQ1R0DIOXLc8egO0Gcu01esb6k/Pfn"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK4mCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgtA//bIpXJcPaVgHlrCFC8XCZKWyJB6e7vOHBPo/jqwzl4jZ4UNMn\r\n1uxsTs8JlzN+DfogFZ/NA0dZQ5Z+2wTP3Bh+tA7dlzu2zMY7Rd9v/oiPtDjh\r\ni2ude8X2buRB0MKF/nACdizksWKExXNiMg2SNMlCVZvWKCuLD6RhmbWstkAZ\r\nTCHeVsCb4QXhn0o4Ue05XJJ1luCscZpYZGQhe5bABv4zsq7pOcoqc/Pc6mVj\r\nwx6WsQ2PWBW2iCOGBgCRia6hVAafBBIvv6SwvDXyaH4XnIzzevC251tT43oM\r\nbVz8ady+MGe5ixl0zTUV9emNLiPEQ92eWAH0ors2DHfZGdcYsJ1ROKPplU6Z\r\nm2kfonJsqp+8b3PcCD4PBcfZBQG3uBXcXphY04mzOiygUN4dDt2iaYfMQuEZ\r\nU9E0iH76gxFt7+3QVk9f38oTqkuN4C07kac1bwrcQqxQgW8AdCEqSuy5cBvm\r\ns/d7McY6uCv0ITsDqfmJphOQnTR99lJ5NaUzkvT0BdoBSq1YEw7OM63TU8pr\r\nTyxgrnfHzNcmMKHSuM4QZmXveGa3WFJ6RtJZLmbpCMmiY12CXyFxLvFxcpXS\r\n+3CssrMN+A3ZuyWMtbhq5GhqLBhIbUzicskKykiNqnZZFUAUk0ev7k4Cx8Rc\r\nGlhXCLUsJtaTBsdc+Z/7eYuiJq19mqI5fbY=\r\n=FFv7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.2.1_1663797634224_0.22922938333800458"},"_hasShrinkwrap":false},"3.2.2":{"name":"@herbsjs/herbs2rest","version":"3.2.2","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.6","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.5","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"c738daceeeafaa540bfdae9ada93014bbf8e9900","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@3.2.2","_nodeVersion":"14.20.1","_npmVersion":"8.13.2","dist":{"integrity":"sha512-HDebdzv+GHYD9N+iv7LI6UprwWDKftuM0OzJ6aukhGb6miAoPvVbx15zPel6Ihhha1EMVev3sYTFhH1xuMVHxQ==","shasum":"3fe554c527fed585335741ec861af42a09918340","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-3.2.2.tgz","fileCount":34,"unpackedSize":52217,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw7UU6+kVG3Matsi/f404lbDiXUdUh/YzdikgOa6tfPAIhAMxuIZH1sFVLiARH9sNGdPegiy49YTSdbj9BEHWXosUV"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRaCrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVSA/8DJJrTbD+R1jbBdCxk/TLadJSdZhrcFEYIbPOzM296ctbpna8\r\nBLghJBWx9WL7NTvbV1VL79+d+5wxKiSubk2Zdqr3pL6nfPPUon+hXknG9jBS\r\nifPCHeHR2/6GJqhRJ19Pmr1X3LrvSWwZu6LdDCkkKQQ1gfiqxg0Ix9zhX/c6\r\nxDNShlDVLBhVsZ1igpfs5YU7myttL1xRjplUEeGagYp1KPSW2339TJtHYVNA\r\n4dzxBdQheBR8ZO4MpIh+pi9F73RWn3jGHrU2mHCNhEldkONra7iNpfmoI4d2\r\nWkz2GYEOYAP3/vYeIyoa2/s/Of86awFpA8fUbdBPetbJ7PVYQ03HcYZviN1E\r\nUoA4fDllI+KOdONluPsbUCbpKXiLE+8KTPuFoS1i/lfxhDXXQiB1vPD8X8gp\r\nGKyW/+eOSW4aDTmA/ud8MoPl1LL3IZ3kPRYXW45Pa9VxmBzrajO6xlGLeVR7\r\nkOJFXpMbG47IjPrwmlw2KzTSlx+u/FRFiQ8ceZl2DCrqSTjuLu3wzD5A7Eee\r\n4tbsCw83ItdFDTL82hTYFDF1S0lqjGoE8+k8J+qGwLDjt8rE6O080KLMkQmt\r\nHoh/WmnmHWoxxcTu6bS8kDMSilEP/TOVISGrWZOuhW0lkErsGAhqklTLfvEG\r\nuo3JyWITC62atO56rokftID1YEXqTEHijD8=\r\n=y/vU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_3.2.2_1665507499413_0.33304787690554405"},"_hasShrinkwrap":false},"4.0.0":{"name":"@herbsjs/herbs2rest","version":"4.0.0","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.0.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.6","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.5","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.0.0","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"eb6f1327ada510e81e713903962677f65b572a75","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.0.0","_nodeVersion":"14.21.3","_npmVersion":"8.13.2","dist":{"integrity":"sha512-XwK5HWkNIHfXCzMs5i8CFhgdf9L0ySNrJ7w52LPvjCc0oczr3h6ouXpU8r2UiNKIOXPrANxN3f8mW6HisRQMSg==","shasum":"f8126af34717610d71a8c7496c0a1adfa7103e93","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.0.0.tgz","fileCount":34,"unpackedSize":53058,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5Sj+mPupgb+b4GiP9qav64yqCayDmX2lBwUfA1zE1ugIgD1vGeYvNaJRTPkB4g6wqfujaV5OtGrKkMqFulzWXUjQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkByRwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrC0Q//TrWSwNzjSmveZSj+GOOHbOjcCodk3kU0e0sOMcBZW2jrKoqP\r\nLfOxDpsfiHWI8Dn58DAkTQGn6xVoXQxBqEqyIQ22bxJPgwqPu/FY13oCroMd\r\nJwxkdEWhnxMYolbdBfwfNcCrE8wIo2zm7u6G4zBk2hlKFBai6tOLPhKT/qwG\r\nqOoh8lyo1voefwygbOD4qOjOCOrUOToEIH32PxrpmwTMUsm6Q/pBu9ilHjBC\r\nMNtdPN8VdY3ciEs/Xo/uBZm9aMIxthvETebCubnXZYaurA08W9vJ9pW4Vb0m\r\nu/wfB/TjU82kTEz8VHzO7RDflVegPVy3/11ZrYYXLRm4eqGSKX/YNXJTvJzw\r\nNsh4zKAu7akDnmlnJsxn5wEFc7YUbiJwdSTY3PQTEKqmKRdxDu8B2A8f+ZGD\r\nMqJM8khopIPGYPcUasBHYHMfGxilS8HDv/GOJaKh0yh6INfyCILgm/NGuFTi\r\n6atxAn0t8uus0hcc4gj+w+/1fjT3Zzf6WfcYHdD3ROAryqYpnbld6n4vrJtl\r\nADlavbNWUB8Xle94vdlxiHlRtofbIjDWG318MjTpn2W2tBte8bFWO7uMBFRV\r\nQE+N78Lenk/59ye32IMQlYPtu4nUi2B73ZX1H5Pwmsyq8MK8SCJPOsNeAJPj\r\nOBrpg2hs5LAlFJ4sSgN5cb0C7XteQpXsxjk=\r\n=6EqN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.0.0_1678189679821_0.5483462302112336"},"_hasShrinkwrap":false},"4.1.0-beta.1":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.1","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"19f1b53c0e15f54e0abdb184d93b518f54f7fa64","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.1","_nodeVersion":"16.19.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-igyTH6ghg1QN2RbA2VNTRXFjpQdX/D6A/vH05mzc1Z4szDV73s8K6GEbtkr9NI/EQAu2re3AMTlflEZMjTZsyA==","shasum":"37af81df99ab6692a2dcf3ef8bdc861c6859fb34","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.1.tgz","fileCount":41,"unpackedSize":134176,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3NC8BqF19zJbNbGsU9nrd/NcBwGPu9/VJFYXqm1D6twIhALerCXEtEKrnjm87IBLZFyKTvXSnuZ3iKnNhXJwGML11"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJNF6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZPBAAgBYrEHjHni4e2pDjnGh5soobhn35s6PPkT0pEPK2KuQw2biX\r\n82Y93S59SAcrdOTsWC8R3/BhlekGO/2AalwpwJmhFFWhb50cDTvN7CjEnIG+\r\nXGmfF5q0/8VMmPk1qUYp2bjtXBYUnYNdsifO9zs3j7PAXaE0VP4t7sB/x31h\r\nY1mvw6qiLpkGjGECaVpZKF0rPDh75Pks1ysmljG9HwDdoWw9TsY1xgHfUREQ\r\na5r1wtuDoGnoc6f8qYpEn4Ha5/BhiIrkeXn4IZlIY3E5NP0GQuqOMD8wAila\r\nqfiN8zYxKgYZrLH+j/68ISPEMYk9BnMrQi3cKSPH7CV+1ElbUmnB2lR+NPW4\r\nQTBA/knD7ASQm4hHukoDYMm4yG203ELIZUf7Fznxd6HYbiMf9ZTxdJKEckJZ\r\n3G1jzVqXxKLkCVBQ4Ea42B950GZDie42DmcXY+TOBhPA7prCWnIAQvBnDFac\r\ncp+rjxlRXskh9KAVGad73LtSEBNQZZVHtskPHdQ9+5NSEi6JrNoxLdTxiv9A\r\n+FYDuemAoYXe2f2DbfTkizIGp55j+cc+PwFFrVnpWAGQWhiTDrS20/z1KnTe\r\nYAHqm4MZE8ynS4UQcWgLiSJFlsg5Kq+PdvWFCxaJjy0fHMQbe7Z1tcn47Rpj\r\nraxLFuuM7rFIqWL/7HPXyXuMEteEdyEsGgA=\r\n=NL6U\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.1_1680134521756_0.40560469387874476"},"_hasShrinkwrap":false},"4.1.0-beta.2":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.2","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"044c8456a166d2c5f5a7aee0544f4cb103b86b57","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.2","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-+cxfEfGTSEpDe33Sd8iDyRLkpgheviqcT1BpeY9aTB4tI6sMYMPWmcFd9hymU6O+pbAns4Jqshb/O5u8jONGNw==","shasum":"f9e169bbab2eac40466c66dca21669dd44aa2f25","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.2.tgz","fileCount":41,"unpackedSize":144101,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4TI1LdR4VGhC2g/Fn/uKPi2LK2rp/8Y084hRN7qN1ZwIhANtLchC4THAwGowAdYvBYsLiYBvULvyefuc99L0UHXjA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOGV1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq87Q//Vz+x3M1R8QJ53jZxZ91KYW2jKBNdxiIwNrD5D5R1zMs5CyXf\r\nh/1AwfU/bgRb6cSaqxHsicVPqaOs8VJ9vjVBRCyF00DB7mnC8EaLcpr0pGIv\r\nHaQxZclaNHHh+11rJgV1k2CrW62E4z9N0dRCWGwFhFOb2letjT0vyg+tc9hh\r\nbrQ89OTQl1AScLDj+t8/vXGj1lbPp+ezAFrQuCFRdfiSq1zrPGOknNmfp/qj\r\nThR5wxEG/avdF1pOEgFqgDIlhab0MejW1TNXdfat8vyBI/s84I101bV8MhZP\r\nm535hAxti6eWStwX7zAaq2GH2iFmmdeLIlpzqE/dQEyrFgwLu8OxqOxIHucp\r\n43SjO/pepAWSfVHadFcIRawiPwWQsRoVJYWGQ4aTKu5IOKuLsCWN5qXHQu/v\r\nEg5rTccsFvoNlEshf/gUrdPsFKU6iyXs1R7tjpD9SkW9/3zNskpBDeBWk7hO\r\n7lEpmL9uLKEHppgI3PspY2tISFkh1cbcu5ifgA4ZRe0f0P0PUTxN28zlIGDk\r\nWkFFiZnKar2/yY0kPtl0BL3gjOx0Em+uG2G8CBWLKbKzmoyS/Uifjxtg4T5Y\r\nj+EUh4is+ul6IJq9thu2/BTO+WRyvWGDuXP4skdyfYbfDriVeheqzKoDtdjM\r\nCaTRdPr6Yg2wHGRsUoGW7+JmUsPBfiJPl9c=\r\n=6P0Y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.2_1681417589606_0.7243322658775002"},"_hasShrinkwrap":false},"4.1.0-beta.3":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.3","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"b13fefbf3fcf8088e0923cffe75331dbde8f8aa0","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.3","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-7h9yIwGMMnd+upTDNQXYgbwC0zw/Alk1hw/0rL07jenLWyDXjoeYkqvauKmfpm1vri2QgANEcbwMq6K08JwTww==","shasum":"87912c2505d7ac6bc409e14abe66b1a0999fdf97","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.3.tgz","fileCount":41,"unpackedSize":148778,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFmn4gK+PhZE7aBP1fqX/Zxor8qNPUnMCHTL3wukZHxHAiBOaaUhKtRvUSQu8km/f1QQhmnLemzvNa3fdeNAKHZ90A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOKdwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNLQ/8DK2dOjVMWltbgYfsTD57RbEnWHA9G03dSdpG6gNhqyEn2lr3\r\nqbTo6kZYcdNl6cG/co8odKxaFWhLMW341XjTY/+INNK9hIsOk9tUpcNJ7ZQb\r\nBnNHLLsfVdEw0YlSGJsOouP4kjBoBvq9ADx0GxBQtDNoGdxWe85ZvLVeIT6B\r\nDbn6oY/EqkMn2b6SWXJ2JfyJFXNeU+/WVAN4nfyYiN1EYm8+DGYxejsnjNej\r\nLRhBBjZYAwPvDdoTo85Pq+FQj8mE2QlJIcrKf3dypy1bxdJfcA4Kn2jisMO6\r\nHe3pb33E5NdKvHLZrku2QPSj53ZrXr6ioKrzR+UvIzfl6QdFtOTRiCTQqtL2\r\nxEZ/kRC6Yj4QAuocwsoURgm805FDuGbMs1YSnkF54YB7jmaG3xznoViwvSbd\r\nLrq+Y35aag1rGMZ0TcjiUxHfHf1kUIukl4BotJEOTWFeN8p9r/N2+fG11nor\r\n+3LWzf/QguudDY8jTv/qL+dI2z/vJKXiT29ySqkCET08OlXFhJ9+e1xwLU3C\r\nhIStek/vkAwCMVXTDkHMSnvc8338rilhtb7Ql9L5ZLz69yirs/Ep78Ih5/ZW\r\nc7z3FkI2YvHnDqSvDvnNRk8deV5iqD3edOoGP4fHHtEHjlVgH+xruoF6Iajv\r\n1AUxLTWEmSrLLtKU3bp5739lYD+T3+sP+pc=\r\n=euu3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.3_1681434480046_0.6119572277084779"},"_hasShrinkwrap":false},"4.1.0-beta.4":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.4","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"f07e0bd88d49f747b6c6d6dfdcef03af8b506d03","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.4","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Ypm1Yw1G/zmWjox4eJ536Lu9UpeEhpnVSmP7H2Ji3hslc4x6imbM93x9sGXScQqK2/8gCsECVhqJsWG2iIeIzQ==","shasum":"e83a925eb6094e3e17d6274e357c9b6b5709ec11","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.4.tgz","fileCount":41,"unpackedSize":149301,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0dltAx7ZBWrCqVVJDiLu2EHcYVv51nYuF9mdiGypQmQIgOxk9dCGe+k0qMxGTLmgamqtqZZ7Tjc5iQVjWmopCrTk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOUSxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/jQ/+JrXQbmYajsWASB1tK1TA6sRFN3LJhOq4i0+TBrqr4VjNwoDN\r\n0RtI/Wx/OjUcOS4n2Rzfe6M+B3bpIO7rD2pOE19xc0YEZKYI9HZqMjnIlJqj\r\nfIirdAlzMHPsFwt38xuxhAWTeXAGVU+0iG6C2HkjA4KOkcWNyxC0oVxX3iZT\r\nLO4O0WH/hF4ZK/iBCGE527RfSNhXitSxzB4dyq76KYThg0fjo3xo4seax6m3\r\nBiwRWY9HGyrk4WoAw+j8OJhchqgZ9e4NTjO1/1Psul+K6cB8V4/i1b61Geyd\r\nobPK0svBiXL1zclSAxdNxrJDzja3WgpeyqHbeFo5ehaYAsshxtPfA99Z8jr0\r\nhIMYU/jmoHOhUNkEd206/+BxkLfHlgB9zIZ4JzQyH1UrJJOV2f31UKn/UJgR\r\n0iYklvvi+BKYyolFpb41oSceV7y/iQteeU30PyW+3WJkd6k7yUka55CHRwXO\r\nYdBRhqIGckUN3bVeO+DxVtXzKA+f1PE35Nt5yF7MdBLs/7i+Y1viZIrLPylE\r\nIOIz960kni/Efk880xiHHtluCNqcKcxqNI+30e859ppoQY+ZBMbn5xzHXfQY\r\ncWDdHzfetswD3iCt3gP+1ji0etHrbct7U0QAwgPPG4LNO3/s/fKITJx85MJl\r\nD9io33jBLDPxrkLw+VglKYHpMVODPv/ztEc=\r\n=jIfK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.4_1681474737262_0.07416767101506894"},"_hasShrinkwrap":false},"4.1.0-beta.5":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.5","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"3070af09517cd0a4db3ccfb1251235fc8aa1997a","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.5","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-AtsP0q+sxKS5obNpGiYyN09A1HxYvTECf7I7UZkOm+MAuJXVospbdwyLBimAjXNUE6XxbwreoDdwgYNEFwTGcA==","shasum":"4739aaf5429a530358c02cf9645e8f5402ab7786","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.5.tgz","fileCount":41,"unpackedSize":149587,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC42w1aSUEiYPOMnFDiOHLj2FX3RgR3T/MftprD7Dz19AiAunNOeuf5GRrxkkSQjhCZ0SACloeI4iwW2VEecDtaD3w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRUcRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiXQ/+J3KhG9/eCcD2GIK6HGxJXDWkQOyq0cnuhG6LgDjEo+8gtwjP\r\nCBhzJHBwoJekNpllMr2/SJjTXdK8YGG7Rr/GsM3GZ7ThdvuHPuwTKZhz1bGn\r\nVVIrlmjlQdVSBBb7p/c5HuH3IjLVZBJW5Wzf3oBdLGuIijOL5xOgAwAphBce\r\nIawJxs/cCUHsDrMYgMY32uW+iA5im25YKqV2F4X7+iNjxJnZe1Dd4VAQql65\r\nVjY76MrtTultiadSiiT2ByVG3kz00Lij4YTIQ7MpNRhD5p4U5hK6X4Y3qJHh\r\nMzg8BBK3uwqalhAfB7/XxG7CGYPY2SnKMO91yUdgc0QW0mh2pDKSoxSu518U\r\nmz28RF3UXfgDxn1jmNBKobMpJO0rc1BI0JyJ1qNFCK5JmG4PUXI5oxQDfDwV\r\nVoAY5j4/fwlpLatgian8u/GgJbdFohN6iy206C4oNv/zLwKGoQabryKVrI6i\r\nIFnNj/yZBtt1k3PpvSKnHQDto8uJfmWqFyR676hqKmnr/imbEbOwIvx/J+0l\r\nrB/SAOnliBwx/Nwz5Imvedtaeifba97WCzNG809/Ugj3KrR2iNllsRM01+o0\r\n7NpdIqTSgCR8RDkukgqWNMLdjDMvABlvaSTETLCaNI9kp9sqOEbs+eqOcyD/\r\nHPm9hd2kNqTFFpP2xeHF8xkH7GYvyzHBs2M=\r\n=4fhm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.5_1682261777752_0.6996357516644509"},"_hasShrinkwrap":false},"4.1.0":{"name":"@herbsjs/herbs2rest","version":"4.1.0","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.0.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.6","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.5","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.0.0","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"053e260914cd1acad1fcee336489c4f93348b84f","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0","_nodeVersion":"14.21.3","_npmVersion":"8.13.2","dist":{"integrity":"sha512-6GYNbF43gHnf7B+vyzVVVX1V15N2LGaCapah71a74DV+nDUeTC8X8x7WuaEjHWT5Hm+HJ9/tEuxgVUGeUq0QZQ==","shasum":"c0aba035ed56c29f5cd2d27aa77a581d24f63c17","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0.tgz","fileCount":34,"unpackedSize":65047,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8kWIdmQs/0JL+VdwCCJ3Po/YqyNVor4OESbcYBuAfiAiB7ORUayi7oqXt5++9BhzCYx+92PM5VT3g8GLoQPgUlXQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRnRUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmravxAAg28o89jJrT8HvrEv7CNqLC1TTDN6VPLoJA4wSh9Q3TqJRK6s\r\nVCgAUOPeJkISUpS12n4Ix360kCnb+bnS1vKAQrnrTNBZO62Z2IfruXD1KkWm\r\nWqgBUyLRl+Flbb9S/kzJP3raVSb/S1EjYhcMO5JWOkiox13xMT0S7eVKPmds\r\nLvqrU1U0h292gDMB6gIFq8MY7g+ItGH7nsS1n7syXv7HxgLJNwlYd8yMp/mV\r\nYicrbX4bwUbo+anfEszsapUZJ960NZ9P8a6pnh9b4FZy1S9+T6xOy1T/F+tY\r\n2szULPmsXNL8GV8R3gvTLDjBlYO5ituPYhzmzoze/VLVNk9dASlkQuCjYYyp\r\nOB8imXNIIQdMmpv2FAYsyx4GelXybH6Wu/JirDJY/yI3w7lK8ovT6wjedj3w\r\nN1jvs0GOO86HtMq12usw0WJz1zF2iQBUer2Gv+4WD6+vOAzP7qaJuXo97LjB\r\n+U390174cBcIVF8QV4GGetw7GQ16F0vEBP4/x5M/M9wyJ2GlWgzk16h6IK/o\r\nyQsQAk8Ze5YuZ5sy69O/qucDZP6BRb7+eOwqGhGXduDfwYvl/1KKwn6dffyT\r\noYR81z4moOLVJ7nunql0cAGbgWuwTD5HfoH2XTaVKpO1rIbKTV8g6aDhFP4m\r\n2VNW7tjwd/INp1UlLQMHhZlB6W1rSad/qgk=\r\n=RKq8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0_1682338900019_0.5298422952933979"},"_hasShrinkwrap":false},"4.1.1":{"name":"@herbsjs/herbs2rest","version":"4.1.1","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.9","@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.0.0","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.6","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.5","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.0.0","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 14.x"},"publishConfig":{"access":"public"},"gitHead":"7744605c3975df1e2a49f57a361fd9eb5a745698","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.1","_nodeVersion":"14.21.3","_npmVersion":"8.13.2","dist":{"integrity":"sha512-/7zMJJEbUjr7Zk2C1QeyCSUPdcScLxQiy5AX6hgb86cEmbKTHmYp0XKxCnJyx4Vjzt8c/0vfmlI8k0/WuJKd+Q==","shasum":"ab9227eede8722ffcf6c79ea32c2ca6bdb210193","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.1.tgz","fileCount":34,"unpackedSize":64426,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChRID2Oh0GgVGJMP/jYsYI1VnQ8sUhwodHtEdjMyFMYwIgQH3gEfmiZGsjsi3PO8SlV6rvhVPRXc8FDOq7g2Zny1Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRqKQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqR2RAAocjWWiwbSyS1CRQkrrBStbuQtoPqpZB4ZZkoqYX8s+srGmlj\r\nh6lsBLtIuYWCR3L2ot1hALL8Rr2h+91Ipp/IhaIGmJ5YdMwH0bpHQHr95RWP\r\nWOb6X82+LSrfa6KpznFlOf8eVdWgIia4hZ/2WSmiQ8iN1dzkuNa1VD3Dy5CK\r\nU5G2WC4NG3wAyDhPSEiVDn9NJVGSXWcZOQiOJmAXmb3BpOiZ/wj8j/CrODmF\r\nRNgAKFLEaJSM03Xgehg4wglm3dbV1iytwJOsphk2kxwJZvvbwgHJWtlGo21k\r\n+Y/70PURtMDkmMu+zSz+cYSmkg4AgYJCHr1qaxCzwRdumx9DzXs82+Q3cxxU\r\nS0a29ygIbgJEMm/HY36Qo8mcKCZ9lLt0Jf5QCJPxbe0Di1ZAdb8PvjlioP+C\r\no1rYIrRTjw+PRLpK3aV4KU0QcoKjtuubHhqTYu4bRnsNiGjoI92Wt673zRHs\r\ncAcHjZGnhZ7OmOZHdX/LbunQuHith8j5l1vUNlUn4wlxXt69MTVWebzZh6UR\r\nLQa26AjXixF9CuegP9z2lqMMnOTkq7xYSr94MV5i1dXciPmAUBaId/9ajMBv\r\njXLOWUNg34B5By3erhaT8PcoBZbY94oilKyjyKcAO7bg9kILnxReMpC/u8H4\r\n+X3erTitfa0DuhaprcsfPablwWRyj6aF6Mw=\r\n=wbS5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.1_1682350735828_0.7820324766005204"},"_hasShrinkwrap":false},"4.1.0-beta.6":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.6","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"a8bcaebbf719def04d9ca690a89b21a7e22cf42e","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.6","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-1Wop/WiqwFivYE+K1zOdxka22HeKKYSLBipI1VpxN/IlHtx1j2+5VVY5PvNdtZ4U4RzLvrPX30TF52ubpEndhA==","shasum":"52486396f037b4edfff3a8e9f25ff93d5f5dbcfb","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.6.tgz","fileCount":41,"unpackedSize":149856,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF5UbkK8p1Lvy7w7X9fLCtjIjE/pU7u1bXBru5ny4+q+AiEA1LHErJMmkkPiSdn7eim8NhEwguUO/uzEnaKYWzUTT/8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSWDaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAGBAAmt5rHz9siVN7i5jvz6c0Z8E+BrBU4vEo5rRaMKZ9dnpP2tVf\r\nSIrBZsvrfkOl7A3nui0rBbl66ZL3u29mY129k+KF0IyVwplDSWXe4TDtT17J\r\nnH98E8TvIpD0nc1Jpo8sUzYwmGzKQvdp2tLDKHlF4eLhMIAyE6nmiI6ZocEN\r\nsNJ4a3W4p9uVafb+84r/iwoUdRE+daWUVDjuEKb1SX9h8GrZr3YrBSE0a5yv\r\nXVGEyrmyOY8daVB5mA6UU+q7CnVMWrFONN7HjeMNZnhWE7e//UjNkT2WJIEt\r\nH6+IFMsBYnfUt9FXzrldsHPgvzlX1FRn22e/Ls9WiVHY1Uj8KE2TZlE+adcC\r\nPQuPlqE7wOumhNXELqEvX3unxrn/NsOM4Ul3o/KTO1u/zfVTWL4BmmT+OMkQ\r\nxfEpA1HI16kr3/rXBCPYVJIlhPfYQMCrksYHciO2HcxRx3HU6hXbsnOeni8P\r\nA7pUH3HmuOiHk8ryiv0I0X/eup2NkGhSxiqcGWiHDVtSgXlE4J1g0oA2OuQu\r\nJeuILHnsOej3SDOxyB01Z4mtMuL3yQps1lcNTX+pW8Mrv8GM2D+yU0Fc5tMR\r\ne/+IQyt/JDvGbbt/t47E6/uzaXgD/GX4ZaFrYh0yWVaW0YTEwb725U0HbIbI\r\nDC/amlr6v4uo8NCS0G9m8mc0G7q2ZLR7gEI=\r\n=7N+x\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.6_1682530521881_0.4665144144960902"},"_hasShrinkwrap":false},"4.1.0-beta.7":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.7","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"2b7dca3a3bd243d40656be7cfdede1a88d338bea","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.7","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-CK6V2SgATy6nzqlbv+SvGZMznsg1+7f1quqkY/xRKmH1Ldz2KjP+3t12HgzgehkVIygj430054KVwsFPd5Nb6g==","shasum":"2f3db94fd4729f893c4c4aef8e1876b8d948fd50","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.7.tgz","fileCount":41,"unpackedSize":150160,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGquJjBrvrRsEpj8kBrAzGpPovLTJxxp5u1ibDFtcsVwAiEAjZkAXGMVVC23Uit2zowL6FiRP+r7doFrWCokrAYJq8E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTB4pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrMxg//REfsVgbpQn8FgPX+JQxPr1pf0kuUX1zr8QNe/v4f8Q1uAuL4\r\n0oqZSCXiIPAs5L3lD1A/UD2oN5ZtRbPIzytOG0Na/iIkosmPE1A5L2RoEtXr\r\n+UivS2NPSHjLxCuqYKSAbCYeQLbC0yT8DlfSRfpkrIMMyi/3ex8J1ZKw0xE6\r\ne8Os5S5hMX9jcYEz4Gh0gaxRb8ay39rIWaFR+s6joedZRpRye8lGkjAvMDVU\r\nSA41vEvnXUFx2qqMvkG5NhXrckQOW+ttQy29LxhLE4kuNtdiAAMCWoFd5z9q\r\nOWZ5e9yHXKpplo9zdnCnj/GgOkLWpzWj3I9qcY0GgDtlzLt1CJ0DyscXbhWJ\r\nBulXKYQUad0GIh+NbbXC9FEXqy374fXGqbivmEBmP5faImBizcZaAj0n0HIx\r\nrejb1BsfPl0UfnO0a33/SYUnuPDdwVzt0k9GW1uWJV5uN9T3iZ1Yu4YpGrAh\r\nftvHeMmmruFUZCgnNx9UG1SE9WeBXQ1yUg+dAzpktC/93XTCGj3giuCI19cV\r\n7iSjkvGgByIbKzXSzK7pdvzgDsdsiyLsnrzZoBw96pS7pkSaZ8InSTjF2ixy\r\ntw6OpVMEwj4FbJz3OR5qn7PX/6/JnNS4j37nemfOrVgQMYIprdhr0GOEXPSL\r\nIXHNBwsxCXfiTVdND7gCrHAyooto2MPe/DE=\r\n=/Iqn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.7_1682710057313_0.03422838059233135"},"_hasShrinkwrap":false},"4.1.0-beta.8":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.8","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"74e3ef886623acf1c8b4092227fe96fe99211b8c","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.8","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-huQ6IWfMK/z1lCF4w9ekvBh2WBe/xCMMhFnY71ZIwBUHF7lEMCUX2ZpNi1RGpV63ceJNuYZ1/DnOX3k4HMACWw==","shasum":"75893c2439bb6c37d8d27bc00d2bcac939943d49","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.8.tgz","fileCount":41,"unpackedSize":152772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID6TzebrvOf3na4EksN4e2R7wf9NZNSs6VBRjZn8E/ySAiAMIDioMbve4ZkQTmaC5SiiqAOf8CH0yxIWB7CqmYNEzA=="}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.8_1683819641126_0.9200936094187184"},"_hasShrinkwrap":false},"4.1.0-beta.9":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.9","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"1ab80fdac7072e95dd614c89c7acb1f2dcb72418","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.9","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-VHBnKjls9GLuCIIX1hJQ9CGqUtziEKUgbl5SxuKCTWcfNqsh0UvDifczItyzjNO8D8omM48ofeJhuZVZdUGftw==","shasum":"5beb73bb70611170118be5d06f766f931656533c","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.9.tgz","fileCount":41,"unpackedSize":153226,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxX3fNJPNoyk2h/6/5zDtAZeH03M1OyAnynwfdN1oYsQIhAMuwkKfxH92bdUo9ljZdwceEBedgn/0K08OHYIFDon0h"}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.9_1684508524325_0.24494533788310724"},"_hasShrinkwrap":false},"4.1.0-beta.10":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.10","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"fe66fea097f37223ca41ea96d4f514b58b9b2634","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.10","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-sZLoHkLrDy2eEUvpEpjx7269xqVgQg7oWuChXYiORDhMQ3ygiLbmdYucb2pDKkGDEPtXO2tNg5JvLVvXByCKPg==","shasum":"46e7f525095d4da2297f8fe0a6e0e462a02113c6","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.10.tgz","fileCount":41,"unpackedSize":153842,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCmOGss8H5j6VrRlJPMy1XKsjwG2wz8l9+r1dZaQ3fqgIhAMeu8j9QHWRHQniL+vq732ddlFP5GyXsrKO6sEpTlcFQ"}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.10_1684509785510_0.05424175819214261"},"_hasShrinkwrap":false},"4.1.0-beta.11":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.11","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"85af4fc938547d7b9982e52ebecccce7961468f3","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.11","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-IaZyB2dIQ7+mNVOEXkLJwcpHkk1UQJpUioMQWXkHIusOxH/wk9tlRkpWBNXB4+ij7nIQrDjVlVZzkKs9MybiOg==","shasum":"05982d8dc3137a515ab2d2732c51e6e9f75439e5","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.11.tgz","fileCount":41,"unpackedSize":155111,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHfE/t5LHfUd9NSa1v4YZkXZ41q/S4YFXZB0U495W9WgIgIBLXXJW4UsboKSE1K6pGxdP1hMv7C6OnANZQpH0E2XM="}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.11_1689790289097_0.4980284590744022"},"_hasShrinkwrap":false},"4.1.0-beta.12":{"name":"@herbsjs/herbs2rest","version":"4.1.0-beta.12","description":"Create a REST API based on HerbsJS","main":"src/herbs2rest.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"npx nyc --reporter=lcov --reporter=text-summary mocha test/*.test.js","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"keywords":["buchu","rest","herbsjs","api","clean architecture"],"author":"","license":"ISC","devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.4","@semantic-release/changelog":"^6.0.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/git":"^10.0.1","@semantic-release/github":"^8.0.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.18.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.1.0","express":"^4.18.2","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.7.1","semantic-release":"^19.0.3","supertest":"^6.2.4"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","express":"^4.18.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 16.x"},"publishConfig":{"access":"public"},"readme":"[![Build](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml/badge.svg?branch=main)](https://github.com/herbsjs/herbs2rest/actions/workflows/cd.yml)[![codecov](https://codecov.io/gh/herbsjs/herbs2rest/branch/main/graph/badge.svg)](https://codecov.io/gh/herbsjs/herbs2rest)\n\n# herbs2rest\nCreate a REST API based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)).\n\n### Installing\n```\n    $ npm install @herbsjs/herbs2rest\n```\n\n### Using\n\nUse the method generateRoutes to generate api rest routes based on usecases.\n\nherbs2rest works with [express](https://expressjs.com/) in version [4.x](https://expressjs.com/en/4x/api.html).\n\n#### Herbarium\n\nThe default method needs a list of controllers returned by the generateControllers function using Herbarium.\n\n#### Controller List\n\nThe advanced method needs a list of controllers like the example below:\n\n```javascript\nconst controllerList = [\n  {\n    name: 'lists',\n    getAll: { usecase: require('../usecases/getLists'), controller: require('../controller') },\n    getById: { usecase: require('../usecases/getLists'), id: 'listId' },\n    post: { usecase: require('../usecases/createList') },\n    put: { usecase: require('../usecases/updateList') },\n    delete: { usecase: require('../usecases/deleteList') }\n  }\n]\n```\n\nThe `name` field is the name of the route.\n\nThe `id` field is a string representing the id field in the use case request and can be used for GetById, Put and Delete. If you want to declare the id name dynamically with the entity field id, you need to declare the \"entity.id\" property in your controller list. The default value is \"id\". See the example below:\n\n```javascript\n    const controllers = entities.map(entity => {\n        const usecases = findUsecases(entity.id)\n        const controllers = { name: entity.group, entity: entity.id }\n        if (usecases.getAll) controllers.getAll = { usecase: usecases.getAll }\n        ...\n        return controllers\n    })\n```\n\nThe `controller` field is to replace the default controller.\n\nThe other fields refer to http methods using usecases (GetAll, GetById, Post, Put and Delete).\n\n#### Custom Controller\n\nTo create a custom controller, it is necessary to follow this pattern.\n\n```javascript\nconst controller = async (usecase, req, user, res, next) => {\n  // Implementation\n}\n```\n\nEach method parameter has different data:\n\n- usecase: usecase in ([buchu](https://github.com/herbsjs/buchu)) pattern.\n- req: body, query and params of route.\n- user: parameter passed in the request.\n- res: response object of [express](https://expressjs.com/).\n- next: allows the next queued route handler/middleware to handle the request.\n\n#### Generate Routes with Herbarium\n\nIf you already use Herbarium, a centralized and standardized repository and discovery service for Herbs objects, you can automatically generate and use new express routes:\n\n```javascript\nconst express = require('express')\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { generateControllers, generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\nconst controllers = generateControllers(herbarium)\n\ngenerateRoutes(controllers, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### Generate Routes (Advanced)\n\nGenerating and using new express routes:\n\n```javascript\nconst express = require('express')\nconst { generateRoutes } = require('@herbsjs/herbs2rest')\n\nconst app = express()\nconst routes = new express.Router()\n\ngenerateRoutes(controllerList, routes, true)  // true = console info endpoints\n\napp.use(routes)\n```\n\n#### HTTP Status Code and Err\n\nHerbs2rest translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to HTTP status code as described in the documentation.\n\n#### Authorization\n\nAll use cases must implement the authorization method and receive a user for authentication if using the default controller.\n\nExample:\n\n```javascript\nconst { Ok, Err, usecase } = require('@herbsjs/buchu')\n\nconst testUseCase = (injection) =>\n  usecase('Test UseCase', {\n    authorize: async (user) => {\n      if (user === 'admin')\n        return Ok()\n      else\n        return Err('Invalid user')\n    }\n  })\n```\n\n---\n\n#### Example\n\nAdditionally you can view a simple demo application of this library in [todolist-on-herbs](https://github.com/herbsjs/todolist-on-herbs).\n\n## How to contribute\n\nIf you would like to help contribute to this repository, please see [CONTRIBUTING](https://github.com/herbsjs/herbs2rest/blob/master/.github/CONTRIBUTING.md)\n\n---\n\n### License\n\n- [MIT License](https://github.com/herbsjs/herbs2rest/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"9ea41e4ceea4c550264b2c99f9ab4b928b69bc9e","bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"homepage":"https://github.com/herbsjs/herbs2rest#readme","_id":"@herbsjs/herbs2rest@4.1.0-beta.12","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-YjeoltHdlaPi9mAdzxab3WQ/jqxiowH/+aGcXVpGS7iL0ML59kvn6aDws63GhakXcMyu6KiCuJAqEhrc/3mG7g==","shasum":"5884a993f31489095ff5a15447d5f77c0c6ed850","tarball":"https://registry.npmjs.org/@herbsjs/herbs2rest/-/herbs2rest-4.1.0-beta.12.tgz","fileCount":41,"unpackedSize":156393,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA+44/coRr5BX0y0r/NbLPJueEXeDgyw6E4n/uev8Bz5AiEAp7DQ7MTcpaasl2Udb40JPdS0QAiwgd+PJ6qDVUdbWrw="}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"directories":{},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2rest_4.1.0-beta.12_1689791825561_0.8862161746969643"},"_hasShrinkwrap":false}},"time":{"created":"2021-06-23T13:56:25.326Z","1.0.0":"2021-06-23T13:56:25.797Z","modified":"2023-07-19T18:37:06.035Z","2.0.0":"2021-12-04T14:10:22.717Z","2.0.1":"2022-01-15T16:16:43.748Z","2.0.2":"2022-06-08T14:44:16.585Z","3.0.0":"2022-06-27T21:26:20.594Z","3.0.1":"2022-06-29T23:11:44.430Z","3.0.2":"2022-07-11T20:32:57.908Z","3.1.0":"2022-08-16T15:07:24.919Z","3.1.1":"2022-08-21T22:59:59.154Z","3.2.0":"2022-09-07T22:47:31.424Z","3.2.1":"2022-09-21T22:00:34.453Z","3.2.2":"2022-10-11T16:58:19.700Z","3.2.3":"2023-03-06T18:52:47.975Z","3.2.4":"2023-03-06T19:28:14.533Z","4.0.0":"2023-03-07T11:47:59.975Z","4.1.0-beta.1":"2023-03-30T00:02:01.975Z","4.1.0-beta.2":"2023-04-13T20:26:29.867Z","4.1.0-beta.3":"2023-04-14T01:08:00.398Z","4.1.0-beta.4":"2023-04-14T12:18:57.462Z","4.1.0-beta.5":"2023-04-23T14:56:17.954Z","4.1.0":"2023-04-24T12:21:40.184Z","4.1.1":"2023-04-24T15:38:55.982Z","4.1.0-beta.6":"2023-04-26T17:35:22.053Z","4.1.0-beta.7":"2023-04-28T19:27:37.470Z","4.1.0-beta.8":"2023-05-11T15:40:41.278Z","4.1.0-beta.9":"2023-05-19T15:02:04.495Z","4.1.0-beta.10":"2023-05-19T15:23:05.713Z","4.1.0-beta.11":"2023-07-19T18:11:29.259Z","4.1.0-beta.12":"2023-07-19T18:37:05.811Z"},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"description":"Create a REST API based on HerbsJS","homepage":"https://github.com/herbsjs/herbs2rest#readme","keywords":["buchu","rest","herbsjs","api","clean architecture"],"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2rest.git"},"bugs":{"url":"https://github.com/herbsjs/herbs2rest/issues"},"license":"ISC","readme":"","readmeFilename":""}