@mapeo/mock-data
v2.1.2
Published
Module and CLI to generate mock data for Mapeo
Downloads
358
Readme
Mapeo Mock Data
Module and CLI to generate fake data for CoMapeo
Installation
npm install @mapeo/mock-data
Usage
Command line API
list-mapeo-schemas
Lists the available Mapeo schemas and the corresponding available versions for each.
npx list-mapeo-schemas
example output:
{
"role": ["v1"],
"projectSettings": ["v1"],
"preset": ["v2"],
"observation": ["v5"],
"icon": ["v2"],
"field": ["v2"],
"deviceInfo": ["v1"],
"coreOwnership": ["v1"]
}
generate-mapeo-data
Generates JSON-formatted Mapeo data based on @comapeo/schema
.
--schema, -s
: specifies the schema to generate data for. Use thelist-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. Uses1
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.
# Generate data for the specified schema
npx generate-mapeo-data --schema observation
# Generate 10 entries of data
npx generate-mapeo-data --schema observation --count 10
# Generate data using a specific schema version
npx generate-mapeo-data --schema observation --version v4
# Generate data and write to the specified output file
npx generate-mapeo-data --schema observation --output observations.json
Programmatic API
mapeoMockData.generate
(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 usecount
: specify the number of records to generate
mapeoMockData.listSchemas
() => { [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:
{
role: [ 'v1' ],
projectSettings: [ 'v1' ],
preset: [ 'v2' ],
observation: [ 'v5' ],
icon: [ 'v2' ],
field: [ 'v2' ],
deviceInfo: [ 'v1' ],
coreOwnership: [ 'v1' ]
}