UNPKG

validlyjs

Version:

A high-performance Laravel-inspired validation library for TypeScript/JavaScript

30 lines (29 loc) 2.69 kB
const e={name:"number.positive",validate:e=>"number"==typeof e&&!isNaN(e)&&e>0,message:"The {field} must be a positive number.",priority:2},t={name:"number.negative",validate:e=>"number"==typeof e&&!isNaN(e)&&0>e,message:"The {field} must be a negative number.",priority:2},i={name:"number.integer",validate:e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e),message:"The {field} must be an integer.",priority:2},r={name:"number.decimal",validate:(e,t)=>{if("number"!=typeof e||isNaN(e))return!1 if(!t.length)return!Number.isInteger(e) const[i]=t,r=parseInt(i,10) return((""+e).split(".")[1]||"").length===r},message:"The {field} must have exactly {0} decimal places.",priority:2},a={name:"number.numeric",validate:e=>"number"==typeof e?!isNaN(e)&&isFinite(e):"string"==typeof e&&/^-?\d*\.?\d+$/.test(e)&&!isNaN(parseFloat(e))&&isFinite(parseFloat(e)),message:"The {field} must be a valid number.",priority:2},n={name:"size",validate:(e,t)=>{let i const[r]=t if("number"!=typeof e)return!1 if(isNaN(e)||!isFinite(e))return!1 i=e const a=parseFloat(r) return!(isNaN(a)||!isFinite(a))&&i===a},message:"The {field} must equal {0}.",priority:2},s={name:"number.min",validate:(e,t)=>{if("number"!=typeof e||isNaN(e))return!1 const[i]=t return e>=parseFloat(i)},message:"The {field} must be at least {0}.",priority:2},m={name:"number.max",validate:(e,t)=>{if("number"!=typeof e||isNaN(e))return!1 const[i]=t return parseFloat(i)>=e},message:"The {field} may not be greater than {0}.",priority:2},u={name:"number.between",validate:(e,t)=>{if("number"!=typeof e||isNaN(e))return!1 const[i,r]=t return e>=parseFloat(i)&&parseFloat(r)>=e},message:"The {field} must be between {0} and {1}.",priority:2},o={name:"number.in",validate:(e,t)=>{let i if("number"!=typeof e)return!1 if(isNaN(e)||!isFinite(e))return!1 i=e const r=t.map(e=>parseFloat(e)).filter(e=>!isNaN(e)&&isFinite(e)) return r.includes(i)},message:"The {field} must be one of: {options}.",priority:2},l={name:"number.not_in",validate:(e,t)=>{let i if("number"!=typeof e)return!1 if(isNaN(e)||!isFinite(e))return!1 i=e const r=t.map(e=>parseFloat(e)).filter(e=>!isNaN(e)&&isFinite(e)) return!r.includes(i)},message:"The {field} must not be one of: {options}.",priority:2},p={name:"number.multiple_of",validate:(e,t)=>{if("number"!=typeof e||isNaN(e))return!1 const[i]=t return e%parseFloat(i)===0},message:"The {field} must be a multiple of {0}.",priority:2} export{u as numberBetweenRule,r as numberDecimalRule,o as numberInRule,i as numberIntegerRule,m as numberMaxRule,s as numberMinRule,p as numberMultipleOfRule,t as numberNegativeRule,l as numberNotInRule,a as numberNumericRule,e as numberPositiveRule,n as numberSizeRule}