1.0.16 • Published 8 years ago
@openpoll/schemas v1.0.16
OpenPoll Schemas
This is a repo containing all the JSON Schema definitions for OpenPoll.
Usage
@openpoll/schemas exports several helpers to access and validate data against their schemas.
schemascontains a structured (nested) object with schema definitions. A schema with"$id": "https://schemas.openpoll.io/0.1/poll/response.json"is accessible throughschemas["0.1"].poll.responseschemasFlatcontains an object where the IDs of the schemas are the key, and the schema is the value (e.g.schemasFlat["https://schemas.openpoll.io/0.1/poll/response.json"]returns the schema)validatoris an instance ofajv, loaded with all the schemas in this package, plus the drafts that these schemas followvalidatea quick wrapper that wraps thevalidator.validatemethod. It returnstrueorfalsedepending on the validity of the data.validateexpects a schema or the$idof a schema as the first parameter, and the data as 2nd
const { schemas, validate, validator } = require("@openpoll/schemas");
let data = {
some: "data",
is: false
};
console.log(validate(schemas["0.1"].mainchain.block, data)); // returns false
// To check the errors that occur, you have to use the ajv validator
// validator.errors always stores the latest result, so if you want to use the errors somewhere else,
// you'll have to copy the data into another variable
console.error("Errors", validator.errors);Additional information
All schemas in this package can also be found on https://schemas.openpoll.io. The ID of a schema should resolve to a valid URL.