index.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import staticRegister from './../utils/staticRegister';
  2. import autocompleteValidator from './autocompleteValidator';
  3. import dateValidator from './dateValidator';
  4. import numericValidator from './numericValidator';
  5. import timeValidator from './timeValidator';
  6. var _staticRegister = staticRegister('validators'),
  7. register = _staticRegister.register,
  8. getItem = _staticRegister.getItem,
  9. hasItem = _staticRegister.hasItem,
  10. getNames = _staticRegister.getNames,
  11. getValues = _staticRegister.getValues;
  12. register('autocomplete', autocompleteValidator);
  13. register('date', dateValidator);
  14. register('numeric', numericValidator);
  15. register('time', timeValidator);
  16. /**
  17. * Retrieve validator function.
  18. *
  19. * @param {String} name Validator identification.
  20. * @returns {Function} Returns validator function.
  21. */
  22. function _getItem(name) {
  23. if (typeof name === 'function') {
  24. return name;
  25. }
  26. if (!hasItem(name)) {
  27. throw Error('No registered validator found under "' + name + '" name');
  28. }
  29. return getItem(name);
  30. }
  31. export { register as registerValidator, _getItem as getValidator, hasItem as hasValidator, getNames as getRegisteredValidatorNames, getValues as getRegisteredValidators };