UNPKG

react-router-ga

Version:

[![Downloads](https://img.shields.io/npm/dm/react-router-ga)](https://npm.im/react-router-ga) [![Version](https://img.shields.io/npm/v/react-router-ga)](https://npm.im/react-router-ga) [![License](https://img.shields.io/npm/l/react-router-ga)](https://ope

39 lines (28 loc) 745 B
/* eslint-disable strict, no-param-reassign */ 'use strict'; const fs = require('fs'); const path = require('path'); const Ajv = require('ajv'); const errors = require('ajv-errors'); const keywords = require('ajv-keywords'); const ValidationError = require('./ValidationError'); const ajv = new Ajv({ allErrors: true, jsonPointers: true, }); errors(ajv); keywords(ajv, ['instanceof', 'typeof']); const validateOptions = (schema, options, name) => { if (typeof schema === 'string') { schema = fs.readFileSync(path.resolve(schema), 'utf8'); schema = JSON.parse(schema); } if (!ajv.validate(schema, options)) { throw new ValidationError(ajv.errors, name); } return true; }; module.exports = validateOptions;