@age/quantum
Version:
Catho react components
157 lines (129 loc) • 5.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var msg = {
REQUIRED: 'Campo obrigatório',
CPF: 'CPF inválido',
CEP: 'CEP inválido',
DATE: 'Data inválida',
EMAIL: 'E-mail inválido',
MINLENGTH: function MINLENGTH(min) {
return "M\xEDnimo de ".concat(min, " caracteres");
},
MAXLENGTH: function MAXLENGTH(max) {
return "Maximo de ".concat(max, " caracteres");
}
};
function removeNonDigit(str) {
return str ? str.replace(/\D+/g, '') : '';
}
var Validations =
/*#__PURE__*/
function () {
function Validations() {
_classCallCheck(this, Validations);
}
_createClass(Validations, null, [{
key: "Required",
value: function Required(_ref) {
var value = _ref.value;
return value ? '' : msg.REQUIRED;
}
}, {
key: "CPF",
value: function CPF(_ref2) {
var value = _ref2.value;
var cpf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : removeNonDigit(value);
var CPF_SIZE = 11;
if (!cpf || cpf.length !== CPF_SIZE) {
return msg.CPF;
}
for (var i = 0; i < 10; i += 1) {
if (cpf === String(i).repeat(CPF_SIZE)) {
return msg.CPF;
}
}
var validPosition = function validPosition(position) {
var sum = 0;
var rev;
for (var _i = 0; _i < position; _i += 1) {
sum += Number(cpf.charAt(_i)) * (position + 1 - _i);
}
rev = CPF_SIZE - sum % CPF_SIZE;
rev = rev === 10 || rev === CPF_SIZE ? 0 : rev;
return rev === Number(cpf.charAt(position));
};
return validPosition(9) && validPosition(10) ? '' : msg.CPF;
}
}, {
key: "CEP",
value: function CEP(_ref3) {
var value = _ref3.value;
var filtered = String(removeNonDigit(value));
return filtered.length !== 8 ? msg.CEP : '';
}
}, {
key: "Date",
value: function (_Date) {
function Date(_x) {
return _Date.apply(this, arguments);
}
Date.toString = function () {
return _Date.toString();
};
return Date;
}(function (_ref4) {
var _ref4$value = _ref4.value,
value = _ref4$value === void 0 ? '' : _ref4$value;
var _value$split = value.split('/'),
_value$split2 = _slicedToArray(_value$split, 3),
day = _value$split2[0],
month = _value$split2[1],
year = _value$split2[2];
var date = new Date(year, month - 1, day);
var isValidDate = date.getMonth() + 1 === Number(month);
return isValidDate ? '' : msg.DATE;
})
}, {
key: "MinLength",
value: function MinLength(_ref5) {
var _ref5$value = _ref5.value,
value = _ref5$value === void 0 ? '' : _ref5$value,
minLength = _ref5.minLength;
if (!!minLength && String(value).length < Number(minLength)) {
return msg.MINLENGTH(minLength);
}
return '';
}
}, {
key: "MaxLength",
value: function MaxLength(_ref6) {
var _ref6$value = _ref6.value,
value = _ref6$value === void 0 ? '' : _ref6$value,
maxLength = _ref6.maxLength;
if (!!maxLength && String(value).length > Number(maxLength)) {
return msg.MAXLENGTH(maxLength);
}
return '';
}
}, {
key: "Email",
value: function Email(_ref7) {
var value = _ref7.value;
var pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return pattern.test(value) ? '' : msg.EMAIL;
}
}]);
return Validations;
}();
var _default = Validations;
exports.default = _default;