马宇豪
2024-07-16 f591c27b57e2418c9495bc02ae8cfff84d35bc18
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
26
27
28
/*
    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, getSchema, options) => {
    getSchema = memoize(getSchema);
    return value => {
        if (check && !check(value)) {
            getValidate()(getSchema(), value, options);
            if (check) {
                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;