{"_id":"@anfema/grpc-code-generator","_rev":"9-69d8d5e6cf7ba3ea092eb08ae7e249a6","name":"@anfema/grpc-code-generator","dist-tags":{"latest":"3.0.1"},"versions":{"0.3.0":{"name":"@anfema/grpc-code-generator","version":"0.3.0","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","main.build":"tsc --project src/","main.dev":"tsc --watch --project src/","test.gen":"node dist/main.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava"},"bin":{"grpc-code-generator":"dist/main.js"},"devDependencies":{"@types/node":"^10.5.5","@types/uuid":"^3.4.3","@types/yargs":"^11.0.0","ava":"^1.0.1","del-cli":"^1.1.0","grpc":"^1.16.1","uuid":"^3.1.0","typescript":"^3.0.1"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^12.0.1"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"6ef2585883162a600b72fb0abd260da02725813e","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@0.3.0","_npmVersion":"6.4.1","_nodeVersion":"11.4.0","_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"dist":{"integrity":"sha512-D8dvfkFmKiD8ZEQgI8hHRLRjGR4gqpWbaZAP5HHppfhyonyFKb6rqcOx4rr19pJMldLbLY6p4j+DUYe32yyCmQ==","shasum":"8ba64d7feffff223078cb22a8eacc432882ae4da","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-0.3.0.tgz","fileCount":41,"unpackedSize":68308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSKA1CRA9TVsSAnZWagAAZ4kP/jRfkhvfrLMO7nbqKuxn\nopI4iuBLcFMSjNMMvRwy9p+pXeT4Nq5ShKOfA8FDgxSBXB8jFQNq+uPJRnbL\nBjuG/iEezOPZctaV05vzr3GgyUgEJEjNmIijkBk6M6B5ozzgi2D3QQRuAFNK\naNPwvGYaWF6GSkNSB3VubwiNTyYCL/RrQCMVlV5cENrlRrWCH0FYkMNn9NcT\nvuph/3/3jbCZ7dTl3gv/0Tn1MAfIlGHSx4dNMzS8G5FdoiIK5FKyX2Cok3nE\nv/6ADffqzyZY1++ZCFouS3qzapd9126+Y05rG50jzkj2G1ziZJulaocXVLy7\nh+M82Yak9E2o3+UuZPqDSfJrqymT5uo5SxzpvwvobNHKfuYnQMykvBSAmKa0\nHruwT3SickHko0lSFEaLSAhyf0qVWYacgSwaU8vERAhuXd2I38o+z014sGEP\nsFqRab+UKoQ89N7fbyDYgaGxO3oTIIN+Cf+oqjFfzWprGq2vG0wz86nmUURN\nMPHp5R/b79cRYTJVjXgYh1mZ/B8f/iBwZTqeJKpE/O7XPEDxMhGln/d8hgEw\nm3mybKrxZhBXv+uLgp4+U8ALuix4n0KbA08IFv80jrEA510OHdgn8WlL2RTw\nm4NegpmEL0pfDPl633SUEQyTV3yZpFU3gPRVKkgATl5dSi8ofoE10OPm3hTH\ndDmt\r\n=xJyi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgDsgnQLDo4CpIac8znrVMJ3IeltlGOUDZmuVvskAmdwIhAIKj8y9zD3Yk9eVm9EhC3q34OKSzqC+pseeYpGXtdwtL"}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_0.3.0_1548263476455_0.4147263285109415"},"_hasShrinkwrap":false},"2.0.0":{"name":"@anfema/grpc-code-generator","version":"2.0.0","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","main.build":"tsc --project src/","main.dev":"tsc --watch --project src/","test.gen":"node dist/main.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava"},"bin":{"grpc-code-generator":"dist/main.js"},"devDependencies":{"@types/node":"^10.5.5","@types/uuid":"^3.4.3","@types/yargs":"^11.0.0","ava":"^1.0.1","del-cli":"^1.1.0","grpc":"^1.16.1","uuid":"^3.1.0","typescript":"^3.0.1"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^12.0.1"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"cf76c98142dc44b75da810f696b9743da5c9a950","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@2.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"dist":{"integrity":"sha512-LMJQRaXfRi9bJfD3RhJrq+FYI+ktUD0DlLArm2rLtoZPWdngdAv2UYHgW917vokZJ2NwTQJlY5fLRfiBZc6HEw==","shasum":"85eabf9c837f36aae8b0084252b8b650c0b3eb83","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-2.0.0.tgz","fileCount":41,"unpackedSize":68382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcf+W1CRA9TVsSAnZWagAATBsP/3QXIMjmH0T++1YiTldW\nDfSZVSk3JT+l6Bgu0cmD4LWGyNYPtej8f2Uyn8cONXVXAqQ7lbS4ltYOkTiN\n8cZEJo77CUGHPwZv6GJGL6GyN9mmRraQZMeGj0xXHLonIEXzFGU7L5lGeej6\nAQg/WsVAn38I6itU//K3xrjn5FfLkogMDp5jzpfnpuJD1Ar9JW2TgxYZnD5K\ngADn4DYkvrDPYbF7e3mx5wXtWFqBPU0iWrIe/D1XcKOT4ix69gW/06RZtUgo\n8T68q9PtRd95KcVpJOhPFcbrRIQ/Mm+TDOtVmx2VIAd1FnPf8I473fQiTbh6\nS5cSozGWX3C4LTduDBvnUuVAdUth2sEgDvZB/UzODj3jtuSnli80nLpFVtt8\naMG/DnSkPwENO6+O1NNlRgMrqRbGg8K9B9BTaO41R5KOoVnruSF5ciDse8HF\nNuWtCnOM4Xl1fH9C1gMKkbZjopIFTYDkEvvgI36gnhq75eVIj/rOIWMoQTlr\n/eMLY6RVpgfkCRNgDWyV+QJKzuNuH536/tluxYSIgPg5C8i1UUze5SKI9Ec+\nLVkdJwUr+1Y+8JpDURvKnsRyNnOU7uLuN5aadK8VFNtCA7OBU+gDCy7gxJN0\npmbwI0FuZnusIJK88K8H35ScFfF45Yr9R6yqFA+nkMtJcZgNDQLAlHfeIz9l\njBQc\r\n=ZABI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmfliKjpWBTJ/D+TU+Y1WaAdyFN8vzsVfB1uhcqLE+/AIgVHSlg5rOWtuIciU0BvZTYp/IdDQWuDmK0GZbXcgCaEI="}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_2.0.0_1551885748430_0.1901730683266154"},"_hasShrinkwrap":false},"2.0.1":{"name":"@anfema/grpc-code-generator","version":"2.0.1","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","main.build":"tsc --project src/","main.dev":"tsc --watch --project src/","test.gen":"node dist/main.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava"},"bin":{"grpc-code-generator":"dist/main.js"},"devDependencies":{"@types/node":"^10.14.8","@types/uuid":"^3.4.3","@types/yargs":"^11.0.0","ava":"^1.4.1","del-cli":"^1.1.0","grpc":"^1.21.1","typescript":"^3.5.1","uuid":"^3.1.0"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^12.0.1"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"d66ec39b3831e89384318d1441cfd00cfe917b16","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@2.0.1","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-UplVsXJlKrbO4vrqIndNrJqQTMRq4XGzRNNER4zEFyMXshkQBuMAaVJZpRVhGFAoMtM2Hu4iRl1ZakJrGv3D/Q==","shasum":"3ceea353c1335a4ff6a026312cef2bc2f190c5a7","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-2.0.1.tgz","fileCount":41,"unpackedSize":68430,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+NlECRA9TVsSAnZWagAAycUQAKOxzm+g+xy1ADmZt2Sn\nWbjrlPPnqGV9UwITzWwwHGStOXzwRIyQY+XKH02THijyopT9kiSQH0cURDwJ\nKTCDp3Lx2B5PiMJ5/cB/6HY15TBRKnh1WohaUj88ZsFlOeZrZGS5JB/A0uTq\nMjAnEJW/tqQPQXHQz2WYaoHrPDSPOd7GAy1fQFzgtDnYyibPJL8V79qYU33S\n3fj72dQm2YdMtfp3n4BCWV3No4HtgWd4LxUuhtuxUYga5X1J/JPDy71I1PMN\nv1toqpb80yxqhf4j8Xuxbcr2WWC2qTMfCjZtshPBaBDEOoPBeqqy3UdcwC2S\nLyVH3KHz331qbo5X/0sjmC50rADZjAHUmsOzq7tKcqTu0nBeypm9DKV/bGxH\niLk/42iu5QGlmbIx2n1q5koz2i4SvimWp4Etdw1u8DINoHjqNCy98b6j/WHB\nT+NRTzBI+bgI4iGmffRzXasvxFm2dXDfaNsDzHI1MRQXhCNS3hMFwgtcYgWN\nAVzYw4gIaI78tNlEBTvWC0coZT/eyF7yGi5phmWjP5U99YsmBYyOFF0urrUp\nJS1RaUgWb+eplqsfnjq903Bw6Xk618akE6K7eBDSuqC75E7E5qVn7CRt3Pzx\nXbp2K7cYwclGPfHrzmNj5gLmVQLv8t1QkFEBvlfiz2V3NlLtQyq7U1UbDL1o\nLwla\r\n=82Eq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC0C4iXbh5YG4+yad8hduoBpdD1xBTOmLl6Dvv0n+i2NAiAL8ky7GyO+5WcQZx2ERcAWnhBdO4aj/PtjMSnJg3jfBQ=="}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_2.0.1_1559812420081_0.4297094937196224"},"_hasShrinkwrap":false},"2.0.2":{"name":"@anfema/grpc-code-generator","version":"2.0.2","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","link":"mkdir -p node_modules/@anfema/grpc-code-generator/dist && ln -fs ../../../../dist/templates node_modules/@anfema/grpc-code-generator/dist/templates","main.build":"npm run link && tsc --project src/","main.dev":"npm run link && tsc --watch --project src/","test.gen":"node dist/cli.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava"},"bin":{"grpc-code-generator":"dist/cli.js"},"devDependencies":{"@types/node":"^12.6.2","@types/uuid":"^3.4.5","@types/yargs":"^13.0.0","ava":"^2.2.0","del-cli":"^2.0.0","grpc":"^1.22.2","typescript":"^3.5.3","uuid":"^3.1.0"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^13.2.4"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"de1e00feea6e55becc067ebdffbc33dd8b6c85af","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@2.0.2","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-8dqcwMu8ukMCz0EHCnSCLAYc0iCroJ6YBzfowCbMUGl0KNHPDuVFshuQGcAb2EE0vWH3wqmNVzZ06g7Uy1h7GQ==","shasum":"b9ffd457f6929cd1aa970c328b85bf8c96d14d63","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-2.0.2.tgz","fileCount":47,"unpackedSize":72302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLErLCRA9TVsSAnZWagAATTAP/jbtfCzaUYIo+1B/muMR\nYJHXdbQDrL4sgNewJslw2mPs3DcfayIvx3u0YMsylfcX9l6JQFVnMg26lQVP\nfLMw3zer/L8oq9Q1CK2aMwgf0AcNhG5u1i1BqawnGgls7fROI2KbHticA3xc\nJnsWSneHCJZAGcy3b77jtWK8xep5LgpwwjXMO1BNIOBpBFWsGCKQOD8wXHDX\nfa7eYm4LVdo62S/ZlitUOQ+xWzOmed7IAlKQGVEX/GGZmRBF2P3Je8aEZok2\neoGSAWwneLHv59jEayG+QzYjaJif66tq2/uugcPhxCWR8zYg43G8tc1rof2M\n8ETLSe4fJjdV/x89MX0AwMIrW3unJeSqkT10wMPMeizbVvGBjmdJWnCFxwXW\n68UOqD16m9GvH7TGbDTvn8Z5jKcKMbMHiZ63fsXfWmuPSF3Eb0wJ8J+vU+1l\nV9ylA3kVYY1GKNgLHhI8u/QgRad1MVUHe0s7TOmRFHBZZrRKm5mbSbzgsG9S\ntD+ufzxsj5vvDiMc8CKoqhpNA8eEUcHq0SOnMxNWLM6oaansf6F+ZdXHRAPG\nyqqJ9lonAvxUUbjDEVM98GE2IRYUj9tCVFi/1Q0P9t2hC1wAqGEc8zBEeZdJ\n+DvSGCtuPM+HccUJJnRuiFJKd1lMBPO8+y3pMrSCVSuATGtWsG/+3aaEveLK\nVd0h\r\n=f7qC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHtSqZmxd8Ye4w/qxSshp1VPWttfDRUB48oSf9rUlECwAiEArzZC1RDFEYC+YP/6yIbAlQBx0mqELxOpBdYGtdus2/g="}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_2.0.2_1563183818531_0.5832825129881902"},"_hasShrinkwrap":false},"2.0.3":{"name":"@anfema/grpc-code-generator","version":"2.0.3","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","link":"mkdir -p node_modules/@anfema/grpc-code-generator/dist && ln -fs ../../../../dist/templates node_modules/@anfema/grpc-code-generator/dist/templates","main.build":"npm run link && tsc --project src/","main.dev":"npm run link && tsc --watch --project src/","test.gen":"node dist/cli.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava"},"bin":{"grpc-code-generator":"dist/cli.js"},"devDependencies":{"@types/node":"^12.6.2","@types/uuid":"^3.4.5","@types/yargs":"^13.0.0","ava":"^2.2.0","del-cli":"^2.0.0","grpc":"^1.22.2","typescript":"^3.5.3","uuid":"^3.1.0"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^13.2.4"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"a1602560c5afba8459449f28897cb8783fd7ed80","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@2.0.3","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-wuAzUEGQLW35UYET1egiZ5WI5Ry5nXjNGmBflTrTZRSLY6Iv5qD/OOdPcSvfMbk27G/Xd/TzlvCxb49+a0O00Q==","shasum":"16e4edce16d1a7e21e1e4ed8278f63d3c30d9c48","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-2.0.3.tgz","fileCount":47,"unpackedSize":72239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLJUBCRA9TVsSAnZWagAAw3UP/11P7GpktnJBwZJZLRnm\nlHXnZNE5hECrGxll41k0Oiw11waL1QUSYDX6ss9ITR/qOWPKPDq+fzklPjQc\nr5wrzsY6Q433I3yWN1t5Pb1z0MTUGhgOXDQU61xtRkdJLw54oNtnRC42oeD6\n7FHcqXHGqJfDyVDTIcbDlPCXzEyfK802635CtjzZdDrocIUPfLEUBc8C8tNA\n+AJlNWQ87MMiDk+onPV3S1ZF70yxMiJv3aYzoU9mx+6eLqeFG2tRsa+bb0en\nEbwZz6a/Jr4aLtBWKN47/1A/LvxqZ5tywAdpX+8BFI8b6iamL2ClgaoJQrmB\nilY+MWJahAx5KjXJMFxQFnjfRFqy70czEHzjJyDjUGJb/7VCrYFgflag0itl\nYanmnZHjqv+xZUoJQcTNVuoEp8DAEkgWYmXDk5ytiavCAMaAirrN3u5OE2SC\nRQpL4uHvb7CXAs2oLsBWCJ4C0VFhPWQgI1NGgMZrQMfal7G+jyU5nh+PxYPm\nnzn0CBiKRZErRRzlzvjwosVHryqg9wBJApl0Lx3rYQdyhYwLm7CQNmhO3l2e\n5FetpalOE0qoqp0VTiC6vHWXTekB0qpEG/1el9I3Vkda7VZ5TU3J4RLcFoZD\nea6EUuL/GtilCP5HB2U9pjs5j3e+GrICJ224ZP27akqQK/Mhe8yFHyzEnSDw\ndy0y\r\n=M2ik\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwDe6uz8MchuaJvDTMqpdKgLBPfrfZVT3Jsqv3lIF1JAiBQLgwnldj2vZw3uGpZHTE+SZC1sN5a6B8G0l7J2QcXgA=="}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_2.0.3_1563202816661_0.7492765105329586"},"_hasShrinkwrap":false},"2.0.4":{"name":"@anfema/grpc-code-generator","version":"2.0.4","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","link":"mkdir -p node_modules/@anfema/grpc-code-generator/dist && ln -fs ../../../../dist/templates node_modules/@anfema/grpc-code-generator/dist/templates","main.build":"npm run link && tsc --project src/","main.dev":"npm run link && tsc --watch --project src/","test.gen":"node dist/cli.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava"},"bin":{"grpc-code-generator":"dist/cli.js"},"devDependencies":{"@types/node":"^12.7.3","@types/uuid":"^3.4.5","@types/yargs":"^13.0.2","ava":"^2.3.0","del-cli":"^2.0.0","grpc":"^1.23.3","typescript":"^3.6.2","uuid":"^3.3.3"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^13.3.0"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"c173cbdf8b152ad2760fff685820b0ffb849d3f5","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@2.0.4","_nodeVersion":"12.9.1","_npmVersion":"6.10.3","dist":{"integrity":"sha512-H9AeIzlYuSxtKzmeOVuU0rtUqC8D1Om/3SpEBQ5XOWRotf4yES8XuchcsB2eHndNuMzqGbxIQAPUZmKZkvlEjg==","shasum":"61593a1cd0dd669d32ac009fbfacff481b95db44","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-2.0.4.tgz","fileCount":47,"unpackedSize":73681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdblgUCRA9TVsSAnZWagAAlKYP/1cKwvWg5beBw9qX0OPA\nyXdyeAfRZLjt/GB+4QwlxiH1cg9rN5Qo+FiESBPvRKzlyxztEDZZ7oJbYL8v\nP9rnBpXGSJNndkQusc75Unn8u2ktmVOJ6RbdfL9vPuLKbqjMnnMCgETtQXEk\nUnEJad6UFABKuDvIuV1kTqfNPjCORZAUmiBE2JoM1oUneUL3kc6tuSlabyor\nCVagSoy2ng0/MrokiIU5PGkIhojnkOMVfAVP/2CFTLby3qTIS8PI9+ecgJkD\nRk1uyxS6DVb/4aog89Xhla+3Qf0cd9pHcC+mbw43dDiLNFy4BNVPQEP4mV1z\n2jSXXnrH4FcZfiTSaFvWK1iwaEWdCIfi+o3OCgbEUgViJ0APtJLEQNO/mW75\nJvDKjvp48x7pN3BzWyI7EI5vxh85Ww9EjhHEK9n0dawYpXuJ+T1Pqc6oBfVF\nyma/hRnGLMISyQHrG3eRmMl2Fzhekbe48/Kq11/5e3u5Q5nakFlG1U+1w7MD\nfiJeddfOeUaNN+Ja9UocryjLy+61iv0kvqYXSXQ/Skp39iwTL9FIMFNwp3Gy\nLpuElusAyJggb5FIIpwxSiM9UfmjbO3B08JM7V0ropMP5lysZcGFFL32sQ9b\nvEnmQ3cr3gysMy27fCeH7OJmzuz4oHEVL+tVpBLy3Q//GAPgCKkpYZ+RxukR\nBJFu\r\n=tPbu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+X9DXmvIDXbkUYihhBGcuC47HioJVHBGGpvOYOgqIDwIhALa0Yj6sG2Vm2mRJ6Clwb1HCN4OZ6K+Pg37BF8OQxRyv"}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_2.0.4_1567512596042_0.7994322914753602"},"_hasShrinkwrap":false},"2.0.5":{"name":"@anfema/grpc-code-generator","version":"2.0.5","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","link":"mkdir -p node_modules/@anfema/grpc-code-generator/dist && ln -fs ../../../../dist/templates node_modules/@anfema/grpc-code-generator/dist/templates","main.build":"npm run link && tsc --project src/","main.dev":"npm run link && tsc --watch --project src/","test.gen":"node dist/cli.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava","prepublishOnly":"npm run test"},"bin":{"grpc-code-generator":"dist/cli.js"},"devDependencies":{"@types/node":"^12.7.3","@types/uuid":"^3.4.5","@types/yargs":"^13.0.2","ava":"^2.3.0","del-cli":"^2.0.0","grpc":"^1.23.3","typescript":"^3.6.2","uuid":"^3.3.3"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^13.3.0"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"b984a41a49eb12e33f8b85dc2fbc33a79c564b35","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@2.0.5","_nodeVersion":"12.9.1","_npmVersion":"6.10.3","dist":{"integrity":"sha512-l7IprgzF0dcfE+KORMSik8OIiiq9h3pk12rjZedc/3LNyIswHRUplx4D4rerUPRVq9mVu5SOvbKOAYIMIJdCHw==","shasum":"cef64c595ac5ef3ed209a547f7614e33e3b0b231","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-2.0.5.tgz","fileCount":47,"unpackedSize":72563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbmEHCRA9TVsSAnZWagAA0gMQAJkWq293fOTtZ/F2rWcP\nyAXUxhO6xCK5aGXSOcUYa50QHBfG5Kxgo6mAanzIjtslQOsxAE+88yyxszic\nJtVxo+cX5/xBJhUjBZus+4RXQ+klgA0BraVKg3lnpkvXQMWzF/MLwwFTe5zq\n27OGMhdMb1OnIqc3dLo3hP4cwBte/JVIn9EX4pqOjMGHQY8xid7Fr2t1utGi\nzfF5bkwsQ3XDWTN4tyOLJRXbBu83A+JbJa+oimsulojs/jnHCsxkcgTJMdtm\npoZa1FUU0Gr0udmaBcQeF1jinn8k9NzQi1FzthvPFA/+Dm5XSj8x5g+4YtX8\n/Kf+E3jwt8IwpQxZe6r93D85Xr2ZYWkP9GACJygHZjwmAupoqKYcdmQdirQT\nBfup+lluQQon3urQJk9u0PiAF3hyv03/Q3GevJusOM/FZV/OvG+gLdYRbAsy\nQMgi2mKHsrnm8HRvcUNctjCLQGB4QZtF342p3AYzL1bxwrTNb7AbL4/yBQuH\njoroQpzrdHb2O04s2ga/pMmu+kRLFIPibn5FrqRa+Da21StnGA/TNpvrG1Dr\nNIbmakaQeC4Ij8a9+KhjSjMfmiTOP3CttdxBhpBQNYt1TX2HLPd2oeTyKvpz\nqmh2UeVsfnSvk5PEjool2STBC+GTdTaHNdUVVWpqiAsxOzmFGsU+TU8aRjja\nmV51\r\n=HGvs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCX2GrgdCNCNsBgvfHIC/x6el4KGhHSs5xIbK3QQKpOvwIhALF9up+2xQVF0z6mgl1gw0rATcnW8LI8n3/e4ioTTLbB"}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_2.0.5_1567514886548_0.5850134627641663"},"_hasShrinkwrap":false},"3.0.0":{"name":"@anfema/grpc-code-generator","version":"3.0.0","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","link":"mkdir -p node_modules/@anfema/grpc-code-generator/dist && ln -fs ../../../../dist/templates node_modules/@anfema/grpc-code-generator/dist/templates","main.build":"npm run link && tsc --project src/","main.dev":"npm run link && tsc --watch --project src/","test.gen":"node dist/cli.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava","prepublishOnly":"npm run test"},"bin":{"grpc-code-generator":"dist/cli.js"},"devDependencies":{"@types/node":"^12.7.3","@types/uuid":"^3.4.5","@types/yargs":"^13.0.2","ava":"^2.3.0","del-cli":"^2.0.0","grpc":"^1.23.3","typescript":"^3.6.2","uuid":"^3.3.3"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^13.3.0"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"5b680d70a3e9dfe5f1bde63d2ae3d66cf27a7bca","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@3.0.0","_nodeVersion":"12.9.1","_npmVersion":"6.10.3","dist":{"integrity":"sha512-rVK9WfpCN873aR/casPPL7G4uyVnSWzmXLo1BeNpMxCU0PAHiWWBkKQJvUB7GaGALNljbrVXLN/+z3FKnXE4BA==","shasum":"e0afb52feafa7599dadd055ea6a7eba633996301","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-3.0.0.tgz","fileCount":47,"unpackedSize":75539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJddle8CRA9TVsSAnZWagAAPhYP/A7JGmw+lKApmUNbmetT\nEL5ZflQ+oolkS09R4llDw+Wc2RLA1BzFTZrfw6CrOpWpGbMPqXg2J/H0xHdC\nHiRJ4La3NKDWQARCoILTHHYeWRaGHf5C8xpfECsJyKdEfnEOZ8tG+9HESMji\nIxdkn3Clr9zM6uAsVo1B5SNPSdv2DKXTMwCkX6xbaqv6ZIWv/Bq3GRwT9Wo4\n/NQORMm8ddyXnCjWgzTOwDvOMXiFXAuBERO4tDk39bYMSs/ujJycDTPGOgBB\nCsEHn6enHzuc/HL/kYACPfXAyXCkAWVhhihlCYOxmh442ukgr1oWH/wJdXOD\nESwuXmvZv4KigM7moGpSieCERxJ6AFR6ulH6JTCFoQpPthZZPsp0kFuYjpkv\nh8KS0nqHndPzHPeWYiNXl9tlXvvyPeWTv0DTft1YRfy+rstMaeMRgo9K9UKg\nYzob/jQqRUbUCNe0upbgI40zRBl5HxIxUKzvln57kYnRAwPXV7lS6LEQ+ySq\neL128a54pEuX+vu67a3A9w0J3JD3ShL5av8F6efdLCmkE7HAOpX97Qzu9otP\ncE9NIgkP4pjw8igA+6qRZ/g4fWNyQYKAg+0tIA/wgHBRFdFghFoRcFlyNny/\nhh8JNoXS4gObfNXKSSrBNQ+cOWEZ3cyp2rX5pacbodGcja8SS4Zf5ufO2kbk\nHZVC\r\n=smMA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCtHUtr+S7HdfDfS3seH31mzsf4uSiJ/IF3KPxTEc1xAIhAKsigcPS/A2hzlCx5WE7yMHmhNBgxmRfxB/MHqJllTN/"}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_3.0.0_1568036795683_0.7912329344856373"},"_hasShrinkwrap":false},"3.0.1":{"name":"@anfema/grpc-code-generator","version":"3.0.1","description":"A code generator for gRPC","license":"MIT","main":"dist/index.js","author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"scripts":{"build":"npm run main.build && npm run test.gen && npm run test.build","dev":"npm run main.dev & npm run test.dev & wait","clean":"del dist src/__tests__/gen/*","purge":"del node_modules","test":"npm run build && npm run test.run","link":"mkdir -p node_modules/@anfema/grpc-code-generator/dist && ln -fs ../../../../dist/templates node_modules/@anfema/grpc-code-generator/dist/templates","main.build":"npm run link && tsc --project src/","main.dev":"npm run link && tsc --watch --project src/","test.gen":"node dist/cli.js -o src/__tests__/gen src/__tests__/proto/test.proto","test.build":"tsc --project src/__tests__","test.dev":"tsc --watch --project src/__tests__","test.run":"ava","prepublishOnly":"npm run test"},"bin":{"grpc-code-generator":"dist/cli.js"},"devDependencies":{"@types/node":"^13.9.1","@types/uuid":"^7.0.0","@types/yargs":"^15.0.4","ava":"^3.5.0","del-cli":"^3.0.0","grpc":"^1.23.3","typescript":"^3.6.2","uuid":"^7.0.2"},"dependencies":{"protobufjs":"~6.8.0","yargs":"^15.3.1"},"engines":{"node":">=8.0.0"},"ava":{"files":["dist/__tests__/test*.js"],"failWithoutAssertions":false},"gitHead":"3120f848fe2a31eaff3a4d478f0333992f0e35d8","bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"homepage":"https://github.com/anfema/grpc-code-generator#readme","_id":"@anfema/grpc-code-generator@3.0.1","_nodeVersion":"13.11.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-OMZvwHQ1bzvNq8RgJ35HkpGYYYGlu4tHDOw2CRCxCitKJYQfMvmGNj0zM919s1ufudNn9Ss4dmlFIy7QqOb2wA==","shasum":"4859e33e92a47da2e02dba163e566c9e9d65cfb1","tarball":"https://registry.npmjs.org/@anfema/grpc-code-generator/-/grpc-code-generator-3.0.1.tgz","fileCount":47,"unpackedSize":75587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecJgRCRA9TVsSAnZWagAABysP/0GJ+4yuT7AsBOmzT8Sj\nEJmQheKbzbLQtRIsoGW6j+S7W0U9qvZu+s16EMBreEul5HR0mh6suxTewc94\nOrGqe59sR8OTIt9CYe2H3Y/NP2PK1LRd1ZEWJoUyjqDfhHnd+sUs5XHy81jm\nl5VWNTgxljELADf3+T6f/4eTDntlxSF+KdQuF8hlHGAnjAcyTgIbN017nQD8\nZjpcnWt1JAr1HuX1tAho/MiVy60DeZe+HwvRuOVLeBphcKah6Dc+vDqo640F\n1uOYozSLPy6EcSWlwPRddRuJYzqbPWh+ebuj4qBdHA9Jx5a/idLm76xcZRQc\n7HSSsM4sNeRsjlvreQVzt31m8qIKpXMm5lAuPjH49fw7FGlam5EO6bVBdJnm\nPxkBPv1w5DTXpRJYsT7aFWMI16UINxIWLfzMunaae7qDhLWCFakt4ZyO1Vgu\nNVh75eSi469jGyVE2bUfDNxJ02jd+y31cXg56kkkGaOa5UMN9cLdg5DL3opZ\nPvjemjE6BU2Hfsi9LAAYH+XRMp1trM0MvUOBKLzp27UKIj2Zh8dWAysWCoTy\nit7TT34VZgHgMC5JXeSUE6n2lp4tUUuKjceflNVHR79Wp/1fiNF2XqeKXXKb\n8Ta+ZG8GHlYDtlaCkpWQ5lm/lUyzqjg7WaZpPzjTdRnbKFVG9pwj3CJGikRN\nfJTr\r\n=c1+K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBzzZ6SEJ+DE9NQqLKuZkCb5s4JDoBbAvFQzDtwcvtblAiEAt2jhsQLtqufXnwI/o8hTnyUL1Uyel9z4TkNzKuS0OlQ="}]},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"_npmUser":{"name":"anfema","email":"npm@anfe.ma"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-code-generator_3.0.1_1584437264766_0.9472823329585265"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-23T17:11:16.274Z","0.3.0":"2019-01-23T17:11:16.602Z","modified":"2022-04-04T14:05:29.222Z","2.0.0":"2019-03-06T15:22:28.567Z","2.0.1":"2019-06-06T09:13:40.217Z","2.0.2":"2019-07-15T09:43:38.643Z","2.0.3":"2019-07-15T15:00:16.873Z","2.0.4":"2019-09-03T12:09:56.263Z","2.0.5":"2019-09-03T12:48:06.665Z","3.0.0":"2019-09-09T13:46:35.846Z","3.0.1":"2020-03-17T09:27:44.914Z"},"maintainers":[{"name":"anfema","email":"npm@anfe.ma"}],"description":"A code generator for gRPC","homepage":"https://github.com/anfema/grpc-code-generator#readme","repository":{"type":"git","url":"git+https://github.com/anfema/grpc-code-generator.git"},"author":{"name":"André Wachter","email":"a.wachter@anfe.ma"},"bugs":{"url":"https://github.com/anfema/grpc-code-generator/issues"},"license":"MIT","readme":"grpc-code-generator\n===\n\nA code generator for gRPC/protobuf `.proto` files. Contains templates for generating Typescript definitions for the plain callback/streams based API for [grpc-node](https://github.com/grpc/grpc-node) and protobuf message types.\n\n\nRunning\n---\n```sh\n$ yarn/npm run grpc-code-generator [options] path/to/main.proto [path/to/another.proto]\n```\n\nOptions can be specified on the command line or in a config file. If both are present, the command line options take precedence.\n\nOptions:\n```\n-o  --out <out_dir>\n\n    Output directory (default: src-gen/)\n\n-I  --proto_path <include_dir>     \n\t\n    Root path for resolving imports (may be specified multiple times, default: current working dir)\n\n-t  --templates <template1> [<template2> …]\n\n    Path to template modules used for generating code (default: builtin templates)\n\n-c  --config <file>\n\n    Path to JSON config file.\n```\n\nConfig file\n```\n{\n\t\"out\": \"<out_dir>\",\n\t\"proto_paths\": [\n\t\t\"<dir1>\",\n\t\t\"<dir2>\"\n\t],\n\t\"files\": [\n\t\t\"path/to/main.proto\",\n\t\t\"path/to/another.proto\",\n\t]\n}\n```\n\nGenerated files\n---\n| File                                     | Content                           |\n|------------------------------------------|-----------------------------------|\n|`/<package>/index.d.ts`                   | Interfaces for message types        |\n|`/<package>/<ServiceName>/grpc-node.d.ts` | Client/server typings with standard grpc-node interface |\n|`/message-base.d.ts`                      | Base message type with constructor |\n|`/grpc.d.ts`                              | Object with constructor functions for messages and service descriptions (what `grpc.load()` returns) |\n\n\nUsage\n---\nParametrize your grpc-node's `load()` function with the generated type description:\n\n```ts\nimport { load } from 'grpc';\n// Service type description for grpc.load()\nimport Description from './gen/grpc';\n\nconst grpc = load<Description>('src/tests/proto/test.proto');\n```\n\nServer side usage:\n```ts\nclass TestService implements TestService {\n\tunaryCall(call: ServerUnaryCall<Request>, callback: sendUnaryData<Response>): void {\n\t\tcallback(null, new grpc.Response());\n\t}\n\n\tstreamResponse(call: ServerWriteableStream<Request>): void {\n\t\tfor (let i = 0; i < request.count; i++) {\n\t\t\tcall.write(new grpc.Response());\n\t\t}\n\t\tcall.end();\n\t}\n\n\tstreamRequest(call: ServerReadableStream<Request>, callback: sendUnaryData<Response>): void {\n\t\tcall\n\t\t\t.on('data', (data: Request) => {\n\t\t\t\t/* */\n\t\t\t})\n\t\t\t.on('error', (error) => {\n\t\t\t\t/* */\n\t\t\t})\n\t\t\t.on('end', () => {\n\t\t\t\tcallback(null, new grpc.Response());\n\t\t\t});\n\t}\n\n\tstreamBidi(call: ServerDuplexStream<Request, Response>): void {\n\t\tcall\n\t\t\t.on('data', (data: Request) => {\n\t\t\t\tcall.write(new grpc.Response());\n\t\t\t})\n\t\t\t.on('error', (error) => {\n\t\t\t\t/* */\n\t\t\t})\n\t\t\t.on('end', () => {\n\t\t\t\tcall.end();\n\t\t\t});\n\t}\n}\n\nconst server = new Server();\n\nserver.addService(grpc.TestService.service, new TestService());\nserver.bind('0.0.0.0:3000', ServerCredentials.createInsecure());\nserver.start();\n```\n\nClient side usage:\n```ts\nimport { credentials } from 'grpc';\n// message types\nimport { Request, Response } from './gen';\n// adapter types\nimport { Client } from './gen/TestService/grpc-node';\n\nconst client = new grpc.TestService('0.0.0.0:3000', credentials.createInsecure());\n\n// unary request\nclient.unaryCall(new grpc.Request({ mode: 'normal' }), (err, response) => {\n\t/* */\n});\n\n// streaming response\nconst stream1 = client.streamResponse(new grpc.Request())\n\t.on('data', (response) => {\n\t\t/* */\n\t})\n\t.on('error', (error) => {\n\t\t/* */\n\t})\n\t.on('end', () => {\n\t\t/* */\n\t});\n\n// streaming request\nconst requestStream = client.streamRequest(cb);\nfor (let i = 0; i < 10; i++) {\n\trequestStream.write(new grpc.Request({ mode: 'normal' }));\n}\nrequestStream.end();\n\nconst stream = client.streamBidi()\n\t.on('data', (response) => {\n\t\t/* */\n\t})\n\t.on('error', (error) => {\n\t\t/* */\n\t})\n\t.on('end', () => {\n\t\t/* */\n\t});\n\nfor (let i = 0; i < 10; i++) {\n\tstream.write(new grpc.Request({ mode: 'normal' }));\n}\n// wait for responses, then\nstream.end();\n```\n\n\nDevelopment\n---\nGetting the sources\n```sh\n$ git clone https://github.com/anfema/grpc-code-generator.git\n# or\n$ git clone git@github.com:anfema/grpc-code-generator.git\n```\n\nInstall dependencies & build project\n```sh\n$ yarn\n#or \n$ npm\n```\n\nTasks:\n* Build once: `$ yarn/npm run build`\n* Build, watch files: `$ yarn/npm run dev`\n* Remove generated files: `$ yarn/npm run clean`\n","readmeFilename":"Readme.md"}