UNPKG

@age/quantum

Version:
157 lines (129 loc) 5.26 kB
"use strict"; 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;