Files
klz-cables.com/.pnpm-store/v10/files/04/b6c2721082275bbe686a57f9f578ad0f1d31074a37aeda18c887694cdcbe5cf3ff8dccdef9452ccd4c8c4d2c307ffb9cf3009136e246ba73e394e86aba1585
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

42 lines
1.1 KiB
Plaintext

/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const memoize = require("./memoize");
/** @typedef {import("schema-utils").Schema} Schema */
/** @typedef {import("schema-utils").ValidationErrorConfiguration} ValidationErrorConfiguration */
const getValidate = memoize(() => require("schema-utils").validate);
/**
* @template {object | object[]} T
* @param {((value: T) => boolean) | undefined} check check
* @param {() => Schema} 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;