forked from projectmoon/tenebrous-dicebot
22 lines
477 B
JavaScript
22 lines
477 B
JavaScript
/*
|
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
Author Tobias Koppers @sokra
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
const memoize = require("./memoize");
|
|
|
|
const getValidate = memoize(() => require("schema-utils").validate);
|
|
|
|
const createSchemaValidation = (check = v => false, getSchema, options) => {
|
|
getSchema = memoize(getSchema);
|
|
return value => {
|
|
if (!check(value)) {
|
|
getValidate()(getSchema(), value, options);
|
|
}
|
|
};
|
|
};
|
|
|
|
module.exports = createSchemaValidation;
|