{"_id":"mongodb-datasets","_rev":"136-193316c89204bb6d037ef464467a275e","name":"mongodb-datasets","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"mongodb-datasets","version":"0.1.0","keywords":["mongodb","mongodb.js"],"author":{"url":"http://imlucas.com","name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"license":"MIT","_id":"mongodb-datasets@0.1.0","maintainers":[{"name":"imlucas","email":"lucas@ex.fm"}],"homepage":"http://github.com/imlucas/mongodb-datasets","bugs":{"url":"https://github.com/imlucas/mongodb-datasets/issues"},"bin":{"mongodb-datasets":"bin/mongodb-datasets.js"},"dist":{"shasum":"053a02fa62213814e5afd20cb5d477d94d6c6371","tarball":"https://registry.npmjs.org/mongodb-datasets/-/mongodb-datasets-0.1.0.tgz","integrity":"sha512-3/zyRuLxo4KHcGW2V+t5kNViJ+acbqe+xagQGvNStPFO8I9ZuB5sVt6S5U5ATl5fn6Wa3qndYYctDfHYRrD9Ig==","signatures":[{"sig":"MEUCIQCsZmLk2bwfBd3xs+1bPf+Ed2nZ6gvTNjRsyWnj38ByrwIgXC3TbwI9gyt9u6+7Nyqt+9foX3qHzZaF/SyNLaC0zwg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"053a02fa62213814e5afd20cb5d477d94d6c6371","gitHead":"735c7c5e97e6ee835c1b2c7f0bf3c157613038be","scripts":{"test":"mocha"},"_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"deprecated":"critical bug fixed in v0.1.3","repository":{"url":"http://github.com/imlucas/mongodb-datasets.git","type":"git"},"_npmVersion":"1.4.16","description":"What's a database without any data?","directories":{},"dependencies":{"bson":"^0.2.9","faker":"^1.0.0","yargs":"^1.2.6","chance":"^0.5.6","regret":"^0.1.1","underscore":"^1.6.0","mongodb-uri":"^0.9.7","event-stream":"^3.1.5","mongodb-extended-json":"0.0.4"},"devDependencies":{"joi":"^4.6.1","async":"^0.9.0","debug":"^1.0.2","mocha":"^1.20.1"}},"0.1.2":{"name":"mongodb-datasets","version":"0.1.2","keywords":["mongodb","mongodb.js"],"author":{"url":"http://imlucas.com","name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"license":"MIT","_id":"mongodb-datasets@0.1.2","maintainers":[{"name":"imlucas","email":"lucas@ex.fm"},{"name":"zth0908123","email":"tianhao.zhang.2016@gmail.com"}],"homepage":"http://github.com/imlucas/mongodb-datasets","bugs":{"url":"https://github.com/imlucas/mongodb-datasets/issues"},"bin":{"mongodb-datasets":"bin/mongodb-datasets.js"},"dist":{"shasum":"7b86f906ca4043febc4f8875e62d090d73a01526","tarball":"https://registry.npmjs.org/mongodb-datasets/-/mongodb-datasets-0.1.2.tgz","integrity":"sha512-caYf7Mg215TuDdcWufb+hGbIPbaGv/GwubmZVIfIxIsv25NFbO9sxYV/lrZdGZFe0Ug5nE6X2r8Xf8RB53M2gA==","signatures":[{"sig":"MEUCIFrkgxddDK/92GtdLmNcKPn18xmhZYP8TbHeTNWOAFfmAiEAwLqrI2Mv+1e6rbXBuJihC03eIP3TFm3RtO4NehiaIWc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"7b86f906ca4043febc4f8875e62d090d73a01526","scripts":{"test":"mocha"},"_npmUser":{"name":"zth0908123","email":"tianhao.zhang.2016@hotmail.com"},"deprecated":"critical bug fixed in v0.1.3","repository":{"url":"http://github.com/imlucas/mongodb-datasets.git","type":"git"},"_npmVersion":"1.4.9","description":"What's a database without any data?","directories":{},"dependencies":{"bson":"^0.2.9","gulp":"^3.8.6","debug":"^1.0.2","faker":"^1.0.0","yargs":"^1.2.6","chance":"^0.5.6","underscore":"^1.6.0","mongodb-uri":"^0.9.7","event-stream":"^3.1.5","mongodb-extended-json":"0.0.4"},"devDependencies":{"joi":"^4.6.1","async":"^0.9.0","mocha":"^1.20.1","mongodb-importer":"^0.0.0"}},"0.1.1":{"name":"mongodb-datasets","version":"0.1.1","keywords":["mongodb","mongodb.js"],"author":{"url":"http://imlucas.com","name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"license":"MIT","_id":"mongodb-datasets@0.1.1","maintainers":[{"name":"imlucas","email":"lucas@ex.fm"},{"name":"zth0908123","email":"tianhao.zhang.2016@gmail.com"}],"homepage":"http://github.com/imlucas/mongodb-datasets","bugs":{"url":"https://github.com/imlucas/mongodb-datasets/issues"},"bin":{"mongodb-datasets":"bin/mongodb-datasets.js"},"dist":{"shasum":"c3f7ab73217d5919481a564c30ce2ae318d3a19b","tarball":"https://registry.npmjs.org/mongodb-datasets/-/mongodb-datasets-0.1.1.tgz","integrity":"sha512-pFQeZQfYS2OZkHbVpePw46fX73sYNWWf5svlxPdLBwthBG4/lDIY+L2GonabjCtqO6+kHgDWZTPhxhS1/AuTUA==","signatures":[{"sig":"MEYCIQDsb3/99xzoCeDI9IQdVMChGb07eRtPv5C2Xc15kHb8tAIhAPOGxORZQvrAkm0lq+XPs2Og2eGhqa2NF2tHkvXx5hwp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"c3f7ab73217d5919481a564c30ce2ae318d3a19b","scripts":{"test":"mocha"},"_npmUser":{"name":"zth0908123","email":"tianhao.zhang.2016@hotmail.com"},"deprecated":"critical bug fixed in v0.1.3","repository":{"url":"http://github.com/imlucas/mongodb-datasets.git","type":"git"},"_npmVersion":"1.4.9","description":"What's a database without any data?","directories":{},"dependencies":{"bson":"^0.2.9","gulp":"^3.8.6","debug":"^1.0.2","faker":"^1.0.0","yargs":"^1.2.6","chance":"^0.5.6","underscore":"^1.6.0","mongodb-uri":"^0.9.7","event-stream":"^3.1.5","mongodb-extended-json":"0.0.4"},"devDependencies":{"joi":"^4.6.1","async":"^0.9.0","mocha":"^1.20.1","mongodb-importer":"^0.0.0"}},"0.1.3":{"name":"mongodb-datasets","version":"0.1.3","keywords":["mongodb","mongodb.js"],"author":{"url":"http://imlucas.com","name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"license":"MIT","_id":"mongodb-datasets@0.1.3","maintainers":[{"name":"imlucas","email":"lucas@ex.fm"},{"name":"zth0908123","email":"tianhao.zhang.2016@gmail.com"}],"homepage":"http://github.com/imlucas/mongodb-datasets","bugs":{"url":"https://github.com/imlucas/mongodb-datasets/issues"},"bin":{"mongodb-datasets":"bin/mongodb-datasets.js"},"dist":{"shasum":"14f9ea64a691315eabd8bf68c648b297a75075a3","tarball":"https://registry.npmjs.org/mongodb-datasets/-/mongodb-datasets-0.1.3.tgz","integrity":"sha512-OGf29k7clmLrnPWc1jxr1hpqU02vt28R3jv+Yex9D843AqXDwP4RIqPFVvWZ5UJipmlnlbbVyt40ZWP8i6kxBQ==","signatures":[{"sig":"MEUCICoumOg9iTFDUZAHylm7wLJTqofam7wQi5zS2wGlJnSrAiEAg1qXLE6NIHchHVoaF0bK1bpmsc/aFwmpe0A05bclttA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"14f9ea64a691315eabd8bf68c648b297a75075a3","gitHead":"cda7379f1afb558d925690a3f0d0033fd40911f1","scripts":{"test":"mocha"},"_npmUser":{"name":"zth0908123","email":"tianhao.zhang.2016@hotmail.com"},"repository":{"url":"http://github.com/imlucas/mongodb-datasets.git","type":"git"},"_npmVersion":"2.0.0-alpha-5","description":"What's a database without any data?","directories":{},"dependencies":{"bson":"^0.2.9","gulp":"^3.8.6","debug":"^1.0.2","faker":"^1.0.0","yargs":"^1.2.6","chance":"^0.5.6","underscore":"^1.6.0","mongodb-uri":"^0.9.7","event-stream":"^3.1.5","mongodb-extended-json":"0.0.4"},"devDependencies":{"joi":"^4.6.1","async":"^0.9.0","mocha":"^1.20.1","mongodb-importer":"^0.0.0"}},"0.1.4":{"name":"mongodb-datasets","version":"0.1.4","keywords":["mongodb","mongodb.js"],"author":{"url":"http://imlucas.com","name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"license":"MIT","_id":"mongodb-datasets@0.1.4","maintainers":[{"name":"imlucas","email":"lucas@ex.fm"},{"name":"zth0908123","email":"tianhao.zhang.2016@gmail.com"}],"homepage":"http://github.com/imlucas/mongodb-datasets","bugs":{"url":"https://github.com/imlucas/mongodb-datasets/issues"},"bin":{"mongodb-datasets":"bin/mongodb-datasets.js"},"dist":{"shasum":"26969641da4695f5cff08931fc97963d7614b621","tarball":"https://registry.npmjs.org/mongodb-datasets/-/mongodb-datasets-0.1.4.tgz","integrity":"sha512-/bUcY6BU30+DNnAYXTi7ehgoj6X7NRGSSfyBdEGz7TtAGzRi2CzGpFb2Ip/6ZLqBZ7MZQb/ZhomDvCG5cHtNQg==","signatures":[{"sig":"MEYCIQDxp7wP3JbOmbTHX5aiIXWjdDor1Ww1Yc3pfij3eHpv+gIhAOLWVYufFHlY2V327/s2PRJILDoLdAODxOcDlljv0TRL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"26969641da4695f5cff08931fc97963d7614b621","gitHead":"304b2fb191266aa1657eec55ab08312c92ec280b","scripts":{"test":"mocha"},"_npmUser":{"name":"zth0908123","email":"tianhao.zhang.2016@hotmail.com"},"repository":{"url":"http://github.com/imlucas/mongodb-datasets.git","type":"git"},"_npmVersion":"2.0.0-alpha-5","description":"What's a database without any data?","directories":{},"dependencies":{"bson":"^0.2.9","debug":"^1.0.2","faker":"^1.0.0","yargs":"^1.2.6","chance":"^0.5.6","underscore":"^1.6.0","mongodb-uri":"^0.9.7","event-stream":"^3.1.5","mongodb-extended-json":"0.0.4"},"devDependencies":{"joi":"^4.6.1","gulp":"^3.8.6","mocha":"^1.20.1","mongodb-importer":"^0.0.0"}},"0.1.5":{"name":"mongodb-datasets","version":"0.1.5","keywords":["mongodb","mongodb.js"],"author":{"url":"http://imlucas.com","name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"license":"MIT","_id":"mongodb-datasets@0.1.5","maintainers":[{"name":"imlucas","email":"lucas@ex.fm"},{"name":"zth0908123","email":"tianhao.zhang.2016@gmail.com"}],"homepage":"http://github.com/imlucas/mongodb-datasets","bugs":{"url":"https://github.com/imlucas/mongodb-datasets/issues"},"bin":{"mongodb-datasets":"bin/mongodb-datasets.js"},"dist":{"shasum":"1334479db1642722c3be9aaf26d320c30ff074ec","tarball":"https://registry.npmjs.org/mongodb-datasets/-/mongodb-datasets-0.1.5.tgz","integrity":"sha512-VrWXLarVPtDz4GwpWS+g5WLpcKN0jGWuK8a4oCWKDa1+8N76koSnBOqdpSapAPKtO32Ui48//13vj5TfYLNtsg==","signatures":[{"sig":"MEUCIQDjoC7Rdj1ERkEYIojK5AcznHhwrnV6McU+oZOuBdR8ogIgCHsVZIBxLcZNhulHHn/zmLeKvcw36iB3ZH2CXr8O+ho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"1334479db1642722c3be9aaf26d320c30ff074ec","gitHead":"3ad2739e56fa17707306349c03a6575d031ebcae","scripts":{"test":"mocha"},"_npmUser":{"name":"imlucas","email":"lucas@ex.fm"},"repository":{"url":"http://github.com/imlucas/mongodb-datasets.git","type":"git"},"_npmVersion":"2.0.0-alpha-5","description":"What's a database without any data?","directories":{},"dependencies":{"joi":"^4.6.2","bson":"^0.2.11","debug":"^1.0.4","faker":"^1.0.0","yargs":"^1.3.1","chance":"^0.5.6","underscore":"^1.6.0","mongodb-uri":"^0.9.7","event-stream":"^3.1.5","mongodb-extended-json":"^1.0.0"},"devDependencies":{"gulp":"^3.8.7","mocha":"^1.21.4","mongodb-importer":"^0.0.0"}}},"time":{"created":"2014-07-23T11:58:04.366Z","modified":"2026-07-15T15:35:11.257Z","0.1.0":"2014-07-23T11:58:04.366Z","0.1.2":"2014-07-24T18:17:25.135Z","0.1.1":"2014-07-24T18:21:05.618Z","0.1.3":"2014-07-28T14:37:24.761Z","0.1.4":"2014-07-28T17:41:00.834Z","0.1.5":"2014-08-07T18:37:13.215Z"},"bugs":{"url":"https://github.com/imlucas/mongodb-datasets/issues"},"author":{"url":"http://imlucas.com","name":"Lucas Hrabovsky","email":"hrabovsky.lucas@gmail.com"},"license":"MIT","homepage":"http://github.com/imlucas/mongodb-datasets","keywords":["mongodb","mongodb.js"],"repository":{"url":"http://github.com/imlucas/mongodb-datasets.git","type":"git"},"description":"What's a database without any data?","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":"tianhao.zhang.2016@hotmail.com","name":"zth0908123"},{"email":"hrabovsky.lucas@gmail.com","name":"imlucas"},{"email":"dana.groff+mongodb-js@mongodb.com","name":"mongodb-js-user"}],"readme":"# MongoDB-Datasets\n\n[![Build Status](https://secure.travis-ci.org/imlucas/mongodb-datasets.png)](http://travis-ci.org/imlucas/mongodb-datasets)\n[![Dependency Status](https://david-dm.org/imlucas/mongodb-datasets.svg?theme=shields.io)](https://david-dm.org/imlucas/mongodb-datasets)\n![npm version](http://img.shields.io/npm/v/mongodb-datasets.svg)\n<!-- [![Coverage Status](https://coveralls.io/repos/imlucas/mongodb-datasets/badge.png)](https://coveralls.io/r/imlucas/mongodb-datasets) -->\n\nWhat's a database without any data? With mongodb-datasets you never worry about\nhow to populate your MongoDB database with the data as you wish. Unlike a simple\npopulator, mongodb-datasets is designed to offer you the maximum control of the\ndata to be in your database.\n\n## Installation\n\nTo use the `mongodb-datasets` command, install mongodb-datasets globally:\n\n    $ npm install -g mongodb-datasets\n\nTo use the Javascript API, in your project directory:\n\n    $ npm install mongodb-datasets --save\n\n## A Simple Example\n\ntest_schema.json\n```json\n{\n  \"_id\": \"{{counter()}}\",\n  \"name\": \"{{chance.name()}}\",\n  \"phones\": [ 3, \"{{chance.phone()}}\" ],\n  \"title\": \"Software {{util.sample(['Engineer', 'Programmer'])}}\"\n}\n```\n\nUsing the command:\n\n    $ mongodb-datasets test_schema.json -n 10 -o datasets.json\n\nOr using the Javascript API:\n```javascript\nvar fs = require('fs'),\n  es = require('event-stream'),\n  assert = require('assert'),\n  datasets = require('mongodb-datasets');\n\nfs.createReadStream('./test_schema.json')\n  .pipe(datasets.createGeneratorStream({size: 10})\n  .pipe(es.writeArray(function (err, array) {\n    assert.equal(10, array.length);\n  });\n```\n\n## Usage\n\n`createGeneratorStream(options)` creates a\n[Transform](http://nodejs.org/api/stream.html#stream_class_stream_transform)\nstream, which consumes a Readable stream containing a template schema and\nproduces a stream of generated documents in the form of Javascript objects.\n\n### Options\n\n* `size` - the number of documents to be populated\n* `schema` - an object representing the template schema of your data.\nIf present, the returned stream effectively behaves as a Writable stream.\n\n### Command line\n\nYou can also use mongodb-datasets in cli. Examples:\n\n    $ mongodb-datasets schema.json -n 10 -o dump.out\n    $ cat schema.json | mongodb-datasets -n 10 -o -\n\n```\nOptions:\n  -0          Path to a template schema file           [string]\n  -n, --size  Number of documents to generate          [required]\n  -o, --out   Path to output file. Use \"-\" for stdout  [required]\n  --pretty    Whether to format results\n  -h, --help  Show help message\n```\n\n## Building your schema\n\nThe schema is a JSON or Javascript object which is used as the template of every\nsingle document to be inserted into MongoDB database. The following content in\nthis section discusses how to specify the value of each name/value pair of the\nobject.\n\n### Basics\n\nThe value can be any primitive data types, such as boolean, number, array, and\nobject. When the value is a string, it can be used to evaluate Javascript\nexpressions. All string segments intended to be treated as expressions must be\nsurrounded by `{{ <expr> }}`. A mix of regular string and expressions are\nallowed, whereas a mix of different types is not. Some examples:\n* `{ \"boolean\": true }`\n* `{ \"brackets_parade\": [ { 1: { 2: [ { 3: 3 } ] } } ] }`\n* `{ \"mix\": \"1 + 1 = {{ 1+1 }}\" }`\n\n### Random data\n\nThis project uses [chance.js](http://chancejs.com/) and\n[faker.js](https://github.com/FotoVerite/Faker.js) as the internal random data\ngenerator. To invoke them, use `faker.<method>` and `chance.<method>`:\n* `{ \"use_chance\": \"{{ chance.name({ gender: 'female' }) }}\" }`\n* `{ \"use_faker\": \"{{ faker.Company.catchPhrase() }}\" }`\n\n### Type conversion\n\nMaybe you've already noticed. It's not very useful to generate a string from\n`\"{{chance.year()}}\"` which is expected to apply commands such as `$gte`.\nSince its MongoDB-specific nature, the package currently supports common bson\ntypes as in [bson](https://github.com/mongodb/js-bson) module, such as Number,\nTimestamp, Date, and ObjectID. Note that once conversion is triggered, the\ntarget object will be the only produced content. Some examples:\n* `{ \"date\": \"{{ Date(chance.date()) }}\" }` becomes `ISODate(...)` in MongoDB\n* `{ \"two\": \"{{ Number(1) + Number(1) }}\" }` produces `{ \"two\": 1 }`\n\n### Document-level scope\n\nYou can make use of `this` keyword in expressions to get access to values of\nother name/value pairs. But its behavior is different from the default `this`\nin a Javascript object in the sense that all properties must correspond to\na name/value pair. Using values not yet generated is also supported, and the\ninvoked values will not be generated more than once per inserted document. You\ncan also access a field's parent using `this._$parent`.\n* `{ \"one\": 1, \"two: \"{{ Number(this.one + 1) }}\" }`\n* `{ \"first_name\": \"{{ this.name.first }}\",\n     \"name\": { \"first\": \"{{ chance.first() }}\" } }` produces consistent result.\n* `{ \"echo\": {{ Object.keys(this) }} }` returns `{ \"echo\": [ \"echo\" ] }`\n* `{ \"1\": { \"2\": \"{{ this._$parent.3 }}\" }, \"3\": \"{{ chance.d6() }}\" }`\n\n### Field visibility\n\nYou also have control on the visibility of each field. By default, fields with\nname starting with `_$` are hidden. To toggle the visibility, simply call\n`show(boolean)` or `hide(boolean)` anywhere in the target field's expression.\nNote that while hidden one can still access its newly generated value.\n* `{ \"_$digit\": 3, \"lat\": \"{{ chance.latitude({fixed: this._$digit}) }}\",\n                   \"lng\": \"{{ chance.longitude({fixed: this._$digit}) }}\"}`\n* `{ \"temperature\": \"{{ util.random(40, 130) }}\",\n     \"warning\": \"Too hot! {{ hide(this.temperature < 100) }}\" }`\n\n### Utility methods\n\nWe are happy to add more methods in a prompt manner should you find any could be\npotentially helpful. Currently we have:\n* `_$size` - the total number of generated docs in the current run\n* `_$index` - the index of the current document, starting from 0\n* `counter([id], [start], [step])` - the underlying counts are accessble\n  anywhere in the outmost document so that you can use the same counter\n  consistently regardless of its position\n  + `id` - the index of the counter to use, default is 0\n  + `start` - the first count, default is 0\n  + `step` - increment of each count, default is 1\n* `util.sample(list, [n])` - identical to [underscore.js](http://underscorejs.org/#sample)\n\n### Imperfections\n\n* Due to the use of underscore.js, `_` is accessible from within the template\n  schema. Its many powerful methods may cause unwanted effects if used unchecked.\n* A lot of efforts were made to avoid exposing internal variables, but there is\n  still one not properly handled, such as `_state`. Please do not mess with it.\n* Expressions provided by users are directly evaluated without any error\n  checking, which may cause the program to crash without supplying much helpful\n  information to users\n\n## Purpose of this project\n\nWith the explosion of data volume and availability, users are transitioning\ntheir focus to analysis and data-mining on these vast datasets. We believe\nMongoDB is ideally positioned to provide the backbone to meet these market\nneeds. While several users have already begun to exploit this, it requires\nsubstantial sunk costs including mapping the aggregation framework to their\ncurrent mental model, designing efficient schemas, and acquiring datasets for\nprototyping. Work to humanize the aggregation framework is already underway. We\nbelieve supplying users with example schemas for common use cases, such as user\nactivity streams, time series data, and entity management, and more importantly,\ncorresponding datasets for prototyping will establish MongoDB as a leader in\nthis emerging market.\n\n## Change log\n\n### 0.1.0 - Jul. 23, 2014\nFirst release!\n\n### 0.1.1 - Jul. 23, 2014\n* Fixed bug that causes `mongodb-datasets` command crash\n* Updated README to include all features\n\n### 0.1.3 - Jul. 24, 2014\n* Fixed bug that causes inconsistent content if `this.<embedded doc>` is used\n\n### 0.1.4 - Jul. 28, 2014\n* Changed `Double` to `Number` to hide Javascript's `Number` constructor\n* Added `_$index`\n* Made the former `_$size()` a property `_$size`\n\n### Changed not yet published\n\n#### branch:API - Jul. 29, 2014\n* Output nice formatted json array with flag `--pretty` enabled\n* Mapped chance and faker's random functions to higher level API of datasets.\n  Please consult comments in `lib/schema/context.js' for detailed usage.\n\n#### branch:arrayField - Jul. 31, 2014\n* New syntax for defining arrays in template schema\n* All configured arrays must conform to the format:\n  + `[ \"{{_$config}}\", {/*options*/}, <content>, /*optionally*/ <more content...> ]`\n* Arrays whose first element is not `{{_$config}}` are treated as ordinary arrays\n  + multiple elements are ok, `[ '{{chance.name()}}',  '{{chance.age()}}' ]`\n  + different types are ok `[ true, 3, { doc: 'doc' }, [ \"array\" ]]`\n* Supported options:\n  + `size` - can be a number or an array of two numbers ([min, max]). the number of times the contents will be repeated\n\n## License\n\nMIT\n","readmeFilename":"README.md","users":{"zth0908123":true}}