UNPKG

stnl

Version:

A simple, opinionated type validator built for performance

1 lines 978 B
import{injectDependency,lazyDependency,noOp}from"runtime-compiler";import{isHydrating}from"runtime-compiler/config";let NUMBER_LIST=isHydrating?noOp:lazyDependency(injectDependency,`(o)=>{if(o.length>1){let s="["+o[0];for(let i=1;i<o.length;i++)s+=","+o[i];return s+"]"}return o.length===1?"["+o[0]+"]":"[]"}`);let BOOL_LIST=isHydrating?noOp:lazyDependency(injectDependency,`(o)=>{if(o.length>1){let s=o[0]?"[true":"[false";for(let i=1;i<o.length;i++)s+=o[i]?",true":",false";return s+"]"}return o.length===1?o[0]?"[true]":"[false]":"[]"}`);export default isHydrating?noOp:(t,input)=>{let id=t[0];if(id===0||id===2)return`""+`+input;if(id===6)return input+`?"true":"false"`;if(id===10){let obj={};for(let i=0,list=t[1];i<list.length;i++)obj[list[i]]=JSON.stringify(list[i]);return injectDependency(JSON.stringify(obj))+`[`+input+`]`}if(id===14){id=t[1][0];return(id===0||id===2?NUMBER_LIST():id===6?BOOL_LIST():`JSON.stringify`)+`(`+input+`)`}return`JSON.stringify(`+input+`)`};