UNPKG

validlyjs

Version:

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

38 lines (37 loc) 3.24 kB
"use strict" var e=require("./index-CwS8y5AW.js") const t={name:"date.format",validate:(e,t)=>{if(!(e instanceof Date))return!1 if(isNaN(e.getTime()))return!1 const[a]=t return function(e,t){const a=e.getFullYear(),r=e.getMonth()+1,n=e.getDate(),i=e.getHours(),s=e.getMinutes(),o=e.getSeconds() return!(1e3>a||a>9999||1>r||r>12||1>n||n>31||"YYYY-MM-DD HH:mm:ss"===t&&(0>i||i>23||0>s||s>59||0>o||o>59))}(e,a)},message:"The {field} must be a valid date matching format {0}.",priority:2},a={name:"date.timezone",validate:(e,t)=>{if(!(e instanceof Date)||isNaN(e.getTime()))return!1 const[a]=t try{return new Intl.DateTimeFormat("en-US",{timeZone:a}).format(e),!0}catch(e){return!1}},message:"The {field} must be in the {0} timezone.",priority:2},r={name:"date.weekday",validate:e=>{if(!(e instanceof Date)||isNaN(e.getTime()))return!1 const t=e.getDay() return t>=1&&5>=t},message:"The {field} must be a weekday.",priority:2},n={name:"date.weekend",validate:e=>{if(!(e instanceof Date)||isNaN(e.getTime()))return!1 const t=e.getDay() return 0===t||6===t},message:"The {field} must be a weekend day.",priority:2},i={name:"date.after",validate:(t,a)=>{if(!(t instanceof Date))return!1 if(isNaN(t.getTime()))return!1 const[r]=a,n="string"==typeof r?e.p(r):r if(!(n instanceof Date)||isNaN(n.getTime()))return!1 const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=new Date(n.getFullYear(),n.getMonth(),n.getDate()) return i.getTime()>s.getTime()},message:"The {field} must be a date after {0}.",priority:2},s={name:"date.before",validate:(t,a)=>{if(!(t instanceof Date))return!1 if(isNaN(t.getTime()))return!1 const[r]=a,n="string"==typeof r?e.p(r):r if(!(n instanceof Date)||isNaN(n.getTime()))return!1 const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=new Date(n.getFullYear(),n.getMonth(),n.getDate()) return i.getTime()<s.getTime()},message:"The {field} must be a date before {0}.",priority:2},o={name:"date.before_or_equal",validate:(t,a)=>{if(!(t instanceof Date))return!1 if(isNaN(t.getTime()))return!1 const[r]=a,n="string"==typeof r?e.p(r):r if(!(n instanceof Date)||isNaN(n.getTime()))return!1 const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=new Date(n.getFullYear(),n.getMonth(),n.getDate()) return i.getTime()<=s.getTime()},message:"The {field} must be a date on or before {0}.",priority:2},f={name:"date.iso",validate:e=>{if(!(e instanceof Date))return!1 if(isNaN(e.getTime()))return!1 try{const t=e.toISOString() return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(t)}catch(e){return!1}},message:"The {field} field is invalid.",priority:2} exports.dateAfterOrEqualRule={name:"date.after_or_equal",validate:(t,a)=>{if(!(t instanceof Date))return!1 if(isNaN(t.getTime()))return!1 const[r]=a,n="string"==typeof r?e.p(r):r if(!(n instanceof Date)||isNaN(n.getTime()))return!1 const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=new Date(n.getFullYear(),n.getMonth(),n.getDate()) return i.getTime()>=s.getTime()},message:"The {field} must be a date on or after {0}.",priority:2},exports.dateAfterRule=i,exports.dateBeforeOrEqualRule=o,exports.dateBeforeRule=s,exports.dateFormatRule=t,exports.dateIsoRule=f,exports.dateTimezoneRule=a,exports.dateWeekdayRule=r,exports.dateWeekendRule=n