UNPKG

@mapeo/mock-data

Version:

Module and CLI to generate mock data for Mapeo

90 lines (63 loc) 2.39 kB
# Mapeo Mock Data Module and CLI to generate fake data for CoMapeo ## Installation ```sh npm install @mapeo/mock-data ``` ## Usage ### Command line API #### `list-mapeo-schemas` 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"] } ``` #### `generate-mapeo-data` 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 # 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 use - `count`: 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: ```js { role: [ 'v1' ], projectSettings: [ 'v1' ], preset: [ 'v2' ], observation: [ 'v5' ], icon: [ 'v2' ], field: [ 'v2' ], deviceInfo: [ 'v1' ], coreOwnership: [ 'v1' ] } ```