@mapeo/mock-data
Version:
Module and CLI to generate mock data for Mapeo
90 lines (63 loc) • 2.39 kB
Markdown
Module and CLI to generate fake data for CoMapeo
```sh
npm install @mapeo/mock-data
```
Lists the available Mapeo schemas and the corresponding available versions for each.
```sh
npx list-mapeo-schemas
```
example output:
```json
{
"role": ["v1"],
"projectSettings": ["v1"],
"preset": ["v2"],
"observation": ["v5"],
"icon": ["v2"],
"field": ["v2"],
"deviceInfo": ["v1"],
"coreOwnership": ["v1"]
}
```
Generates JSON-formatted Mapeo data based on [`@comapeo/schema`](https://github.com/digidem/comapeo-schema/).
- `--schema, -s`: specifies the schema to generate data for. Use the `list-mapeo-schemas` command to learn which ones are available.
- `--version, -v`: (_optional_) specifies the schema version to use for `--schema`. Uses latest version by default.
- `--count, -c`: (_optional_) specifies the number of entries to generate. Uses `1` by default.
- `--output, -o`: (_optional_) specifies a path relative to the current working directory to write the generated data to. Logs to stdout by default.
```sh
npx generate-mapeo-data --schema observation
npx generate-mapeo-data --schema observation --count 10
npx generate-mapeo-data --schema observation --version v4
npx generate-mapeo-data --schema observation --output observations.json
```
`(schemaName: string, opts?: { version?: string, count?: number }) => Array<MapeoDoc>`
Returns mocked data for the specified `schemaName`, where `MapeoDoc` adheres to the schema definition associated with `schemaName`. Accepts the following `opts`:
- `version`: specify the schema version to use
- `count`: specify the number of records to generate
`() => { [name: string]: Array<string> }`
Returns the available schemas to generate from and the corresponding versions that are available for each. Example value may look like this:
```js
{
role: [ 'v1' ],
projectSettings: [ 'v1' ],
preset: [ 'v2' ],
observation: [ 'v5' ],
icon: [ 'v2' ],
field: [ 'v2' ],
deviceInfo: [ 'v1' ],
coreOwnership: [ 'v1' ]
}
```