UNPKG

orionsoft-react-scripts

Version:

Orionsoft Configuration and scripts for Create React App.

56 lines (48 loc) 1.16 kB
'use strict'; module.exports = defFunc; var CONSTRUCTORS = { Object: Object, Array: Array, Function: Function, Number: Number, String: String, Date: Date, RegExp: RegExp }; /* istanbul ignore else */ if (typeof Buffer != 'undefined') CONSTRUCTORS.Buffer = Buffer; var definition = defFunc.definition = { compile: function (schema) { if (typeof schema == 'string') { var Constructor = getConstructor(schema); return function (data) { return data instanceof Constructor; }; } var constructors = schema.map(getConstructor); return function (data) { for (var i=0; i<constructors.length; i++) if (data instanceof constructors[i]) return true; return false; }; }, CONSTRUCTORS: CONSTRUCTORS, metaSchema: { anyOf: [ { type: 'string' }, { type: 'array', items: { type: 'string' } } ] } }; function defFunc(ajv) { ajv.addKeyword('instanceof', definition); } function getConstructor(c) { var Constructor = CONSTRUCTORS[c]; if (Constructor) return Constructor; throw new Error('invalid "instanceof" keyword value'); }