UNPKG

pure-parse

Version:

Strongly typed validation library that decouples type aliases from validation logic

2 lines (1 loc) 496 B
import{isUndefined as a}from"../guards/primitives.js";const o=(r,e)=>{if(r.tag==="success"){if(!a(e))return`ParseSuccess: ${e(r.value)}`;try{return`ParseSuccess: ${r.value}`}catch{return"ParseSuccess: <unserializable>"}}else return`ParseFailure: ${s(r)}`},s=r=>r.error.path.length===0?r.error.message:`${r.error.message} at ${t(r.error.path)}`,t=r=>"$"+r.map(e=>{switch(e.tag){case"object":return`.${e.key}`;case"array":return`[${e.index}]`}}).join("");export{t as formatPath,o as formatResult};