summaryrefslogtreecommitdiff
path: root/app/node_modules/okschema/index.js
blob: c601a077d74a374ba80633d7709e886c55abbbe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var mschema = require('mschema');

/**
 * OKSchema!
 * Meant as a thin wrapper around some existing schema validation
 * module, mostly to allow for the extension of types.
 */
function OKSchema(spec) {
  if (!(this instanceof OKSchema)) return new OKSchema(spec);
  if (!spec)
    throw new Error('No spec provided to OKSchema');
  this._spec = spec;
}

OKSchema.prototype.assertValid = function(data) {
  var result = mschema.validate(data, this._spec);
  if (!result.valid)
    throw result.errors;
};

OKSchema.prototype.getMschema = function() {
  return this._spec;
};

module.exports = OKSchema;