{"version":3,"file":"index.C-JBX8FH.js","sources":["../../../../../../src/lib/utils/forms/index.ts"],"sourcesContent":["import { get } from 'svelte/store';\n\nexport const containsAtLeastOneUppercaseLetterValidator = () => {\n return (value: string) => ({ valid: value && value.match(/[A-Z]+/), name: 'containsAtLeastOneUppercaseLetter' });\n};\n\nexport const containsAtLeastOneNumberValidator = () => {\n return (value: string) => ({ valid: value && value.match(/[0-9]+/), name: 'containsAtLeastOneNumber' });\n};\n\nexport function arrayRequired() {\n return (val) => {\n let valid = true;\n if (val === undefined || val === null)\n valid = false;\n if (Array.isArray(val)) {\n valid = val.length >= 1;\n }\n return { valid, name: 'arrayRequired' };\n };\n}\n\n// Check if the value is true\nexport const isTrueValidation = () => {\n return (value: any) => ({ valid: value === true, name : 'isTrue' })\n}\n\n//valid if holderHasPIVA (passed filed) is false || if it is true and the value is not empty\n//holderHasPIVA is a boolean (true: giuridic, false: physical)\nexport const giuridicValidation = (field) => {\n return (value) => {\n return { valid: get(field).value === false || (get(field).value === true && value), name: 'giuridic_not_valid' };\n };\n}\n\n//valid if holderHasPIVA (passed filed) is false || if it is true and the value is a valid piva\n//holderHasPIVA is a boolean (true: giuridic, false: physical)\nexport const VATNumberValidation = (field) => {\n return (value: string) => {\n return { valid: get(field).value === false || (get(field).value === true && !!value.match(/^(IT)?[0-9]{11}$/)), name: 'vat_number_not_valid' };\n }\n}\n\nexport const PECSDIValidation = (field) => {\n return (value: string) => {\n // if holderHasPIVA\n if (get(field).value === true) {\n // check if the value is empty\n if (!value) return { valid: false, name: 'pecsdi_not_valid' };\n\n // check if it is a pec or a sdi\n if (value.indexOf('@') > -1) \n return { valid: (/^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$/).test(value), name: 'pec_not_valid' };\n else\n return { valid: value.length === 7, name: 'sdi_not_valid' };\n\n } else {\n return { valid: true, name: 'pecsdi_valid' };\n }\n }\n}\n\n//valid if holderHasPIVA (passed filed) is true || if it is false and the value is not empty\n//holderHasPIVA is a boolean (true: giuridic, false: physical)\nexport const physicalValidation = (field) => {\n return (value) => {\n return { valid: get(field).value === true || (get(field).value === false && value), name: 'physical_not_valid' };\n };\n}\n\n//valid if country (passed filed) is != IT || if it is IT and the value is not empty\nexport const provinceValidation = (field) => {\n return (value) => {\n return { valid: get(field).value !== \"IT\" || (get(field).value === \"IT\" && value), name: 'province_not_valid' };\n };\n}\n\n//validation error\nexport const getErrorByCode = (code: string) => {\n return {\n 'cart_not_found': 'Attenzione, carrello non trovato',\n 'empty_cart': 'Attenzione, il carrello vuoto',\n 'missing_credentials': 'Attenzione, credenziali mancanti',\n 'name_required': 'Attenzione, nome obbligatorio',\n 'surname_required': 'Attenzione, cognome obbligatorio',\n 'tax_id_required': 'Attenzione, codice fiscale obbligatorio',\n 'invalid_tax_id': 'Attenzione, codice fiscale non valido',\n 'vat_number_required': 'Attenzione, partita IVA obbligatoria',\n 'invalid_vat_number': 'Attenzione, partita IVA non valida',\n 'invalid_province': 'Attenzione, la provincia non è valida',\n 'product_not_found': 'Attenzione, il prodotto non è disponibile',\n 'price_not_found': 'Attenzione, prezzo prodotto non trovato',\n 'invalid_promo_code': 'Attenzione, il codice inserito non è valido o è stato già utilizzato.',\n 'promo_code_invalid_product': 'Attenzione, il codice inserito non è valido per questa tipologia di prodotto.',\n }[code] || 'Riprova più tardi';\n}"],"names":["containsAtLeastOneUppercaseLetterValidator","value","containsAtLeastOneNumberValidator","arrayRequired","val","valid","isTrueValidation","giuridicValidation","field","get","VATNumberValidation","PECSDIValidation","physicalValidation","provinceValidation","getErrorByCode","code"],"mappings":"4CAEO,MAAMA,EAA6C,IAChDC,IAAmB,CAAE,MAAOA,GAASA,EAAM,MAAM,QAAQ,EAAG,KAAM,sCAG/DC,EAAoC,IACvCD,IAAmB,CAAE,MAAOA,GAASA,EAAM,MAAM,QAAQ,EAAG,KAAM,6BAGrE,SAASE,GAAgB,CAC9B,OAAQC,GAAQ,CACZ,IAAIC,EAAQ,GACR,OAAqBD,GAAQ,OACrBC,EAAA,IACR,MAAM,QAAQD,CAAG,IACjBC,EAAQD,EAAI,QAAU,GAEnB,CAAE,MAAAC,EAAO,KAAM,eAAgB,CAC1C,CACF,CAGO,MAAMC,EAAmB,IACtBL,IAAgB,CAAE,MAAOA,IAAU,GAAM,KAAO,WAK7CM,EAAsBC,GACzBP,IACC,CAAE,MAAOQ,EAAID,CAAK,EAAE,QAAU,IAAUC,EAAID,CAAK,EAAE,QAAU,IAAQP,EAAQ,KAAM,oBAAqB,GAMtGS,EAAuBF,GAC1BP,IACC,CAAE,MAAOQ,EAAID,CAAK,EAAE,QAAU,IAAUC,EAAID,CAAK,EAAE,QAAU,IAAQ,CAAC,CAACP,EAAM,MAAM,kBAAkB,EAAI,KAAM,sBAAuB,GAIpIU,EAAoBH,GACvBP,GAEFQ,EAAID,CAAK,EAAE,QAAU,GAElBP,EAGDA,EAAM,QAAQ,GAAG,EAAI,GAChB,CAAE,MAAQ,gFAAiF,KAAKA,CAAK,EAAG,KAAM,eAAgB,EAE9H,CAAE,MAAOA,EAAM,SAAW,EAAG,KAAM,eAAgB,EANzC,CAAE,MAAO,GAAO,KAAM,kBAAmB,EASrD,CAAE,MAAO,GAAM,KAAM,cAAe,EAOpCW,EAAsBJ,GACzBP,IACC,CAAE,MAAOQ,EAAID,CAAK,EAAE,QAAU,IAASC,EAAID,CAAK,EAAE,QAAU,IAASP,EAAQ,KAAM,oBAAqB,GAKtGY,EAAsBL,GACzBP,IACG,CAAE,MAAOQ,EAAID,CAAK,EAAE,QAAU,MAASC,EAAID,CAAK,EAAE,QAAU,MAAQP,EAAQ,KAAM,oBAAqB,GAKvGa,EAAkBC,IACtB,CACL,eAAkB,mCAClB,WAAc,gCACd,oBAAuB,mCACvB,cAAiB,gCACjB,iBAAoB,mCACpB,gBAAmB,0CACnB,eAAkB,wCAClB,oBAAuB,uCACvB,mBAAsB,qCACtB,iBAAoB,wCACpB,kBAAqB,4CACrB,gBAAmB,0CACnB,mBAAsB,wEACtB,2BAA8B,+EAAA,GAC9BA,CAAI,GAAK"}