stnl
Version:
A simple, opinionated type validator built for performance
1 lines • 511 B
JavaScript
export let int=[0];export let float=[2];export let string=[4];export let bool=[6];export let any=[8];export let nullable=e=>e.with(0,e[0]|1);export let union=e=>[10,e];export let value=e=>[12,e];export let list=(...e)=>[14,...e];export let dict=(e,h)=>[16,e,h];export let tuple=e=>[18,e];export let tag=(e,h)=>[20,e,h];export let ref=e=>[22,e];export let self=[22,``];export let nullable_self=[23,``];export let scope=(e,h)=>[24,e,h];export let module=e=>{let h={};for(let g in e)h[g]=scope(ref(g),e);return h};