{"_id":"mgeneratejs","_rev":"112-8db8d34c03c1fee10d1ae1bdad1ad87f","name":"mgeneratejs","dist-tags":{"latest":"0.7.1"},"versions":{"0.1.1":{"name":"mgeneratejs","version":"0.1.1","license":"Apache-2.0","_id":"mgeneratejs@0.1.1","maintainers":[{"name":"rueckstiess","email":"thomas@rueckstiess.net"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"ab3c17dfd6cf1fb82ba36a883bfe77bf65add30e","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.1.1.tgz","integrity":"sha512-4Zqf4fy36x/e3EY42w7oWt+MUFkqT4d4TeCYg4IRYEmtwUcdNlCt42XuFYOzv0yIdS7mSgQisdUw3VDvurgMFw==","signatures":[{"sig":"MEUCIA5Mj/PAC9n1DwJjCUITLmEOdlE2M7KOodQMVuADCJlMAiEAsZsFX+6Aa/vYgM0l90f76NwVrj9iTqgiHLiKmWHlBXY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"ab3c17dfd6cf1fb82ba36a883bfe77bf65add30e","gitHead":"19ff1ebbe2d3792cc93b0256f32773a1d003b81b","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"3.6.0","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"5.7.0","dependencies":{"bson":"^0.4.23","faker":"^3.1.0","yargs":"^4.7.0","chance":"^1.0.3","lodash":"^4.12.0","event-stream":"^3.3.2","mongodb-extended-json":"^1.6.3"},"devDependencies":{"mocha":"^2.3.4","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.8","eslint-config-mongodb-js":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs-0.1.1.tgz_1464519873080_0.7118545442353934","host":"packages-12-west.internal.npmjs.com"}},"0.1.2":{"name":"mgeneratejs","version":"0.1.2","license":"Apache-2.0","_id":"mgeneratejs@0.1.2","maintainers":[{"name":"rueckstiess","email":"thomas@rueckstiess.net"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"c9f8f5155b6cfa3547f24c9579d9c79c5032dd3c","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.1.2.tgz","integrity":"sha512-Yw+LdhK19OHKdo+xxZdnrCUKzfHmfgQn3mUIbewLSxv+feT1MYLQBLJtxhWcNcT/Uouwg9+BCvnp3Iiwsybpfg==","signatures":[{"sig":"MEYCIQDVXVxG8qSgYPQ491cy6KVs66fwDPlO/d5kb8wp6N06rQIhANvF7MSXDclIaqCBWPBnEHAyx/S16UQYwBKiqVdDOBUC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"c9f8f5155b6cfa3547f24c9579d9c79c5032dd3c","gitHead":"24101d1b34f2ad63b679c46b468001d6a9977d46","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"3.6.0","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"5.7.0","dependencies":{"bson":"^0.4.23","faker":"^3.1.0","yargs":"^4.7.0","chance":"^1.0.3","lodash":"^4.12.0","event-stream":"^3.3.2","mongodb-extended-json":"^1.6.3"},"devDependencies":{"mocha":"^2.3.4","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.8","eslint-config-mongodb-js":"^1.0.6"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs-0.1.2.tgz_1464520745098_0.1441073885653168","host":"packages-16-east.internal.npmjs.com"}},"0.2.0":{"name":"mgeneratejs","version":"0.2.0","license":"Apache-2.0","_id":"mgeneratejs@0.2.0","maintainers":[{"name":"rueckstiess","email":"thomas@rueckstiess.net"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"e13ef01f11dcdaaf17919afa3df5965bda47fd24","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.2.0.tgz","integrity":"sha512-RQaQCz9JuuTBjagSE34Fd4Fp+ABb8yuD+V0je7AqoZDZ6OE6PaPx8Q33qi5y4vT1WIB6KMsdZXowkSCvxkziHg==","signatures":[{"sig":"MEQCH3G00tpG8s6n6NpJp2ZJ+CO2ev8CWMhuR+uZJuAUKigCIQC9iMAVPTXpmyQOyWeuBW06aXFT0GNcqd2gRjAOfEv/kA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"e13ef01f11dcdaaf17919afa3df5965bda47fd24","gitHead":"25d742b0779183a46d5bb4aec31c51f61c2be75d","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"3.10.3","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"6.3.1","dependencies":{"bson":"^0.5.5","faker":"^3.1.0","yargs":"^6.3.0","chance":"^1.0.3","lodash":"^4.12.0","event-stream":"^3.3.2","mongodb-extended-json":"^1.6.3"},"devDependencies":{"mocha":"^3.1.2","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.8","eslint-config-mongodb-js":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs-0.2.0.tgz_1478670867886_0.46170400246046484","host":"packages-18-east.internal.npmjs.com"}},"0.3.0":{"name":"mgeneratejs","version":"0.3.0","license":"Apache-2.0","_id":"mgeneratejs@0.3.0","maintainers":[{"name":"rueckstiess","email":"thomas@rueckstiess.net"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"a7ddfba380ffe3b4534f6abee029b03fb81d3825","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.3.0.tgz","integrity":"sha512-6Hp++NBfIZPT1zG8G+zBoe/98GCxXn+JL3dH7xw1QFmcab1gjwA2Ea/zCN4CxFA1DPHm9X1Xv8TdsIyQhpGDiA==","signatures":[{"sig":"MEYCIQCIoW+/+Q4LKQRjNuY1jhT8IywY8VVR69XldYzTElU7mQIhAJ59JVLfsjKHTeUiHKvWQ/Em/my61FiRdBPwfeDCOezt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"a7ddfba380ffe3b4534f6abee029b03fb81d3825","gitHead":"5177e5f598c8719fb2b7134191f2e9a5ad32884a","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"3.10.3","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"6.3.1","dependencies":{"bson":"^0.5.5","faker":"^3.1.0","yargs":"^6.3.0","chance":"^1.0.3","lodash":"^4.12.0","event-stream":"^3.3.2","mongodb-extended-json":"^1.6.3"},"devDependencies":{"mocha":"^3.1.2","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.9","eslint-config-mongodb-js":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs-0.3.0.tgz_1485949761952_0.10242069931700826","host":"packages-18-east.internal.npmjs.com"}},"0.3.1":{"name":"mgeneratejs","version":"0.3.1","license":"Apache-2.0","_id":"mgeneratejs@0.3.1","maintainers":[{"name":"rueckstiess","email":"thomas@rueckstiess.net"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"d58406eb52dc36fd16f8da469b12bb900ca59952","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.3.1.tgz","integrity":"sha512-lU+b5hL4dh9AKAC8KaT+/2PByuiCm216gKs/HYywaQhgwYdVque6phWfUaQfY2jcAPf/YWIk/UrsWEGjxVHtsg==","signatures":[{"sig":"MEQCIGAiy+XYJRd8Au5rMYZNvKn9LtZHqWf/2nsE4wg2lMQSAiAwuXKPmcW1BGoiPRlAPESwzXDWeG6P5xqvI6xSExR1hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"d58406eb52dc36fd16f8da469b12bb900ca59952","gitHead":"e4b6dcfe0d8c18be826b44cd203e0008ec7b03e0","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"3.10.3","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"6.3.1","dependencies":{"bson":"^0.5.5","faker":"^3.1.0","yargs":"^6.3.0","chance":"^1.0.3","lodash":"^4.12.0","event-stream":"^3.3.2","mongodb-extended-json":"^1.6.3"},"devDependencies":{"mocha":"^3.1.2","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.9","eslint-config-mongodb-js":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs-0.3.1.tgz_1486289876714_0.42769242473877966","host":"packages-12-west.internal.npmjs.com"}},"0.4.0":{"name":"mgeneratejs","version":"0.4.0","license":"Apache-2.0","_id":"mgeneratejs@0.4.0","maintainers":[{"name":"rueckstiess","email":"thomas@rueckstiess.net"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"d6472a0f3e7e35eca6eb48555044196a33852bc6","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.4.0.tgz","integrity":"sha512-/XGnDYVmcMLqgGHG9NqFwfuF77G6kvDwp1UPlDcHx2Ikex/sqCJ7I1nm3Fdvm5lSO58W7ZZcyC7seeMa9BqO4g==","signatures":[{"sig":"MEUCIQCZ4yuUrUFMAzKV9/cZffLyI5BbLZHE7i82q1CwiGXPLAIgOcSxLdh84HxQMgBJhPRg5bVCz3KfbK3heWbomvevpgQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"d6472a0f3e7e35eca6eb48555044196a33852bc6","gitHead":"4e3743da626eff167e8ddd93b4e637382b7ee46c","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"3.10.3","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"6.3.1","dependencies":{"bson":"^0.5.5","faker":"^3.1.0","yargs":"^6.3.0","chance":"^1.0.3","lodash":"^4.12.0","event-stream":"^3.3.2","mongodb-extended-json":"^1.6.3"},"devDependencies":{"mocha":"^3.1.2","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.9","eslint-config-mongodb-js":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs-0.4.0.tgz_1487566637403_0.4926235917955637","host":"packages-18-east.internal.npmjs.com"}},"0.5.0":{"name":"mgeneratejs","version":"0.5.0","license":"Apache-2.0","_id":"mgeneratejs@0.5.0","maintainers":[{"name":"aherlihy","email":"anna@mongodb.com"},{"name":"alena.khineika","email":"alena.khineika@gmail.com"},{"name":"christkv","email":"christkv@gmail.com"},{"name":"chuck.kalmanek","email":"chuck.kalmanek@10gen.com"},{"name":"cilix","email":"matthewlevenstein@gmail.com"},{"name":"daprahamian","email":"dan.aprahamian@gmail.com"},{"name":"deepshah","email":"deepcshah@gmail.com"},{"name":"dpercy","email":"davetp425@gmail.com"},{"name":"durran","email":"durran@gmail.com"},{"name":"fredtruman","email":"fred.truman@mongodb.com"},{"name":"glowe","email":"graham.lowe@gmail.com"},{"name":"hswolff","email":"hello@hswolff.com"},{"name":"imlucas","email":"hrabovsky.lucas@gmail.com"},{"name":"jeff-allen-mongo","email":"jeffrey.allen@10gen.com"},{"name":"jimol","email":"jim.oleary@gmail.com"},{"name":"jon.franco","email":"jon.franco@mongodb.com"},{"name":"jrbalsano","email":"jrbalsano@gmail.com"},{"name":"justinjmoses","email":"justinjmoses@gmail.com"},{"name":"kay-kim","email":"kay@mongodb.com"},{"name":"lrlna","email":"shestak.irina@gmail.com"},{"name":"matt_d_rat","email":"matt@mattfairbrass.com"},{"name":"mbroadst","email":"mbroadst@gmail.com"},{"name":"micheal.parks","email":"michealparks1989@gmail.com"},{"name":"mongodb-js-user","email":"dana.groff+mongodb-js@mongodb.com"},{"name":"mpobrien","email":"mpobrien005@gmail.com"},{"name":"pzrq","email":"peter@peterjs.com"},{"name":"redondos","email":"aolivera@gmail.com"},{"name":"rhysm","email":"rhys.howell@10gen.com"},{"name":"rueckstiess","email":"thomas@rueckstiess.net"},{"name":"sampoonachot","email":"joy.sampoonachot@10gen.com"},{"name":"samweaver","email":"samuel.james.weaver@gmail.com"},{"name":"satyasinha","email":"satyendra.n.sinha@gmail.com"},{"name":"schwartzrw","email":"schwartzrw@gmail.com"},{"name":"terakilobyte","email":"terakilobyte@gmail.com"},{"name":"tomhollander","email":"tomhollander@hotmail.com"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"ce473c30b141edde2d6dc7110f48bc7338768b3f","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.5.0.tgz","fileCount":31,"integrity":"sha512-gKfUk6NDNT6/UgLgd0GKyj15JjGp7iHFcHcSP3Gt+lf2EtZcRoLIriuQ8M/kvp9BnYflvcuantg8bk6EaSqd6Q==","signatures":[{"sig":"MEQCIF000JuMR0SZ1R+ojH07WRQLYqKF47PIaIU4B4F6UG4DAiAyWfe1XbXqVgJv2aI+I3/dfrUSUgzCsmYY/61mRAofEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa88pTCRA9TVsSAnZWagAA37oP/jszTvNxUcvPnO+6iLp5\n1ZWBbTaoL491ufhOt+JVJnvjQD0Mdrdzjox8XrIFqtJWZPvt4HduGGKqzrit\nZPXCoeB4mdZKOfai1EcNphGE49PNObiaJzyMguYyj6Sxhxk+PSVdGJuyp2js\nMhCeIcTghIUHgAh5S5Po87AnPfNntvtAMZ4hKtDyzH9blFYwYMoVPbQeFY2P\nRKBjD0U7d/jV3UqOyADfRIcd81LzYPQvdHgZfZqyXwI7C30qRCOtJ9R2fk80\nSZVm67ipJpoz5yNgI8zhp8/uOP5NIzQA7e0EgXmT1x1IadR6LAu9mgVkIeIc\n209fp2X2ntwP6TtI8TCp86i+MIfEWHaFx8tXYHh0mRb877Xyg7WAOCZjsYYb\najpGL1IRYTk1/sMgGTQU8TsGeMYM3ITi/veyUPFvUj/zsrLc9SGOIV/Fk4Wm\nVCz0DUnRDtH/4nUXdnqwiWdf9vHXINISTaTEi7U2OfSMc5x+2wF9XyXwtsFF\nEKrbwylu79ntQzO7wEoCmPEWFmySeJrfZAk4X3mCk1HocZ6d1pdULXzCUBt1\nbiHBSLvKz3mxw3S+kllfQVT91zAV/UqkzT9WsQeTDQoBgZjv7KjQzD4ZJRDm\nEgrqvejJxmTFVKHDAXlpIrRtWg35vy7iZnhkO21ml8CoUzv6e+0T4rRA67eS\njtUo\r\n=/c7R\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"1541827bd5200683b7a1879314d2783e55661d30","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"6.0.0","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"8.11.0","dependencies":{"bson":"^0.5.5","faker":"^3.1.0","yargs":"^6.3.0","chance":"^1.0.8","lodash":"^4.17.4","event-stream":"^3.3.2","mongodb-extended-json":"^1.6.3"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^3.1.2","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.9","eslint-config-mongodb-js":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs_0.5.0_1525926481900_0.20860356057170826","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"mgeneratejs","version":"0.5.1","license":"Apache-2.0","_id":"mgeneratejs@0.5.1","maintainers":[{"name":"aherlihy","email":"anna@mongodb.com"},{"name":"alena.khineika","email":"alena.khineika@gmail.com"},{"name":"chuck.kalmanek","email":"chuck.kalmanek@10gen.com"},{"name":"cilix","email":"matthewlevenstein@gmail.com"},{"name":"daprahamian","email":"dan.aprahamian@gmail.com"},{"name":"deepshah","email":"deepcshah@gmail.com"},{"name":"dpercy","email":"davetp425@gmail.com"},{"name":"durran","email":"durran@gmail.com"},{"name":"fredtruman","email":"fred.truman@mongodb.com"},{"name":"glowe","email":"graham.lowe@gmail.com"},{"name":"gregg.b","email":"gregg.brewster@mongodb.com"},{"name":"hswolff","email":"hello@hswolff.com"},{"name":"imlucas","email":"hrabovsky.lucas@gmail.com"},{"name":"jeff-allen-mongo","email":"jeffrey.allen@10gen.com"},{"name":"jimol","email":"jim.oleary@gmail.com"},{"name":"jon.franco","email":"jon.franco@mongodb.com"},{"name":"jonathan.balsano","email":"jonathan.balsano@mongodb.com"},{"name":"kay-kim","email":"kay@mongodb.com"},{"name":"lrlna","email":"shestak.irina@gmail.com"},{"name":"matt_d_rat","email":"matt@mattfairbrass.com"},{"name":"mbroadst","email":"mbroadst@gmail.com"},{"name":"micheal.parks","email":"michealparks1989@gmail.com"},{"name":"mmarcon","email":"me@marcon.me"},{"name":"mongodb-js-user","email":"dana.groff+mongodb-js@mongodb.com"},{"name":"mpobrien","email":"mpobrien005@gmail.com"},{"name":"redondos","email":"aolivera@gmail.com"},{"name":"rhysm","email":"rhys.howell@10gen.com"},{"name":"rueckstiess","email":"thomas@rueckstiess.net"},{"name":"sampoonachot","email":"joy.sampoonachot@10gen.com"},{"name":"satyasinha","email":"satyendra.n.sinha@gmail.com"},{"name":"schwartzrw","email":"schwartzrw@gmail.com"},{"name":"terakilobyte","email":"terakilobyte@gmail.com"},{"name":"tomhollander","email":"tomhollander@hotmail.com"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"./bin/mgenerate.js"},"dist":{"shasum":"135aadb6e74a51645276a39eae4acb3b48c8665b","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.5.1.tgz","fileCount":31,"integrity":"sha512-7/3eEDH4Cqo5QtY+F8kmDMEpNNKqQGDqScb95IFoJTok9zqVzCX/zczd+Nbj6sS8ifPN22Kg1tN+WE8RFMoDWg==","signatures":[{"sig":"MEYCIQD59o9+JJrW/4Zilqg/AiHhbeBa9nr4lP+zu4wfhDikfgIhANcbs7DZLK+pc6tj7YUQbCZ7OpRN6Us1caiBm0pwQr2f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/gpzCRA9TVsSAnZWagAAd+AP/i1jLP3CXSy79Rw4cVoR\nkZavpXdegDB1hEIVTPpKKsM6N6TqNhrrxoBe6nQbHugvkf/Hzvk+ext6qdW9\nA1tw9uAxhXphea//TvFXU7meobIDomojUHRlZoSwLmSc1U6jnaN3ACFy1fwj\nQlN0apripAxf9baBBPmeoEY2aNo5lDaD3ENHtAH64mRjHMf7x2aOoZTEnY+s\nesnhEpaWkvdbFc7Z5w2cQ4iJjYiBTOQgSABmKWLP9FroeLapg6lAS0kuZMeD\nrekhl8v5l41DbOmfb5NmdTwJ0iPtAyNek1S6wNI2JXqNwiJqv/hluEunpNr6\nNIUUNiqgM2I74+qoSCcBCM10QnAhoZhoQSkd78RnnRlgMeqrbnBRZi62yAAg\njKIh0Y9oC6eXqjsNrhaKBSry/dmsC4d73t062IPnJp4kXtwEIldd9lzwAv7y\nPC5ICTOZMKKPnBYorDntHMGFcraNLj+dfyFXtdJwGsz1Q1QrfPzNrEOXkmL5\nRKTszp3sAm4dJqks8jxNA7rYqXqYwS+qXiwOSUWfQVOub1OmZnI1YFbcgGGn\n0n7Lx+CqgdSXoWFgsmVkclLBiDB6WeFCu6WikbpmA5KOwHu35flRJuM4hLQ3\n2Ez51IwP6MkC7lkBFF/JSYKGKEQTI4ElXOGxhx+UnZteDxYDe+ffFmjBjyob\nO0aW\r\n=JjNr\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"7895d39a2d66a942885e6a0f502f8155e3cd1595","scripts":{"ci":"npm run check && npm test","fmt":"mongodb-js-fmt","test":"mocha","check":"mongodb-js-precommit"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"6.4.1","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"8.11.3","dependencies":{"bson":"^1.0.5","faker":"^3.1.0","yargs":"^6.3.0","chance":"^1.0.8","lodash":"^4.17.4","event-stream":"^4.0.1","mongodb-extended-json":"^1.10.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^3.1.2","pre-commit":"^1.1.2","mongodb-js-fmt":"^0.0.3","mongodb-js-precommit":"^0.2.9","eslint-config-mongodb-js":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs_0.5.1_1543375475138_0.5151582330970286","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"mgeneratejs","version":"0.6.0","license":"Apache-2.0","_id":"mgeneratejs@0.6.0","maintainers":[{"name":"mabaasit","email":"baasit121@yahoo.com"},{"name":"alexander_schroll","email":"alexander.schroll+npm@mongodb.com"},{"name":"chuck.kalmanek","email":"chuck.kalmanek@10gen.com"},{"name":"mongodb-js-user","email":"dana.groff+mongodb-js@mongodb.com"},{"name":"rueckstiess","email":"thomas@rueckstiess.net"},{"name":"durran","email":"durran@gmail.com"},{"name":"lerouxb","email":"lerouxb@gmail.com"},{"name":"fredtruman","email":"fred.truman@mongodb.com"},{"name":"mbroadst","email":"mbroadst@gmail.com"},{"name":"hswolff","email":"hello@hswolff.com"},{"name":"satyasinha","email":"satyendra.n.sinha@gmail.com"},{"name":"matt_d_rat","email":"matt@mattfairbrass.com"},{"name":"rhysm","email":"rhys.howell@10gen.com"},{"name":"tomhollander","email":"tomhollander@hotmail.com"},{"name":"alena.khineika","email":"alena.khineika@gmail.com"},{"name":"jeff-allen-mongo","email":"jeffrey.allen@10gen.com"},{"name":"mmarcon","email":"me@marcon.me"},{"name":"jonathan.balsano","email":"jonathan.balsano@mongodb.com"},{"name":"mongodb-build","email":"build-accounts@10gen.com"},{"name":"jack.weir","email":"johnjackweir@gmail.com"},{"name":"stennie","email":"stennie@cpan.org"},{"name":"mcasimir","email":"maurizio.cas@gmail.com"},{"name":"kristina.stefano","email":"kristina.stefanova@mongodb.com"},{"name":"jarjee","email":"nathan.smyth@10gen.com"},{"name":"shaketbaby","email":"shaketbaby@gmail.com"},{"name":"devtoolsbot","email":"team-compass@mongodb.com"},{"name":"addaleax","email":"anna@addaleax.net"},{"name":"gribnoysup","email":"sergey.petushkov@protonmail.com"},{"name":"mutukrish","email":"mutukrish@gmail.com"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"bin/mgenerate.js"},"dist":{"shasum":"cd4b5ecea0a73727926348b6cdf7fa3cec550c9f","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.6.0.tgz","fileCount":33,"integrity":"sha512-qByauW7F95lDF7e1cD2/yrOGmH+95pKl5Up+MJjwtFyKB5Ox/NN12cZMFKlHfcKlroBeDDkALqFzNbVZf/X5IQ==","signatures":[{"sig":"MEUCIAsPILTPhofSqQnQiGYoJIfZe1m9fzEIoHHC9ufDOefMAiEAqn8in+nSLBGjjzgq3eR/1ozXBSvaobdjb2Soyf7gKos=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiexL0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMvxAAj00uJfxOPplPg01U0iwJoh5Zv/YhYrshQWukfXdWFhXm7Chy\r\noapdttCdMKxrTRuv+J6ai7fgRM2onAh4j4/9Rj3Putv1je8lmpMdbvpHv+sb\r\nTBxPzbtMEg+LXdsHjMnv0B363dLCiqUgZung6XSGP1xfMrhDntJ0PLn6FM6I\r\n4kva3mJcKwpnzgSc2ShjgFAaDfS5iy9MspltiLXPNAYTZc3LE3Y/oT1Fnlye\r\nU8dvNhBBsU1a16/iOv86/y2ZQ6zVRX0fgQ4svQh6mWMRfxdvz7zhyJrnYHqG\r\nmxLfBI0r/n/htqwbBWwTo6ul8neYtzOnzlzQiYqn/kyegb7rwIYp12i15POy\r\n6wVYJ6c5xwjsBEqhZ9xf4o655pzQsBYbIe3/C07mYTVYevVW2yiyQnYqwZud\r\nnilUEgz8rc5DuNOGdY7OW17i58AVFazrfYqrzwuhMWCEGGYVSiEnASNJ8Zcx\r\n/RDYpRWyUfJ2T4wyDsR81M62SWeEjls3S8qJ0UudoKNvVQrntxx8kXfSYING\r\nP/izTKy9Rrxr9EDEq4+P4LkS/uDWSdGGyAdyOuUkN1R9KwchJ+NH+jp8c6Dp\r\nKHpuGi/FJIqv9R3Pacr0Ua6C8TCrONNeQrxoWj1HldFL0CV5X5Ep656u9SAW\r\nmBSXb7wJNMFURRMqW2FMH8zWa/OB/2ir4KY=\r\n=OEHK\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"e94686923ba751f237fd92191d1a8f7d6e3c24ff","scripts":{"ci":"npm run check && npm test","fmt":"prettier --write '**/*.{js,md}'","test":"mocha","check":"prettier --check '**/*.{js,md}'"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"6.14.15","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"bson":"^4.6.3","faker":"^3.1.0","yargs":"^17.4.1","chance":"^1.1.8","lodash":"^4.17.21","event-stream":"^4.0.1","mongodb-extended-json":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^6.2.3","prettier":"1.18.2","pre-commit":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs_0.6.0_1652232948375_0.11084967968616155","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"mgeneratejs","version":"0.7.0","license":"Apache-2.0","_id":"mgeneratejs@0.7.0","maintainers":[{"name":"himanshusinghs","email":"himanshu.singhs@outlook.in"},{"name":"c-buckingham","email":"christopher.buckingham@mongodb.com"},{"name":"mongo-j","email":"james.wang@mongodb.com"},{"name":"mabaasit","email":"baasit121@yahoo.com"},{"name":"alexander_schroll","email":"alexander.schroll+npm@mongodb.com"},{"name":"chuck.kalmanek","email":"chuck.kalmanek@10gen.com"},{"name":"mongodb-js-user","email":"dana.groff+mongodb-js@mongodb.com"},{"name":"rueckstiess","email":"thomas@rueckstiess.net"},{"name":"durran","email":"durran@gmail.com"},{"name":"lerouxb","email":"lerouxb@gmail.com"},{"name":"fredtruman","email":"fred.truman@mongodb.com"},{"name":"mbroadst","email":"mbroadst@gmail.com"},{"name":"hswolff","email":"hello@hswolff.com"},{"name":"satyasinha","email":"satya@mongodb.com"},{"name":"matt_d_rat","email":"matt@mattfairbrass.com"},{"name":"rhysm","email":"rhys.howell@10gen.com"},{"name":"tomhollander","email":"tomhollander@hotmail.com"},{"name":"alena.khineika","email":"alena.khineika@gmail.com"},{"name":"jeff-allen-mongo","email":"jeffrey.allen@10gen.com"},{"name":"mmarcon","email":"me@marcon.me"},{"name":"jonathan.balsano","email":"jonathan.balsano@mongodb.com"},{"name":"mongodb-build","email":"build-accounts@10gen.com"},{"name":"jack.weir","email":"johnjackweir@gmail.com"},{"name":"stennie","email":"stennie@cpan.org"},{"name":"mcasimir","email":"maurizio.cas@gmail.com"},{"name":"kristina.stefano","email":"kristina.stefanova@mongodb.com"},{"name":"jarjee","email":"nathan.smyth@10gen.com"},{"name":"shaketbaby","email":"shaketbaby@gmail.com"},{"name":"devtoolsbot","email":"iteng@mongodb.com"},{"name":"addaleax","email":"anna@addaleax.net"},{"name":"gribnoysup","email":"sergey.petushkov@protonmail.com"},{"name":"mutukrish","email":"mutukrish@gmail.com"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"bin/mgenerate.js"},"dist":{"shasum":"7f9cb3483bd21d30aefbaa478eea3fae18f53a08","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.7.0.tgz","fileCount":34,"integrity":"sha512-rNpIb1MqxhZ050BTR6ryvumF9eVpQdwda9wvd652OvM/vcMEakNukJCI9lCT+WQKDifdAB9xwWiYq8tvpRjRcg==","signatures":[{"sig":"MEYCIQDfY11P2N02RqhR40MOfkn2tXOIMYGDaOvqK82KrdQxaAIhANzWqXoyIvTSNTFjw4jgV4430zCiMxux0aT4W9wWmLr3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60638},"gitHead":"237e0443a831f42d2c75ffb29ee96cd46858c53b","scripts":{"ci":"npm run check && npm test","fmt":"prettier --write '**/*.{js,md}'","test":"mocha","check":"prettier --check '**/*.{js,md}'"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"9.1.1","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"bson":"^4.6.3","faker":"^3.1.0","yargs":"^17.4.1","chance":"^1.1.8","lodash":"^4.17.21","event-stream":"^4.0.1","mongodb-extended-json":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^6.2.3","prettier":"1.18.2","pre-commit":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs_0.7.0_1691570013135_0.801117356191597","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"mgeneratejs","version":"0.7.1","license":"Apache-2.0","_id":"mgeneratejs@0.7.1","maintainers":[{"name":"himanshusinghs","email":"himanshu.singhs@outlook.in"},{"name":"c-buckingham","email":"christopher.buckingham@mongodb.com"},{"name":"mongo-j","email":"james.wang@mongodb.com"},{"name":"mabaasit","email":"baasit121@yahoo.com"},{"name":"alexander_schroll","email":"alexander.schroll+npm@mongodb.com"},{"name":"chuck.kalmanek","email":"chuck.kalmanek@10gen.com"},{"name":"mongodb-js-user","email":"dana.groff+mongodb-js@mongodb.com"},{"name":"rueckstiess","email":"thomas@rueckstiess.net"},{"name":"durran","email":"durran@gmail.com"},{"name":"lerouxb","email":"lerouxb@gmail.com"},{"name":"fredtruman","email":"fred.truman@mongodb.com"},{"name":"mbroadst","email":"mbroadst@gmail.com"},{"name":"hswolff","email":"hello@hswolff.com"},{"name":"satyasinha","email":"satya@mongodb.com"},{"name":"matt_d_rat","email":"matt@mattfairbrass.com"},{"name":"rhysm","email":"rhys.howell@10gen.com"},{"name":"tomhollander","email":"tomhollander@hotmail.com"},{"name":"alena.khineika","email":"alena.khineika@gmail.com"},{"name":"jeff-allen-mongo","email":"jeffrey.allen@10gen.com"},{"name":"mmarcon","email":"me@marcon.me"},{"name":"jonathan.balsano","email":"jonathan.balsano@mongodb.com"},{"name":"mongodb-build","email":"build-accounts@10gen.com"},{"name":"jack.weir","email":"johnjackweir@gmail.com"},{"name":"stennie","email":"stennie@cpan.org"},{"name":"mcasimir","email":"maurizio.cas@gmail.com"},{"name":"kristina.stefano","email":"kristina.stefanova@mongodb.com"},{"name":"jarjee","email":"nathan.smyth@10gen.com"},{"name":"shaketbaby","email":"shaketbaby@gmail.com"},{"name":"devtoolsbot","email":"iteng@mongodb.com"},{"name":"addaleax","email":"anna@addaleax.net"},{"name":"gribnoysup","email":"sergey.petushkov@protonmail.com"},{"name":"mutukrish","email":"mutukrish@gmail.com"}],"homepage":"http://github.com/rueckstiess/mgeneratejs","bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"bin":{"mgeneratejs":"bin/mgenerate.js"},"dist":{"shasum":"bc5c89c0019e96a3bcd904ae853da49fa7396b27","tarball":"https://registry.npmjs.org/mgeneratejs/-/mgeneratejs-0.7.1.tgz","fileCount":34,"integrity":"sha512-yTLrq78wWXaENhIBPcCSyBx5YBXBfkLhZgHsqe9r3fUxjLaiR0Ph8LOrGREtLi1dEouO1O7skLsN8QsLpr244Q==","signatures":[{"sig":"MEQCICAfT58k1hS0ahZnfSc2q5+u8BB9aGLsGTTcMFY2WqTSAiAyFvdav3GMiqY11GTLCzXiYxakLVwU7QSIS13xV+vAWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61145},"gitHead":"7e3cb278226015050526fde2374b17c9bf8025d9","scripts":{"ci":"npm run check && npm test","fmt":"prettier --write '**/*.{js,md}'","test":"mocha","check":"prettier --check '**/*.{js,md}'"},"_npmUser":{"name":"rueckstiess","email":"thomas@rueckstiess.net"},"precommit":["check"],"repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"_npmVersion":"9.1.1","description":"Generate rich random data based on a JSON template file.","directories":{},"_nodeVersion":"14.17.6","dependencies":{"bson":"^4.6.3","faker":"^3.1.0","yargs":"^17.4.1","chance":"^1.1.8","lodash":"^4.17.21","event-stream":"^4.0.1","mongodb-extended-json":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^6.2.3","prettier":"1.18.2","pre-commit":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/mgeneratejs_0.7.1_1691570468551_0.3578328456310671","host":"s3://npm-registry-packages"}}},"time":{"created":"2016-05-29T11:04:33.617Z","modified":"2026-07-15T15:35:04.917Z","0.1.1":"2016-05-29T11:04:33.617Z","0.1.2":"2016-05-29T11:19:08.412Z","0.2.0":"2016-11-09T05:54:28.555Z","0.3.0":"2017-02-01T11:49:23.830Z","0.3.1":"2017-02-05T10:17:56.947Z","0.4.0":"2017-02-20T04:57:19.210Z","0.5.0":"2018-05-10T04:28:02.025Z","0.5.1":"2018-11-28T03:24:35.274Z","0.6.0":"2022-05-11T01:35:48.535Z","0.7.0":"2023-08-09T08:33:33.396Z","0.7.1":"2023-08-09T08:41:08.738Z"},"bugs":{"url":"https://github.com/rueckstiess/mgeneratejs/issues"},"license":"Apache-2.0","homepage":"http://github.com/rueckstiess/mgeneratejs","repository":{"url":"git://github.com/rueckstiess/mgeneratejs.git","type":"git"},"description":"Generate rich random data based on a JSON template file.","maintainers":[{"email":"satya@mongodb.com","name":"satyasinha"},{"email":"kristina.stefanova@mongodb.com","name":"kristina.stefano"},{"email":"nathan.smyth@10gen.com","name":"jarjee"},{"email":"iteng@mongodb.com","name":"devtoolsbot"},{"email":"james.wang@mongodb.com","name":"mongo-j"},{"email":"neal.beeken@mongodb.com","name":"nbbeeken"},{"email":"dbx-node@mongodb.com","name":"dbx-node"},{"email":"devtools-npm-user@mongodb.com","name":"devtools-npm-user"},{"email":"me@tomr.au","name":"rueckstiess"}],"readme":"# mgeneratejs [![travis][travis_img]][travis_url] [![npm][npm_img]][npm_url]\n\n_mgeneratejs_ generates structured, semi-random JSON data according to a\ntemplate object. It offers both a command line script and a JavaScript API.\n\n## Installation\n\n```\nnpm install -g mgeneratejs\n```\n\n## Example\n\n```\nmgeneratejs '{\"name\": \"$name\", \"age\": \"$age\", \"emails\": {\"$array\": {\"of\": \"$email\", \"number\": 3}}}' -n 5\n```\n\nResults in:\n\n```\n{\"name\":\"Glenn Simmons\",\"age\":32,\"emails\":[\"ivuge@afovopid.tt\",\"gied@orsin.zw\",\"wuhowbi@con.uk\"]}\n{\"name\":\"Jane Santiago\",\"age\":57,\"emails\":[\"oliclon@ohaoni.la\",\"hetoufi@em.ug\",\"ecwawce@sewwato.kn\"]}\n{\"name\":\"Winifred Martinez\",\"age\":59,\"emails\":[\"veag@gi.fm\",\"liwfecor@vifbevof.gr\",\"siwluz@habif.gf\"]}\n{\"name\":\"Helena Chandler\",\"age\":65,\"emails\":[\"ga@latcon.tr\",\"wur@helmawak.im\",\"ovpifuva@gabruzup.vc\"]}\n{\"name\":\"Gary Allison\",\"age\":30,\"emails\":[\"wiko@unuwudu.za\",\"fog@zokje.sh\",\"juppojer@jadi.tl\"]}\n```\n\nYou can also specify a JSON file instead of a JSON string:\n\n```\nmgeneratejs template.json -n 5\n```\n\n## Template Syntax\n\nThe input string or file must be valid JSON, with one exception: As a convenience, from version 0.3.0 onwards, it's ok to omit quotes around keys, so both these templates are equivalent:\n\n```\n{\"name\": \"$name\"}\n{name: \"$name\"}\n```\n\n### Shape of objects\n\nThe output has the same shape as the input template (including nested keys), with\none exception: If a key is assigned the special value `$missing`, then the\nkey is not present in the output (see `$missing` below for an example).\n\n### Values\n\nAll values are taken literally, except for special `$`-prefixed values. These\nvalues are called \"operators\". A list of operators can be found below.\n\nOperators are used either in string or object format. The string format is\na shortcut to call the operator with default options.\n\nString format:\n\n```\n{\"key\": \"$operator\"}\n```\n\nObject format:\n\n```\n{\"key\": {\"$operator\": { <additional options> }}}\n```\n\nMost operators have sensible default values that are used for their string format.\n\nExample: `$year`\n\n```\nmgeneratejs '{\"born_in\": \"$year\"}' -n 5\n```\n\n```\n{\"born_in\":\"2035\"}\n{\"born_in\":\"2086\"}\n{\"born_in\":\"2088\"}\n{\"born_in\":\"2022\"}\n{\"born_in\":\"2082\"}\n```\n\nThe object format allows to pass in additional options to the operator,\nhere, a minimum and maximum for the value:\n\n```\nmgeneratejs '{\"born_in\": {\"$year\": {\"min\": 1930, \"max\": 1970}}}'\n```\n\n```\n{\"born_in\":\"1936\"}\n{\"born_in\":\"1953\"}\n{\"born_in\":\"1964\"}\n{\"born_in\":\"1932\"}\n{\"born_in\":\"1943\"}\n```\n\nSee the definition of the operator for its default values.\n\n### Combining Operators\n\nOperators can be combined, where the result of one operator is passed in as\nan option to another operator.\n\nExample: Here we pass in a random number between 0 and 5 to the `number` option\nof the `$array` operator to generate variable-length arrays.\n\n```\nmgeneratejs '{\"ip_addresses\": {\"$array\": {\"of\": \"$ip\", \"number\": {\"$integer\": {\"min\": 0, \"max\": 5}}}}}'\n```\n\n```\n{\"ip_addresses\":[\"166.182.72.83\",\"127.94.56.191\",\"236.79.131.157\",\"94.66.121.242\"]}\n{\"ip_addresses\":[\"48.227.145.186\",\"160.173.45.84\",\"24.86.124.235\"]}\n{\"ip_addresses\":[]}\n{\"ip_addresses\":[\"21.45.212.198\"]}\n{\"ip_addresses\":[\"199.209.162.241\"]}\n```\n\n## Built-in Operators\n\n#### General\n\n- [`$array`](#array): Creates an array of values.\n- [`$choose`](#choose): Chooses one element from an array of possible choices.\n- [`$inc`](#inc): Generates natural numbers in increasing order.\n- [`$join`](#join): Joins elements of an array to a string.\n- [`$maxcard`](#maxcard): Limits the cardinality of a random value.\n- [`$pick`](#pick): Returns an element from an array.\n- [`$pickset`](#pickset): Returns a subset of an array.\n\n#### Geospatial\n\n- [`$coordinates`](#coordinates): Returns a pair of longitude/latitude coordinates.\n- [`$point`](#point): Returns a GeoJSON Point.\n- [`$linestring`](#linestring): Returns a GeoJSON LineString.\n- [`$polygon`](#polygon): Returns a GeoJSON Polygon.\n- [`$geometries`](#geometries): Returns a GeoJSON GeometryCollection.\n\n#### Native and MongoDB-specific Types\n\n- [`$binary`](#binary): Returns a MongoDB Binary type.\n- [`$date`](#date): Returns a random date, optionally in a given range.\n- [`$now`](#now): Returns the current date.\n- [`$maxkey`](#maxkey): Returns a MongoDB MaxKey object.\n- [`$minkey`](#minkey): Returns a MongoDB MinKey object.\n- [`$numberDecimal`](#numberdecimal): Returns a MongoDB Decimal128 number.\n- [`$numberLong`](#numberlong): Returns a MongoDB Long (Int64) number.\n- [`$numberInt`](#numberint): Returns a Int32 number.\n- [`$objectid`](#objectid): Returns MongoDB ObjectID.\n- [`$regex`](#regex): Returns a Regular Expression object.\n- [`$timestamp`](#timestamp): Returns a MongoDB Timestamp.\n\n### All Built-in Operators in Alphabetical Order\n\n### `$array`\n\nCreates an array of values. Each new element is evaluated separately.\n\n_Options_\n\n- `of` (required) Defines an element of the array. Operators are evaluated separately for each element.\n- `number` (optional) Number of elements. Default `0`.\n\n> **Example**\n>\n> ```\n> {\"countries\": {\"$array\": {\"of\": {\"$country\": {\"full\": true}}, \"number\": 3}}}\n> ```\n>\n> Creates an array of 3 countries, e.g. `{\"countries\":[\"Czech Republic\",\"Ireland\",\"Argentina\"]}`\n\n### `$binary`\n\nReturns a random MongoDB Binary value, optionally with a `length` and `subtype`.\n\n_Options_\n\n- `length` (optional) Length in bytes of binary value. Default `10`.\n- `subtype` (optional) Specific binary subtype (see [BSON spec][bson-spec]). Default `0`.\n\n> **Example**\n>\n> ```\n> {\"blob\": \"$binary\"}\n> ```\n>\n> Returns a Binary object (stringified to extended JSON on stdout).\n> e.g. `{\"blob\":{\"$binary\":\"TzhXcFZoRllRNg==\",\"$type\":\"0\"}}`.\n\n### `$choose`\n\nChooses one element from an array of possible choices with uniform probability.\nOptionally chooses with probability proportional to a provided `weights` array.\n\n_Options_\n\n- `from` (required) Array of values or operators to choose from.\n- `weights` (optional) Number of elements. Default `0`.\n\n> **Example**\n>\n> ```\n> {\"status\": {\"$choose\": {\"from\": [\"read\", \"unread\", \"deleted\"], \"weights\": [2, 1, 1]}}}\n> ```\n>\n> Returns `{\"status\": \"read\"}` with probability 1/2, and `{\"status\": \"unread\"}` and\n> `{\"status\": \"deleted\"}` each with probability 1/4.\n\n### `$coordinates`\n\nReturns a 2-element array of longitude/latitude coordinates, optionally within\n`long_lim` and/or `lat_lim` bounds.\n\n_Aliases_\n\n- `$coord`\n- `$coordinate`\n\n_Options_\n\n- `long_lim` (optional) Array of longitude bounds. Default `[-180, 180]`.\n- `lat_lim` (optional) Array of latitude bounds. Default `[-90, 90]`.\n\n> **Example**\n>\n> ```\n> {\"position\": {\"$coordinates\": {\"long_lim\": [-20, -19]}}}\n> ```\n>\n> Returns a pair of coordinates with the longitude bounds between -20 and -19,\n> e.g. `{\"position\":[-19.96851,-47.46141]}`.\n\n### `$date`\n\nReturns a random date object, optionally between specified `min` and `max` values.\nIf `min` and/or `max` are provided, they need to be in a format that [Date.parse()][date-parse]\ncan read, e.g. ISO-8601.\n\n_Aliases_\n\n- `$datetime`\n\n_Options_\n\n- `min` (optional) Minimum date, as parseable string.\n- `max` (optional) Maximum date, as parsable string.\n\n> **Example**\n>\n> ```\n> {\"last_login\": {\"$date\": {\"min\": \"2015-01-01\", \"max\": \"2016-12-31T23:59:59.999Z\"}}}\n> ```\n>\n> Returns a random date and time between 2015 and 2016 (incl.), e.g.\n> `{\"last_login\":{\"$date\":\"2016-06-28T15:28:54.721Z\"}}`.\n\n### `$geometries`\n\nReturns a GeoJSON formatted [GeometryCollection](http://geojson.org/geojson-spec.html#geometrycollection)\nwith `number` geometries. By default, the geometries are chosen from `Point`,\n`LineString`, and `Polygon`. A subset of types can be specified with the `types`\noption.\n\nAdditional options are passed onto each geometry, e.g. `corners` is passed\nto polygons, `locs` is passed to line strings.\n\n_Options_\n\n- `number` (optional) Number of geometries in the collection. Default `3`.\n- `types` (optional) Types of geometries to choose from. Default `[\"Point\", \"LineString\", \"Polygon\"]`.\n- `locs` (optional) Number of locations in a line string. Default `2`.\n- `corners` (optional) Number of corners in a polygon. Default `3`. The last point in the `coordinates` array closes the polygon and does not count towards the number of corners.\n- `long_lim` (optional) Array of longitude bounds. Default `[-180, 180]`.\n- `lat_lim` (optional) Array of latitude bounds. Default `[-90, 90]`.\n\n> **Example**\n>\n> ```\n> {\"triangles\": {\"$geometries\": {\"types\": [\"Polygon\"], \"corners\": 3, \"number\": 4}}}\n> ```\n>\n> Returns a GeoJSON GeometryCollection with 4 triangles.\n>\n> ```\n> {\n>   \"triangles\": {\n>     \"type\": \"GeometryCollection\",\n>     \"geometries\": [\n>       {\n>         \"coordinates\": [[[39.3259,-16.71813],[172.02089,-14.75681],[61.97122,-1.4036],[39.3259,-16.71813]]],\n>         \"type\": \"Polygon\"\n>       },\n>       {\n>         \"coordinates\": [[[57.66865,-18.3085],[-48.81722,-40.64912],[-145.11102,32.8189],[57.66865,-18.3085]]],\n>         \"type\": \"Polygon\"\n>       },\n>       {\n>         \"coordinates\": [[[110.68379,28.31158],[-73.67573,-19.54736],[-73.29514,52.07583],[110.68379,28.31158]]],\n>         \"type\": \"Polygon\"\n>       },\n>       {\n>         \"coordinates\": [[[-29.36382,79.19853],[138.84298,7.43148],[176.28313,36.83292],[-29.36382,79.19853]]],\n>         \"type\": \"Polygon\"\n>       }\n>     ]\n>   }\n> }\n> ```\n\n### `$inc`\n\nGenerate natural numbers in increasing order.\n\n_Options_\n\n- `start` (optional) starts counting at this value. Default `0`.\n- `step` (optional) increases by this amount each time. Default `1`. Can also take negative value.\n\n> **Example**\n>\n> ```\n> {\"even_numbers\": {\"$inc\": {\"start\": 0, \"step\": 2}}}\n> ```\n>\n> Assigns the numbers 0, 2, 4, 6, ... to subsequent objects.\n\n### `$join`\n\nTakes an array `array` and a separator string `sep` and joins the elements\nof the array (each cast to string) separated by `sep`. The default separator\nis the empty string ''.\n\n_Options_\n\n- `array` (required) Array of values to be joined (cast to string).\n- `sep` (optional) Separator string. Default `''` (empty string).\n\n> **Example**\n>\n> ```\n> {\"code\": {\"$join\": {\"array\": [\"foo\", \"bar\", \"baz\"], \"sep\": \"-\"}}}\n> ```\n>\n> Returns `{\"code\": \"foo-bar-baz\"}`.\n\n### `$linestring`\n\nReturns a GeoJSON formatted [LineString](http://geojson.org/geojson-spec.html#id3)\nwith optionally `locs` locations and within `long_lim` and/or `lat_lim` bounds.\n\n_Options_\n\n- `locs` (optional) Number of locations in the line string. Default `2`.\n- `long_lim` (optional) Array of longitude bounds. Default `[-180, 180]`.\n- `lat_lim` (optional) Array of latitude bounds. Default `[-90, 90]`.\n\n> **Example**\n>\n> ```\n> {\"line\": \"$linestring\"}\n> ```\n>\n> Returns a GeoJSON line string with 2 locations,\n> e.g. `{\"line\":{\"type\":\"LineString\",\"coordinates\":[[35.67106,-41.9745],[120.07739,68.46491]]}}`.\n\n### `$maxcard`\n\nLimits the number of different values of a random generator to the specified maximum.\n\n_Options_\n\n- `value` The expression from which to draw the samples.\n- `max` The upper limit of different values.\n\n> **Example**\n>\n> ```\n> mgeneratejs '{\"top_5_animals\": {\"$maxcard\": {\"value\": \"$animal\", \"max\": 5}}}' -n 100\n> ```\n>\n> Even though we are generating 100 documents, there will be at most 5 different animals\n> in the data.\n\n### `$maxkey`\n\nReturns the MongoDB MaxKey value.\n\n> **Example**\n>\n> ```\n> {\"upper_bound\": \"$maxkey\"}\n> ```\n>\n> Returns `{\"upper_bound\":{\"$maxKey\":1}}`.\n\n### `$minkey`\n\nReturns the MongoDB MinKey value.\n\n> **Example**\n>\n> ```\n> {\"lower_bound\": \"$minkey\"}\n> ```\n>\n> Returns `{\"lower_bound\":{\"$minKey\":1}}`.\n\n### `$now`\n\nReturns the current date at creation time. Ideal for time-stamping documents.\n\n_Options_\n_none_\n\n> **Example**\n>\n> ```\n> {\"created\": \"$now\"}\n> ```\n>\n> Returns the extended JSON date and time at creation.\n> `{\"created\":{\"$date\":\"2017-02-20T04:44:24.880Z\"}}`.\n\n### `$numberDecimal`\n\nReturns a MongoDB Decimal128 number.\n\n_Aliases_\n\n- `$decimal`\n\n_Options_\n\n- `min` (optional) minimum value. Default `0`.\n- `max` (optional) maximum value. Default `1000`.\n- `fixed` (optional) number of digits after the decimal. Default `2`.\n\n> **Example**\n>\n> ```\n> {\"price\": {\"$numberDecimal\": {\"fixed\": 3}}}\n> ```\n>\n> Returns `{\"price\":{\"$numberDecimal\": \"1545.241\"}}`.\n\n### `$numberLong`\n\nReturns a MongoDB Long (Int64) number.\n\n_Aliases_\n\n- `$long`\n\n_Options_\n\n- `min` (optional) minimum value. Default `-2^53`.\n- `max` (optional) maximum value. Default `2^53`.\n\n> **Example**\n>\n> ```\n> {\"price\": {\"$numberLong\": {\"min\": 100000}}}\n> ```\n>\n> Returns `{\"price\":{\"$numberLong\":\"7624790980443125\"}}`.\n\n### `$numberInt`\n\nReturns ag 32-bit integer number.\n\n_Aliases_\n\n- `$number`\n- `$integer`\n\n_Options_\n\n- `min` (optional) minimum value. Default `-2^31`.\n- `max` (optional) maximum value. Default `2^31`.\n\n> **Example**\n>\n> ```\n> {\"price\": {\"$numberLong\": {\"min\": 100000}}}\n> ```\n>\n> Returns `{\"price\":{\"$numberLong\":\"7624790980443125\"}}`.\n\n### `$objectid`\n\nReturns a new MongoDB ObjectId.\n\n_Aliases_\n\n- `$oid`\n\n> **Example**\n>\n> ```\n> {\"_id\": \"$objectid\"}\n> ```\n>\n> Returns `{\"_id\":{\"$oid\":\"574ac75f725f4447309ab587\"}}`.\n\n### `$pick`\n\nTakes an array and a number `element` and returns the `element`-th value of\nthe array. If the number is larger than the length of the array, return\n`$missing` instead, which will remove the key from the resulting document.\n`element` is zero-based (`0` returns the first element).\n\n_Options_\n\n- `array` (required) Array of values or operators to choose from.\n- `element` (optional) Index of the array element to pick. Default `0`.\n\n> **Example**\n>\n> ```\n>  {\"color\": {\"$pick\": {\"array\": [\"green\", \"red\", \"blue\"], \"element\": 1}}}\n> ```\n>\n> Returns `{\"color\": \"red\"}`.\n\n### `$pickset`\n\nTakes an array and a number `quantity` and returns a new n-element array\ncontaining unique values from the input array. If the number is larger than the\nlength of the array, return `$missing` instead, which will remove the key from\nthe resulting document.\n\n_Options_\n\n- `array` (required) Array of values or operators to choose from.\n- `quantity` (optional) The size of the output array. Default `1`.\n\n> **Example**\n>\n> ```\n> {\"color\": {\"$pickset\": {\"array\": [\"green\", \"red\", \"blue\"], \"quantity\": 2}}}\n> ```\n>\n> Returns `{\"color\": [\"red\", \"green\"]}`\n\n### `$point`\n\nLike `$coordinates`, but returns a GeoJSON formatted\n[Point](http://geojson.org/geojson-spec.html#id2), optionally within\n`long_lim` and/or `lat_lim` bounds.\n\n_Options_\n\n- `long_lim` (optional) Array of longitude bounds. Default `[-180, 180]`.\n- `lat_lim` (optional) Array of latitude bounds. Default `[-90, 90]`.\n\n> **Example**\n>\n> ```\n> {\"position\": {\"$point\": {\"long_lim\": [-20, -19]}}}\n> ```\n>\n> Returns a GeoJSON Point with the longitude bounds between -20 and -19,\n> e.g. `{\"position\": {\"type\": \"Point\", \"coordinates\": [-19.96851,-47.46141]}}`.\n\nlinestring: require('./linestring'),\npolygon: require('./polygon'),\ngeometries: require('./geometries'),\n\n### `$polygon`\n\nReturns a GeoJSON formatted [Polygon](http://geojson.org/geojson-spec.html#id4)\n(without holes) with `corners` corners, optionally within `long_lim` and/or\n`lat_lim` bounds. The last point in the `coordinates` array closes the polygon\nand does not count towards the number of corners.\n\n_Options_\n\n- `corners` (optional) Number of corners in the polygon. Default `3`.\n- `long_lim` (optional) Array of longitude bounds. Default `[-180, 180]`.\n- `lat_lim` (optional) Array of latitude bounds. Default `[-90, 90]`.\n\n> **Example**\n>\n> ```\n> {\"area\": {\"$polygon\": {\"corners\": 5}}}\n> ```\n>\n> Returns a GeoJSON polygon with 5 corners,\n> e.g. `{\"area\":{\"type\":\"Polygon\",\"coordinates\":[[[-75.26507,81.14973],[-12.29368,64.22995],[60.43231,-15.97496],[-133.6566,-40.40259],[-130.31348,-87.36982],[-75.26507,81.14973]]]}}`.\n\n### `$regex`\n\nReturns a [RegExp][regexp] object.\n\n_Options_\n\n- `string` (optional) The regular expression string. Default `'.*'`.\n- `flags` (optional) Flags for the RegExp object. Default `''`.\n\n> **Example**\n>\n> ```\n> {\"expr\": {\"$regex\": {\"string\": \"^ab+c$\", \"flags\": \"i\"}}}\n> ```\n>\n> Returns `{\"expr\":{\"$regex\":\"^ab+c$\",\"$options\":\"i\"}}`.\n\n### `$timestamp`\n\nReturns a MongoDB Timestamp object.\n\n_Options_\n\n- `t` (optional) Set the low value to the specified value. Default random.\n- `i` (optional) Set the high value to the specified value. Default random.\n\n> **Example**\n>\n> ```\n> {\"ts\": {\"$timestamp\": {\"t\": 10, \"i\": 20}}}\n> ```\n>\n> Returns `{\"ts\":{\"$timestamp\":{\"t\":10,\"i\":20}}}`.\n\n## Chance.js\n\nAll other `$`-prefixed strings that don't match any of the built-in operators above\nare passed on to the [`Chance.js`][chance-js] library. Use the string format for\ndefault options, or pass in custom options with the object format.\n\nSome Examples:\n\n```\n{\"ip_address\": \"$ip\"}\n{\"percent\": {\"$floating\": {\"min\": 0, \"max\": 100, \"fixed\": 8}}}\n{\"birthday\": {\"$birthday\": {\"type\": \"child\"}}}\n{\"phone_no\": \"$phone\"}\n{\"full_name\": {\"$name\": {\"gender\": \"female\"}}}\n```\n\n## Advanced Templates\n\nTBD.\n\nIn short, you can use handlebar template strings to build even more complex\nvalues, e.g.\n\n```\nmgeneratejs '{\"recipient\": \"{{chance.name()}} <{{chance.email()}}>\"}' -n 3\n```\n\n```\n{\"recipient\":\"Lora Jimenez <muwer@oma.qa>\"}\n{\"recipient\":\"Elnora Brewer <wisnowaz@vacpar.tg>\"}\n{\"recipient\":\"Howard Bryan <jo@vemoriw.sd>\"}\n```\n\n## Difference to mtools' mgenerate script\n\nThis is a JavaScript port from the [`mgenerate`][mgenerate-mtools] script in the\n[mtools][mtools] library (of which I am also the author). It is mostly backwards\ncompatible except for the following breaking changes:\n\n1. The \"array\" operator format is no longer supported, as it was confusing\n   which arguments need to be provided in which order. Instead, use the \"object\"\n   format with named options. See [array shortcut syntax][array-syntax].\n2. The \"$concat\" operator has been renamed to \"$join\", as this operation is\n   called \"join\" in many languages, e.g. Python and JavaScript. \"\\$concat\" is\n   reserved for a future operator to concatenate arrays.\n3. `mgeneratejs` does not insert documents directly into MongoDB, it only outputs\n   to stdout. It doesn't make sense to re-implement all the authentication options\n   separately, when the resulting objects can simply be piped to mongoimport.\n\nIn addition, many more operators are supported through the inclusion of\nthe `Chance.js` library, and the extended template syntax with handlebar templates.\n\n## License\n\nApache 2.0\n\n[mgenerate-mtools]: https://github.com/rueckstiess/mtools/wiki/mgenerate\n[array-syntax]: https://github.com/rueckstiess/mtools/wiki/mgenerate#parsing-the-json-document\n[mtools]: https://github.com/rueckstiess/mtools/\n[chance-js]: http://chancejs.com/\n[regexp]: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n[bson-spec]: http://bsonspec.org/spec.html\n[date-parse]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\n[travis_img]: https://img.shields.io/travis/rueckstiess/mgeneratejs.svg\n[travis_url]: https://travis-ci.org/rueckstiess/mgeneratejs\n[npm_img]: https://img.shields.io/npm/v/mgeneratejs.svg\n[npm_url]: https://npmjs.org/package/mgeneratejs\n","readmeFilename":"README.md"}