UNPKG

hc-awesome-validation

Version:

Validation module for redux-form based on react-intl messages.

43 lines (34 loc) 1.99 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.isEqualOrShorterThan = exports.hasLengthBetween = exports.isNonEmptyTrimmedString = exports.isNonEmptyOfType = exports.isNotEmpty = exports.hasNumber = exports.hasUpperLetter = exports.hasLowerLetter = exports.hasMinLength8 = undefined; var _ramda = require('ramda'); var _ramda2 = _interopRequireDefault(_ramda); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var hasMinLength8 = exports.hasMinLength8 = _ramda2.default.compose(_ramda2.default.flip(_ramda2.default.gte)(8), _ramda2.default.length); var hasLowerLetter = exports.hasLowerLetter = _ramda2.default.test(/[a-z]/); var hasUpperLetter = exports.hasUpperLetter = _ramda2.default.test(/[A-Z]/); var hasNumber = exports.hasNumber = _ramda2.default.test(/[0-9]/); var isNotEmpty = exports.isNotEmpty = _ramda2.default.complement(_ramda2.default.isEmpty); var isNonEmptyOfType = exports.isNonEmptyOfType = function isNonEmptyOfType(t, transform) { return _ramda2.default.allPass([_ramda2.default.is(t), _ramda2.default.pipe(transform, isNotEmpty)]); }; var isNonEmptyTrimmedString = exports.isNonEmptyTrimmedString = isNonEmptyOfType(String, _ramda2.default.trim); var hasLengthBetween = exports.hasLengthBetween = _ramda2.default.curry(function (minLength, maxLength, string) { return string.length >= minLength && string.length <= maxLength; }); var isEqualOrShorterThan = exports.isEqualOrShorterThan = _ramda2.default.curry(function (length, string) { return string ? string.length <= length : true; }); exports.default = { hasMinLength8: hasMinLength8, hasLowerLetter: hasLowerLetter, hasUpperLetter: hasUpperLetter, hasLengthBetween: hasLengthBetween, isEqualOrShorterThan: isEqualOrShorterThan, hasNumber: hasNumber, isNotEmpty: isNotEmpty, isNonEmptyOfType: isNonEmptyOfType, isNonEmptyTrimmedString: isNonEmptyTrimmedString };