validlyjs
Version:
A high-performance Laravel-inspired validation library for TypeScript/JavaScript
16 lines (15 loc) • 947 B
JavaScript
const t={name:"array.unique",validate:t=>{if(!Array.isArray(t))return!1
const e=new Set
for(const r of t){const t="object"==typeof r?JSON.stringify(r):r
if(e.has(t))return!1
e.add(t)}return!0},message:"The {field} must contain unique items.",priority:2},e={name:"array.notContains",validate:(t,e)=>{if(!Array.isArray(t))return!1
const[r]=e
return!t.includes(r)},message:"The {field} must not contain {0}.",priority:2},r={name:"array.distinct",validate:t=>{if(!Array.isArray(t))return!1
const e=new Set
for(const r of t){const t="object"==typeof r?JSON.stringify(r):r
if(e.has(t))return!1
e.add(t)}return!0},message:"The {field} must contain unique items.",priority:2}
exports.arrayContainsRule={name:"array.contains",validate:(t,e)=>{if(!Array.isArray(t))return!1
const[r]=e
return t.includes(r)},message:"The {field} must contain {0}.",priority:2},exports.arrayDistinctRule=r,exports.arrayNotContainsRule=e,exports.arrayUniqueRule=t