UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

52 lines (38 loc) 1.42 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = customError; var _isString = _interopRequireDefault(require("lodash/isString")); var _isPromise = _interopRequireDefault(require("is-promise")); var _ValidationResult = _interopRequireDefault(require("../ValidationResult")); var _localeContext = require("../../locale-context"); function customError(value, props, getProp) { var customValidator = getProp('customValidator'); if (typeof customValidator === 'function') { var name = props.name, record = props.record, form = props.form; var resultIfPromise = customValidator(value, name, record || form); var call = function call(result) { if ((0, _isString["default"])(result) || result === false) { return new _ValidationResult["default"]({ validationProps: { customValidator: customValidator }, validationMessage: result || (0, _localeContext.$l)('Validator', 'unknown'), value: value, ruleName: 'customError' }); } return true; }; if ((0, _isPromise["default"])(resultIfPromise)) { return resultIfPromise.then(call); } return call(resultIfPromise); } return true; } //# sourceMappingURL=customError.js.map