pure-parse
Version:
Strongly typed validation library that decouples type aliases from validation logic
2 lines (1 loc) • 478 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./ParseResult.cjs"),s=t=>r=>{if(!Array.isArray(r))return u.failure("Expected array");if(r.length<t.length)return u.failure(`the data has ${r.length} elements but ${t.length} are required`);const n=[];for(let e=0;e<t.length;e++){const a=t[e],i=r[e],l=a(i);if(l.tag==="failure")return u.propagateFailure(l,{tag:"array",index:e});n.push(l.value)}return u.success(n)};exports.tuple=s;