UNPKG

varianter

Version:

Simple variants/tagged unions/discriminated unions in TypeScript

3 lines (2 loc) 309 B
const r=()=>{const r=(r,t)=>n=>{if(r in n)return(0,n[r])(t);if("_"in n)return n._(t);throw new Error("Property doesn't exist in variant, and no fallthrough was specified")};return new Proxy({},{get:(t,n)=>t=>({type:n,data:t,map:r(n,t)})})};export{r as createVariant}; //# sourceMappingURL=index.modern.js.map