MCPcopy
hub / github.com/tdewolff/minify / validateRules

Function validateRules

_benchmarks/sample_antd.js:88385–88507  ·  view source on GitHub ↗
(namePath, value, rules, options, validateFirst, messageVariables)

Source from the content-addressed store, hash-verified

88383}
88384
88385function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {
88386 var name = namePath.join('.'); // Fill rule with context
88387
88388 var filledRules = rules.map(function (currentRule) {
88389 var originValidatorFunc = currentRule.validator;
88390
88391 if (!originValidatorFunc) {
88392 return currentRule;
88393 }
88394
88395 return Object(_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(Object(_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])({}, currentRule), {}, {
88396 validator: function validator(rule, val, callback) {
88397 var hasPromise = false; // Wrap callback only accept when promise not provided
88398
88399 var wrappedCallback = function wrappedCallback() {
88400 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
88401 args[_key] = arguments[_key];
88402 }
88403
88404 // Wait a tick to make sure return type is a promise
88405 Promise.resolve().then(function () {
88406 Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');
88407
88408 if (!hasPromise) {
88409 callback.apply(void 0, args);
88410 }
88411 });
88412 }; // Get promise
88413
88414
88415 var promise = originValidatorFunc(rule, val, wrappedCallback);
88416 hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';
88417 /**
88418 * 1. Use promise as the first priority.
88419 * 2. If promise not exist, use callback with warning instead
88420 */
88421
88422 Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(hasPromise, '`callback` is deprecated. Please return a promise instead.');
88423
88424 if (hasPromise) {
88425 promise.then(function () {
88426 callback();
88427 }).catch(function (err) {
88428 callback(err || ' ');
88429 });
88430 }
88431 }
88432 });
88433 });
88434 var summaryPromise;
88435
88436 if (validateFirst === true) {
88437 // >>>>> Validate by serialization
88438 summaryPromise = new Promise( /*#__PURE__*/function () {
88439 var _ref = Object(_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.mark(function _callee(resolve, reject) {
88440 var i, errors;
88441 return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.wrap(function _callee$(_context) {
88442 while (1) {

Callers

nothing calls this directly

Calls 5

validateRuleFunction · 0.85
finishOnFirstFailedFunction · 0.85
finishOnAllFailedFunction · 0.85
callbackFunction · 0.70
resolveFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…