{"_id":"@herbsjs/herbs2gql","_rev":"26-55da560dfab53428c6581a32cd1c59f7","name":"@herbsjs/herbs2gql","dist-tags":{"latest":"3.0.0","beta":"4.0.0-beta.3"},"versions":{"1.0.0":{"name":"@herbsjs/herbs2gql","version":"1.0.0","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 12.3.0"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"@herbsjs/buchu":"^1.0.1","@herbsjs/gotu":"^1.0.0","lodash":"^4.17.21","@herbsjs/suma":"^1.0.0"},"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","apollo-server":"^2.25.2","apollo-server-express":"^2.25.2","babel-eslint":"^10.1.0","dotenv":"^10.0.0","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","graphql":"^15.5.1","mocha":"^9.0.1","nyc":"^15.1.0","prettier":"^2.3.1","serialize-javascript":">=6.0.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"8a118cb31ad66961ef490b75cd2a12ea59ba313c","_id":"@herbsjs/herbs2gql@1.0.0","_nodeVersion":"12.16.2","_npmVersion":"7.18.1","dist":{"integrity":"sha512-+jWu7kppVv5fKb0kmt1tNN+QA+2NgXUCQ1NtqaGxTm6fMj9TQFgi2LfBoENo3gGIh3pw5IXDuLmnmdZs8g3ENA==","shasum":"59c814da7aeeee754e5190eb6871cb3b68a2bc73","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-1.0.0.tgz","fileCount":40,"unpackedSize":136641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0zkqCRA9TVsSAnZWagAAOPkP/inn01KZYMcPg219n9LZ\n0zmyrtU3vmQ+sjqqpJw4nDSye2e8+EiDT0wZSB3N0SdPqq45zKeACU1jbM58\np61qv8nuWj0sY2sUgtmDa80LRMVmV5U+6KBO8zr7lII9DhDcOMJdShyBFb8f\n4xDx1DSSIspp1jK4rXR+DPv15LEkT1Ao7QbzTYkkkJqKUjGey05Tf96Yk19n\n+FDpgLycwR35rsPMfj2WKTPXvV7jEpSiXhko2fczqc+xspnyboy6WMujWnjp\nNSBxaZCFtZqfROITEGdfL17PCePt4pbcjjKTuTB3p5iA12FE57Xa+DqPCUVg\nH7+lVFmSSambV0sXBDdWOtWhVr7/VIw5jPVjCEVKhQSKl6PcLWUQVWwHSnXL\nK66M+0wzHE2FMCdkUqEJvYeuZyI4XQLPYVkN6UkU9I00eHIfr0BNUmyGRWLj\nxO1nXddWSKo9qBCAwIflT8rGi5idvvZI/Pdmn8jIndGpjWJVSGdJmIc1z++u\n3dFYiMeDZcFgFtJF9a7TGjLWyQXx+tOb8YCwHd4Snab9gBwtpnKX6WHBvWkW\nnj1aBDXd4v7kJFaMqolOtrrYpyjrHwEnOzA5zIzBPEG23eSPTbvFXuvMhtvZ\nrVMbe7jjvW/u9Whl7BBu3K/VGQ3BSx492xmmLZOYTlxvs/IxUcWKrO9RgWw8\n5i3K\r\n=Jo7k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANTdDDhudubQgVX9Tf8L+2CU09KKWBGopCxsdgROVktAiEAqR3+NT/aytz47B8h5y/6WQYrj2QK24/SEdgPkI6eI8A="}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_1.0.0_1624455466261_0.6630762149421723"},"_hasShrinkwrap":false},"1.1.0":{"name":"@herbsjs/herbs2gql","version":"1.1.0","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 12.3.0"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"@herbsjs/buchu":"^1.0.1","@herbsjs/gotu":"^1.0.0","@herbsjs/suma":"^1.0.0","graphql":"^15.5.1","lodash":"^4.17.21"},"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","apollo-server":"^3.4.0","apollo-server-express":"^3.4.0","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.0.1","dotenv":"^10.0.0","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","semantic-release":"^17.4.4","serialize-javascript":">=6.0.0"},"peerDependencies":{"apollo-server":"^3.4.0","apollo-server-express":"^3.4.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"2c00e32b9426564ca8f522b378d6a12366533666","_id":"@herbsjs/herbs2gql@1.1.0","_nodeVersion":"12.16.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-7mh+s4P0SLlEhxot3/kVvB/WwaiB84lizi6ti7dMUOUFJI4fzLUKsZTybYUH/s/o2MRFFWLLitVzvv0zggHIYw==","shasum":"8b71f8b9aa14232f55b05ab1c3477a1fc4d6ef78","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-1.1.0.tgz","fileCount":40,"unpackedSize":137690,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRRhSeZbHTlMOC0M2DAaHA16maAykx4WYkubl4Ysd3JQIgdmo37d2VJevJf8FBL5g3eCvSEWsUXQFRbzK8/Xryjtc="}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_1.1.0_1636484412025_0.24430322625759682"},"_hasShrinkwrap":false},"2.0.0":{"name":"@herbsjs/herbs2gql","version":"2.0.0","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 12.3.0"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"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","apollo-server":"^3.4.0","apollo-server-express":"^3.4.0","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^10.0.0","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.3","eslint-plugin-prettier":"^3.4.0","express":"^4.17.1","graphql":"^15.5.1","mocha":"^9.0.1","nyc":"^15.1.0","prettier":"^2.5.1","semantic-release":"^17.4.4","serialize-javascript":">=6.0.0"},"peerDependencies":{"graphql":"^15.5.1","@herbsjs/herbs":"^1.3.1","apollo-server":"^3.4.0","apollo-server-express":"^3.4.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"9a79ad0376c92a5eec5ef89afe414c58bbfa145d","_id":"@herbsjs/herbs2gql@2.0.0","_nodeVersion":"12.16.2","_npmVersion":"7.24.2","dist":{"integrity":"sha512-X6WeU8ofwe+CZk7KIdf8Y1d0PxwRTe+8Fv43yDCv5Y7R+dIY0GbVEtYhSXGi6rWw2rii9crRy4eVdi5fEA59pg==","shasum":"73f9ae43e06bb785c929a1446c2d70742f19a711","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.0.0.tgz","fileCount":40,"unpackedSize":144957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhq5bdCRA9TVsSAnZWagAAVVIQAKIkkC4EL/pznZj7HJRU\n1obMTddN1llRPH4WTYUhDhZbAGNEOHDgCxw2Z7o78RVAO5j2MpIeb4S+ES3t\nKOwNIUNPi/aePgkDCMf9kGdAe3xOSxFuR+TnCr4Iptw7jg6SzDLNuYSKKX0u\n+fmlqoTpbirKSUiT3P6JHcO+1pQ9xV8RjQe2NoGwPL98lTuYnOn0+aOUyBrg\nShIvCXoo3uKG6kemY6PW6cdkHz78FaHj9ljtGHa7uX3Ym3EY1NxnI5wUERu7\nH2YmrlKrzj6+NK4kY2N5Z9QfOitG98zQiEPfEl9szeqHYK19Nr5yCB36ZoNo\nWIUnYKZ3uUOfxdx0D4hAF50syTSp27DdVIHaqn9RdV9av8F9mIwdXr1fuW7R\n5D2Oj/nq5IoQKXQkNLvjBc9xBzkG/WjW1W+EaywuFbllx781OhW4vkU1jBAY\naSMwqu6/XluQt4wNX7g01lwcrnuZoZhz3Xqf8NXa2JOWapfeEzTPEz8v4du9\nAdUP2f2Bkd66kiS5OOU64X3zvWX/ioOHmlDxZob//gvkdEFBN5ZS6rkFn61C\nhMLCeMnpyo5MS5r+EH608EyPd+w5nxZitF7nUo2k2/NK3PyFi2dLaIca+q8V\nd9DCuop4Qrho/WRJ+RsxousyPzq+45fZYew25GNj4nL/WVunmfqhGc7KYzBg\nh2YQ\r\n=kjFh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBnRxw2/KQrMo9zZRoTyoDEoZ/bc4U1JFjDny7QjT/PUAiBCooF8eZUdMRlqHkttSY1+ZpUsu9MTgCVbCuid6HJ7qg=="}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.0.0_1638635229517_0.7471300958671963"},"_hasShrinkwrap":false},"2.0.1":{"name":"@herbsjs/herbs2gql","version":"2.0.1","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"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","apollo-server":"^3.6.1","apollo-server-express":"^3.6.1","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^12.0.3","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","graphql":"^15.5.1","mocha":"^9.1.4","nyc":"^15.1.0","prettier":"^2.5.1","semantic-release":"^18.0.1","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.16.5"},"peerDependencies":{"graphql":"^15.5.1","@herbsjs/herbs":"^1.4.2","apollo-server":"^3.6.1","apollo-server-express":"^3.6.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"49d6b31972260313aba0e5471edc9090232de5b0","_id":"@herbsjs/herbs2gql@2.0.1","_nodeVersion":"14.18.3","_npmVersion":"7.24.2","dist":{"integrity":"sha512-DaR25Uu7Z4MYnm68LR0E3kkLbOiujzxBTgH7mR9C48CNCJFbLvAwjIS9Ckpbmsj3DI30B8zoZxO61uFm3XIsjA==","shasum":"7e3fa7e40f3acf277422fd5f0685a6fa2a3a4f5c","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.0.1.tgz","fileCount":39,"unpackedSize":144708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4vzgCRA9TVsSAnZWagAAmlMP/RuK5dkGjB1GDNl0cgxZ\nHCOKXikLGzwnm7VHFX7yc0GHPieBFqfvfrrjz163sPutf2ezzxfXN0chpwPv\naNXkOWkVlwLucBEN1Dyglh5i43YixNkUkcUFvAPl4rBxfATJIs56ePbQ46n2\nWv9tOtSOhlmLWXaAs7L6pwa/9X9zVIXB+pz6ABO+H0j7HTrrg+epa+cafEhx\nxl7jROIWOLDOBcSYm3XZHIS0zKBRwutslN/6yfE35nKkejPodzH8MZXMC7/4\n6HZ1dKlfiqyu7Ze9Y03AxMSToBSTT485Js3PUWb8b2jCNlCmVCPL96Kdx+UD\njtuM1OTf23Vg9eSdTmzGA5vajFX2L2SIzpj9G8a0zZxGiOkObXO6pOePCwbE\n9hPhq6sSmV20R98H24gtfCBg0Af7Al6ltU6c0O+J+7Qux33PpbAIGY2TAO95\nCYLyDEksfPN4gEK4w/IZkNMZDPej0SG6LGVX0IBROBfhJhRprOm37MAB+0xP\nQ01kPMaHiWy5sCx09F+M5wqkSWRT6H2swKBi4JlcTsLMcbkvXKDNu9jjOXNZ\nlYKp5UWOqcmVDwUuzgfYjD0dQ0vLlUzQ29Kq6ZBN4FxtSbF/O1jy66m5/2ZY\n78NKj41C51yMyGbTGod0DP6gMmhYtTD0IxpCmDLeoGlFN1xM0nKRzYQ7iIgY\nO3sU\r\n=bDFM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkOZOdD28NvNsScryNX8MVJM7h5wbAz9FXi3gxOytyjwIgI5YOOQjiP42aNefB7yKA/hTiKQmHlhojfcAfb4a9N0Y="}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.0.1_1642265824564_0.338207279405099"},"_hasShrinkwrap":false},"2.1.0":{"name":"@herbsjs/herbs2gql","version":"2.1.0","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"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","apollo-server":"^3.6.1","apollo-server-express":"^3.6.1","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^12.0.3","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","graphql":"^15.5.1","mocha":"^9.1.4","nyc":"^15.1.0","prettier":"^2.5.1","semantic-release":"^18.0.1","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.16.5"},"peerDependencies":{"graphql":"^15.5.1","@herbsjs/herbs":"^1.4.2","apollo-server":"^3.6.1","apollo-server-express":"^3.6.1"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"a2d2a5320599a8fac9643c0e8d0d2657750cee6d","_id":"@herbsjs/herbs2gql@2.1.0","_nodeVersion":"14.19.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-/RnqPrAKQUB8TPq0yzpznODZDPG4vVfx8Xe7+musVHqBCtqmNQlGS/gdfg4NqkfmDIX41b+mwyfcQtTfRsYwqQ==","shasum":"6de481ce2d3e32a04f4a0e2acbc2846df3d2ede8","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.0.tgz","fileCount":41,"unpackedSize":147084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCj8JCRA9TVsSAnZWagAAeXAP/1BbMetWQ0QCaGQ8XD4M\nH6HDIcdZTvZwvZVmRnVFGslaDLbiJ983c+Vr08d+1YQOchEY7PqQkT0OM3j8\ncwY/xUGuor86k8W7NQDPTxCvWVLtWjVKr89MYMiBdfvkvd8P1/8vofb7s0e5\nQeh2Dx2NniB31x6tDCo2B41SSn3S5FFszFIxZytDjNqIp+oWGbsYLcdIrSjN\ns5hM+XkfKj2bfTUK8eOgziL/zFv6nLlYG+mZpRE67h6kjMrq3tgeEzNLw9dG\nnZvgkkoLiZAH4lB9K4QF1j7Qiy/+d+M/BfcsIqDFKCvfZwBsIHMLWKtn7zxN\nIzH6JH95sbJEmqfMl6Bc3menVzvic9zyC84AO+hPKQg4yTMeeus7RvR7nQMK\nzRg7mdDz2WsAB5y0jn2MJSy6k2ILeYK1oNeDzZDPD5HKK6LshfwroGWTxfqq\n/rDo2+qAMTZSYGlqZ6GjcaTcww3DZXDcK6H9G47fEeTuEOm+s5N/1RatdUZa\nQ8DP0SIg08CDoQBY+4tibb6z1+rb5N/+9SF8sKpH0HBKYQZ8URk2zkYCO3HO\nyaojePIzhIoOuNwPQtGw2UwXEN7koftJamKjDhJZPpw1UjMRKpFymXY0dBEE\nB3nLXvpB/0kbrXp7xgE18xECtf+a85WccIRhvyawyFitjJk5UIebszRFa5zd\nrhWb\r\n=ItaC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsOfwJAE7YYRoyloaSGVQwvA/AMSMFzB+6zILh8TMo9wIgfSJ6NYLIb/t/3ouhheJBJ6pt8dnf2Ay+T0AZXNoPnmw="}]},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.0_1644838665690_0.7083524066249076"},"_hasShrinkwrap":false},"2.1.1":{"name":"@herbsjs/herbs2gql","version":"2.1.1","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@herbsjs/herbs":"^1.4.3","@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","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.0","eslint":"^8.13.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.3","graphql":"^16.3.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^18.0.1","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.17.0"},"peerDependencies":{"graphql":"^16.3.0","@herbsjs/herbs":"^1.4.3","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"ef663a582ff53585c71f7dbc0a023518bfb12bcd","_id":"@herbsjs/herbs2gql@2.1.1","_nodeVersion":"14.19.1","_npmVersion":"8.6.0","dist":{"integrity":"sha512-aHVwSAbpdm3YVqYCoA4VNCgM0LJ0DjnlhPtQ4sZyhUyedAmYCswrgjGUoqfXJwR9DdOI9gUTccEb0IhRxdKMrQ==","shasum":"83329dbb228b03dea97b7c839464385b30d704d1","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.1.tgz","fileCount":42,"unpackedSize":148209,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEAtpsczs46ixsNPcj4X6zDVLMDowT1NUJjyebv5dZrPAiAtm8GCJSDYDpnl4+tLPdvgyC/+riWSJpdxYNo1QrCxvQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVCwvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKog/9HFD8EicpQ2kHZFMQ9yycWRzwbEZZYT37vvTu9wJRxDXNdbzN\r\n8SQRr8/E3YokmTHjqIteHiwRHjTcjmn1/rKI9rI8/c0LUo6NJB8i95yUKEyR\r\ns+P9nGt3U00JV6gDQZw0Y4Rx2Pd3Lnn3fyI6xDRsXJOw7AnnoCtHg+Thc5iq\r\n79W5BVsW/+mKKA3Oj9YfpJkkpM4zN2x/ZU+/t23ao89+tok92+PBxBEn3gBH\r\n4kJp+KLp5LcvmJSVzfqjp1z/lujEIWiNufyqM1CwloGMu6M0IjtzsfeF9Tl7\r\n7svfydVUuF2ZlYoJHF8CJ4/6B3X/R+/JS+O1hQwYSX7uATxuruOSgWUmqvg0\r\nQ38qEBFK8ukB/+BaHGmXq6J4uRBenptrICkuExDH7Ren0ePybe1TcnMdONm0\r\n8bic/zGuKLJNIcQZpC5MfW5s1/xLN4G3gtI5stBLOaTq5/F1bfWteos+TxGk\r\naUVwZGrihG29a3hJJ7fHk1U/ubedpTI7/YOnaD3CotKpbZXZ7jhK6Jr4tMgR\r\nbc8Smf6XPm518bQ88CrliFu+T6s/LJOkjYsCn0tgLf77qK8yLyv8rfqecTl8\r\nsS4QNd5h/KKtDmdshlmb1Ud9Qkj2LLkSIBRRGIWXV0rbrf9vH8mroPkW0iWD\r\nR2pMycr0E052nEmAw74DyK/i0kzSOQCvu9U=\r\n=uvdi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.1_1649683503722_0.1094341626956139"},"_hasShrinkwrap":false},"2.1.2":{"name":"@herbsjs/herbs2gql","version":"2.1.2","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@herbsjs/herbs":"^1.4.3","@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","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.0","eslint":"^8.13.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.3","graphql":"^16.3.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^18.0.1","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.17.0"},"peerDependencies":{"graphql":"^16.3.0","@herbsjs/herbs":"^1.4.3","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"fad1251710a185bda591f262651804c1302105e7","_id":"@herbsjs/herbs2gql@2.1.2","_nodeVersion":"14.19.1","_npmVersion":"8.6.0","dist":{"integrity":"sha512-Siq5llESJjEDSb+f9KIQT9/EHN2bZC978KsOCuEKfCRewTHquWO44JeK9pa2tsMmoJQXmMBSBhXj5/eTQZ9dDA==","shasum":"cba60019db236803ef0007afbfda39382fffe39a","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.2.tgz","fileCount":42,"unpackedSize":148453,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDt4yawzwPwLmWP8MdukjjG5no/MrlJsLoOSq9D3zsqYAIgCMwaWZo27VdDV7xSR6xKgJx4vnnUlFQHm7beP4B0iQ4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWsw6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQjg/5ATSqCHYyE/RBvzuPgr7kFUGAIWHt1jGMVvj1Ql364sHsb66l\r\n8UurBLc+xtjb7FURNnwD5HFW/MeP1HktDa1EBMcJcZtfmajejU9MDgWb1u5g\r\n1ZyaZ4rthM2T4nK/Bjjx9YUAeog0gFqK/pCf3C42Q2gtvZObfUF5Xl3W2bGf\r\nqKeHCGw8Sfk7THE6FJzE5kBA1mwmzYymA2PJsx5riepZ++s89BpTHtCDa2Xr\r\nQZpVqMW+UKTqoYoPtkPJJIilO12lJ44GaT8muI5xzAnNMA1+RHGck5+i5KlJ\r\npH0WAesgVEOiYmunv8rxu08eJ9ntEnZ0RMw+MksGVG4SAuxAND/tAXkyEN+U\r\nyNOu7BzNCOIYKSVHMv8kX1KQPWmOuINGdsQWz7qPkt7N1iy/9sQML0ImR7Sw\r\nBG4MGYrwJ8SoGErYDhXLr772ufdwjO/ZIjxqhUdrHXq9AtPBxI0RESh/VZnA\r\nGWXkUU/L3EEfGP+ccVC2hx6CHa8vA/xAUycRm1ErrNwIr0m06Ehk6jTlDpJK\r\n4qcIo8pJsFLgLh/lyrDqMMNvFWKiZQwhtWzUbpwhUe6xaaqiPIaIz0LKS78V\r\nfgkBiB3/hW4r+L8ZnE6RVGKQg741sFZKHB77cOyOQYH4biClfxLxgCQVOz7y\r\nsRxFvV2ynthb/Dz0HzzSUbLdS4r7+zp1AU4=\r\n=YTse\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.2_1650117690086_0.6813590968926577"},"_hasShrinkwrap":false},"2.1.3":{"name":"@herbsjs/herbs2gql","version":"2.1.3","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@herbsjs/herbs":"^1.4.3","@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","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.0","eslint":"^8.13.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.3","graphql":"^16.3.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^18.0.1","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.17.0"},"peerDependencies":{"graphql":"^16.3.0","@herbsjs/herbs":"^1.4.3","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"f1dda8f3095e7b674bb186c6342867d1ed5fd5af","_id":"@herbsjs/herbs2gql@2.1.3","_nodeVersion":"14.19.1","_npmVersion":"8.6.0","dist":{"integrity":"sha512-U1BX5ERQ+FpdtLkJY+sbJcaub0u4mWLSRV7fiVBOnY7no1zXSKa/ehUnb4RbBBAHvNC3Z9ZNb/f6sRzSWFivYw==","shasum":"b03013161660d394d3bf1aeba11b421277306c1b","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.3.tgz","fileCount":42,"unpackedSize":148703,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHvop6Lc8BMQhxuDBMrTAAdMocf/DJHPeehV9IjHG/HnAiBB/1mAa4R/5/BDCy0pHF6NzSUiBDS0uloV1ksMzQmb1Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWszFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrS+A//aUBEgUETKpfmXXeUterWXqaJXa48mxbFAMXdbvKatxTOuhTd\r\nkiQc7aznib/x9OPZRLwkdZNOLyxFGrEW5gY3FvO58w7PMHSVN3mSNPO5ReVF\r\n/WVWh+3YRW4+2ZZLbHBPCu1w48AQrIPz/0zRTj21qT2J/7c2dT67TJ1zrB76\r\nZGIIF+jMLhNGLg8EAUoh7kyzQksPSUiacwO4n1phjCEmyWnduiOJKzxaZCum\r\npt7iT/v3XZRIztZYMfjTc6XiSIDWmVnsg5XcW1pJ1yz71HL5Ma/+2yIC9wpN\r\nOvtBORMgiZIlshRypdzPKlG024MIfljCFmdq8a/Pm+M4tnokDb8IBr2Ij7YE\r\njIEXNaWuEvby0tJ6jUfmU+dAyF4FXM/ytYilSq/RVqTmYJDlOGsTeInxg0hW\r\ngjUrS58RxQMkSBsJOCpmbTS8I9OJsgP0L4NXBCDUcmvNQJ/uktbNt4cmQqBr\r\nT490XvQALMi24aenY1d+OtF7o6DgfIkt5uRClsX0TEABZC1xbjEIY2Ir8fgd\r\nyuQhj5RWld1RISkcqBi7NY19HVxmhrfuKxX5RpPBf0moKM7yV+BGHfe2ZQqt\r\nv5btILsgorgaM05gvJ635vBLgPblbUjJAMaJBXHhO/Fpwq0VCiX4cH7vL1q1\r\nF0ayf7Sz5ulWNitT+A1waobVRSzFGx61qzk=\r\n=piUs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.3_1650117829206_0.10305523412587148"},"_hasShrinkwrap":false},"2.1.4":{"name":"@herbsjs/herbs2gql","version":"2.1.4","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@herbsjs/herbs":"^1.4.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","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.0","eslint":"^8.13.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.3","graphql":"^16.3.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.17.0"},"peerDependencies":{"graphql":"^16.3.0","@herbsjs/herbs":"^1.4.4","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"cc3e693140b086c3b6a9934a21f19fa6257e7e3c","_id":"@herbsjs/herbs2gql@2.1.4","_nodeVersion":"14.19.1","_npmVersion":"8.7.0","dist":{"integrity":"sha512-Bwsgm7HEZGRxvFyMd6sipgtMgyjID6OR1mD3gWL+svcFnZcTadRvHhiF4th3WPyI0dx7DIG0ZkLZ5gD3OCsKXA==","shasum":"9e346d6bc5b80ea16b961d830db10342c71bd4a8","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.4.tgz","fileCount":42,"unpackedSize":149820,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCiuT0xMe/VedfpFSXufYTutrNo7pWu8d8jEWaXlfw2QIgN120f+SI8+UfwUL3wmaWL+Rirc/wvK39cmz9sFhlcaY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYBFKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp38BAAmmbK0N72PsSC1Q6HpxfDxJGHP6CK5cfnMm724E0gUU96igof\r\n+D2tpxr1DS5uMtiPzz8pT2Obw34hPZB6mT+KGR2Y754a2CWxAGxwi/YPrGBS\r\niaf90N8I62rRrcynfWckFpEwEb7sqzKSzZ3bAUqi5xeW6bI8tQLFcqwiKHvg\r\ndFgXiw/yt+71+wLZsEgxRFR4xoypNWPtUUtUkE/sMWejpCnQZ/WfZiZuvTVI\r\nPGFlZb+reG3VyX8Itfbn0AlL82mcnJcJ/AwDo4E+yKZySe1xhpMSkwLj++yp\r\nT3Kf7vLreKrMlLqUKEV50/AGeaX+/Y4ailpMKPGw2T5EZTWZJ0vInSfOgEFk\r\ntPjSNq3KZSzC7ITdzS7DkG2EbQ+Bt1/GJPFx/0erTfpj9wbijFrp6MoykGYQ\r\nFXs5b0nGqCvDrzd3ox65oXazRdraSFnLiETTrb4zZCpZ0DZEMDRMOzbKe6Ya\r\nSa9vJ9nmx72nWJQpqCV5jRonByN59hR+1Sx76uuv6sWxNNMuFEbS1EVTY1Dg\r\nwrHC8rVQE4G+P1WYvs/SC1cmcYODCiQREOJXm0wL6T4MADZ3rrMz+AVkowYj\r\n3HhwTsOB8JuxlWOBPQHvY7pANWcQwRFm0dOhx33H8sE+fB1LSSODUzxN6tpU\r\ntwFUpNLLO4oMUi4coexfYMN9cXxHGk4LjMs=\r\n=XUPY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.4_1650463050091_0.2029547618894494"},"_hasShrinkwrap":false},"2.1.5":{"name":"@herbsjs/herbs2gql","version":"2.1.5","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@herbsjs/herbs":"^1.4.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","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.0","eslint":"^8.13.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.17.3","graphql":"^16.3.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.17.0"},"peerDependencies":{"graphql":"^16.3.0","@herbsjs/herbs":"^1.4.4","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"47eabd42b9a5db7e9de9a739cbd7ebfd4f44dd22","_id":"@herbsjs/herbs2gql@2.1.5","_nodeVersion":"14.19.1","_npmVersion":"8.7.0","dist":{"integrity":"sha512-ZtUk3DpljCVRMAIsu/xv6n7fu3Q2TzAszG9R0VVsIenw+8tssBL3QdsFaB8/Rl4h1MlMluF+HqvirBvjPPGc1g==","shasum":"3141706a7da250686dbdd2e80d7965a184013e0f","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.5.tgz","fileCount":42,"unpackedSize":150070,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzyccwfpFnMX9o5PVLJWjqOxOTOvBXEYHhsdNxbnf+CAiEAqewtui20vhVJaJGvBLUTutB2asaDwt3k1o0snujFDHE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYBX2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8vw//XD4mGJtyaOVxholOFv1eyEw63kUEo6Yh0XdwE/4gsrtHLF5h\r\n9dbMeriQNkor4E67weyaeNZ1wzkRLkGzt1kVK6wBPPwltA9COOaMX6GAAVmu\r\nmUn5YUbaJWrZ/Nj5TFI7UZiB4hBFzSZ4WbyZbA3jS3C3/09DSrsbHlr2Sw4D\r\nVyEMoTqvxwi2xdoxEhjXJLutjkE9ggtXz6M3eel2UMmm5DHWJIZVfdh0GVto\r\n5MRq2FstbkpV/vL++tR0tsOcL1wGQhs92Gox5KOvf1Jr2hwCxgLjtG6VUmr0\r\nXlpicUcuP4ViwGZ8X68diIhEB0lWwYb4Yw2BRVdSnsIkjCFSY5oKUv1cD4cf\r\nx2PX3B7znOoDwK8mQSqcTiUqlMdakXym0LAjfioL5x0zYhYNVdWpB0ZcRAz/\r\nqBo54yuyHon/Ntmx73b6fAkCIzgN/xr5zJeS7jRd+w7ingun8QAN2tkG9JH3\r\nQNNx0Kd7orEB+F8976NX/OfdAbzhJkDv7Ibic+KbLNnqwGIUFxNN9TIv13dA\r\nrmVV/Dc372ERnBddtS4EazC/+bhoztKeikZGwQaHZIWmhT4zI1DBBSbS4Vkf\r\nKj1ZdEbSLVn6uyyn8dP8/ZfVws/c+sX03nTwG5pcgMirS3IF243Qzoh8xsQD\r\n9u3Kd1h/wEZQeffd9xpYQN+zosSrUaOxz4o=\r\n=SKX2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.5_1650464246679_0.4520063100569063"},"_hasShrinkwrap":false},"2.1.6":{"name":"@herbsjs/herbs2gql","version":"2.1.6","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@herbsjs/herbs":"^1.4.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","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.0","eslint":"^8.14.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.0.0","express":"^4.18.0","graphql":"^16.4.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","serialize-javascript":">=6.0.0","@babel/eslint-parser":"^7.17.0"},"peerDependencies":{"graphql":"^16.4.0","@herbsjs/herbs":"^1.4.4","apollo-server":"^3.6.7","apollo-server-express":"^3.6.7"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"34e7e211f4bc9d1458d85aeb08eb5b2f39c7db5b","_id":"@herbsjs/herbs2gql@2.1.6","_nodeVersion":"14.19.1","_npmVersion":"8.7.0","dist":{"integrity":"sha512-u2aXHR1/DZEEbYIwi+DTgGxt4qzt2nfugQPhFGYHwM6v3GQcQvThivcS1uhwbAvq9zMG1GO0PuEQVx2jqHbPKg==","shasum":"3f5346bdb4310c4086cb1dd9e82c7f73928673e0","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.6.tgz","fileCount":42,"unpackedSize":150384,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGA0rklCrGParIRR1SilrWKIt0BOygsGtS32pi3SY4iHAiEAyl/cj6MsJSWJcDdBmX8pf19fD2OOJ/WcSB92YwmxfJU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZviRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzTRAAjCZDOsVOFq+IASlwpQ4tQh53ZCn3o9QtfWhEjnYnfDQQAvX8\r\n7CII3CyMyfpp6g6sO4Shhvo6Dsp6i8+4AF7qvLzRhIMS8XRDZPe9X+t2o0NJ\r\nmyxFH++ZfeobxT4G1X7lXVviQuE4pAtWx5C3lyFAK6DY5V/9h4egTP7EjxQW\r\n1cuIPGebGTCj9680HM6czmZluhu2UuTpB4hTuGMAgW0DdcalNDkdbGsa5loU\r\nXyMdulkrTuXNIxAChKBOFNhU/dA0ibb3ftUh/vTaWipOCIz7gkPQupKSt/nd\r\nqoxjuFOVzGRtKhOFbc+ZqXhMV+z31GkhzdQB1kQVIwbmZZ4Ygx2WNnS0LOrC\r\nJS+CWM2GpQeOGvNTD6ypxMLavecgwKRivdbpfikGCcWyVM5GuIALmN19zQG5\r\nN2f1tITS06f8DzJHtHbivk6GRkxsyhhpFyBmiwDpWT94qHO2JhftquTxyiWr\r\nSEsh4BzyOpJCAh3r8c2anblD4RzXSrOWsHzFS9AcxvU3j/Z1PE5VnX8XSl3K\r\nB7p9kCyMh1TyUsox1iZ3DXqKrx29yhYly2yMqL74gnVWs1L5QZ8HoE3UkxrH\r\n91Tcb9KNGkH3sfk1YcXv1SHyVTnQ5ET7QHfvBlouwULrG2QGIs1Q9gG/aQbk\r\nRA8XCJbGx2hhR8hIUR2Qev8gSdMpXUakFkQ=\r\n=TQj5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.6_1650915473639_0.4638899464058226"},"_hasShrinkwrap":false},"2.1.7":{"name":"@herbsjs/herbs2gql","version":"2.1.7","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"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","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbs":"^1.4.5","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"83b167b874695801997bc6abbe9b11684faa718b","_id":"@herbsjs/herbs2gql@2.1.7","_nodeVersion":"14.19.3","_npmVersion":"8.7.0","dist":{"integrity":"sha512-3fouZA/8QeMMzT4jwmHl6jpE/qlmERgHiQq7hPs9zmY/R2AuhFPHOlI9lC2tEeBW+MKvxhsfc5XB0Cni15iBoQ==","shasum":"61042a6a3d8e94c37db5a1a87f6f247c97419057","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.1.7.tgz","fileCount":42,"unpackedSize":150804,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCg41l4uVrSfxjjxxnaCScvaivICAxkQ4QRDVTcMu+ISAIgZJ/1m4hbqQAWC88LYa3pIcy0r8fR2M/nnjLac0WVWIw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiozZfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpsKhAAkvhaxkAc4t4+ynEMwWP7gjA3iW7Du5YlkyAB0UiJwGQk6JCE\r\nb41AgPNP+1qM8fNsE14NVtldzg98tpJSSXQwuVj8AhJN5MMAq6hoYxeqP8Gr\r\n7hd80eKmfnL0owPJPQC382dBpgdtBle4rhpIWNb/VIwhayymqGYybw4V12Rf\r\ntBA4ybg2oiNGxzRql+HvGVC3/gtN5i3ap7nfH8wAoS4GP8uO/xxICo+O6w4K\r\nKBldTJP+6xUiRcxyph76POlpWS8KFxXsLwKnKZ7vkhZHu7/8yvJN0L17jXHX\r\no//j31DzH9xoeY6SPu2/OmfcwI4K5NtJ6c7pf9neZAgF7LeUzh6Vvl+B0Cje\r\nCVaxAuiF1VqD8iXVVvTw02KftnVR6XlGK3nwxRfatfQHh4ifCYDmuKNmY8O4\r\n0uV2d/sHhrcn7DN7z2KHkoUmCtM5wCNEN5sKyHR3a0Diu3ZYWZzx1yWCZqWu\r\nI82xsAjPkIDBuyWu6KnjFOv2mg3GdBj/yRG5mzLSgMCU6g/tDRLzIBZSLMX6\r\nvTSPrpvkQUzXLhOVWKDtKQvuRjsCRQLHhuhqnBVqECkzkgi16/+IQoO4E7iP\r\niiTqlmEhQfqpTH2VlFxR4FsZ2tBB11vZxDP0KacuwznNoUYyboBOCCHg1cmR\r\nc8kk0jVb6vDkGDf5hpG5RD67qBd5kqjhY98=\r\n=m5es\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"},"maintainers":[{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/herbs2gql_2.1.7_1654863454882_0.4589744380363112"},"_hasShrinkwrap":false},"2.2.0":{"name":"@herbsjs/herbs2gql","version":"2.2.0","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.4.0","@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","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^10.0.0","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.2","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.4.5","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"54f61cff1c5fc68464857757239e170bba68344a","_id":"@herbsjs/herbs2gql@2.2.0","_nodeVersion":"14.19.3","_npmVersion":"8.7.0","dist":{"integrity":"sha512-5h9RdX7HEdi05rYfaLsWb/ZQ7gxBnk2Xog1WJKOOPq8eFAprSbBMHFDZaFJM6smlGweUBUy03P1uzszssr4ZLg==","shasum":"e0a4f3b8ce9047ab4ba1d5257b552d236b5af47e","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.2.0.tgz","fileCount":45,"unpackedSize":156578,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIASmBx3xbjlOls6ccAJXv4xzFYVDSnxIhsHi4yk5zgkUAiEAvfdOr32L/8f+x+TiEK73F7sy1I71P9YabyO9Y1XEs3M="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivMkFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqH8g//T8J4idqt90VbBf+9KnPih1tqBOKaXOgbFBgjl2UQq8Duf/VR\r\ne/XRpK7B4OWDCakeoIPmP1aMV23x/QF+TJGOhJNnxD+6Ukzqh60oibxn6AYT\r\n+AL6hGyIpUgSHbEvMvvsAQDeHDvJMWOXn9Eq35KhjZEskXVw0sc2RPMum4VI\r\nbeMEZbKK1HCHfFTTTvzlhlqGc7+LajL63E+TT6iQRF1zJF3gQot3ImuQ5uOz\r\nd5ZyDJHFO1ha2upTmC3n8coStjJP4rwYL18PT2nRIb2I3UZfN/JDtuo6yYYa\r\nE4MtSYDNXxLTcNqxvUSpvldJQ2vnFUngQUyHvUWhvPaaYBQe10s+bfqU8gT1\r\njVyckc7HZf19mlXBnFPz6UV3Mo/iYRPiwYpS6Sq+k7+pTSqmb+/0Ujp3BGcx\r\nW0ByyUSbiY7hZ++dKmL4/j1ib47b+iRZI5lpEZaJm41CbERxj/CZGbZnDmtq\r\n5tGiHWe27xYPuijmEb+mJI4wawS5LWxWBL0+OAr04lwEVMph6pcXndmknEkf\r\nWY91NG+j7mpKFuV6MpBL8LYeziI+8BD7ux1gHTuO/raxKVFN3d/yLZBPyoku\r\nkfrbpl83G3N1waUoJr1JxsIvi+m5fnPcpwo5W1RRIQCk5stDZAlaf8+chujX\r\nIAksNWkNFLBMXkXpDOBbH1luzKpUf2kv2Jg=\r\n=40G7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_2.2.0_1656539397794_0.2950112967087728"},"_hasShrinkwrap":false},"2.2.1":{"name":"@herbsjs/herbs2gql","version":"2.2.1","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@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.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"4719ee6669deddbfdb1cdccfe1c2c08cfa7101ca","_id":"@herbsjs/herbs2gql@2.2.1","_nodeVersion":"14.20.0","_npmVersion":"8.7.0","dist":{"integrity":"sha512-7weFM1y/XPNcjaT9gOAQB6cEN8rmfhrLiHTEF0IXfeBNAI4PGFbwm9mDNpIrGjAmPrTNl9i1F/VEJ7/y68ZpuA==","shasum":"efa31c60f62181fc503099798b4899f7ceb94a01","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.2.1.tgz","fileCount":45,"unpackedSize":157026,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH0qY6jEGmorb0Y2LINLCjNf1hk3ehzIdiIQTLFEp6/XAiEAqo8sLk0lH3tAaytol1i222WEvCNgDbst5cixfnkvt0c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+oCNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomNQ/+IIMoUteyFrWvyqKS5BiS+L5kY0i1J0KsVLd7CaUNOqkEaFEO\r\n/dc22JHgBen/auGG/hO/bneU5diZI5CGgARl0cSLL7/fm7fIYmxc9bu9mySW\r\n4ZLL6FnEjRyLjpm/dRMcuGKTXxKrXROXHnWLq6hmdw8KQLjpnw23F29djBiO\r\n6WqweqBjc1hJY+Jvmplg9OvHOhwrou/OzmwL4AxgmfEbq+lzXH1jO542Itt5\r\nLVBKZDIqS/eK1VoB3iSPgK+ELY7iw712PkdlhpeqZy95DklJdagaCcoZbpLj\r\n+TXTYXBVaRJDg4DHj7UbTLJheSWiAxTDY2nNTy249Wcns72caynzb7jiFVBm\r\npA4+0EoyzPupa2PYaI5BoN9/KCMUzhLipehIDvXEHb6OrSSFd2sY5aUQJLHD\r\nIILWti1UE6uI1+iWxKKg1U+kXfsaqkZmQc45/AJ7Uk8fOkYty7sLi0f1nx3R\r\n+1/hD+KAkZLrvLxMgDR+52uCW1kVAQjL1Yk5UG99r1Os8sgThlAsjvO+mfq8\r\nx8iD58oujBscgTPdRnedzMCbVcSNrHCuXyAK60dOhx0qbEzQ2zP09q9sCQMH\r\nip8u8QEdEKMF7xCfkheNFIvhIPaXiKgjzCWtGL4bc9VJmtvnAng80DdPHZ6U\r\nwTvdYAszDKo4JAMh11T46PXzympVRYCTxT4=\r\n=YybL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_2.2.1_1660584077528_0.1153036457628438"},"_hasShrinkwrap":false},"2.3.0":{"name":"@herbsjs/herbs2gql","version":"2.3.0","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@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.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^1.6.2","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"f26ba73762fc953f39ad6f544447fdc4892c95b1","_id":"@herbsjs/herbs2gql@2.3.0","_nodeVersion":"14.20.0","_npmVersion":"8.7.0","dist":{"integrity":"sha512-hwxqkeAPTBrbKai7Br8jIJiAL1WjdRdghdybLa6zLvz8lfBWfyBjyvTzbQO0sjJL+yBXIHW4619G9dWajBXa3A==","shasum":"dae70b8c94c2d34f5d8bad1a21375474ffc39a2d","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-2.3.0.tgz","fileCount":45,"unpackedSize":157313,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAywTOiJpcDg2DZOc3HAGVYpIjMK/hYCZ2xMOClClpHUAiEA1uHxjCMVKE2OG8wYtHqtf8wwmdcU1nm2t7yc9Ib/t2o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGSeNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp35w//QHQYMyIn72db0t50pFaddhrIi0Djhk6zCymmXqfro4yJdsXd\r\nAKsz3oUYVrapd9LUgbATZ8fk1qDF5i9+mUYcmfOV2+FWoly8C35COCyKuYrR\r\n80HEUAiiefkQR3xYHg02jxciEiXjtG9oENrI8xb79CBG9Xl/A299LmCnI+ee\r\nCnitzv1wL3shwncG1RUGGrYFajzBZLoGFLeXi3Mfj1XsIxjFhk2uZWRlfdKh\r\nlEQvA7xXWHqmsg2bdrTjCKwtnYfpLikwxmLlXcWSieEt52sI/ydqC0/cPROu\r\nJrAb3dqSZWKgiqSczs8gzfDkdnvoG65kwBLjWroMYIX+34weVQKf9X6TVpY/\r\nj/Im69hX1BatKXs7rl3LoTPeUBXFF221hN2+bv92V4RBnWaRdT91/ALSstiw\r\nDI2GopOyq7Q6er0JYQ1QDOQ4TLmN4u5hXo9CZwqQaw94cgzpz2eR3P2oTU8G\r\nY7PFzQV9gWbGnflX5wc2oa9KRf6XEM2RQo0uIwB0Pf3kpfG4H6SWTcyLiDQ6\r\n6FLN7eNoVdZcKO3BJaIp+DKRu4vxa79C5CPCE0o9m6GYWSU3tbgvxEonzwLd\r\nTk7wzQ9PzGU37oZ4/sK3U8kN1bTGzq0V6paQQypgjyAQiXf2TSKA7spG/hNm\r\nf9LDbqA6hd3z51lNjqV5uAHYvBPHPpnDOIg=\r\n=mA4n\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_2.3.0_1662592909280_0.6107261908820025"},"_hasShrinkwrap":false},"3.0.0":{"name":"@herbsjs/herbs2gql","version":"3.0.0","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 14.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@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.4","@semantic-release/npm":"^9.0.1","@semantic-release/release-notes-generator":"^10.0.3","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.0.0","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"gitHead":"1e3faab1e28d0115b2b071daf3b2125d2e866ea6","_id":"@herbsjs/herbs2gql@3.0.0","_nodeVersion":"14.21.3","_npmVersion":"8.7.0","dist":{"integrity":"sha512-LofEsuHKwObvKaxXcqJZmojyS7hOVqFlEPj0B4JI/frelwgrl1iARlo1Yyrbgx/qyprKSdLZHy8+HNHvMlrktQ==","shasum":"13cb77bc34739d47bc5bfdc09f2cd72d300b35bc","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-3.0.0.tgz","fileCount":45,"unpackedSize":158264,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqMaj14Pl9PhXOaNpPS/8moqqUN8wh6kZth7zian+2kAiEAlmzxIDB7UiLU157tPaiQnd5myEGgK04WfVRFC4bzhxE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkByPFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvDQ//fatU/M4dUKkDDqqqGda55tjPiNii0pfSHXqNel3yedxg2ZDA\r\n741MmWhlrw2DR8bbVqPz0kL1OFJL69dLfoj/WQQJQl50LgX1xdufIGF5eArr\r\nnQc/mPxE/ixofY6IpjvRX8ZUBwM7ej/4yVuZcNAcn4Wqw0ktfJcqZ3iB4t+/\r\nmALFBeFKifSo4nzoNbTNuMblCDZ2dbvMuLu3NYQ9sxLOwqe82p/4JJSPec/e\r\nRMFmooINH/7/53hmRTmJP1ecrVbWKINREsrnMvnqr0E5VqqAsXGrMCPlqiLZ\r\nxKmD3578xoQFMWpqhmJQPkC6RGx/uijGjY+ZRlxyidiG30iVcSvHwjquLxF/\r\nqIgvTBGZ/OdCM2yYdeuU8eYjBLcOnvAT0wYx8svPjcSuQOvHwDHOmJQaabyJ\r\nrWUFg9FkFzIg92hm6xVQ2VdWZVs5cJ5qicUTkdpEMis8gZzLProyV/PsyKHT\r\nJskt1AYtHOU2iP5Sv6vx0QK7eoKqTKA52qXguJg7wSLEmS4r2hZ06wRDmbjU\r\nsD7I1o3iHYRlLyeDSsQUyji2sLRcf45PevGfO0ZAdz81LabUWfFEX8NrfgrB\r\nxR3Ne42i37fDvfcRC4rDCDnhLfaNtC1QrRuUdS9cm6vV83ubzzPTydY5eSTG\r\nnUaOMlKj//7NR8rshmQ7tywxutra/ohf/X0=\r\n=8Cwx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_3.0.0_1678189509008_0.734760149924305"},"_hasShrinkwrap":false},"3.1.0-beta.1":{"name":"@herbsjs/herbs2gql","version":"3.1.0-beta.1","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 16.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.4.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","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.4.0","@herbsjs/herbs":"^2.1.0-beta.4","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"readme":"# herbs2gql\n​\nherbs2gql creates GraphQL types based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)), based on [Apollo](https://www.apollographql.com/) GraphQL.\n​\n### Installing\n​```\n    $ npm install @herbsjs/herbs2gql\n​```\n\n### Using\n​\nAll methods returns a string in GraphQL format representing the type based ([gql](https://www.apollographql.com/docs/apollo-server/api/apollo-server/#gql)) and a [resolver](https://www.apollographql.com/docs/apollo-server/data/resolvers/) (when expected).\n​\n### Herbarium integration\nIf your project uses `Herbarium` as discovery service you can use herbs2gql with less code:\n\n```javascript\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { herbs2gql } = require('@herbsjs/herbs2gql')\n\nconst { mutations, queries, types } = herbs2gql(herbarium)\n```\n\n#### GraphQL Type\n​\nTo convert a Herbs Entity to GraphQL Type:\n​\n```javascript\nconst { entity2type } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('User', {\n    id: field(String),\n    name: field(String),\n    document: field(String),\n    age: field(Number),\n    active: field(Boolean),\n})\n​\nconst gql = entity2type(entity)\n```\n​\n#### GraphQL Input\n​\nTo convert a Herbs Entity to GraphQL Input:\n​\n```javascript\nconst { entity2input } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('UserFilter', {    \n    name: field(String),    \n    age: field(Number),    \n})\n​\nconst gql = entity2input(entity)\n```\n​\n#### GraphQL Query\n​\nTo convert a Herbs Use Case to GraphQL Query:\n​\n```javascript\nconst { usecase2query } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Get User', {\n    request: {\n        id: Number,\n        document: String\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2query(usecase, resolverFunc)\n```\n​\n#### GraphQL Mutation\n​\nTo convert a Herbs Use Case to GraphQL Mutation:\n​\n```javascript\nconst { usecase2mutation } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\n#### GraphQL Subscription\n​\nTo convert a Herbs Use Case to GraphQL Subscription:\n​\n```javascript\nconst { usecase2subscription } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('New User Notification', {\n    request: {\n        id: Number,        \n    },\n​\n    response: UserMessage\n})\n​\nconst resolverFunc = () => { }\n​\nconst [gql, resolver] = usecase2subscription(usecase, resolverFunc)\n```\n​\n#### GraphQL Resolvers\n​\n`herbs2gql` provides a generic resolver implementation for mutations and queries.\n​\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n​\nconst updateUser = (injection) => usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser))\n```\n​\nIn case you need to implement your own resolver:\n​\n```javascript\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\nOr you can use `herbs2gql` [`defaultResolver`](https://github.com/herbsjs/herbs2gql/blob/master/src/defaultResolver.js) implementation as a reference. \n\n#### Error Handling\n\n`herbs2gql` deals with errors in the default resolver. It translates the usecase's errors into graphql errors:\n\n| Usecase Error            | Apollo Error   |\n|--------------------------|----------------|\n| Permission Denied        | ForbiddenError |\n| Not Found                | ApolloError    |\n| Already Exists           | ApolloError    |\n| Unknown                  | ApolloError    |\n| Invalid Arguments        | UserInputError |\n| Invalid Entity           | UserInputError |\n| Any other kind of errors | UserInputError |\n\nHowever, it's behavior can be overridden in the `errorHandler` property of the options parameter:\n\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n\nYour custom error handler can also utilize the `defaultErrorHandler` as a fallback:\n\n```javascript\nconst { defaultResolver, defaultErrorHandler } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n\n    // use the default error handler when there is no need of a specific treatment\n    return defaultErrorHandler(usecaseResponse)\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n​\n#### Custom Names or Conventions\nIn Herbs it is possible to include personalized names for queries, mutations, inputs and types\ncustom names are always prioritized\n​\n#### Custom Names\n​\n```javascript\nconst options = { inputName: 'An-Entity' }\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Conventions\nAt the convention, a function must be sent, it must return a text formatted according to the sended convention\n```javascript\nconst options = { convention: { inputNameRule: (str) => `snake_case_returned` }}\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Apollo Errors and Err\n\nHerbs2gql translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to Apollo Errors as described in the documentation.\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/herbs2gql/blob/master/.github/CONTRIBUTING.md)\n​\n---\n​\n### License\n​\n- [MIT License](https://github.com/herbsjs/herbs2gql/blob/master/LICENSE)","readmeFilename":"README.md","gitHead":"2a8a32d01694875bcac68a474fc948c896b2c0e3","_id":"@herbsjs/herbs2gql@3.1.0-beta.1","_nodeVersion":"16.19.1","_npmVersion":"8.7.0","dist":{"integrity":"sha512-Xf/XaymHGoyOEYo2IQOcu9UudqO3t9VwfFuQra+uy39sGE/t05Qfdvd+bwEmXXDt4wN8PCrZM8bYf26ge+08Ug==","shasum":"b213c323484c97f7ab09ecf28e97e87d88d5d859","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-3.1.0-beta.1.tgz","fileCount":45,"unpackedSize":158771,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTC5DSdBpLWItb0Emf760AEbxQ4HOtSaPf+VNbtUpyXwIhALjnO3KXpE0IjlWgBR2dvYy2vi+kocHaRluSjJVJph6u"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJdbKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQ2A/6A6pRrcoJwC7FIvXnAXpWoPvSjGPxoJiuD32g1o+sYkFfw6fl\r\nbDsXXC3Lx8V32GJFsKa55JTXg7Uw3lLLyU00UmtVMUPYBWaQ1i+OEHAC6FVD\r\nG4Iu2GbGqTsrGbRffArIuCe81MR/OPwWvypifzN0gbivpY149OPk7CZt+GHB\r\ntqcctW6ubTExf0CO3nos7fMB95NZbUZF6Wc2YIxF3yoKB/Cq2v/97sDI554k\r\nBZ2N/BQyhxZNIYmn9rfBfJptmnCdOahUAGC7k/eoaRR3ZP3XkJMykPKDe97L\r\nKjO5IVbMwBtAtYKpjHBHE+IRDsqgpuluEAzo1NAY5B8JAjbHiewQ1XhO5Q94\r\nbcxZ3oM5lrNVD+F0sHYrFSEyLUN1yJyfVUVc4eAidgSZE1H9r+RyeaUozdW2\r\n6XwAe11cdAbtJueJfbRRoad4zQAHWg8M9ZXjuwuSL1B9xOautNPP5z3eDSaM\r\nDWmVfmap0x5pU03Rf5Nxsdw+eBFbwtU/eBTD2aF6HbxlVfgYKw+HWsyEcFn4\r\npukF80Ls+5hkXtiP1HsY2IdHZ1uwNRCs4epaa1RRVPMI43Y3QAe/h3TmZSwA\r\nzaopzHBvSJNcphfPzsLbA2xwWALFgzQh7W7eYCef2Rs+B3SMEJvEkwH5N/tZ\r\nVNF1761CEUc6p1LGQdnbFCtzBpRuAvMHbtA=\r\n=qUQ1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_3.1.0-beta.1_1680201417868_0.33457468733388707"},"_hasShrinkwrap":false},"3.1.0-beta.2":{"name":"@herbsjs/herbs2gql","version":"3.1.0-beta.2","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 16.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","@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","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"readme":"# herbs2gql\n​\nherbs2gql creates GraphQL types based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)), based on [Apollo](https://www.apollographql.com/) GraphQL.\n​\n### Installing\n​```\n    $ npm install @herbsjs/herbs2gql\n​```\n\n### Using\n​\nAll methods returns a string in GraphQL format representing the type based ([gql](https://www.apollographql.com/docs/apollo-server/api/apollo-server/#gql)) and a [resolver](https://www.apollographql.com/docs/apollo-server/data/resolvers/) (when expected).\n​\n### Herbarium integration\nIf your project uses `Herbarium` as discovery service you can use herbs2gql with less code:\n\n```javascript\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { herbs2gql } = require('@herbsjs/herbs2gql')\n\nconst { mutations, queries, types } = herbs2gql(herbarium)\n```\n\n#### GraphQL Type\n​\nTo convert a Herbs Entity to GraphQL Type:\n​\n```javascript\nconst { entity2type } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('User', {\n    id: field(String),\n    name: field(String),\n    document: field(String),\n    age: field(Number),\n    active: field(Boolean),\n})\n​\nconst gql = entity2type(entity)\n```\n​\n#### GraphQL Input\n​\nTo convert a Herbs Entity to GraphQL Input:\n​\n```javascript\nconst { entity2input } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('UserFilter', {    \n    name: field(String),    \n    age: field(Number),    \n})\n​\nconst gql = entity2input(entity)\n```\n​\n#### GraphQL Query\n​\nTo convert a Herbs Use Case to GraphQL Query:\n​\n```javascript\nconst { usecase2query } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Get User', {\n    request: {\n        id: Number,\n        document: String\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2query(usecase, resolverFunc)\n```\n​\n#### GraphQL Mutation\n​\nTo convert a Herbs Use Case to GraphQL Mutation:\n​\n```javascript\nconst { usecase2mutation } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\n#### GraphQL Subscription\n​\nTo convert a Herbs Use Case to GraphQL Subscription:\n​\n```javascript\nconst { usecase2subscription } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('New User Notification', {\n    request: {\n        id: Number,        \n    },\n​\n    response: UserMessage\n})\n​\nconst resolverFunc = () => { }\n​\nconst [gql, resolver] = usecase2subscription(usecase, resolverFunc)\n```\n​\n#### GraphQL Resolvers\n​\n`herbs2gql` provides a generic resolver implementation for mutations and queries.\n​\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n​\nconst updateUser = (injection) => usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser))\n```\n​\nIn case you need to implement your own resolver:\n​\n```javascript\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\nOr you can use `herbs2gql` [`defaultResolver`](https://github.com/herbsjs/herbs2gql/blob/master/src/defaultResolver.js) implementation as a reference. \n\n#### Error Handling\n\n`herbs2gql` deals with errors in the default resolver. It translates the usecase's errors into graphql errors:\n\n| Usecase Error            | Apollo Error   |\n|--------------------------|----------------|\n| Permission Denied        | ForbiddenError |\n| Not Found                | ApolloError    |\n| Already Exists           | ApolloError    |\n| Unknown                  | ApolloError    |\n| Invalid Arguments        | UserInputError |\n| Invalid Entity           | UserInputError |\n| Any other kind of errors | UserInputError |\n\nHowever, it's behavior can be overridden in the `errorHandler` property of the options parameter:\n\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n\nYour custom error handler can also utilize the `defaultErrorHandler` as a fallback:\n\n```javascript\nconst { defaultResolver, defaultErrorHandler } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n\n    // use the default error handler when there is no need of a specific treatment\n    return defaultErrorHandler(usecaseResponse)\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n​\n#### Custom Names or Conventions\nIn Herbs it is possible to include personalized names for queries, mutations, inputs and types\ncustom names are always prioritized\n​\n#### Custom Names\n​\n```javascript\nconst options = { inputName: 'An-Entity' }\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Conventions\nAt the convention, a function must be sent, it must return a text formatted according to the sended convention\n```javascript\nconst options = { convention: { inputNameRule: (str) => `snake_case_returned` }}\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Apollo Errors and Err\n\nHerbs2gql translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to Apollo Errors as described in the documentation.\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/herbs2gql/blob/master/.github/CONTRIBUTING.md)\n​\n---\n​\n### License\n​\n- [MIT License](https://github.com/herbsjs/herbs2gql/blob/master/LICENSE)","readmeFilename":"README.md","gitHead":"7143222942f71d3bdbd5f53b4f7f15dea304f1ab","_id":"@herbsjs/herbs2gql@3.1.0-beta.2","_nodeVersion":"16.20.0","_npmVersion":"8.7.0","dist":{"integrity":"sha512-zlbwdsO4zDvII/GP/jTKWJ2XZxWBqauI1HkyKBxbYC4grHWDNIL6BRY1ks3Y3B25Hm1vayoPRQoVFVJ5oIhFvA==","shasum":"b15eacb9118f4cd700939fdbb6d89b678a963c1f","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-3.1.0-beta.2.tgz","fileCount":45,"unpackedSize":159825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmHoRJ3ky/jjMqhmzNgUV37vw4uGNVYPLVXOD5CN7hIwIgGu5+Xrl+SzRpbHbZFyeUfsIFkFkDA2dGBmpAQKrgTOI="}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_3.1.0-beta.2_1687462789841_0.3510072441973737"},"_hasShrinkwrap":false},"4.0.0-beta.1":{"name":"@herbsjs/herbs2gql","version":"4.0.0-beta.1","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 16.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","@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","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"readme":"# herbs2gql\n​\nherbs2gql creates GraphQL types based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)), based on [Apollo](https://www.apollographql.com/) GraphQL.\n​\n### Installing\n​```\n    $ npm install @herbsjs/herbs2gql\n​```\n\n### Using\n​\nAll methods returns a string in GraphQL format representing the type based ([gql](https://www.apollographql.com/docs/apollo-server/api/apollo-server/#gql)) and a [resolver](https://www.apollographql.com/docs/apollo-server/data/resolvers/) (when expected).\n​\n### Herbarium integration\nIf your project uses `Herbarium` as discovery service you can use herbs2gql with less code:\n\n```javascript\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { herbs2gql } = require('@herbsjs/herbs2gql')\n\nconst { mutations, queries, types } = herbs2gql(herbarium)\n```\n\n#### GraphQL Type\n​\nTo convert a Herbs Entity to GraphQL Type:\n​\n```javascript\nconst { entity2type } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('User', {\n    id: field(String),\n    name: field(String),\n    document: field(String),\n    age: field(Number),\n    active: field(Boolean),\n})\n​\nconst gql = entity2type(entity)\n```\n​\n#### GraphQL Input\n​\nTo convert a Herbs Entity to GraphQL Input:\n​\n```javascript\nconst { entity2input } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('UserFilter', {    \n    name: field(String),    \n    age: field(Number),    \n})\n​\nconst gql = entity2input(entity)\n```\n​\n#### GraphQL Query\n​\nTo convert a Herbs Use Case to GraphQL Query:\n​\n```javascript\nconst { usecase2query } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Get User', {\n    request: {\n        id: Number,\n        document: String\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2query(usecase, resolverFunc)\n```\n​\n#### GraphQL Mutation\n​\nTo convert a Herbs Use Case to GraphQL Mutation:\n​\n```javascript\nconst { usecase2mutation } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\n#### GraphQL Subscription\n​\nTo convert a Herbs Use Case to GraphQL Subscription:\n​\n```javascript\nconst { usecase2subscription } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('New User Notification', {\n    request: {\n        id: Number,        \n    },\n​\n    response: UserMessage\n})\n​\nconst resolverFunc = () => { }\n​\nconst [gql, resolver] = usecase2subscription(usecase, resolverFunc)\n```\n​\n#### GraphQL Resolvers\n​\n`herbs2gql` provides a generic resolver implementation for mutations and queries.\n​\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n​\nconst updateUser = (injection) => usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser))\n```\n​\nIn case you need to implement your own resolver:\n​\n```javascript\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\nOr you can use `herbs2gql` [`defaultResolver`](https://github.com/herbsjs/herbs2gql/blob/master/src/defaultResolver.js) implementation as a reference. \n\n#### Error Handling\n\n`herbs2gql` deals with errors in the default resolver. It translates the usecase's errors into graphql errors:\n\n| Usecase Error            | Apollo Error   |\n|--------------------------|----------------|\n| Permission Denied        | ForbiddenError |\n| Not Found                | ApolloError    |\n| Already Exists           | ApolloError    |\n| Unknown                  | ApolloError    |\n| Invalid Arguments        | UserInputError |\n| Invalid Entity           | UserInputError |\n| Any other kind of errors | UserInputError |\n\nHowever, it's behavior can be overridden in the `errorHandler` property of the options parameter:\n\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n\nYour custom error handler can also utilize the `defaultErrorHandler` as a fallback:\n\n```javascript\nconst { defaultResolver, defaultErrorHandler } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n\n    // use the default error handler when there is no need of a specific treatment\n    return defaultErrorHandler(usecaseResponse)\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n​\n#### Custom Names or Conventions\nIn Herbs it is possible to include personalized names for queries, mutations, inputs and types\ncustom names are always prioritized\n​\n#### Custom Names\n​\n```javascript\nconst options = { inputName: 'An-Entity' }\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Conventions\nAt the convention, a function must be sent, it must return a text formatted according to the sended convention\n```javascript\nconst options = { convention: { inputNameRule: (str) => `snake_case_returned` }}\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Apollo Errors and Err\n\nHerbs2gql translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to Apollo Errors as described in the documentation.\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/herbs2gql/blob/master/.github/CONTRIBUTING.md)\n​\n---\n​\n### License\n​\n- [MIT License](https://github.com/herbsjs/herbs2gql/blob/master/LICENSE)","readmeFilename":"README.md","gitHead":"d79992bcd0c7e9b41dd2d5c776364ed13f66363b","_id":"@herbsjs/herbs2gql@4.0.0-beta.1","_nodeVersion":"16.20.0","_npmVersion":"8.7.0","dist":{"integrity":"sha512-M//GH5NbbmC1fS2Irv8HWXwaicNUHnIMPDWg2M+YuaZ9//v1Ax25lsxlGaN97BgzD49KSkIycddABwP5DV2lIQ==","shasum":"37d378af15111bbe3e3d2fc6ecc65420274dc2e6","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-4.0.0-beta.1.tgz","fileCount":47,"unpackedSize":161010,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTB3SCMB2wGwg6tRle844pPQS5yG4PYVH7X2UCbNBlGAiBIq0wtIOA+adIupQYdVXZQExGMk205eOXVKV6weZ3m3A=="}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_4.0.0-beta.1_1687801595657_0.04234047353619608"},"_hasShrinkwrap":false},"4.0.0-beta.2":{"name":"@herbsjs/herbs2gql","version":"4.0.0-beta.2","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 16.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","@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","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"readme":"# herbs2gql\n​\nherbs2gql creates GraphQL types based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)), based on [Apollo](https://www.apollographql.com/) GraphQL.\n​\n### Installing\n​```\n    $ npm install @herbsjs/herbs2gql\n​```\n\n### Using\n​\nAll methods returns a string in GraphQL format representing the type based ([gql](https://www.apollographql.com/docs/apollo-server/api/apollo-server/#gql)) and a [resolver](https://www.apollographql.com/docs/apollo-server/data/resolvers/) (when expected).\n​\n### Herbarium integration\nIf your project uses `Herbarium` as discovery service you can use herbs2gql with less code:\n\n```javascript\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { herbs2gql } = require('@herbsjs/herbs2gql')\n\nconst { mutations, queries, types } = herbs2gql(herbarium)\n```\n\n#### GraphQL Type\n​\nTo convert a Herbs Entity to GraphQL Type:\n​\n```javascript\nconst { entity2type } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('User', {\n    id: field(String),\n    name: field(String),\n    document: field(String),\n    age: field(Number),\n    active: field(Boolean),\n})\n​\nconst gql = entity2type(entity)\n```\n​\n#### GraphQL Input\n​\nTo convert a Herbs Entity to GraphQL Input:\n​\n```javascript\nconst { entity2input } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('UserFilter', {    \n    name: field(String),    \n    age: field(Number),    \n})\n​\nconst gql = entity2input(entity)\n```\n​\n#### GraphQL Query\n​\nTo convert a Herbs Use Case to GraphQL Query:\n​\n```javascript\nconst { usecase2query } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Get User', {\n    request: {\n        id: Number,\n        document: String\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2query(usecase, resolverFunc)\n```\n​\n#### GraphQL Mutation\n​\nTo convert a Herbs Use Case to GraphQL Mutation:\n​\n```javascript\nconst { usecase2mutation } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\n#### GraphQL Subscription\n​\nTo convert a Herbs Use Case to GraphQL Subscription:\n​\n```javascript\nconst { usecase2subscription } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('New User Notification', {\n    request: {\n        id: Number,        \n    },\n​\n    response: UserMessage\n})\n​\nconst resolverFunc = () => { }\n​\nconst [gql, resolver] = usecase2subscription(usecase, resolverFunc)\n```\n​\n#### GraphQL Resolvers\n​\n`herbs2gql` provides a generic resolver implementation for mutations and queries.\n​\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n​\nconst updateUser = (injection) => usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser))\n```\n​\nIn case you need to implement your own resolver:\n​\n```javascript\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\nOr you can use `herbs2gql` [`defaultResolver`](https://github.com/herbsjs/herbs2gql/blob/master/src/defaultResolver.js) implementation as a reference. \n\n#### Error Handling\n\n`herbs2gql` deals with errors in the default resolver. It translates the usecase's errors into graphql errors:\n\n| Usecase Error            | Apollo Error   |\n|--------------------------|----------------|\n| Permission Denied        | ForbiddenError |\n| Not Found                | ApolloError    |\n| Already Exists           | ApolloError    |\n| Unknown                  | ApolloError    |\n| Invalid Arguments        | UserInputError |\n| Invalid Entity           | UserInputError |\n| Any other kind of errors | UserInputError |\n\nHowever, it's behavior can be overridden in the `errorHandler` property of the options parameter:\n\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n\nYour custom error handler can also utilize the `defaultErrorHandler` as a fallback:\n\n```javascript\nconst { defaultResolver, defaultErrorHandler } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n\n    // use the default error handler when there is no need of a specific treatment\n    return defaultErrorHandler(usecaseResponse)\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n​\n#### Custom Names or Conventions\nIn Herbs it is possible to include personalized names for queries, mutations, inputs and types\ncustom names are always prioritized\n​\n#### Custom Names\n​\n```javascript\nconst options = { inputName: 'An-Entity' }\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Conventions\nAt the convention, a function must be sent, it must return a text formatted according to the sended convention\n```javascript\nconst options = { convention: { inputNameRule: (str) => `snake_case_returned` }}\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Apollo Errors and Err\n\nHerbs2gql translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to Apollo Errors as described in the documentation.\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/herbs2gql/blob/master/.github/CONTRIBUTING.md)\n​\n---\n​\n### License\n​\n- [MIT License](https://github.com/herbsjs/herbs2gql/blob/master/LICENSE)","readmeFilename":"README.md","gitHead":"14e0b11eec25cfad44eb9409995aa594948f73e3","_id":"@herbsjs/herbs2gql@4.0.0-beta.2","_nodeVersion":"16.20.0","_npmVersion":"8.7.0","dist":{"integrity":"sha512-tmlM0O+wJzpVtK0jffl0zsImxDV/dxHwfOgf3qp2Ai4+/Vpm7rtmd/c4cQ/xJNt32tLeAF0buHKu6yHYSyZkHQ==","shasum":"6654da16fa90cc5c847b30ca2594a1af0bbc6795","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-4.0.0-beta.2.tgz","fileCount":47,"unpackedSize":162857,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2R68pmvCdWLLdyDcAzV4zrza7gjnQJGtBuNFf/vlQzwIgAklNh5bYzQrSsz4uiVELlsyecd0fLZB/7LnGZ5d1EW4="}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_4.0.0-beta.2_1687962869302_0.03062603307396472"},"_hasShrinkwrap":false},"4.0.0-beta.3":{"name":"@herbsjs/herbs2gql","version":"4.0.0-beta.3","description":"Domain entities javascript library.","main":"./src/herbs2gql.js","scripts":{"test":"mocha --timeout 999999 --colors --recursive ./test","coverage":"nyc --reporter=lcov --reporter=text-summary mocha src/**/*.test.js npm test","lint":"npx eslint \"**/*.{js,jsx}\" --quiet","lint:fix":"npx eslint \"**/*.{js,jsx}\" --fix","semantic-release":"semantic-release","commit":"cz"},"directories":{"lib":"src","test":"test","example":"examples"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"engines":{"node":">= 16.x"},"keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"author":{"name":"David Lojudice Sb"},"license":"MIT","homepage":"https://github.com/herbsjs/herbs2gql#readme","dependencies":{"lodash":"^4.17.21"},"devDependencies":{"@babel/eslint-parser":"^7.18.2","@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","@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","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","babel-eslint":"^10.1.0","cz-conventional-changelog":"^3.3.0","dotenv":"^16.0.1","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","graphql":"^16.5.0","mocha":"^9.2.2","nyc":"^15.1.0","prettier":"^2.6.2","semantic-release":"^19.0.3","serialize-javascript":">=6.0.0"},"peerDependencies":{"@herbsjs/herbarium":"^1.5.0","@herbsjs/herbs":"^2.1.0-beta.6","apollo-server":"^3.8.2","apollo-server-express":"^3.8.2","express":"^4.18.1","graphql":"^16.5.0"},"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"publishConfig":{"access":"public"},"readme":"# herbs2gql\n​\nherbs2gql creates GraphQL types based on herbs entities ([gotu](https://github.com/herbsjs/gotu)) and usecases ([buchu](https://github.com/herbsjs/buchu)), based on [Apollo](https://www.apollographql.com/) GraphQL.\n​\n### Installing\n​```\n    $ npm install @herbsjs/herbs2gql\n​```\n\n### Using\n​\nAll methods returns a string in GraphQL format representing the type based ([gql](https://www.apollographql.com/docs/apollo-server/api/apollo-server/#gql)) and a [resolver](https://www.apollographql.com/docs/apollo-server/data/resolvers/) (when expected).\n​\n### Herbarium integration\nIf your project uses `Herbarium` as discovery service you can use herbs2gql with less code:\n\n```javascript\nconst { herbarium } = require('@herbsjs/herbarium')\nconst { herbs2gql } = require('@herbsjs/herbs2gql')\n\nconst { mutations, queries, types } = herbs2gql(herbarium)\n```\n\n#### GraphQL Type\n​\nTo convert a Herbs Entity to GraphQL Type:\n​\n```javascript\nconst { entity2type } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('User', {\n    id: field(String),\n    name: field(String),\n    document: field(String),\n    age: field(Number),\n    active: field(Boolean),\n})\n​\nconst gql = entity2type(entity)\n```\n​\n#### GraphQL Input\n​\nTo convert a Herbs Entity to GraphQL Input:\n​\n```javascript\nconst { entity2input } = require('@herbsjs/herbs2gql')\n​\nconst entity = entity('UserFilter', {    \n    name: field(String),    \n    age: field(Number),    \n})\n​\nconst gql = entity2input(entity)\n```\n​\n#### GraphQL Query\n​\nTo convert a Herbs Use Case to GraphQL Query:\n​\n```javascript\nconst { usecase2query } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Get User', {\n    request: {\n        id: Number,\n        document: String\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2query(usecase, resolverFunc)\n```\n​\n#### GraphQL Mutation\n​\nTo convert a Herbs Use Case to GraphQL Mutation:\n​\n```javascript\nconst { usecase2mutation } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\n#### GraphQL Subscription\n​\nTo convert a Herbs Use Case to GraphQL Subscription:\n​\n```javascript\nconst { usecase2subscription } = require('@herbsjs/herbs2gql')\n​\nconst usecase = usecase('New User Notification', {\n    request: {\n        id: Number,        \n    },\n​\n    response: UserMessage\n})\n​\nconst resolverFunc = () => { }\n​\nconst [gql, resolver] = usecase2subscription(usecase, resolverFunc)\n```\n​\n#### GraphQL Resolvers\n​\n`herbs2gql` provides a generic resolver implementation for mutations and queries.\n​\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n​\nconst updateUser = (injection) => usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser))\n```\n​\nIn case you need to implement your own resolver:\n​\n```javascript\nconst usecase = usecase('Update User', {\n    request: {\n        id: Number,\n        name: String,\n        age: Number,\n        active: Boolean\n    },\n​\n    response: User\n})\n​\nconst resolverFunc = (parent, args, context, info) => { }\n​\nconst [gql, resolver] = usecase2mutation(usecase, resolverFunc)\n```\n​\nOr you can use `herbs2gql` [`defaultResolver`](https://github.com/herbsjs/herbs2gql/blob/master/src/defaultResolver.js) implementation as a reference. \n\n#### Error Handling\n\n`herbs2gql` deals with errors in the default resolver. It translates the usecase's errors into graphql errors:\n\n| Usecase Error            | Apollo Error   |\n|--------------------------|----------------|\n| Permission Denied        | ForbiddenError |\n| Not Found                | ApolloError    |\n| Already Exists           | ApolloError    |\n| Unknown                  | ApolloError    |\n| Invalid Arguments        | UserInputError |\n| Invalid Entity           | UserInputError |\n| Any other kind of errors | UserInputError |\n\nHowever, it's behavior can be overridden in the `errorHandler` property of the options parameter:\n\n```javascript\nconst { defaultResolver } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n\nYour custom error handler can also utilize the `defaultErrorHandler` as a fallback:\n\n```javascript\nconst { defaultResolver, defaultErrorHandler } = require('@herbsjs/herbs2gql')\n\nconst myCustomErrorHandler = (usecaseResponse) => {\n    // handle the errors on your own way\n\n    // use the default error handler when there is no need of a specific treatment\n    return defaultErrorHandler(usecaseResponse)\n}\n\nconst options = {\n    errorHandler: myCustomErrorHandler\n}\n\nconst updateUser = usecase('Update User', {\n    // usecase implementation\n})\n\nconst [gql, resolver] = usecase2mutation(updateUser(), defaultResolver(updateUser, options))\n```\n​\n#### Custom Names or Conventions\nIn Herbs it is possible to include personalized names for queries, mutations, inputs and types\ncustom names are always prioritized\n​\n#### Custom Names\n​\n```javascript\nconst options = { inputName: 'An-Entity' }\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Conventions\nAt the convention, a function must be sent, it must return a text formatted according to the sended convention\n```javascript\nconst options = { convention: { inputNameRule: (str) => `snake_case_returned` }}\n​\n// for entity2input\nconst gql = entity2input(givenAnInput, options)\n​\n// for entity2type\nconst gql = entity2type(givenAnEntity, options)\n​\n//for mutation, query or subscription example using mutation\nconst [gql, resolver] = usecase2mutation(givenAnUseCase, resolverFunc, options)\n```\n​\n#### Apollo Errors and Err\n\nHerbs2gql translates Herbs [Known Errors​](https://herbsjs.org/docs/usecase/result#known-errors) to Apollo Errors as described in the documentation.\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/herbs2gql/blob/master/.github/CONTRIBUTING.md)\n​\n---\n​\n### License\n​\n- [MIT License](https://github.com/herbsjs/herbs2gql/blob/master/LICENSE)","readmeFilename":"README.md","gitHead":"fffa7e76d27bfdb36732b0b7f3f97079e677884a","_id":"@herbsjs/herbs2gql@4.0.0-beta.3","_nodeVersion":"16.20.2","_npmVersion":"8.7.0","dist":{"integrity":"sha512-ghAxORxVHIYtM83//AVK09x9+uLcvneF7KlqnCXC+RkkGAvl5GdP6yKcib+NBRAYJ6XUNdtmsrQRhAmg1as6PA==","shasum":"df3cec3368e9ac9abb29cda4526a400626dd9bea","tarball":"https://registry.npmjs.org/@herbsjs/herbs2gql/-/herbs2gql-4.0.0-beta.3.tgz","fileCount":47,"unpackedSize":163472,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIXrjCPYi8YqO/15lwG/HzPVrKFa9v2RnjWzEgwRi14AIhAMN9aIq+kTbUUAvEgQaUzffbNHPDqKc8QrqLa8bAUqZW"}]},"_npmUser":{"name":"herbsjs-robot","email":"goto@herbsjs.org"},"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/herbs2gql_4.0.0-beta.3_1711194892205_0.9061396653641058"},"_hasShrinkwrap":false}},"time":{"created":"2021-06-23T13:37:45.904Z","1.0.0":"2021-06-23T13:37:46.412Z","modified":"2024-03-23T11:54:53.041Z","1.1.0":"2021-11-09T19:00:12.222Z","2.0.0":"2021-12-04T16:27:09.689Z","2.0.1":"2022-01-15T16:57:04.790Z","2.1.0":"2022-02-14T11:37:45.898Z","2.1.1":"2022-04-11T13:25:03.906Z","2.1.2":"2022-04-16T14:01:30.357Z","2.1.3":"2022-04-16T14:03:49.361Z","2.1.4":"2022-04-20T13:57:30.237Z","2.1.5":"2022-04-20T14:17:26.850Z","2.1.6":"2022-04-25T19:37:53.817Z","2.1.7":"2022-06-10T12:17:35.102Z","2.2.0":"2022-06-29T21:49:57.953Z","2.2.1":"2022-08-15T17:21:17.728Z","2.3.0":"2022-09-07T23:21:49.447Z","2.3.1":"2023-03-06T19:02:26.222Z","2.3.2":"2023-03-06T19:28:23.038Z","3.0.0":"2023-03-07T11:45:09.161Z","3.1.0-beta.1":"2023-03-30T18:36:58.035Z","3.1.0-beta.2":"2023-06-22T19:39:50.014Z","4.0.0-beta.1":"2023-06-26T17:46:35.849Z","4.0.0-beta.2":"2023-06-28T14:34:29.519Z","4.0.0-beta.3":"2024-03-23T11:54:52.360Z"},"maintainers":[{"name":"herbsjs-robot","email":"goto@herbsjs.org"},{"name":"dalssoft","email":"dalssoft@gmail.com"},{"name":"jhomarolo","email":"jhonathanmarolo@hotmail.com"}],"description":"Domain entities javascript library.","homepage":"https://github.com/herbsjs/herbs2gql#readme","keywords":["domain","entity","graphql","api","herbsjs","clean architecture"],"repository":{"type":"git","url":"git+https://github.com/herbsjs/herbs2gql.git"},"author":{"name":"David Lojudice Sb"},"bugs":{"url":"https://github.com/herbsjs/herbs2gql/issues/"},"license":"MIT","readme":"","readmeFilename":""}