@benjaminor-dev/quasar-app-extension-form-builder
Version:
A Form Builder for Quasar Framework
78 lines (77 loc) • 5.19 kB
JavaScript
import s from "moment";
function c() {
const e = (t) => t == null ? !0 : Array.isArray(t) && t.length > 0 ? t.every(e) : typeof t == "object" ? Object.values(t).every(e) : typeof t == "boolean" ? !1 : t === "", r = (t) => !e(t), n = (t) => typeof t != "string" ? t : t.replace(/^(-?)0+(\d)/, "$1$2"), u = (t) => typeof t != "string" ? t : t.replace(/(\.\d*?[1-9])0+$/g, "$1").replace(/\.0+$/, "");
return {
isEmpty: e,
isNotEmpty: r,
cleanLeadingZeros: n,
cleanTrailingZeros: u,
cleanNumber: (t) => u(n(t))
};
}
const a = c(), o = s(), p = () => (e) => {
const r = "Campo requerido";
return e == null ? r : typeof e == "boolean" || typeof e == "number" && e === 0 ? !0 : Array.isArray(e) && e.length === 0 ? r : !!e || r;
}, l = () => (e) => e ? e instanceof Array ? e.every((n) => n instanceof File) || "Deben ser archivos" : e instanceof File || "Debe ser un archivo" : !0, d = () => (e) => !e || Array.isArray(e) && e.length === 0 ? !0 : (Array.isArray(e) ? e : [e]).every(
(u) => u instanceof File && u.type.includes("image")
) || "Solo se permiten imágenes", f = () => (e) => e ? /^[a-zA-ZÀ-ÿ]*$/.test(e) || "Solo puedes ingresar letras" : !0, g = () => (e) => e ? /^[a-zA-ZÀ-ÿ\s]*$/.test(e) || "Solo puedes ingresar letras y espacios" : !0, m = () => (e) => /^[0-9]*$/.test(e) || "Solo puedes ingresar números", E = () => (e) => e ? /^[a-zA-ZÀ-ÿ0-9]*$/.test(e) || "Solo puedes ingresar números y letras" : !0, y = () => (e) => e ? /^[a-zA-ZÀ-ÿ0-9\s]*$/.test(e) || "Solo puedes ingresar números, letras y espacios" : !0, i = (
// . , ; : ! ? ¡ ¿ ' " “ ” ‘ ’ « » ( ) [ ] { } - – — / \ … @ # % $ & + * = § ° º ª
`.,;:!?¡¿'"\\u201C\\u201D\\u2018\\u2019\\u00AB\\u00BB()\\[\\]{}\\-\\u2013\\u2014/\\\\\\u2026@#%$&\\+\\*=\\u00A7\\u00B0\\u00BA\\u00AA`
), A = () => {
const e = new RegExp(
`^(?!.*\\p{Extended_Pictographic})[\\p{L}\\p{M}\\p{N}${i}\\p{Zs}]+$`,
"u"
);
return (r) => !r || e.test(r) || "Solo se permiten letras, números, signos de puntuación y símbolos válidos.";
}, Y = () => {
const e = new RegExp(
`^(?!.*\\p{Extended_Pictographic})[\\p{L}\\p{M}\\p{N}${i}\\p{Zs}\\t\\r\\n]+$`,
"u"
);
return (r) => !r || e.test(r) || "Solo se permiten letras, números, signos de puntuación, símbolos válidos y saltos de línea.";
}, x = () => (e) => e ? /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/.test(e) || "CURP inválido" : !0, M = () => (e) => e ? /^[a-zA-Z]{4}\d{6}[a-zA-Z0-9]{3}$/.test(e) || "RFC inválido" : !0, $ = () => (e) => e ? new RegExp('^((?:[A-Za-z0-9!#$%&\'*+\\-/=?^_`{|}~]|(?<=^|\\.)"|"(?=$|\\.|@)|(?<=".*)[ .](?=.*")|(?<!\\.)\\.){1,64})(@)((?:[A-Za-z0-9.-])*(?:[A-Za-z0-9])\\.(?:[A-Za-z0-9]){2,})$').test(e) || "Email inválido" : !0, L = () => (e) => {
if (!e) return !0;
const r = e.trim();
return /^(https?:\/\/)(localhost|\d{1,3}(?:\.\d{1,3}){3}|([\w-]+\.)+[\w-]{2,})(:\d{1,5})?(\/[^\s]*)?$/i.test(r) || "URL inválida";
}, S = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isValid() || "La fecha es inválida", Z = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isBefore(o) || "La fecha debe ser anterior a la actual", D = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isSameOrBefore(o) || "La fecha debe ser igual o anterior a la actual", h = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isAfter(o) || "La fecha debe ser posterior a la actual", I = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isSameOrAfter(o) || "La fecha debe ser igual o posterior a la actual", C = (e) => (r) => {
if (a.isEmpty(r)) return !0;
const n = s(e, "YYYY-MM-DD", !0);
return s(r, "YYYY-MM-DD", !0).isSameOrAfter(n) || `La fecha debe ser igual o posterior a ${e}`;
}, N = (e) => (r) => {
if (a.isEmpty(r)) return !0;
const n = s(e, "YYYY-MM-DD", !0);
return s(r, "YYYY-MM-DD", !0).isSameOrBefore(n) || `La fecha debe ser igual o anterior a ${e}`;
}, b = () => (e) => e ? /^\d{5}$/.test(e) || "Código postal inválido" : !0, z = () => (e) => e ? /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+])[A-Za-z\d!@#$%^&*()_+]{8,}$/.test(e) || "Contraseña inválida, debe tener mínimo 8 caracteres, con letras mayúsculas, minúsculas y con al menos un caracter especial" : !0, B = (e) => (r) => r ? r.length <= e || `Máximo ${e} caracteres permitidos` : !0, R = (e) => (r) => r == null ? !0 : r <= e || `Valor máximo permitido: ${e}`;
function O() {
return {
required: p,
file: l,
image: d,
onlyLetters: f,
onlyLettersAndSpaces: g,
onlyNumbers: m,
onlyumbersAndLetters: E,
onlyNumbersLettersAndSpaces: y,
legalTextRule: A,
legalTextExtendedRule: Y,
curp: x,
rfc: M,
email: $,
url: L,
date: S,
dateBeforeNow: Z,
dateLEnow: D,
dateAfterNow: h,
dateGTEnow: I,
dateMin: C,
dateMax: N,
postalCode: b,
password: z,
maxLength: B,
maxNumberValue: R
};
}
export {
c as a,
O as u
};