UNPKG

api-schema-builder

Version:

build schema with validators for each endpoint

22 lines (19 loc) 570 B
const Validator = require('./Validator'), validatorUtils = require('./validator-utils'); class OneOfValidator extends Validator { constructor(schema) { super(oneOf, schema); } } function oneOf(schemas, data) { const schema = schemas[data[schemas.discriminator]]; let result = false; if (schema) { result = schema(data); this.errors = schema.errors; } else { validatorUtils.allowedValuesError.call(this, schemas.discriminator, schemas.inheritance); } return result; } module.exports = OneOfValidator;