D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
shaghela.online
/
node_modules
/
webpack
/
lib
/
util
/
Filename :
create-schema-validation.js
back
Copy
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const memoize = require("./memoize"); /** @typedef {import("schema-utils/declarations/validate").ValidationErrorConfiguration} ValidationErrorConfiguration */ /** @typedef {import("./fs").JsonObject} JsonObject */ const getValidate = memoize(() => require("schema-utils").validate); /** * @template {object | object[]} T * @param {((value: T) => boolean) | undefined} check check * @param {() => JsonObject} getSchema get schema fn * @param {ValidationErrorConfiguration} options options * @returns {(value?: T) => void} validate */ const createSchemaValidation = (check, getSchema, options) => { getSchema = memoize(getSchema); return value => { if (check && value && !check(value)) { getValidate()( getSchema(), /** @type {EXPECTED_OBJECT | EXPECTED_OBJECT[]} */ (value), options ); require("util").deprecate( () => {}, "webpack bug: Pre-compiled schema reports error while real schema is happy. This has performance drawbacks.", "DEP_WEBPACK_PRE_COMPILED_SCHEMA_INVALID" )(); } }; }; module.exports = createSchemaValidation;