Document schemas, validators and flow types for Mapeo
Original draft: https://hackmd.io/wlMcMM65TmuPXGYOEbOR2g#
npm install --save mapeo-schema
const mapeoSchema = require('mapeo-schema')
// also
const validateObservation = require('mapeo-schema/validateObservation')
const testObservation = {...}
const isValid = mapeoSchema.validateObservation(testObservation);
// returns true if validates against schema, false otherwise.
// errors a static prop on mapeoSchema.validateObservation.errors
import type { Observation } from 'mapeo-schema'
const myObs: Observation = {...}
It looks like there is no code in this repo. All the code is generated from the JSON Schema definitions. To build the validator functions and flow definitions:
npm run build
Tests are also generated dynamically. Place an example minimal and valid JSON
for a particular schema in the examples folder, with a filename
that matches the schema filename, e.g. if you add a schema called
mySchema.json
then add an example mySchema.minimal.json
and
mySchema.full.json
. "Minimal" means with only the required properties, where
"full" means with all the defined properties in the schema document. To run
tests:
npm test
Before publishing, update the docs with:
npm run docs
MIT © 2019 Digital Democracy