handsontable
Version:
Handsontable is a JavaScript Data Grid available for React, Angular and Vue.
47 lines (44 loc) • 1.18 kB
JavaScript
;
exports.__esModule = true;
exports.getValidator = _getItem;
exports.registerValidator = _register;
require("core-js/modules/es.error.cause.js");
var _staticRegister = require("../utils/staticRegister");
const {
register,
getItem,
hasItem,
getNames,
getValues
} = (0, _staticRegister.staticRegister)('validators');
/**
* Retrieve validator function.
*
* @param {string} name Validator identification.
* @returns {Function} Returns validator function.
*/
exports.getRegisteredValidators = getValues;
exports.getRegisteredValidatorNames = getNames;
exports.hasValidator = hasItem;
function _getItem(name) {
if (typeof name === 'function') {
return name;
}
if (!hasItem(name)) {
throw Error(`No registered validator found under "${name}" name`);
}
return getItem(name);
}
/**
* Register validator under its alias.
*
* @param {string|Function} name Validator's alias or validator function with its descriptor.
* @param {Function} [validator] Validator function.
*/
function _register(name, validator) {
if (typeof name !== 'string') {
validator = name;
name = validator.VALIDATOR_TYPE;
}
register(name, validator);
}