handsontable
Version:
Handsontable is a JavaScript Spreadsheet Component available for React, Angular and Vue.
45 lines (36 loc) • 1.22 kB
JavaScript
import staticRegister from "../utils/staticRegister.mjs";
var _staticRegister = staticRegister('validators'),
register = _staticRegister.register,
getItem = _staticRegister.getItem,
hasItem = _staticRegister.hasItem,
getNames = _staticRegister.getNames,
getValues = _staticRegister.getValues;
/**
* Retrieve validator function.
*
* @param {string} name Validator identification.
* @returns {Function} Returns validator function.
*/
function _getItem(name) {
if (typeof name === 'function') {
return name;
}
if (!hasItem(name)) {
throw Error("No registered validator found under \"".concat(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);
}
export { _register as registerValidator, _getItem as getValidator, hasItem as hasValidator, getNames as getRegisteredValidatorNames, getValues as getRegisteredValidators };