diff --git a/404.html b/404.html index b4f53ad2e3..228ea99e15 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/404/index.html b/404/index.html index b4f53ad2e3..228ea99e15 100644 --- a/404/index.html +++ b/404/index.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/eaHHtX463OV0RGnMnFEBf/_buildManifest.js b/_next/static/MBWfkaT-2vTRVH_5-NsC2/_buildManifest.js similarity index 92% rename from _next/static/eaHHtX463OV0RGnMnFEBf/_buildManifest.js rename to _next/static/MBWfkaT-2vTRVH_5-NsC2/_buildManifest.js index b20c096b48..82841920e2 100644 --- a/_next/static/eaHHtX463OV0RGnMnFEBf/_buildManifest.js +++ b/_next/static/MBWfkaT-2vTRVH_5-NsC2/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(s,c,a){return{__rewrites:{afterFiles:[{has:void 0,source:"/:path*/_meta",destination:"/404"}],beforeFiles:[],fallback:[]},"/":[s,c,a,"static/chunks/pages/index-f0fac2583c1c8b84.js"],"/_error":["static/chunks/pages/_error-a59e2db023c5e431.js"],"/docs":[s,c,a,"static/chunks/pages/docs-5edf6e72e00d2930.js"],"/docs/json/parse":[s,c,"static/chunks/pages/docs/json/parse-b96416d89ffcd0fb.js"],"/docs/json/schema":[s,c,"static/chunks/pages/docs/json/schema-996e94f30af42333.js"],"/docs/json/stringify":[s,c,a,"static/chunks/pages/docs/json/stringify-bb67b3d81962667a.js"],"/docs/misc":[s,c,a,"static/chunks/pages/docs/misc-9826e731ac3edb14.js"],"/docs/protobuf/decode":[s,c,a,"static/chunks/pages/docs/protobuf/decode-7de55a675bdb086f.js"],"/docs/protobuf/encode":[s,c,a,"static/chunks/pages/docs/protobuf/encode-6a67a259df776246.js"],"/docs/protobuf/message":[s,c,a,"static/chunks/pages/docs/protobuf/message-dbd294f0bb9bba6f.js"],"/docs/pure":[s,c,"static/chunks/pages/docs/pure-caf738247a7777ba.js"],"/docs/random":[s,c,"static/chunks/pages/docs/random-d2be493e43caca67.js"],"/docs/setup":[s,c,a,"static/chunks/pages/docs/setup-ea9fc7c783cf640e.js"],"/docs/utilization/nestjs":[s,c,"static/chunks/pages/docs/utilization/nestjs-1ba09c9d10555a75.js"],"/docs/utilization/prisma":[s,c,"static/chunks/pages/docs/utilization/prisma-0b7e94a6a150ee32.js"],"/docs/utilization/trpc":[s,c,"static/chunks/pages/docs/utilization/trpc-b70f54376eac2728.js"],"/docs/validators/assert":[s,c,a,"static/chunks/pages/docs/validators/assert-da07fdd69a642b18.js"],"/docs/validators/is":[s,c,a,"static/chunks/pages/docs/validators/is-f37b8a6420cbfbc4.js"],"/docs/validators/tags":[s,c,a,"static/chunks/pages/docs/validators/tags-646316c641c7fe60.js"],"/docs/validators/validate":[s,c,a,"static/chunks/pages/docs/validators/validate-8b0baeaf3573c68a.js"],"/playground":["static/chunks/88682331-a95c6084a82e0e7d.js",s,c,"static/chunks/583-42561d8ed955d1ad.js","static/chunks/pages/playground-00af338d08d39845.js"],sortedPages:["/","/_app","/_error","/docs","/docs/json/parse","/docs/json/schema","/docs/json/stringify","/docs/misc","/docs/protobuf/decode","/docs/protobuf/encode","/docs/protobuf/message","/docs/pure","/docs/random","/docs/setup","/docs/utilization/nestjs","/docs/utilization/prisma","/docs/utilization/trpc","/docs/validators/assert","/docs/validators/is","/docs/validators/tags","/docs/validators/validate","/playground"]}}("static/css/445c4173ffc2bf04.css","static/chunks/626-8757574b6d48f105.js","static/chunks/71-1a4d76b96c712d75.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(s,c,a){return{__rewrites:{afterFiles:[{has:void 0,source:"/:path*/_meta",destination:"/404"}],beforeFiles:[],fallback:[]},"/":[s,c,a,"static/chunks/pages/index-f0fac2583c1c8b84.js"],"/_error":["static/chunks/pages/_error-a59e2db023c5e431.js"],"/docs":[s,c,a,"static/chunks/pages/docs-5edf6e72e00d2930.js"],"/docs/json/parse":[s,c,"static/chunks/pages/docs/json/parse-b96416d89ffcd0fb.js"],"/docs/json/schema":[s,c,"static/chunks/pages/docs/json/schema-996e94f30af42333.js"],"/docs/json/stringify":[s,c,a,"static/chunks/pages/docs/json/stringify-bb67b3d81962667a.js"],"/docs/misc":[s,c,a,"static/chunks/pages/docs/misc-9826e731ac3edb14.js"],"/docs/protobuf/decode":[s,c,a,"static/chunks/pages/docs/protobuf/decode-7de55a675bdb086f.js"],"/docs/protobuf/encode":[s,c,a,"static/chunks/pages/docs/protobuf/encode-6a67a259df776246.js"],"/docs/protobuf/message":[s,c,a,"static/chunks/pages/docs/protobuf/message-dbd294f0bb9bba6f.js"],"/docs/pure":[s,c,"static/chunks/pages/docs/pure-caf738247a7777ba.js"],"/docs/random":[s,c,"static/chunks/pages/docs/random-d2be493e43caca67.js"],"/docs/setup":[s,c,a,"static/chunks/pages/docs/setup-ea9fc7c783cf640e.js"],"/docs/utilization/nestjs":[s,c,"static/chunks/pages/docs/utilization/nestjs-1ba09c9d10555a75.js"],"/docs/utilization/prisma":[s,c,"static/chunks/pages/docs/utilization/prisma-0b7e94a6a150ee32.js"],"/docs/utilization/trpc":[s,c,"static/chunks/pages/docs/utilization/trpc-b70f54376eac2728.js"],"/docs/validators/assert":[s,c,a,"static/chunks/pages/docs/validators/assert-da07fdd69a642b18.js"],"/docs/validators/is":[s,c,a,"static/chunks/pages/docs/validators/is-f37b8a6420cbfbc4.js"],"/docs/validators/tags":[s,c,a,"static/chunks/pages/docs/validators/tags-7df6597f5bacf241.js"],"/docs/validators/validate":[s,c,a,"static/chunks/pages/docs/validators/validate-af5e74b41fa73f6a.js"],"/playground":["static/chunks/88682331-a95c6084a82e0e7d.js",s,c,"static/chunks/583-42561d8ed955d1ad.js","static/chunks/pages/playground-00af338d08d39845.js"],sortedPages:["/","/_app","/_error","/docs","/docs/json/parse","/docs/json/schema","/docs/json/stringify","/docs/misc","/docs/protobuf/decode","/docs/protobuf/encode","/docs/protobuf/message","/docs/pure","/docs/random","/docs/setup","/docs/utilization/nestjs","/docs/utilization/prisma","/docs/utilization/trpc","/docs/validators/assert","/docs/validators/is","/docs/validators/tags","/docs/validators/validate","/playground"]}}("static/css/445c4173ffc2bf04.css","static/chunks/626-446d2375f21b1ac6.js","static/chunks/71-1a4d76b96c712d75.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/eaHHtX463OV0RGnMnFEBf/_ssgManifest.js b/_next/static/MBWfkaT-2vTRVH_5-NsC2/_ssgManifest.js similarity index 100% rename from _next/static/eaHHtX463OV0RGnMnFEBf/_ssgManifest.js rename to _next/static/MBWfkaT-2vTRVH_5-NsC2/_ssgManifest.js diff --git a/_next/static/chunks/626-8757574b6d48f105.js b/_next/static/chunks/626-446d2375f21b1ac6.js similarity index 99% rename from _next/static/chunks/626-8757574b6d48f105.js rename to _next/static/chunks/626-446d2375f21b1ac6.js index 87c67585b2..8ebf64e09b 100644 --- a/_next/static/chunks/626-8757574b6d48f105.js +++ b/_next/static/chunks/626-446d2375f21b1ac6.js @@ -6,7 +6,7 @@ * @function * @param {GitUrl} obj The parsed Git url object. * @return {String} token prefix - */function buildToken(ee){return"bitbucket.org"===ee.source?"x-token-auth:"+ee.token+"@":ee.token+"@"}function buildPath(ee){return"bitbucket-server"===ee.source?"scm/"+ee.full_name:""+ee.full_name}gitUrlParse.stringify=function(ee,en){en=en||(ee.protocols&&ee.protocols.length?ee.protocols.join("+"):ee.protocol);var er=ee.port?":"+ee.port:"",eo=ee.user||"git",ei=ee.git_suffix?".git":"";switch(en){case"ssh":if(er)return"ssh://"+eo+"@"+ee.resource+er+"/"+ee.full_name+ei;return eo+"@"+ee.resource+":"+ee.full_name+ei;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return en+"://"+eo+"@"+ee.resource+er+"/"+ee.full_name+ei;case"http":case"https":return en+"://"+(ee.token?buildToken(ee):ee.user&&(ee.protocols.includes("http")||ee.protocols.includes("https"))?ee.user+"@":"")+ee.resource+er+"/"+buildPath(ee)+ei;default:return ee.href}},ee.exports=gitUrlParse},66337:function(){!function(){"use strict";if("object"==typeof window){if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype){"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});return}var ee=function(ee){for(var en=ee,er=getFrameElement(en);er;)er=getFrameElement(en=er.ownerDocument);return en}(window.document),en=[],er=null,eo=null;IntersectionObserver.prototype.THROTTLE_TIMEOUT=100,IntersectionObserver.prototype.POLL_INTERVAL=null,IntersectionObserver.prototype.USE_MUTATION_OBSERVER=!0,IntersectionObserver._setupCrossOriginUpdater=function(){return er||(er=function(ee,er){eo=ee&&er?convertFromParentRect(ee,er):getEmptyRect(),en.forEach(function(ee){ee._checkForIntersections()})}),er},IntersectionObserver._resetCrossOriginUpdater=function(){er=null,eo=null},IntersectionObserver.prototype.observe=function(ee){if(!this._observationTargets.some(function(en){return en.element==ee})){if(!(ee&&1==ee.nodeType))throw Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:ee,entry:null}),this._monitorIntersections(ee.ownerDocument),this._checkForIntersections()}},IntersectionObserver.prototype.unobserve=function(ee){this._observationTargets=this._observationTargets.filter(function(en){return en.element!=ee}),this._unmonitorIntersections(ee.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},IntersectionObserver.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},IntersectionObserver.prototype.takeRecords=function(){var ee=this._queuedEntries.slice();return this._queuedEntries=[],ee},IntersectionObserver.prototype._initThresholds=function(ee){var en=ee||[0];return Array.isArray(en)||(en=[en]),en.sort().filter(function(ee,en,er){if("number"!=typeof ee||isNaN(ee)||ee<0||ee>1)throw Error("threshold must be a number between 0 and 1 inclusively");return ee!==er[en-1]})},IntersectionObserver.prototype._parseRootMargin=function(ee){var en=(ee||"0px").split(/\s+/).map(function(ee){var en=/^(-?\d*\.?\d+)(px|%)$/.exec(ee);if(!en)throw Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(en[1]),unit:en[2]}});return en[1]=en[1]||en[0],en[2]=en[2]||en[0],en[3]=en[3]||en[1],en},IntersectionObserver.prototype._monitorIntersections=function(en){var er=en.defaultView;if(er&&-1==this._monitoringDocuments.indexOf(en)){var eo=this._checkForIntersections,ei=null,es=null;if(this.POLL_INTERVAL?ei=er.setInterval(eo,this.POLL_INTERVAL):(addEvent(er,"resize",eo,!0),addEvent(en,"scroll",eo,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in er&&(es=new er.MutationObserver(eo)).observe(en,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(en),this._monitoringUnsubscribes.push(function(){var ee=en.defaultView;ee&&(ei&&ee.clearInterval(ei),removeEvent(ee,"resize",eo,!0)),removeEvent(en,"scroll",eo,!0),es&&es.disconnect()}),en!=(this.root&&(this.root.ownerDocument||this.root)||ee)){var eu=getFrameElement(en);eu&&this._monitorIntersections(eu.ownerDocument)}}},IntersectionObserver.prototype._unmonitorIntersections=function(en){var er=this._monitoringDocuments.indexOf(en);if(-1!=er){var eo=this.root&&(this.root.ownerDocument||this.root)||ee;if(!this._observationTargets.some(function(ee){var er=ee.element.ownerDocument;if(er==en)return!0;for(;er&&er!=eo;){var ei=getFrameElement(er);if((er=ei&&ei.ownerDocument)==en)return!0}return!1})){var ei=this._monitoringUnsubscribes[er];if(this._monitoringDocuments.splice(er,1),this._monitoringUnsubscribes.splice(er,1),ei(),en!=eo){var es=getFrameElement(en);es&&this._unmonitorIntersections(es.ownerDocument)}}}},IntersectionObserver.prototype._unmonitorAllIntersections=function(){var ee=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var en=0;enen.indexOf(this)&&en.push(this)},IntersectionObserver.prototype._unregisterInstance=function(){var ee=en.indexOf(this);-1!=ee&&en.splice(ee,1)},window.IntersectionObserver=IntersectionObserver,window.IntersectionObserverEntry=IntersectionObserverEntry}function getFrameElement(ee){try{return ee.defaultView&&ee.defaultView.frameElement||null}catch(ee){return null}}function IntersectionObserverEntry(ee){this.time=ee.time,this.target=ee.target,this.rootBounds=ensureDOMRect(ee.rootBounds),this.boundingClientRect=ensureDOMRect(ee.boundingClientRect),this.intersectionRect=ensureDOMRect(ee.intersectionRect||getEmptyRect()),this.isIntersecting=!!ee.intersectionRect;var en=this.boundingClientRect,er=en.width*en.height,eo=this.intersectionRect,ei=eo.width*eo.height;er?this.intersectionRatio=Number((ei/er).toFixed(4)):this.intersectionRatio=this.isIntersecting?1:0}function IntersectionObserver(ee,en){var er=en||{};if("function"!=typeof ee)throw Error("callback must be a function");if(er.root&&1!=er.root.nodeType&&9!=er.root.nodeType)throw Error("root must be a Document or Element");this._checkForIntersections=throttle(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=ee,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(er.rootMargin),this.thresholds=this._initThresholds(er.threshold),this.root=er.root||null,this.rootMargin=this._rootMarginValues.map(function(ee){return ee.value+ee.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function now(){return window.performance&&performance.now&&performance.now()}function throttle(ee,en){var er=null;return function(){er||(er=setTimeout(function(){ee(),er=null},en))}}function addEvent(ee,en,er,eo){"function"==typeof ee.addEventListener?ee.addEventListener(en,er,eo||!1):"function"==typeof ee.attachEvent&&ee.attachEvent("on"+en,er)}function removeEvent(ee,en,er,eo){"function"==typeof ee.removeEventListener?ee.removeEventListener(en,er,eo||!1):"function"==typeof ee.detachEvent&&ee.detachEvent("on"+en,er)}function computeRectIntersection(ee,en){var er=Math.max(ee.top,en.top),eo=Math.min(ee.bottom,en.bottom),ei=Math.max(ee.left,en.left),es=Math.min(ee.right,en.right),eu=es-ei,ec=eo-er;return eu>=0&&ec>=0&&{top:er,bottom:eo,left:ei,right:es,width:eu,height:ec}||null}function getBoundingClientRect(ee){var en;try{en=ee.getBoundingClientRect()}catch(ee){}return en?(en.width&&en.height||(en={top:en.top,right:en.right,bottom:en.bottom,left:en.left,width:en.right-en.left,height:en.bottom-en.top}),en):getEmptyRect()}function getEmptyRect(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function ensureDOMRect(ee){return!ee||"x"in ee?ee:{top:ee.top,y:ee.top,bottom:ee.bottom,left:ee.left,x:ee.left,right:ee.right,width:ee.width,height:ee.height}}function convertFromParentRect(ee,en){var er=en.top-ee.top,eo=en.left-ee.left;return{top:er,left:eo,height:en.height,width:en.width,bottom:er+en.height,right:eo+en.width}}function containsDeep(ee,en){for(var er=en;er;){if(er==ee)return!0;er=getParentNode(er)}return!1}function getParentNode(en){var er=en.parentNode;return 9==en.nodeType&&en!=ee?getFrameElement(en):(er&&er.assignedSlot&&(er=er.assignedSlot.parentNode),er&&11==er.nodeType&&er.host)?er.host:er}function isDoc(ee){return ee&&9===ee.nodeType}}()},99073:function(ee,en,er){"use strict";var eo=er(72337);function isSsh(ee){if(Array.isArray(ee))return -1!==ee.indexOf("ssh")||-1!==ee.indexOf("rsync");if("string"!=typeof ee)return!1;var en=eo(ee);if(ee=ee.substring(ee.indexOf("://")+3),isSsh(en))return!0;var er=RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!ee.match(er)&&ee.indexOf("@")-1}function listCacheSet(ee,en){var er=this.__data__,eo=assocIndexOf(er,ee);return eo<0?er.push([ee,en]):er[eo][1]=en,this}function MapCache(ee){var en=-1,er=ee?ee.length:0;for(this.clear();++en{}).then(()=>{if(ee.parentElement&&ee.isConnected){if("empty"!==en&&ei(!0),null==er?void 0:er.current){let en=new Event("load");Object.defineProperty(en,"target",{writable:!1,value:ee});let eo=!1,ei=!1;er.current({...en,nativeEvent:en,currentTarget:ee,target:ee,isDefaultPrevented:()=>eo,isPropagationStopped:()=>ei,persist:()=>{},preventDefault:()=>{eo=!0,en.preventDefault()},stopPropagation:()=>{ei=!0,en.stopPropagation()}})}(null==eo?void 0:eo.current)&&eo.current(ee)}})}function getDynamicProps(ee){let[en,er]=es.version.split("."),eo=parseInt(en,10),ei=parseInt(er,10);return eo>18||18===eo&&ei>=3?{fetchPriority:ee}:{fetchpriority:ee}}let eg=(0,es.forwardRef)((ee,en)=>{let{src:er,srcSet:eo,sizes:ei,height:eu,width:ec,decoding:ed,className:ep,style:ef,fetchPriority:eh,placeholder:em,loading:ex,unoptimized:eg,fill:ev,onLoadRef:ey,onLoadingCompleteRef:eb,setBlurComplete:e_,setShowAltText:ew,onLoad:ek,onError:eC,...eT}=ee;return es.default.createElement("img",{...eT,...getDynamicProps(eh),loading:ex,width:ec,height:eu,decoding:ed,"data-nimg":ev?"fill":"1",className:ep,style:ef,sizes:ei,srcSet:eo,src:er,ref:(0,es.useCallback)(ee=>{en&&("function"==typeof en?en(ee):"object"==typeof en&&(en.current=ee)),ee&&(eC&&(ee.src=ee.src),ee.complete&&handleLoading(ee,em,ey,eb,e_,eg))},[er,em,ey,eb,e_,eC,eg,en]),onLoad:ee=>{let en=ee.currentTarget;handleLoading(en,em,ey,eb,e_,eg)},onError:ee=>{ew(!0),"empty"!==em&&e_(!0),eC&&eC(ee)}})});function ImagePreload(ee){let{isAppRouter:en,imgAttributes:er}=ee,eo={as:"image",imageSrcSet:er.srcSet,imageSizes:er.sizes,crossOrigin:er.crossOrigin,referrerPolicy:er.referrerPolicy,...getDynamicProps(er.fetchPriority)};return en&&eu.default.preload?(eu.default.preload(er.src,eo),null):es.default.createElement(ec.default,null,es.default.createElement("link",{key:"__nimg-"+er.src+er.srcSet+er.sizes,rel:"preload",href:er.srcSet?void 0:er.src,...eo}))}let ev=(0,es.forwardRef)((ee,en)=>{let er=(0,es.useContext)(eh.RouterContext),eo=!er,ei=(0,es.useContext)(ef.ImageConfigContext),eu=(0,es.useMemo)(()=>{let ee=ex||ei||ep.imageConfigDefault,en=[...ee.deviceSizes,...ee.imageSizes].sort((ee,en)=>ee-en),er=ee.deviceSizes.sort((ee,en)=>ee-en);return{...ee,allSizes:en,deviceSizes:er}},[ei]),{onLoad:ec,onLoadingComplete:ev}=ee,ey=(0,es.useRef)(ec);(0,es.useEffect)(()=>{ey.current=ec},[ec]);let eb=(0,es.useRef)(ev);(0,es.useEffect)(()=>{eb.current=ev},[ev]);let[e_,ew]=(0,es.useState)(!1),[ek,eC]=(0,es.useState)(!1),{props:eT,meta:eE}=(0,ed.getImgProps)(ee,{defaultLoader:em.default,imgConf:eu,blurComplete:e_,showAltText:ek});return es.default.createElement(es.default.Fragment,null,es.default.createElement(eg,{...eT,unoptimized:eE.unoptimized,placeholder:eE.placeholder,fill:eE.fill,onLoadRef:ey,onLoadingCompleteRef:eb,setBlurComplete:ew,setShowAltText:eC,ref:en}),eE.priority?es.default.createElement(ImagePreload,{isAppRouter:eo,imgAttributes:eT}):null)});("function"==typeof en.default||"object"==typeof en.default&&null!==en.default)&&void 0===en.default.__esModule&&(Object.defineProperty(en.default,"__esModule",{value:!0}),Object.assign(en.default,en),ee.exports=en.default)},65170:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"default",{enumerable:!0,get:function(){return e_}});let eo=er(38754),ei=eo._(er(67294)),es=er(74450),eu=er(92227),ec=er(64364),ed=er(10109),ep=er(73607),ef=er(11823),eh=er(89031),em=er(40920),ex=er(10030),eg=er(77192),ev=er(97498),ey=new Set;function prefetch(ee,en,er,eo,ei,es){if(!es&&!(0,eu.isLocalURL)(en))return;if(!eo.bypassPrefetchedCheck){let ei=void 0!==eo.locale?eo.locale:"locale"in ee?ee.locale:void 0,es=en+"%"+er+"%"+ei;if(ey.has(es))return;ey.add(es)}let ec=es?ee.prefetch(en,ei):ee.prefetch(en,er,eo);Promise.resolve(ec).catch(ee=>{})}function isModifiedEvent(ee){let en=ee.currentTarget,er=en.getAttribute("target");return er&&"_self"!==er||ee.metaKey||ee.ctrlKey||ee.shiftKey||ee.altKey||ee.nativeEvent&&2===ee.nativeEvent.which}function linkClicked(ee,en,er,eo,es,ec,ed,ep,ef,eh){let{nodeName:em}=ee.currentTarget,ex="A"===em.toUpperCase();if(ex&&(isModifiedEvent(ee)||!ef&&!(0,eu.isLocalURL)(er)))return;ee.preventDefault();let navigate=()=>{let ee=null==ed||ed;"beforePopState"in en?en[es?"replace":"push"](er,eo,{shallow:ec,locale:ep,scroll:ee}):en[es?"replace":"push"](eo||er,{forceOptimisticNavigation:!eh,scroll:ee})};ef?ei.default.startTransition(navigate):navigate()}function formatStringOrUrl(ee){return"string"==typeof ee?ee:(0,ec.formatUrl)(ee)}let eb=ei.default.forwardRef(function(ee,en){let er,eo;let{href:eu,as:ec,children:ey,prefetch:eb=null,passHref:e_,replace:ew,shallow:ek,scroll:eC,locale:eT,onClick:eE,onMouseEnter:eO,onTouchStart:eS,legacyBehavior:ej=!1,...eI}=ee;er=ey,ej&&("string"==typeof er||"number"==typeof er)&&(er=ei.default.createElement("a",null,er));let eP=ei.default.useContext(ef.RouterContext),eN=ei.default.useContext(eh.AppRouterContext),eR=null!=eP?eP:eN,eZ=!eP,eM=!1!==eb,eA=null===eb?ev.PrefetchKind.AUTO:ev.PrefetchKind.FULL,{href:eL,as:eD}=ei.default.useMemo(()=>{if(!eP){let ee=formatStringOrUrl(eu);return{href:ee,as:ec?formatStringOrUrl(ec):ee}}let[ee,en]=(0,es.resolveHref)(eP,eu,!0);return{href:ee,as:ec?(0,es.resolveHref)(eP,ec):en||ee}},[eP,eu,ec]),eF=ei.default.useRef(eL),ez=ei.default.useRef(eD);ej&&(eo=ei.default.Children.only(er));let eV=ej?eo&&"object"==typeof eo&&eo.ref:en,[eU,eH,e$]=(0,em.useIntersection)({rootMargin:"200px"}),eB=ei.default.useCallback(ee=>{(ez.current!==eD||eF.current!==eL)&&(e$(),ez.current=eD,eF.current=eL),eU(ee),eV&&("function"==typeof eV?eV(ee):"object"==typeof eV&&(eV.current=ee))},[eD,eV,eL,e$,eU]);ei.default.useEffect(()=>{eR&&eH&&eM&&prefetch(eR,eL,eD,{locale:eT},{kind:eA},eZ)},[eD,eL,eH,eT,eM,null==eP?void 0:eP.locale,eR,eZ,eA]);let eW={ref:eB,onClick(ee){ej||"function"!=typeof eE||eE(ee),ej&&eo.props&&"function"==typeof eo.props.onClick&&eo.props.onClick(ee),eR&&!ee.defaultPrevented&&linkClicked(ee,eR,eL,eD,ew,ek,eC,eT,eZ,eM)},onMouseEnter(ee){ej||"function"!=typeof eO||eO(ee),ej&&eo.props&&"function"==typeof eo.props.onMouseEnter&&eo.props.onMouseEnter(ee),eR&&(eM||!eZ)&&prefetch(eR,eL,eD,{locale:eT,priority:!0,bypassPrefetchedCheck:!0},{kind:eA},eZ)},onTouchStart(ee){ej||"function"!=typeof eS||eS(ee),ej&&eo.props&&"function"==typeof eo.props.onTouchStart&&eo.props.onTouchStart(ee),eR&&(eM||!eZ)&&prefetch(eR,eL,eD,{locale:eT,priority:!0,bypassPrefetchedCheck:!0},{kind:eA},eZ)}};if((0,ed.isAbsoluteUrl)(eD))eW.href=eD;else if(!ej||e_||"a"===eo.type&&!("href"in eo.props)){let ee=void 0!==eT?eT:null==eP?void 0:eP.locale,en=(null==eP?void 0:eP.isLocaleDomain)&&(0,ex.getDomainLocale)(eD,ee,null==eP?void 0:eP.locales,null==eP?void 0:eP.domainLocales);eW.href=en||(0,eg.addBasePath)((0,ep.addLocale)(eD,ee,null==eP?void 0:eP.defaultLocale))}return ej?ei.default.cloneElement(eo,eW):ei.default.createElement("a",{...eI,...eW},er)}),e_=eb;("function"==typeof en.default||"object"==typeof en.default&&null!==en.default)&&void 0===en.default.__esModule&&(Object.defineProperty(en.default,"__esModule",{value:!0}),Object.assign(en.default,en),ee.exports=en.default)},40920:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"useIntersection",{enumerable:!0,get:function(){return useIntersection}});let eo=er(67294),ei=er(63436),es="function"==typeof IntersectionObserver,eu=new Map,ec=[];function createObserver(ee){let en;let er={root:ee.root||null,margin:ee.rootMargin||""},eo=ec.find(ee=>ee.root===er.root&&ee.margin===er.margin);if(eo&&(en=eu.get(eo)))return en;let ei=new Map,es=new IntersectionObserver(ee=>{ee.forEach(ee=>{let en=ei.get(ee.target),er=ee.isIntersecting||ee.intersectionRatio>0;en&&er&&en(er)})},ee);return en={id:er,observer:es,elements:ei},ec.push(er),eu.set(er,en),en}function observe(ee,en,er){let{id:eo,observer:ei,elements:es}=createObserver(er);return es.set(ee,en),ei.observe(ee),function(){if(es.delete(ee),ei.unobserve(ee),0===es.size){ei.disconnect(),eu.delete(eo);let ee=ec.findIndex(ee=>ee.root===eo.root&&ee.margin===eo.margin);ee>-1&&ec.splice(ee,1)}}}function useIntersection(ee){let{rootRef:en,rootMargin:er,disabled:eu}=ee,ec=eu||!es,[ed,ep]=(0,eo.useState)(!1),ef=(0,eo.useRef)(null),eh=(0,eo.useCallback)(ee=>{ef.current=ee},[]);(0,eo.useEffect)(()=>{if(es){if(ec||ed)return;let ee=ef.current;if(ee&&ee.tagName){let eo=observe(ee,ee=>ee&&ep(ee),{root:null==en?void 0:en.current,rootMargin:er});return eo}}else if(!ed){let ee=(0,ei.requestIdleCallback)(()=>ep(!0));return()=>(0,ei.cancelIdleCallback)(ee)}},[ec,er,en,ed,ef.current]);let em=(0,eo.useCallback)(()=>{ep(!1)},[]);return[eh,ed,em]}("function"==typeof en.default||"object"==typeof en.default&&null!==en.default)&&void 0===en.default.__esModule&&(Object.defineProperty(en.default,"__esModule",{value:!0}),Object.assign(en.default,en),ee.exports=en.default)},53914:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"getImgProps",{enumerable:!0,get:function(){return getImgProps}}),er(81905);let eo=er(32393),ei=er(85494);function isStaticRequire(ee){return void 0!==ee.default}function isStaticImageData(ee){return void 0!==ee.src}function isStaticImport(ee){return"object"==typeof ee&&(isStaticRequire(ee)||isStaticImageData(ee))}function getInt(ee){return void 0===ee?ee:"number"==typeof ee?Number.isFinite(ee)?ee:NaN:"string"==typeof ee&&/^[0-9]+$/.test(ee)?parseInt(ee,10):NaN}function getWidths(ee,en,er){let{deviceSizes:eo,allSizes:ei}=ee;if(er){let ee=/(^|\s)(1?\d?\d)vw/g,en=[];for(let eo;eo=ee.exec(er);eo)en.push(parseInt(eo[2]));if(en.length){let ee=.01*Math.min(...en);return{widths:ei.filter(en=>en>=eo[0]*ee),kind:"w"}}return{widths:ei,kind:"w"}}if("number"!=typeof en)return{widths:eo,kind:"w"};let es=[...new Set([en,2*en].map(ee=>ei.find(en=>en>=ee)||ei[ei.length-1]))];return{widths:es,kind:"x"}}function generateImgAttrs(ee){let{config:en,src:er,unoptimized:eo,width:ei,quality:es,sizes:eu,loader:ec}=ee;if(eo)return{src:er,srcSet:void 0,sizes:void 0};let{widths:ed,kind:ep}=getWidths(en,ei,eu),ef=ed.length-1;return{sizes:eu||"w"!==ep?eu:"100vw",srcSet:ed.map((ee,eo)=>ec({config:en,src:er,quality:es,width:ee})+" "+("w"===ep?ee:eo+1)+ep).join(", "),src:ec({config:en,src:er,quality:es,width:ed[ef]})}}function getImgProps(ee,en){let er,es,eu,{src:ec,sizes:ed,unoptimized:ep=!1,priority:ef=!1,loading:eh,className:em,quality:ex,width:eg,height:ev,fill:ey=!1,style:eb,onLoad:e_,onLoadingComplete:ew,placeholder:ek="empty",blurDataURL:eC,fetchPriority:eT,layout:eE,objectFit:eO,objectPosition:eS,lazyBoundary:ej,lazyRoot:eI,...eP}=ee,{imgConf:eN,showAltText:eR,blurComplete:eZ,defaultLoader:eM}=en,eA=eN||ei.imageConfigDefault;if("allSizes"in eA)er=eA;else{let ee=[...eA.deviceSizes,...eA.imageSizes].sort((ee,en)=>ee-en),en=eA.deviceSizes.sort((ee,en)=>ee-en);er={...eA,allSizes:ee,deviceSizes:en}}let eL=eP.loader||eM;delete eP.loader,delete eP.srcSet;let eD="__next_img_default"in eL;if(eD){if("custom"===er.loader)throw Error('Image with src "'+ec+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let ee=eL;eL=en=>{let{config:er,...eo}=en;return ee(eo)}}if(eE){"fill"===eE&&(ey=!0);let ee={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}},en={responsive:"100vw",fill:"100vw"},er=ee[eE];er&&(eb={...eb,...er});let eo=en[eE];eo&&!ed&&(ed=eo)}let eF="",ez=getInt(eg),eV=getInt(ev);if(isStaticImport(ec)){let ee=isStaticRequire(ec)?ec.default:ec;if(!ee.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(ee));if(!ee.height||!ee.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(ee));if(es=ee.blurWidth,eu=ee.blurHeight,eC=eC||ee.blurDataURL,eF=ee.src,!ey){if(ez||eV){if(ez&&!eV){let en=ez/ee.width;eV=Math.round(ee.height*en)}else if(!ez&&eV){let en=eV/ee.height;ez=Math.round(ee.width*en)}}else ez=ee.width,eV=ee.height}}let eU=!ef&&("lazy"===eh||void 0===eh);(!(ec="string"==typeof ec?ec:eF)||ec.startsWith("data:")||ec.startsWith("blob:"))&&(ep=!0,eU=!1),er.unoptimized&&(ep=!0),eD&&ec.endsWith(".svg")&&!er.dangerouslyAllowSVG&&(ep=!0),ef&&(eT="high");let eH=getInt(ex),e$=Object.assign(ey?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:eO,objectPosition:eS}:{},eR?{}:{color:"transparent"},eb),eB=eZ||"empty"===ek?null:"blur"===ek?'url("data:image/svg+xml;charset=utf-8,'+(0,eo.getImageBlurSvg)({widthInt:ez,heightInt:eV,blurWidth:es,blurHeight:eu,blurDataURL:eC||"",objectFit:e$.objectFit})+'")':'url("'+ek+'")',eW=eB?{backgroundSize:e$.objectFit||"cover",backgroundPosition:e$.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:eB}:{},eG=generateImgAttrs({config:er,src:ec,unoptimized:ep,width:ez,quality:eH,sizes:ed,loader:eL}),eK={...eP,loading:eU?"lazy":eh,fetchPriority:eT,width:ez,height:eV,decoding:"async",className:em,style:{...e$,...eW},sizes:eG.sizes,srcSet:eG.srcSet,src:eG.src},eY={unoptimized:ep,priority:ef,placeholder:ek,fill:ey};return{props:eK,meta:eY}}},32393:function(ee,en){"use strict";function getImageBlurSvg(ee){let{widthInt:en,heightInt:er,blurWidth:eo,blurHeight:ei,blurDataURL:es,objectFit:eu}=ee,ec=20,ed=eo?40*eo:en,ep=ei?40*ei:er,ef=ed&&ep?"viewBox='0 0 "+ed+" "+ep+"'":"",eh=ef?"none":"contain"===eu?"xMidYMid":"cover"===eu?"xMidYMid slice":"none";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+ef+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='"+ec+"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='"+ec+"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+eh+"' style='filter: url(%23b);' href='"+es+"'/%3E%3C/svg%3E"}Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"getImageBlurSvg",{enumerable:!0,get:function(){return getImageBlurSvg}})},645:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),function(ee,en){for(var er in en)Object.defineProperty(ee,er,{enumerable:!0,get:en[er]})}(en,{unstable_getImgProps:function(){return unstable_getImgProps},default:function(){return ed}});let eo=er(38754),ei=er(53914),es=er(81905),eu=er(23271),ec=eo._(er(74545)),unstable_getImgProps=ee=>{(0,es.warnOnce)("Warning: unstable_getImgProps() is experimental and may change or be removed at any time. Use at your own risk.");let{props:en}=(0,ei.getImgProps)(ee,{defaultLoader:ec.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[ee,er]of Object.entries(en))void 0===er&&delete en[ee];return{props:en}},ed=eu.Image},74545:function(ee,en){"use strict";function defaultLoader(ee){let{config:en,src:er,width:eo,quality:ei}=ee;return en.path+"?url="+encodeURIComponent(er)+"&w="+eo+"&q="+(ei||75)}Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"default",{enumerable:!0,get:function(){return er}}),defaultLoader.__next_img_default=!0;let er=defaultLoader},29128:function(){},1864:function(ee){var en="/";!function(){"use strict";var er={114:function(ee){function assertPath(ee){if("string"!=typeof ee)throw TypeError("Path must be a string. Received "+JSON.stringify(ee))}function normalizeStringPosix(ee,en){for(var er,eo="",ei=0,es=-1,eu=0,ec=0;ec<=ee.length;++ec){if(ec2){var ed=eo.lastIndexOf("/");if(ed!==eo.length-1){-1===ed?(eo="",ei=0):ei=(eo=eo.slice(0,ed)).length-1-eo.lastIndexOf("/"),es=ec,eu=0;continue}}else if(2===eo.length||1===eo.length){eo="",ei=0,es=ec,eu=0;continue}}en&&(eo.length>0?eo+="/..":eo="..",ei=2)}else eo.length>0?eo+="/"+ee.slice(es+1,ec):eo=ee.slice(es+1,ec),ei=ec-es-1;es=ec,eu=0}else 46===er&&-1!==eu?++eu:eu=-1}return eo}function _format(ee,en){var er=en.dir||en.root,eo=en.base||(en.name||"")+(en.ext||"");return er?er===en.root?er+eo:er+ee+eo:eo}var en={resolve:function(){for(var ee,en,er="",eo=!1,ei=arguments.length-1;ei>=-1&&!eo;ei--)ei>=0?en=arguments[ei]:(void 0===ee&&(ee=""),en=ee),assertPath(en),0!==en.length&&(er=en+"/"+er,eo=47===en.charCodeAt(0));return(er=normalizeStringPosix(er,!eo),eo)?er.length>0?"/"+er:"/":er.length>0?er:"."},normalize:function(ee){if(assertPath(ee),0===ee.length)return".";var en=47===ee.charCodeAt(0),er=47===ee.charCodeAt(ee.length-1);return(0!==(ee=normalizeStringPosix(ee,!en)).length||en||(ee="."),ee.length>0&&er&&(ee+="/"),en)?"/"+ee:ee},isAbsolute:function(ee){return assertPath(ee),ee.length>0&&47===ee.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var ee,er=0;er0&&(void 0===ee?ee=eo:ee+="/"+eo)}return void 0===ee?".":en.normalize(ee)},relative:function(ee,er){if(assertPath(ee),assertPath(er),ee===er||(ee=en.resolve(ee))===(er=en.resolve(er)))return"";for(var eo=1;eoed){if(47===er.charCodeAt(eu+ef))return er.slice(eu+ef+1);if(0===ef)return er.slice(eu+ef)}else es>ed&&(47===ee.charCodeAt(eo+ef)?ep=ef:0===ef&&(ep=0));break}var eh=ee.charCodeAt(eo+ef);if(eh!==er.charCodeAt(eu+ef))break;47===eh&&(ep=ef)}var em="";for(ef=eo+ep+1;ef<=ei;++ef)(ef===ei||47===ee.charCodeAt(ef))&&(0===em.length?em+="..":em+="/..");return em.length>0?em+er.slice(eu+ep):(eu+=ep,47===er.charCodeAt(eu)&&++eu,er.slice(eu))},_makeLong:function(ee){return ee},dirname:function(ee){if(assertPath(ee),0===ee.length)return".";for(var en=ee.charCodeAt(0),er=47===en,eo=-1,ei=!0,es=ee.length-1;es>=1;--es)if(47===(en=ee.charCodeAt(es))){if(!ei){eo=es;break}}else ei=!1;return -1===eo?er?"/":".":er&&1===eo?"//":ee.slice(0,eo)},basename:function(ee,en){if(void 0!==en&&"string"!=typeof en)throw TypeError('"ext" argument must be a string');assertPath(ee);var er,eo=0,ei=-1,es=!0;if(void 0!==en&&en.length>0&&en.length<=ee.length){if(en.length===ee.length&&en===ee)return"";var eu=en.length-1,ec=-1;for(er=ee.length-1;er>=0;--er){var ed=ee.charCodeAt(er);if(47===ed){if(!es){eo=er+1;break}}else -1===ec&&(es=!1,ec=er+1),eu>=0&&(ed===en.charCodeAt(eu)?-1==--eu&&(ei=er):(eu=-1,ei=ec))}return eo===ei?ei=ec:-1===ei&&(ei=ee.length),ee.slice(eo,ei)}for(er=ee.length-1;er>=0;--er)if(47===ee.charCodeAt(er)){if(!es){eo=er+1;break}}else -1===ei&&(es=!1,ei=er+1);return -1===ei?"":ee.slice(eo,ei)},extname:function(ee){assertPath(ee);for(var en=-1,er=0,eo=-1,ei=!0,es=0,eu=ee.length-1;eu>=0;--eu){var ec=ee.charCodeAt(eu);if(47===ec){if(!ei){er=eu+1;break}continue}-1===eo&&(ei=!1,eo=eu+1),46===ec?-1===en?en=eu:1!==es&&(es=1):-1!==en&&(es=-1)}return -1===en||-1===eo||0===es||1===es&&en===eo-1&&en===er+1?"":ee.slice(en,eo)},format:function(ee){if(null===ee||"object"!=typeof ee)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof ee);return _format("/",ee)},parse:function(ee){assertPath(ee);var en,er={root:"",dir:"",base:"",ext:"",name:""};if(0===ee.length)return er;var eo=ee.charCodeAt(0),ei=47===eo;ei?(er.root="/",en=1):en=0;for(var es=-1,eu=0,ec=-1,ed=!0,ep=ee.length-1,ef=0;ep>=en;--ep){if(47===(eo=ee.charCodeAt(ep))){if(!ed){eu=ep+1;break}continue}-1===ec&&(ed=!1,ec=ep+1),46===eo?-1===es?es=ep:1!==ef&&(ef=1):-1!==es&&(ef=-1)}return -1===es||-1===ec||0===ef||1===ef&&es===ec-1&&es===eu+1?-1!==ec&&(0===eu&&ei?er.base=er.name=ee.slice(1,ec):er.base=er.name=ee.slice(eu,ec)):(0===eu&&ei?(er.name=ee.slice(1,es),er.base=ee.slice(1,ec)):(er.name=ee.slice(eu,es),er.base=ee.slice(eu,ec)),er.ext=ee.slice(es,ec)),eu>0?er.dir=ee.slice(0,eu-1):ei&&(er.dir="/"),er},sep:"/",delimiter:":",win32:null,posix:null};en.posix=en,ee.exports=en}},eo={};function __nccwpck_require__(ee){var en=eo[ee];if(void 0!==en)return en.exports;var ei=eo[ee]={exports:{}},es=!0;try{er[ee](ei,ei.exports,__nccwpck_require__),es=!1}finally{es&&delete eo[ee]}return ei.exports}__nccwpck_require__.ab=en+"/";var ei=__nccwpck_require__(114);ee.exports=ei}()},77663:function(ee){var en="/";!function(){var er={229:function(ee){var en,er,eo,ei=ee.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}function runTimeout(ee){if(en===setTimeout)return setTimeout(ee,0);if((en===defaultSetTimout||!en)&&setTimeout)return en=setTimeout,setTimeout(ee,0);try{return en(ee,0)}catch(er){try{return en.call(null,ee,0)}catch(er){return en.call(this,ee,0)}}}function runClearTimeout(ee){if(er===clearTimeout)return clearTimeout(ee);if((er===defaultClearTimeout||!er)&&clearTimeout)return er=clearTimeout,clearTimeout(ee);try{return er(ee)}catch(en){try{return er.call(null,ee)}catch(en){return er.call(this,ee)}}}!function(){try{en="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(ee){en=defaultSetTimout}try{er="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(ee){er=defaultClearTimeout}}();var es=[],eu=!1,ec=-1;function cleanUpNextTick(){eu&&eo&&(eu=!1,eo.length?es=eo.concat(es):ec=-1,es.length&&drainQueue())}function drainQueue(){if(!eu){var ee=runTimeout(cleanUpNextTick);eu=!0;for(var en=es.length;en;){for(eo=es,es=[];++ec1)for(var er=1;er{en(!0)},[]),ee}var eT=er(47222),eE="https://nextra.vercel.app",useFSRoute=()=>{let{locale:ee=eT.ZW,asPath:en,route:er}=(0,ew.useRouter)();return(0,ek.useMemo)(()=>{let eo=eT.hV.has(er)?er:en,{pathname:ei}=new URL(eo,eE),es=ee?ei.replace(RegExp(`\\.${ee}(\\/|$)`),"$1"):ei;return es.replace(/\.html$/,"").replace(/\/index(\/|$)/,"$1").replace(/\/$/,"")||"/"},[en,ee,er])},eO=er(82643),eS=er(94861);!function(ee){function assertIs(ee){}function assertNever(ee){throw Error()}function joinValues(ee,en=" | "){return ee.map(ee=>"string"==typeof ee?`'${ee}'`:ee).join(en)}ee.assertEqual=ee=>ee,ee.assertIs=assertIs,ee.assertNever=assertNever,ee.arrayToEnum=ee=>{let en={};for(let er of ee)en[er]=er;return en},ee.getValidEnumValues=en=>{let er=ee.objectKeys(en).filter(ee=>"number"!=typeof en[en[ee]]),eo={};for(let ee of er)eo[ee]=en[ee];return ee.objectValues(eo)},ee.objectValues=en=>ee.objectKeys(en).map(function(ee){return en[ee]}),ee.objectKeys="function"==typeof Object.keys?ee=>Object.keys(ee):ee=>{let en=[];for(let er in ee)Object.prototype.hasOwnProperty.call(ee,er)&&en.push(er);return en},ee.find=(ee,en)=>{for(let er of ee)if(en(er))return er},ee.isInteger="function"==typeof Number.isInteger?ee=>Number.isInteger(ee):ee=>"number"==typeof ee&&isFinite(ee)&&Math.floor(ee)===ee,ee.joinValues=joinValues,ee.jsonStringifyReplacer=(ee,en)=>"bigint"==typeof en?en.toString():en}(eg||(eg={})),function(ee){ee.mergeShapes=(ee,en)=>({...ee,...en})}(ev||(ev={}));let ej=eg.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=ee=>{let en=typeof ee;switch(en){case"undefined":return ej.undefined;case"string":return ej.string;case"number":return isNaN(ee)?ej.nan:ej.number;case"boolean":return ej.boolean;case"function":return ej.function;case"bigint":return ej.bigint;case"symbol":return ej.symbol;case"object":if(Array.isArray(ee))return ej.array;if(null===ee)return ej.null;if(ee.then&&"function"==typeof ee.then&&ee.catch&&"function"==typeof ee.catch)return ej.promise;if("undefined"!=typeof Map&&ee instanceof Map)return ej.map;if("undefined"!=typeof Set&&ee instanceof Set)return ej.set;if("undefined"!=typeof Date&&ee instanceof Date)return ej.date;return ej.object;default:return ej.unknown}},eI=eg.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),quotelessJson=ee=>{let en=JSON.stringify(ee,null,2);return en.replace(/"([^"]+)":/g,"$1:")};let ZodError=class ZodError extends Error{constructor(ee){super(),this.issues=[],this.addIssue=ee=>{this.issues=[...this.issues,ee]},this.addIssues=(ee=[])=>{this.issues=[...this.issues,...ee]};let en=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,en):this.__proto__=en,this.name="ZodError",this.issues=ee}get errors(){return this.issues}format(ee){let en=ee||function(ee){return ee.message},er={_errors:[]},processError=ee=>{for(let eo of ee.issues)if("invalid_union"===eo.code)eo.unionErrors.map(processError);else if("invalid_return_type"===eo.code)processError(eo.returnTypeError);else if("invalid_arguments"===eo.code)processError(eo.argumentsError);else if(0===eo.path.length)er._errors.push(en(eo));else{let ee=er,ei=0;for(;eiee.message){let en={},er=[];for(let eo of this.issues)eo.path.length>0?(en[eo.path[0]]=en[eo.path[0]]||[],en[eo.path[0]].push(ee(eo))):er.push(ee(eo));return{formErrors:er,fieldErrors:en}}get formErrors(){return this.flatten()}};ZodError.create=ee=>{let en=new ZodError(ee);return en};let errorMap=(ee,en)=>{let er;switch(ee.code){case eI.invalid_type:er=ee.received===ej.undefined?"Required":`Expected ${ee.expected}, received ${ee.received}`;break;case eI.invalid_literal:er=`Invalid literal value, expected ${JSON.stringify(ee.expected,eg.jsonStringifyReplacer)}`;break;case eI.unrecognized_keys:er=`Unrecognized key(s) in object: ${eg.joinValues(ee.keys,", ")}`;break;case eI.invalid_union:er="Invalid input";break;case eI.invalid_union_discriminator:er=`Invalid discriminator value. Expected ${eg.joinValues(ee.options)}`;break;case eI.invalid_enum_value:er=`Invalid enum value. Expected ${eg.joinValues(ee.options)}, received '${ee.received}'`;break;case eI.invalid_arguments:er="Invalid function arguments";break;case eI.invalid_return_type:er="Invalid function return type";break;case eI.invalid_date:er="Invalid date";break;case eI.invalid_string:"object"==typeof ee.validation?"includes"in ee.validation?(er=`Invalid input: must include "${ee.validation.includes}"`,"number"==typeof ee.validation.position&&(er=`${er} at one or more positions greater than or equal to ${ee.validation.position}`)):"startsWith"in ee.validation?er=`Invalid input: must start with "${ee.validation.startsWith}"`:"endsWith"in ee.validation?er=`Invalid input: must end with "${ee.validation.endsWith}"`:eg.assertNever(ee.validation):er="regex"!==ee.validation?`Invalid ${ee.validation}`:"Invalid";break;case eI.too_small:er="array"===ee.type?`Array must contain ${ee.exact?"exactly":ee.inclusive?"at least":"more than"} ${ee.minimum} element(s)`:"string"===ee.type?`String must contain ${ee.exact?"exactly":ee.inclusive?"at least":"over"} ${ee.minimum} character(s)`:"number"===ee.type?`Number must be ${ee.exact?"exactly equal to ":ee.inclusive?"greater than or equal to ":"greater than "}${ee.minimum}`:"date"===ee.type?`Date must be ${ee.exact?"exactly equal to ":ee.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(ee.minimum))}`:"Invalid input";break;case eI.too_big:er="array"===ee.type?`Array must contain ${ee.exact?"exactly":ee.inclusive?"at most":"less than"} ${ee.maximum} element(s)`:"string"===ee.type?`String must contain ${ee.exact?"exactly":ee.inclusive?"at most":"under"} ${ee.maximum} character(s)`:"number"===ee.type?`Number must be ${ee.exact?"exactly":ee.inclusive?"less than or equal to":"less than"} ${ee.maximum}`:"bigint"===ee.type?`BigInt must be ${ee.exact?"exactly":ee.inclusive?"less than or equal to":"less than"} ${ee.maximum}`:"date"===ee.type?`Date must be ${ee.exact?"exactly":ee.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(ee.maximum))}`:"Invalid input";break;case eI.custom:er="Invalid input";break;case eI.invalid_intersection_types:er="Intersection results could not be merged";break;case eI.not_multiple_of:er=`Number must be a multiple of ${ee.multipleOf}`;break;case eI.not_finite:er="Number must be finite";break;default:er=en.defaultError,eg.assertNever(ee)}return{message:er}},eP=errorMap;function setErrorMap(ee){eP=ee}function getErrorMap(){return eP}let makeIssue=ee=>{let{data:en,path:er,errorMaps:eo,issueData:ei}=ee,es=[...er,...ei.path||[]],eu={...ei,path:es},ec="",ed=eo.filter(ee=>!!ee).slice().reverse();for(let ee of ed)ec=ee(eu,{data:en,defaultError:ec}).message;return{...ei,path:es,message:ei.message||ec}},eN=[];function addIssueToContext(ee,en){let er=makeIssue({issueData:en,data:ee.data,path:ee.path,errorMaps:[ee.common.contextualErrorMap,ee.schemaErrorMap,getErrorMap(),errorMap].filter(ee=>!!ee)});ee.common.issues.push(er)}let ParseStatus=class ParseStatus{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(ee,en){let er=[];for(let eo of en){if("aborted"===eo.status)return eR;"dirty"===eo.status&&ee.dirty(),er.push(eo.value)}return{status:ee.value,value:er}}static async mergeObjectAsync(ee,en){let er=[];for(let ee of en)er.push({key:await ee.key,value:await ee.value});return ParseStatus.mergeObjectSync(ee,er)}static mergeObjectSync(ee,en){let er={};for(let eo of en){let{key:en,value:ei}=eo;if("aborted"===en.status||"aborted"===ei.status)return eR;"dirty"===en.status&&ee.dirty(),"dirty"===ei.status&&ee.dirty(),"__proto__"!==en.value&&(void 0!==ei.value||eo.alwaysSet)&&(er[en.value]=ei.value)}return{status:ee.value,value:er}}};let eR=Object.freeze({status:"aborted"}),DIRTY=ee=>({status:"dirty",value:ee}),OK=ee=>({status:"valid",value:ee}),isAborted=ee=>"aborted"===ee.status,isDirty=ee=>"dirty"===ee.status,isValid=ee=>"valid"===ee.status,isAsync=ee=>"undefined"!=typeof Promise&&ee instanceof Promise;!function(ee){ee.errToObj=ee=>"string"==typeof ee?{message:ee}:ee||{},ee.toString=ee=>"string"==typeof ee?ee:null==ee?void 0:ee.message}(ey||(ey={}));let ParseInputLazyPath=class ParseInputLazyPath{constructor(ee,en,er,eo){this._cachedPath=[],this.parent=ee,this.data=en,this._path=er,this._key=eo}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}};let handleResult=(ee,en)=>{if(isValid(en))return{success:!0,data:en.value};if(!ee.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let en=new ZodError(ee.common.issues);return this._error=en,this._error}}};function processCreateParams(ee){if(!ee)return{};let{errorMap:en,invalid_type_error:er,required_error:eo,description:ei}=ee;if(en&&(er||eo))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(en)return{errorMap:en,description:ei};let customMap=(ee,en)=>"invalid_type"!==ee.code?{message:en.defaultError}:void 0===en.data?{message:null!=eo?eo:en.defaultError}:{message:null!=er?er:en.defaultError};return{errorMap:customMap,description:ei}}let ZodType=class ZodType{constructor(ee){this.spa=this.safeParseAsync,this._def=ee,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(ee){return getParsedType(ee.data)}_getOrReturnCtx(ee,en){return en||{common:ee.parent.common,data:ee.data,parsedType:getParsedType(ee.data),schemaErrorMap:this._def.errorMap,path:ee.path,parent:ee.parent}}_processInputParams(ee){return{status:new ParseStatus,ctx:{common:ee.parent.common,data:ee.data,parsedType:getParsedType(ee.data),schemaErrorMap:this._def.errorMap,path:ee.path,parent:ee.parent}}}_parseSync(ee){let en=this._parse(ee);if(isAsync(en))throw Error("Synchronous parse encountered promise.");return en}_parseAsync(ee){let en=this._parse(ee);return Promise.resolve(en)}parse(ee,en){let er=this.safeParse(ee,en);if(er.success)return er.data;throw er.error}safeParse(ee,en){var er;let eo={common:{issues:[],async:null!==(er=null==en?void 0:en.async)&&void 0!==er&&er,contextualErrorMap:null==en?void 0:en.errorMap},path:(null==en?void 0:en.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:ee,parsedType:getParsedType(ee)},ei=this._parseSync({data:ee,path:eo.path,parent:eo});return handleResult(eo,ei)}async parseAsync(ee,en){let er=await this.safeParseAsync(ee,en);if(er.success)return er.data;throw er.error}async safeParseAsync(ee,en){let er={common:{issues:[],contextualErrorMap:null==en?void 0:en.errorMap,async:!0},path:(null==en?void 0:en.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:ee,parsedType:getParsedType(ee)},eo=this._parse({data:ee,path:er.path,parent:er}),ei=await (isAsync(eo)?eo:Promise.resolve(eo));return handleResult(er,ei)}refine(ee,en){let getIssueProperties=ee=>"string"==typeof en||void 0===en?{message:en}:"function"==typeof en?en(ee):en;return this._refinement((en,er)=>{let eo=ee(en),setError=()=>er.addIssue({code:eI.custom,...getIssueProperties(en)});return"undefined"!=typeof Promise&&eo instanceof Promise?eo.then(ee=>!!ee||(setError(),!1)):!!eo||(setError(),!1)})}refinement(ee,en){return this._refinement((er,eo)=>!!ee(er)||(eo.addIssue("function"==typeof en?en(er,eo):en),!1))}_refinement(ee){return new ZodEffects({schema:this,typeName:eb.ZodEffects,effect:{type:"refinement",refinement:ee}})}superRefine(ee){return this._refinement(ee)}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this,this._def)}promise(){return ZodPromise.create(this,this._def)}or(ee){return ZodUnion.create([this,ee],this._def)}and(ee){return ZodIntersection.create(this,ee,this._def)}transform(ee){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:eb.ZodEffects,effect:{type:"transform",transform:ee}})}default(ee){let en="function"==typeof ee?ee:()=>ee;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:en,typeName:eb.ZodDefault})}brand(){return new ZodBranded({typeName:eb.ZodBranded,type:this,...processCreateParams(this._def)})}catch(ee){let en="function"==typeof ee?ee:()=>ee;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:en,typeName:eb.ZodCatch})}describe(ee){let en=this.constructor;return new en({...this._def,description:ee})}pipe(ee){return ZodPipeline.create(this,ee)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};let eZ=/^c[^\s-]{8,}$/i,eM=/^[a-z][a-z0-9]*$/,eA=/^[0-9A-HJKMNP-TV-Z]{26}$/,eL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,eD=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,eF="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ez=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,eV=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,datetimeRegex=ee=>ee.precision?ee.offset?RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${ee.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${ee.precision}}Z$`):0===ee.precision?ee.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):ee.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function isValidIP(ee,en){return!!(("v4"===en||!en)&&ez.test(ee)||("v6"===en||!en)&&eV.test(ee))}let ZodString=class ZodString extends ZodType{_parse(ee){let en;this._def.coerce&&(ee.data=String(ee.data));let er=this._getType(ee);if(er!==ej.string){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.string,received:en.parsedType}),eR}let ei=new ParseStatus;for(let er of this._def.checks)if("min"===er.kind)ee.data.lengther.value&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,maximum:er.value,type:"string",inclusive:!0,exact:!1,message:er.message}),ei.dirty());else if("length"===er.kind){let eo=ee.data.length>er.value,es=ee.data.lengthee.test(en),{validation:en,code:eI.invalid_string,...ey.errToObj(er)})}_addCheck(ee){return new ZodString({...this._def,checks:[...this._def.checks,ee]})}email(ee){return this._addCheck({kind:"email",...ey.errToObj(ee)})}url(ee){return this._addCheck({kind:"url",...ey.errToObj(ee)})}emoji(ee){return this._addCheck({kind:"emoji",...ey.errToObj(ee)})}uuid(ee){return this._addCheck({kind:"uuid",...ey.errToObj(ee)})}cuid(ee){return this._addCheck({kind:"cuid",...ey.errToObj(ee)})}cuid2(ee){return this._addCheck({kind:"cuid2",...ey.errToObj(ee)})}ulid(ee){return this._addCheck({kind:"ulid",...ey.errToObj(ee)})}ip(ee){return this._addCheck({kind:"ip",...ey.errToObj(ee)})}datetime(ee){var en;return"string"==typeof ee?this._addCheck({kind:"datetime",precision:null,offset:!1,message:ee}):this._addCheck({kind:"datetime",precision:void 0===(null==ee?void 0:ee.precision)?null:null==ee?void 0:ee.precision,offset:null!==(en=null==ee?void 0:ee.offset)&&void 0!==en&&en,...ey.errToObj(null==ee?void 0:ee.message)})}regex(ee,en){return this._addCheck({kind:"regex",regex:ee,...ey.errToObj(en)})}includes(ee,en){return this._addCheck({kind:"includes",value:ee,position:null==en?void 0:en.position,...ey.errToObj(null==en?void 0:en.message)})}startsWith(ee,en){return this._addCheck({kind:"startsWith",value:ee,...ey.errToObj(en)})}endsWith(ee,en){return this._addCheck({kind:"endsWith",value:ee,...ey.errToObj(en)})}min(ee,en){return this._addCheck({kind:"min",value:ee,...ey.errToObj(en)})}max(ee,en){return this._addCheck({kind:"max",value:ee,...ey.errToObj(en)})}length(ee,en){return this._addCheck({kind:"length",value:ee,...ey.errToObj(en)})}nonempty(ee){return this.min(1,ey.errToObj(ee))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(ee=>"datetime"===ee.kind)}get isEmail(){return!!this._def.checks.find(ee=>"email"===ee.kind)}get isURL(){return!!this._def.checks.find(ee=>"url"===ee.kind)}get isEmoji(){return!!this._def.checks.find(ee=>"emoji"===ee.kind)}get isUUID(){return!!this._def.checks.find(ee=>"uuid"===ee.kind)}get isCUID(){return!!this._def.checks.find(ee=>"cuid"===ee.kind)}get isCUID2(){return!!this._def.checks.find(ee=>"cuid2"===ee.kind)}get isULID(){return!!this._def.checks.find(ee=>"ulid"===ee.kind)}get isIP(){return!!this._def.checks.find(ee=>"ip"===ee.kind)}get minLength(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return ee}get maxLength(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.valueeo?er:eo,es=parseInt(ee.toFixed(ei).replace(".","")),eu=parseInt(en.toFixed(ei).replace(".",""));return es%eu/Math.pow(10,ei)}ZodString.create=ee=>{var en;return new ZodString({checks:[],typeName:eb.ZodString,coerce:null!==(en=null==ee?void 0:ee.coerce)&&void 0!==en&&en,...processCreateParams(ee)})};let ZodNumber=class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(ee){let en;this._def.coerce&&(ee.data=Number(ee.data));let er=this._getType(ee);if(er!==ej.number){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.number,received:en.parsedType}),eR}let eo=new ParseStatus;for(let er of this._def.checks)if("int"===er.kind)eg.isInteger(ee.data)||(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.invalid_type,expected:"integer",received:"float",message:er.message}),eo.dirty());else if("min"===er.kind){let ei=er.inclusive?ee.dataer.value:ee.data>=er.value;ei&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,maximum:er.value,type:"number",inclusive:er.inclusive,exact:!1,message:er.message}),eo.dirty())}else"multipleOf"===er.kind?0!==floatSafeRemainder(ee.data,er.value)&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.not_multiple_of,multipleOf:er.value,message:er.message}),eo.dirty()):"finite"===er.kind?Number.isFinite(ee.data)||(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.not_finite,message:er.message}),eo.dirty()):eg.assertNever(er);return{status:eo.value,value:ee.data}}gte(ee,en){return this.setLimit("min",ee,!0,ey.toString(en))}gt(ee,en){return this.setLimit("min",ee,!1,ey.toString(en))}lte(ee,en){return this.setLimit("max",ee,!0,ey.toString(en))}lt(ee,en){return this.setLimit("max",ee,!1,ey.toString(en))}setLimit(ee,en,er,eo){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:ee,value:en,inclusive:er,message:ey.toString(eo)}]})}_addCheck(ee){return new ZodNumber({...this._def,checks:[...this._def.checks,ee]})}int(ee){return this._addCheck({kind:"int",message:ey.toString(ee)})}positive(ee){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ey.toString(ee)})}negative(ee){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ey.toString(ee)})}nonpositive(ee){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ey.toString(ee)})}nonnegative(ee){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ey.toString(ee)})}multipleOf(ee,en){return this._addCheck({kind:"multipleOf",value:ee,message:ey.toString(en)})}finite(ee){return this._addCheck({kind:"finite",message:ey.toString(ee)})}safe(ee){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ey.toString(ee)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ey.toString(ee)})}get minValue(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return ee}get maxValue(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.value"int"===ee.kind||"multipleOf"===ee.kind&&eg.isInteger(ee.value))}get isFinite(){let ee=null,en=null;for(let er of this._def.checks){if("finite"===er.kind||"int"===er.kind||"multipleOf"===er.kind)return!0;"min"===er.kind?(null===en||er.value>en)&&(en=er.value):"max"===er.kind&&(null===ee||er.valuenew ZodNumber({checks:[],typeName:eb.ZodNumber,coerce:(null==ee?void 0:ee.coerce)||!1,...processCreateParams(ee)});let ZodBigInt=class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(ee){let en;this._def.coerce&&(ee.data=BigInt(ee.data));let er=this._getType(ee);if(er!==ej.bigint){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.bigint,received:en.parsedType}),eR}let eo=new ParseStatus;for(let er of this._def.checks)if("min"===er.kind){let ei=er.inclusive?ee.dataer.value:ee.data>=er.value;ei&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,type:"bigint",maximum:er.value,inclusive:er.inclusive,message:er.message}),eo.dirty())}else"multipleOf"===er.kind?ee.data%er.value!==BigInt(0)&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.not_multiple_of,multipleOf:er.value,message:er.message}),eo.dirty()):eg.assertNever(er);return{status:eo.value,value:ee.data}}gte(ee,en){return this.setLimit("min",ee,!0,ey.toString(en))}gt(ee,en){return this.setLimit("min",ee,!1,ey.toString(en))}lte(ee,en){return this.setLimit("max",ee,!0,ey.toString(en))}lt(ee,en){return this.setLimit("max",ee,!1,ey.toString(en))}setLimit(ee,en,er,eo){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:ee,value:en,inclusive:er,message:ey.toString(eo)}]})}_addCheck(ee){return new ZodBigInt({...this._def,checks:[...this._def.checks,ee]})}positive(ee){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ey.toString(ee)})}negative(ee){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ey.toString(ee)})}nonpositive(ee){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ey.toString(ee)})}nonnegative(ee){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ey.toString(ee)})}multipleOf(ee,en){return this._addCheck({kind:"multipleOf",value:ee,message:ey.toString(en)})}get minValue(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return ee}get maxValue(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.value{var en;return new ZodBigInt({checks:[],typeName:eb.ZodBigInt,coerce:null!==(en=null==ee?void 0:ee.coerce)&&void 0!==en&&en,...processCreateParams(ee)})};let ZodBoolean=class ZodBoolean extends ZodType{_parse(ee){this._def.coerce&&(ee.data=!!ee.data);let en=this._getType(ee);if(en!==ej.boolean){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.boolean,received:en.parsedType}),eR}return OK(ee.data)}};ZodBoolean.create=ee=>new ZodBoolean({typeName:eb.ZodBoolean,coerce:(null==ee?void 0:ee.coerce)||!1,...processCreateParams(ee)});let ZodDate=class ZodDate extends ZodType{_parse(ee){let en;this._def.coerce&&(ee.data=new Date(ee.data));let er=this._getType(ee);if(er!==ej.date){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.date,received:en.parsedType}),eR}if(isNaN(ee.data.getTime())){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_date}),eR}let eo=new ParseStatus;for(let er of this._def.checks)"min"===er.kind?ee.data.getTime()er.value&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,message:er.message,inclusive:!0,exact:!1,maximum:er.value,type:"date"}),eo.dirty()):eg.assertNever(er);return{status:eo.value,value:new Date(ee.data.getTime())}}_addCheck(ee){return new ZodDate({...this._def,checks:[...this._def.checks,ee]})}min(ee,en){return this._addCheck({kind:"min",value:ee.getTime(),message:ey.toString(en)})}max(ee,en){return this._addCheck({kind:"max",value:ee.getTime(),message:ey.toString(en)})}get minDate(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return null!=ee?new Date(ee):null}get maxDate(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.valuenew ZodDate({checks:[],coerce:(null==ee?void 0:ee.coerce)||!1,typeName:eb.ZodDate,...processCreateParams(ee)});let ZodSymbol=class ZodSymbol extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.symbol){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.symbol,received:en.parsedType}),eR}return OK(ee.data)}};ZodSymbol.create=ee=>new ZodSymbol({typeName:eb.ZodSymbol,...processCreateParams(ee)});let ZodUndefined=class ZodUndefined extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.undefined){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.undefined,received:en.parsedType}),eR}return OK(ee.data)}};ZodUndefined.create=ee=>new ZodUndefined({typeName:eb.ZodUndefined,...processCreateParams(ee)});let ZodNull=class ZodNull extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.null){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.null,received:en.parsedType}),eR}return OK(ee.data)}};ZodNull.create=ee=>new ZodNull({typeName:eb.ZodNull,...processCreateParams(ee)});let ZodAny=class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(ee){return OK(ee.data)}};ZodAny.create=ee=>new ZodAny({typeName:eb.ZodAny,...processCreateParams(ee)});let ZodUnknown=class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(ee){return OK(ee.data)}};ZodUnknown.create=ee=>new ZodUnknown({typeName:eb.ZodUnknown,...processCreateParams(ee)});let ZodNever=class ZodNever extends ZodType{_parse(ee){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.never,received:en.parsedType}),eR}};ZodNever.create=ee=>new ZodNever({typeName:eb.ZodNever,...processCreateParams(ee)});let ZodVoid=class ZodVoid extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.undefined){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.void,received:en.parsedType}),eR}return OK(ee.data)}};ZodVoid.create=ee=>new ZodVoid({typeName:eb.ZodVoid,...processCreateParams(ee)});let ZodArray=class ZodArray extends ZodType{_parse(ee){let{ctx:en,status:er}=this._processInputParams(ee),eo=this._def;if(en.parsedType!==ej.array)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.array,received:en.parsedType}),eR;if(null!==eo.exactLength){let ee=en.data.length>eo.exactLength.value,ei=en.data.lengtheo.maxLength.value&&(addIssueToContext(en,{code:eI.too_big,maximum:eo.maxLength.value,type:"array",inclusive:!0,exact:!1,message:eo.maxLength.message}),er.dirty()),en.common.async)return Promise.all([...en.data].map((ee,er)=>eo.type._parseAsync(new ParseInputLazyPath(en,ee,en.path,er)))).then(ee=>ParseStatus.mergeArray(er,ee));let ei=[...en.data].map((ee,er)=>eo.type._parseSync(new ParseInputLazyPath(en,ee,en.path,er)));return ParseStatus.mergeArray(er,ei)}get element(){return this._def.type}min(ee,en){return new ZodArray({...this._def,minLength:{value:ee,message:ey.toString(en)}})}max(ee,en){return new ZodArray({...this._def,maxLength:{value:ee,message:ey.toString(en)}})}length(ee,en){return new ZodArray({...this._def,exactLength:{value:ee,message:ey.toString(en)}})}nonempty(ee){return this.min(1,ee)}};function deepPartialify(ee){if(ee instanceof ZodObject){let en={};for(let er in ee.shape){let eo=ee.shape[er];en[er]=ZodOptional.create(deepPartialify(eo))}return new ZodObject({...ee._def,shape:()=>en})}return ee instanceof ZodArray?new ZodArray({...ee._def,type:deepPartialify(ee.element)}):ee instanceof ZodOptional?ZodOptional.create(deepPartialify(ee.unwrap())):ee instanceof ZodNullable?ZodNullable.create(deepPartialify(ee.unwrap())):ee instanceof ZodTuple?ZodTuple.create(ee.items.map(ee=>deepPartialify(ee))):ee}ZodArray.create=(ee,en)=>new ZodArray({type:ee,minLength:null,maxLength:null,exactLength:null,typeName:eb.ZodArray,...processCreateParams(en)});let ZodObject=class ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let ee=this._def.shape(),en=eg.objectKeys(ee);return this._cached={shape:ee,keys:en}}_parse(ee){let en=this._getType(ee);if(en!==ej.object){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.object,received:en.parsedType}),eR}let{status:er,ctx:eo}=this._processInputParams(ee),{shape:ei,keys:es}=this._getCached(),eu=[];if(!(this._def.catchall instanceof ZodNever&&"strip"===this._def.unknownKeys))for(let ee in eo.data)es.includes(ee)||eu.push(ee);let ec=[];for(let ee of es){let en=ei[ee],er=eo.data[ee];ec.push({key:{status:"valid",value:ee},value:en._parse(new ParseInputLazyPath(eo,er,eo.path,ee)),alwaysSet:ee in eo.data})}if(this._def.catchall instanceof ZodNever){let ee=this._def.unknownKeys;if("passthrough"===ee)for(let ee of eu)ec.push({key:{status:"valid",value:ee},value:{status:"valid",value:eo.data[ee]}});else if("strict"===ee)eu.length>0&&(addIssueToContext(eo,{code:eI.unrecognized_keys,keys:eu}),er.dirty());else if("strip"===ee);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let ee=this._def.catchall;for(let en of eu){let er=eo.data[en];ec.push({key:{status:"valid",value:en},value:ee._parse(new ParseInputLazyPath(eo,er,eo.path,en)),alwaysSet:en in eo.data})}}return eo.common.async?Promise.resolve().then(async()=>{let ee=[];for(let en of ec){let er=await en.key;ee.push({key:er,value:await en.value,alwaysSet:en.alwaysSet})}return ee}).then(ee=>ParseStatus.mergeObjectSync(er,ee)):ParseStatus.mergeObjectSync(er,ec)}get shape(){return this._def.shape()}strict(ee){return ey.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...void 0!==ee?{errorMap:(en,er)=>{var eo,ei,es,eu;let ec=null!==(es=null===(ei=(eo=this._def).errorMap)||void 0===ei?void 0:ei.call(eo,en,er).message)&&void 0!==es?es:er.defaultError;return"unrecognized_keys"===en.code?{message:null!==(eu=ey.errToObj(ee).message)&&void 0!==eu?eu:ec}:{message:ec}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(ee){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...ee})})}merge(ee){let en=new ZodObject({unknownKeys:ee._def.unknownKeys,catchall:ee._def.catchall,shape:()=>({...this._def.shape(),...ee._def.shape()}),typeName:eb.ZodObject});return en}setKey(ee,en){return this.augment({[ee]:en})}catchall(ee){return new ZodObject({...this._def,catchall:ee})}pick(ee){let en={};return eg.objectKeys(ee).forEach(er=>{ee[er]&&this.shape[er]&&(en[er]=this.shape[er])}),new ZodObject({...this._def,shape:()=>en})}omit(ee){let en={};return eg.objectKeys(this.shape).forEach(er=>{ee[er]||(en[er]=this.shape[er])}),new ZodObject({...this._def,shape:()=>en})}deepPartial(){return deepPartialify(this)}partial(ee){let en={};return eg.objectKeys(this.shape).forEach(er=>{let eo=this.shape[er];ee&&!ee[er]?en[er]=eo:en[er]=eo.optional()}),new ZodObject({...this._def,shape:()=>en})}required(ee){let en={};return eg.objectKeys(this.shape).forEach(er=>{if(ee&&!ee[er])en[er]=this.shape[er];else{let ee=this.shape[er],eo=ee;for(;eo instanceof ZodOptional;)eo=eo._def.innerType;en[er]=eo}}),new ZodObject({...this._def,shape:()=>en})}keyof(){return createZodEnum(eg.objectKeys(this.shape))}};ZodObject.create=(ee,en)=>new ZodObject({shape:()=>ee,unknownKeys:"strip",catchall:ZodNever.create(),typeName:eb.ZodObject,...processCreateParams(en)}),ZodObject.strictCreate=(ee,en)=>new ZodObject({shape:()=>ee,unknownKeys:"strict",catchall:ZodNever.create(),typeName:eb.ZodObject,...processCreateParams(en)}),ZodObject.lazycreate=(ee,en)=>new ZodObject({shape:ee,unknownKeys:"strip",catchall:ZodNever.create(),typeName:eb.ZodObject,...processCreateParams(en)});let ZodUnion=class ZodUnion extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er=this._def.options;function handleResults(ee){for(let en of ee)if("valid"===en.result.status)return en.result;for(let er of ee)if("dirty"===er.result.status)return en.common.issues.push(...er.ctx.common.issues),er.result;let er=ee.map(ee=>new ZodError(ee.ctx.common.issues));return addIssueToContext(en,{code:eI.invalid_union,unionErrors:er}),eR}if(en.common.async)return Promise.all(er.map(async ee=>{let er={...en,common:{...en.common,issues:[]},parent:null};return{result:await ee._parseAsync({data:en.data,path:en.path,parent:er}),ctx:er}})).then(handleResults);{let ee;let eo=[];for(let ei of er){let er={...en,common:{...en.common,issues:[]},parent:null},es=ei._parseSync({data:en.data,path:en.path,parent:er});if("valid"===es.status)return es;"dirty"!==es.status||ee||(ee={result:es,ctx:er}),er.common.issues.length&&eo.push(er.common.issues)}if(ee)return en.common.issues.push(...ee.ctx.common.issues),ee.result;let ei=eo.map(ee=>new ZodError(ee));return addIssueToContext(en,{code:eI.invalid_union,unionErrors:ei}),eR}}get options(){return this._def.options}};ZodUnion.create=(ee,en)=>new ZodUnion({options:ee,typeName:eb.ZodUnion,...processCreateParams(en)});let getDiscriminator=ee=>{if(ee instanceof ZodLazy)return getDiscriminator(ee.schema);if(ee instanceof ZodEffects)return getDiscriminator(ee.innerType());if(ee instanceof ZodLiteral)return[ee.value];if(ee instanceof ZodEnum)return ee.options;if(ee instanceof ZodNativeEnum)return Object.keys(ee.enum);if(ee instanceof ZodDefault)return getDiscriminator(ee._def.innerType);if(ee instanceof ZodUndefined)return[void 0];else if(ee instanceof ZodNull)return[null];else return null};let ZodDiscriminatedUnion=class ZodDiscriminatedUnion extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee);if(en.parsedType!==ej.object)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.object,received:en.parsedType}),eR;let er=this.discriminator,eo=en.data[er],ei=this.optionsMap.get(eo);return ei?en.common.async?ei._parseAsync({data:en.data,path:en.path,parent:en}):ei._parseSync({data:en.data,path:en.path,parent:en}):(addIssueToContext(en,{code:eI.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[er]}),eR)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(ee,en,er){let eo=new Map;for(let er of en){let en=getDiscriminator(er.shape[ee]);if(!en)throw Error(`A discriminator value for key \`${ee}\` could not be extracted from all schema options`);for(let ei of en){if(eo.has(ei))throw Error(`Discriminator property ${String(ee)} has duplicate value ${String(ei)}`);eo.set(ei,er)}}return new ZodDiscriminatedUnion({typeName:eb.ZodDiscriminatedUnion,discriminator:ee,options:en,optionsMap:eo,...processCreateParams(er)})}};function mergeValues(ee,en){let er=getParsedType(ee),eo=getParsedType(en);if(ee===en)return{valid:!0,data:ee};if(er===ej.object&&eo===ej.object){let er=eg.objectKeys(en),eo=eg.objectKeys(ee).filter(ee=>-1!==er.indexOf(ee)),ei={...ee,...en};for(let er of eo){let eo=mergeValues(ee[er],en[er]);if(!eo.valid)return{valid:!1};ei[er]=eo.data}return{valid:!0,data:ei}}if(er===ej.array&&eo===ej.array){if(ee.length!==en.length)return{valid:!1};let er=[];for(let eo=0;eo{if(isAborted(ee)||isAborted(eo))return eR;let ei=mergeValues(ee.value,eo.value);return ei.valid?((isDirty(ee)||isDirty(eo))&&en.dirty(),{status:en.value,value:ei.data}):(addIssueToContext(er,{code:eI.invalid_intersection_types}),eR)};return er.common.async?Promise.all([this._def.left._parseAsync({data:er.data,path:er.path,parent:er}),this._def.right._parseAsync({data:er.data,path:er.path,parent:er})]).then(([ee,en])=>handleParsed(ee,en)):handleParsed(this._def.left._parseSync({data:er.data,path:er.path,parent:er}),this._def.right._parseSync({data:er.data,path:er.path,parent:er}))}};ZodIntersection.create=(ee,en,er)=>new ZodIntersection({left:ee,right:en,typeName:eb.ZodIntersection,...processCreateParams(er)});let ZodTuple=class ZodTuple extends ZodType{_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.array)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.array,received:er.parsedType}),eR;if(er.data.lengththis._def.items.length&&(addIssueToContext(er,{code:eI.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),en.dirty());let ei=[...er.data].map((ee,en)=>{let eo=this._def.items[en]||this._def.rest;return eo?eo._parse(new ParseInputLazyPath(er,ee,er.path,en)):null}).filter(ee=>!!ee);return er.common.async?Promise.all(ei).then(ee=>ParseStatus.mergeArray(en,ee)):ParseStatus.mergeArray(en,ei)}get items(){return this._def.items}rest(ee){return new ZodTuple({...this._def,rest:ee})}};ZodTuple.create=(ee,en)=>{if(!Array.isArray(ee))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:ee,typeName:eb.ZodTuple,rest:null,...processCreateParams(en)})};let ZodRecord=class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.object)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.object,received:er.parsedType}),eR;let eo=[],ei=this._def.keyType,es=this._def.valueType;for(let ee in er.data)eo.push({key:ei._parse(new ParseInputLazyPath(er,ee,er.path,ee)),value:es._parse(new ParseInputLazyPath(er,er.data[ee],er.path,ee))});return er.common.async?ParseStatus.mergeObjectAsync(en,eo):ParseStatus.mergeObjectSync(en,eo)}get element(){return this._def.valueType}static create(ee,en,er){return new ZodRecord(en instanceof ZodType?{keyType:ee,valueType:en,typeName:eb.ZodRecord,...processCreateParams(er)}:{keyType:ZodString.create(),valueType:ee,typeName:eb.ZodRecord,...processCreateParams(en)})}};let ZodMap=class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.map)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.map,received:er.parsedType}),eR;let eo=this._def.keyType,ei=this._def.valueType,es=[...er.data.entries()].map(([ee,en],es)=>({key:eo._parse(new ParseInputLazyPath(er,ee,er.path,[es,"key"])),value:ei._parse(new ParseInputLazyPath(er,en,er.path,[es,"value"]))}));if(er.common.async){let ee=new Map;return Promise.resolve().then(async()=>{for(let er of es){let eo=await er.key,ei=await er.value;if("aborted"===eo.status||"aborted"===ei.status)return eR;("dirty"===eo.status||"dirty"===ei.status)&&en.dirty(),ee.set(eo.value,ei.value)}return{status:en.value,value:ee}})}{let ee=new Map;for(let er of es){let eo=er.key,ei=er.value;if("aborted"===eo.status||"aborted"===ei.status)return eR;("dirty"===eo.status||"dirty"===ei.status)&&en.dirty(),ee.set(eo.value,ei.value)}return{status:en.value,value:ee}}}};ZodMap.create=(ee,en,er)=>new ZodMap({valueType:en,keyType:ee,typeName:eb.ZodMap,...processCreateParams(er)});let ZodSet=class ZodSet extends ZodType{_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.set)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.set,received:er.parsedType}),eR;let eo=this._def;null!==eo.minSize&&er.data.sizeeo.maxSize.value&&(addIssueToContext(er,{code:eI.too_big,maximum:eo.maxSize.value,type:"set",inclusive:!0,exact:!1,message:eo.maxSize.message}),en.dirty());let ei=this._def.valueType;function finalizeSet(ee){let er=new Set;for(let eo of ee){if("aborted"===eo.status)return eR;"dirty"===eo.status&&en.dirty(),er.add(eo.value)}return{status:en.value,value:er}}let es=[...er.data.values()].map((ee,en)=>ei._parse(new ParseInputLazyPath(er,ee,er.path,en)));return er.common.async?Promise.all(es).then(ee=>finalizeSet(ee)):finalizeSet(es)}min(ee,en){return new ZodSet({...this._def,minSize:{value:ee,message:ey.toString(en)}})}max(ee,en){return new ZodSet({...this._def,maxSize:{value:ee,message:ey.toString(en)}})}size(ee,en){return this.min(ee,en).max(ee,en)}nonempty(ee){return this.min(1,ee)}};ZodSet.create=(ee,en)=>new ZodSet({valueType:ee,minSize:null,maxSize:null,typeName:eb.ZodSet,...processCreateParams(en)});let ZodFunction=class ZodFunction extends ZodType{constructor(){super(...arguments),this.validate=this.implement}_parse(ee){let{ctx:en}=this._processInputParams(ee);if(en.parsedType!==ej.function)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.function,received:en.parsedType}),eR;function makeArgsIssue(ee,er){return makeIssue({data:ee,path:en.path,errorMaps:[en.common.contextualErrorMap,en.schemaErrorMap,getErrorMap(),errorMap].filter(ee=>!!ee),issueData:{code:eI.invalid_arguments,argumentsError:er}})}function makeReturnsIssue(ee,er){return makeIssue({data:ee,path:en.path,errorMaps:[en.common.contextualErrorMap,en.schemaErrorMap,getErrorMap(),errorMap].filter(ee=>!!ee),issueData:{code:eI.invalid_return_type,returnTypeError:er}})}let er={errorMap:en.common.contextualErrorMap},eo=en.data;if(this._def.returns instanceof ZodPromise){let ee=this;return OK(async function(...en){let ei=new ZodError([]),es=await ee._def.args.parseAsync(en,er).catch(ee=>{throw ei.addIssue(makeArgsIssue(en,ee)),ei}),eu=await Reflect.apply(eo,this,es),ec=await ee._def.returns._def.type.parseAsync(eu,er).catch(ee=>{throw ei.addIssue(makeReturnsIssue(eu,ee)),ei});return ec})}{let ee=this;return OK(function(...en){let ei=ee._def.args.safeParse(en,er);if(!ei.success)throw new ZodError([makeArgsIssue(en,ei.error)]);let es=Reflect.apply(eo,this,ei.data),eu=ee._def.returns.safeParse(es,er);if(!eu.success)throw new ZodError([makeReturnsIssue(es,eu.error)]);return eu.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...ee){return new ZodFunction({...this._def,args:ZodTuple.create(ee).rest(ZodUnknown.create())})}returns(ee){return new ZodFunction({...this._def,returns:ee})}implement(ee){let en=this.parse(ee);return en}strictImplement(ee){let en=this.parse(ee);return en}static create(ee,en,er){return new ZodFunction({args:ee||ZodTuple.create([]).rest(ZodUnknown.create()),returns:en||ZodUnknown.create(),typeName:eb.ZodFunction,...processCreateParams(er)})}};let ZodLazy=class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(ee){let{ctx:en}=this._processInputParams(ee),er=this._def.getter();return er._parse({data:en.data,path:en.path,parent:en})}};ZodLazy.create=(ee,en)=>new ZodLazy({getter:ee,typeName:eb.ZodLazy,...processCreateParams(en)});let ZodLiteral=class ZodLiteral extends ZodType{_parse(ee){if(ee.data!==this._def.value){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{received:en.data,code:eI.invalid_literal,expected:this._def.value}),eR}return{status:"valid",value:ee.data}}get value(){return this._def.value}};function createZodEnum(ee,en){return new ZodEnum({values:ee,typeName:eb.ZodEnum,...processCreateParams(en)})}ZodLiteral.create=(ee,en)=>new ZodLiteral({value:ee,typeName:eb.ZodLiteral,...processCreateParams(en)});let ZodEnum=class ZodEnum extends ZodType{_parse(ee){if("string"!=typeof ee.data){let en=this._getOrReturnCtx(ee),er=this._def.values;return addIssueToContext(en,{expected:eg.joinValues(er),received:en.parsedType,code:eI.invalid_type}),eR}if(-1===this._def.values.indexOf(ee.data)){let en=this._getOrReturnCtx(ee),er=this._def.values;return addIssueToContext(en,{received:en.data,code:eI.invalid_enum_value,options:er}),eR}return OK(ee.data)}get options(){return this._def.values}get enum(){let ee={};for(let en of this._def.values)ee[en]=en;return ee}get Values(){let ee={};for(let en of this._def.values)ee[en]=en;return ee}get Enum(){let ee={};for(let en of this._def.values)ee[en]=en;return ee}extract(ee){return ZodEnum.create(ee)}exclude(ee){return ZodEnum.create(this.options.filter(en=>!ee.includes(en)))}};ZodEnum.create=createZodEnum;let ZodNativeEnum=class ZodNativeEnum extends ZodType{_parse(ee){let en=eg.getValidEnumValues(this._def.values),er=this._getOrReturnCtx(ee);if(er.parsedType!==ej.string&&er.parsedType!==ej.number){let ee=eg.objectValues(en);return addIssueToContext(er,{expected:eg.joinValues(ee),received:er.parsedType,code:eI.invalid_type}),eR}if(-1===en.indexOf(ee.data)){let ee=eg.objectValues(en);return addIssueToContext(er,{received:er.data,code:eI.invalid_enum_value,options:ee}),eR}return OK(ee.data)}get enum(){return this._def.values}};ZodNativeEnum.create=(ee,en)=>new ZodNativeEnum({values:ee,typeName:eb.ZodNativeEnum,...processCreateParams(en)});let ZodPromise=class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(ee){let{ctx:en}=this._processInputParams(ee);if(en.parsedType!==ej.promise&&!1===en.common.async)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.promise,received:en.parsedType}),eR;let er=en.parsedType===ej.promise?en.data:Promise.resolve(en.data);return OK(er.then(ee=>this._def.type.parseAsync(ee,{path:en.path,errorMap:en.common.contextualErrorMap})))}};ZodPromise.create=(ee,en)=>new ZodPromise({type:ee,typeName:eb.ZodPromise,...processCreateParams(en)});let ZodEffects=class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===eb.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee),eo=this._def.effect||null,ei={addIssue:ee=>{addIssueToContext(er,ee),ee.fatal?en.abort():en.dirty()},get path(){return er.path}};if(ei.addIssue=ei.addIssue.bind(ei),"preprocess"===eo.type){let ee=eo.transform(er.data,ei);return er.common.issues.length?{status:"dirty",value:er.data}:er.common.async?Promise.resolve(ee).then(ee=>this._def.schema._parseAsync({data:ee,path:er.path,parent:er})):this._def.schema._parseSync({data:ee,path:er.path,parent:er})}if("refinement"===eo.type){let executeRefinement=ee=>{let en=eo.refinement(ee,ei);if(er.common.async)return Promise.resolve(en);if(en instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return ee};if(!1!==er.common.async)return this._def.schema._parseAsync({data:er.data,path:er.path,parent:er}).then(ee=>"aborted"===ee.status?eR:("dirty"===ee.status&&en.dirty(),executeRefinement(ee.value).then(()=>({status:en.value,value:ee.value}))));{let ee=this._def.schema._parseSync({data:er.data,path:er.path,parent:er});return"aborted"===ee.status?eR:("dirty"===ee.status&&en.dirty(),executeRefinement(ee.value),{status:en.value,value:ee.value})}}if("transform"===eo.type){if(!1!==er.common.async)return this._def.schema._parseAsync({data:er.data,path:er.path,parent:er}).then(ee=>isValid(ee)?Promise.resolve(eo.transform(ee.value,ei)).then(ee=>({status:en.value,value:ee})):ee);{let ee=this._def.schema._parseSync({data:er.data,path:er.path,parent:er});if(!isValid(ee))return ee;let es=eo.transform(ee.value,ei);if(es instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:en.value,value:es}}}eg.assertNever(eo)}};ZodEffects.create=(ee,en,er)=>new ZodEffects({schema:ee,typeName:eb.ZodEffects,effect:en,...processCreateParams(er)}),ZodEffects.createWithPreprocess=(ee,en,er)=>new ZodEffects({schema:en,effect:{type:"preprocess",transform:ee},typeName:eb.ZodEffects,...processCreateParams(er)});let ZodOptional=class ZodOptional extends ZodType{_parse(ee){let en=this._getType(ee);return en===ej.undefined?OK(void 0):this._def.innerType._parse(ee)}unwrap(){return this._def.innerType}};ZodOptional.create=(ee,en)=>new ZodOptional({innerType:ee,typeName:eb.ZodOptional,...processCreateParams(en)});let ZodNullable=class ZodNullable extends ZodType{_parse(ee){let en=this._getType(ee);return en===ej.null?OK(null):this._def.innerType._parse(ee)}unwrap(){return this._def.innerType}};ZodNullable.create=(ee,en)=>new ZodNullable({innerType:ee,typeName:eb.ZodNullable,...processCreateParams(en)});let ZodDefault=class ZodDefault extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er=en.data;return en.parsedType===ej.undefined&&(er=this._def.defaultValue()),this._def.innerType._parse({data:er,path:en.path,parent:en})}removeDefault(){return this._def.innerType}};ZodDefault.create=(ee,en)=>new ZodDefault({innerType:ee,typeName:eb.ZodDefault,defaultValue:"function"==typeof en.default?en.default:()=>en.default,...processCreateParams(en)});let ZodCatch=class ZodCatch extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er={...en,common:{...en.common,issues:[]}},eo=this._def.innerType._parse({data:er.data,path:er.path,parent:{...er}});return isAsync(eo)?eo.then(ee=>({status:"valid",value:"valid"===ee.status?ee.value:this._def.catchValue({get error(){return new ZodError(er.common.issues)},input:er.data})})):{status:"valid",value:"valid"===eo.status?eo.value:this._def.catchValue({get error(){return new ZodError(er.common.issues)},input:er.data})}}removeCatch(){return this._def.innerType}};ZodCatch.create=(ee,en)=>new ZodCatch({innerType:ee,typeName:eb.ZodCatch,catchValue:"function"==typeof en.catch?en.catch:()=>en.catch,...processCreateParams(en)});let ZodNaN=class ZodNaN extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.nan){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.nan,received:en.parsedType}),eR}return{status:"valid",value:ee.data}}};ZodNaN.create=ee=>new ZodNaN({typeName:eb.ZodNaN,...processCreateParams(ee)});let eU=Symbol("zod_brand");let ZodBranded=class ZodBranded extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er=en.data;return this._def.type._parse({data:er,path:en.path,parent:en})}unwrap(){return this._def.type}};let ZodPipeline=class ZodPipeline extends ZodType{_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.common.async){let handleAsync=async()=>{let ee=await this._def.in._parseAsync({data:er.data,path:er.path,parent:er});return"aborted"===ee.status?eR:"dirty"===ee.status?(en.dirty(),DIRTY(ee.value)):this._def.out._parseAsync({data:ee.value,path:er.path,parent:er})};return handleAsync()}{let ee=this._def.in._parseSync({data:er.data,path:er.path,parent:er});return"aborted"===ee.status?eR:"dirty"===ee.status?(en.dirty(),{status:"dirty",value:ee.value}):this._def.out._parseSync({data:ee.value,path:er.path,parent:er})}}static create(ee,en){return new ZodPipeline({in:ee,out:en,typeName:eb.ZodPipeline})}};let ZodReadonly=class ZodReadonly extends ZodType{_parse(ee){let en=this._def.innerType._parse(ee);return isValid(en)&&(en.value=Object.freeze(en.value)),en}};ZodReadonly.create=(ee,en)=>new ZodReadonly({innerType:ee,typeName:eb.ZodReadonly,...processCreateParams(en)});let custom=(ee,en={},er)=>ee?ZodAny.create().superRefine((eo,ei)=>{var es,eu;if(!ee(eo)){let ee="function"==typeof en?en(eo):"string"==typeof en?{message:en}:en,ec=null===(eu=null!==(es=ee.fatal)&&void 0!==es?es:er)||void 0===eu||eu,ed="string"==typeof ee?{message:ee}:ee;ei.addIssue({code:"custom",...ed,fatal:ec})}}):ZodAny.create(),eH={object:ZodObject.lazycreate};!function(ee){ee.ZodString="ZodString",ee.ZodNumber="ZodNumber",ee.ZodNaN="ZodNaN",ee.ZodBigInt="ZodBigInt",ee.ZodBoolean="ZodBoolean",ee.ZodDate="ZodDate",ee.ZodSymbol="ZodSymbol",ee.ZodUndefined="ZodUndefined",ee.ZodNull="ZodNull",ee.ZodAny="ZodAny",ee.ZodUnknown="ZodUnknown",ee.ZodNever="ZodNever",ee.ZodVoid="ZodVoid",ee.ZodArray="ZodArray",ee.ZodObject="ZodObject",ee.ZodUnion="ZodUnion",ee.ZodDiscriminatedUnion="ZodDiscriminatedUnion",ee.ZodIntersection="ZodIntersection",ee.ZodTuple="ZodTuple",ee.ZodRecord="ZodRecord",ee.ZodMap="ZodMap",ee.ZodSet="ZodSet",ee.ZodFunction="ZodFunction",ee.ZodLazy="ZodLazy",ee.ZodLiteral="ZodLiteral",ee.ZodEnum="ZodEnum",ee.ZodEffects="ZodEffects",ee.ZodNativeEnum="ZodNativeEnum",ee.ZodOptional="ZodOptional",ee.ZodNullable="ZodNullable",ee.ZodDefault="ZodDefault",ee.ZodCatch="ZodCatch",ee.ZodPromise="ZodPromise",ee.ZodBranded="ZodBranded",ee.ZodPipeline="ZodPipeline",ee.ZodReadonly="ZodReadonly"}(eb||(eb={}));let instanceOfType=(ee,en={message:`Input not instance of ${ee.name}`})=>custom(en=>en instanceof ee,en),e$=ZodString.create,eB=ZodNumber.create,eW=ZodNaN.create,eG=ZodBigInt.create,eK=ZodBoolean.create,eY=ZodDate.create,eQ=ZodSymbol.create,eX=ZodUndefined.create,eJ=ZodNull.create,e0=ZodAny.create,e1=ZodUnknown.create,e2=ZodNever.create,e4=ZodVoid.create,e3=ZodArray.create,e5=ZodObject.create,e6=ZodObject.strictCreate,e7=ZodUnion.create,e9=ZodDiscriminatedUnion.create,e8=ZodIntersection.create,tn=ZodTuple.create,tr=ZodRecord.create,to=ZodMap.create,ti=ZodSet.create,ts=ZodFunction.create,tl=ZodLazy.create,tu=ZodLiteral.create,tc=ZodEnum.create,td=ZodNativeEnum.create,tp=ZodPromise.create,tf=ZodEffects.create,th=ZodOptional.create,tm=ZodNullable.create,tx=ZodEffects.createWithPreprocess,tg=ZodPipeline.create,ostring=()=>e$().optional(),onumber=()=>eB().optional(),oboolean=()=>eK().optional(),tv={string:ee=>ZodString.create({...ee,coerce:!0}),number:ee=>ZodNumber.create({...ee,coerce:!0}),boolean:ee=>ZodBoolean.create({...ee,coerce:!0}),bigint:ee=>ZodBigInt.create({...ee,coerce:!0}),date:ee=>ZodDate.create({...ee,coerce:!0})},ty=eR;var tb=Object.freeze({__proto__:null,defaultErrorMap:errorMap,setErrorMap:setErrorMap,getErrorMap:getErrorMap,makeIssue:makeIssue,EMPTY_PATH:eN,addIssueToContext:addIssueToContext,ParseStatus:ParseStatus,INVALID:eR,DIRTY:DIRTY,OK:OK,isAborted:isAborted,isDirty:isDirty,isValid:isValid,isAsync:isAsync,get util(){return eg},get objectUtil(){return ev},ZodParsedType:ej,getParsedType:getParsedType,ZodType:ZodType,ZodString:ZodString,ZodNumber:ZodNumber,ZodBigInt:ZodBigInt,ZodBoolean:ZodBoolean,ZodDate:ZodDate,ZodSymbol:ZodSymbol,ZodUndefined:ZodUndefined,ZodNull:ZodNull,ZodAny:ZodAny,ZodUnknown:ZodUnknown,ZodNever:ZodNever,ZodVoid:ZodVoid,ZodArray:ZodArray,ZodObject:ZodObject,ZodUnion:ZodUnion,ZodDiscriminatedUnion:ZodDiscriminatedUnion,ZodIntersection:ZodIntersection,ZodTuple:ZodTuple,ZodRecord:ZodRecord,ZodMap:ZodMap,ZodSet:ZodSet,ZodFunction:ZodFunction,ZodLazy:ZodLazy,ZodLiteral:ZodLiteral,ZodEnum:ZodEnum,ZodNativeEnum:ZodNativeEnum,ZodPromise:ZodPromise,ZodEffects:ZodEffects,ZodTransformer:ZodEffects,ZodOptional:ZodOptional,ZodNullable:ZodNullable,ZodDefault:ZodDefault,ZodCatch:ZodCatch,ZodNaN:ZodNaN,BRAND:eU,ZodBranded:ZodBranded,ZodPipeline:ZodPipeline,ZodReadonly:ZodReadonly,custom:custom,Schema:ZodType,ZodSchema:ZodType,late:eH,get ZodFirstPartyTypeKind(){return eb},coerce:tv,any:e0,array:e3,bigint:eG,boolean:eK,date:eY,discriminatedUnion:e9,effect:tf,enum:tc,function:ts,instanceof:instanceOfType,intersection:e8,lazy:tl,literal:tu,map:to,nan:eW,nativeEnum:td,never:e2,null:eJ,nullable:tm,number:eB,object:e5,oboolean:oboolean,onumber:onumber,optional:th,ostring:ostring,pipeline:tg,preprocess:tx,promise:tp,record:tr,set:ti,strictObject:e6,string:e$,symbol:eQ,transformer:tf,tuple:tn,undefined:eX,union:e7,unknown:e1,void:e4,NEVER:ty,ZodIssueCode:eI,quotelessJson:quotelessJson,ZodError:ZodError}),t_=er(41664),tw=er.n(t_),tk={i8:"13.5.6"};er(66337);var tC=er(85893);let tT=["light","dark"],tE="(prefers-color-scheme: dark)",tO="undefined"==typeof window,tS=(0,ek.createContext)(void 0),tj={setTheme:ee=>{},themes:[]},y=()=>{var ee;return null!==(ee=(0,ek.useContext)(tS))&&void 0!==ee?ee:tj},$=ee=>(0,ek.useContext)(tS)?ek.createElement(ek.Fragment,null,ee.children):ek.createElement(f,ee),tI=["light","dark"],f=({forcedTheme:ee,disableTransitionOnChange:en=!1,enableSystem:er=!0,enableColorScheme:eo=!0,storageKey:ei="theme",themes:es=tI,defaultTheme:eu=er?"system":"light",attribute:ec="data-theme",value:ed,children:ep,nonce:ef})=>{let[eh,em]=(0,ek.useState)(()=>S(ei,eu)),[ex,eg]=(0,ek.useState)(()=>S(ei)),ev=ed?Object.values(ed):es,ey=(0,ek.useCallback)(ee=>{let ei=ee;if(!ei)return;"system"===ee&&er&&(ei=p());let es=ed?ed[ei]:ei,ep=en?b():null,ef=document.documentElement;if("class"===ec?(ef.classList.remove(...ev),es&&ef.classList.add(es)):es?ef.setAttribute(ec,es):ef.removeAttribute(ec),eo){let ee=tT.includes(eu)?eu:null,en=tT.includes(ei)?ei:ee;ef.style.colorScheme=en}null==ep||ep()},[]),eb=(0,ek.useCallback)(ee=>{em(ee);try{localStorage.setItem(ei,ee)}catch(ee){}},[ee]),e_=(0,ek.useCallback)(en=>{let eo=p(en);eg(eo),"system"===eh&&er&&!ee&&ey("system")},[eh,ee]);(0,ek.useEffect)(()=>{let ee=window.matchMedia(tE);return ee.addListener(e_),e_(ee),()=>ee.removeListener(e_)},[e_]),(0,ek.useEffect)(()=>{let e=ee=>{ee.key===ei&&eb(ee.newValue||eu)};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[eb]),(0,ek.useEffect)(()=>{ey(null!=ee?ee:eh)},[ee,eh]);let ew=(0,ek.useMemo)(()=>({theme:eh,setTheme:eb,forcedTheme:ee,resolvedTheme:"system"===eh?ex:eh,themes:er?[...es,"system"]:es,systemTheme:er?ex:void 0}),[eh,eb,ee,ex,er,es]);return ek.createElement(tS.Provider,{value:ew},ek.createElement(tP,{forcedTheme:ee,disableTransitionOnChange:en,enableSystem:er,enableColorScheme:eo,storageKey:ei,themes:es,defaultTheme:eu,attribute:ec,value:ed,children:ep,attrs:ev,nonce:ef}),ep)},tP=(0,ek.memo)(({forcedTheme:ee,storageKey:en,attribute:er,enableSystem:eo,enableColorScheme:ei,defaultTheme:es,value:eu,attrs:ec,nonce:ed})=>{let ep="system"===es,ef="class"===er?`var d=document.documentElement,c=d.classList;c.remove(${ec.map(ee=>`'${ee}'`).join(",")});`:`var d=document.documentElement,n='${er}',s='setAttribute';`,eh=ei?tT.includes(es)&&es?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${es}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",$=(ee,en=!1,eo=!0)=>{let es=eu?eu[ee]:ee,ec=en?ee+"|| ''":`'${es}'`,ed="";return ei&&eo&&!en&&tT.includes(ee)&&(ed+=`d.style.colorScheme = '${ee}';`),"class"===er?ed+=en||es?`c.add(${ec})`:"null":es&&(ed+=`d[s](n,${ec})`),ed},em=ee?`!function(){${ef}${$(ee)}}()`:eo?`!function(){try{${ef}var e=localStorage.getItem('${en}');if('system'===e||(!e&&${ep})){var t='${tE}',m=window.matchMedia(t);if(m.media!==t||m.matches){${$("dark")}}else{${$("light")}}}else if(e){${eu?`var x=${JSON.stringify(eu)};`:""}${$(eu?"x[e]":"e",!0)}}${ep?"":"else{"+$(es,!1,!1)+"}"}${eh}}catch(e){}}()`:`!function(){try{${ef}var e=localStorage.getItem('${en}');if(e){${eu?`var x=${JSON.stringify(eu)};`:""}${$(eu?"x[e]":"e",!0)}}else{${$(es,!1,!1)};}${eh}}catch(t){}}();`;return ek.createElement("script",{nonce:ed,dangerouslySetInnerHTML:{__html:em}})},()=>!0),S=(ee,en)=>{let er;if(!tO){try{er=localStorage.getItem(ee)||void 0}catch(ee){}return er||en}},b=()=>{let ee=document.createElement("style");return ee.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(ee),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(ee)},1)}},p=ee=>(ee||(ee=window.matchMedia(tE)),ee.matches?"dark":"light");var tN={breadcrumb:!0,collapsed:!1,footer:!0,layout:"default",navbar:!0,pagination:!0,sidebar:!0,timestamp:!0,toc:!0,typesetting:"default"},tR=tb.strictObject({breadcrumb:tb.boolean(),collapsed:tb.boolean(),footer:tb.boolean(),layout:tb.enum(["default","full","raw"]),navbar:tb.boolean(),pagination:tb.boolean(),sidebar:tb.boolean(),timestamp:tb.boolean(),toc:tb.boolean(),typesetting:tb.enum(["default","article"])}),tZ=tb.enum(["normal","hidden","children"]),tM=tb.string(),tA=tb.strictObject({href:tb.string(),newWindow:tb.boolean(),title:tM}),tL=tb.strictObject({display:tZ.optional(),items:tb.record(tA.partial({href:!0,newWindow:!0})),title:tM,type:tb.literal("menu")}),tD=tb.strictObject({title:tM,type:tb.literal("separator")}),tF=tA.extend({display:tZ,theme:tR,title:tM,type:tb.enum(["page","doc"])}).deepPartial();function extendMeta(ee={},en){"string"==typeof ee&&(ee={title:ee});let er=Object.assign({},en.theme,ee.theme);return Object.assign({},en,ee,{theme:er})}function findFirstRoute(ee){for(let en of ee){if(en.route)return en.route;if(en.children){let ee=findFirstRoute(en.children);if(ee)return ee}}}function normalizePages({list:ee,locale:en,defaultLocale:er,route:eo,docsRoot:ei="",underCurrentDocsRoot:es=!1,pageThemeContext:eu=tN}){let ec,ed;for(let er of ee)if("Meta"===er.kind){if(er.locale===en){ec=er.data;break}ec||(ec=er.data)}let ep=ec||{},ef=Object.keys(ep);for(let ee of ef)"string"==typeof ep[ee]&&(ep[ee]={title:ep[ee]});let eh=[],em=[],ex=[],eg=[],ev=[],ey=0,eb=eu,e_=[],ew=-1,ek=ep["*"]||{};delete ek.title,delete ek.href;let eC=ee.filter(ee=>"Meta"!==ee.kind&&!ee.name.startsWith("_")&&(!("locale"in ee)||!ee.locale||[en,er].includes(ee.locale))).sort((ee,en)=>{let er=ef.indexOf(ee.name),eo=ef.indexOf(en.name);return -1===er&&-1===eo?ee.name{let en;let er=[],eo=ef.indexOf(ee.name);if(-1!==eo){for(let ee=ew+1;ee({...ec,type:eE,...eI&&{title:eI},...ew&&{display:ew},...ej&&{children:[]}}),eP=getItem(),eN=getItem(),eR=getItem();if(eN.isUnderCurrentDocsTree=eS,"separator"===eE&&(eP.isUnderCurrentDocsTree=eS),ec.route===eo)switch(e_=[eP],ed=eE,eb={...eb,...eO},eE){case"page":case"menu":ey=ev.length;break;case"doc":ey=eg.length}if(!("hidden"===ew&&"Folder"!==eP.kind||eT.hV.has(ec.route))){if(ej){if(void 0!==ej.activeIndex&&void 0!==ej.activeType){switch(eb=ej.activeThemeContext,ed=ej.activeType,e_=[eP,...ej.activePath],ed){case"page":case"menu":ey=ev.length+ej.activeIndex;break;case"doc":ey=eg.length+ej.activeIndex}ec.withIndexPage&&"doc"===eE&&ey++}switch(eE){case"page":case"menu":eR.children.push(...ej.directories),ex.push(...ej.docsDirectories),ej.flatDirectories.length?(eR.firstChildRoute=findFirstRoute(ej.flatDirectories),ev.push(eR)):eR.withIndexPage&&ev.push(eR);break;case"doc":Array.isArray(eN.children)&&eN.children.push(...ej.docsDirectories),eP.withIndexPage&&"children"!==ew&&eg.push(eN)}em.push(...ej.flatDirectories),eg.push(...ej.flatDocsDirectories),Array.isArray(eP.children)&&eP.children.push(...ej.directories)}else switch(em.push(eP),eE){case"page":case"menu":ev.push(eR);break;case"doc":eg.push(eN)}switch("doc"===eE&&"children"===ew?eN.children&&(eh.push(...eN.children),ex.push(...eN.children)):eh.push(eP),eE){case"page":case"menu":ex.push(eR);break;case"doc":"children"!==ew&&ex.push(eN);break;case"separator":ex.push(eP)}}}return{activeType:ed,activeIndex:ey,activeThemeContext:eb,activePath:e_,directories:eh,flatDirectories:em,docsDirectories:ex,flatDocsDirectories:eg,topLevelNavbarItems:ev}}tb.string().or(tL).or(tD).or(tF);var tz=er(73458),tV=er.n(tz);function getWindow(ee){if(null==ee)return window;if("[object Window]"!==ee.toString()){var en=ee.ownerDocument;return en&&en.defaultView||window}return ee}function isElement(ee){var en=getWindow(ee).Element;return ee instanceof en||ee instanceof Element}function isHTMLElement(ee){var en=getWindow(ee).HTMLElement;return ee instanceof en||ee instanceof HTMLElement}function isShadowRoot(ee){if("undefined"==typeof ShadowRoot)return!1;var en=getWindow(ee).ShadowRoot;return ee instanceof en||ee instanceof ShadowRoot}var tU=Math.max,tH=Math.min,t$=Math.round;function getUAString(){var ee=navigator.userAgentData;return null!=ee&&ee.brands&&Array.isArray(ee.brands)?ee.brands.map(function(ee){return ee.brand+"/"+ee.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(ee,en,er){void 0===en&&(en=!1),void 0===er&&(er=!1);var eo=ee.getBoundingClientRect(),ei=1,es=1;en&&isHTMLElement(ee)&&(ei=ee.offsetWidth>0&&t$(eo.width)/ee.offsetWidth||1,es=ee.offsetHeight>0&&t$(eo.height)/ee.offsetHeight||1);var eu=(isElement(ee)?getWindow(ee):window).visualViewport,ec=!isLayoutViewport()&&er,ed=(eo.left+(ec&&eu?eu.offsetLeft:0))/ei,ep=(eo.top+(ec&&eu?eu.offsetTop:0))/es,ef=eo.width/ei,eh=eo.height/es;return{width:ef,height:eh,top:ep,right:ed+ef,bottom:ep+eh,left:ed,x:ed,y:ep}}function getWindowScroll(ee){var en=getWindow(ee);return{scrollLeft:en.pageXOffset,scrollTop:en.pageYOffset}}function getHTMLElementScroll(ee){return{scrollLeft:ee.scrollLeft,scrollTop:ee.scrollTop}}function getNodeScroll(ee){return ee!==getWindow(ee)&&isHTMLElement(ee)?getHTMLElementScroll(ee):getWindowScroll(ee)}function getNodeName(ee){return ee?(ee.nodeName||"").toLowerCase():null}function getDocumentElement(ee){return((isElement(ee)?ee.ownerDocument:ee.document)||window.document).documentElement}function getWindowScrollBarX(ee){return getBoundingClientRect(getDocumentElement(ee)).left+getWindowScroll(ee).scrollLeft}function getComputedStyle_getComputedStyle(ee){return getWindow(ee).getComputedStyle(ee)}function isScrollParent(ee){var en=getComputedStyle_getComputedStyle(ee),er=en.overflow,eo=en.overflowX,ei=en.overflowY;return/auto|scroll|overlay|hidden/.test(er+ei+eo)}function isElementScaled(ee){var en=ee.getBoundingClientRect(),er=t$(en.width)/ee.offsetWidth||1,eo=t$(en.height)/ee.offsetHeight||1;return 1!==er||1!==eo}function getCompositeRect(ee,en,er){void 0===er&&(er=!1);var eo=isHTMLElement(en),ei=isHTMLElement(en)&&isElementScaled(en),es=getDocumentElement(en),eu=getBoundingClientRect(ee,ei,er),ec={scrollLeft:0,scrollTop:0},ed={x:0,y:0};return(eo||!eo&&!er)&&(("body"!==getNodeName(en)||isScrollParent(es))&&(ec=getNodeScroll(en)),isHTMLElement(en)?(ed=getBoundingClientRect(en,!0),ed.x+=en.clientLeft,ed.y+=en.clientTop):es&&(ed.x=getWindowScrollBarX(es))),{x:eu.left+ec.scrollLeft-ed.x,y:eu.top+ec.scrollTop-ed.y,width:eu.width,height:eu.height}}function getLayoutRect(ee){var en=getBoundingClientRect(ee),er=ee.offsetWidth,eo=ee.offsetHeight;return 1>=Math.abs(en.width-er)&&(er=en.width),1>=Math.abs(en.height-eo)&&(eo=en.height),{x:ee.offsetLeft,y:ee.offsetTop,width:er,height:eo}}function getParentNode(ee){return"html"===getNodeName(ee)?ee:ee.assignedSlot||ee.parentNode||(isShadowRoot(ee)?ee.host:null)||getDocumentElement(ee)}function getScrollParent(ee){return["html","body","#document"].indexOf(getNodeName(ee))>=0?ee.ownerDocument.body:isHTMLElement(ee)&&isScrollParent(ee)?ee:getScrollParent(getParentNode(ee))}function listScrollParents(ee,en){void 0===en&&(en=[]);var er,eo=getScrollParent(ee),ei=eo===(null==(er=ee.ownerDocument)?void 0:er.body),es=getWindow(eo),eu=ei?[es].concat(es.visualViewport||[],isScrollParent(eo)?eo:[]):eo,ec=en.concat(eu);return ei?ec:ec.concat(listScrollParents(getParentNode(eu)))}function isTableElement(ee){return["table","td","th"].indexOf(getNodeName(ee))>=0}function getTrueOffsetParent(ee){return isHTMLElement(ee)&&"fixed"!==getComputedStyle_getComputedStyle(ee).position?ee.offsetParent:null}function getContainingBlock(ee){var en=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(ee)&&"fixed"===getComputedStyle_getComputedStyle(ee).position)return null;var er=getParentNode(ee);for(isShadowRoot(er)&&(er=er.host);isHTMLElement(er)&&0>["html","body"].indexOf(getNodeName(er));){var eo=getComputedStyle_getComputedStyle(er);if("none"!==eo.transform||"none"!==eo.perspective||"paint"===eo.contain||-1!==["transform","perspective"].indexOf(eo.willChange)||en&&"filter"===eo.willChange||en&&eo.filter&&"none"!==eo.filter)return er;er=er.parentNode}return null}function getOffsetParent(ee){for(var en=getWindow(ee),er=getTrueOffsetParent(ee);er&&isTableElement(er)&&"static"===getComputedStyle_getComputedStyle(er).position;)er=getTrueOffsetParent(er);return er&&("html"===getNodeName(er)||"body"===getNodeName(er)&&"static"===getComputedStyle_getComputedStyle(er).position)?en:er||getContainingBlock(ee)||en}var tB="top",tW="bottom",tG="right",tK="left",tq="auto",tY=[tB,tW,tG,tK],tQ="start",tX="end",tJ="clippingParents",t0="viewport",t1="popper",t2="reference",t4=tY.reduce(function(ee,en){return ee.concat([en+"-"+tQ,en+"-"+tX])},[]),t3=[].concat(tY,[tq]).reduce(function(ee,en){return ee.concat([en,en+"-"+tQ,en+"-"+tX])},[]),t5=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function order(ee){var en=new Map,er=new Set,eo=[];function sort(ee){er.add(ee.name),[].concat(ee.requires||[],ee.requiresIfExists||[]).forEach(function(ee){if(!er.has(ee)){var eo=en.get(ee);eo&&sort(eo)}}),eo.push(ee)}return ee.forEach(function(ee){en.set(ee.name,ee)}),ee.forEach(function(ee){er.has(ee.name)||sort(ee)}),eo}function orderModifiers(ee){var en=order(ee);return t5.reduce(function(ee,er){return ee.concat(en.filter(function(ee){return ee.phase===er}))},[])}function debounce(ee){var en;return function(){return en||(en=new Promise(function(er){Promise.resolve().then(function(){en=void 0,er(ee())})})),en}}function mergeByName(ee){var en=ee.reduce(function(ee,en){var er=ee[en.name];return ee[en.name]=er?Object.assign({},er,en,{options:Object.assign({},er.options,en.options),data:Object.assign({},er.data,en.data)}):en,ee},{});return Object.keys(en).map(function(ee){return en[ee]})}var t6={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var ee=arguments.length,en=Array(ee),er=0;er=0?"x":"y"}function computeOffsets(ee){var en,er=ee.reference,eo=ee.element,ei=ee.placement,es=ei?getBasePlacement(ei):null,eu=ei?getVariation(ei):null,ec=er.x+er.width/2-eo.width/2,ed=er.y+er.height/2-eo.height/2;switch(es){case tB:en={x:ec,y:er.y-eo.height};break;case tW:en={x:ec,y:er.y+er.height};break;case tG:en={x:er.x+er.width,y:ed};break;case tK:en={x:er.x-eo.width,y:ed};break;default:en={x:er.x,y:er.y}}var ep=es?getMainAxisFromPlacement(es):null;if(null!=ep){var ef="y"===ep?"height":"width";switch(eu){case tQ:en[ep]=en[ep]-(er[ef]/2-eo[ef]/2);break;case tX:en[ep]=en[ep]+(er[ef]/2-eo[ef]/2)}}return en}var t9={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(ee,en){var er=ee.x,eo=ee.y,ei=en.devicePixelRatio||1;return{x:t$(er*ei)/ei||0,y:t$(eo*ei)/ei||0}}function mapToStyles(ee){var en,er,eo=ee.popper,ei=ee.popperRect,es=ee.placement,eu=ee.variation,ec=ee.offsets,ed=ee.position,ep=ee.gpuAcceleration,ef=ee.adaptive,eh=ee.roundOffsets,em=ee.isFixed,ex=ec.x,eg=void 0===ex?0:ex,ev=ec.y,ey=void 0===ev?0:ev,eb="function"==typeof eh?eh({x:eg,y:ey}):{x:eg,y:ey};eg=eb.x,ey=eb.y;var e_=ec.hasOwnProperty("x"),ew=ec.hasOwnProperty("y"),ek=tK,eC=tB,eT=window;if(ef){var eE=getOffsetParent(eo),eO="clientHeight",eS="clientWidth";eE===getWindow(eo)&&"static"!==getComputedStyle_getComputedStyle(eE=getDocumentElement(eo)).position&&"absolute"===ed&&(eO="scrollHeight",eS="scrollWidth"),(es===tB||(es===tK||es===tG)&&eu===tX)&&(eC=tW,ey-=(em&&eE===eT&&eT.visualViewport?eT.visualViewport.height:eE[eO])-ei.height,ey*=ep?1:-1),(es===tK||(es===tB||es===tW)&&eu===tX)&&(ek=tG,eg-=(em&&eE===eT&&eT.visualViewport?eT.visualViewport.width:eE[eS])-ei.width,eg*=ep?1:-1)}var ej=Object.assign({position:ed},ef&&t9),eI=!0===eh?roundOffsetsByDPR({x:eg,y:ey},getWindow(eo)):{x:eg,y:ey};return(eg=eI.x,ey=eI.y,ep)?Object.assign({},ej,((er={})[eC]=ew?"0":"",er[ek]=e_?"0":"",er.transform=1>=(eT.devicePixelRatio||1)?"translate("+eg+"px, "+ey+"px)":"translate3d("+eg+"px, "+ey+"px, 0)",er)):Object.assign({},ej,((en={})[eC]=ew?ey+"px":"",en[ek]=e_?eg+"px":"",en.transform="",en))}function distanceAndSkiddingToXY(ee,en,er){var eo=getBasePlacement(ee),ei=[tK,tB].indexOf(eo)>=0?-1:1,es="function"==typeof er?er(Object.assign({},en,{placement:ee})):er,eu=es[0],ec=es[1];return eu=eu||0,ec=(ec||0)*ei,[tK,tG].indexOf(eo)>=0?{x:ec,y:eu}:{x:eu,y:ec}}var t8={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(ee){return ee.replace(/left|right|bottom|top/g,function(ee){return t8[ee]})}var ne={start:"end",end:"start"};function getOppositeVariationPlacement(ee){return ee.replace(/start|end/g,function(ee){return ne[ee]})}function getViewportRect(ee,en){var er=getWindow(ee),eo=getDocumentElement(ee),ei=er.visualViewport,es=eo.clientWidth,eu=eo.clientHeight,ec=0,ed=0;if(ei){es=ei.width,eu=ei.height;var ep=isLayoutViewport();(ep||!ep&&"fixed"===en)&&(ec=ei.offsetLeft,ed=ei.offsetTop)}return{width:es,height:eu,x:ec+getWindowScrollBarX(ee),y:ed}}function getDocumentRect(ee){var en,er=getDocumentElement(ee),eo=getWindowScroll(ee),ei=null==(en=ee.ownerDocument)?void 0:en.body,es=tU(er.scrollWidth,er.clientWidth,ei?ei.scrollWidth:0,ei?ei.clientWidth:0),eu=tU(er.scrollHeight,er.clientHeight,ei?ei.scrollHeight:0,ei?ei.clientHeight:0),ec=-eo.scrollLeft+getWindowScrollBarX(ee),ed=-eo.scrollTop;return"rtl"===getComputedStyle_getComputedStyle(ei||er).direction&&(ec+=tU(er.clientWidth,ei?ei.clientWidth:0)-es),{width:es,height:eu,x:ec,y:ed}}function contains(ee,en){var er=en.getRootNode&&en.getRootNode();if(ee.contains(en))return!0;if(er&&isShadowRoot(er)){var eo=en;do{if(eo&&ee.isSameNode(eo))return!0;eo=eo.parentNode||eo.host}while(eo)}return!1}function rectToClientRect(ee){return Object.assign({},ee,{left:ee.x,top:ee.y,right:ee.x+ee.width,bottom:ee.y+ee.height})}function getInnerBoundingClientRect(ee,en){var er=getBoundingClientRect(ee,!1,"fixed"===en);return er.top=er.top+ee.clientTop,er.left=er.left+ee.clientLeft,er.bottom=er.top+ee.clientHeight,er.right=er.left+ee.clientWidth,er.width=ee.clientWidth,er.height=ee.clientHeight,er.x=er.left,er.y=er.top,er}function getClientRectFromMixedType(ee,en,er){return en===t0?rectToClientRect(getViewportRect(ee,er)):isElement(en)?getInnerBoundingClientRect(en,er):rectToClientRect(getDocumentRect(getDocumentElement(ee)))}function getClippingParents(ee){var en=listScrollParents(getParentNode(ee)),er=["absolute","fixed"].indexOf(getComputedStyle_getComputedStyle(ee).position)>=0&&isHTMLElement(ee)?getOffsetParent(ee):ee;return isElement(er)?en.filter(function(ee){return isElement(ee)&&contains(ee,er)&&"body"!==getNodeName(ee)}):[]}function getClippingRect(ee,en,er,eo){var ei=[].concat("clippingParents"===en?getClippingParents(ee):[].concat(en),[er]),es=ei[0],eu=ei.reduce(function(en,er){var ei=getClientRectFromMixedType(ee,er,eo);return en.top=tU(ei.top,en.top),en.right=tH(ei.right,en.right),en.bottom=tH(ei.bottom,en.bottom),en.left=tU(ei.left,en.left),en},getClientRectFromMixedType(ee,es,eo));return eu.width=eu.right-eu.left,eu.height=eu.bottom-eu.top,eu.x=eu.left,eu.y=eu.top,eu}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(ee){return Object.assign({},getFreshSideObject(),ee)}function expandToHashMap(ee,en){return en.reduce(function(en,er){return en[er]=ee,en},{})}function detectOverflow(ee,en){void 0===en&&(en={});var er=en,eo=er.placement,ei=void 0===eo?ee.placement:eo,es=er.strategy,eu=void 0===es?ee.strategy:es,ec=er.boundary,ed=void 0===ec?tJ:ec,ep=er.rootBoundary,ef=void 0===ep?t0:ep,eh=er.elementContext,em=void 0===eh?t1:eh,ex=er.altBoundary,eg=void 0!==ex&&ex,ev=er.padding,ey=void 0===ev?0:ev,eb=mergePaddingObject("number"!=typeof ey?ey:expandToHashMap(ey,tY)),e_=em===t1?t2:t1,ew=ee.rects.popper,ek=ee.elements[eg?e_:em],eC=getClippingRect(isElement(ek)?ek:ek.contextElement||getDocumentElement(ee.elements.popper),ed,ef,eu),eT=getBoundingClientRect(ee.elements.reference),eE=computeOffsets({reference:eT,element:ew,strategy:"absolute",placement:ei}),eO=rectToClientRect(Object.assign({},ew,eE)),eS=em===t1?eO:eT,ej={top:eC.top-eS.top+eb.top,bottom:eS.bottom-eC.bottom+eb.bottom,left:eC.left-eS.left+eb.left,right:eS.right-eC.right+eb.right},eI=ee.modifiersData.offset;if(em===t1&&eI){var eP=eI[ei];Object.keys(ej).forEach(function(ee){var en=[tG,tW].indexOf(ee)>=0?1:-1,er=[tB,tW].indexOf(ee)>=0?"y":"x";ej[ee]+=eP[er]*en})}return ej}function computeAutoPlacement(ee,en){void 0===en&&(en={});var er=en,eo=er.placement,ei=er.boundary,es=er.rootBoundary,eu=er.padding,ec=er.flipVariations,ed=er.allowedAutoPlacements,ep=void 0===ed?t3:ed,ef=getVariation(eo),eh=ef?ec?t4:t4.filter(function(ee){return getVariation(ee)===ef}):tY,em=eh.filter(function(ee){return ep.indexOf(ee)>=0});0===em.length&&(em=eh);var ex=em.reduce(function(en,er){return en[er]=detectOverflow(ee,{placement:er,boundary:ei,rootBoundary:es,padding:eu})[getBasePlacement(er)],en},{});return Object.keys(ex).sort(function(ee,en){return ex[ee]-ex[en]})}function getExpandedFallbackPlacements(ee){if(getBasePlacement(ee)===tq)return[];var en=getOppositePlacement(ee);return[getOppositeVariationPlacement(ee),en,getOppositeVariationPlacement(en)]}function getAltAxis(ee){return"x"===ee?"y":"x"}function within(ee,en,er){return tU(ee,tH(en,er))}function withinMaxClamp(ee,en,er){var eo=within(ee,en,er);return eo>er?er:eo}var toPaddingObject=function(ee,en){return mergePaddingObject("number"!=typeof(ee="function"==typeof ee?ee(Object.assign({},en.rects,{placement:en.placement})):ee)?ee:expandToHashMap(ee,tY))};function getSideOffsets(ee,en,er){return void 0===er&&(er={x:0,y:0}),{top:ee.top-en.height-er.y,right:ee.right-en.width+er.x,bottom:ee.bottom-en.height+er.y,left:ee.left-en.width-er.x}}function isAnySideFullyClipped(ee){return[tB,tG,tW,tK].some(function(en){return ee[en]>=0})}var nt=function(ee){void 0===ee&&(ee={});var en=ee,er=en.defaultModifiers,eo=void 0===er?[]:er,ei=en.defaultOptions,es=void 0===ei?t6:ei;return function(ee,en,er){void 0===er&&(er=es);var ei={placement:"bottom",orderedModifiers:[],options:Object.assign({},t6,es),modifiersData:{},elements:{reference:ee,popper:en},attributes:{},styles:{}},eu=[],ec=!1,ed={state:ei,setOptions:function(er){var eu="function"==typeof er?er(ei.options):er;cleanupModifierEffects(),ei.options=Object.assign({},es,ei.options,eu),ei.scrollParents={reference:isElement(ee)?listScrollParents(ee):ee.contextElement?listScrollParents(ee.contextElement):[],popper:listScrollParents(en)};var ec=orderModifiers(mergeByName([].concat(eo,ei.options.modifiers)));return ei.orderedModifiers=ec.filter(function(ee){return ee.enabled}),runModifierEffects(),ed.update()},forceUpdate:function(){if(!ec){var ee=ei.elements,en=ee.reference,er=ee.popper;if(areValidElements(en,er)){ei.rects={reference:getCompositeRect(en,getOffsetParent(er),"fixed"===ei.options.strategy),popper:getLayoutRect(er)},ei.reset=!1,ei.placement=ei.options.placement,ei.orderedModifiers.forEach(function(ee){return ei.modifiersData[ee.name]=Object.assign({},ee.data)});for(var eo=0;eo=0,eR=eN?"width":"height",eZ=detectOverflow(en,{placement:ej,boundary:ef,rootBoundary:eh,altBoundary:em,padding:ep}),eM=eN?eP?tG:tK:eP?tW:tB;ek[eR]>eC[eR]&&(eM=getOppositePlacement(eM));var eA=getOppositePlacement(eM),eL=[];if(es&&eL.push(eZ[eI]<=0),ec&&eL.push(eZ[eM]<=0,eZ[eA]<=0),eL.every(function(ee){return ee})){eO=ej,eE=!1;break}eT.set(ej,eL)}if(eE)for(var eD=eg?3:1,_loop=function(ee){var en=ew.find(function(en){var er=eT.get(en);if(er)return er.slice(0,ee).every(function(ee){return ee})});if(en)return eO=en,"break"},eF=eD;eF>0&&"break"!==_loop(eF);eF--);en.placement!==eO&&(en.modifiersData[eo]._skip=!0,en.placement=eO,en.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(ee){var en=ee.state,er=ee.options,eo=ee.name,ei=er.mainAxis,es=void 0===ei||ei,eu=er.altAxis,ec=void 0!==eu&&eu,ed=er.boundary,ep=er.rootBoundary,ef=er.altBoundary,eh=er.padding,em=er.tether,ex=void 0===em||em,eg=er.tetherOffset,ev=void 0===eg?0:eg,ey=detectOverflow(en,{boundary:ed,rootBoundary:ep,padding:eh,altBoundary:ef}),eb=getBasePlacement(en.placement),e_=getVariation(en.placement),ew=!e_,ek=getMainAxisFromPlacement(eb),eC=getAltAxis(ek),eT=en.modifiersData.popperOffsets,eE=en.rects.reference,eO=en.rects.popper,eS="function"==typeof ev?ev(Object.assign({},en.rects,{placement:en.placement})):ev,ej="number"==typeof eS?{mainAxis:eS,altAxis:eS}:Object.assign({mainAxis:0,altAxis:0},eS),eI=en.modifiersData.offset?en.modifiersData.offset[en.placement]:null,eP={x:0,y:0};if(eT){if(es){var eN,eR="y"===ek?tB:tK,eZ="y"===ek?tW:tG,eM="y"===ek?"height":"width",eA=eT[ek],eL=eA+ey[eR],eD=eA-ey[eZ],eF=ex?-eO[eM]/2:0,ez=e_===tQ?eE[eM]:eO[eM],eV=e_===tQ?-eO[eM]:-eE[eM],eU=en.elements.arrow,eH=ex&&eU?getLayoutRect(eU):{width:0,height:0},e$=en.modifiersData["arrow#persistent"]?en.modifiersData["arrow#persistent"].padding:getFreshSideObject(),eB=e$[eR],eW=e$[eZ],eG=within(0,eE[eM],eH[eM]),eK=ew?eE[eM]/2-eF-eG-eB-ej.mainAxis:ez-eG-eB-ej.mainAxis,eY=ew?-eE[eM]/2+eF+eG+eW+ej.mainAxis:eV+eG+eW+ej.mainAxis,eQ=en.elements.arrow&&getOffsetParent(en.elements.arrow),eX=eQ?"y"===ek?eQ.clientTop||0:eQ.clientLeft||0:0,eJ=null!=(eN=null==eI?void 0:eI[ek])?eN:0,e0=eA+eK-eJ-eX,e1=eA+eY-eJ,e2=within(ex?tH(eL,e0):eL,eA,ex?tU(eD,e1):eD);eT[ek]=e2,eP[ek]=e2-eA}if(ec){var e4,e3="x"===ek?tB:tK,e5="x"===ek?tW:tG,e6=eT[eC],e7="y"===eC?"height":"width",e9=e6+ey[e3],e8=e6-ey[e5],tn=-1!==[tB,tK].indexOf(eb),tr=null!=(e4=null==eI?void 0:eI[eC])?e4:0,to=tn?e9:e6-eE[e7]-eO[e7]-tr+ej.altAxis,ti=tn?e6+eE[e7]+eO[e7]-tr-ej.altAxis:e8,ts=ex&&tn?withinMaxClamp(to,e6,ti):within(ex?to:e9,e6,ex?ti:e8);eT[eC]=ts,eP[eC]=ts-e6}en.modifiersData[eo]=eP}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(ee){var en,er=ee.state,eo=ee.name,ei=ee.options,es=er.elements.arrow,eu=er.modifiersData.popperOffsets,ec=getBasePlacement(er.placement),ed=getMainAxisFromPlacement(ec),ep=[tK,tG].indexOf(ec)>=0?"height":"width";if(es&&eu){var ef=toPaddingObject(ei.padding,er),eh=getLayoutRect(es),em="y"===ed?tB:tK,ex="y"===ed?tW:tG,eg=er.rects.reference[ep]+er.rects.reference[ed]-eu[ed]-er.rects.popper[ep],ev=eu[ed]-er.rects.reference[ed],ey=getOffsetParent(es),eb=ey?"y"===ed?ey.clientHeight||0:ey.clientWidth||0:0,e_=eg/2-ev/2,ew=ef[em],ek=eb-eh[ep]-ef[ex],eC=eb/2-eh[ep]/2+e_,eT=within(ew,eC,ek),eE=ed;er.modifiersData[eo]=((en={})[eE]=eT,en.centerOffset=eT-eC,en)}},effect:function(ee){var en=ee.state,er=ee.options.element,eo=void 0===er?"[data-popper-arrow]":er;null!=eo&&("string"!=typeof eo||(eo=en.elements.popper.querySelector(eo)))&&contains(en.elements.popper,eo)&&(en.elements.arrow=eo)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(ee){var en=ee.state,er=ee.name,eo=en.rects.reference,ei=en.rects.popper,es=en.modifiersData.preventOverflow,eu=detectOverflow(en,{elementContext:"reference"}),ec=detectOverflow(en,{altBoundary:!0}),ed=getSideOffsets(eu,eo),ep=getSideOffsets(ec,ei,es),ef=isAnySideFullyClipped(ed),eh=isAnySideFullyClipped(ep);en.modifiersData[er]={referenceClippingOffsets:ed,popperEscapeOffsets:ep,isReferenceHidden:ef,hasPopperEscaped:eh},en.attributes.popper=Object.assign({},en.attributes.popper,{"data-popper-reference-hidden":ef,"data-popper-escaped":eh})}}]}),nn=er(36304),nr=er.n(nn);function escapeStringRegexp(ee){if("string"!=typeof ee)throw TypeError("Expected a string");return ee.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var no=er(12351);let ni=(0,ek.createContext)(null);ni.displayName="OpenClosedContext";var ns=((ei=ns||{})[ei.Open=1]="Open",ei[ei.Closed=2]="Closed",ei[ei.Closing=4]="Closing",ei[ei.Opening=8]="Opening",ei);function C(){return(0,ek.useContext)(ni)}function open_closed_c({value:ee,children:en}){return ek.createElement(ni.Provider,{value:ee},en)}var nl=er(32984),nu=er(14879),nc=er(16723),nd=er(3855),np=er(82180),nf=er(23784);function once_l(ee){let en={called:!1};return(...er)=>{if(!en.called)return en.called=!0,ee(...er)}}var nh=er(9362);function transition_g(ee,...en){ee&&en.length>0&&ee.classList.add(...en)}function transition_v(ee,...en){ee&&en.length>0&&ee.classList.remove(...en)}function transition_b(ee,en){let er=(0,nh.k)();if(!ee)return er.dispose;let{transitionDuration:eo,transitionDelay:ei}=getComputedStyle(ee),[es,eu]=[eo,ei].map(ee=>{let[en=0]=ee.split(",").filter(Boolean).map(ee=>ee.includes("ms")?parseFloat(ee):1e3*parseFloat(ee)).sort((ee,en)=>en-ee);return en}),ec=es+eu;if(0!==ec){er.group(er=>{er.setTimeout(()=>{en(),er.dispose()},ec),er.addEventListener(ee,"transitionrun",ee=>{ee.target===ee.currentTarget&&er.dispose()})});let eo=er.addEventListener(ee,"transitionend",ee=>{ee.target===ee.currentTarget&&(en(),eo())})}else en();return er.add(()=>en()),er.dispose}function M(ee,en,er,eo){let ei=er?"enter":"leave",es=(0,nh.k)(),eu=void 0!==eo?once_l(eo):()=>{};"enter"===ei&&(ee.removeAttribute("hidden"),ee.style.display="");let ec=(0,nl.E)(ei,{enter:()=>en.enter,leave:()=>en.leave}),ed=(0,nl.E)(ei,{enter:()=>en.enterTo,leave:()=>en.leaveTo}),ep=(0,nl.E)(ei,{enter:()=>en.enterFrom,leave:()=>en.leaveFrom});return transition_v(ee,...en.base,...en.enter,...en.enterTo,...en.enterFrom,...en.leave,...en.leaveFrom,...en.leaveTo,...en.entered),transition_g(ee,...en.base,...ec,...ep),es.nextFrame(()=>{transition_v(ee,...en.base,...ec,...ep),transition_g(ee,...en.base,...ec,...ed),transition_b(ee,()=>(transition_v(ee,...en.base,...ec),transition_g(ee,...en.base,...en.entered),eu()))}),es.dispose}function use_disposables_p(){let[ee]=(0,ek.useState)(nh.k);return(0,ek.useEffect)(()=>()=>ee.dispose(),[ee]),ee}function E({immediate:ee,container:en,direction:er,classes:eo,onStart:ei,onStop:es}){let eu=(0,nu.t)(),ec=use_disposables_p(),ed=(0,nd.E)(er);(0,nc.e)(()=>{ee&&(ed.current="enter")},[ee]),(0,nc.e)(()=>{let ee=(0,nh.k)();ec.add(ee.dispose);let er=en.current;if(er&&"idle"!==ed.current&&eu.current)return ee.dispose(),ei.current(ed.current),ee.add(M(er,eo.current,"enter"===ed.current,()=>{ee.dispose(),es.current(ed.current)})),ee.dispose},[er])}var nm=er(73781),nx=er(44067);function use_flags_c(ee=0){let[en,er]=(0,ek.useState)(ee),eo=(0,nu.t)(),ei=(0,ek.useCallback)(ee=>{eo.current&&er(en=>en|ee)},[en,eo]),es=(0,ek.useCallback)(ee=>!!(en&ee),[en]);return{flags:en,addFlag:ei,hasFlag:es,removeFlag:(0,ek.useCallback)(ee=>{eo.current&&er(en=>en&~ee)},[er,eo]),toggleFlag:(0,ek.useCallback)(ee=>{eo.current&&er(en=>en^ee)},[er])}}function transition_S(ee=""){return ee.split(" ").filter(ee=>ee.trim().length>1)}let ng=(0,ek.createContext)(null);ng.displayName="TransitionContext";var nv=((es=nv||{}).Visible="visible",es.Hidden="hidden",es);function Se(){let ee=(0,ek.useContext)(ng);if(null===ee)throw Error("A is used but it is missing a parent or .");return ee}function Ne(){let ee=(0,ek.useContext)(ny);if(null===ee)throw Error("A is used but it is missing a parent or .");return ee}let ny=(0,ek.createContext)(null);function U(ee){return"children"in ee?U(ee.children):ee.current.filter(({el:ee})=>null!==ee.current).filter(({state:ee})=>"visible"===ee).length>0}function oe(ee,en){let er=(0,nd.E)(ee),eo=(0,ek.useRef)([]),ei=(0,nu.t)(),es=use_disposables_p(),eu=(0,nm.z)((ee,en=no.l4.Hidden)=>{let eu=eo.current.findIndex(({el:en})=>en===ee);-1!==eu&&((0,nl.E)(en,{[no.l4.Unmount](){eo.current.splice(eu,1)},[no.l4.Hidden](){eo.current[eu].state="hidden"}}),es.microTask(()=>{var ee;!U(eo)&&ei.current&&(null==(ee=er.current)||ee.call(er))}))}),ec=(0,nm.z)(ee=>{let en=eo.current.find(({el:en})=>en===ee);return en?"visible"!==en.state&&(en.state="visible"):eo.current.push({el:ee,state:"visible"}),()=>eu(ee,no.l4.Unmount)}),ed=(0,ek.useRef)([]),ep=(0,ek.useRef)(Promise.resolve()),ef=(0,ek.useRef)({enter:[],leave:[],idle:[]}),eh=(0,nm.z)((ee,er,eo)=>{ed.current.splice(0),en&&(en.chains.current[er]=en.chains.current[er].filter(([en])=>en!==ee)),null==en||en.chains.current[er].push([ee,new Promise(ee=>{ed.current.push(ee)})]),null==en||en.chains.current[er].push([ee,new Promise(ee=>{Promise.all(ef.current[er].map(([ee,en])=>en)).then(()=>ee())})]),"enter"===er?ep.current=ep.current.then(()=>null==en?void 0:en.wait.current).then(()=>eo(er)):eo(er)}),em=(0,nm.z)((ee,en,er)=>{Promise.all(ef.current[en].splice(0).map(([ee,en])=>en)).then(()=>{var ee;null==(ee=ed.current.shift())||ee()}).then(()=>er(en))});return(0,ek.useMemo)(()=>({children:eo,register:ec,unregister:eu,onStart:eh,onStop:em,wait:ep,chains:ef}),[ec,eu,eo,eh,em,ef,ep])}function xe(){}ny.displayName="NestingContext";let nb=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function se(ee){var en;let er={};for(let eo of nb)er[eo]=null!=(en=ee[eo])?en:xe;return er}function Re(ee){let en=(0,ek.useRef)(se(ee));return(0,ek.useEffect)(()=>{en.current=se(ee)},[ee]),en}let n_="div",nw=no.AN.RenderStrategy;function De(ee,en){var er,eo;let{beforeEnter:ei,afterEnter:es,beforeLeave:eu,afterLeave:ec,enter:ed,enterFrom:ep,enterTo:ef,entered:eh,leave:em,leaveFrom:ex,leaveTo:eg,...ev}=ee,ey=(0,ek.useRef)(null),eb=(0,nf.T)(ey,en),e_=null==(er=ev.unmount)||er?no.l4.Unmount:no.l4.Hidden,{show:ew,appear:eC,initial:eT}=Se(),[eE,eO]=(0,ek.useState)(ew?"visible":"hidden"),eS=Ne(),{register:ej,unregister:eI}=eS;(0,ek.useEffect)(()=>ej(ey),[ej,ey]),(0,ek.useEffect)(()=>{if(e_===no.l4.Hidden&&ey.current){if(ew&&"visible"!==eE){eO("visible");return}return(0,nl.E)(eE,{hidden:()=>eI(ey),visible:()=>ej(ey)})}},[eE,ey,ej,eI,ew,e_]);let eP=(0,nd.E)({base:transition_S(ev.className),enter:transition_S(ed),enterFrom:transition_S(ep),enterTo:transition_S(ef),entered:transition_S(eh),leave:transition_S(em),leaveFrom:transition_S(ex),leaveTo:transition_S(eg)}),eN=Re({beforeEnter:ei,afterEnter:es,beforeLeave:eu,afterLeave:ec}),eR=(0,np.H)();(0,ek.useEffect)(()=>{if(eR&&"visible"===eE&&null===ey.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[ey,eE,eR]);let eZ=eT&&!eC,eM=eC&&ew&&eT,eA=!eR||eZ?"idle":ew?"enter":"leave",eL=use_flags_c(0),eD=(0,nm.z)(ee=>(0,nl.E)(ee,{enter:()=>{eL.addFlag(ns.Opening),eN.current.beforeEnter()},leave:()=>{eL.addFlag(ns.Closing),eN.current.beforeLeave()},idle:()=>{}})),eF=(0,nm.z)(ee=>(0,nl.E)(ee,{enter:()=>{eL.removeFlag(ns.Opening),eN.current.afterEnter()},leave:()=>{eL.removeFlag(ns.Closing),eN.current.afterLeave()},idle:()=>{}})),ez=oe(()=>{eO("hidden"),eI(ey)},eS);E({immediate:eM,container:ey,classes:eP,direction:eA,onStart:(0,nd.E)(ee=>{ez.onStart(ey,ee,eD)}),onStop:(0,nd.E)(ee=>{ez.onStop(ey,ee,eF),"leave"!==ee||U(ez)||(eO("hidden"),eI(ey))})});let eV=ev,eU={ref:eb};return eM?eV={...eV,className:(0,nx.A)(ev.className,...eP.current.enter,...eP.current.enterFrom)}:(eV.className=(0,nx.A)(ev.className,null==(eo=ey.current)?void 0:eo.className),""===eV.className&&delete eV.className),ek.createElement(ny.Provider,{value:ez},ek.createElement(open_closed_c,{value:(0,nl.E)(eE,{visible:ns.Open,hidden:ns.Closed})|eL.flags},(0,no.sY)({ourProps:eU,theirProps:eV,defaultTag:n_,features:nw,visible:"visible"===eE,name:"Transition.Child"})))}function He(ee,en){let{show:er,appear:eo=!1,unmount:ei=!0,...es}=ee,eu=(0,ek.useRef)(null),ec=(0,nf.T)(eu,en);(0,np.H)();let ed=C();if(void 0===er&&null!==ed&&(er=(ed&ns.Open)===ns.Open),![!0,!1].includes(er))throw Error("A is used but it is missing a `show={true | false}` prop.");let[ep,ef]=(0,ek.useState)(er?"visible":"hidden"),eh=oe(()=>{ef("hidden")}),[em,ex]=(0,ek.useState)(!0),eg=(0,ek.useRef)([er]);(0,nc.e)(()=>{!1!==em&&eg.current[eg.current.length-1]!==er&&(eg.current.push(er),ex(!1))},[eg,er]);let ev=(0,ek.useMemo)(()=>({show:er,appear:eo,initial:em}),[er,eo,em]);(0,ek.useEffect)(()=>{if(er)ef("visible");else if(U(eh)){let ee=eu.current;if(!ee)return;let en=ee.getBoundingClientRect();0===en.x&&0===en.y&&0===en.width&&0===en.height&&ef("hidden")}else ef("hidden")},[er,eh]);let ey={unmount:ei},eb=(0,nm.z)(()=>{var en;em&&ex(!1),null==(en=ee.beforeEnter)||en.call(ee)}),e_=(0,nm.z)(()=>{var en;em&&ex(!1),null==(en=ee.beforeLeave)||en.call(ee)});return ek.createElement(ny.Provider,{value:eh},ek.createElement(ng.Provider,{value:ev},(0,no.sY)({ourProps:{...ey,as:ek.Fragment,children:ek.createElement(nC,{ref:ec,...ey,...es,beforeEnter:eb,beforeLeave:e_})},theirProps:{},defaultTag:ek.Fragment,features:nw,visible:"visible"===ep,name:"Transition"})))}function Fe(ee,en){let er=null!==(0,ek.useContext)(ng),eo=null!==C();return ek.createElement(ek.Fragment,null,!er&&eo?ek.createElement(nk,{ref:en,...ee}):ek.createElement(nC,{ref:en,...ee}))}let nk=(0,no.yV)(He),nC=(0,no.yV)(De),nT=Object.assign(nk,{Child:(0,no.yV)(Fe),Root:nk});var nE=er(77192),nO=er(19946);function use_computed_i(ee,en){let[er,eo]=(0,ek.useState)(ee),ei=(0,nd.E)(ee);return(0,nc.e)(()=>eo(ei.current),[ei,eo,...en]),er}var nS=er(61363);function calculate_active_index_f(ee){throw Error("Unexpected object: "+ee)}var nj=((eu=nj||{})[eu.First=0]="First",eu[eu.Previous=1]="Previous",eu[eu.Next=2]="Next",eu[eu.Last=3]="Last",eu[eu.Specific=4]="Specific",eu[eu.Nothing=5]="Nothing",eu);function x(ee,en){let er=en.resolveItems();if(er.length<=0)return null;let eo=en.resolveActiveIndex(),ei=null!=eo?eo:-1,es=(()=>{switch(ee.focus){case 0:return er.findIndex(ee=>!en.resolveDisabled(ee));case 1:{let ee=er.slice().reverse().findIndex((ee,er,eo)=>(-1===ei||!(eo.length-er-1>=ei))&&!en.resolveDisabled(ee));return -1===ee?ee:er.length-1-ee}case 2:return er.findIndex((ee,er)=>!(er<=ei)&&!en.resolveDisabled(ee));case 3:{let ee=er.slice().reverse().findIndex(ee=>!en.resolveDisabled(ee));return -1===ee?ee:er.length-1-ee}case 4:return er.findIndex(er=>en.resolveId(er)===ee.id);case 5:return null;default:calculate_active_index_f(ee)}})();return -1===es?eo:es}function bugs_r(ee){let en=ee.parentElement,er=null;for(;en&&!(en instanceof HTMLFieldSetElement);)en instanceof HTMLLegendElement&&(er=en),en=en.parentElement;let eo=(null==en?void 0:en.getAttribute("disabled"))==="";return!(eo&&bugs_i(er))&&eo}function bugs_i(ee){if(!ee)return!1;let en=ee.previousElementSibling;for(;null!==en;){if(en instanceof HTMLLegendElement)return!1;en=en.previousElementSibling}return!0}var nI=er(84575),nP=er(14157);function use_document_event_d(ee,en,er){let eo=(0,nd.E)(en);(0,ek.useEffect)(()=>{function t(ee){eo.current(ee)}return document.addEventListener(ee,t,er),()=>document.removeEventListener(ee,t,er)},[ee,er])}function use_window_event_s(ee,en,er){let eo=(0,nd.E)(en);(0,ek.useEffect)(()=>{function t(ee){eo.current(ee)}return window.addEventListener(ee,t,er),()=>window.removeEventListener(ee,t,er)},[ee,er])}function use_outside_click_h(ee,en,er=!0){let eo=(0,ek.useRef)(!1);function c(er,ei){if(!eo.current||er.defaultPrevented)return;let es=ei(er);if(null!==es&&es.getRootNode().contains(es)&&es.isConnected){for(let en of function u(ee){return"function"==typeof ee?u(ee()):Array.isArray(ee)||ee instanceof Set?ee:[ee]}(ee)){if(null===en)continue;let ee=en instanceof HTMLElement?en:en.current;if(null!=ee&&ee.contains(es)||er.composed&&er.composedPath().includes(ee))return}return(0,nI.sP)(es,nI.tJ.Loose)||-1===es.tabIndex||er.preventDefault(),en(er,es)}}(0,ek.useEffect)(()=>{requestAnimationFrame(()=>{eo.current=er})},[er]);let ei=(0,ek.useRef)(null);use_document_event_d("pointerdown",ee=>{var en,er;eo.current&&(ei.current=(null==(er=null==(en=ee.composedPath)?void 0:en.call(ee))?void 0:er[0])||ee.target)},!0),use_document_event_d("mousedown",ee=>{var en,er;eo.current&&(ei.current=(null==(er=null==(en=ee.composedPath)?void 0:en.call(ee))?void 0:er[0])||ee.target)},!0),use_document_event_d("click",ee=>{ei.current&&(c(ee,()=>ei.current),ei.current=null)},!0),use_document_event_d("touchend",ee=>c(ee,()=>ee.target instanceof HTMLElement?ee.target:null),!0),use_window_event_s("blur",ee=>c(ee,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var nN=er(46045);function form_e(ee={},en=null,er=[]){for(let[eo,ei]of Object.entries(ee))o(er,form_f(en,eo),ei);return er}function form_f(ee,en){return ee?ee+"["+en+"]":en}function o(ee,en,er){if(Array.isArray(er))for(let[eo,ei]of er.entries())o(ee,form_f(en,eo.toString()),ei);else er instanceof Date?ee.push([en,er.toISOString()]):"boolean"==typeof er?ee.push([en,er?"1":"0"]):"string"==typeof er?ee.push([en,er]):"number"==typeof er?ee.push([en,`${er}`]):null==er?ee.push([en,""]):form_e(er,en,ee)}var nR=er(15466);function use_controllable_T(ee,en,er){let[eo,ei]=(0,ek.useState)(er),es=void 0!==ee,eu=(0,ek.useRef)(es),ec=(0,ek.useRef)(!1),ed=(0,ek.useRef)(!1);return!es||eu.current||ec.current?es||!eu.current||ed.current||(ed.current=!0,eu.current=es,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")):(ec.current=!0,eu.current=es,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")),[es?ee:eo,(0,nm.z)(ee=>(es||ei(ee),null==en?void 0:en(ee)))]}function t(ee){return[ee.screenX,ee.screenY]}function use_tracked_pointer_u(){let ee=(0,ek.useRef)([-1,-1]);return{wasMoved(en){let er=t(en);return(ee.current[0]!==er[0]||ee.current[1]!==er[1])&&(ee.current=er,!0)},update(en){ee.current=t(en)}}}let nZ=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function get_text_value_o(ee){var en,er;let eo=null!=(en=ee.innerText)?en:"",ei=ee.cloneNode(!0);if(!(ei instanceof HTMLElement))return eo;let es=!1;for(let ee of ei.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))ee.remove(),es=!0;let eu=es?null!=(er=ei.innerText)?er:"":eo;return nZ.test(eu)&&(eu=eu.replace(nZ,"")),eu}function get_text_value_g(ee){let en=ee.getAttribute("aria-label");if("string"==typeof en)return en.trim();let er=ee.getAttribute("aria-labelledby");if(er){let ee=er.split(" ").map(ee=>{let en=document.getElementById(ee);if(en){let ee=en.getAttribute("aria-label");return"string"==typeof ee?ee.trim():get_text_value_o(en).trim()}return null}).filter(Boolean);if(ee.length>0)return ee.join(", ")}return get_text_value_o(ee).trim()}function use_text_value_b(ee){let en=(0,ek.useRef)(""),er=(0,ek.useRef)("");return(0,nm.z)(()=>{let eo=ee.current;if(!eo)return"";let ei=eo.innerText;if(en.current===ei)return er.current;let es=get_text_value_g(eo).trim().toLowerCase();return en.current=ei,er.current=es,es})}var nM=((ec=nM||{})[ec.Open=0]="Open",ec[ec.Closed=1]="Closed",ec),nA=((ed=nA||{})[ed.Single=0]="Single",ed[ed.Multi=1]="Multi",ed),nL=((ep=nL||{})[ep.Pointer=0]="Pointer",ep[ep.Other=1]="Other",ep),nD=((ef=nD||{})[ef.OpenListbox=0]="OpenListbox",ef[ef.CloseListbox=1]="CloseListbox",ef[ef.GoToOption=2]="GoToOption",ef[ef.Search=3]="Search",ef[ef.ClearSearch=4]="ClearSearch",ef[ef.RegisterOption=5]="RegisterOption",ef[ef.UnregisterOption=6]="UnregisterOption",ef[ef.RegisterLabel=7]="RegisterLabel",ef);function listbox_z(ee,en=ee=>ee){let er=null!==ee.activeOptionIndex?ee.options[ee.activeOptionIndex]:null,eo=(0,nI.z2)(en(ee.options.slice()),ee=>ee.dataRef.current.domRef.current),ei=er?eo.indexOf(er):null;return -1===ei&&(ei=null),{options:eo,activeOptionIndex:ei}}let nF={1:ee=>ee.dataRef.current.disabled||1===ee.listboxState?ee:{...ee,activeOptionIndex:null,listboxState:1},0(ee){if(ee.dataRef.current.disabled||0===ee.listboxState)return ee;let en=ee.activeOptionIndex,{isSelected:er}=ee.dataRef.current,eo=ee.options.findIndex(ee=>er(ee.dataRef.current.value));return -1!==eo&&(en=eo),{...ee,listboxState:0,activeOptionIndex:en}},2(ee,en){var er;if(ee.dataRef.current.disabled||1===ee.listboxState)return ee;let eo=listbox_z(ee),ei=x(en,{resolveItems:()=>eo.options,resolveActiveIndex:()=>eo.activeOptionIndex,resolveId:ee=>ee.id,resolveDisabled:ee=>ee.dataRef.current.disabled});return{...ee,...eo,searchQuery:"",activeOptionIndex:ei,activationTrigger:null!=(er=en.trigger)?er:1}},3:(ee,en)=>{if(ee.dataRef.current.disabled||1===ee.listboxState)return ee;let er=""!==ee.searchQuery?0:1,eo=ee.searchQuery+en.value.toLowerCase(),ei=(null!==ee.activeOptionIndex?ee.options.slice(ee.activeOptionIndex+er).concat(ee.options.slice(0,ee.activeOptionIndex+er)):ee.options).find(ee=>{var en;return!ee.dataRef.current.disabled&&(null==(en=ee.dataRef.current.textValue)?void 0:en.startsWith(eo))}),es=ei?ee.options.indexOf(ei):-1;return -1===es||es===ee.activeOptionIndex?{...ee,searchQuery:eo}:{...ee,searchQuery:eo,activeOptionIndex:es,activationTrigger:1}},4:ee=>ee.dataRef.current.disabled||1===ee.listboxState||""===ee.searchQuery?ee:{...ee,searchQuery:""},5:(ee,en)=>{let er={id:en.id,dataRef:en.dataRef},eo=listbox_z(ee,ee=>[...ee,er]);return null===ee.activeOptionIndex&&ee.dataRef.current.isSelected(en.dataRef.current.value)&&(eo.activeOptionIndex=eo.options.indexOf(er)),{...ee,...eo}},6:(ee,en)=>{let er=listbox_z(ee,ee=>{let er=ee.findIndex(ee=>ee.id===en.id);return -1!==er&&ee.splice(er,1),ee});return{...ee,...er,activationTrigger:1}},7:(ee,en)=>({...ee,labelId:en.id})},nz=(0,ek.createContext)(null);function listbox_(ee){let en=(0,ek.useContext)(nz);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,listbox_),en}return en}nz.displayName="ListboxActionsContext";let nV=(0,ek.createContext)(null);function listbox_U(ee){let en=(0,ek.useContext)(nV);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,listbox_U),en}return en}function Ve(ee,en){return(0,nl.E)(en.type,nF,ee,en)}nV.displayName="ListboxDataContext";let nU=ek.Fragment;function Qe(ee,en){let{value:er,defaultValue:eo,form:ei,name:es,onChange:eu,by:ec=(ee,en)=>ee===en,disabled:ed=!1,horizontal:ep=!1,multiple:ef=!1,...eh}=ee,em=ep?"horizontal":"vertical",ex=(0,nf.T)(en),[eg=ef?[]:void 0,ev]=use_controllable_T(er,eu,eo),[ey,eb]=(0,ek.useReducer)(Ve,{dataRef:(0,ek.createRef)(),listboxState:1,options:[],searchQuery:"",labelId:null,activeOptionIndex:null,activationTrigger:1}),e_=(0,ek.useRef)({static:!1,hold:!1}),ew=(0,ek.useRef)(null),eC=(0,ek.useRef)(null),eT=(0,ek.useRef)(null),eE=(0,nm.z)("string"==typeof ec?(ee,en)=>{let er=ec;return(null==ee?void 0:ee[er])===(null==en?void 0:en[er])}:ec),eO=(0,ek.useCallback)(ee=>(0,nl.E)(eS.mode,{1:()=>eg.some(en=>eE(en,ee)),0:()=>eE(eg,ee)}),[eg]),eS=(0,ek.useMemo)(()=>({...ey,value:eg,disabled:ed,mode:ef?1:0,orientation:em,compare:eE,isSelected:eO,optionsPropsRef:e_,labelRef:ew,buttonRef:eC,optionsRef:eT}),[eg,ed,ef,ey]);(0,nc.e)(()=>{ey.dataRef.current=eS},[eS]),use_outside_click_h([eS.buttonRef,eS.optionsRef],(ee,en)=>{var er;eb({type:1}),(0,nI.sP)(en,nI.tJ.Loose)||(ee.preventDefault(),null==(er=eS.buttonRef.current)||er.focus())},0===eS.listboxState);let ej=(0,ek.useMemo)(()=>({open:0===eS.listboxState,disabled:ed,value:eg}),[eS,ed,eg]),eI=(0,nm.z)(ee=>{let en=eS.options.find(en=>en.id===ee);en&&eL(en.dataRef.current.value)}),eP=(0,nm.z)(()=>{if(null!==eS.activeOptionIndex){let{dataRef:ee,id:en}=eS.options[eS.activeOptionIndex];eL(ee.current.value),eb({type:2,focus:nj.Specific,id:en})}}),eN=(0,nm.z)(()=>eb({type:0})),eR=(0,nm.z)(()=>eb({type:1})),eZ=(0,nm.z)((ee,en,er)=>ee===nj.Specific?eb({type:2,focus:nj.Specific,id:en,trigger:er}):eb({type:2,focus:ee,trigger:er})),eM=(0,nm.z)((ee,en)=>(eb({type:5,id:ee,dataRef:en}),()=>eb({type:6,id:ee}))),eA=(0,nm.z)(ee=>(eb({type:7,id:ee}),()=>eb({type:7,id:null}))),eL=(0,nm.z)(ee=>(0,nl.E)(eS.mode,{0:()=>null==ev?void 0:ev(ee),1(){let en=eS.value.slice(),er=en.findIndex(en=>eE(en,ee));return -1===er?en.push(ee):en.splice(er,1),null==ev?void 0:ev(en)}})),eD=(0,nm.z)(ee=>eb({type:3,value:ee})),eF=(0,nm.z)(()=>eb({type:4})),ez=(0,ek.useMemo)(()=>({onChange:eL,registerOption:eM,registerLabel:eA,goToOption:eZ,closeListbox:eR,openListbox:eN,selectActiveOption:eP,selectOption:eI,search:eD,clearSearch:eF}),[]),eV={ref:ex},eU=(0,ek.useRef)(null),eH=use_disposables_p();return(0,ek.useEffect)(()=>{eU.current&&void 0!==eo&&eH.addEventListener(eU.current,"reset",()=>{null==ev||ev(eo)})},[eU,ev]),ek.createElement(nz.Provider,{value:ez},ek.createElement(nV.Provider,{value:eS},ek.createElement(open_closed_c,{value:(0,nl.E)(eS.listboxState,{0:ns.Open,1:ns.Closed})},null!=es&&null!=eg&&form_e({[es]:eg}).map(([ee,en],er)=>ek.createElement(nN._,{features:nN.A.Hidden,ref:0===er?ee=>{var en;eU.current=null!=(en=null==ee?void 0:ee.closest("form"))?en:null}:void 0,...(0,no.oA)({key:ee,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:ei,name:ee,value:en})})),(0,no.sY)({ourProps:eV,theirProps:eh,slot:ej,defaultTag:nU,name:"Listbox"}))))}let nH="button";function Xe(ee,en){var er;let eo=(0,nO.M)(),{id:ei=`headlessui-listbox-button-${eo}`,...es}=ee,eu=listbox_U("Listbox.Button"),ec=listbox_("Listbox.Button"),ed=(0,nf.T)(eu.buttonRef,en),ep=use_disposables_p(),ef=(0,nm.z)(ee=>{switch(ee.key){case nS.R.Space:case nS.R.Enter:case nS.R.ArrowDown:ee.preventDefault(),ec.openListbox(),ep.nextFrame(()=>{eu.value||ec.goToOption(nj.First)});break;case nS.R.ArrowUp:ee.preventDefault(),ec.openListbox(),ep.nextFrame(()=>{eu.value||ec.goToOption(nj.Last)})}}),eh=(0,nm.z)(ee=>{ee.key===nS.R.Space&&ee.preventDefault()}),em=(0,nm.z)(ee=>{if(bugs_r(ee.currentTarget))return ee.preventDefault();0===eu.listboxState?(ec.closeListbox(),ep.nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})})):(ee.preventDefault(),ec.openListbox())}),ex=use_computed_i(()=>{if(eu.labelId)return[eu.labelId,ei].join(" ")},[eu.labelId,ei]),eg=(0,ek.useMemo)(()=>({open:0===eu.listboxState,disabled:eu.disabled,value:eu.value}),[eu]),ev={ref:ed,id:ei,type:(0,nP.f)(ee,eu.buttonRef),"aria-haspopup":"listbox","aria-controls":null==(er=eu.optionsRef.current)?void 0:er.id,"aria-expanded":0===eu.listboxState,"aria-labelledby":ex,disabled:eu.disabled,onKeyDown:ef,onKeyUp:eh,onClick:em};return(0,no.sY)({ourProps:ev,theirProps:es,slot:eg,defaultTag:nH,name:"Listbox.Button"})}let n$="label";function ze(ee,en){let er=(0,nO.M)(),{id:eo=`headlessui-listbox-label-${er}`,...ei}=ee,es=listbox_U("Listbox.Label"),eu=listbox_("Listbox.Label"),ec=(0,nf.T)(es.labelRef,en);(0,nc.e)(()=>eu.registerLabel(eo),[eo]);let ed=(0,nm.z)(()=>{var ee;return null==(ee=es.buttonRef.current)?void 0:ee.focus({preventScroll:!0})}),ep=(0,ek.useMemo)(()=>({open:0===es.listboxState,disabled:es.disabled}),[es]);return(0,no.sY)({ourProps:{ref:ec,id:eo,onClick:ed},theirProps:ei,slot:ep,defaultTag:n$,name:"Listbox.Label"})}let nB="ul",nW=no.AN.RenderStrategy|no.AN.Static;function Ye(ee,en){var er;let eo=(0,nO.M)(),{id:ei=`headlessui-listbox-options-${eo}`,...es}=ee,eu=listbox_U("Listbox.Options"),ec=listbox_("Listbox.Options"),ed=(0,nf.T)(eu.optionsRef,en),ep=use_disposables_p(),ef=use_disposables_p(),eh=C(),em=null!==eh?(eh&ns.Open)===ns.Open:0===eu.listboxState;(0,ek.useEffect)(()=>{var ee;let en=eu.optionsRef.current;en&&0===eu.listboxState&&en!==(null==(ee=(0,nR.r)(en))?void 0:ee.activeElement)&&en.focus({preventScroll:!0})},[eu.listboxState,eu.optionsRef]);let ex=(0,nm.z)(ee=>{switch(ef.dispose(),ee.key){case nS.R.Space:if(""!==eu.searchQuery)return ee.preventDefault(),ee.stopPropagation(),ec.search(ee.key);case nS.R.Enter:if(ee.preventDefault(),ee.stopPropagation(),null!==eu.activeOptionIndex){let{dataRef:ee}=eu.options[eu.activeOptionIndex];ec.onChange(ee.current.value)}0===eu.mode&&(ec.closeListbox(),(0,nh.k)().nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})}));break;case(0,nl.E)(eu.orientation,{vertical:nS.R.ArrowDown,horizontal:nS.R.ArrowRight}):return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.Next);case(0,nl.E)(eu.orientation,{vertical:nS.R.ArrowUp,horizontal:nS.R.ArrowLeft}):return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.Previous);case nS.R.Home:case nS.R.PageUp:return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.First);case nS.R.End:case nS.R.PageDown:return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.Last);case nS.R.Escape:return ee.preventDefault(),ee.stopPropagation(),ec.closeListbox(),ep.nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})});case nS.R.Tab:ee.preventDefault(),ee.stopPropagation();break;default:1===ee.key.length&&(ec.search(ee.key),ef.setTimeout(()=>ec.clearSearch(),350))}}),eg=use_computed_i(()=>{var ee,en,er;return null!=(er=null==(ee=eu.labelRef.current)?void 0:ee.id)?er:null==(en=eu.buttonRef.current)?void 0:en.id},[eu.labelRef.current,eu.buttonRef.current]),ev=(0,ek.useMemo)(()=>({open:0===eu.listboxState}),[eu]),ey={"aria-activedescendant":null===eu.activeOptionIndex||null==(er=eu.options[eu.activeOptionIndex])?void 0:er.id,"aria-multiselectable":1===eu.mode||void 0,"aria-labelledby":eg,"aria-orientation":eu.orientation,id:ei,onKeyDown:ex,role:"listbox",tabIndex:0,ref:ed};return(0,no.sY)({ourProps:ey,theirProps:es,slot:ev,defaultTag:nB,features:nW,visible:em,name:"Listbox.Options"})}let nG="li";function et(ee,en){let er=(0,nO.M)(),{id:eo=`headlessui-listbox-option-${er}`,disabled:ei=!1,value:es,...eu}=ee,ec=listbox_U("Listbox.Option"),ed=listbox_("Listbox.Option"),ep=null!==ec.activeOptionIndex&&ec.options[ec.activeOptionIndex].id===eo,ef=ec.isSelected(es),eh=(0,ek.useRef)(null),em=use_text_value_b(eh),ex=(0,nd.E)({disabled:ei,value:es,domRef:eh,get textValue(){return em()}}),eg=(0,nf.T)(en,eh);(0,nc.e)(()=>{if(0!==ec.listboxState||!ep||0===ec.activationTrigger)return;let ee=(0,nh.k)();return ee.requestAnimationFrame(()=>{var ee,en;null==(en=null==(ee=eh.current)?void 0:ee.scrollIntoView)||en.call(ee,{block:"nearest"})}),ee.dispose},[eh,ep,ec.listboxState,ec.activationTrigger,ec.activeOptionIndex]),(0,nc.e)(()=>ed.registerOption(eo,ex),[ex,eo]);let ev=(0,nm.z)(ee=>{if(ei)return ee.preventDefault();ed.onChange(es),0===ec.mode&&(ed.closeListbox(),(0,nh.k)().nextFrame(()=>{var ee;return null==(ee=ec.buttonRef.current)?void 0:ee.focus({preventScroll:!0})}))}),ey=(0,nm.z)(()=>{if(ei)return ed.goToOption(nj.Nothing);ed.goToOption(nj.Specific,eo)}),eb=use_tracked_pointer_u(),e_=(0,nm.z)(ee=>eb.update(ee)),ew=(0,nm.z)(ee=>{eb.wasMoved(ee)&&(ei||ep||ed.goToOption(nj.Specific,eo,0))}),eC=(0,nm.z)(ee=>{eb.wasMoved(ee)&&(ei||ep&&ed.goToOption(nj.Nothing))}),eT=(0,ek.useMemo)(()=>({active:ep,selected:ef,disabled:ei}),[ep,ef,ei]);return(0,no.sY)({ourProps:{id:eo,ref:eg,role:"option",tabIndex:!0===ei?void 0:-1,"aria-disabled":!0===ei||void 0,"aria-selected":ef,disabled:void 0,onClick:ev,onFocus:ey,onPointerEnter:e_,onMouseEnter:e_,onPointerMove:ew,onMouseMove:ew,onPointerLeave:eC,onMouseLeave:eC},theirProps:eu,slot:eT,defaultTag:nG,name:"Listbox.Option"})}let nK=Object.assign((0,no.yV)(Qe),{Button:(0,no.yV)(Xe),Label:(0,no.yV)(ze),Options:(0,no.yV)(Ye),Option:(0,no.yV)(et)});var nq=er(73935),nY=er(9008),nQ=er.n(nY);function _extends(){return(_extends=Object.assign?Object.assign.bind():function(ee){for(var en=1;en=0||(ei[er]=ee[er]);return ei}var nX=["keyOverride"],nJ=["crossOrigin"],n0={templateTitle:"",noindex:!1,nofollow:!1,norobots:!1,defaultOpenGraphImageWidth:0,defaultOpenGraphImageHeight:0,defaultOpenGraphVideoWidth:0,defaultOpenGraphVideoHeight:0},buildOpenGraphMediaTags=function(ee,en,er){void 0===en&&(en=[]);var eo=void 0===er?{}:er,ei=eo.defaultWidth,es=eo.defaultHeight;return en.reduce(function(en,er,eo){return en.push(ek.createElement("meta",{key:"og:"+ee+":0"+eo,property:"og:"+ee,content:er.url})),er.alt&&en.push(ek.createElement("meta",{key:"og:"+ee+":alt0"+eo,property:"og:"+ee+":alt",content:er.alt})),er.secureUrl&&en.push(ek.createElement("meta",{key:"og:"+ee+":secure_url0"+eo,property:"og:"+ee+":secure_url",content:er.secureUrl.toString()})),er.type&&en.push(ek.createElement("meta",{key:"og:"+ee+":type0"+eo,property:"og:"+ee+":type",content:er.type.toString()})),er.width?en.push(ek.createElement("meta",{key:"og:"+ee+":width0"+eo,property:"og:"+ee+":width",content:er.width.toString()})):ei&&en.push(ek.createElement("meta",{key:"og:"+ee+":width0"+eo,property:"og:"+ee+":width",content:ei.toString()})),er.height?en.push(ek.createElement("meta",{key:"og:"+ee+":height"+eo,property:"og:"+ee+":height",content:er.height.toString()})):es&&en.push(ek.createElement("meta",{key:"og:"+ee+":height"+eo,property:"og:"+ee+":height",content:es.toString()})),en},[])},buildTags=function(ee){var en,er,eo,ei,es,eu=[];ee.titleTemplate&&(n0.templateTitle=ee.titleTemplate);var ec="";ee.title?(ec=ee.title,n0.templateTitle&&(ec=n0.templateTitle.replace(/%s/g,function(){return ec}))):ee.defaultTitle&&(ec=ee.defaultTitle),ec&&eu.push(ek.createElement("title",{key:"title"},ec));var ed=void 0===ee.noindex?n0.noindex||ee.dangerouslySetAllPagesToNoIndex:ee.noindex,ep=void 0===ee.nofollow?n0.nofollow||ee.dangerouslySetAllPagesToNoFollow:ee.nofollow,ef=ee.norobots||n0.norobots,eh="";if(ee.robotsProps){var em=ee.robotsProps,ex=em.nosnippet,eg=em.maxSnippet,ev=em.maxImagePreview,ey=em.maxVideoPreview,eb=em.noarchive,e_=em.noimageindex,ew=em.notranslate,eC=em.unavailableAfter;eh=(ex?",nosnippet":"")+(eg?",max-snippet:"+eg:"")+(ev?",max-image-preview:"+ev:"")+(eb?",noarchive":"")+(eC?",unavailable_after:"+eC:"")+(e_?",noimageindex":"")+(ey?",max-video-preview:"+ey:"")+(ew?",notranslate":"")}if(ee.norobots&&(n0.norobots=!0),ed||ep?(ee.dangerouslySetAllPagesToNoIndex&&(n0.noindex=!0),ee.dangerouslySetAllPagesToNoFollow&&(n0.nofollow=!0),eu.push(ek.createElement("meta",{key:"robots",name:"robots",content:(ed?"noindex":"index")+","+(ep?"nofollow":"follow")+eh}))):(!ef||eh)&&eu.push(ek.createElement("meta",{key:"robots",name:"robots",content:"index,follow"+eh})),ee.description&&eu.push(ek.createElement("meta",{key:"description",name:"description",content:ee.description})),ee.themeColor&&eu.push(ek.createElement("meta",{key:"theme-color",name:"theme-color",content:ee.themeColor})),ee.mobileAlternate&&eu.push(ek.createElement("link",{rel:"alternate",key:"mobileAlternate",media:ee.mobileAlternate.media,href:ee.mobileAlternate.href})),ee.languageAlternates&&ee.languageAlternates.length>0&&ee.languageAlternates.forEach(function(ee){eu.push(ek.createElement("link",{rel:"alternate",key:"languageAlternate-"+ee.hrefLang,hrefLang:ee.hrefLang,href:ee.href}))}),ee.twitter&&(ee.twitter.cardType&&eu.push(ek.createElement("meta",{key:"twitter:card",name:"twitter:card",content:ee.twitter.cardType})),ee.twitter.site&&eu.push(ek.createElement("meta",{key:"twitter:site",name:"twitter:site",content:ee.twitter.site})),ee.twitter.handle&&eu.push(ek.createElement("meta",{key:"twitter:creator",name:"twitter:creator",content:ee.twitter.handle}))),ee.facebook&&ee.facebook.appId&&eu.push(ek.createElement("meta",{key:"fb:app_id",property:"fb:app_id",content:ee.facebook.appId})),(null!=(en=ee.openGraph)&&en.title||ec)&&eu.push(ek.createElement("meta",{key:"og:title",property:"og:title",content:(null==(ei=ee.openGraph)?void 0:ei.title)||ec})),(null!=(er=ee.openGraph)&&er.description||ee.description)&&eu.push(ek.createElement("meta",{key:"og:description",property:"og:description",content:(null==(es=ee.openGraph)?void 0:es.description)||ee.description})),ee.openGraph){if((ee.openGraph.url||ee.canonical)&&eu.push(ek.createElement("meta",{key:"og:url",property:"og:url",content:ee.openGraph.url||ee.canonical})),ee.openGraph.type){var eT=ee.openGraph.type.toLowerCase();eu.push(ek.createElement("meta",{key:"og:type",property:"og:type",content:eT})),"profile"===eT&&ee.openGraph.profile?(ee.openGraph.profile.firstName&&eu.push(ek.createElement("meta",{key:"profile:first_name",property:"profile:first_name",content:ee.openGraph.profile.firstName})),ee.openGraph.profile.lastName&&eu.push(ek.createElement("meta",{key:"profile:last_name",property:"profile:last_name",content:ee.openGraph.profile.lastName})),ee.openGraph.profile.username&&eu.push(ek.createElement("meta",{key:"profile:username",property:"profile:username",content:ee.openGraph.profile.username})),ee.openGraph.profile.gender&&eu.push(ek.createElement("meta",{key:"profile:gender",property:"profile:gender",content:ee.openGraph.profile.gender}))):"book"===eT&&ee.openGraph.book?(ee.openGraph.book.authors&&ee.openGraph.book.authors.length&&ee.openGraph.book.authors.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"book:author:0"+en,property:"book:author",content:ee}))}),ee.openGraph.book.isbn&&eu.push(ek.createElement("meta",{key:"book:isbn",property:"book:isbn",content:ee.openGraph.book.isbn})),ee.openGraph.book.releaseDate&&eu.push(ek.createElement("meta",{key:"book:release_date",property:"book:release_date",content:ee.openGraph.book.releaseDate})),ee.openGraph.book.tags&&ee.openGraph.book.tags.length&&ee.openGraph.book.tags.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"book:tag:0"+en,property:"book:tag",content:ee}))})):"article"===eT&&ee.openGraph.article?(ee.openGraph.article.publishedTime&&eu.push(ek.createElement("meta",{key:"article:published_time",property:"article:published_time",content:ee.openGraph.article.publishedTime})),ee.openGraph.article.modifiedTime&&eu.push(ek.createElement("meta",{key:"article:modified_time",property:"article:modified_time",content:ee.openGraph.article.modifiedTime})),ee.openGraph.article.expirationTime&&eu.push(ek.createElement("meta",{key:"article:expiration_time",property:"article:expiration_time",content:ee.openGraph.article.expirationTime})),ee.openGraph.article.authors&&ee.openGraph.article.authors.length&&ee.openGraph.article.authors.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"article:author:0"+en,property:"article:author",content:ee}))}),ee.openGraph.article.section&&eu.push(ek.createElement("meta",{key:"article:section",property:"article:section",content:ee.openGraph.article.section})),ee.openGraph.article.tags&&ee.openGraph.article.tags.length&&ee.openGraph.article.tags.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"article:tag:0"+en,property:"article:tag",content:ee}))})):("video.movie"===eT||"video.episode"===eT||"video.tv_show"===eT||"video.other"===eT)&&ee.openGraph.video&&(ee.openGraph.video.actors&&ee.openGraph.video.actors.length&&ee.openGraph.video.actors.forEach(function(ee,en){ee.profile&&eu.push(ek.createElement("meta",{key:"video:actor:0"+en,property:"video:actor",content:ee.profile})),ee.role&&eu.push(ek.createElement("meta",{key:"video:actor:role:0"+en,property:"video:actor:role",content:ee.role}))}),ee.openGraph.video.directors&&ee.openGraph.video.directors.length&&ee.openGraph.video.directors.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"video:director:0"+en,property:"video:director",content:ee}))}),ee.openGraph.video.writers&&ee.openGraph.video.writers.length&&ee.openGraph.video.writers.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"video:writer:0"+en,property:"video:writer",content:ee}))}),ee.openGraph.video.duration&&eu.push(ek.createElement("meta",{key:"video:duration",property:"video:duration",content:ee.openGraph.video.duration.toString()})),ee.openGraph.video.releaseDate&&eu.push(ek.createElement("meta",{key:"video:release_date",property:"video:release_date",content:ee.openGraph.video.releaseDate})),ee.openGraph.video.tags&&ee.openGraph.video.tags.length&&ee.openGraph.video.tags.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"video:tag:0"+en,property:"video:tag",content:ee}))}),ee.openGraph.video.series&&eu.push(ek.createElement("meta",{key:"video:series",property:"video:series",content:ee.openGraph.video.series})))}ee.defaultOpenGraphImageWidth&&(n0.defaultOpenGraphImageWidth=ee.defaultOpenGraphImageWidth),ee.defaultOpenGraphImageHeight&&(n0.defaultOpenGraphImageHeight=ee.defaultOpenGraphImageHeight),ee.openGraph.images&&ee.openGraph.images.length&&eu.push.apply(eu,buildOpenGraphMediaTags("image",ee.openGraph.images,{defaultWidth:n0.defaultOpenGraphImageWidth,defaultHeight:n0.defaultOpenGraphImageHeight})),ee.defaultOpenGraphVideoWidth&&(n0.defaultOpenGraphVideoWidth=ee.defaultOpenGraphVideoWidth),ee.defaultOpenGraphVideoHeight&&(n0.defaultOpenGraphVideoHeight=ee.defaultOpenGraphVideoHeight),ee.openGraph.videos&&ee.openGraph.videos.length&&eu.push.apply(eu,buildOpenGraphMediaTags("video",ee.openGraph.videos,{defaultWidth:n0.defaultOpenGraphVideoWidth,defaultHeight:n0.defaultOpenGraphVideoHeight})),ee.openGraph.audio&&eu.push.apply(eu,buildOpenGraphMediaTags("audio",ee.openGraph.audio)),ee.openGraph.locale&&eu.push(ek.createElement("meta",{key:"og:locale",property:"og:locale",content:ee.openGraph.locale})),(ee.openGraph.siteName||ee.openGraph.site_name)&&eu.push(ek.createElement("meta",{key:"og:site_name",property:"og:site_name",content:ee.openGraph.siteName||ee.openGraph.site_name}))}return ee.canonical&&eu.push(ek.createElement("link",{rel:"canonical",href:ee.canonical,key:"canonical"})),ee.additionalMetaTags&&ee.additionalMetaTags.length>0&&ee.additionalMetaTags.forEach(function(ee){var en,er,eo=ee.keyOverride,ei=_objectWithoutPropertiesLoose(ee,nX);eu.push(ek.createElement("meta",_extends({key:"meta:"+(null!=(en=null!=(er=null!=eo?eo:ei.name)?er:ei.property)?en:ei.httpEquiv)},ei)))}),null!=(eo=ee.additionalLinkTags)&&eo.length&&ee.additionalLinkTags.forEach(function(ee){var en,er=ee.crossOrigin,eo=_objectWithoutPropertiesLoose(ee,nJ),ei="anonymous"===er||"use-credentials"===er||""===er?er:void 0;eu.push(ek.createElement("link",_extends({key:"link"+(null!=(en=eo.keyOverride)?en:eo.href)+eo.rel},eo,{crossOrigin:ei})))}),eu},WithHead=function(ee){return ek.createElement(nQ(),null,buildTags(ee))},NextSeo=function(ee){var en=ee.title,er=ee.themeColor,eo=ee.noindex,ei=ee.nofollow,es=ee.robotsProps,eu=ee.description,ec=ee.canonical,ed=ee.openGraph,ep=ee.facebook,ef=ee.twitter,eh=ee.additionalMetaTags,em=ee.titleTemplate,ex=ee.defaultTitle,eg=ee.mobileAlternate,ev=ee.languageAlternates,ey=ee.additionalLinkTags;return ek.createElement(ek.Fragment,null,ek.createElement(WithHead,{title:en,themeColor:er,noindex:eo,nofollow:ei,robotsProps:es,description:eu,canonical:ec,facebook:ep,openGraph:ed,additionalMetaTags:eh,twitter:ef,titleTemplate:em,defaultTitle:ex,mobileAlternate:eg,languageAlternates:ev,additionalLinkTags:ey}))};function F({container:ee,accept:en,walk:er,enabled:eo=!0}){let ei=(0,ek.useRef)(en),es=(0,ek.useRef)(er);(0,ek.useEffect)(()=>{ei.current=en,es.current=er},[en,er]),(0,nc.e)(()=>{if(!ee||!eo)return;let en=(0,nR.r)(ee);if(!en)return;let er=ei.current,eu=es.current,ec=Object.assign(ee=>er(ee),{acceptNode:er}),ed=en.createTreeWalker(ee,NodeFilter.SHOW_ELEMENT,ec,!1);for(;ed.nextNode();)eu(ed.currentNode)},[ee,eo,ei,es])}function use_owner_n(...ee){return(0,ek.useMemo)(()=>(0,nR.r)(...ee),[...ee])}RegExp("["+Object.keys(Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'"})).join("")+"]","g");var n1=((eh=n1||{})[eh.Open=0]="Open",eh[eh.Closed=1]="Closed",eh),n2=((em=n2||{})[em.Pointer=0]="Pointer",em[em.Other=1]="Other",em),n4=((ex=n4||{})[ex.OpenMenu=0]="OpenMenu",ex[ex.CloseMenu=1]="CloseMenu",ex[ex.GoToItem=2]="GoToItem",ex[ex.Search=3]="Search",ex[ex.ClearSearch=4]="ClearSearch",ex[ex.RegisterItem=5]="RegisterItem",ex[ex.UnregisterItem=6]="UnregisterItem",ex);function w(ee,en=ee=>ee){let er=null!==ee.activeItemIndex?ee.items[ee.activeItemIndex]:null,eo=(0,nI.z2)(en(ee.items.slice()),ee=>ee.dataRef.current.domRef.current),ei=er?eo.indexOf(er):null;return -1===ei&&(ei=null),{items:eo,activeItemIndex:ei}}let n3={1:ee=>1===ee.menuState?ee:{...ee,activeItemIndex:null,menuState:1},0:ee=>0===ee.menuState?ee:{...ee,__demoMode:!1,menuState:0},2:(ee,en)=>{var er;let eo=w(ee),ei=x(en,{resolveItems:()=>eo.items,resolveActiveIndex:()=>eo.activeItemIndex,resolveId:ee=>ee.id,resolveDisabled:ee=>ee.dataRef.current.disabled});return{...ee,...eo,searchQuery:"",activeItemIndex:ei,activationTrigger:null!=(er=en.trigger)?er:1}},3:(ee,en)=>{let er=""!==ee.searchQuery?0:1,eo=ee.searchQuery+en.value.toLowerCase(),ei=(null!==ee.activeItemIndex?ee.items.slice(ee.activeItemIndex+er).concat(ee.items.slice(0,ee.activeItemIndex+er)):ee.items).find(ee=>{var en;return(null==(en=ee.dataRef.current.textValue)?void 0:en.startsWith(eo))&&!ee.dataRef.current.disabled}),es=ei?ee.items.indexOf(ei):-1;return -1===es||es===ee.activeItemIndex?{...ee,searchQuery:eo}:{...ee,searchQuery:eo,activeItemIndex:es,activationTrigger:1}},4:ee=>""===ee.searchQuery?ee:{...ee,searchQuery:"",searchActiveItemIndex:null},5:(ee,en)=>{let er=w(ee,ee=>[...ee,{id:en.id,dataRef:en.dataRef}]);return{...ee,...er}},6:(ee,en)=>{let er=w(ee,ee=>{let er=ee.findIndex(ee=>ee.id===en.id);return -1!==er&&ee.splice(er,1),ee});return{...ee,...er,activationTrigger:1}}},n5=(0,ek.createContext)(null);function O(ee){let en=(0,ek.useContext)(n5);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,O),en}return en}function menu_ye(ee,en){return(0,nl.E)(en.type,n3,ee,en)}n5.displayName="MenuContext";let n6=ek.Fragment;function Me(ee,en){let{__demoMode:er=!1,...eo}=ee,ei=(0,ek.useReducer)(menu_ye,{__demoMode:er,menuState:er?0:1,buttonRef:(0,ek.createRef)(),itemsRef:(0,ek.createRef)(),items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1}),[{menuState:es,itemsRef:eu,buttonRef:ec},ed]=ei,ep=(0,nf.T)(en);use_outside_click_h([ec,eu],(ee,en)=>{var er;ed({type:1}),(0,nI.sP)(en,nI.tJ.Loose)||(ee.preventDefault(),null==(er=ec.current)||er.focus())},0===es);let ef=(0,nm.z)(()=>{ed({type:1})}),eh=(0,ek.useMemo)(()=>({open:0===es,close:ef}),[es,ef]),em={ref:ep};return ek.createElement(n5.Provider,{value:ei},ek.createElement(open_closed_c,{value:(0,nl.E)(es,{0:ns.Open,1:ns.Closed})},(0,no.sY)({ourProps:em,theirProps:eo,slot:eh,defaultTag:n6,name:"Menu"})))}let n7="button";function menu_Re(ee,en){var er;let eo=(0,nO.M)(),{id:ei=`headlessui-menu-button-${eo}`,...es}=ee,[eu,ec]=O("Menu.Button"),ed=(0,nf.T)(eu.buttonRef,en),ep=use_disposables_p(),ef=(0,nm.z)(ee=>{switch(ee.key){case nS.R.Space:case nS.R.Enter:case nS.R.ArrowDown:ee.preventDefault(),ee.stopPropagation(),ec({type:0}),ep.nextFrame(()=>ec({type:2,focus:nj.First}));break;case nS.R.ArrowUp:ee.preventDefault(),ee.stopPropagation(),ec({type:0}),ep.nextFrame(()=>ec({type:2,focus:nj.Last}))}}),eh=(0,nm.z)(ee=>{ee.key===nS.R.Space&&ee.preventDefault()}),em=(0,nm.z)(en=>{if(bugs_r(en.currentTarget))return en.preventDefault();ee.disabled||(0===eu.menuState?(ec({type:1}),ep.nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})})):(en.preventDefault(),ec({type:0})))}),ex=(0,ek.useMemo)(()=>({open:0===eu.menuState}),[eu]),eg={ref:ed,id:ei,type:(0,nP.f)(ee,eu.buttonRef),"aria-haspopup":"menu","aria-controls":null==(er=eu.itemsRef.current)?void 0:er.id,"aria-expanded":0===eu.menuState,onKeyDown:ef,onKeyUp:eh,onClick:em};return(0,no.sY)({ourProps:eg,theirProps:es,slot:ex,defaultTag:n7,name:"Menu.Button"})}let n9="div",n8=no.AN.RenderStrategy|no.AN.Static;function Ee(ee,en){var er,eo;let ei=(0,nO.M)(),{id:es=`headlessui-menu-items-${ei}`,...eu}=ee,[ec,ed]=O("Menu.Items"),ep=(0,nf.T)(ec.itemsRef,en),ef=use_owner_n(ec.itemsRef),eh=use_disposables_p(),em=C(),ex=null!==em?(em&ns.Open)===ns.Open:0===ec.menuState;(0,ek.useEffect)(()=>{let ee=ec.itemsRef.current;ee&&0===ec.menuState&&ee!==(null==ef?void 0:ef.activeElement)&&ee.focus({preventScroll:!0})},[ec.menuState,ec.itemsRef,ef]),F({container:ec.itemsRef.current,enabled:0===ec.menuState,accept:ee=>"menuitem"===ee.getAttribute("role")?NodeFilter.FILTER_REJECT:ee.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT,walk(ee){ee.setAttribute("role","none")}});let eg=(0,nm.z)(ee=>{var en,er;switch(eh.dispose(),ee.key){case nS.R.Space:if(""!==ec.searchQuery)return ee.preventDefault(),ee.stopPropagation(),ed({type:3,value:ee.key});case nS.R.Enter:if(ee.preventDefault(),ee.stopPropagation(),ed({type:1}),null!==ec.activeItemIndex){let{dataRef:ee}=ec.items[ec.activeItemIndex];null==(er=null==(en=ee.current)?void 0:en.domRef.current)||er.click()}(0,nI.wI)(ec.buttonRef.current);break;case nS.R.ArrowDown:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.Next});case nS.R.ArrowUp:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.Previous});case nS.R.Home:case nS.R.PageUp:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.First});case nS.R.End:case nS.R.PageDown:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.Last});case nS.R.Escape:ee.preventDefault(),ee.stopPropagation(),ed({type:1}),(0,nh.k)().nextFrame(()=>{var ee;return null==(ee=ec.buttonRef.current)?void 0:ee.focus({preventScroll:!0})});break;case nS.R.Tab:ee.preventDefault(),ee.stopPropagation(),ed({type:1}),(0,nh.k)().nextFrame(()=>{(0,nI.EO)(ec.buttonRef.current,ee.shiftKey?nI.TO.Previous:nI.TO.Next)});break;default:1===ee.key.length&&(ed({type:3,value:ee.key}),eh.setTimeout(()=>ed({type:4}),350))}}),ev=(0,nm.z)(ee=>{ee.key===nS.R.Space&&ee.preventDefault()}),ey=(0,ek.useMemo)(()=>({open:0===ec.menuState}),[ec]),eb={"aria-activedescendant":null===ec.activeItemIndex||null==(er=ec.items[ec.activeItemIndex])?void 0:er.id,"aria-labelledby":null==(eo=ec.buttonRef.current)?void 0:eo.id,id:es,onKeyDown:eg,onKeyUp:ev,role:"menu",tabIndex:0,ref:ep};return(0,no.sY)({ourProps:eb,theirProps:eu,slot:ey,defaultTag:n9,features:n8,visible:ex,name:"Menu.Items"})}let rn=ek.Fragment;function menu_Pe(ee,en){let er=(0,nO.M)(),{id:eo=`headlessui-menu-item-${er}`,disabled:ei=!1,...es}=ee,[eu,ec]=O("Menu.Item"),ed=null!==eu.activeItemIndex&&eu.items[eu.activeItemIndex].id===eo,ep=(0,ek.useRef)(null),ef=(0,nf.T)(en,ep);(0,nc.e)(()=>{if(eu.__demoMode||0!==eu.menuState||!ed||0===eu.activationTrigger)return;let ee=(0,nh.k)();return ee.requestAnimationFrame(()=>{var ee,en;null==(en=null==(ee=ep.current)?void 0:ee.scrollIntoView)||en.call(ee,{block:"nearest"})}),ee.dispose},[eu.__demoMode,ep,ed,eu.menuState,eu.activationTrigger,eu.activeItemIndex]);let eh=use_text_value_b(ep),em=(0,ek.useRef)({disabled:ei,domRef:ep,get textValue(){return eh()}});(0,nc.e)(()=>{em.current.disabled=ei},[em,ei]),(0,nc.e)(()=>(ec({type:5,id:eo,dataRef:em}),()=>ec({type:6,id:eo})),[em,eo]);let ex=(0,nm.z)(()=>{ec({type:1})}),eg=(0,nm.z)(ee=>{if(ei)return ee.preventDefault();ec({type:1}),(0,nI.wI)(eu.buttonRef.current)}),ev=(0,nm.z)(()=>{if(ei)return ec({type:2,focus:nj.Nothing});ec({type:2,focus:nj.Specific,id:eo})}),ey=use_tracked_pointer_u(),eb=(0,nm.z)(ee=>ey.update(ee)),e_=(0,nm.z)(ee=>{ey.wasMoved(ee)&&(ei||ed||ec({type:2,focus:nj.Specific,id:eo,trigger:0}))}),ew=(0,nm.z)(ee=>{ey.wasMoved(ee)&&(ei||ed&&ec({type:2,focus:nj.Nothing}))}),eC=(0,ek.useMemo)(()=>({active:ed,disabled:ei,close:ex}),[ed,ei,ex]);return(0,no.sY)({ourProps:{id:eo,ref:ef,role:"menuitem",tabIndex:!0===ei?void 0:-1,"aria-disabled":!0===ei||void 0,disabled:void 0,onClick:eg,onFocus:ev,onPointerEnter:eb,onMouseEnter:eb,onPointerMove:e_,onMouseMove:e_,onPointerLeave:ew,onMouseLeave:ew},theirProps:es,slot:eC,defaultTag:rn,name:"Menu.Item"})}let rr=Object.assign((0,no.yV)(Me),{Button:(0,no.yV)(menu_Re),Items:(0,no.yV)(Ee),Item:(0,no.yV)(menu_Pe)}),dist_t=ee=>"object"==typeof ee&&null!=ee&&1===ee.nodeType,e=(ee,en)=>(!en||"hidden"!==ee)&&"visible"!==ee&&"clip"!==ee,dist_n=(ee,en)=>{if(ee.clientHeight{let en=(ee=>{if(!ee.ownerDocument||!ee.ownerDocument.defaultView)return null;try{return ee.ownerDocument.defaultView.frameElement}catch(ee){return null}})(ee);return!!en&&(en.clientHeightesen||es>ee&&eu=en&&ec>=er?es-ee-eo:eu>en&&ecer?eu-en+ei:0,l=ee=>{let en=ee.parentElement;return null==en?ee.getRootNode().host||null:en},dist_r=(ee,en)=>{var er,eo,ei,es;if("undefined"==typeof document)return[];let{scrollMode:eu,block:ec,inline:ed,boundary:ep,skipOverflowHiddenElements:ef}=en,eh="function"==typeof ep?ep:ee=>ee!==ep;if(!dist_t(ee))throw TypeError("Invalid target");let em=document.scrollingElement||document.documentElement,ex=[],eg=ee;for(;dist_t(eg)&&eh(eg);){if((eg=l(eg))===em){ex.push(eg);break}null!=eg&&eg===document.body&&dist_n(eg)&&!dist_n(document.documentElement)||null!=eg&&dist_n(eg,ef)&&ex.push(eg)}let ev=null!=(eo=null==(er=window.visualViewport)?void 0:er.width)?eo:innerWidth,ey=null!=(es=null==(ei=window.visualViewport)?void 0:ei.height)?es:innerHeight,{scrollX:eb,scrollY:e_}=window,{height:ew,width:ek,top:eC,right:eT,bottom:eE,left:eO}=ee.getBoundingClientRect(),{top:eS,right:ej,bottom:eI,left:eP}=(ee=>{let en=window.getComputedStyle(ee);return{top:parseFloat(en.scrollMarginTop)||0,right:parseFloat(en.scrollMarginRight)||0,bottom:parseFloat(en.scrollMarginBottom)||0,left:parseFloat(en.scrollMarginLeft)||0}})(ee),eN="start"===ec||"nearest"===ec?eC-eS:"end"===ec?eE+eI:eC+ew/2-eS+eI,eR="center"===ed?eO+ek/2-eP+ej:"end"===ed?eT+ej:eO-eP,eZ=[];for(let ee=0;ee=0&&eO>=0&&eE<=ey&&eT<=ev&&eC>=ei&&eE<=ep&&eO>=ef&&eT<=es)break;let eh=getComputedStyle(en),eg=parseInt(eh.borderLeftWidth,10),eS=parseInt(eh.borderTopWidth,10),ej=parseInt(eh.borderRightWidth,10),eI=parseInt(eh.borderBottomWidth,10),eP=0,eM=0,eA="offsetWidth"in en?en.offsetWidth-en.clientWidth-eg-ej:0,eL="offsetHeight"in en?en.offsetHeight-en.clientHeight-eS-eI:0,eD="offsetWidth"in en?0===en.offsetWidth?0:eo/en.offsetWidth:0,eF="offsetHeight"in en?0===en.offsetHeight?0:er/en.offsetHeight:0;if(em===en)eP="start"===ec?eN:"end"===ec?eN-ey:"nearest"===ec?dist_o(e_,e_+ey,ey,eS,eI,e_+eN,e_+eN+ew,ew):eN-ey/2,eM="start"===ed?eR:"center"===ed?eR-ev/2:"end"===ed?eR-ev:dist_o(eb,eb+ev,ev,eg,ej,eb+eR,eb+eR+ek,ek),eP=Math.max(0,eP+e_),eM=Math.max(0,eM+eb);else{eP="start"===ec?eN-ei-eS:"end"===ec?eN-ep+eI+eL:"nearest"===ec?dist_o(ei,ep,er,eS,eI+eL,eN,eN+ew,ew):eN-(ei+er/2)+eL/2,eM="start"===ed?eR-ef-eg:"center"===ed?eR-(ef+eo/2)+eA/2:"end"===ed?eR-es+ej+eA:dist_o(ef,es,eo,eg,ej+eA,eR,eR+ek,ek);let{scrollLeft:ee,scrollTop:eu}=en;eP=0===eF?0:Math.max(0,Math.min(eu+eP/eF,en.scrollHeight-er/eF+eL)),eM=0===eD?0:Math.max(0,Math.min(ee+eM/eD,en.scrollWidth-eo/eD+eA)),eN+=eu-eP,eR+=ee-eM}eZ.push({el:en,top:eP,left:eM})}return eZ},scroll_into_view_if_needed_dist_o=ee=>{var en;return!1===ee?{block:"end",inline:"nearest"}:(en=ee,en===Object(en)&&0!==Object.keys(en).length)?ee:{block:"start",inline:"nearest"}};function dist_e(ee,en){var er;if(!ee.isConnected||!(ee=>{let en=ee;for(;en&&en.parentNode;){if(en.parentNode===document)return!0;en=en.parentNode instanceof ShadowRoot?en.parentNode.host:en.parentNode}return!1})(ee))return;let eo=(ee=>{let en=window.getComputedStyle(ee);return{top:parseFloat(en.scrollMarginTop)||0,right:parseFloat(en.scrollMarginRight)||0,bottom:parseFloat(en.scrollMarginBottom)||0,left:parseFloat(en.scrollMarginLeft)||0}})(ee);if("object"==typeof(er=en)&&"function"==typeof er.behavior)return en.behavior(dist_r(ee,en));let ei="boolean"==typeof en||null==en?void 0:en.behavior;for(let{el:er,top:es,left:eu}of dist_r(ee,scroll_into_view_if_needed_dist_o(en))){let ee=es-eo.top+eo.bottom,en=eu-eo.left+eo.right;er.scroll({top:ee,left:en,behavior:ei})}}var ro=er(87462),ri=er(76826),rs=er.n(ri),rl={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0};matchSorter.rankings=rl;var defaultBaseSortFn=function(ee,en){return String(ee.rankedValue).localeCompare(String(en.rankedValue))};function matchSorter(ee,en,er){void 0===er&&(er={});var eo=er,ei=eo.keys,es=eo.threshold,eu=void 0===es?rl.MATCHES:es,ec=eo.baseSort,ed=void 0===ec?defaultBaseSortFn:ec,ep=eo.sorter;return(void 0===ep?function(ee){return ee.sort(function(ee,en){return sortRankedValues(ee,en,ed)})}:ep)(ee.reduce(reduceItemsToRanked,[])).map(function(ee){return ee.item});function reduceItemsToRanked(ee,eo,es){var ec=getHighestRanking(eo,ei,en,er),ed=ec.rank,ep=ec.keyThreshold;return ed>=(void 0===ep?eu:ep)&&ee.push((0,ro.Z)({},ec,{item:eo,index:es})),ee}}function getHighestRanking(ee,en,er,eo){if(!en){var ei=ee;return{rankedValue:ei,rank:getMatchRanking(ei,er,eo),keyIndex:-1,keyThreshold:eo.threshold}}return getAllValuesToRank(ee,en).reduce(function(ee,en,ei){var es=ee.rank,eu=ee.rankedValue,ec=ee.keyIndex,ed=ee.keyThreshold,ep=en.itemValue,ef=en.attributes,eh=getMatchRanking(ep,er,eo),em=eu,ex=ef.minRanking,eg=ef.maxRanking,ev=ef.threshold;return eh=rl.MATCHES?eh=ex:eh>eg&&(eh=eg),eh>es&&(es=eh,ec=ei,ed=ev,em=ep),{rankedValue:em,rank:es,keyIndex:ec,keyThreshold:ed}},{rankedValue:ee,rank:rl.NO_MATCH,keyIndex:-1,keyThreshold:eo.threshold})}function getMatchRanking(ee,en,er){return(ee=prepareValueForComparison(ee,er),(en=prepareValueForComparison(en,er)).length>ee.length)?rl.NO_MATCH:ee===en?rl.CASE_SENSITIVE_EQUAL:(ee=ee.toLowerCase())===(en=en.toLowerCase())?rl.EQUAL:ee.startsWith(en)?rl.STARTS_WITH:ee.includes(" "+en)?rl.WORD_STARTS_WITH:ee.includes(en)?rl.CONTAINS:1===en.length?rl.NO_MATCH:getAcronym(ee).includes(en)?rl.ACRONYM:getClosenessRanking(ee,en)}function getAcronym(ee){var en="";return ee.split(" ").forEach(function(ee){ee.split("-").forEach(function(ee){en+=ee.substr(0,1)})}),en}function getClosenessRanking(ee,en){var er=0,eo=0;function findMatchingCharacter(ee,en,eo){for(var ei=eo,es=en.length;ei-1))return rl.NO_MATCH;return getRanking(eo-ei)}function sortRankedValues(ee,en,er){var eo=-1,ei=1,es=ee.rank,eu=ee.keyIndex,ec=en.rank,ed=en.keyIndex;return es!==ec?es>ec?eo:ei:eu===ed?er(ee,en):euen in ee?rd(ee,en,{enumerable:!0,configurable:!0,writable:!0,value:er}):ee[en]=er,__spreadValues=(ee,en)=>{for(var er in en||(en={}))rm.call(en,er)&&__defNormalProp(ee,er,en[er]);if(rh)for(var er of rh(en))rx.call(en,er)&&__defNormalProp(ee,er,en[er]);return ee},__spreadProps=(ee,en)=>rp(ee,rf(en)),__objRest=(ee,en)=>{var er={};for(var eo in ee)rm.call(ee,eo)&&0>en.indexOf(eo)&&(er[eo]=ee[eo]);if(null!=ee&&rh)for(var eo of rh(ee))0>en.indexOf(eo)&&rx.call(ee,eo)&&(er[eo]=ee[eo]);return er},__async=(ee,en,er)=>new Promise((eo,ei)=>{var fulfilled=ee=>{try{step(er.next(ee))}catch(ee){ei(ee)}},rejected=ee=>{try{step(er.throw(ee))}catch(ee){ei(ee)}},step=ee=>ee.done?eo(ee.value):Promise.resolve(ee.value).then(fulfilled,rejected);step((er=er.apply(ee,en)).next())}),rg=(0,ek.createContext)({}),rv=(0,ek.createContext)(ee=>ee),ry=(0,ek.createContext)(null),rb=new WeakMap,r_=(0,ek.createContext)(rb),useActiveAnchor=()=>(0,ek.useContext)(rg),useSetActiveAnchor=()=>(0,ek.useContext)(rv),useIntersectionObserver=()=>(0,ek.useContext)(ry),useSlugs=()=>(0,ek.useContext)(r_),ActiveAnchorProvider=({children:ee})=>{let[en,er]=(0,ek.useState)({}),eo=(0,ek.useRef)(null);return rK&&!eo.current&&(eo.current=new IntersectionObserver(ee=>{er(en=>{let er=__spreadValues({},en);for(let en of ee)if((null==en?void 0:en.rootBounds)&&rb.has(en.target)){let[ee,eo]=rb.get(en.target),ei=en.boundingClientRect.y+en.boundingClientRect.height<=en.rootBounds.y+en.rootBounds.height,es=en.intersectionRatio>0;er[ee]={index:eo,aboveHalfViewport:ei,insideHalfViewport:es}}let eo="",ei=1/0,es=-1;for(let ee in er)er[ee].isActive=!1,er[ee].insideHalfViewport&&er[ee].indexes&&(es=er[ee].index,eo=ee);return er[eo]&&(er[eo].isActive=!0),er})},{rootMargin:"0px 0px -50%",threshold:[0,1]})),(0,tC.jsx)(rg.Provider,{value:en,children:(0,tC.jsx)(rv.Provider,{value:er,children:(0,tC.jsx)(r_.Provider,{value:rb,children:(0,tC.jsx)(ry.Provider,{value:eo.current,children:ee})})})})},rw=(0,ek.createContext)({menu:!1,setMenu:()=>!1}),useMenu=()=>(0,ek.useContext)(rw),rk=rw.Provider,rC=(0,ek.createContext)(__spreadValues({title:"",frontMatter:{}},r0));function useConfig(){return(0,ek.useContext)(rC)}var ConfigProvider=({children:ee,value:{themeConfig:en,pageOpts:er}})=>{let[eo,ei]=(0,ek.useState)(!1);e_||(e_=__spreadValues(__spreadValues({},r0),Object.fromEntries(Object.entries(en).map(([ee,en])=>[ee,en&&"object"==typeof en&&r1.includes(ee)?__spreadValues(__spreadValues({},r0[ee]),en):en]))));let es=__spreadProps(__spreadValues(__spreadProps(__spreadValues({},e_),{flexsearch:er.flexsearch}),"boolean"==typeof er.newNextLinkBehavior&&{newNextLinkBehavior:er.newNextLinkBehavior}),{title:er.title,frontMatter:er.frontMatter}),{nextThemes:eu}=es;return(0,tC.jsx)($,{attribute:"class",disableTransitionOnChange:!0,defaultTheme:eu.defaultTheme,storageKey:eu.storageKey,forcedTheme:eu.forcedTheme,children:(0,tC.jsx)(rC.Provider,{value:es,children:(0,tC.jsx)(rk,{value:{menu:eo,setMenu:ei},children:ee})})})},rT=(0,ek.createContext)(ee=>ee),useDetails=()=>(0,ek.useContext)(rT),rE=rT.Provider,rO=Number(tk.i8.split(".")[0]),rS=(0,ek.forwardRef)(function(ee,en){var er=ee,{href:eo="",children:ei,newWindow:es}=er,eu=__objRest(er,["href","children","newWindow"]);let ec=useConfig();return es?(0,tC.jsxs)("a",__spreadProps(__spreadValues({ref:en,href:eo,target:"_blank",rel:"noreferrer"},eu),{children:[ei,(0,tC.jsx)("span",{className:"nx-sr-only nx-select-none",children:" (opens in a new tab)"})]})):eo?rO>12||ec.newNextLinkBehavior?(0,tC.jsx)(tw(),__spreadProps(__spreadValues({ref:en,href:eo},eu),{children:ei})):(0,tC.jsx)(tw(),{href:eo,passHref:!0,children:(0,tC.jsx)("a",__spreadProps(__spreadValues({ref:en},eu),{children:ei}))}):(0,tC.jsx)("a",__spreadProps(__spreadValues({ref:en},eu),{children:ei}))});rS.displayName="Anchor";var getGitIssueUrl=({repository:ee="",title:en,labels:er})=>{let eo=tV()(ee);if(!eo)throw Error("Invalid `docsRepositoryBase` URL!");return eo.resource.includes("gitlab")?`${eo.protocol}://${eo.resource}/${eo.owner}/${eo.name}/-/issues/new?issue[title]=${encodeURIComponent(en)}${er?`&issue[description]=/label${encodeURIComponent(` ~${er} + */function buildToken(ee){return"bitbucket.org"===ee.source?"x-token-auth:"+ee.token+"@":ee.token+"@"}function buildPath(ee){return"bitbucket-server"===ee.source?"scm/"+ee.full_name:""+ee.full_name}gitUrlParse.stringify=function(ee,en){en=en||(ee.protocols&&ee.protocols.length?ee.protocols.join("+"):ee.protocol);var er=ee.port?":"+ee.port:"",eo=ee.user||"git",ei=ee.git_suffix?".git":"";switch(en){case"ssh":if(er)return"ssh://"+eo+"@"+ee.resource+er+"/"+ee.full_name+ei;return eo+"@"+ee.resource+":"+ee.full_name+ei;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return en+"://"+eo+"@"+ee.resource+er+"/"+ee.full_name+ei;case"http":case"https":return en+"://"+(ee.token?buildToken(ee):ee.user&&(ee.protocols.includes("http")||ee.protocols.includes("https"))?ee.user+"@":"")+ee.resource+er+"/"+buildPath(ee)+ei;default:return ee.href}},ee.exports=gitUrlParse},66337:function(){!function(){"use strict";if("object"==typeof window){if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype){"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});return}var ee=function(ee){for(var en=ee,er=getFrameElement(en);er;)er=getFrameElement(en=er.ownerDocument);return en}(window.document),en=[],er=null,eo=null;IntersectionObserver.prototype.THROTTLE_TIMEOUT=100,IntersectionObserver.prototype.POLL_INTERVAL=null,IntersectionObserver.prototype.USE_MUTATION_OBSERVER=!0,IntersectionObserver._setupCrossOriginUpdater=function(){return er||(er=function(ee,er){eo=ee&&er?convertFromParentRect(ee,er):getEmptyRect(),en.forEach(function(ee){ee._checkForIntersections()})}),er},IntersectionObserver._resetCrossOriginUpdater=function(){er=null,eo=null},IntersectionObserver.prototype.observe=function(ee){if(!this._observationTargets.some(function(en){return en.element==ee})){if(!(ee&&1==ee.nodeType))throw Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:ee,entry:null}),this._monitorIntersections(ee.ownerDocument),this._checkForIntersections()}},IntersectionObserver.prototype.unobserve=function(ee){this._observationTargets=this._observationTargets.filter(function(en){return en.element!=ee}),this._unmonitorIntersections(ee.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},IntersectionObserver.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},IntersectionObserver.prototype.takeRecords=function(){var ee=this._queuedEntries.slice();return this._queuedEntries=[],ee},IntersectionObserver.prototype._initThresholds=function(ee){var en=ee||[0];return Array.isArray(en)||(en=[en]),en.sort().filter(function(ee,en,er){if("number"!=typeof ee||isNaN(ee)||ee<0||ee>1)throw Error("threshold must be a number between 0 and 1 inclusively");return ee!==er[en-1]})},IntersectionObserver.prototype._parseRootMargin=function(ee){var en=(ee||"0px").split(/\s+/).map(function(ee){var en=/^(-?\d*\.?\d+)(px|%)$/.exec(ee);if(!en)throw Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(en[1]),unit:en[2]}});return en[1]=en[1]||en[0],en[2]=en[2]||en[0],en[3]=en[3]||en[1],en},IntersectionObserver.prototype._monitorIntersections=function(en){var er=en.defaultView;if(er&&-1==this._monitoringDocuments.indexOf(en)){var eo=this._checkForIntersections,ei=null,es=null;if(this.POLL_INTERVAL?ei=er.setInterval(eo,this.POLL_INTERVAL):(addEvent(er,"resize",eo,!0),addEvent(en,"scroll",eo,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in er&&(es=new er.MutationObserver(eo)).observe(en,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(en),this._monitoringUnsubscribes.push(function(){var ee=en.defaultView;ee&&(ei&&ee.clearInterval(ei),removeEvent(ee,"resize",eo,!0)),removeEvent(en,"scroll",eo,!0),es&&es.disconnect()}),en!=(this.root&&(this.root.ownerDocument||this.root)||ee)){var eu=getFrameElement(en);eu&&this._monitorIntersections(eu.ownerDocument)}}},IntersectionObserver.prototype._unmonitorIntersections=function(en){var er=this._monitoringDocuments.indexOf(en);if(-1!=er){var eo=this.root&&(this.root.ownerDocument||this.root)||ee;if(!this._observationTargets.some(function(ee){var er=ee.element.ownerDocument;if(er==en)return!0;for(;er&&er!=eo;){var ei=getFrameElement(er);if((er=ei&&ei.ownerDocument)==en)return!0}return!1})){var ei=this._monitoringUnsubscribes[er];if(this._monitoringDocuments.splice(er,1),this._monitoringUnsubscribes.splice(er,1),ei(),en!=eo){var es=getFrameElement(en);es&&this._unmonitorIntersections(es.ownerDocument)}}}},IntersectionObserver.prototype._unmonitorAllIntersections=function(){var ee=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var en=0;enen.indexOf(this)&&en.push(this)},IntersectionObserver.prototype._unregisterInstance=function(){var ee=en.indexOf(this);-1!=ee&&en.splice(ee,1)},window.IntersectionObserver=IntersectionObserver,window.IntersectionObserverEntry=IntersectionObserverEntry}function getFrameElement(ee){try{return ee.defaultView&&ee.defaultView.frameElement||null}catch(ee){return null}}function IntersectionObserverEntry(ee){this.time=ee.time,this.target=ee.target,this.rootBounds=ensureDOMRect(ee.rootBounds),this.boundingClientRect=ensureDOMRect(ee.boundingClientRect),this.intersectionRect=ensureDOMRect(ee.intersectionRect||getEmptyRect()),this.isIntersecting=!!ee.intersectionRect;var en=this.boundingClientRect,er=en.width*en.height,eo=this.intersectionRect,ei=eo.width*eo.height;er?this.intersectionRatio=Number((ei/er).toFixed(4)):this.intersectionRatio=this.isIntersecting?1:0}function IntersectionObserver(ee,en){var er=en||{};if("function"!=typeof ee)throw Error("callback must be a function");if(er.root&&1!=er.root.nodeType&&9!=er.root.nodeType)throw Error("root must be a Document or Element");this._checkForIntersections=throttle(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=ee,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(er.rootMargin),this.thresholds=this._initThresholds(er.threshold),this.root=er.root||null,this.rootMargin=this._rootMarginValues.map(function(ee){return ee.value+ee.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function now(){return window.performance&&performance.now&&performance.now()}function throttle(ee,en){var er=null;return function(){er||(er=setTimeout(function(){ee(),er=null},en))}}function addEvent(ee,en,er,eo){"function"==typeof ee.addEventListener?ee.addEventListener(en,er,eo||!1):"function"==typeof ee.attachEvent&&ee.attachEvent("on"+en,er)}function removeEvent(ee,en,er,eo){"function"==typeof ee.removeEventListener?ee.removeEventListener(en,er,eo||!1):"function"==typeof ee.detachEvent&&ee.detachEvent("on"+en,er)}function computeRectIntersection(ee,en){var er=Math.max(ee.top,en.top),eo=Math.min(ee.bottom,en.bottom),ei=Math.max(ee.left,en.left),es=Math.min(ee.right,en.right),eu=es-ei,ec=eo-er;return eu>=0&&ec>=0&&{top:er,bottom:eo,left:ei,right:es,width:eu,height:ec}||null}function getBoundingClientRect(ee){var en;try{en=ee.getBoundingClientRect()}catch(ee){}return en?(en.width&&en.height||(en={top:en.top,right:en.right,bottom:en.bottom,left:en.left,width:en.right-en.left,height:en.bottom-en.top}),en):getEmptyRect()}function getEmptyRect(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function ensureDOMRect(ee){return!ee||"x"in ee?ee:{top:ee.top,y:ee.top,bottom:ee.bottom,left:ee.left,x:ee.left,right:ee.right,width:ee.width,height:ee.height}}function convertFromParentRect(ee,en){var er=en.top-ee.top,eo=en.left-ee.left;return{top:er,left:eo,height:en.height,width:en.width,bottom:er+en.height,right:eo+en.width}}function containsDeep(ee,en){for(var er=en;er;){if(er==ee)return!0;er=getParentNode(er)}return!1}function getParentNode(en){var er=en.parentNode;return 9==en.nodeType&&en!=ee?getFrameElement(en):(er&&er.assignedSlot&&(er=er.assignedSlot.parentNode),er&&11==er.nodeType&&er.host)?er.host:er}function isDoc(ee){return ee&&9===ee.nodeType}}()},99073:function(ee,en,er){"use strict";var eo=er(72337);function isSsh(ee){if(Array.isArray(ee))return -1!==ee.indexOf("ssh")||-1!==ee.indexOf("rsync");if("string"!=typeof ee)return!1;var en=eo(ee);if(ee=ee.substring(ee.indexOf("://")+3),isSsh(en))return!0;var er=RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!ee.match(er)&&ee.indexOf("@")-1}function listCacheSet(ee,en){var er=this.__data__,eo=assocIndexOf(er,ee);return eo<0?er.push([ee,en]):er[eo][1]=en,this}function MapCache(ee){var en=-1,er=ee?ee.length:0;for(this.clear();++en{}).then(()=>{if(ee.parentElement&&ee.isConnected){if("empty"!==en&&ei(!0),null==er?void 0:er.current){let en=new Event("load");Object.defineProperty(en,"target",{writable:!1,value:ee});let eo=!1,ei=!1;er.current({...en,nativeEvent:en,currentTarget:ee,target:ee,isDefaultPrevented:()=>eo,isPropagationStopped:()=>ei,persist:()=>{},preventDefault:()=>{eo=!0,en.preventDefault()},stopPropagation:()=>{ei=!0,en.stopPropagation()}})}(null==eo?void 0:eo.current)&&eo.current(ee)}})}function getDynamicProps(ee){let[en,er]=es.version.split("."),eo=parseInt(en,10),ei=parseInt(er,10);return eo>18||18===eo&&ei>=3?{fetchPriority:ee}:{fetchpriority:ee}}let eg=(0,es.forwardRef)((ee,en)=>{let{src:er,srcSet:eo,sizes:ei,height:eu,width:ec,decoding:ed,className:ep,style:ef,fetchPriority:eh,placeholder:em,loading:ex,unoptimized:eg,fill:ev,onLoadRef:ey,onLoadingCompleteRef:eb,setBlurComplete:e_,setShowAltText:ew,onLoad:ek,onError:eC,...eT}=ee;return es.default.createElement("img",{...eT,...getDynamicProps(eh),loading:ex,width:ec,height:eu,decoding:ed,"data-nimg":ev?"fill":"1",className:ep,style:ef,sizes:ei,srcSet:eo,src:er,ref:(0,es.useCallback)(ee=>{en&&("function"==typeof en?en(ee):"object"==typeof en&&(en.current=ee)),ee&&(eC&&(ee.src=ee.src),ee.complete&&handleLoading(ee,em,ey,eb,e_,eg))},[er,em,ey,eb,e_,eC,eg,en]),onLoad:ee=>{let en=ee.currentTarget;handleLoading(en,em,ey,eb,e_,eg)},onError:ee=>{ew(!0),"empty"!==em&&e_(!0),eC&&eC(ee)}})});function ImagePreload(ee){let{isAppRouter:en,imgAttributes:er}=ee,eo={as:"image",imageSrcSet:er.srcSet,imageSizes:er.sizes,crossOrigin:er.crossOrigin,referrerPolicy:er.referrerPolicy,...getDynamicProps(er.fetchPriority)};return en&&eu.default.preload?(eu.default.preload(er.src,eo),null):es.default.createElement(ec.default,null,es.default.createElement("link",{key:"__nimg-"+er.src+er.srcSet+er.sizes,rel:"preload",href:er.srcSet?void 0:er.src,...eo}))}let ev=(0,es.forwardRef)((ee,en)=>{let er=(0,es.useContext)(eh.RouterContext),eo=!er,ei=(0,es.useContext)(ef.ImageConfigContext),eu=(0,es.useMemo)(()=>{let ee=ex||ei||ep.imageConfigDefault,en=[...ee.deviceSizes,...ee.imageSizes].sort((ee,en)=>ee-en),er=ee.deviceSizes.sort((ee,en)=>ee-en);return{...ee,allSizes:en,deviceSizes:er}},[ei]),{onLoad:ec,onLoadingComplete:ev}=ee,ey=(0,es.useRef)(ec);(0,es.useEffect)(()=>{ey.current=ec},[ec]);let eb=(0,es.useRef)(ev);(0,es.useEffect)(()=>{eb.current=ev},[ev]);let[e_,ew]=(0,es.useState)(!1),[ek,eC]=(0,es.useState)(!1),{props:eT,meta:eE}=(0,ed.getImgProps)(ee,{defaultLoader:em.default,imgConf:eu,blurComplete:e_,showAltText:ek});return es.default.createElement(es.default.Fragment,null,es.default.createElement(eg,{...eT,unoptimized:eE.unoptimized,placeholder:eE.placeholder,fill:eE.fill,onLoadRef:ey,onLoadingCompleteRef:eb,setBlurComplete:ew,setShowAltText:eC,ref:en}),eE.priority?es.default.createElement(ImagePreload,{isAppRouter:eo,imgAttributes:eT}):null)});("function"==typeof en.default||"object"==typeof en.default&&null!==en.default)&&void 0===en.default.__esModule&&(Object.defineProperty(en.default,"__esModule",{value:!0}),Object.assign(en.default,en),ee.exports=en.default)},65170:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"default",{enumerable:!0,get:function(){return e_}});let eo=er(38754),ei=eo._(er(67294)),es=er(74450),eu=er(92227),ec=er(64364),ed=er(10109),ep=er(73607),ef=er(11823),eh=er(89031),em=er(40920),ex=er(10030),eg=er(77192),ev=er(97498),ey=new Set;function prefetch(ee,en,er,eo,ei,es){if(!es&&!(0,eu.isLocalURL)(en))return;if(!eo.bypassPrefetchedCheck){let ei=void 0!==eo.locale?eo.locale:"locale"in ee?ee.locale:void 0,es=en+"%"+er+"%"+ei;if(ey.has(es))return;ey.add(es)}let ec=es?ee.prefetch(en,ei):ee.prefetch(en,er,eo);Promise.resolve(ec).catch(ee=>{})}function isModifiedEvent(ee){let en=ee.currentTarget,er=en.getAttribute("target");return er&&"_self"!==er||ee.metaKey||ee.ctrlKey||ee.shiftKey||ee.altKey||ee.nativeEvent&&2===ee.nativeEvent.which}function linkClicked(ee,en,er,eo,es,ec,ed,ep,ef,eh){let{nodeName:em}=ee.currentTarget,ex="A"===em.toUpperCase();if(ex&&(isModifiedEvent(ee)||!ef&&!(0,eu.isLocalURL)(er)))return;ee.preventDefault();let navigate=()=>{let ee=null==ed||ed;"beforePopState"in en?en[es?"replace":"push"](er,eo,{shallow:ec,locale:ep,scroll:ee}):en[es?"replace":"push"](eo||er,{forceOptimisticNavigation:!eh,scroll:ee})};ef?ei.default.startTransition(navigate):navigate()}function formatStringOrUrl(ee){return"string"==typeof ee?ee:(0,ec.formatUrl)(ee)}let eb=ei.default.forwardRef(function(ee,en){let er,eo;let{href:eu,as:ec,children:ey,prefetch:eb=null,passHref:e_,replace:ew,shallow:ek,scroll:eC,locale:eT,onClick:eE,onMouseEnter:eO,onTouchStart:eS,legacyBehavior:ej=!1,...eI}=ee;er=ey,ej&&("string"==typeof er||"number"==typeof er)&&(er=ei.default.createElement("a",null,er));let eP=ei.default.useContext(ef.RouterContext),eN=ei.default.useContext(eh.AppRouterContext),eR=null!=eP?eP:eN,eZ=!eP,eM=!1!==eb,eA=null===eb?ev.PrefetchKind.AUTO:ev.PrefetchKind.FULL,{href:eL,as:eD}=ei.default.useMemo(()=>{if(!eP){let ee=formatStringOrUrl(eu);return{href:ee,as:ec?formatStringOrUrl(ec):ee}}let[ee,en]=(0,es.resolveHref)(eP,eu,!0);return{href:ee,as:ec?(0,es.resolveHref)(eP,ec):en||ee}},[eP,eu,ec]),eF=ei.default.useRef(eL),ez=ei.default.useRef(eD);ej&&(eo=ei.default.Children.only(er));let eV=ej?eo&&"object"==typeof eo&&eo.ref:en,[eU,eH,e$]=(0,em.useIntersection)({rootMargin:"200px"}),eB=ei.default.useCallback(ee=>{(ez.current!==eD||eF.current!==eL)&&(e$(),ez.current=eD,eF.current=eL),eU(ee),eV&&("function"==typeof eV?eV(ee):"object"==typeof eV&&(eV.current=ee))},[eD,eV,eL,e$,eU]);ei.default.useEffect(()=>{eR&&eH&&eM&&prefetch(eR,eL,eD,{locale:eT},{kind:eA},eZ)},[eD,eL,eH,eT,eM,null==eP?void 0:eP.locale,eR,eZ,eA]);let eW={ref:eB,onClick(ee){ej||"function"!=typeof eE||eE(ee),ej&&eo.props&&"function"==typeof eo.props.onClick&&eo.props.onClick(ee),eR&&!ee.defaultPrevented&&linkClicked(ee,eR,eL,eD,ew,ek,eC,eT,eZ,eM)},onMouseEnter(ee){ej||"function"!=typeof eO||eO(ee),ej&&eo.props&&"function"==typeof eo.props.onMouseEnter&&eo.props.onMouseEnter(ee),eR&&(eM||!eZ)&&prefetch(eR,eL,eD,{locale:eT,priority:!0,bypassPrefetchedCheck:!0},{kind:eA},eZ)},onTouchStart(ee){ej||"function"!=typeof eS||eS(ee),ej&&eo.props&&"function"==typeof eo.props.onTouchStart&&eo.props.onTouchStart(ee),eR&&(eM||!eZ)&&prefetch(eR,eL,eD,{locale:eT,priority:!0,bypassPrefetchedCheck:!0},{kind:eA},eZ)}};if((0,ed.isAbsoluteUrl)(eD))eW.href=eD;else if(!ej||e_||"a"===eo.type&&!("href"in eo.props)){let ee=void 0!==eT?eT:null==eP?void 0:eP.locale,en=(null==eP?void 0:eP.isLocaleDomain)&&(0,ex.getDomainLocale)(eD,ee,null==eP?void 0:eP.locales,null==eP?void 0:eP.domainLocales);eW.href=en||(0,eg.addBasePath)((0,ep.addLocale)(eD,ee,null==eP?void 0:eP.defaultLocale))}return ej?ei.default.cloneElement(eo,eW):ei.default.createElement("a",{...eI,...eW},er)}),e_=eb;("function"==typeof en.default||"object"==typeof en.default&&null!==en.default)&&void 0===en.default.__esModule&&(Object.defineProperty(en.default,"__esModule",{value:!0}),Object.assign(en.default,en),ee.exports=en.default)},40920:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"useIntersection",{enumerable:!0,get:function(){return useIntersection}});let eo=er(67294),ei=er(63436),es="function"==typeof IntersectionObserver,eu=new Map,ec=[];function createObserver(ee){let en;let er={root:ee.root||null,margin:ee.rootMargin||""},eo=ec.find(ee=>ee.root===er.root&&ee.margin===er.margin);if(eo&&(en=eu.get(eo)))return en;let ei=new Map,es=new IntersectionObserver(ee=>{ee.forEach(ee=>{let en=ei.get(ee.target),er=ee.isIntersecting||ee.intersectionRatio>0;en&&er&&en(er)})},ee);return en={id:er,observer:es,elements:ei},ec.push(er),eu.set(er,en),en}function observe(ee,en,er){let{id:eo,observer:ei,elements:es}=createObserver(er);return es.set(ee,en),ei.observe(ee),function(){if(es.delete(ee),ei.unobserve(ee),0===es.size){ei.disconnect(),eu.delete(eo);let ee=ec.findIndex(ee=>ee.root===eo.root&&ee.margin===eo.margin);ee>-1&&ec.splice(ee,1)}}}function useIntersection(ee){let{rootRef:en,rootMargin:er,disabled:eu}=ee,ec=eu||!es,[ed,ep]=(0,eo.useState)(!1),ef=(0,eo.useRef)(null),eh=(0,eo.useCallback)(ee=>{ef.current=ee},[]);(0,eo.useEffect)(()=>{if(es){if(ec||ed)return;let ee=ef.current;if(ee&&ee.tagName){let eo=observe(ee,ee=>ee&&ep(ee),{root:null==en?void 0:en.current,rootMargin:er});return eo}}else if(!ed){let ee=(0,ei.requestIdleCallback)(()=>ep(!0));return()=>(0,ei.cancelIdleCallback)(ee)}},[ec,er,en,ed,ef.current]);let em=(0,eo.useCallback)(()=>{ep(!1)},[]);return[eh,ed,em]}("function"==typeof en.default||"object"==typeof en.default&&null!==en.default)&&void 0===en.default.__esModule&&(Object.defineProperty(en.default,"__esModule",{value:!0}),Object.assign(en.default,en),ee.exports=en.default)},53914:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"getImgProps",{enumerable:!0,get:function(){return getImgProps}}),er(81905);let eo=er(32393),ei=er(85494);function isStaticRequire(ee){return void 0!==ee.default}function isStaticImageData(ee){return void 0!==ee.src}function isStaticImport(ee){return"object"==typeof ee&&(isStaticRequire(ee)||isStaticImageData(ee))}function getInt(ee){return void 0===ee?ee:"number"==typeof ee?Number.isFinite(ee)?ee:NaN:"string"==typeof ee&&/^[0-9]+$/.test(ee)?parseInt(ee,10):NaN}function getWidths(ee,en,er){let{deviceSizes:eo,allSizes:ei}=ee;if(er){let ee=/(^|\s)(1?\d?\d)vw/g,en=[];for(let eo;eo=ee.exec(er);eo)en.push(parseInt(eo[2]));if(en.length){let ee=.01*Math.min(...en);return{widths:ei.filter(en=>en>=eo[0]*ee),kind:"w"}}return{widths:ei,kind:"w"}}if("number"!=typeof en)return{widths:eo,kind:"w"};let es=[...new Set([en,2*en].map(ee=>ei.find(en=>en>=ee)||ei[ei.length-1]))];return{widths:es,kind:"x"}}function generateImgAttrs(ee){let{config:en,src:er,unoptimized:eo,width:ei,quality:es,sizes:eu,loader:ec}=ee;if(eo)return{src:er,srcSet:void 0,sizes:void 0};let{widths:ed,kind:ep}=getWidths(en,ei,eu),ef=ed.length-1;return{sizes:eu||"w"!==ep?eu:"100vw",srcSet:ed.map((ee,eo)=>ec({config:en,src:er,quality:es,width:ee})+" "+("w"===ep?ee:eo+1)+ep).join(", "),src:ec({config:en,src:er,quality:es,width:ed[ef]})}}function getImgProps(ee,en){let er,es,eu,{src:ec,sizes:ed,unoptimized:ep=!1,priority:ef=!1,loading:eh,className:em,quality:ex,width:eg,height:ev,fill:ey=!1,style:eb,onLoad:e_,onLoadingComplete:ew,placeholder:ek="empty",blurDataURL:eC,fetchPriority:eT,layout:eE,objectFit:eO,objectPosition:eS,lazyBoundary:ej,lazyRoot:eI,...eP}=ee,{imgConf:eN,showAltText:eR,blurComplete:eZ,defaultLoader:eM}=en,eA=eN||ei.imageConfigDefault;if("allSizes"in eA)er=eA;else{let ee=[...eA.deviceSizes,...eA.imageSizes].sort((ee,en)=>ee-en),en=eA.deviceSizes.sort((ee,en)=>ee-en);er={...eA,allSizes:ee,deviceSizes:en}}let eL=eP.loader||eM;delete eP.loader,delete eP.srcSet;let eD="__next_img_default"in eL;if(eD){if("custom"===er.loader)throw Error('Image with src "'+ec+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let ee=eL;eL=en=>{let{config:er,...eo}=en;return ee(eo)}}if(eE){"fill"===eE&&(ey=!0);let ee={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}},en={responsive:"100vw",fill:"100vw"},er=ee[eE];er&&(eb={...eb,...er});let eo=en[eE];eo&&!ed&&(ed=eo)}let eF="",ez=getInt(eg),eV=getInt(ev);if(isStaticImport(ec)){let ee=isStaticRequire(ec)?ec.default:ec;if(!ee.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(ee));if(!ee.height||!ee.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(ee));if(es=ee.blurWidth,eu=ee.blurHeight,eC=eC||ee.blurDataURL,eF=ee.src,!ey){if(ez||eV){if(ez&&!eV){let en=ez/ee.width;eV=Math.round(ee.height*en)}else if(!ez&&eV){let en=eV/ee.height;ez=Math.round(ee.width*en)}}else ez=ee.width,eV=ee.height}}let eU=!ef&&("lazy"===eh||void 0===eh);(!(ec="string"==typeof ec?ec:eF)||ec.startsWith("data:")||ec.startsWith("blob:"))&&(ep=!0,eU=!1),er.unoptimized&&(ep=!0),eD&&ec.endsWith(".svg")&&!er.dangerouslyAllowSVG&&(ep=!0),ef&&(eT="high");let eH=getInt(ex),e$=Object.assign(ey?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:eO,objectPosition:eS}:{},eR?{}:{color:"transparent"},eb),eB=eZ||"empty"===ek?null:"blur"===ek?'url("data:image/svg+xml;charset=utf-8,'+(0,eo.getImageBlurSvg)({widthInt:ez,heightInt:eV,blurWidth:es,blurHeight:eu,blurDataURL:eC||"",objectFit:e$.objectFit})+'")':'url("'+ek+'")',eW=eB?{backgroundSize:e$.objectFit||"cover",backgroundPosition:e$.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:eB}:{},eG=generateImgAttrs({config:er,src:ec,unoptimized:ep,width:ez,quality:eH,sizes:ed,loader:eL}),eK={...eP,loading:eU?"lazy":eh,fetchPriority:eT,width:ez,height:eV,decoding:"async",className:em,style:{...e$,...eW},sizes:eG.sizes,srcSet:eG.srcSet,src:eG.src},eY={unoptimized:ep,priority:ef,placeholder:ek,fill:ey};return{props:eK,meta:eY}}},32393:function(ee,en){"use strict";function getImageBlurSvg(ee){let{widthInt:en,heightInt:er,blurWidth:eo,blurHeight:ei,blurDataURL:es,objectFit:eu}=ee,ec=20,ed=eo?40*eo:en,ep=ei?40*ei:er,ef=ed&&ep?"viewBox='0 0 "+ed+" "+ep+"'":"",eh=ef?"none":"contain"===eu?"xMidYMid":"cover"===eu?"xMidYMid slice":"none";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+ef+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='"+ec+"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='"+ec+"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+eh+"' style='filter: url(%23b);' href='"+es+"'/%3E%3C/svg%3E"}Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"getImageBlurSvg",{enumerable:!0,get:function(){return getImageBlurSvg}})},645:function(ee,en,er){"use strict";Object.defineProperty(en,"__esModule",{value:!0}),function(ee,en){for(var er in en)Object.defineProperty(ee,er,{enumerable:!0,get:en[er]})}(en,{unstable_getImgProps:function(){return unstable_getImgProps},default:function(){return ed}});let eo=er(38754),ei=er(53914),es=er(81905),eu=er(23271),ec=eo._(er(74545)),unstable_getImgProps=ee=>{(0,es.warnOnce)("Warning: unstable_getImgProps() is experimental and may change or be removed at any time. Use at your own risk.");let{props:en}=(0,ei.getImgProps)(ee,{defaultLoader:ec.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[ee,er]of Object.entries(en))void 0===er&&delete en[ee];return{props:en}},ed=eu.Image},74545:function(ee,en){"use strict";function defaultLoader(ee){let{config:en,src:er,width:eo,quality:ei}=ee;return en.path+"?url="+encodeURIComponent(er)+"&w="+eo+"&q="+(ei||75)}Object.defineProperty(en,"__esModule",{value:!0}),Object.defineProperty(en,"default",{enumerable:!0,get:function(){return er}}),defaultLoader.__next_img_default=!0;let er=defaultLoader},29128:function(){},1864:function(ee){var en="/";!function(){"use strict";var er={114:function(ee){function assertPath(ee){if("string"!=typeof ee)throw TypeError("Path must be a string. Received "+JSON.stringify(ee))}function normalizeStringPosix(ee,en){for(var er,eo="",ei=0,es=-1,eu=0,ec=0;ec<=ee.length;++ec){if(ec2){var ed=eo.lastIndexOf("/");if(ed!==eo.length-1){-1===ed?(eo="",ei=0):ei=(eo=eo.slice(0,ed)).length-1-eo.lastIndexOf("/"),es=ec,eu=0;continue}}else if(2===eo.length||1===eo.length){eo="",ei=0,es=ec,eu=0;continue}}en&&(eo.length>0?eo+="/..":eo="..",ei=2)}else eo.length>0?eo+="/"+ee.slice(es+1,ec):eo=ee.slice(es+1,ec),ei=ec-es-1;es=ec,eu=0}else 46===er&&-1!==eu?++eu:eu=-1}return eo}function _format(ee,en){var er=en.dir||en.root,eo=en.base||(en.name||"")+(en.ext||"");return er?er===en.root?er+eo:er+ee+eo:eo}var en={resolve:function(){for(var ee,en,er="",eo=!1,ei=arguments.length-1;ei>=-1&&!eo;ei--)ei>=0?en=arguments[ei]:(void 0===ee&&(ee=""),en=ee),assertPath(en),0!==en.length&&(er=en+"/"+er,eo=47===en.charCodeAt(0));return(er=normalizeStringPosix(er,!eo),eo)?er.length>0?"/"+er:"/":er.length>0?er:"."},normalize:function(ee){if(assertPath(ee),0===ee.length)return".";var en=47===ee.charCodeAt(0),er=47===ee.charCodeAt(ee.length-1);return(0!==(ee=normalizeStringPosix(ee,!en)).length||en||(ee="."),ee.length>0&&er&&(ee+="/"),en)?"/"+ee:ee},isAbsolute:function(ee){return assertPath(ee),ee.length>0&&47===ee.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var ee,er=0;er0&&(void 0===ee?ee=eo:ee+="/"+eo)}return void 0===ee?".":en.normalize(ee)},relative:function(ee,er){if(assertPath(ee),assertPath(er),ee===er||(ee=en.resolve(ee))===(er=en.resolve(er)))return"";for(var eo=1;eoed){if(47===er.charCodeAt(eu+ef))return er.slice(eu+ef+1);if(0===ef)return er.slice(eu+ef)}else es>ed&&(47===ee.charCodeAt(eo+ef)?ep=ef:0===ef&&(ep=0));break}var eh=ee.charCodeAt(eo+ef);if(eh!==er.charCodeAt(eu+ef))break;47===eh&&(ep=ef)}var em="";for(ef=eo+ep+1;ef<=ei;++ef)(ef===ei||47===ee.charCodeAt(ef))&&(0===em.length?em+="..":em+="/..");return em.length>0?em+er.slice(eu+ep):(eu+=ep,47===er.charCodeAt(eu)&&++eu,er.slice(eu))},_makeLong:function(ee){return ee},dirname:function(ee){if(assertPath(ee),0===ee.length)return".";for(var en=ee.charCodeAt(0),er=47===en,eo=-1,ei=!0,es=ee.length-1;es>=1;--es)if(47===(en=ee.charCodeAt(es))){if(!ei){eo=es;break}}else ei=!1;return -1===eo?er?"/":".":er&&1===eo?"//":ee.slice(0,eo)},basename:function(ee,en){if(void 0!==en&&"string"!=typeof en)throw TypeError('"ext" argument must be a string');assertPath(ee);var er,eo=0,ei=-1,es=!0;if(void 0!==en&&en.length>0&&en.length<=ee.length){if(en.length===ee.length&&en===ee)return"";var eu=en.length-1,ec=-1;for(er=ee.length-1;er>=0;--er){var ed=ee.charCodeAt(er);if(47===ed){if(!es){eo=er+1;break}}else -1===ec&&(es=!1,ec=er+1),eu>=0&&(ed===en.charCodeAt(eu)?-1==--eu&&(ei=er):(eu=-1,ei=ec))}return eo===ei?ei=ec:-1===ei&&(ei=ee.length),ee.slice(eo,ei)}for(er=ee.length-1;er>=0;--er)if(47===ee.charCodeAt(er)){if(!es){eo=er+1;break}}else -1===ei&&(es=!1,ei=er+1);return -1===ei?"":ee.slice(eo,ei)},extname:function(ee){assertPath(ee);for(var en=-1,er=0,eo=-1,ei=!0,es=0,eu=ee.length-1;eu>=0;--eu){var ec=ee.charCodeAt(eu);if(47===ec){if(!ei){er=eu+1;break}continue}-1===eo&&(ei=!1,eo=eu+1),46===ec?-1===en?en=eu:1!==es&&(es=1):-1!==en&&(es=-1)}return -1===en||-1===eo||0===es||1===es&&en===eo-1&&en===er+1?"":ee.slice(en,eo)},format:function(ee){if(null===ee||"object"!=typeof ee)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof ee);return _format("/",ee)},parse:function(ee){assertPath(ee);var en,er={root:"",dir:"",base:"",ext:"",name:""};if(0===ee.length)return er;var eo=ee.charCodeAt(0),ei=47===eo;ei?(er.root="/",en=1):en=0;for(var es=-1,eu=0,ec=-1,ed=!0,ep=ee.length-1,ef=0;ep>=en;--ep){if(47===(eo=ee.charCodeAt(ep))){if(!ed){eu=ep+1;break}continue}-1===ec&&(ed=!1,ec=ep+1),46===eo?-1===es?es=ep:1!==ef&&(ef=1):-1!==es&&(ef=-1)}return -1===es||-1===ec||0===ef||1===ef&&es===ec-1&&es===eu+1?-1!==ec&&(0===eu&&ei?er.base=er.name=ee.slice(1,ec):er.base=er.name=ee.slice(eu,ec)):(0===eu&&ei?(er.name=ee.slice(1,es),er.base=ee.slice(1,ec)):(er.name=ee.slice(eu,es),er.base=ee.slice(eu,ec)),er.ext=ee.slice(es,ec)),eu>0?er.dir=ee.slice(0,eu-1):ei&&(er.dir="/"),er},sep:"/",delimiter:":",win32:null,posix:null};en.posix=en,ee.exports=en}},eo={};function __nccwpck_require__(ee){var en=eo[ee];if(void 0!==en)return en.exports;var ei=eo[ee]={exports:{}},es=!0;try{er[ee](ei,ei.exports,__nccwpck_require__),es=!1}finally{es&&delete eo[ee]}return ei.exports}__nccwpck_require__.ab=en+"/";var ei=__nccwpck_require__(114);ee.exports=ei}()},77663:function(ee){var en="/";!function(){var er={229:function(ee){var en,er,eo,ei=ee.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}function runTimeout(ee){if(en===setTimeout)return setTimeout(ee,0);if((en===defaultSetTimout||!en)&&setTimeout)return en=setTimeout,setTimeout(ee,0);try{return en(ee,0)}catch(er){try{return en.call(null,ee,0)}catch(er){return en.call(this,ee,0)}}}function runClearTimeout(ee){if(er===clearTimeout)return clearTimeout(ee);if((er===defaultClearTimeout||!er)&&clearTimeout)return er=clearTimeout,clearTimeout(ee);try{return er(ee)}catch(en){try{return er.call(null,ee)}catch(en){return er.call(this,ee)}}}!function(){try{en="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(ee){en=defaultSetTimout}try{er="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(ee){er=defaultClearTimeout}}();var es=[],eu=!1,ec=-1;function cleanUpNextTick(){eu&&eo&&(eu=!1,eo.length?es=eo.concat(es):ec=-1,es.length&&drainQueue())}function drainQueue(){if(!eu){var ee=runTimeout(cleanUpNextTick);eu=!0;for(var en=es.length;en;){for(eo=es,es=[];++ec1)for(var er=1;er{en(!0)},[]),ee}var eT=er(47222),eE="https://nextra.vercel.app",useFSRoute=()=>{let{locale:ee=eT.ZW,asPath:en,route:er}=(0,ew.useRouter)();return(0,ek.useMemo)(()=>{let eo=eT.hV.has(er)?er:en,{pathname:ei}=new URL(eo,eE),es=ee?ei.replace(RegExp(`\\.${ee}(\\/|$)`),"$1"):ei;return es.replace(/\.html$/,"").replace(/\/index(\/|$)/,"$1").replace(/\/$/,"")||"/"},[en,ee,er])},eO=er(82643),eS=er(94861);!function(ee){function assertIs(ee){}function assertNever(ee){throw Error()}function joinValues(ee,en=" | "){return ee.map(ee=>"string"==typeof ee?`'${ee}'`:ee).join(en)}ee.assertEqual=ee=>ee,ee.assertIs=assertIs,ee.assertNever=assertNever,ee.arrayToEnum=ee=>{let en={};for(let er of ee)en[er]=er;return en},ee.getValidEnumValues=en=>{let er=ee.objectKeys(en).filter(ee=>"number"!=typeof en[en[ee]]),eo={};for(let ee of er)eo[ee]=en[ee];return ee.objectValues(eo)},ee.objectValues=en=>ee.objectKeys(en).map(function(ee){return en[ee]}),ee.objectKeys="function"==typeof Object.keys?ee=>Object.keys(ee):ee=>{let en=[];for(let er in ee)Object.prototype.hasOwnProperty.call(ee,er)&&en.push(er);return en},ee.find=(ee,en)=>{for(let er of ee)if(en(er))return er},ee.isInteger="function"==typeof Number.isInteger?ee=>Number.isInteger(ee):ee=>"number"==typeof ee&&isFinite(ee)&&Math.floor(ee)===ee,ee.joinValues=joinValues,ee.jsonStringifyReplacer=(ee,en)=>"bigint"==typeof en?en.toString():en}(eg||(eg={})),function(ee){ee.mergeShapes=(ee,en)=>({...ee,...en})}(ev||(ev={}));let ej=eg.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=ee=>{let en=typeof ee;switch(en){case"undefined":return ej.undefined;case"string":return ej.string;case"number":return isNaN(ee)?ej.nan:ej.number;case"boolean":return ej.boolean;case"function":return ej.function;case"bigint":return ej.bigint;case"symbol":return ej.symbol;case"object":if(Array.isArray(ee))return ej.array;if(null===ee)return ej.null;if(ee.then&&"function"==typeof ee.then&&ee.catch&&"function"==typeof ee.catch)return ej.promise;if("undefined"!=typeof Map&&ee instanceof Map)return ej.map;if("undefined"!=typeof Set&&ee instanceof Set)return ej.set;if("undefined"!=typeof Date&&ee instanceof Date)return ej.date;return ej.object;default:return ej.unknown}},eI=eg.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),quotelessJson=ee=>{let en=JSON.stringify(ee,null,2);return en.replace(/"([^"]+)":/g,"$1:")};let ZodError=class ZodError extends Error{constructor(ee){super(),this.issues=[],this.addIssue=ee=>{this.issues=[...this.issues,ee]},this.addIssues=(ee=[])=>{this.issues=[...this.issues,...ee]};let en=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,en):this.__proto__=en,this.name="ZodError",this.issues=ee}get errors(){return this.issues}format(ee){let en=ee||function(ee){return ee.message},er={_errors:[]},processError=ee=>{for(let eo of ee.issues)if("invalid_union"===eo.code)eo.unionErrors.map(processError);else if("invalid_return_type"===eo.code)processError(eo.returnTypeError);else if("invalid_arguments"===eo.code)processError(eo.argumentsError);else if(0===eo.path.length)er._errors.push(en(eo));else{let ee=er,ei=0;for(;eiee.message){let en={},er=[];for(let eo of this.issues)eo.path.length>0?(en[eo.path[0]]=en[eo.path[0]]||[],en[eo.path[0]].push(ee(eo))):er.push(ee(eo));return{formErrors:er,fieldErrors:en}}get formErrors(){return this.flatten()}};ZodError.create=ee=>{let en=new ZodError(ee);return en};let errorMap=(ee,en)=>{let er;switch(ee.code){case eI.invalid_type:er=ee.received===ej.undefined?"Required":`Expected ${ee.expected}, received ${ee.received}`;break;case eI.invalid_literal:er=`Invalid literal value, expected ${JSON.stringify(ee.expected,eg.jsonStringifyReplacer)}`;break;case eI.unrecognized_keys:er=`Unrecognized key(s) in object: ${eg.joinValues(ee.keys,", ")}`;break;case eI.invalid_union:er="Invalid input";break;case eI.invalid_union_discriminator:er=`Invalid discriminator value. Expected ${eg.joinValues(ee.options)}`;break;case eI.invalid_enum_value:er=`Invalid enum value. Expected ${eg.joinValues(ee.options)}, received '${ee.received}'`;break;case eI.invalid_arguments:er="Invalid function arguments";break;case eI.invalid_return_type:er="Invalid function return type";break;case eI.invalid_date:er="Invalid date";break;case eI.invalid_string:"object"==typeof ee.validation?"includes"in ee.validation?(er=`Invalid input: must include "${ee.validation.includes}"`,"number"==typeof ee.validation.position&&(er=`${er} at one or more positions greater than or equal to ${ee.validation.position}`)):"startsWith"in ee.validation?er=`Invalid input: must start with "${ee.validation.startsWith}"`:"endsWith"in ee.validation?er=`Invalid input: must end with "${ee.validation.endsWith}"`:eg.assertNever(ee.validation):er="regex"!==ee.validation?`Invalid ${ee.validation}`:"Invalid";break;case eI.too_small:er="array"===ee.type?`Array must contain ${ee.exact?"exactly":ee.inclusive?"at least":"more than"} ${ee.minimum} element(s)`:"string"===ee.type?`String must contain ${ee.exact?"exactly":ee.inclusive?"at least":"over"} ${ee.minimum} character(s)`:"number"===ee.type?`Number must be ${ee.exact?"exactly equal to ":ee.inclusive?"greater than or equal to ":"greater than "}${ee.minimum}`:"date"===ee.type?`Date must be ${ee.exact?"exactly equal to ":ee.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(ee.minimum))}`:"Invalid input";break;case eI.too_big:er="array"===ee.type?`Array must contain ${ee.exact?"exactly":ee.inclusive?"at most":"less than"} ${ee.maximum} element(s)`:"string"===ee.type?`String must contain ${ee.exact?"exactly":ee.inclusive?"at most":"under"} ${ee.maximum} character(s)`:"number"===ee.type?`Number must be ${ee.exact?"exactly":ee.inclusive?"less than or equal to":"less than"} ${ee.maximum}`:"bigint"===ee.type?`BigInt must be ${ee.exact?"exactly":ee.inclusive?"less than or equal to":"less than"} ${ee.maximum}`:"date"===ee.type?`Date must be ${ee.exact?"exactly":ee.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(ee.maximum))}`:"Invalid input";break;case eI.custom:er="Invalid input";break;case eI.invalid_intersection_types:er="Intersection results could not be merged";break;case eI.not_multiple_of:er=`Number must be a multiple of ${ee.multipleOf}`;break;case eI.not_finite:er="Number must be finite";break;default:er=en.defaultError,eg.assertNever(ee)}return{message:er}},eP=errorMap;function setErrorMap(ee){eP=ee}function getErrorMap(){return eP}let makeIssue=ee=>{let{data:en,path:er,errorMaps:eo,issueData:ei}=ee,es=[...er,...ei.path||[]],eu={...ei,path:es},ec="",ed=eo.filter(ee=>!!ee).slice().reverse();for(let ee of ed)ec=ee(eu,{data:en,defaultError:ec}).message;return{...ei,path:es,message:ei.message||ec}},eN=[];function addIssueToContext(ee,en){let er=makeIssue({issueData:en,data:ee.data,path:ee.path,errorMaps:[ee.common.contextualErrorMap,ee.schemaErrorMap,getErrorMap(),errorMap].filter(ee=>!!ee)});ee.common.issues.push(er)}let ParseStatus=class ParseStatus{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(ee,en){let er=[];for(let eo of en){if("aborted"===eo.status)return eR;"dirty"===eo.status&&ee.dirty(),er.push(eo.value)}return{status:ee.value,value:er}}static async mergeObjectAsync(ee,en){let er=[];for(let ee of en)er.push({key:await ee.key,value:await ee.value});return ParseStatus.mergeObjectSync(ee,er)}static mergeObjectSync(ee,en){let er={};for(let eo of en){let{key:en,value:ei}=eo;if("aborted"===en.status||"aborted"===ei.status)return eR;"dirty"===en.status&&ee.dirty(),"dirty"===ei.status&&ee.dirty(),"__proto__"!==en.value&&(void 0!==ei.value||eo.alwaysSet)&&(er[en.value]=ei.value)}return{status:ee.value,value:er}}};let eR=Object.freeze({status:"aborted"}),DIRTY=ee=>({status:"dirty",value:ee}),OK=ee=>({status:"valid",value:ee}),isAborted=ee=>"aborted"===ee.status,isDirty=ee=>"dirty"===ee.status,isValid=ee=>"valid"===ee.status,isAsync=ee=>"undefined"!=typeof Promise&&ee instanceof Promise;!function(ee){ee.errToObj=ee=>"string"==typeof ee?{message:ee}:ee||{},ee.toString=ee=>"string"==typeof ee?ee:null==ee?void 0:ee.message}(ey||(ey={}));let ParseInputLazyPath=class ParseInputLazyPath{constructor(ee,en,er,eo){this._cachedPath=[],this.parent=ee,this.data=en,this._path=er,this._key=eo}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}};let handleResult=(ee,en)=>{if(isValid(en))return{success:!0,data:en.value};if(!ee.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let en=new ZodError(ee.common.issues);return this._error=en,this._error}}};function processCreateParams(ee){if(!ee)return{};let{errorMap:en,invalid_type_error:er,required_error:eo,description:ei}=ee;if(en&&(er||eo))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(en)return{errorMap:en,description:ei};let customMap=(ee,en)=>"invalid_type"!==ee.code?{message:en.defaultError}:void 0===en.data?{message:null!=eo?eo:en.defaultError}:{message:null!=er?er:en.defaultError};return{errorMap:customMap,description:ei}}let ZodType=class ZodType{constructor(ee){this.spa=this.safeParseAsync,this._def=ee,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(ee){return getParsedType(ee.data)}_getOrReturnCtx(ee,en){return en||{common:ee.parent.common,data:ee.data,parsedType:getParsedType(ee.data),schemaErrorMap:this._def.errorMap,path:ee.path,parent:ee.parent}}_processInputParams(ee){return{status:new ParseStatus,ctx:{common:ee.parent.common,data:ee.data,parsedType:getParsedType(ee.data),schemaErrorMap:this._def.errorMap,path:ee.path,parent:ee.parent}}}_parseSync(ee){let en=this._parse(ee);if(isAsync(en))throw Error("Synchronous parse encountered promise.");return en}_parseAsync(ee){let en=this._parse(ee);return Promise.resolve(en)}parse(ee,en){let er=this.safeParse(ee,en);if(er.success)return er.data;throw er.error}safeParse(ee,en){var er;let eo={common:{issues:[],async:null!==(er=null==en?void 0:en.async)&&void 0!==er&&er,contextualErrorMap:null==en?void 0:en.errorMap},path:(null==en?void 0:en.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:ee,parsedType:getParsedType(ee)},ei=this._parseSync({data:ee,path:eo.path,parent:eo});return handleResult(eo,ei)}async parseAsync(ee,en){let er=await this.safeParseAsync(ee,en);if(er.success)return er.data;throw er.error}async safeParseAsync(ee,en){let er={common:{issues:[],contextualErrorMap:null==en?void 0:en.errorMap,async:!0},path:(null==en?void 0:en.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:ee,parsedType:getParsedType(ee)},eo=this._parse({data:ee,path:er.path,parent:er}),ei=await (isAsync(eo)?eo:Promise.resolve(eo));return handleResult(er,ei)}refine(ee,en){let getIssueProperties=ee=>"string"==typeof en||void 0===en?{message:en}:"function"==typeof en?en(ee):en;return this._refinement((en,er)=>{let eo=ee(en),setError=()=>er.addIssue({code:eI.custom,...getIssueProperties(en)});return"undefined"!=typeof Promise&&eo instanceof Promise?eo.then(ee=>!!ee||(setError(),!1)):!!eo||(setError(),!1)})}refinement(ee,en){return this._refinement((er,eo)=>!!ee(er)||(eo.addIssue("function"==typeof en?en(er,eo):en),!1))}_refinement(ee){return new ZodEffects({schema:this,typeName:eb.ZodEffects,effect:{type:"refinement",refinement:ee}})}superRefine(ee){return this._refinement(ee)}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this,this._def)}promise(){return ZodPromise.create(this,this._def)}or(ee){return ZodUnion.create([this,ee],this._def)}and(ee){return ZodIntersection.create(this,ee,this._def)}transform(ee){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:eb.ZodEffects,effect:{type:"transform",transform:ee}})}default(ee){let en="function"==typeof ee?ee:()=>ee;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:en,typeName:eb.ZodDefault})}brand(){return new ZodBranded({typeName:eb.ZodBranded,type:this,...processCreateParams(this._def)})}catch(ee){let en="function"==typeof ee?ee:()=>ee;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:en,typeName:eb.ZodCatch})}describe(ee){let en=this.constructor;return new en({...this._def,description:ee})}pipe(ee){return ZodPipeline.create(this,ee)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};let eZ=/^c[^\s-]{8,}$/i,eM=/^[a-z][a-z0-9]*$/,eA=/^[0-9A-HJKMNP-TV-Z]{26}$/,eL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,eD=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,eF="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ez=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,eV=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,datetimeRegex=ee=>ee.precision?ee.offset?RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${ee.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${ee.precision}}Z$`):0===ee.precision?ee.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):ee.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function isValidIP(ee,en){return!!(("v4"===en||!en)&&ez.test(ee)||("v6"===en||!en)&&eV.test(ee))}let ZodString=class ZodString extends ZodType{_parse(ee){let en;this._def.coerce&&(ee.data=String(ee.data));let er=this._getType(ee);if(er!==ej.string){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.string,received:en.parsedType}),eR}let ei=new ParseStatus;for(let er of this._def.checks)if("min"===er.kind)ee.data.lengther.value&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,maximum:er.value,type:"string",inclusive:!0,exact:!1,message:er.message}),ei.dirty());else if("length"===er.kind){let eo=ee.data.length>er.value,es=ee.data.lengthee.test(en),{validation:en,code:eI.invalid_string,...ey.errToObj(er)})}_addCheck(ee){return new ZodString({...this._def,checks:[...this._def.checks,ee]})}email(ee){return this._addCheck({kind:"email",...ey.errToObj(ee)})}url(ee){return this._addCheck({kind:"url",...ey.errToObj(ee)})}emoji(ee){return this._addCheck({kind:"emoji",...ey.errToObj(ee)})}uuid(ee){return this._addCheck({kind:"uuid",...ey.errToObj(ee)})}cuid(ee){return this._addCheck({kind:"cuid",...ey.errToObj(ee)})}cuid2(ee){return this._addCheck({kind:"cuid2",...ey.errToObj(ee)})}ulid(ee){return this._addCheck({kind:"ulid",...ey.errToObj(ee)})}ip(ee){return this._addCheck({kind:"ip",...ey.errToObj(ee)})}datetime(ee){var en;return"string"==typeof ee?this._addCheck({kind:"datetime",precision:null,offset:!1,message:ee}):this._addCheck({kind:"datetime",precision:void 0===(null==ee?void 0:ee.precision)?null:null==ee?void 0:ee.precision,offset:null!==(en=null==ee?void 0:ee.offset)&&void 0!==en&&en,...ey.errToObj(null==ee?void 0:ee.message)})}regex(ee,en){return this._addCheck({kind:"regex",regex:ee,...ey.errToObj(en)})}includes(ee,en){return this._addCheck({kind:"includes",value:ee,position:null==en?void 0:en.position,...ey.errToObj(null==en?void 0:en.message)})}startsWith(ee,en){return this._addCheck({kind:"startsWith",value:ee,...ey.errToObj(en)})}endsWith(ee,en){return this._addCheck({kind:"endsWith",value:ee,...ey.errToObj(en)})}min(ee,en){return this._addCheck({kind:"min",value:ee,...ey.errToObj(en)})}max(ee,en){return this._addCheck({kind:"max",value:ee,...ey.errToObj(en)})}length(ee,en){return this._addCheck({kind:"length",value:ee,...ey.errToObj(en)})}nonempty(ee){return this.min(1,ey.errToObj(ee))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(ee=>"datetime"===ee.kind)}get isEmail(){return!!this._def.checks.find(ee=>"email"===ee.kind)}get isURL(){return!!this._def.checks.find(ee=>"url"===ee.kind)}get isEmoji(){return!!this._def.checks.find(ee=>"emoji"===ee.kind)}get isUUID(){return!!this._def.checks.find(ee=>"uuid"===ee.kind)}get isCUID(){return!!this._def.checks.find(ee=>"cuid"===ee.kind)}get isCUID2(){return!!this._def.checks.find(ee=>"cuid2"===ee.kind)}get isULID(){return!!this._def.checks.find(ee=>"ulid"===ee.kind)}get isIP(){return!!this._def.checks.find(ee=>"ip"===ee.kind)}get minLength(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return ee}get maxLength(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.valueeo?er:eo,es=parseInt(ee.toFixed(ei).replace(".","")),eu=parseInt(en.toFixed(ei).replace(".",""));return es%eu/Math.pow(10,ei)}ZodString.create=ee=>{var en;return new ZodString({checks:[],typeName:eb.ZodString,coerce:null!==(en=null==ee?void 0:ee.coerce)&&void 0!==en&&en,...processCreateParams(ee)})};let ZodNumber=class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(ee){let en;this._def.coerce&&(ee.data=Number(ee.data));let er=this._getType(ee);if(er!==ej.number){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.number,received:en.parsedType}),eR}let eo=new ParseStatus;for(let er of this._def.checks)if("int"===er.kind)eg.isInteger(ee.data)||(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.invalid_type,expected:"integer",received:"float",message:er.message}),eo.dirty());else if("min"===er.kind){let ei=er.inclusive?ee.dataer.value:ee.data>=er.value;ei&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,maximum:er.value,type:"number",inclusive:er.inclusive,exact:!1,message:er.message}),eo.dirty())}else"multipleOf"===er.kind?0!==floatSafeRemainder(ee.data,er.value)&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.not_multiple_of,multipleOf:er.value,message:er.message}),eo.dirty()):"finite"===er.kind?Number.isFinite(ee.data)||(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.not_finite,message:er.message}),eo.dirty()):eg.assertNever(er);return{status:eo.value,value:ee.data}}gte(ee,en){return this.setLimit("min",ee,!0,ey.toString(en))}gt(ee,en){return this.setLimit("min",ee,!1,ey.toString(en))}lte(ee,en){return this.setLimit("max",ee,!0,ey.toString(en))}lt(ee,en){return this.setLimit("max",ee,!1,ey.toString(en))}setLimit(ee,en,er,eo){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:ee,value:en,inclusive:er,message:ey.toString(eo)}]})}_addCheck(ee){return new ZodNumber({...this._def,checks:[...this._def.checks,ee]})}int(ee){return this._addCheck({kind:"int",message:ey.toString(ee)})}positive(ee){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ey.toString(ee)})}negative(ee){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ey.toString(ee)})}nonpositive(ee){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ey.toString(ee)})}nonnegative(ee){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ey.toString(ee)})}multipleOf(ee,en){return this._addCheck({kind:"multipleOf",value:ee,message:ey.toString(en)})}finite(ee){return this._addCheck({kind:"finite",message:ey.toString(ee)})}safe(ee){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ey.toString(ee)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ey.toString(ee)})}get minValue(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return ee}get maxValue(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.value"int"===ee.kind||"multipleOf"===ee.kind&&eg.isInteger(ee.value))}get isFinite(){let ee=null,en=null;for(let er of this._def.checks){if("finite"===er.kind||"int"===er.kind||"multipleOf"===er.kind)return!0;"min"===er.kind?(null===en||er.value>en)&&(en=er.value):"max"===er.kind&&(null===ee||er.valuenew ZodNumber({checks:[],typeName:eb.ZodNumber,coerce:(null==ee?void 0:ee.coerce)||!1,...processCreateParams(ee)});let ZodBigInt=class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(ee){let en;this._def.coerce&&(ee.data=BigInt(ee.data));let er=this._getType(ee);if(er!==ej.bigint){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.bigint,received:en.parsedType}),eR}let eo=new ParseStatus;for(let er of this._def.checks)if("min"===er.kind){let ei=er.inclusive?ee.dataer.value:ee.data>=er.value;ei&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,type:"bigint",maximum:er.value,inclusive:er.inclusive,message:er.message}),eo.dirty())}else"multipleOf"===er.kind?ee.data%er.value!==BigInt(0)&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.not_multiple_of,multipleOf:er.value,message:er.message}),eo.dirty()):eg.assertNever(er);return{status:eo.value,value:ee.data}}gte(ee,en){return this.setLimit("min",ee,!0,ey.toString(en))}gt(ee,en){return this.setLimit("min",ee,!1,ey.toString(en))}lte(ee,en){return this.setLimit("max",ee,!0,ey.toString(en))}lt(ee,en){return this.setLimit("max",ee,!1,ey.toString(en))}setLimit(ee,en,er,eo){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:ee,value:en,inclusive:er,message:ey.toString(eo)}]})}_addCheck(ee){return new ZodBigInt({...this._def,checks:[...this._def.checks,ee]})}positive(ee){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ey.toString(ee)})}negative(ee){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ey.toString(ee)})}nonpositive(ee){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ey.toString(ee)})}nonnegative(ee){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ey.toString(ee)})}multipleOf(ee,en){return this._addCheck({kind:"multipleOf",value:ee,message:ey.toString(en)})}get minValue(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return ee}get maxValue(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.value{var en;return new ZodBigInt({checks:[],typeName:eb.ZodBigInt,coerce:null!==(en=null==ee?void 0:ee.coerce)&&void 0!==en&&en,...processCreateParams(ee)})};let ZodBoolean=class ZodBoolean extends ZodType{_parse(ee){this._def.coerce&&(ee.data=!!ee.data);let en=this._getType(ee);if(en!==ej.boolean){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.boolean,received:en.parsedType}),eR}return OK(ee.data)}};ZodBoolean.create=ee=>new ZodBoolean({typeName:eb.ZodBoolean,coerce:(null==ee?void 0:ee.coerce)||!1,...processCreateParams(ee)});let ZodDate=class ZodDate extends ZodType{_parse(ee){let en;this._def.coerce&&(ee.data=new Date(ee.data));let er=this._getType(ee);if(er!==ej.date){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.date,received:en.parsedType}),eR}if(isNaN(ee.data.getTime())){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_date}),eR}let eo=new ParseStatus;for(let er of this._def.checks)"min"===er.kind?ee.data.getTime()er.value&&(addIssueToContext(en=this._getOrReturnCtx(ee,en),{code:eI.too_big,message:er.message,inclusive:!0,exact:!1,maximum:er.value,type:"date"}),eo.dirty()):eg.assertNever(er);return{status:eo.value,value:new Date(ee.data.getTime())}}_addCheck(ee){return new ZodDate({...this._def,checks:[...this._def.checks,ee]})}min(ee,en){return this._addCheck({kind:"min",value:ee.getTime(),message:ey.toString(en)})}max(ee,en){return this._addCheck({kind:"max",value:ee.getTime(),message:ey.toString(en)})}get minDate(){let ee=null;for(let en of this._def.checks)"min"===en.kind&&(null===ee||en.value>ee)&&(ee=en.value);return null!=ee?new Date(ee):null}get maxDate(){let ee=null;for(let en of this._def.checks)"max"===en.kind&&(null===ee||en.valuenew ZodDate({checks:[],coerce:(null==ee?void 0:ee.coerce)||!1,typeName:eb.ZodDate,...processCreateParams(ee)});let ZodSymbol=class ZodSymbol extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.symbol){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.symbol,received:en.parsedType}),eR}return OK(ee.data)}};ZodSymbol.create=ee=>new ZodSymbol({typeName:eb.ZodSymbol,...processCreateParams(ee)});let ZodUndefined=class ZodUndefined extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.undefined){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.undefined,received:en.parsedType}),eR}return OK(ee.data)}};ZodUndefined.create=ee=>new ZodUndefined({typeName:eb.ZodUndefined,...processCreateParams(ee)});let ZodNull=class ZodNull extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.null){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.null,received:en.parsedType}),eR}return OK(ee.data)}};ZodNull.create=ee=>new ZodNull({typeName:eb.ZodNull,...processCreateParams(ee)});let ZodAny=class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(ee){return OK(ee.data)}};ZodAny.create=ee=>new ZodAny({typeName:eb.ZodAny,...processCreateParams(ee)});let ZodUnknown=class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(ee){return OK(ee.data)}};ZodUnknown.create=ee=>new ZodUnknown({typeName:eb.ZodUnknown,...processCreateParams(ee)});let ZodNever=class ZodNever extends ZodType{_parse(ee){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.never,received:en.parsedType}),eR}};ZodNever.create=ee=>new ZodNever({typeName:eb.ZodNever,...processCreateParams(ee)});let ZodVoid=class ZodVoid extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.undefined){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.void,received:en.parsedType}),eR}return OK(ee.data)}};ZodVoid.create=ee=>new ZodVoid({typeName:eb.ZodVoid,...processCreateParams(ee)});let ZodArray=class ZodArray extends ZodType{_parse(ee){let{ctx:en,status:er}=this._processInputParams(ee),eo=this._def;if(en.parsedType!==ej.array)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.array,received:en.parsedType}),eR;if(null!==eo.exactLength){let ee=en.data.length>eo.exactLength.value,ei=en.data.lengtheo.maxLength.value&&(addIssueToContext(en,{code:eI.too_big,maximum:eo.maxLength.value,type:"array",inclusive:!0,exact:!1,message:eo.maxLength.message}),er.dirty()),en.common.async)return Promise.all([...en.data].map((ee,er)=>eo.type._parseAsync(new ParseInputLazyPath(en,ee,en.path,er)))).then(ee=>ParseStatus.mergeArray(er,ee));let ei=[...en.data].map((ee,er)=>eo.type._parseSync(new ParseInputLazyPath(en,ee,en.path,er)));return ParseStatus.mergeArray(er,ei)}get element(){return this._def.type}min(ee,en){return new ZodArray({...this._def,minLength:{value:ee,message:ey.toString(en)}})}max(ee,en){return new ZodArray({...this._def,maxLength:{value:ee,message:ey.toString(en)}})}length(ee,en){return new ZodArray({...this._def,exactLength:{value:ee,message:ey.toString(en)}})}nonempty(ee){return this.min(1,ee)}};function deepPartialify(ee){if(ee instanceof ZodObject){let en={};for(let er in ee.shape){let eo=ee.shape[er];en[er]=ZodOptional.create(deepPartialify(eo))}return new ZodObject({...ee._def,shape:()=>en})}return ee instanceof ZodArray?new ZodArray({...ee._def,type:deepPartialify(ee.element)}):ee instanceof ZodOptional?ZodOptional.create(deepPartialify(ee.unwrap())):ee instanceof ZodNullable?ZodNullable.create(deepPartialify(ee.unwrap())):ee instanceof ZodTuple?ZodTuple.create(ee.items.map(ee=>deepPartialify(ee))):ee}ZodArray.create=(ee,en)=>new ZodArray({type:ee,minLength:null,maxLength:null,exactLength:null,typeName:eb.ZodArray,...processCreateParams(en)});let ZodObject=class ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let ee=this._def.shape(),en=eg.objectKeys(ee);return this._cached={shape:ee,keys:en}}_parse(ee){let en=this._getType(ee);if(en!==ej.object){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.object,received:en.parsedType}),eR}let{status:er,ctx:eo}=this._processInputParams(ee),{shape:ei,keys:es}=this._getCached(),eu=[];if(!(this._def.catchall instanceof ZodNever&&"strip"===this._def.unknownKeys))for(let ee in eo.data)es.includes(ee)||eu.push(ee);let ec=[];for(let ee of es){let en=ei[ee],er=eo.data[ee];ec.push({key:{status:"valid",value:ee},value:en._parse(new ParseInputLazyPath(eo,er,eo.path,ee)),alwaysSet:ee in eo.data})}if(this._def.catchall instanceof ZodNever){let ee=this._def.unknownKeys;if("passthrough"===ee)for(let ee of eu)ec.push({key:{status:"valid",value:ee},value:{status:"valid",value:eo.data[ee]}});else if("strict"===ee)eu.length>0&&(addIssueToContext(eo,{code:eI.unrecognized_keys,keys:eu}),er.dirty());else if("strip"===ee);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let ee=this._def.catchall;for(let en of eu){let er=eo.data[en];ec.push({key:{status:"valid",value:en},value:ee._parse(new ParseInputLazyPath(eo,er,eo.path,en)),alwaysSet:en in eo.data})}}return eo.common.async?Promise.resolve().then(async()=>{let ee=[];for(let en of ec){let er=await en.key;ee.push({key:er,value:await en.value,alwaysSet:en.alwaysSet})}return ee}).then(ee=>ParseStatus.mergeObjectSync(er,ee)):ParseStatus.mergeObjectSync(er,ec)}get shape(){return this._def.shape()}strict(ee){return ey.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...void 0!==ee?{errorMap:(en,er)=>{var eo,ei,es,eu;let ec=null!==(es=null===(ei=(eo=this._def).errorMap)||void 0===ei?void 0:ei.call(eo,en,er).message)&&void 0!==es?es:er.defaultError;return"unrecognized_keys"===en.code?{message:null!==(eu=ey.errToObj(ee).message)&&void 0!==eu?eu:ec}:{message:ec}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(ee){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...ee})})}merge(ee){let en=new ZodObject({unknownKeys:ee._def.unknownKeys,catchall:ee._def.catchall,shape:()=>({...this._def.shape(),...ee._def.shape()}),typeName:eb.ZodObject});return en}setKey(ee,en){return this.augment({[ee]:en})}catchall(ee){return new ZodObject({...this._def,catchall:ee})}pick(ee){let en={};return eg.objectKeys(ee).forEach(er=>{ee[er]&&this.shape[er]&&(en[er]=this.shape[er])}),new ZodObject({...this._def,shape:()=>en})}omit(ee){let en={};return eg.objectKeys(this.shape).forEach(er=>{ee[er]||(en[er]=this.shape[er])}),new ZodObject({...this._def,shape:()=>en})}deepPartial(){return deepPartialify(this)}partial(ee){let en={};return eg.objectKeys(this.shape).forEach(er=>{let eo=this.shape[er];ee&&!ee[er]?en[er]=eo:en[er]=eo.optional()}),new ZodObject({...this._def,shape:()=>en})}required(ee){let en={};return eg.objectKeys(this.shape).forEach(er=>{if(ee&&!ee[er])en[er]=this.shape[er];else{let ee=this.shape[er],eo=ee;for(;eo instanceof ZodOptional;)eo=eo._def.innerType;en[er]=eo}}),new ZodObject({...this._def,shape:()=>en})}keyof(){return createZodEnum(eg.objectKeys(this.shape))}};ZodObject.create=(ee,en)=>new ZodObject({shape:()=>ee,unknownKeys:"strip",catchall:ZodNever.create(),typeName:eb.ZodObject,...processCreateParams(en)}),ZodObject.strictCreate=(ee,en)=>new ZodObject({shape:()=>ee,unknownKeys:"strict",catchall:ZodNever.create(),typeName:eb.ZodObject,...processCreateParams(en)}),ZodObject.lazycreate=(ee,en)=>new ZodObject({shape:ee,unknownKeys:"strip",catchall:ZodNever.create(),typeName:eb.ZodObject,...processCreateParams(en)});let ZodUnion=class ZodUnion extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er=this._def.options;function handleResults(ee){for(let en of ee)if("valid"===en.result.status)return en.result;for(let er of ee)if("dirty"===er.result.status)return en.common.issues.push(...er.ctx.common.issues),er.result;let er=ee.map(ee=>new ZodError(ee.ctx.common.issues));return addIssueToContext(en,{code:eI.invalid_union,unionErrors:er}),eR}if(en.common.async)return Promise.all(er.map(async ee=>{let er={...en,common:{...en.common,issues:[]},parent:null};return{result:await ee._parseAsync({data:en.data,path:en.path,parent:er}),ctx:er}})).then(handleResults);{let ee;let eo=[];for(let ei of er){let er={...en,common:{...en.common,issues:[]},parent:null},es=ei._parseSync({data:en.data,path:en.path,parent:er});if("valid"===es.status)return es;"dirty"!==es.status||ee||(ee={result:es,ctx:er}),er.common.issues.length&&eo.push(er.common.issues)}if(ee)return en.common.issues.push(...ee.ctx.common.issues),ee.result;let ei=eo.map(ee=>new ZodError(ee));return addIssueToContext(en,{code:eI.invalid_union,unionErrors:ei}),eR}}get options(){return this._def.options}};ZodUnion.create=(ee,en)=>new ZodUnion({options:ee,typeName:eb.ZodUnion,...processCreateParams(en)});let getDiscriminator=ee=>{if(ee instanceof ZodLazy)return getDiscriminator(ee.schema);if(ee instanceof ZodEffects)return getDiscriminator(ee.innerType());if(ee instanceof ZodLiteral)return[ee.value];if(ee instanceof ZodEnum)return ee.options;if(ee instanceof ZodNativeEnum)return Object.keys(ee.enum);if(ee instanceof ZodDefault)return getDiscriminator(ee._def.innerType);if(ee instanceof ZodUndefined)return[void 0];else if(ee instanceof ZodNull)return[null];else return null};let ZodDiscriminatedUnion=class ZodDiscriminatedUnion extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee);if(en.parsedType!==ej.object)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.object,received:en.parsedType}),eR;let er=this.discriminator,eo=en.data[er],ei=this.optionsMap.get(eo);return ei?en.common.async?ei._parseAsync({data:en.data,path:en.path,parent:en}):ei._parseSync({data:en.data,path:en.path,parent:en}):(addIssueToContext(en,{code:eI.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[er]}),eR)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(ee,en,er){let eo=new Map;for(let er of en){let en=getDiscriminator(er.shape[ee]);if(!en)throw Error(`A discriminator value for key \`${ee}\` could not be extracted from all schema options`);for(let ei of en){if(eo.has(ei))throw Error(`Discriminator property ${String(ee)} has duplicate value ${String(ei)}`);eo.set(ei,er)}}return new ZodDiscriminatedUnion({typeName:eb.ZodDiscriminatedUnion,discriminator:ee,options:en,optionsMap:eo,...processCreateParams(er)})}};function mergeValues(ee,en){let er=getParsedType(ee),eo=getParsedType(en);if(ee===en)return{valid:!0,data:ee};if(er===ej.object&&eo===ej.object){let er=eg.objectKeys(en),eo=eg.objectKeys(ee).filter(ee=>-1!==er.indexOf(ee)),ei={...ee,...en};for(let er of eo){let eo=mergeValues(ee[er],en[er]);if(!eo.valid)return{valid:!1};ei[er]=eo.data}return{valid:!0,data:ei}}if(er===ej.array&&eo===ej.array){if(ee.length!==en.length)return{valid:!1};let er=[];for(let eo=0;eo{if(isAborted(ee)||isAborted(eo))return eR;let ei=mergeValues(ee.value,eo.value);return ei.valid?((isDirty(ee)||isDirty(eo))&&en.dirty(),{status:en.value,value:ei.data}):(addIssueToContext(er,{code:eI.invalid_intersection_types}),eR)};return er.common.async?Promise.all([this._def.left._parseAsync({data:er.data,path:er.path,parent:er}),this._def.right._parseAsync({data:er.data,path:er.path,parent:er})]).then(([ee,en])=>handleParsed(ee,en)):handleParsed(this._def.left._parseSync({data:er.data,path:er.path,parent:er}),this._def.right._parseSync({data:er.data,path:er.path,parent:er}))}};ZodIntersection.create=(ee,en,er)=>new ZodIntersection({left:ee,right:en,typeName:eb.ZodIntersection,...processCreateParams(er)});let ZodTuple=class ZodTuple extends ZodType{_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.array)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.array,received:er.parsedType}),eR;if(er.data.lengththis._def.items.length&&(addIssueToContext(er,{code:eI.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),en.dirty());let ei=[...er.data].map((ee,en)=>{let eo=this._def.items[en]||this._def.rest;return eo?eo._parse(new ParseInputLazyPath(er,ee,er.path,en)):null}).filter(ee=>!!ee);return er.common.async?Promise.all(ei).then(ee=>ParseStatus.mergeArray(en,ee)):ParseStatus.mergeArray(en,ei)}get items(){return this._def.items}rest(ee){return new ZodTuple({...this._def,rest:ee})}};ZodTuple.create=(ee,en)=>{if(!Array.isArray(ee))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:ee,typeName:eb.ZodTuple,rest:null,...processCreateParams(en)})};let ZodRecord=class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.object)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.object,received:er.parsedType}),eR;let eo=[],ei=this._def.keyType,es=this._def.valueType;for(let ee in er.data)eo.push({key:ei._parse(new ParseInputLazyPath(er,ee,er.path,ee)),value:es._parse(new ParseInputLazyPath(er,er.data[ee],er.path,ee))});return er.common.async?ParseStatus.mergeObjectAsync(en,eo):ParseStatus.mergeObjectSync(en,eo)}get element(){return this._def.valueType}static create(ee,en,er){return new ZodRecord(en instanceof ZodType?{keyType:ee,valueType:en,typeName:eb.ZodRecord,...processCreateParams(er)}:{keyType:ZodString.create(),valueType:ee,typeName:eb.ZodRecord,...processCreateParams(en)})}};let ZodMap=class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.map)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.map,received:er.parsedType}),eR;let eo=this._def.keyType,ei=this._def.valueType,es=[...er.data.entries()].map(([ee,en],es)=>({key:eo._parse(new ParseInputLazyPath(er,ee,er.path,[es,"key"])),value:ei._parse(new ParseInputLazyPath(er,en,er.path,[es,"value"]))}));if(er.common.async){let ee=new Map;return Promise.resolve().then(async()=>{for(let er of es){let eo=await er.key,ei=await er.value;if("aborted"===eo.status||"aborted"===ei.status)return eR;("dirty"===eo.status||"dirty"===ei.status)&&en.dirty(),ee.set(eo.value,ei.value)}return{status:en.value,value:ee}})}{let ee=new Map;for(let er of es){let eo=er.key,ei=er.value;if("aborted"===eo.status||"aborted"===ei.status)return eR;("dirty"===eo.status||"dirty"===ei.status)&&en.dirty(),ee.set(eo.value,ei.value)}return{status:en.value,value:ee}}}};ZodMap.create=(ee,en,er)=>new ZodMap({valueType:en,keyType:ee,typeName:eb.ZodMap,...processCreateParams(er)});let ZodSet=class ZodSet extends ZodType{_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.parsedType!==ej.set)return addIssueToContext(er,{code:eI.invalid_type,expected:ej.set,received:er.parsedType}),eR;let eo=this._def;null!==eo.minSize&&er.data.sizeeo.maxSize.value&&(addIssueToContext(er,{code:eI.too_big,maximum:eo.maxSize.value,type:"set",inclusive:!0,exact:!1,message:eo.maxSize.message}),en.dirty());let ei=this._def.valueType;function finalizeSet(ee){let er=new Set;for(let eo of ee){if("aborted"===eo.status)return eR;"dirty"===eo.status&&en.dirty(),er.add(eo.value)}return{status:en.value,value:er}}let es=[...er.data.values()].map((ee,en)=>ei._parse(new ParseInputLazyPath(er,ee,er.path,en)));return er.common.async?Promise.all(es).then(ee=>finalizeSet(ee)):finalizeSet(es)}min(ee,en){return new ZodSet({...this._def,minSize:{value:ee,message:ey.toString(en)}})}max(ee,en){return new ZodSet({...this._def,maxSize:{value:ee,message:ey.toString(en)}})}size(ee,en){return this.min(ee,en).max(ee,en)}nonempty(ee){return this.min(1,ee)}};ZodSet.create=(ee,en)=>new ZodSet({valueType:ee,minSize:null,maxSize:null,typeName:eb.ZodSet,...processCreateParams(en)});let ZodFunction=class ZodFunction extends ZodType{constructor(){super(...arguments),this.validate=this.implement}_parse(ee){let{ctx:en}=this._processInputParams(ee);if(en.parsedType!==ej.function)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.function,received:en.parsedType}),eR;function makeArgsIssue(ee,er){return makeIssue({data:ee,path:en.path,errorMaps:[en.common.contextualErrorMap,en.schemaErrorMap,getErrorMap(),errorMap].filter(ee=>!!ee),issueData:{code:eI.invalid_arguments,argumentsError:er}})}function makeReturnsIssue(ee,er){return makeIssue({data:ee,path:en.path,errorMaps:[en.common.contextualErrorMap,en.schemaErrorMap,getErrorMap(),errorMap].filter(ee=>!!ee),issueData:{code:eI.invalid_return_type,returnTypeError:er}})}let er={errorMap:en.common.contextualErrorMap},eo=en.data;if(this._def.returns instanceof ZodPromise){let ee=this;return OK(async function(...en){let ei=new ZodError([]),es=await ee._def.args.parseAsync(en,er).catch(ee=>{throw ei.addIssue(makeArgsIssue(en,ee)),ei}),eu=await Reflect.apply(eo,this,es),ec=await ee._def.returns._def.type.parseAsync(eu,er).catch(ee=>{throw ei.addIssue(makeReturnsIssue(eu,ee)),ei});return ec})}{let ee=this;return OK(function(...en){let ei=ee._def.args.safeParse(en,er);if(!ei.success)throw new ZodError([makeArgsIssue(en,ei.error)]);let es=Reflect.apply(eo,this,ei.data),eu=ee._def.returns.safeParse(es,er);if(!eu.success)throw new ZodError([makeReturnsIssue(es,eu.error)]);return eu.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...ee){return new ZodFunction({...this._def,args:ZodTuple.create(ee).rest(ZodUnknown.create())})}returns(ee){return new ZodFunction({...this._def,returns:ee})}implement(ee){let en=this.parse(ee);return en}strictImplement(ee){let en=this.parse(ee);return en}static create(ee,en,er){return new ZodFunction({args:ee||ZodTuple.create([]).rest(ZodUnknown.create()),returns:en||ZodUnknown.create(),typeName:eb.ZodFunction,...processCreateParams(er)})}};let ZodLazy=class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(ee){let{ctx:en}=this._processInputParams(ee),er=this._def.getter();return er._parse({data:en.data,path:en.path,parent:en})}};ZodLazy.create=(ee,en)=>new ZodLazy({getter:ee,typeName:eb.ZodLazy,...processCreateParams(en)});let ZodLiteral=class ZodLiteral extends ZodType{_parse(ee){if(ee.data!==this._def.value){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{received:en.data,code:eI.invalid_literal,expected:this._def.value}),eR}return{status:"valid",value:ee.data}}get value(){return this._def.value}};function createZodEnum(ee,en){return new ZodEnum({values:ee,typeName:eb.ZodEnum,...processCreateParams(en)})}ZodLiteral.create=(ee,en)=>new ZodLiteral({value:ee,typeName:eb.ZodLiteral,...processCreateParams(en)});let ZodEnum=class ZodEnum extends ZodType{_parse(ee){if("string"!=typeof ee.data){let en=this._getOrReturnCtx(ee),er=this._def.values;return addIssueToContext(en,{expected:eg.joinValues(er),received:en.parsedType,code:eI.invalid_type}),eR}if(-1===this._def.values.indexOf(ee.data)){let en=this._getOrReturnCtx(ee),er=this._def.values;return addIssueToContext(en,{received:en.data,code:eI.invalid_enum_value,options:er}),eR}return OK(ee.data)}get options(){return this._def.values}get enum(){let ee={};for(let en of this._def.values)ee[en]=en;return ee}get Values(){let ee={};for(let en of this._def.values)ee[en]=en;return ee}get Enum(){let ee={};for(let en of this._def.values)ee[en]=en;return ee}extract(ee){return ZodEnum.create(ee)}exclude(ee){return ZodEnum.create(this.options.filter(en=>!ee.includes(en)))}};ZodEnum.create=createZodEnum;let ZodNativeEnum=class ZodNativeEnum extends ZodType{_parse(ee){let en=eg.getValidEnumValues(this._def.values),er=this._getOrReturnCtx(ee);if(er.parsedType!==ej.string&&er.parsedType!==ej.number){let ee=eg.objectValues(en);return addIssueToContext(er,{expected:eg.joinValues(ee),received:er.parsedType,code:eI.invalid_type}),eR}if(-1===en.indexOf(ee.data)){let ee=eg.objectValues(en);return addIssueToContext(er,{received:er.data,code:eI.invalid_enum_value,options:ee}),eR}return OK(ee.data)}get enum(){return this._def.values}};ZodNativeEnum.create=(ee,en)=>new ZodNativeEnum({values:ee,typeName:eb.ZodNativeEnum,...processCreateParams(en)});let ZodPromise=class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(ee){let{ctx:en}=this._processInputParams(ee);if(en.parsedType!==ej.promise&&!1===en.common.async)return addIssueToContext(en,{code:eI.invalid_type,expected:ej.promise,received:en.parsedType}),eR;let er=en.parsedType===ej.promise?en.data:Promise.resolve(en.data);return OK(er.then(ee=>this._def.type.parseAsync(ee,{path:en.path,errorMap:en.common.contextualErrorMap})))}};ZodPromise.create=(ee,en)=>new ZodPromise({type:ee,typeName:eb.ZodPromise,...processCreateParams(en)});let ZodEffects=class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===eb.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee),eo=this._def.effect||null,ei={addIssue:ee=>{addIssueToContext(er,ee),ee.fatal?en.abort():en.dirty()},get path(){return er.path}};if(ei.addIssue=ei.addIssue.bind(ei),"preprocess"===eo.type){let ee=eo.transform(er.data,ei);return er.common.issues.length?{status:"dirty",value:er.data}:er.common.async?Promise.resolve(ee).then(ee=>this._def.schema._parseAsync({data:ee,path:er.path,parent:er})):this._def.schema._parseSync({data:ee,path:er.path,parent:er})}if("refinement"===eo.type){let executeRefinement=ee=>{let en=eo.refinement(ee,ei);if(er.common.async)return Promise.resolve(en);if(en instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return ee};if(!1!==er.common.async)return this._def.schema._parseAsync({data:er.data,path:er.path,parent:er}).then(ee=>"aborted"===ee.status?eR:("dirty"===ee.status&&en.dirty(),executeRefinement(ee.value).then(()=>({status:en.value,value:ee.value}))));{let ee=this._def.schema._parseSync({data:er.data,path:er.path,parent:er});return"aborted"===ee.status?eR:("dirty"===ee.status&&en.dirty(),executeRefinement(ee.value),{status:en.value,value:ee.value})}}if("transform"===eo.type){if(!1!==er.common.async)return this._def.schema._parseAsync({data:er.data,path:er.path,parent:er}).then(ee=>isValid(ee)?Promise.resolve(eo.transform(ee.value,ei)).then(ee=>({status:en.value,value:ee})):ee);{let ee=this._def.schema._parseSync({data:er.data,path:er.path,parent:er});if(!isValid(ee))return ee;let es=eo.transform(ee.value,ei);if(es instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:en.value,value:es}}}eg.assertNever(eo)}};ZodEffects.create=(ee,en,er)=>new ZodEffects({schema:ee,typeName:eb.ZodEffects,effect:en,...processCreateParams(er)}),ZodEffects.createWithPreprocess=(ee,en,er)=>new ZodEffects({schema:en,effect:{type:"preprocess",transform:ee},typeName:eb.ZodEffects,...processCreateParams(er)});let ZodOptional=class ZodOptional extends ZodType{_parse(ee){let en=this._getType(ee);return en===ej.undefined?OK(void 0):this._def.innerType._parse(ee)}unwrap(){return this._def.innerType}};ZodOptional.create=(ee,en)=>new ZodOptional({innerType:ee,typeName:eb.ZodOptional,...processCreateParams(en)});let ZodNullable=class ZodNullable extends ZodType{_parse(ee){let en=this._getType(ee);return en===ej.null?OK(null):this._def.innerType._parse(ee)}unwrap(){return this._def.innerType}};ZodNullable.create=(ee,en)=>new ZodNullable({innerType:ee,typeName:eb.ZodNullable,...processCreateParams(en)});let ZodDefault=class ZodDefault extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er=en.data;return en.parsedType===ej.undefined&&(er=this._def.defaultValue()),this._def.innerType._parse({data:er,path:en.path,parent:en})}removeDefault(){return this._def.innerType}};ZodDefault.create=(ee,en)=>new ZodDefault({innerType:ee,typeName:eb.ZodDefault,defaultValue:"function"==typeof en.default?en.default:()=>en.default,...processCreateParams(en)});let ZodCatch=class ZodCatch extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er={...en,common:{...en.common,issues:[]}},eo=this._def.innerType._parse({data:er.data,path:er.path,parent:{...er}});return isAsync(eo)?eo.then(ee=>({status:"valid",value:"valid"===ee.status?ee.value:this._def.catchValue({get error(){return new ZodError(er.common.issues)},input:er.data})})):{status:"valid",value:"valid"===eo.status?eo.value:this._def.catchValue({get error(){return new ZodError(er.common.issues)},input:er.data})}}removeCatch(){return this._def.innerType}};ZodCatch.create=(ee,en)=>new ZodCatch({innerType:ee,typeName:eb.ZodCatch,catchValue:"function"==typeof en.catch?en.catch:()=>en.catch,...processCreateParams(en)});let ZodNaN=class ZodNaN extends ZodType{_parse(ee){let en=this._getType(ee);if(en!==ej.nan){let en=this._getOrReturnCtx(ee);return addIssueToContext(en,{code:eI.invalid_type,expected:ej.nan,received:en.parsedType}),eR}return{status:"valid",value:ee.data}}};ZodNaN.create=ee=>new ZodNaN({typeName:eb.ZodNaN,...processCreateParams(ee)});let eU=Symbol("zod_brand");let ZodBranded=class ZodBranded extends ZodType{_parse(ee){let{ctx:en}=this._processInputParams(ee),er=en.data;return this._def.type._parse({data:er,path:en.path,parent:en})}unwrap(){return this._def.type}};let ZodPipeline=class ZodPipeline extends ZodType{_parse(ee){let{status:en,ctx:er}=this._processInputParams(ee);if(er.common.async){let handleAsync=async()=>{let ee=await this._def.in._parseAsync({data:er.data,path:er.path,parent:er});return"aborted"===ee.status?eR:"dirty"===ee.status?(en.dirty(),DIRTY(ee.value)):this._def.out._parseAsync({data:ee.value,path:er.path,parent:er})};return handleAsync()}{let ee=this._def.in._parseSync({data:er.data,path:er.path,parent:er});return"aborted"===ee.status?eR:"dirty"===ee.status?(en.dirty(),{status:"dirty",value:ee.value}):this._def.out._parseSync({data:ee.value,path:er.path,parent:er})}}static create(ee,en){return new ZodPipeline({in:ee,out:en,typeName:eb.ZodPipeline})}};let ZodReadonly=class ZodReadonly extends ZodType{_parse(ee){let en=this._def.innerType._parse(ee);return isValid(en)&&(en.value=Object.freeze(en.value)),en}};ZodReadonly.create=(ee,en)=>new ZodReadonly({innerType:ee,typeName:eb.ZodReadonly,...processCreateParams(en)});let custom=(ee,en={},er)=>ee?ZodAny.create().superRefine((eo,ei)=>{var es,eu;if(!ee(eo)){let ee="function"==typeof en?en(eo):"string"==typeof en?{message:en}:en,ec=null===(eu=null!==(es=ee.fatal)&&void 0!==es?es:er)||void 0===eu||eu,ed="string"==typeof ee?{message:ee}:ee;ei.addIssue({code:"custom",...ed,fatal:ec})}}):ZodAny.create(),eH={object:ZodObject.lazycreate};!function(ee){ee.ZodString="ZodString",ee.ZodNumber="ZodNumber",ee.ZodNaN="ZodNaN",ee.ZodBigInt="ZodBigInt",ee.ZodBoolean="ZodBoolean",ee.ZodDate="ZodDate",ee.ZodSymbol="ZodSymbol",ee.ZodUndefined="ZodUndefined",ee.ZodNull="ZodNull",ee.ZodAny="ZodAny",ee.ZodUnknown="ZodUnknown",ee.ZodNever="ZodNever",ee.ZodVoid="ZodVoid",ee.ZodArray="ZodArray",ee.ZodObject="ZodObject",ee.ZodUnion="ZodUnion",ee.ZodDiscriminatedUnion="ZodDiscriminatedUnion",ee.ZodIntersection="ZodIntersection",ee.ZodTuple="ZodTuple",ee.ZodRecord="ZodRecord",ee.ZodMap="ZodMap",ee.ZodSet="ZodSet",ee.ZodFunction="ZodFunction",ee.ZodLazy="ZodLazy",ee.ZodLiteral="ZodLiteral",ee.ZodEnum="ZodEnum",ee.ZodEffects="ZodEffects",ee.ZodNativeEnum="ZodNativeEnum",ee.ZodOptional="ZodOptional",ee.ZodNullable="ZodNullable",ee.ZodDefault="ZodDefault",ee.ZodCatch="ZodCatch",ee.ZodPromise="ZodPromise",ee.ZodBranded="ZodBranded",ee.ZodPipeline="ZodPipeline",ee.ZodReadonly="ZodReadonly"}(eb||(eb={}));let instanceOfType=(ee,en={message:`Input not instance of ${ee.name}`})=>custom(en=>en instanceof ee,en),e$=ZodString.create,eB=ZodNumber.create,eW=ZodNaN.create,eG=ZodBigInt.create,eK=ZodBoolean.create,eY=ZodDate.create,eQ=ZodSymbol.create,eX=ZodUndefined.create,eJ=ZodNull.create,e0=ZodAny.create,e1=ZodUnknown.create,e2=ZodNever.create,e4=ZodVoid.create,e5=ZodArray.create,e3=ZodObject.create,e6=ZodObject.strictCreate,e7=ZodUnion.create,e9=ZodDiscriminatedUnion.create,e8=ZodIntersection.create,tn=ZodTuple.create,tr=ZodRecord.create,to=ZodMap.create,ti=ZodSet.create,ts=ZodFunction.create,tl=ZodLazy.create,tu=ZodLiteral.create,tc=ZodEnum.create,td=ZodNativeEnum.create,tp=ZodPromise.create,tf=ZodEffects.create,th=ZodOptional.create,tm=ZodNullable.create,tx=ZodEffects.createWithPreprocess,tg=ZodPipeline.create,ostring=()=>e$().optional(),onumber=()=>eB().optional(),oboolean=()=>eK().optional(),tv={string:ee=>ZodString.create({...ee,coerce:!0}),number:ee=>ZodNumber.create({...ee,coerce:!0}),boolean:ee=>ZodBoolean.create({...ee,coerce:!0}),bigint:ee=>ZodBigInt.create({...ee,coerce:!0}),date:ee=>ZodDate.create({...ee,coerce:!0})},ty=eR;var tb=Object.freeze({__proto__:null,defaultErrorMap:errorMap,setErrorMap:setErrorMap,getErrorMap:getErrorMap,makeIssue:makeIssue,EMPTY_PATH:eN,addIssueToContext:addIssueToContext,ParseStatus:ParseStatus,INVALID:eR,DIRTY:DIRTY,OK:OK,isAborted:isAborted,isDirty:isDirty,isValid:isValid,isAsync:isAsync,get util(){return eg},get objectUtil(){return ev},ZodParsedType:ej,getParsedType:getParsedType,ZodType:ZodType,ZodString:ZodString,ZodNumber:ZodNumber,ZodBigInt:ZodBigInt,ZodBoolean:ZodBoolean,ZodDate:ZodDate,ZodSymbol:ZodSymbol,ZodUndefined:ZodUndefined,ZodNull:ZodNull,ZodAny:ZodAny,ZodUnknown:ZodUnknown,ZodNever:ZodNever,ZodVoid:ZodVoid,ZodArray:ZodArray,ZodObject:ZodObject,ZodUnion:ZodUnion,ZodDiscriminatedUnion:ZodDiscriminatedUnion,ZodIntersection:ZodIntersection,ZodTuple:ZodTuple,ZodRecord:ZodRecord,ZodMap:ZodMap,ZodSet:ZodSet,ZodFunction:ZodFunction,ZodLazy:ZodLazy,ZodLiteral:ZodLiteral,ZodEnum:ZodEnum,ZodNativeEnum:ZodNativeEnum,ZodPromise:ZodPromise,ZodEffects:ZodEffects,ZodTransformer:ZodEffects,ZodOptional:ZodOptional,ZodNullable:ZodNullable,ZodDefault:ZodDefault,ZodCatch:ZodCatch,ZodNaN:ZodNaN,BRAND:eU,ZodBranded:ZodBranded,ZodPipeline:ZodPipeline,ZodReadonly:ZodReadonly,custom:custom,Schema:ZodType,ZodSchema:ZodType,late:eH,get ZodFirstPartyTypeKind(){return eb},coerce:tv,any:e0,array:e5,bigint:eG,boolean:eK,date:eY,discriminatedUnion:e9,effect:tf,enum:tc,function:ts,instanceof:instanceOfType,intersection:e8,lazy:tl,literal:tu,map:to,nan:eW,nativeEnum:td,never:e2,null:eJ,nullable:tm,number:eB,object:e3,oboolean:oboolean,onumber:onumber,optional:th,ostring:ostring,pipeline:tg,preprocess:tx,promise:tp,record:tr,set:ti,strictObject:e6,string:e$,symbol:eQ,transformer:tf,tuple:tn,undefined:eX,union:e7,unknown:e1,void:e4,NEVER:ty,ZodIssueCode:eI,quotelessJson:quotelessJson,ZodError:ZodError}),t_=er(41664),tw=er.n(t_),tk={i8:"13.5.6"};er(66337);var tC=er(85893);let tT=["light","dark"],tE="(prefers-color-scheme: dark)",tO="undefined"==typeof window,tS=(0,ek.createContext)(void 0),tj={setTheme:ee=>{},themes:[]},y=()=>{var ee;return null!==(ee=(0,ek.useContext)(tS))&&void 0!==ee?ee:tj},$=ee=>(0,ek.useContext)(tS)?ek.createElement(ek.Fragment,null,ee.children):ek.createElement(f,ee),tI=["light","dark"],f=({forcedTheme:ee,disableTransitionOnChange:en=!1,enableSystem:er=!0,enableColorScheme:eo=!0,storageKey:ei="theme",themes:es=tI,defaultTheme:eu=er?"system":"light",attribute:ec="data-theme",value:ed,children:ep,nonce:ef})=>{let[eh,em]=(0,ek.useState)(()=>S(ei,eu)),[ex,eg]=(0,ek.useState)(()=>S(ei)),ev=ed?Object.values(ed):es,ey=(0,ek.useCallback)(ee=>{let ei=ee;if(!ei)return;"system"===ee&&er&&(ei=p());let es=ed?ed[ei]:ei,ep=en?b():null,ef=document.documentElement;if("class"===ec?(ef.classList.remove(...ev),es&&ef.classList.add(es)):es?ef.setAttribute(ec,es):ef.removeAttribute(ec),eo){let ee=tT.includes(eu)?eu:null,en=tT.includes(ei)?ei:ee;ef.style.colorScheme=en}null==ep||ep()},[]),eb=(0,ek.useCallback)(ee=>{em(ee);try{localStorage.setItem(ei,ee)}catch(ee){}},[ee]),e_=(0,ek.useCallback)(en=>{let eo=p(en);eg(eo),"system"===eh&&er&&!ee&&ey("system")},[eh,ee]);(0,ek.useEffect)(()=>{let ee=window.matchMedia(tE);return ee.addListener(e_),e_(ee),()=>ee.removeListener(e_)},[e_]),(0,ek.useEffect)(()=>{let e=ee=>{ee.key===ei&&eb(ee.newValue||eu)};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[eb]),(0,ek.useEffect)(()=>{ey(null!=ee?ee:eh)},[ee,eh]);let ew=(0,ek.useMemo)(()=>({theme:eh,setTheme:eb,forcedTheme:ee,resolvedTheme:"system"===eh?ex:eh,themes:er?[...es,"system"]:es,systemTheme:er?ex:void 0}),[eh,eb,ee,ex,er,es]);return ek.createElement(tS.Provider,{value:ew},ek.createElement(tP,{forcedTheme:ee,disableTransitionOnChange:en,enableSystem:er,enableColorScheme:eo,storageKey:ei,themes:es,defaultTheme:eu,attribute:ec,value:ed,children:ep,attrs:ev,nonce:ef}),ep)},tP=(0,ek.memo)(({forcedTheme:ee,storageKey:en,attribute:er,enableSystem:eo,enableColorScheme:ei,defaultTheme:es,value:eu,attrs:ec,nonce:ed})=>{let ep="system"===es,ef="class"===er?`var d=document.documentElement,c=d.classList;c.remove(${ec.map(ee=>`'${ee}'`).join(",")});`:`var d=document.documentElement,n='${er}',s='setAttribute';`,eh=ei?tT.includes(es)&&es?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${es}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",$=(ee,en=!1,eo=!0)=>{let es=eu?eu[ee]:ee,ec=en?ee+"|| ''":`'${es}'`,ed="";return ei&&eo&&!en&&tT.includes(ee)&&(ed+=`d.style.colorScheme = '${ee}';`),"class"===er?ed+=en||es?`c.add(${ec})`:"null":es&&(ed+=`d[s](n,${ec})`),ed},em=ee?`!function(){${ef}${$(ee)}}()`:eo?`!function(){try{${ef}var e=localStorage.getItem('${en}');if('system'===e||(!e&&${ep})){var t='${tE}',m=window.matchMedia(t);if(m.media!==t||m.matches){${$("dark")}}else{${$("light")}}}else if(e){${eu?`var x=${JSON.stringify(eu)};`:""}${$(eu?"x[e]":"e",!0)}}${ep?"":"else{"+$(es,!1,!1)+"}"}${eh}}catch(e){}}()`:`!function(){try{${ef}var e=localStorage.getItem('${en}');if(e){${eu?`var x=${JSON.stringify(eu)};`:""}${$(eu?"x[e]":"e",!0)}}else{${$(es,!1,!1)};}${eh}}catch(t){}}();`;return ek.createElement("script",{nonce:ed,dangerouslySetInnerHTML:{__html:em}})},()=>!0),S=(ee,en)=>{let er;if(!tO){try{er=localStorage.getItem(ee)||void 0}catch(ee){}return er||en}},b=()=>{let ee=document.createElement("style");return ee.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(ee),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(ee)},1)}},p=ee=>(ee||(ee=window.matchMedia(tE)),ee.matches?"dark":"light");var tN={breadcrumb:!0,collapsed:!1,footer:!0,layout:"default",navbar:!0,pagination:!0,sidebar:!0,timestamp:!0,toc:!0,typesetting:"default"},tR=tb.strictObject({breadcrumb:tb.boolean(),collapsed:tb.boolean(),footer:tb.boolean(),layout:tb.enum(["default","full","raw"]),navbar:tb.boolean(),pagination:tb.boolean(),sidebar:tb.boolean(),timestamp:tb.boolean(),toc:tb.boolean(),typesetting:tb.enum(["default","article"])}),tZ=tb.enum(["normal","hidden","children"]),tM=tb.string(),tA=tb.strictObject({href:tb.string(),newWindow:tb.boolean(),title:tM}),tL=tb.strictObject({display:tZ.optional(),items:tb.record(tA.partial({href:!0,newWindow:!0})),title:tM,type:tb.literal("menu")}),tD=tb.strictObject({title:tM,type:tb.literal("separator")}),tF=tA.extend({display:tZ,theme:tR,title:tM,type:tb.enum(["page","doc"])}).deepPartial();function extendMeta(ee={},en){"string"==typeof ee&&(ee={title:ee});let er=Object.assign({},en.theme,ee.theme);return Object.assign({},en,ee,{theme:er})}function findFirstRoute(ee){for(let en of ee){if(en.route)return en.route;if(en.children){let ee=findFirstRoute(en.children);if(ee)return ee}}}function normalizePages({list:ee,locale:en,defaultLocale:er,route:eo,docsRoot:ei="",underCurrentDocsRoot:es=!1,pageThemeContext:eu=tN}){let ec,ed;for(let er of ee)if("Meta"===er.kind){if(er.locale===en){ec=er.data;break}ec||(ec=er.data)}let ep=ec||{},ef=Object.keys(ep);for(let ee of ef)"string"==typeof ep[ee]&&(ep[ee]={title:ep[ee]});let eh=[],em=[],ex=[],eg=[],ev=[],ey=0,eb=eu,e_=[],ew=-1,ek=ep["*"]||{};delete ek.title,delete ek.href;let eC=ee.filter(ee=>"Meta"!==ee.kind&&!ee.name.startsWith("_")&&(!("locale"in ee)||!ee.locale||[en,er].includes(ee.locale))).sort((ee,en)=>{let er=ef.indexOf(ee.name),eo=ef.indexOf(en.name);return -1===er&&-1===eo?ee.name{let en;let er=[],eo=ef.indexOf(ee.name);if(-1!==eo){for(let ee=ew+1;ee({...ec,type:eE,...eI&&{title:eI},...ew&&{display:ew},...ej&&{children:[]}}),eP=getItem(),eN=getItem(),eR=getItem();if(eN.isUnderCurrentDocsTree=eS,"separator"===eE&&(eP.isUnderCurrentDocsTree=eS),ec.route===eo)switch(e_=[eP],ed=eE,eb={...eb,...eO},eE){case"page":case"menu":ey=ev.length;break;case"doc":ey=eg.length}if(!("hidden"===ew&&"Folder"!==eP.kind||eT.hV.has(ec.route))){if(ej){if(void 0!==ej.activeIndex&&void 0!==ej.activeType){switch(eb=ej.activeThemeContext,ed=ej.activeType,e_=[eP,...ej.activePath],ed){case"page":case"menu":ey=ev.length+ej.activeIndex;break;case"doc":ey=eg.length+ej.activeIndex}ec.withIndexPage&&"doc"===eE&&ey++}switch(eE){case"page":case"menu":eR.children.push(...ej.directories),ex.push(...ej.docsDirectories),ej.flatDirectories.length?(eR.firstChildRoute=findFirstRoute(ej.flatDirectories),ev.push(eR)):eR.withIndexPage&&ev.push(eR);break;case"doc":Array.isArray(eN.children)&&eN.children.push(...ej.docsDirectories),eP.withIndexPage&&"children"!==ew&&eg.push(eN)}em.push(...ej.flatDirectories),eg.push(...ej.flatDocsDirectories),Array.isArray(eP.children)&&eP.children.push(...ej.directories)}else switch(em.push(eP),eE){case"page":case"menu":ev.push(eR);break;case"doc":eg.push(eN)}switch("doc"===eE&&"children"===ew?eN.children&&(eh.push(...eN.children),ex.push(...eN.children)):eh.push(eP),eE){case"page":case"menu":ex.push(eR);break;case"doc":"children"!==ew&&ex.push(eN);break;case"separator":ex.push(eP)}}}return{activeType:ed,activeIndex:ey,activeThemeContext:eb,activePath:e_,directories:eh,flatDirectories:em,docsDirectories:ex,flatDocsDirectories:eg,topLevelNavbarItems:ev}}tb.string().or(tL).or(tD).or(tF);var tz=er(73458),tV=er.n(tz);function getWindow(ee){if(null==ee)return window;if("[object Window]"!==ee.toString()){var en=ee.ownerDocument;return en&&en.defaultView||window}return ee}function isElement(ee){var en=getWindow(ee).Element;return ee instanceof en||ee instanceof Element}function isHTMLElement(ee){var en=getWindow(ee).HTMLElement;return ee instanceof en||ee instanceof HTMLElement}function isShadowRoot(ee){if("undefined"==typeof ShadowRoot)return!1;var en=getWindow(ee).ShadowRoot;return ee instanceof en||ee instanceof ShadowRoot}var tU=Math.max,tH=Math.min,t$=Math.round;function getUAString(){var ee=navigator.userAgentData;return null!=ee&&ee.brands&&Array.isArray(ee.brands)?ee.brands.map(function(ee){return ee.brand+"/"+ee.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(ee,en,er){void 0===en&&(en=!1),void 0===er&&(er=!1);var eo=ee.getBoundingClientRect(),ei=1,es=1;en&&isHTMLElement(ee)&&(ei=ee.offsetWidth>0&&t$(eo.width)/ee.offsetWidth||1,es=ee.offsetHeight>0&&t$(eo.height)/ee.offsetHeight||1);var eu=(isElement(ee)?getWindow(ee):window).visualViewport,ec=!isLayoutViewport()&&er,ed=(eo.left+(ec&&eu?eu.offsetLeft:0))/ei,ep=(eo.top+(ec&&eu?eu.offsetTop:0))/es,ef=eo.width/ei,eh=eo.height/es;return{width:ef,height:eh,top:ep,right:ed+ef,bottom:ep+eh,left:ed,x:ed,y:ep}}function getWindowScroll(ee){var en=getWindow(ee);return{scrollLeft:en.pageXOffset,scrollTop:en.pageYOffset}}function getHTMLElementScroll(ee){return{scrollLeft:ee.scrollLeft,scrollTop:ee.scrollTop}}function getNodeScroll(ee){return ee!==getWindow(ee)&&isHTMLElement(ee)?getHTMLElementScroll(ee):getWindowScroll(ee)}function getNodeName(ee){return ee?(ee.nodeName||"").toLowerCase():null}function getDocumentElement(ee){return((isElement(ee)?ee.ownerDocument:ee.document)||window.document).documentElement}function getWindowScrollBarX(ee){return getBoundingClientRect(getDocumentElement(ee)).left+getWindowScroll(ee).scrollLeft}function getComputedStyle_getComputedStyle(ee){return getWindow(ee).getComputedStyle(ee)}function isScrollParent(ee){var en=getComputedStyle_getComputedStyle(ee),er=en.overflow,eo=en.overflowX,ei=en.overflowY;return/auto|scroll|overlay|hidden/.test(er+ei+eo)}function isElementScaled(ee){var en=ee.getBoundingClientRect(),er=t$(en.width)/ee.offsetWidth||1,eo=t$(en.height)/ee.offsetHeight||1;return 1!==er||1!==eo}function getCompositeRect(ee,en,er){void 0===er&&(er=!1);var eo=isHTMLElement(en),ei=isHTMLElement(en)&&isElementScaled(en),es=getDocumentElement(en),eu=getBoundingClientRect(ee,ei,er),ec={scrollLeft:0,scrollTop:0},ed={x:0,y:0};return(eo||!eo&&!er)&&(("body"!==getNodeName(en)||isScrollParent(es))&&(ec=getNodeScroll(en)),isHTMLElement(en)?(ed=getBoundingClientRect(en,!0),ed.x+=en.clientLeft,ed.y+=en.clientTop):es&&(ed.x=getWindowScrollBarX(es))),{x:eu.left+ec.scrollLeft-ed.x,y:eu.top+ec.scrollTop-ed.y,width:eu.width,height:eu.height}}function getLayoutRect(ee){var en=getBoundingClientRect(ee),er=ee.offsetWidth,eo=ee.offsetHeight;return 1>=Math.abs(en.width-er)&&(er=en.width),1>=Math.abs(en.height-eo)&&(eo=en.height),{x:ee.offsetLeft,y:ee.offsetTop,width:er,height:eo}}function getParentNode(ee){return"html"===getNodeName(ee)?ee:ee.assignedSlot||ee.parentNode||(isShadowRoot(ee)?ee.host:null)||getDocumentElement(ee)}function getScrollParent(ee){return["html","body","#document"].indexOf(getNodeName(ee))>=0?ee.ownerDocument.body:isHTMLElement(ee)&&isScrollParent(ee)?ee:getScrollParent(getParentNode(ee))}function listScrollParents(ee,en){void 0===en&&(en=[]);var er,eo=getScrollParent(ee),ei=eo===(null==(er=ee.ownerDocument)?void 0:er.body),es=getWindow(eo),eu=ei?[es].concat(es.visualViewport||[],isScrollParent(eo)?eo:[]):eo,ec=en.concat(eu);return ei?ec:ec.concat(listScrollParents(getParentNode(eu)))}function isTableElement(ee){return["table","td","th"].indexOf(getNodeName(ee))>=0}function getTrueOffsetParent(ee){return isHTMLElement(ee)&&"fixed"!==getComputedStyle_getComputedStyle(ee).position?ee.offsetParent:null}function getContainingBlock(ee){var en=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(ee)&&"fixed"===getComputedStyle_getComputedStyle(ee).position)return null;var er=getParentNode(ee);for(isShadowRoot(er)&&(er=er.host);isHTMLElement(er)&&0>["html","body"].indexOf(getNodeName(er));){var eo=getComputedStyle_getComputedStyle(er);if("none"!==eo.transform||"none"!==eo.perspective||"paint"===eo.contain||-1!==["transform","perspective"].indexOf(eo.willChange)||en&&"filter"===eo.willChange||en&&eo.filter&&"none"!==eo.filter)return er;er=er.parentNode}return null}function getOffsetParent(ee){for(var en=getWindow(ee),er=getTrueOffsetParent(ee);er&&isTableElement(er)&&"static"===getComputedStyle_getComputedStyle(er).position;)er=getTrueOffsetParent(er);return er&&("html"===getNodeName(er)||"body"===getNodeName(er)&&"static"===getComputedStyle_getComputedStyle(er).position)?en:er||getContainingBlock(ee)||en}var tB="top",tW="bottom",tG="right",tK="left",tq="auto",tY=[tB,tW,tG,tK],tQ="start",tX="end",tJ="clippingParents",t0="viewport",t1="popper",t2="reference",t4=tY.reduce(function(ee,en){return ee.concat([en+"-"+tQ,en+"-"+tX])},[]),t5=[].concat(tY,[tq]).reduce(function(ee,en){return ee.concat([en,en+"-"+tQ,en+"-"+tX])},[]),t3=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function order(ee){var en=new Map,er=new Set,eo=[];function sort(ee){er.add(ee.name),[].concat(ee.requires||[],ee.requiresIfExists||[]).forEach(function(ee){if(!er.has(ee)){var eo=en.get(ee);eo&&sort(eo)}}),eo.push(ee)}return ee.forEach(function(ee){en.set(ee.name,ee)}),ee.forEach(function(ee){er.has(ee.name)||sort(ee)}),eo}function orderModifiers(ee){var en=order(ee);return t3.reduce(function(ee,er){return ee.concat(en.filter(function(ee){return ee.phase===er}))},[])}function debounce(ee){var en;return function(){return en||(en=new Promise(function(er){Promise.resolve().then(function(){en=void 0,er(ee())})})),en}}function mergeByName(ee){var en=ee.reduce(function(ee,en){var er=ee[en.name];return ee[en.name]=er?Object.assign({},er,en,{options:Object.assign({},er.options,en.options),data:Object.assign({},er.data,en.data)}):en,ee},{});return Object.keys(en).map(function(ee){return en[ee]})}var t6={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var ee=arguments.length,en=Array(ee),er=0;er=0?"x":"y"}function computeOffsets(ee){var en,er=ee.reference,eo=ee.element,ei=ee.placement,es=ei?getBasePlacement(ei):null,eu=ei?getVariation(ei):null,ec=er.x+er.width/2-eo.width/2,ed=er.y+er.height/2-eo.height/2;switch(es){case tB:en={x:ec,y:er.y-eo.height};break;case tW:en={x:ec,y:er.y+er.height};break;case tG:en={x:er.x+er.width,y:ed};break;case tK:en={x:er.x-eo.width,y:ed};break;default:en={x:er.x,y:er.y}}var ep=es?getMainAxisFromPlacement(es):null;if(null!=ep){var ef="y"===ep?"height":"width";switch(eu){case tQ:en[ep]=en[ep]-(er[ef]/2-eo[ef]/2);break;case tX:en[ep]=en[ep]+(er[ef]/2-eo[ef]/2)}}return en}var t9={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(ee,en){var er=ee.x,eo=ee.y,ei=en.devicePixelRatio||1;return{x:t$(er*ei)/ei||0,y:t$(eo*ei)/ei||0}}function mapToStyles(ee){var en,er,eo=ee.popper,ei=ee.popperRect,es=ee.placement,eu=ee.variation,ec=ee.offsets,ed=ee.position,ep=ee.gpuAcceleration,ef=ee.adaptive,eh=ee.roundOffsets,em=ee.isFixed,ex=ec.x,eg=void 0===ex?0:ex,ev=ec.y,ey=void 0===ev?0:ev,eb="function"==typeof eh?eh({x:eg,y:ey}):{x:eg,y:ey};eg=eb.x,ey=eb.y;var e_=ec.hasOwnProperty("x"),ew=ec.hasOwnProperty("y"),ek=tK,eC=tB,eT=window;if(ef){var eE=getOffsetParent(eo),eO="clientHeight",eS="clientWidth";eE===getWindow(eo)&&"static"!==getComputedStyle_getComputedStyle(eE=getDocumentElement(eo)).position&&"absolute"===ed&&(eO="scrollHeight",eS="scrollWidth"),(es===tB||(es===tK||es===tG)&&eu===tX)&&(eC=tW,ey-=(em&&eE===eT&&eT.visualViewport?eT.visualViewport.height:eE[eO])-ei.height,ey*=ep?1:-1),(es===tK||(es===tB||es===tW)&&eu===tX)&&(ek=tG,eg-=(em&&eE===eT&&eT.visualViewport?eT.visualViewport.width:eE[eS])-ei.width,eg*=ep?1:-1)}var ej=Object.assign({position:ed},ef&&t9),eI=!0===eh?roundOffsetsByDPR({x:eg,y:ey},getWindow(eo)):{x:eg,y:ey};return(eg=eI.x,ey=eI.y,ep)?Object.assign({},ej,((er={})[eC]=ew?"0":"",er[ek]=e_?"0":"",er.transform=1>=(eT.devicePixelRatio||1)?"translate("+eg+"px, "+ey+"px)":"translate3d("+eg+"px, "+ey+"px, 0)",er)):Object.assign({},ej,((en={})[eC]=ew?ey+"px":"",en[ek]=e_?eg+"px":"",en.transform="",en))}function distanceAndSkiddingToXY(ee,en,er){var eo=getBasePlacement(ee),ei=[tK,tB].indexOf(eo)>=0?-1:1,es="function"==typeof er?er(Object.assign({},en,{placement:ee})):er,eu=es[0],ec=es[1];return eu=eu||0,ec=(ec||0)*ei,[tK,tG].indexOf(eo)>=0?{x:ec,y:eu}:{x:eu,y:ec}}var t8={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(ee){return ee.replace(/left|right|bottom|top/g,function(ee){return t8[ee]})}var ne={start:"end",end:"start"};function getOppositeVariationPlacement(ee){return ee.replace(/start|end/g,function(ee){return ne[ee]})}function getViewportRect(ee,en){var er=getWindow(ee),eo=getDocumentElement(ee),ei=er.visualViewport,es=eo.clientWidth,eu=eo.clientHeight,ec=0,ed=0;if(ei){es=ei.width,eu=ei.height;var ep=isLayoutViewport();(ep||!ep&&"fixed"===en)&&(ec=ei.offsetLeft,ed=ei.offsetTop)}return{width:es,height:eu,x:ec+getWindowScrollBarX(ee),y:ed}}function getDocumentRect(ee){var en,er=getDocumentElement(ee),eo=getWindowScroll(ee),ei=null==(en=ee.ownerDocument)?void 0:en.body,es=tU(er.scrollWidth,er.clientWidth,ei?ei.scrollWidth:0,ei?ei.clientWidth:0),eu=tU(er.scrollHeight,er.clientHeight,ei?ei.scrollHeight:0,ei?ei.clientHeight:0),ec=-eo.scrollLeft+getWindowScrollBarX(ee),ed=-eo.scrollTop;return"rtl"===getComputedStyle_getComputedStyle(ei||er).direction&&(ec+=tU(er.clientWidth,ei?ei.clientWidth:0)-es),{width:es,height:eu,x:ec,y:ed}}function contains(ee,en){var er=en.getRootNode&&en.getRootNode();if(ee.contains(en))return!0;if(er&&isShadowRoot(er)){var eo=en;do{if(eo&&ee.isSameNode(eo))return!0;eo=eo.parentNode||eo.host}while(eo)}return!1}function rectToClientRect(ee){return Object.assign({},ee,{left:ee.x,top:ee.y,right:ee.x+ee.width,bottom:ee.y+ee.height})}function getInnerBoundingClientRect(ee,en){var er=getBoundingClientRect(ee,!1,"fixed"===en);return er.top=er.top+ee.clientTop,er.left=er.left+ee.clientLeft,er.bottom=er.top+ee.clientHeight,er.right=er.left+ee.clientWidth,er.width=ee.clientWidth,er.height=ee.clientHeight,er.x=er.left,er.y=er.top,er}function getClientRectFromMixedType(ee,en,er){return en===t0?rectToClientRect(getViewportRect(ee,er)):isElement(en)?getInnerBoundingClientRect(en,er):rectToClientRect(getDocumentRect(getDocumentElement(ee)))}function getClippingParents(ee){var en=listScrollParents(getParentNode(ee)),er=["absolute","fixed"].indexOf(getComputedStyle_getComputedStyle(ee).position)>=0&&isHTMLElement(ee)?getOffsetParent(ee):ee;return isElement(er)?en.filter(function(ee){return isElement(ee)&&contains(ee,er)&&"body"!==getNodeName(ee)}):[]}function getClippingRect(ee,en,er,eo){var ei=[].concat("clippingParents"===en?getClippingParents(ee):[].concat(en),[er]),es=ei[0],eu=ei.reduce(function(en,er){var ei=getClientRectFromMixedType(ee,er,eo);return en.top=tU(ei.top,en.top),en.right=tH(ei.right,en.right),en.bottom=tH(ei.bottom,en.bottom),en.left=tU(ei.left,en.left),en},getClientRectFromMixedType(ee,es,eo));return eu.width=eu.right-eu.left,eu.height=eu.bottom-eu.top,eu.x=eu.left,eu.y=eu.top,eu}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(ee){return Object.assign({},getFreshSideObject(),ee)}function expandToHashMap(ee,en){return en.reduce(function(en,er){return en[er]=ee,en},{})}function detectOverflow(ee,en){void 0===en&&(en={});var er=en,eo=er.placement,ei=void 0===eo?ee.placement:eo,es=er.strategy,eu=void 0===es?ee.strategy:es,ec=er.boundary,ed=void 0===ec?tJ:ec,ep=er.rootBoundary,ef=void 0===ep?t0:ep,eh=er.elementContext,em=void 0===eh?t1:eh,ex=er.altBoundary,eg=void 0!==ex&&ex,ev=er.padding,ey=void 0===ev?0:ev,eb=mergePaddingObject("number"!=typeof ey?ey:expandToHashMap(ey,tY)),e_=em===t1?t2:t1,ew=ee.rects.popper,ek=ee.elements[eg?e_:em],eC=getClippingRect(isElement(ek)?ek:ek.contextElement||getDocumentElement(ee.elements.popper),ed,ef,eu),eT=getBoundingClientRect(ee.elements.reference),eE=computeOffsets({reference:eT,element:ew,strategy:"absolute",placement:ei}),eO=rectToClientRect(Object.assign({},ew,eE)),eS=em===t1?eO:eT,ej={top:eC.top-eS.top+eb.top,bottom:eS.bottom-eC.bottom+eb.bottom,left:eC.left-eS.left+eb.left,right:eS.right-eC.right+eb.right},eI=ee.modifiersData.offset;if(em===t1&&eI){var eP=eI[ei];Object.keys(ej).forEach(function(ee){var en=[tG,tW].indexOf(ee)>=0?1:-1,er=[tB,tW].indexOf(ee)>=0?"y":"x";ej[ee]+=eP[er]*en})}return ej}function computeAutoPlacement(ee,en){void 0===en&&(en={});var er=en,eo=er.placement,ei=er.boundary,es=er.rootBoundary,eu=er.padding,ec=er.flipVariations,ed=er.allowedAutoPlacements,ep=void 0===ed?t5:ed,ef=getVariation(eo),eh=ef?ec?t4:t4.filter(function(ee){return getVariation(ee)===ef}):tY,em=eh.filter(function(ee){return ep.indexOf(ee)>=0});0===em.length&&(em=eh);var ex=em.reduce(function(en,er){return en[er]=detectOverflow(ee,{placement:er,boundary:ei,rootBoundary:es,padding:eu})[getBasePlacement(er)],en},{});return Object.keys(ex).sort(function(ee,en){return ex[ee]-ex[en]})}function getExpandedFallbackPlacements(ee){if(getBasePlacement(ee)===tq)return[];var en=getOppositePlacement(ee);return[getOppositeVariationPlacement(ee),en,getOppositeVariationPlacement(en)]}function getAltAxis(ee){return"x"===ee?"y":"x"}function within(ee,en,er){return tU(ee,tH(en,er))}function withinMaxClamp(ee,en,er){var eo=within(ee,en,er);return eo>er?er:eo}var toPaddingObject=function(ee,en){return mergePaddingObject("number"!=typeof(ee="function"==typeof ee?ee(Object.assign({},en.rects,{placement:en.placement})):ee)?ee:expandToHashMap(ee,tY))};function getSideOffsets(ee,en,er){return void 0===er&&(er={x:0,y:0}),{top:ee.top-en.height-er.y,right:ee.right-en.width+er.x,bottom:ee.bottom-en.height+er.y,left:ee.left-en.width-er.x}}function isAnySideFullyClipped(ee){return[tB,tG,tW,tK].some(function(en){return ee[en]>=0})}var nt=function(ee){void 0===ee&&(ee={});var en=ee,er=en.defaultModifiers,eo=void 0===er?[]:er,ei=en.defaultOptions,es=void 0===ei?t6:ei;return function(ee,en,er){void 0===er&&(er=es);var ei={placement:"bottom",orderedModifiers:[],options:Object.assign({},t6,es),modifiersData:{},elements:{reference:ee,popper:en},attributes:{},styles:{}},eu=[],ec=!1,ed={state:ei,setOptions:function(er){var eu="function"==typeof er?er(ei.options):er;cleanupModifierEffects(),ei.options=Object.assign({},es,ei.options,eu),ei.scrollParents={reference:isElement(ee)?listScrollParents(ee):ee.contextElement?listScrollParents(ee.contextElement):[],popper:listScrollParents(en)};var ec=orderModifiers(mergeByName([].concat(eo,ei.options.modifiers)));return ei.orderedModifiers=ec.filter(function(ee){return ee.enabled}),runModifierEffects(),ed.update()},forceUpdate:function(){if(!ec){var ee=ei.elements,en=ee.reference,er=ee.popper;if(areValidElements(en,er)){ei.rects={reference:getCompositeRect(en,getOffsetParent(er),"fixed"===ei.options.strategy),popper:getLayoutRect(er)},ei.reset=!1,ei.placement=ei.options.placement,ei.orderedModifiers.forEach(function(ee){return ei.modifiersData[ee.name]=Object.assign({},ee.data)});for(var eo=0;eo=0,eR=eN?"width":"height",eZ=detectOverflow(en,{placement:ej,boundary:ef,rootBoundary:eh,altBoundary:em,padding:ep}),eM=eN?eP?tG:tK:eP?tW:tB;ek[eR]>eC[eR]&&(eM=getOppositePlacement(eM));var eA=getOppositePlacement(eM),eL=[];if(es&&eL.push(eZ[eI]<=0),ec&&eL.push(eZ[eM]<=0,eZ[eA]<=0),eL.every(function(ee){return ee})){eO=ej,eE=!1;break}eT.set(ej,eL)}if(eE)for(var eD=eg?3:1,_loop=function(ee){var en=ew.find(function(en){var er=eT.get(en);if(er)return er.slice(0,ee).every(function(ee){return ee})});if(en)return eO=en,"break"},eF=eD;eF>0&&"break"!==_loop(eF);eF--);en.placement!==eO&&(en.modifiersData[eo]._skip=!0,en.placement=eO,en.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(ee){var en=ee.state,er=ee.options,eo=ee.name,ei=er.mainAxis,es=void 0===ei||ei,eu=er.altAxis,ec=void 0!==eu&&eu,ed=er.boundary,ep=er.rootBoundary,ef=er.altBoundary,eh=er.padding,em=er.tether,ex=void 0===em||em,eg=er.tetherOffset,ev=void 0===eg?0:eg,ey=detectOverflow(en,{boundary:ed,rootBoundary:ep,padding:eh,altBoundary:ef}),eb=getBasePlacement(en.placement),e_=getVariation(en.placement),ew=!e_,ek=getMainAxisFromPlacement(eb),eC=getAltAxis(ek),eT=en.modifiersData.popperOffsets,eE=en.rects.reference,eO=en.rects.popper,eS="function"==typeof ev?ev(Object.assign({},en.rects,{placement:en.placement})):ev,ej="number"==typeof eS?{mainAxis:eS,altAxis:eS}:Object.assign({mainAxis:0,altAxis:0},eS),eI=en.modifiersData.offset?en.modifiersData.offset[en.placement]:null,eP={x:0,y:0};if(eT){if(es){var eN,eR="y"===ek?tB:tK,eZ="y"===ek?tW:tG,eM="y"===ek?"height":"width",eA=eT[ek],eL=eA+ey[eR],eD=eA-ey[eZ],eF=ex?-eO[eM]/2:0,ez=e_===tQ?eE[eM]:eO[eM],eV=e_===tQ?-eO[eM]:-eE[eM],eU=en.elements.arrow,eH=ex&&eU?getLayoutRect(eU):{width:0,height:0},e$=en.modifiersData["arrow#persistent"]?en.modifiersData["arrow#persistent"].padding:getFreshSideObject(),eB=e$[eR],eW=e$[eZ],eG=within(0,eE[eM],eH[eM]),eK=ew?eE[eM]/2-eF-eG-eB-ej.mainAxis:ez-eG-eB-ej.mainAxis,eY=ew?-eE[eM]/2+eF+eG+eW+ej.mainAxis:eV+eG+eW+ej.mainAxis,eQ=en.elements.arrow&&getOffsetParent(en.elements.arrow),eX=eQ?"y"===ek?eQ.clientTop||0:eQ.clientLeft||0:0,eJ=null!=(eN=null==eI?void 0:eI[ek])?eN:0,e0=eA+eK-eJ-eX,e1=eA+eY-eJ,e2=within(ex?tH(eL,e0):eL,eA,ex?tU(eD,e1):eD);eT[ek]=e2,eP[ek]=e2-eA}if(ec){var e4,e5="x"===ek?tB:tK,e3="x"===ek?tW:tG,e6=eT[eC],e7="y"===eC?"height":"width",e9=e6+ey[e5],e8=e6-ey[e3],tn=-1!==[tB,tK].indexOf(eb),tr=null!=(e4=null==eI?void 0:eI[eC])?e4:0,to=tn?e9:e6-eE[e7]-eO[e7]-tr+ej.altAxis,ti=tn?e6+eE[e7]+eO[e7]-tr-ej.altAxis:e8,ts=ex&&tn?withinMaxClamp(to,e6,ti):within(ex?to:e9,e6,ex?ti:e8);eT[eC]=ts,eP[eC]=ts-e6}en.modifiersData[eo]=eP}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(ee){var en,er=ee.state,eo=ee.name,ei=ee.options,es=er.elements.arrow,eu=er.modifiersData.popperOffsets,ec=getBasePlacement(er.placement),ed=getMainAxisFromPlacement(ec),ep=[tK,tG].indexOf(ec)>=0?"height":"width";if(es&&eu){var ef=toPaddingObject(ei.padding,er),eh=getLayoutRect(es),em="y"===ed?tB:tK,ex="y"===ed?tW:tG,eg=er.rects.reference[ep]+er.rects.reference[ed]-eu[ed]-er.rects.popper[ep],ev=eu[ed]-er.rects.reference[ed],ey=getOffsetParent(es),eb=ey?"y"===ed?ey.clientHeight||0:ey.clientWidth||0:0,e_=eg/2-ev/2,ew=ef[em],ek=eb-eh[ep]-ef[ex],eC=eb/2-eh[ep]/2+e_,eT=within(ew,eC,ek),eE=ed;er.modifiersData[eo]=((en={})[eE]=eT,en.centerOffset=eT-eC,en)}},effect:function(ee){var en=ee.state,er=ee.options.element,eo=void 0===er?"[data-popper-arrow]":er;null!=eo&&("string"!=typeof eo||(eo=en.elements.popper.querySelector(eo)))&&contains(en.elements.popper,eo)&&(en.elements.arrow=eo)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(ee){var en=ee.state,er=ee.name,eo=en.rects.reference,ei=en.rects.popper,es=en.modifiersData.preventOverflow,eu=detectOverflow(en,{elementContext:"reference"}),ec=detectOverflow(en,{altBoundary:!0}),ed=getSideOffsets(eu,eo),ep=getSideOffsets(ec,ei,es),ef=isAnySideFullyClipped(ed),eh=isAnySideFullyClipped(ep);en.modifiersData[er]={referenceClippingOffsets:ed,popperEscapeOffsets:ep,isReferenceHidden:ef,hasPopperEscaped:eh},en.attributes.popper=Object.assign({},en.attributes.popper,{"data-popper-reference-hidden":ef,"data-popper-escaped":eh})}}]}),nn=er(36304),nr=er.n(nn);function escapeStringRegexp(ee){if("string"!=typeof ee)throw TypeError("Expected a string");return ee.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var no=er(12351);let ni=(0,ek.createContext)(null);ni.displayName="OpenClosedContext";var ns=((ei=ns||{})[ei.Open=1]="Open",ei[ei.Closed=2]="Closed",ei[ei.Closing=4]="Closing",ei[ei.Opening=8]="Opening",ei);function C(){return(0,ek.useContext)(ni)}function open_closed_c({value:ee,children:en}){return ek.createElement(ni.Provider,{value:ee},en)}var nl=er(32984),nu=er(14879),nc=er(16723),nd=er(3855),np=er(82180),nf=er(23784);function once_l(ee){let en={called:!1};return(...er)=>{if(!en.called)return en.called=!0,ee(...er)}}var nh=er(9362);function transition_g(ee,...en){ee&&en.length>0&&ee.classList.add(...en)}function transition_v(ee,...en){ee&&en.length>0&&ee.classList.remove(...en)}function transition_b(ee,en){let er=(0,nh.k)();if(!ee)return er.dispose;let{transitionDuration:eo,transitionDelay:ei}=getComputedStyle(ee),[es,eu]=[eo,ei].map(ee=>{let[en=0]=ee.split(",").filter(Boolean).map(ee=>ee.includes("ms")?parseFloat(ee):1e3*parseFloat(ee)).sort((ee,en)=>en-ee);return en}),ec=es+eu;if(0!==ec){er.group(er=>{er.setTimeout(()=>{en(),er.dispose()},ec),er.addEventListener(ee,"transitionrun",ee=>{ee.target===ee.currentTarget&&er.dispose()})});let eo=er.addEventListener(ee,"transitionend",ee=>{ee.target===ee.currentTarget&&(en(),eo())})}else en();return er.add(()=>en()),er.dispose}function M(ee,en,er,eo){let ei=er?"enter":"leave",es=(0,nh.k)(),eu=void 0!==eo?once_l(eo):()=>{};"enter"===ei&&(ee.removeAttribute("hidden"),ee.style.display="");let ec=(0,nl.E)(ei,{enter:()=>en.enter,leave:()=>en.leave}),ed=(0,nl.E)(ei,{enter:()=>en.enterTo,leave:()=>en.leaveTo}),ep=(0,nl.E)(ei,{enter:()=>en.enterFrom,leave:()=>en.leaveFrom});return transition_v(ee,...en.base,...en.enter,...en.enterTo,...en.enterFrom,...en.leave,...en.leaveFrom,...en.leaveTo,...en.entered),transition_g(ee,...en.base,...ec,...ep),es.nextFrame(()=>{transition_v(ee,...en.base,...ec,...ep),transition_g(ee,...en.base,...ec,...ed),transition_b(ee,()=>(transition_v(ee,...en.base,...ec),transition_g(ee,...en.base,...en.entered),eu()))}),es.dispose}function use_disposables_p(){let[ee]=(0,ek.useState)(nh.k);return(0,ek.useEffect)(()=>()=>ee.dispose(),[ee]),ee}function E({immediate:ee,container:en,direction:er,classes:eo,onStart:ei,onStop:es}){let eu=(0,nu.t)(),ec=use_disposables_p(),ed=(0,nd.E)(er);(0,nc.e)(()=>{ee&&(ed.current="enter")},[ee]),(0,nc.e)(()=>{let ee=(0,nh.k)();ec.add(ee.dispose);let er=en.current;if(er&&"idle"!==ed.current&&eu.current)return ee.dispose(),ei.current(ed.current),ee.add(M(er,eo.current,"enter"===ed.current,()=>{ee.dispose(),es.current(ed.current)})),ee.dispose},[er])}var nm=er(64919),nx=er(44067);function use_flags_c(ee=0){let[en,er]=(0,ek.useState)(ee),eo=(0,nu.t)(),ei=(0,ek.useCallback)(ee=>{eo.current&&er(en=>en|ee)},[en,eo]),es=(0,ek.useCallback)(ee=>!!(en&ee),[en]);return{flags:en,addFlag:ei,hasFlag:es,removeFlag:(0,ek.useCallback)(ee=>{eo.current&&er(en=>en&~ee)},[er,eo]),toggleFlag:(0,ek.useCallback)(ee=>{eo.current&&er(en=>en^ee)},[er])}}function transition_S(ee=""){return ee.split(" ").filter(ee=>ee.trim().length>1)}let ng=(0,ek.createContext)(null);ng.displayName="TransitionContext";var nv=((es=nv||{}).Visible="visible",es.Hidden="hidden",es);function Se(){let ee=(0,ek.useContext)(ng);if(null===ee)throw Error("A is used but it is missing a parent or .");return ee}function Ne(){let ee=(0,ek.useContext)(ny);if(null===ee)throw Error("A is used but it is missing a parent or .");return ee}let ny=(0,ek.createContext)(null);function U(ee){return"children"in ee?U(ee.children):ee.current.filter(({el:ee})=>null!==ee.current).filter(({state:ee})=>"visible"===ee).length>0}function oe(ee,en){let er=(0,nd.E)(ee),eo=(0,ek.useRef)([]),ei=(0,nu.t)(),es=use_disposables_p(),eu=(0,nm.z)((ee,en=no.l4.Hidden)=>{let eu=eo.current.findIndex(({el:en})=>en===ee);-1!==eu&&((0,nl.E)(en,{[no.l4.Unmount](){eo.current.splice(eu,1)},[no.l4.Hidden](){eo.current[eu].state="hidden"}}),es.microTask(()=>{var ee;!U(eo)&&ei.current&&(null==(ee=er.current)||ee.call(er))}))}),ec=(0,nm.z)(ee=>{let en=eo.current.find(({el:en})=>en===ee);return en?"visible"!==en.state&&(en.state="visible"):eo.current.push({el:ee,state:"visible"}),()=>eu(ee,no.l4.Unmount)}),ed=(0,ek.useRef)([]),ep=(0,ek.useRef)(Promise.resolve()),ef=(0,ek.useRef)({enter:[],leave:[],idle:[]}),eh=(0,nm.z)((ee,er,eo)=>{ed.current.splice(0),en&&(en.chains.current[er]=en.chains.current[er].filter(([en])=>en!==ee)),null==en||en.chains.current[er].push([ee,new Promise(ee=>{ed.current.push(ee)})]),null==en||en.chains.current[er].push([ee,new Promise(ee=>{Promise.all(ef.current[er].map(([ee,en])=>en)).then(()=>ee())})]),"enter"===er?ep.current=ep.current.then(()=>null==en?void 0:en.wait.current).then(()=>eo(er)):eo(er)}),em=(0,nm.z)((ee,en,er)=>{Promise.all(ef.current[en].splice(0).map(([ee,en])=>en)).then(()=>{var ee;null==(ee=ed.current.shift())||ee()}).then(()=>er(en))});return(0,ek.useMemo)(()=>({children:eo,register:ec,unregister:eu,onStart:eh,onStop:em,wait:ep,chains:ef}),[ec,eu,eo,eh,em,ef,ep])}function xe(){}ny.displayName="NestingContext";let nb=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function se(ee){var en;let er={};for(let eo of nb)er[eo]=null!=(en=ee[eo])?en:xe;return er}function Re(ee){let en=(0,ek.useRef)(se(ee));return(0,ek.useEffect)(()=>{en.current=se(ee)},[ee]),en}let n_="div",nw=no.AN.RenderStrategy;function De(ee,en){var er,eo;let{beforeEnter:ei,afterEnter:es,beforeLeave:eu,afterLeave:ec,enter:ed,enterFrom:ep,enterTo:ef,entered:eh,leave:em,leaveFrom:ex,leaveTo:eg,...ev}=ee,ey=(0,ek.useRef)(null),eb=(0,nf.T)(ey,en),e_=null==(er=ev.unmount)||er?no.l4.Unmount:no.l4.Hidden,{show:ew,appear:eC,initial:eT}=Se(),[eE,eO]=(0,ek.useState)(ew?"visible":"hidden"),eS=Ne(),{register:ej,unregister:eI}=eS;(0,ek.useEffect)(()=>ej(ey),[ej,ey]),(0,ek.useEffect)(()=>{if(e_===no.l4.Hidden&&ey.current){if(ew&&"visible"!==eE){eO("visible");return}return(0,nl.E)(eE,{hidden:()=>eI(ey),visible:()=>ej(ey)})}},[eE,ey,ej,eI,ew,e_]);let eP=(0,nd.E)({base:transition_S(ev.className),enter:transition_S(ed),enterFrom:transition_S(ep),enterTo:transition_S(ef),entered:transition_S(eh),leave:transition_S(em),leaveFrom:transition_S(ex),leaveTo:transition_S(eg)}),eN=Re({beforeEnter:ei,afterEnter:es,beforeLeave:eu,afterLeave:ec}),eR=(0,np.H)();(0,ek.useEffect)(()=>{if(eR&&"visible"===eE&&null===ey.current)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[ey,eE,eR]);let eZ=eT&&!eC,eM=eC&&ew&&eT,eA=!eR||eZ?"idle":ew?"enter":"leave",eL=use_flags_c(0),eD=(0,nm.z)(ee=>(0,nl.E)(ee,{enter:()=>{eL.addFlag(ns.Opening),eN.current.beforeEnter()},leave:()=>{eL.addFlag(ns.Closing),eN.current.beforeLeave()},idle:()=>{}})),eF=(0,nm.z)(ee=>(0,nl.E)(ee,{enter:()=>{eL.removeFlag(ns.Opening),eN.current.afterEnter()},leave:()=>{eL.removeFlag(ns.Closing),eN.current.afterLeave()},idle:()=>{}})),ez=oe(()=>{eO("hidden"),eI(ey)},eS);E({immediate:eM,container:ey,classes:eP,direction:eA,onStart:(0,nd.E)(ee=>{ez.onStart(ey,ee,eD)}),onStop:(0,nd.E)(ee=>{ez.onStop(ey,ee,eF),"leave"!==ee||U(ez)||(eO("hidden"),eI(ey))})});let eV=ev,eU={ref:eb};return eM?eV={...eV,className:(0,nx.A)(ev.className,...eP.current.enter,...eP.current.enterFrom)}:(eV.className=(0,nx.A)(ev.className,null==(eo=ey.current)?void 0:eo.className),""===eV.className&&delete eV.className),ek.createElement(ny.Provider,{value:ez},ek.createElement(open_closed_c,{value:(0,nl.E)(eE,{visible:ns.Open,hidden:ns.Closed})|eL.flags},(0,no.sY)({ourProps:eU,theirProps:eV,defaultTag:n_,features:nw,visible:"visible"===eE,name:"Transition.Child"})))}function He(ee,en){let{show:er,appear:eo=!1,unmount:ei=!0,...es}=ee,eu=(0,ek.useRef)(null),ec=(0,nf.T)(eu,en);(0,np.H)();let ed=C();if(void 0===er&&null!==ed&&(er=(ed&ns.Open)===ns.Open),![!0,!1].includes(er))throw Error("A is used but it is missing a `show={true | false}` prop.");let[ep,ef]=(0,ek.useState)(er?"visible":"hidden"),eh=oe(()=>{ef("hidden")}),[em,ex]=(0,ek.useState)(!0),eg=(0,ek.useRef)([er]);(0,nc.e)(()=>{!1!==em&&eg.current[eg.current.length-1]!==er&&(eg.current.push(er),ex(!1))},[eg,er]);let ev=(0,ek.useMemo)(()=>({show:er,appear:eo,initial:em}),[er,eo,em]);(0,ek.useEffect)(()=>{if(er)ef("visible");else if(U(eh)){let ee=eu.current;if(!ee)return;let en=ee.getBoundingClientRect();0===en.x&&0===en.y&&0===en.width&&0===en.height&&ef("hidden")}else ef("hidden")},[er,eh]);let ey={unmount:ei},eb=(0,nm.z)(()=>{var en;em&&ex(!1),null==(en=ee.beforeEnter)||en.call(ee)}),e_=(0,nm.z)(()=>{var en;em&&ex(!1),null==(en=ee.beforeLeave)||en.call(ee)});return ek.createElement(ny.Provider,{value:eh},ek.createElement(ng.Provider,{value:ev},(0,no.sY)({ourProps:{...ey,as:ek.Fragment,children:ek.createElement(nC,{ref:ec,...ey,...es,beforeEnter:eb,beforeLeave:e_})},theirProps:{},defaultTag:ek.Fragment,features:nw,visible:"visible"===ep,name:"Transition"})))}function Fe(ee,en){let er=null!==(0,ek.useContext)(ng),eo=null!==C();return ek.createElement(ek.Fragment,null,!er&&eo?ek.createElement(nk,{ref:en,...ee}):ek.createElement(nC,{ref:en,...ee}))}let nk=(0,no.yV)(He),nC=(0,no.yV)(De),nT=Object.assign(nk,{Child:(0,no.yV)(Fe),Root:nk});var nE=er(77192),nO=er(19946);function use_computed_i(ee,en){let[er,eo]=(0,ek.useState)(ee),ei=(0,nd.E)(ee);return(0,nc.e)(()=>eo(ei.current),[ei,eo,...en]),er}var nS=er(61363);function calculate_active_index_f(ee){throw Error("Unexpected object: "+ee)}var nj=((eu=nj||{})[eu.First=0]="First",eu[eu.Previous=1]="Previous",eu[eu.Next=2]="Next",eu[eu.Last=3]="Last",eu[eu.Specific=4]="Specific",eu[eu.Nothing=5]="Nothing",eu);function x(ee,en){let er=en.resolveItems();if(er.length<=0)return null;let eo=en.resolveActiveIndex(),ei=null!=eo?eo:-1,es=(()=>{switch(ee.focus){case 0:return er.findIndex(ee=>!en.resolveDisabled(ee));case 1:{let ee=er.slice().reverse().findIndex((ee,er,eo)=>(-1===ei||!(eo.length-er-1>=ei))&&!en.resolveDisabled(ee));return -1===ee?ee:er.length-1-ee}case 2:return er.findIndex((ee,er)=>!(er<=ei)&&!en.resolveDisabled(ee));case 3:{let ee=er.slice().reverse().findIndex(ee=>!en.resolveDisabled(ee));return -1===ee?ee:er.length-1-ee}case 4:return er.findIndex(er=>en.resolveId(er)===ee.id);case 5:return null;default:calculate_active_index_f(ee)}})();return -1===es?eo:es}function bugs_r(ee){let en=ee.parentElement,er=null;for(;en&&!(en instanceof HTMLFieldSetElement);)en instanceof HTMLLegendElement&&(er=en),en=en.parentElement;let eo=(null==en?void 0:en.getAttribute("disabled"))==="";return!(eo&&bugs_i(er))&&eo}function bugs_i(ee){if(!ee)return!1;let en=ee.previousElementSibling;for(;null!==en;){if(en instanceof HTMLLegendElement)return!1;en=en.previousElementSibling}return!0}var nI=er(84575),nP=er(14157);function use_document_event_d(ee,en,er){let eo=(0,nd.E)(en);(0,ek.useEffect)(()=>{function t(ee){eo.current(ee)}return document.addEventListener(ee,t,er),()=>document.removeEventListener(ee,t,er)},[ee,er])}function use_window_event_s(ee,en,er){let eo=(0,nd.E)(en);(0,ek.useEffect)(()=>{function t(ee){eo.current(ee)}return window.addEventListener(ee,t,er),()=>window.removeEventListener(ee,t,er)},[ee,er])}function use_outside_click_h(ee,en,er=!0){let eo=(0,ek.useRef)(!1);function c(er,ei){if(!eo.current||er.defaultPrevented)return;let es=ei(er);if(null!==es&&es.getRootNode().contains(es)&&es.isConnected){for(let en of function u(ee){return"function"==typeof ee?u(ee()):Array.isArray(ee)||ee instanceof Set?ee:[ee]}(ee)){if(null===en)continue;let ee=en instanceof HTMLElement?en:en.current;if(null!=ee&&ee.contains(es)||er.composed&&er.composedPath().includes(ee))return}return(0,nI.sP)(es,nI.tJ.Loose)||-1===es.tabIndex||er.preventDefault(),en(er,es)}}(0,ek.useEffect)(()=>{requestAnimationFrame(()=>{eo.current=er})},[er]);let ei=(0,ek.useRef)(null);use_document_event_d("pointerdown",ee=>{var en,er;eo.current&&(ei.current=(null==(er=null==(en=ee.composedPath)?void 0:en.call(ee))?void 0:er[0])||ee.target)},!0),use_document_event_d("mousedown",ee=>{var en,er;eo.current&&(ei.current=(null==(er=null==(en=ee.composedPath)?void 0:en.call(ee))?void 0:er[0])||ee.target)},!0),use_document_event_d("click",ee=>{ei.current&&(c(ee,()=>ei.current),ei.current=null)},!0),use_document_event_d("touchend",ee=>c(ee,()=>ee.target instanceof HTMLElement?ee.target:null),!0),use_window_event_s("blur",ee=>c(ee,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var nN=er(46045);function form_e(ee={},en=null,er=[]){for(let[eo,ei]of Object.entries(ee))o(er,form_f(en,eo),ei);return er}function form_f(ee,en){return ee?ee+"["+en+"]":en}function o(ee,en,er){if(Array.isArray(er))for(let[eo,ei]of er.entries())o(ee,form_f(en,eo.toString()),ei);else er instanceof Date?ee.push([en,er.toISOString()]):"boolean"==typeof er?ee.push([en,er?"1":"0"]):"string"==typeof er?ee.push([en,er]):"number"==typeof er?ee.push([en,`${er}`]):null==er?ee.push([en,""]):form_e(er,en,ee)}var nR=er(15466);function use_controllable_T(ee,en,er){let[eo,ei]=(0,ek.useState)(er),es=void 0!==ee,eu=(0,ek.useRef)(es),ec=(0,ek.useRef)(!1),ed=(0,ek.useRef)(!1);return!es||eu.current||ec.current?es||!eu.current||ed.current||(ed.current=!0,eu.current=es,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")):(ec.current=!0,eu.current=es,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")),[es?ee:eo,(0,nm.z)(ee=>(es||ei(ee),null==en?void 0:en(ee)))]}function t(ee){return[ee.screenX,ee.screenY]}function use_tracked_pointer_u(){let ee=(0,ek.useRef)([-1,-1]);return{wasMoved(en){let er=t(en);return(ee.current[0]!==er[0]||ee.current[1]!==er[1])&&(ee.current=er,!0)},update(en){ee.current=t(en)}}}let nZ=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function get_text_value_o(ee){var en,er;let eo=null!=(en=ee.innerText)?en:"",ei=ee.cloneNode(!0);if(!(ei instanceof HTMLElement))return eo;let es=!1;for(let ee of ei.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))ee.remove(),es=!0;let eu=es?null!=(er=ei.innerText)?er:"":eo;return nZ.test(eu)&&(eu=eu.replace(nZ,"")),eu}function get_text_value_g(ee){let en=ee.getAttribute("aria-label");if("string"==typeof en)return en.trim();let er=ee.getAttribute("aria-labelledby");if(er){let ee=er.split(" ").map(ee=>{let en=document.getElementById(ee);if(en){let ee=en.getAttribute("aria-label");return"string"==typeof ee?ee.trim():get_text_value_o(en).trim()}return null}).filter(Boolean);if(ee.length>0)return ee.join(", ")}return get_text_value_o(ee).trim()}function use_text_value_b(ee){let en=(0,ek.useRef)(""),er=(0,ek.useRef)("");return(0,nm.z)(()=>{let eo=ee.current;if(!eo)return"";let ei=eo.innerText;if(en.current===ei)return er.current;let es=get_text_value_g(eo).trim().toLowerCase();return en.current=ei,er.current=es,es})}var nM=((ec=nM||{})[ec.Open=0]="Open",ec[ec.Closed=1]="Closed",ec),nA=((ed=nA||{})[ed.Single=0]="Single",ed[ed.Multi=1]="Multi",ed),nL=((ep=nL||{})[ep.Pointer=0]="Pointer",ep[ep.Other=1]="Other",ep),nD=((ef=nD||{})[ef.OpenListbox=0]="OpenListbox",ef[ef.CloseListbox=1]="CloseListbox",ef[ef.GoToOption=2]="GoToOption",ef[ef.Search=3]="Search",ef[ef.ClearSearch=4]="ClearSearch",ef[ef.RegisterOption=5]="RegisterOption",ef[ef.UnregisterOption=6]="UnregisterOption",ef[ef.RegisterLabel=7]="RegisterLabel",ef);function listbox_z(ee,en=ee=>ee){let er=null!==ee.activeOptionIndex?ee.options[ee.activeOptionIndex]:null,eo=(0,nI.z2)(en(ee.options.slice()),ee=>ee.dataRef.current.domRef.current),ei=er?eo.indexOf(er):null;return -1===ei&&(ei=null),{options:eo,activeOptionIndex:ei}}let nF={1:ee=>ee.dataRef.current.disabled||1===ee.listboxState?ee:{...ee,activeOptionIndex:null,listboxState:1},0(ee){if(ee.dataRef.current.disabled||0===ee.listboxState)return ee;let en=ee.activeOptionIndex,{isSelected:er}=ee.dataRef.current,eo=ee.options.findIndex(ee=>er(ee.dataRef.current.value));return -1!==eo&&(en=eo),{...ee,listboxState:0,activeOptionIndex:en}},2(ee,en){var er;if(ee.dataRef.current.disabled||1===ee.listboxState)return ee;let eo=listbox_z(ee),ei=x(en,{resolveItems:()=>eo.options,resolveActiveIndex:()=>eo.activeOptionIndex,resolveId:ee=>ee.id,resolveDisabled:ee=>ee.dataRef.current.disabled});return{...ee,...eo,searchQuery:"",activeOptionIndex:ei,activationTrigger:null!=(er=en.trigger)?er:1}},3:(ee,en)=>{if(ee.dataRef.current.disabled||1===ee.listboxState)return ee;let er=""!==ee.searchQuery?0:1,eo=ee.searchQuery+en.value.toLowerCase(),ei=(null!==ee.activeOptionIndex?ee.options.slice(ee.activeOptionIndex+er).concat(ee.options.slice(0,ee.activeOptionIndex+er)):ee.options).find(ee=>{var en;return!ee.dataRef.current.disabled&&(null==(en=ee.dataRef.current.textValue)?void 0:en.startsWith(eo))}),es=ei?ee.options.indexOf(ei):-1;return -1===es||es===ee.activeOptionIndex?{...ee,searchQuery:eo}:{...ee,searchQuery:eo,activeOptionIndex:es,activationTrigger:1}},4:ee=>ee.dataRef.current.disabled||1===ee.listboxState||""===ee.searchQuery?ee:{...ee,searchQuery:""},5:(ee,en)=>{let er={id:en.id,dataRef:en.dataRef},eo=listbox_z(ee,ee=>[...ee,er]);return null===ee.activeOptionIndex&&ee.dataRef.current.isSelected(en.dataRef.current.value)&&(eo.activeOptionIndex=eo.options.indexOf(er)),{...ee,...eo}},6:(ee,en)=>{let er=listbox_z(ee,ee=>{let er=ee.findIndex(ee=>ee.id===en.id);return -1!==er&&ee.splice(er,1),ee});return{...ee,...er,activationTrigger:1}},7:(ee,en)=>({...ee,labelId:en.id})},nz=(0,ek.createContext)(null);function listbox_(ee){let en=(0,ek.useContext)(nz);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,listbox_),en}return en}nz.displayName="ListboxActionsContext";let nV=(0,ek.createContext)(null);function listbox_U(ee){let en=(0,ek.useContext)(nV);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,listbox_U),en}return en}function Ve(ee,en){return(0,nl.E)(en.type,nF,ee,en)}nV.displayName="ListboxDataContext";let nU=ek.Fragment;function Qe(ee,en){let{value:er,defaultValue:eo,form:ei,name:es,onChange:eu,by:ec=(ee,en)=>ee===en,disabled:ed=!1,horizontal:ep=!1,multiple:ef=!1,...eh}=ee,em=ep?"horizontal":"vertical",ex=(0,nf.T)(en),[eg=ef?[]:void 0,ev]=use_controllable_T(er,eu,eo),[ey,eb]=(0,ek.useReducer)(Ve,{dataRef:(0,ek.createRef)(),listboxState:1,options:[],searchQuery:"",labelId:null,activeOptionIndex:null,activationTrigger:1}),e_=(0,ek.useRef)({static:!1,hold:!1}),ew=(0,ek.useRef)(null),eC=(0,ek.useRef)(null),eT=(0,ek.useRef)(null),eE=(0,nm.z)("string"==typeof ec?(ee,en)=>{let er=ec;return(null==ee?void 0:ee[er])===(null==en?void 0:en[er])}:ec),eO=(0,ek.useCallback)(ee=>(0,nl.E)(eS.mode,{1:()=>eg.some(en=>eE(en,ee)),0:()=>eE(eg,ee)}),[eg]),eS=(0,ek.useMemo)(()=>({...ey,value:eg,disabled:ed,mode:ef?1:0,orientation:em,compare:eE,isSelected:eO,optionsPropsRef:e_,labelRef:ew,buttonRef:eC,optionsRef:eT}),[eg,ed,ef,ey]);(0,nc.e)(()=>{ey.dataRef.current=eS},[eS]),use_outside_click_h([eS.buttonRef,eS.optionsRef],(ee,en)=>{var er;eb({type:1}),(0,nI.sP)(en,nI.tJ.Loose)||(ee.preventDefault(),null==(er=eS.buttonRef.current)||er.focus())},0===eS.listboxState);let ej=(0,ek.useMemo)(()=>({open:0===eS.listboxState,disabled:ed,value:eg}),[eS,ed,eg]),eI=(0,nm.z)(ee=>{let en=eS.options.find(en=>en.id===ee);en&&eL(en.dataRef.current.value)}),eP=(0,nm.z)(()=>{if(null!==eS.activeOptionIndex){let{dataRef:ee,id:en}=eS.options[eS.activeOptionIndex];eL(ee.current.value),eb({type:2,focus:nj.Specific,id:en})}}),eN=(0,nm.z)(()=>eb({type:0})),eR=(0,nm.z)(()=>eb({type:1})),eZ=(0,nm.z)((ee,en,er)=>ee===nj.Specific?eb({type:2,focus:nj.Specific,id:en,trigger:er}):eb({type:2,focus:ee,trigger:er})),eM=(0,nm.z)((ee,en)=>(eb({type:5,id:ee,dataRef:en}),()=>eb({type:6,id:ee}))),eA=(0,nm.z)(ee=>(eb({type:7,id:ee}),()=>eb({type:7,id:null}))),eL=(0,nm.z)(ee=>(0,nl.E)(eS.mode,{0:()=>null==ev?void 0:ev(ee),1(){let en=eS.value.slice(),er=en.findIndex(en=>eE(en,ee));return -1===er?en.push(ee):en.splice(er,1),null==ev?void 0:ev(en)}})),eD=(0,nm.z)(ee=>eb({type:3,value:ee})),eF=(0,nm.z)(()=>eb({type:4})),ez=(0,ek.useMemo)(()=>({onChange:eL,registerOption:eM,registerLabel:eA,goToOption:eZ,closeListbox:eR,openListbox:eN,selectActiveOption:eP,selectOption:eI,search:eD,clearSearch:eF}),[]),eV={ref:ex},eU=(0,ek.useRef)(null),eH=use_disposables_p();return(0,ek.useEffect)(()=>{eU.current&&void 0!==eo&&eH.addEventListener(eU.current,"reset",()=>{null==ev||ev(eo)})},[eU,ev]),ek.createElement(nz.Provider,{value:ez},ek.createElement(nV.Provider,{value:eS},ek.createElement(open_closed_c,{value:(0,nl.E)(eS.listboxState,{0:ns.Open,1:ns.Closed})},null!=es&&null!=eg&&form_e({[es]:eg}).map(([ee,en],er)=>ek.createElement(nN._,{features:nN.A.Hidden,ref:0===er?ee=>{var en;eU.current=null!=(en=null==ee?void 0:ee.closest("form"))?en:null}:void 0,...(0,no.oA)({key:ee,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:ei,name:ee,value:en})})),(0,no.sY)({ourProps:eV,theirProps:eh,slot:ej,defaultTag:nU,name:"Listbox"}))))}let nH="button";function Xe(ee,en){var er;let eo=(0,nO.M)(),{id:ei=`headlessui-listbox-button-${eo}`,...es}=ee,eu=listbox_U("Listbox.Button"),ec=listbox_("Listbox.Button"),ed=(0,nf.T)(eu.buttonRef,en),ep=use_disposables_p(),ef=(0,nm.z)(ee=>{switch(ee.key){case nS.R.Space:case nS.R.Enter:case nS.R.ArrowDown:ee.preventDefault(),ec.openListbox(),ep.nextFrame(()=>{eu.value||ec.goToOption(nj.First)});break;case nS.R.ArrowUp:ee.preventDefault(),ec.openListbox(),ep.nextFrame(()=>{eu.value||ec.goToOption(nj.Last)})}}),eh=(0,nm.z)(ee=>{ee.key===nS.R.Space&&ee.preventDefault()}),em=(0,nm.z)(ee=>{if(bugs_r(ee.currentTarget))return ee.preventDefault();0===eu.listboxState?(ec.closeListbox(),ep.nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})})):(ee.preventDefault(),ec.openListbox())}),ex=use_computed_i(()=>{if(eu.labelId)return[eu.labelId,ei].join(" ")},[eu.labelId,ei]),eg=(0,ek.useMemo)(()=>({open:0===eu.listboxState,disabled:eu.disabled,value:eu.value}),[eu]),ev={ref:ed,id:ei,type:(0,nP.f)(ee,eu.buttonRef),"aria-haspopup":"listbox","aria-controls":null==(er=eu.optionsRef.current)?void 0:er.id,"aria-expanded":0===eu.listboxState,"aria-labelledby":ex,disabled:eu.disabled,onKeyDown:ef,onKeyUp:eh,onClick:em};return(0,no.sY)({ourProps:ev,theirProps:es,slot:eg,defaultTag:nH,name:"Listbox.Button"})}let n$="label";function ze(ee,en){let er=(0,nO.M)(),{id:eo=`headlessui-listbox-label-${er}`,...ei}=ee,es=listbox_U("Listbox.Label"),eu=listbox_("Listbox.Label"),ec=(0,nf.T)(es.labelRef,en);(0,nc.e)(()=>eu.registerLabel(eo),[eo]);let ed=(0,nm.z)(()=>{var ee;return null==(ee=es.buttonRef.current)?void 0:ee.focus({preventScroll:!0})}),ep=(0,ek.useMemo)(()=>({open:0===es.listboxState,disabled:es.disabled}),[es]);return(0,no.sY)({ourProps:{ref:ec,id:eo,onClick:ed},theirProps:ei,slot:ep,defaultTag:n$,name:"Listbox.Label"})}let nB="ul",nW=no.AN.RenderStrategy|no.AN.Static;function Ye(ee,en){var er;let eo=(0,nO.M)(),{id:ei=`headlessui-listbox-options-${eo}`,...es}=ee,eu=listbox_U("Listbox.Options"),ec=listbox_("Listbox.Options"),ed=(0,nf.T)(eu.optionsRef,en),ep=use_disposables_p(),ef=use_disposables_p(),eh=C(),em=null!==eh?(eh&ns.Open)===ns.Open:0===eu.listboxState;(0,ek.useEffect)(()=>{var ee;let en=eu.optionsRef.current;en&&0===eu.listboxState&&en!==(null==(ee=(0,nR.r)(en))?void 0:ee.activeElement)&&en.focus({preventScroll:!0})},[eu.listboxState,eu.optionsRef]);let ex=(0,nm.z)(ee=>{switch(ef.dispose(),ee.key){case nS.R.Space:if(""!==eu.searchQuery)return ee.preventDefault(),ee.stopPropagation(),ec.search(ee.key);case nS.R.Enter:if(ee.preventDefault(),ee.stopPropagation(),null!==eu.activeOptionIndex){let{dataRef:ee}=eu.options[eu.activeOptionIndex];ec.onChange(ee.current.value)}0===eu.mode&&(ec.closeListbox(),(0,nh.k)().nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})}));break;case(0,nl.E)(eu.orientation,{vertical:nS.R.ArrowDown,horizontal:nS.R.ArrowRight}):return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.Next);case(0,nl.E)(eu.orientation,{vertical:nS.R.ArrowUp,horizontal:nS.R.ArrowLeft}):return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.Previous);case nS.R.Home:case nS.R.PageUp:return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.First);case nS.R.End:case nS.R.PageDown:return ee.preventDefault(),ee.stopPropagation(),ec.goToOption(nj.Last);case nS.R.Escape:return ee.preventDefault(),ee.stopPropagation(),ec.closeListbox(),ep.nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})});case nS.R.Tab:ee.preventDefault(),ee.stopPropagation();break;default:1===ee.key.length&&(ec.search(ee.key),ef.setTimeout(()=>ec.clearSearch(),350))}}),eg=use_computed_i(()=>{var ee,en,er;return null!=(er=null==(ee=eu.labelRef.current)?void 0:ee.id)?er:null==(en=eu.buttonRef.current)?void 0:en.id},[eu.labelRef.current,eu.buttonRef.current]),ev=(0,ek.useMemo)(()=>({open:0===eu.listboxState}),[eu]),ey={"aria-activedescendant":null===eu.activeOptionIndex||null==(er=eu.options[eu.activeOptionIndex])?void 0:er.id,"aria-multiselectable":1===eu.mode||void 0,"aria-labelledby":eg,"aria-orientation":eu.orientation,id:ei,onKeyDown:ex,role:"listbox",tabIndex:0,ref:ed};return(0,no.sY)({ourProps:ey,theirProps:es,slot:ev,defaultTag:nB,features:nW,visible:em,name:"Listbox.Options"})}let nG="li";function et(ee,en){let er=(0,nO.M)(),{id:eo=`headlessui-listbox-option-${er}`,disabled:ei=!1,value:es,...eu}=ee,ec=listbox_U("Listbox.Option"),ed=listbox_("Listbox.Option"),ep=null!==ec.activeOptionIndex&&ec.options[ec.activeOptionIndex].id===eo,ef=ec.isSelected(es),eh=(0,ek.useRef)(null),em=use_text_value_b(eh),ex=(0,nd.E)({disabled:ei,value:es,domRef:eh,get textValue(){return em()}}),eg=(0,nf.T)(en,eh);(0,nc.e)(()=>{if(0!==ec.listboxState||!ep||0===ec.activationTrigger)return;let ee=(0,nh.k)();return ee.requestAnimationFrame(()=>{var ee,en;null==(en=null==(ee=eh.current)?void 0:ee.scrollIntoView)||en.call(ee,{block:"nearest"})}),ee.dispose},[eh,ep,ec.listboxState,ec.activationTrigger,ec.activeOptionIndex]),(0,nc.e)(()=>ed.registerOption(eo,ex),[ex,eo]);let ev=(0,nm.z)(ee=>{if(ei)return ee.preventDefault();ed.onChange(es),0===ec.mode&&(ed.closeListbox(),(0,nh.k)().nextFrame(()=>{var ee;return null==(ee=ec.buttonRef.current)?void 0:ee.focus({preventScroll:!0})}))}),ey=(0,nm.z)(()=>{if(ei)return ed.goToOption(nj.Nothing);ed.goToOption(nj.Specific,eo)}),eb=use_tracked_pointer_u(),e_=(0,nm.z)(ee=>eb.update(ee)),ew=(0,nm.z)(ee=>{eb.wasMoved(ee)&&(ei||ep||ed.goToOption(nj.Specific,eo,0))}),eC=(0,nm.z)(ee=>{eb.wasMoved(ee)&&(ei||ep&&ed.goToOption(nj.Nothing))}),eT=(0,ek.useMemo)(()=>({active:ep,selected:ef,disabled:ei}),[ep,ef,ei]);return(0,no.sY)({ourProps:{id:eo,ref:eg,role:"option",tabIndex:!0===ei?void 0:-1,"aria-disabled":!0===ei||void 0,"aria-selected":ef,disabled:void 0,onClick:ev,onFocus:ey,onPointerEnter:e_,onMouseEnter:e_,onPointerMove:ew,onMouseMove:ew,onPointerLeave:eC,onMouseLeave:eC},theirProps:eu,slot:eT,defaultTag:nG,name:"Listbox.Option"})}let nK=Object.assign((0,no.yV)(Qe),{Button:(0,no.yV)(Xe),Label:(0,no.yV)(ze),Options:(0,no.yV)(Ye),Option:(0,no.yV)(et)});var nq=er(73935),nY=er(9008),nQ=er.n(nY);function _extends(){return(_extends=Object.assign?Object.assign.bind():function(ee){for(var en=1;en=0||(ei[er]=ee[er]);return ei}var nX=["keyOverride"],nJ=["crossOrigin"],n0={templateTitle:"",noindex:!1,nofollow:!1,norobots:!1,defaultOpenGraphImageWidth:0,defaultOpenGraphImageHeight:0,defaultOpenGraphVideoWidth:0,defaultOpenGraphVideoHeight:0},buildOpenGraphMediaTags=function(ee,en,er){void 0===en&&(en=[]);var eo=void 0===er?{}:er,ei=eo.defaultWidth,es=eo.defaultHeight;return en.reduce(function(en,er,eo){return en.push(ek.createElement("meta",{key:"og:"+ee+":0"+eo,property:"og:"+ee,content:er.url})),er.alt&&en.push(ek.createElement("meta",{key:"og:"+ee+":alt0"+eo,property:"og:"+ee+":alt",content:er.alt})),er.secureUrl&&en.push(ek.createElement("meta",{key:"og:"+ee+":secure_url0"+eo,property:"og:"+ee+":secure_url",content:er.secureUrl.toString()})),er.type&&en.push(ek.createElement("meta",{key:"og:"+ee+":type0"+eo,property:"og:"+ee+":type",content:er.type.toString()})),er.width?en.push(ek.createElement("meta",{key:"og:"+ee+":width0"+eo,property:"og:"+ee+":width",content:er.width.toString()})):ei&&en.push(ek.createElement("meta",{key:"og:"+ee+":width0"+eo,property:"og:"+ee+":width",content:ei.toString()})),er.height?en.push(ek.createElement("meta",{key:"og:"+ee+":height"+eo,property:"og:"+ee+":height",content:er.height.toString()})):es&&en.push(ek.createElement("meta",{key:"og:"+ee+":height"+eo,property:"og:"+ee+":height",content:es.toString()})),en},[])},buildTags=function(ee){var en,er,eo,ei,es,eu=[];ee.titleTemplate&&(n0.templateTitle=ee.titleTemplate);var ec="";ee.title?(ec=ee.title,n0.templateTitle&&(ec=n0.templateTitle.replace(/%s/g,function(){return ec}))):ee.defaultTitle&&(ec=ee.defaultTitle),ec&&eu.push(ek.createElement("title",{key:"title"},ec));var ed=void 0===ee.noindex?n0.noindex||ee.dangerouslySetAllPagesToNoIndex:ee.noindex,ep=void 0===ee.nofollow?n0.nofollow||ee.dangerouslySetAllPagesToNoFollow:ee.nofollow,ef=ee.norobots||n0.norobots,eh="";if(ee.robotsProps){var em=ee.robotsProps,ex=em.nosnippet,eg=em.maxSnippet,ev=em.maxImagePreview,ey=em.maxVideoPreview,eb=em.noarchive,e_=em.noimageindex,ew=em.notranslate,eC=em.unavailableAfter;eh=(ex?",nosnippet":"")+(eg?",max-snippet:"+eg:"")+(ev?",max-image-preview:"+ev:"")+(eb?",noarchive":"")+(eC?",unavailable_after:"+eC:"")+(e_?",noimageindex":"")+(ey?",max-video-preview:"+ey:"")+(ew?",notranslate":"")}if(ee.norobots&&(n0.norobots=!0),ed||ep?(ee.dangerouslySetAllPagesToNoIndex&&(n0.noindex=!0),ee.dangerouslySetAllPagesToNoFollow&&(n0.nofollow=!0),eu.push(ek.createElement("meta",{key:"robots",name:"robots",content:(ed?"noindex":"index")+","+(ep?"nofollow":"follow")+eh}))):(!ef||eh)&&eu.push(ek.createElement("meta",{key:"robots",name:"robots",content:"index,follow"+eh})),ee.description&&eu.push(ek.createElement("meta",{key:"description",name:"description",content:ee.description})),ee.themeColor&&eu.push(ek.createElement("meta",{key:"theme-color",name:"theme-color",content:ee.themeColor})),ee.mobileAlternate&&eu.push(ek.createElement("link",{rel:"alternate",key:"mobileAlternate",media:ee.mobileAlternate.media,href:ee.mobileAlternate.href})),ee.languageAlternates&&ee.languageAlternates.length>0&&ee.languageAlternates.forEach(function(ee){eu.push(ek.createElement("link",{rel:"alternate",key:"languageAlternate-"+ee.hrefLang,hrefLang:ee.hrefLang,href:ee.href}))}),ee.twitter&&(ee.twitter.cardType&&eu.push(ek.createElement("meta",{key:"twitter:card",name:"twitter:card",content:ee.twitter.cardType})),ee.twitter.site&&eu.push(ek.createElement("meta",{key:"twitter:site",name:"twitter:site",content:ee.twitter.site})),ee.twitter.handle&&eu.push(ek.createElement("meta",{key:"twitter:creator",name:"twitter:creator",content:ee.twitter.handle}))),ee.facebook&&ee.facebook.appId&&eu.push(ek.createElement("meta",{key:"fb:app_id",property:"fb:app_id",content:ee.facebook.appId})),(null!=(en=ee.openGraph)&&en.title||ec)&&eu.push(ek.createElement("meta",{key:"og:title",property:"og:title",content:(null==(ei=ee.openGraph)?void 0:ei.title)||ec})),(null!=(er=ee.openGraph)&&er.description||ee.description)&&eu.push(ek.createElement("meta",{key:"og:description",property:"og:description",content:(null==(es=ee.openGraph)?void 0:es.description)||ee.description})),ee.openGraph){if((ee.openGraph.url||ee.canonical)&&eu.push(ek.createElement("meta",{key:"og:url",property:"og:url",content:ee.openGraph.url||ee.canonical})),ee.openGraph.type){var eT=ee.openGraph.type.toLowerCase();eu.push(ek.createElement("meta",{key:"og:type",property:"og:type",content:eT})),"profile"===eT&&ee.openGraph.profile?(ee.openGraph.profile.firstName&&eu.push(ek.createElement("meta",{key:"profile:first_name",property:"profile:first_name",content:ee.openGraph.profile.firstName})),ee.openGraph.profile.lastName&&eu.push(ek.createElement("meta",{key:"profile:last_name",property:"profile:last_name",content:ee.openGraph.profile.lastName})),ee.openGraph.profile.username&&eu.push(ek.createElement("meta",{key:"profile:username",property:"profile:username",content:ee.openGraph.profile.username})),ee.openGraph.profile.gender&&eu.push(ek.createElement("meta",{key:"profile:gender",property:"profile:gender",content:ee.openGraph.profile.gender}))):"book"===eT&&ee.openGraph.book?(ee.openGraph.book.authors&&ee.openGraph.book.authors.length&&ee.openGraph.book.authors.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"book:author:0"+en,property:"book:author",content:ee}))}),ee.openGraph.book.isbn&&eu.push(ek.createElement("meta",{key:"book:isbn",property:"book:isbn",content:ee.openGraph.book.isbn})),ee.openGraph.book.releaseDate&&eu.push(ek.createElement("meta",{key:"book:release_date",property:"book:release_date",content:ee.openGraph.book.releaseDate})),ee.openGraph.book.tags&&ee.openGraph.book.tags.length&&ee.openGraph.book.tags.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"book:tag:0"+en,property:"book:tag",content:ee}))})):"article"===eT&&ee.openGraph.article?(ee.openGraph.article.publishedTime&&eu.push(ek.createElement("meta",{key:"article:published_time",property:"article:published_time",content:ee.openGraph.article.publishedTime})),ee.openGraph.article.modifiedTime&&eu.push(ek.createElement("meta",{key:"article:modified_time",property:"article:modified_time",content:ee.openGraph.article.modifiedTime})),ee.openGraph.article.expirationTime&&eu.push(ek.createElement("meta",{key:"article:expiration_time",property:"article:expiration_time",content:ee.openGraph.article.expirationTime})),ee.openGraph.article.authors&&ee.openGraph.article.authors.length&&ee.openGraph.article.authors.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"article:author:0"+en,property:"article:author",content:ee}))}),ee.openGraph.article.section&&eu.push(ek.createElement("meta",{key:"article:section",property:"article:section",content:ee.openGraph.article.section})),ee.openGraph.article.tags&&ee.openGraph.article.tags.length&&ee.openGraph.article.tags.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"article:tag:0"+en,property:"article:tag",content:ee}))})):("video.movie"===eT||"video.episode"===eT||"video.tv_show"===eT||"video.other"===eT)&&ee.openGraph.video&&(ee.openGraph.video.actors&&ee.openGraph.video.actors.length&&ee.openGraph.video.actors.forEach(function(ee,en){ee.profile&&eu.push(ek.createElement("meta",{key:"video:actor:0"+en,property:"video:actor",content:ee.profile})),ee.role&&eu.push(ek.createElement("meta",{key:"video:actor:role:0"+en,property:"video:actor:role",content:ee.role}))}),ee.openGraph.video.directors&&ee.openGraph.video.directors.length&&ee.openGraph.video.directors.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"video:director:0"+en,property:"video:director",content:ee}))}),ee.openGraph.video.writers&&ee.openGraph.video.writers.length&&ee.openGraph.video.writers.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"video:writer:0"+en,property:"video:writer",content:ee}))}),ee.openGraph.video.duration&&eu.push(ek.createElement("meta",{key:"video:duration",property:"video:duration",content:ee.openGraph.video.duration.toString()})),ee.openGraph.video.releaseDate&&eu.push(ek.createElement("meta",{key:"video:release_date",property:"video:release_date",content:ee.openGraph.video.releaseDate})),ee.openGraph.video.tags&&ee.openGraph.video.tags.length&&ee.openGraph.video.tags.forEach(function(ee,en){eu.push(ek.createElement("meta",{key:"video:tag:0"+en,property:"video:tag",content:ee}))}),ee.openGraph.video.series&&eu.push(ek.createElement("meta",{key:"video:series",property:"video:series",content:ee.openGraph.video.series})))}ee.defaultOpenGraphImageWidth&&(n0.defaultOpenGraphImageWidth=ee.defaultOpenGraphImageWidth),ee.defaultOpenGraphImageHeight&&(n0.defaultOpenGraphImageHeight=ee.defaultOpenGraphImageHeight),ee.openGraph.images&&ee.openGraph.images.length&&eu.push.apply(eu,buildOpenGraphMediaTags("image",ee.openGraph.images,{defaultWidth:n0.defaultOpenGraphImageWidth,defaultHeight:n0.defaultOpenGraphImageHeight})),ee.defaultOpenGraphVideoWidth&&(n0.defaultOpenGraphVideoWidth=ee.defaultOpenGraphVideoWidth),ee.defaultOpenGraphVideoHeight&&(n0.defaultOpenGraphVideoHeight=ee.defaultOpenGraphVideoHeight),ee.openGraph.videos&&ee.openGraph.videos.length&&eu.push.apply(eu,buildOpenGraphMediaTags("video",ee.openGraph.videos,{defaultWidth:n0.defaultOpenGraphVideoWidth,defaultHeight:n0.defaultOpenGraphVideoHeight})),ee.openGraph.audio&&eu.push.apply(eu,buildOpenGraphMediaTags("audio",ee.openGraph.audio)),ee.openGraph.locale&&eu.push(ek.createElement("meta",{key:"og:locale",property:"og:locale",content:ee.openGraph.locale})),(ee.openGraph.siteName||ee.openGraph.site_name)&&eu.push(ek.createElement("meta",{key:"og:site_name",property:"og:site_name",content:ee.openGraph.siteName||ee.openGraph.site_name}))}return ee.canonical&&eu.push(ek.createElement("link",{rel:"canonical",href:ee.canonical,key:"canonical"})),ee.additionalMetaTags&&ee.additionalMetaTags.length>0&&ee.additionalMetaTags.forEach(function(ee){var en,er,eo=ee.keyOverride,ei=_objectWithoutPropertiesLoose(ee,nX);eu.push(ek.createElement("meta",_extends({key:"meta:"+(null!=(en=null!=(er=null!=eo?eo:ei.name)?er:ei.property)?en:ei.httpEquiv)},ei)))}),null!=(eo=ee.additionalLinkTags)&&eo.length&&ee.additionalLinkTags.forEach(function(ee){var en,er=ee.crossOrigin,eo=_objectWithoutPropertiesLoose(ee,nJ),ei="anonymous"===er||"use-credentials"===er||""===er?er:void 0;eu.push(ek.createElement("link",_extends({key:"link"+(null!=(en=eo.keyOverride)?en:eo.href)+eo.rel},eo,{crossOrigin:ei})))}),eu},WithHead=function(ee){return ek.createElement(nQ(),null,buildTags(ee))},NextSeo=function(ee){var en=ee.title,er=ee.themeColor,eo=ee.noindex,ei=ee.nofollow,es=ee.robotsProps,eu=ee.description,ec=ee.canonical,ed=ee.openGraph,ep=ee.facebook,ef=ee.twitter,eh=ee.additionalMetaTags,em=ee.titleTemplate,ex=ee.defaultTitle,eg=ee.mobileAlternate,ev=ee.languageAlternates,ey=ee.additionalLinkTags;return ek.createElement(ek.Fragment,null,ek.createElement(WithHead,{title:en,themeColor:er,noindex:eo,nofollow:ei,robotsProps:es,description:eu,canonical:ec,facebook:ep,openGraph:ed,additionalMetaTags:eh,twitter:ef,titleTemplate:em,defaultTitle:ex,mobileAlternate:eg,languageAlternates:ev,additionalLinkTags:ey}))};function F({container:ee,accept:en,walk:er,enabled:eo=!0}){let ei=(0,ek.useRef)(en),es=(0,ek.useRef)(er);(0,ek.useEffect)(()=>{ei.current=en,es.current=er},[en,er]),(0,nc.e)(()=>{if(!ee||!eo)return;let en=(0,nR.r)(ee);if(!en)return;let er=ei.current,eu=es.current,ec=Object.assign(ee=>er(ee),{acceptNode:er}),ed=en.createTreeWalker(ee,NodeFilter.SHOW_ELEMENT,ec,!1);for(;ed.nextNode();)eu(ed.currentNode)},[ee,eo,ei,es])}function use_owner_n(...ee){return(0,ek.useMemo)(()=>(0,nR.r)(...ee),[...ee])}RegExp("["+Object.keys(Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'"})).join("")+"]","g");var n1=((eh=n1||{})[eh.Open=0]="Open",eh[eh.Closed=1]="Closed",eh),n2=((em=n2||{})[em.Pointer=0]="Pointer",em[em.Other=1]="Other",em),n4=((ex=n4||{})[ex.OpenMenu=0]="OpenMenu",ex[ex.CloseMenu=1]="CloseMenu",ex[ex.GoToItem=2]="GoToItem",ex[ex.Search=3]="Search",ex[ex.ClearSearch=4]="ClearSearch",ex[ex.RegisterItem=5]="RegisterItem",ex[ex.UnregisterItem=6]="UnregisterItem",ex);function w(ee,en=ee=>ee){let er=null!==ee.activeItemIndex?ee.items[ee.activeItemIndex]:null,eo=(0,nI.z2)(en(ee.items.slice()),ee=>ee.dataRef.current.domRef.current),ei=er?eo.indexOf(er):null;return -1===ei&&(ei=null),{items:eo,activeItemIndex:ei}}let n5={1:ee=>1===ee.menuState?ee:{...ee,activeItemIndex:null,menuState:1},0:ee=>0===ee.menuState?ee:{...ee,__demoMode:!1,menuState:0},2:(ee,en)=>{var er;let eo=w(ee),ei=x(en,{resolveItems:()=>eo.items,resolveActiveIndex:()=>eo.activeItemIndex,resolveId:ee=>ee.id,resolveDisabled:ee=>ee.dataRef.current.disabled});return{...ee,...eo,searchQuery:"",activeItemIndex:ei,activationTrigger:null!=(er=en.trigger)?er:1}},3:(ee,en)=>{let er=""!==ee.searchQuery?0:1,eo=ee.searchQuery+en.value.toLowerCase(),ei=(null!==ee.activeItemIndex?ee.items.slice(ee.activeItemIndex+er).concat(ee.items.slice(0,ee.activeItemIndex+er)):ee.items).find(ee=>{var en;return(null==(en=ee.dataRef.current.textValue)?void 0:en.startsWith(eo))&&!ee.dataRef.current.disabled}),es=ei?ee.items.indexOf(ei):-1;return -1===es||es===ee.activeItemIndex?{...ee,searchQuery:eo}:{...ee,searchQuery:eo,activeItemIndex:es,activationTrigger:1}},4:ee=>""===ee.searchQuery?ee:{...ee,searchQuery:"",searchActiveItemIndex:null},5:(ee,en)=>{let er=w(ee,ee=>[...ee,{id:en.id,dataRef:en.dataRef}]);return{...ee,...er}},6:(ee,en)=>{let er=w(ee,ee=>{let er=ee.findIndex(ee=>ee.id===en.id);return -1!==er&&ee.splice(er,1),ee});return{...ee,...er,activationTrigger:1}}},n3=(0,ek.createContext)(null);function O(ee){let en=(0,ek.useContext)(n3);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,O),en}return en}function menu_ye(ee,en){return(0,nl.E)(en.type,n5,ee,en)}n3.displayName="MenuContext";let n6=ek.Fragment;function Me(ee,en){let{__demoMode:er=!1,...eo}=ee,ei=(0,ek.useReducer)(menu_ye,{__demoMode:er,menuState:er?0:1,buttonRef:(0,ek.createRef)(),itemsRef:(0,ek.createRef)(),items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1}),[{menuState:es,itemsRef:eu,buttonRef:ec},ed]=ei,ep=(0,nf.T)(en);use_outside_click_h([ec,eu],(ee,en)=>{var er;ed({type:1}),(0,nI.sP)(en,nI.tJ.Loose)||(ee.preventDefault(),null==(er=ec.current)||er.focus())},0===es);let ef=(0,nm.z)(()=>{ed({type:1})}),eh=(0,ek.useMemo)(()=>({open:0===es,close:ef}),[es,ef]),em={ref:ep};return ek.createElement(n3.Provider,{value:ei},ek.createElement(open_closed_c,{value:(0,nl.E)(es,{0:ns.Open,1:ns.Closed})},(0,no.sY)({ourProps:em,theirProps:eo,slot:eh,defaultTag:n6,name:"Menu"})))}let n7="button";function menu_Re(ee,en){var er;let eo=(0,nO.M)(),{id:ei=`headlessui-menu-button-${eo}`,...es}=ee,[eu,ec]=O("Menu.Button"),ed=(0,nf.T)(eu.buttonRef,en),ep=use_disposables_p(),ef=(0,nm.z)(ee=>{switch(ee.key){case nS.R.Space:case nS.R.Enter:case nS.R.ArrowDown:ee.preventDefault(),ee.stopPropagation(),ec({type:0}),ep.nextFrame(()=>ec({type:2,focus:nj.First}));break;case nS.R.ArrowUp:ee.preventDefault(),ee.stopPropagation(),ec({type:0}),ep.nextFrame(()=>ec({type:2,focus:nj.Last}))}}),eh=(0,nm.z)(ee=>{ee.key===nS.R.Space&&ee.preventDefault()}),em=(0,nm.z)(en=>{if(bugs_r(en.currentTarget))return en.preventDefault();ee.disabled||(0===eu.menuState?(ec({type:1}),ep.nextFrame(()=>{var ee;return null==(ee=eu.buttonRef.current)?void 0:ee.focus({preventScroll:!0})})):(en.preventDefault(),ec({type:0})))}),ex=(0,ek.useMemo)(()=>({open:0===eu.menuState}),[eu]),eg={ref:ed,id:ei,type:(0,nP.f)(ee,eu.buttonRef),"aria-haspopup":"menu","aria-controls":null==(er=eu.itemsRef.current)?void 0:er.id,"aria-expanded":0===eu.menuState,onKeyDown:ef,onKeyUp:eh,onClick:em};return(0,no.sY)({ourProps:eg,theirProps:es,slot:ex,defaultTag:n7,name:"Menu.Button"})}let n9="div",n8=no.AN.RenderStrategy|no.AN.Static;function Ee(ee,en){var er,eo;let ei=(0,nO.M)(),{id:es=`headlessui-menu-items-${ei}`,...eu}=ee,[ec,ed]=O("Menu.Items"),ep=(0,nf.T)(ec.itemsRef,en),ef=use_owner_n(ec.itemsRef),eh=use_disposables_p(),em=C(),ex=null!==em?(em&ns.Open)===ns.Open:0===ec.menuState;(0,ek.useEffect)(()=>{let ee=ec.itemsRef.current;ee&&0===ec.menuState&&ee!==(null==ef?void 0:ef.activeElement)&&ee.focus({preventScroll:!0})},[ec.menuState,ec.itemsRef,ef]),F({container:ec.itemsRef.current,enabled:0===ec.menuState,accept:ee=>"menuitem"===ee.getAttribute("role")?NodeFilter.FILTER_REJECT:ee.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT,walk(ee){ee.setAttribute("role","none")}});let eg=(0,nm.z)(ee=>{var en,er;switch(eh.dispose(),ee.key){case nS.R.Space:if(""!==ec.searchQuery)return ee.preventDefault(),ee.stopPropagation(),ed({type:3,value:ee.key});case nS.R.Enter:if(ee.preventDefault(),ee.stopPropagation(),ed({type:1}),null!==ec.activeItemIndex){let{dataRef:ee}=ec.items[ec.activeItemIndex];null==(er=null==(en=ee.current)?void 0:en.domRef.current)||er.click()}(0,nI.wI)(ec.buttonRef.current);break;case nS.R.ArrowDown:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.Next});case nS.R.ArrowUp:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.Previous});case nS.R.Home:case nS.R.PageUp:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.First});case nS.R.End:case nS.R.PageDown:return ee.preventDefault(),ee.stopPropagation(),ed({type:2,focus:nj.Last});case nS.R.Escape:ee.preventDefault(),ee.stopPropagation(),ed({type:1}),(0,nh.k)().nextFrame(()=>{var ee;return null==(ee=ec.buttonRef.current)?void 0:ee.focus({preventScroll:!0})});break;case nS.R.Tab:ee.preventDefault(),ee.stopPropagation(),ed({type:1}),(0,nh.k)().nextFrame(()=>{(0,nI.EO)(ec.buttonRef.current,ee.shiftKey?nI.TO.Previous:nI.TO.Next)});break;default:1===ee.key.length&&(ed({type:3,value:ee.key}),eh.setTimeout(()=>ed({type:4}),350))}}),ev=(0,nm.z)(ee=>{ee.key===nS.R.Space&&ee.preventDefault()}),ey=(0,ek.useMemo)(()=>({open:0===ec.menuState}),[ec]),eb={"aria-activedescendant":null===ec.activeItemIndex||null==(er=ec.items[ec.activeItemIndex])?void 0:er.id,"aria-labelledby":null==(eo=ec.buttonRef.current)?void 0:eo.id,id:es,onKeyDown:eg,onKeyUp:ev,role:"menu",tabIndex:0,ref:ep};return(0,no.sY)({ourProps:eb,theirProps:eu,slot:ey,defaultTag:n9,features:n8,visible:ex,name:"Menu.Items"})}let rn=ek.Fragment;function menu_Pe(ee,en){let er=(0,nO.M)(),{id:eo=`headlessui-menu-item-${er}`,disabled:ei=!1,...es}=ee,[eu,ec]=O("Menu.Item"),ed=null!==eu.activeItemIndex&&eu.items[eu.activeItemIndex].id===eo,ep=(0,ek.useRef)(null),ef=(0,nf.T)(en,ep);(0,nc.e)(()=>{if(eu.__demoMode||0!==eu.menuState||!ed||0===eu.activationTrigger)return;let ee=(0,nh.k)();return ee.requestAnimationFrame(()=>{var ee,en;null==(en=null==(ee=ep.current)?void 0:ee.scrollIntoView)||en.call(ee,{block:"nearest"})}),ee.dispose},[eu.__demoMode,ep,ed,eu.menuState,eu.activationTrigger,eu.activeItemIndex]);let eh=use_text_value_b(ep),em=(0,ek.useRef)({disabled:ei,domRef:ep,get textValue(){return eh()}});(0,nc.e)(()=>{em.current.disabled=ei},[em,ei]),(0,nc.e)(()=>(ec({type:5,id:eo,dataRef:em}),()=>ec({type:6,id:eo})),[em,eo]);let ex=(0,nm.z)(()=>{ec({type:1})}),eg=(0,nm.z)(ee=>{if(ei)return ee.preventDefault();ec({type:1}),(0,nI.wI)(eu.buttonRef.current)}),ev=(0,nm.z)(()=>{if(ei)return ec({type:2,focus:nj.Nothing});ec({type:2,focus:nj.Specific,id:eo})}),ey=use_tracked_pointer_u(),eb=(0,nm.z)(ee=>ey.update(ee)),e_=(0,nm.z)(ee=>{ey.wasMoved(ee)&&(ei||ed||ec({type:2,focus:nj.Specific,id:eo,trigger:0}))}),ew=(0,nm.z)(ee=>{ey.wasMoved(ee)&&(ei||ed&&ec({type:2,focus:nj.Nothing}))}),eC=(0,ek.useMemo)(()=>({active:ed,disabled:ei,close:ex}),[ed,ei,ex]);return(0,no.sY)({ourProps:{id:eo,ref:ef,role:"menuitem",tabIndex:!0===ei?void 0:-1,"aria-disabled":!0===ei||void 0,disabled:void 0,onClick:eg,onFocus:ev,onPointerEnter:eb,onMouseEnter:eb,onPointerMove:e_,onMouseMove:e_,onPointerLeave:ew,onMouseLeave:ew},theirProps:es,slot:eC,defaultTag:rn,name:"Menu.Item"})}let rr=Object.assign((0,no.yV)(Me),{Button:(0,no.yV)(menu_Re),Items:(0,no.yV)(Ee),Item:(0,no.yV)(menu_Pe)}),dist_t=ee=>"object"==typeof ee&&null!=ee&&1===ee.nodeType,e=(ee,en)=>(!en||"hidden"!==ee)&&"visible"!==ee&&"clip"!==ee,dist_n=(ee,en)=>{if(ee.clientHeight{let en=(ee=>{if(!ee.ownerDocument||!ee.ownerDocument.defaultView)return null;try{return ee.ownerDocument.defaultView.frameElement}catch(ee){return null}})(ee);return!!en&&(en.clientHeightesen||es>ee&&eu=en&&ec>=er?es-ee-eo:eu>en&&ecer?eu-en+ei:0,l=ee=>{let en=ee.parentElement;return null==en?ee.getRootNode().host||null:en},dist_r=(ee,en)=>{var er,eo,ei,es;if("undefined"==typeof document)return[];let{scrollMode:eu,block:ec,inline:ed,boundary:ep,skipOverflowHiddenElements:ef}=en,eh="function"==typeof ep?ep:ee=>ee!==ep;if(!dist_t(ee))throw TypeError("Invalid target");let em=document.scrollingElement||document.documentElement,ex=[],eg=ee;for(;dist_t(eg)&&eh(eg);){if((eg=l(eg))===em){ex.push(eg);break}null!=eg&&eg===document.body&&dist_n(eg)&&!dist_n(document.documentElement)||null!=eg&&dist_n(eg,ef)&&ex.push(eg)}let ev=null!=(eo=null==(er=window.visualViewport)?void 0:er.width)?eo:innerWidth,ey=null!=(es=null==(ei=window.visualViewport)?void 0:ei.height)?es:innerHeight,{scrollX:eb,scrollY:e_}=window,{height:ew,width:ek,top:eC,right:eT,bottom:eE,left:eO}=ee.getBoundingClientRect(),{top:eS,right:ej,bottom:eI,left:eP}=(ee=>{let en=window.getComputedStyle(ee);return{top:parseFloat(en.scrollMarginTop)||0,right:parseFloat(en.scrollMarginRight)||0,bottom:parseFloat(en.scrollMarginBottom)||0,left:parseFloat(en.scrollMarginLeft)||0}})(ee),eN="start"===ec||"nearest"===ec?eC-eS:"end"===ec?eE+eI:eC+ew/2-eS+eI,eR="center"===ed?eO+ek/2-eP+ej:"end"===ed?eT+ej:eO-eP,eZ=[];for(let ee=0;ee=0&&eO>=0&&eE<=ey&&eT<=ev&&eC>=ei&&eE<=ep&&eO>=ef&&eT<=es)break;let eh=getComputedStyle(en),eg=parseInt(eh.borderLeftWidth,10),eS=parseInt(eh.borderTopWidth,10),ej=parseInt(eh.borderRightWidth,10),eI=parseInt(eh.borderBottomWidth,10),eP=0,eM=0,eA="offsetWidth"in en?en.offsetWidth-en.clientWidth-eg-ej:0,eL="offsetHeight"in en?en.offsetHeight-en.clientHeight-eS-eI:0,eD="offsetWidth"in en?0===en.offsetWidth?0:eo/en.offsetWidth:0,eF="offsetHeight"in en?0===en.offsetHeight?0:er/en.offsetHeight:0;if(em===en)eP="start"===ec?eN:"end"===ec?eN-ey:"nearest"===ec?dist_o(e_,e_+ey,ey,eS,eI,e_+eN,e_+eN+ew,ew):eN-ey/2,eM="start"===ed?eR:"center"===ed?eR-ev/2:"end"===ed?eR-ev:dist_o(eb,eb+ev,ev,eg,ej,eb+eR,eb+eR+ek,ek),eP=Math.max(0,eP+e_),eM=Math.max(0,eM+eb);else{eP="start"===ec?eN-ei-eS:"end"===ec?eN-ep+eI+eL:"nearest"===ec?dist_o(ei,ep,er,eS,eI+eL,eN,eN+ew,ew):eN-(ei+er/2)+eL/2,eM="start"===ed?eR-ef-eg:"center"===ed?eR-(ef+eo/2)+eA/2:"end"===ed?eR-es+ej+eA:dist_o(ef,es,eo,eg,ej+eA,eR,eR+ek,ek);let{scrollLeft:ee,scrollTop:eu}=en;eP=0===eF?0:Math.max(0,Math.min(eu+eP/eF,en.scrollHeight-er/eF+eL)),eM=0===eD?0:Math.max(0,Math.min(ee+eM/eD,en.scrollWidth-eo/eD+eA)),eN+=eu-eP,eR+=ee-eM}eZ.push({el:en,top:eP,left:eM})}return eZ},scroll_into_view_if_needed_dist_o=ee=>{var en;return!1===ee?{block:"end",inline:"nearest"}:(en=ee,en===Object(en)&&0!==Object.keys(en).length)?ee:{block:"start",inline:"nearest"}};function dist_e(ee,en){var er;if(!ee.isConnected||!(ee=>{let en=ee;for(;en&&en.parentNode;){if(en.parentNode===document)return!0;en=en.parentNode instanceof ShadowRoot?en.parentNode.host:en.parentNode}return!1})(ee))return;let eo=(ee=>{let en=window.getComputedStyle(ee);return{top:parseFloat(en.scrollMarginTop)||0,right:parseFloat(en.scrollMarginRight)||0,bottom:parseFloat(en.scrollMarginBottom)||0,left:parseFloat(en.scrollMarginLeft)||0}})(ee);if("object"==typeof(er=en)&&"function"==typeof er.behavior)return en.behavior(dist_r(ee,en));let ei="boolean"==typeof en||null==en?void 0:en.behavior;for(let{el:er,top:es,left:eu}of dist_r(ee,scroll_into_view_if_needed_dist_o(en))){let ee=es-eo.top+eo.bottom,en=eu-eo.left+eo.right;er.scroll({top:ee,left:en,behavior:ei})}}var ro=er(87462),ri=er(76826),rs=er.n(ri),rl={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0};matchSorter.rankings=rl;var defaultBaseSortFn=function(ee,en){return String(ee.rankedValue).localeCompare(String(en.rankedValue))};function matchSorter(ee,en,er){void 0===er&&(er={});var eo=er,ei=eo.keys,es=eo.threshold,eu=void 0===es?rl.MATCHES:es,ec=eo.baseSort,ed=void 0===ec?defaultBaseSortFn:ec,ep=eo.sorter;return(void 0===ep?function(ee){return ee.sort(function(ee,en){return sortRankedValues(ee,en,ed)})}:ep)(ee.reduce(reduceItemsToRanked,[])).map(function(ee){return ee.item});function reduceItemsToRanked(ee,eo,es){var ec=getHighestRanking(eo,ei,en,er),ed=ec.rank,ep=ec.keyThreshold;return ed>=(void 0===ep?eu:ep)&&ee.push((0,ro.Z)({},ec,{item:eo,index:es})),ee}}function getHighestRanking(ee,en,er,eo){if(!en){var ei=ee;return{rankedValue:ei,rank:getMatchRanking(ei,er,eo),keyIndex:-1,keyThreshold:eo.threshold}}return getAllValuesToRank(ee,en).reduce(function(ee,en,ei){var es=ee.rank,eu=ee.rankedValue,ec=ee.keyIndex,ed=ee.keyThreshold,ep=en.itemValue,ef=en.attributes,eh=getMatchRanking(ep,er,eo),em=eu,ex=ef.minRanking,eg=ef.maxRanking,ev=ef.threshold;return eh=rl.MATCHES?eh=ex:eh>eg&&(eh=eg),eh>es&&(es=eh,ec=ei,ed=ev,em=ep),{rankedValue:em,rank:es,keyIndex:ec,keyThreshold:ed}},{rankedValue:ee,rank:rl.NO_MATCH,keyIndex:-1,keyThreshold:eo.threshold})}function getMatchRanking(ee,en,er){return(ee=prepareValueForComparison(ee,er),(en=prepareValueForComparison(en,er)).length>ee.length)?rl.NO_MATCH:ee===en?rl.CASE_SENSITIVE_EQUAL:(ee=ee.toLowerCase())===(en=en.toLowerCase())?rl.EQUAL:ee.startsWith(en)?rl.STARTS_WITH:ee.includes(" "+en)?rl.WORD_STARTS_WITH:ee.includes(en)?rl.CONTAINS:1===en.length?rl.NO_MATCH:getAcronym(ee).includes(en)?rl.ACRONYM:getClosenessRanking(ee,en)}function getAcronym(ee){var en="";return ee.split(" ").forEach(function(ee){ee.split("-").forEach(function(ee){en+=ee.substr(0,1)})}),en}function getClosenessRanking(ee,en){var er=0,eo=0;function findMatchingCharacter(ee,en,eo){for(var ei=eo,es=en.length;ei-1))return rl.NO_MATCH;return getRanking(eo-ei)}function sortRankedValues(ee,en,er){var eo=-1,ei=1,es=ee.rank,eu=ee.keyIndex,ec=en.rank,ed=en.keyIndex;return es!==ec?es>ec?eo:ei:eu===ed?er(ee,en):euen in ee?rd(ee,en,{enumerable:!0,configurable:!0,writable:!0,value:er}):ee[en]=er,__spreadValues=(ee,en)=>{for(var er in en||(en={}))rm.call(en,er)&&__defNormalProp(ee,er,en[er]);if(rh)for(var er of rh(en))rx.call(en,er)&&__defNormalProp(ee,er,en[er]);return ee},__spreadProps=(ee,en)=>rp(ee,rf(en)),__objRest=(ee,en)=>{var er={};for(var eo in ee)rm.call(ee,eo)&&0>en.indexOf(eo)&&(er[eo]=ee[eo]);if(null!=ee&&rh)for(var eo of rh(ee))0>en.indexOf(eo)&&rx.call(ee,eo)&&(er[eo]=ee[eo]);return er},__async=(ee,en,er)=>new Promise((eo,ei)=>{var fulfilled=ee=>{try{step(er.next(ee))}catch(ee){ei(ee)}},rejected=ee=>{try{step(er.throw(ee))}catch(ee){ei(ee)}},step=ee=>ee.done?eo(ee.value):Promise.resolve(ee.value).then(fulfilled,rejected);step((er=er.apply(ee,en)).next())}),rg=(0,ek.createContext)({}),rv=(0,ek.createContext)(ee=>ee),ry=(0,ek.createContext)(null),rb=new WeakMap,r_=(0,ek.createContext)(rb),useActiveAnchor=()=>(0,ek.useContext)(rg),useSetActiveAnchor=()=>(0,ek.useContext)(rv),useIntersectionObserver=()=>(0,ek.useContext)(ry),useSlugs=()=>(0,ek.useContext)(r_),ActiveAnchorProvider=({children:ee})=>{let[en,er]=(0,ek.useState)({}),eo=(0,ek.useRef)(null);return rK&&!eo.current&&(eo.current=new IntersectionObserver(ee=>{er(en=>{let er=__spreadValues({},en);for(let en of ee)if((null==en?void 0:en.rootBounds)&&rb.has(en.target)){let[ee,eo]=rb.get(en.target),ei=en.boundingClientRect.y+en.boundingClientRect.height<=en.rootBounds.y+en.rootBounds.height,es=en.intersectionRatio>0;er[ee]={index:eo,aboveHalfViewport:ei,insideHalfViewport:es}}let eo="",ei=1/0,es=-1;for(let ee in er)er[ee].isActive=!1,er[ee].insideHalfViewport&&er[ee].indexes&&(es=er[ee].index,eo=ee);return er[eo]&&(er[eo].isActive=!0),er})},{rootMargin:"0px 0px -50%",threshold:[0,1]})),(0,tC.jsx)(rg.Provider,{value:en,children:(0,tC.jsx)(rv.Provider,{value:er,children:(0,tC.jsx)(r_.Provider,{value:rb,children:(0,tC.jsx)(ry.Provider,{value:eo.current,children:ee})})})})},rw=(0,ek.createContext)({menu:!1,setMenu:()=>!1}),useMenu=()=>(0,ek.useContext)(rw),rk=rw.Provider,rC=(0,ek.createContext)(__spreadValues({title:"",frontMatter:{}},r0));function useConfig(){return(0,ek.useContext)(rC)}var ConfigProvider=({children:ee,value:{themeConfig:en,pageOpts:er}})=>{let[eo,ei]=(0,ek.useState)(!1);e_||(e_=__spreadValues(__spreadValues({},r0),Object.fromEntries(Object.entries(en).map(([ee,en])=>[ee,en&&"object"==typeof en&&r1.includes(ee)?__spreadValues(__spreadValues({},r0[ee]),en):en]))));let es=__spreadProps(__spreadValues(__spreadProps(__spreadValues({},e_),{flexsearch:er.flexsearch}),"boolean"==typeof er.newNextLinkBehavior&&{newNextLinkBehavior:er.newNextLinkBehavior}),{title:er.title,frontMatter:er.frontMatter}),{nextThemes:eu}=es;return(0,tC.jsx)($,{attribute:"class",disableTransitionOnChange:!0,defaultTheme:eu.defaultTheme,storageKey:eu.storageKey,forcedTheme:eu.forcedTheme,children:(0,tC.jsx)(rC.Provider,{value:es,children:(0,tC.jsx)(rk,{value:{menu:eo,setMenu:ei},children:ee})})})},rT=(0,ek.createContext)(ee=>ee),useDetails=()=>(0,ek.useContext)(rT),rE=rT.Provider,rO=Number(tk.i8.split(".")[0]),rS=(0,ek.forwardRef)(function(ee,en){var er=ee,{href:eo="",children:ei,newWindow:es}=er,eu=__objRest(er,["href","children","newWindow"]);let ec=useConfig();return es?(0,tC.jsxs)("a",__spreadProps(__spreadValues({ref:en,href:eo,target:"_blank",rel:"noreferrer"},eu),{children:[ei,(0,tC.jsx)("span",{className:"nx-sr-only nx-select-none",children:" (opens in a new tab)"})]})):eo?rO>12||ec.newNextLinkBehavior?(0,tC.jsx)(tw(),__spreadProps(__spreadValues({ref:en,href:eo},eu),{children:ei})):(0,tC.jsx)(tw(),{href:eo,passHref:!0,children:(0,tC.jsx)("a",__spreadProps(__spreadValues({ref:en},eu),{children:ei}))}):(0,tC.jsx)("a",__spreadProps(__spreadValues({ref:en},eu),{children:ei}))});rS.displayName="Anchor";var getGitIssueUrl=({repository:ee="",title:en,labels:er})=>{let eo=tV()(ee);if(!eo)throw Error("Invalid `docsRepositoryBase` URL!");return eo.resource.includes("gitlab")?`${eo.protocol}://${eo.resource}/${eo.owner}/${eo.name}/-/issues/new?issue[title]=${encodeURIComponent(en)}${er?`&issue[description]=/label${encodeURIComponent(` ~${er} `)}`:""}`:eo.resource.includes("github")?`${eo.protocol}://${eo.resource}/${eo.owner}/${eo.name}/issues/new?title=${encodeURIComponent(en)}&labels=${er||""}`:"#"};function renderComponent(ee,en){return ee?"function"!=typeof ee?ee:(0,tC.jsx)(ee,__spreadValues({},en)):null}function renderString(ee,en={}){let er="function"==typeof ee?ee(en):ee;return er||""}function usePopper(ee){let en=(0,ek.useRef)(null),er=(0,ek.useRef)(null),eo=(0,ek.useRef)(),ei=(0,ek.useCallback)(()=>{var ei;en.current&&er.current&&(null==(ei=eo.current)||ei.call(eo),eo.current=nt(en.current,er.current,ee).destroy)},[en,er,eo,ee]);return(0,ek.useMemo)(()=>[ee=>{en.current=ee,ei()},ee=>{er.current=ee,ei()}],[en,er,ei])}function useGitEditUrl(ee=""){let en=useConfig(),er=tV()(en.docsRepositoryBase||"");if(!er)throw Error("Invalid `docsRepositoryBase` URL!");return`${er.href}/${ee}`}function Banner(){let{banner:ee}=useConfig();if(!ee.text)return null;let en=`try{if(localStorage.getItem(${JSON.stringify(ee.key)})==='0'){document.body.classList.add('nextra-banner-hidden')}}catch(e){}`;return(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("script",{dangerouslySetInnerHTML:{__html:en}}),(0,tC.jsxs)("div",{className:(0,eC.Z)("nextra-banner-container nx-sticky nx-top-0 nx-z-20 nx-flex nx-items-center md:nx-relative","nx-h-[var(--nextra-banner-height)] [body.nextra-banner-hidden_&]:nx-hidden","nx-text-slate-50 dark:nx-text-white nx-bg-neutral-900 dark:nx-bg-[linear-gradient(1deg,#383838,#212121)]","nx-px-2 ltr:nx-pl-10 rtl:nx-pr-10 print:nx-hidden"),children:[(0,tC.jsx)("div",{className:"nx-w-full nx-truncate nx-px-4 nx-text-center nx-font-medium nx-text-sm",children:renderComponent(ee.text)}),ee.dismissible&&(0,tC.jsx)("button",{type:"button","aria-label":"Dismiss banner",className:"nx-w-8 nx-h-8 nx-opacity-80 hover:nx-opacity-100",onClick:()=>{try{localStorage.setItem(ee.key,"0")}catch(ee){}document.body.classList.add("nextra-banner-hidden")},children:(0,tC.jsx)(eS.b0,{className:"nx-mx-auto nx-h-4 nx-w-4"})})]})]})}function Breadcrumb({activePath:ee}){return(0,tC.jsx)("div",{className:"nextra-breadcrumb nx-mt-1.5 nx-flex nx-items-center nx-gap-1 nx-overflow-hidden nx-text-sm nx-text-gray-500 dark:nx-text-gray-400 contrast-more:nx-text-current",children:ee.map((en,er)=>{let eo=!en.children||en.withIndexPage,ei=er===ee.length-1;return(0,tC.jsxs)(ek.Fragment,{children:[er>0&&(0,tC.jsx)(eS.LZ,{className:"nx-w-3.5 nx-shrink-0"}),(0,tC.jsx)("div",{className:(0,eC.Z)("nx-whitespace-nowrap nx-transition-colors",ei?"nx-font-medium nx-text-gray-700 contrast-more:nx-font-bold contrast-more:nx-text-current dark:nx-text-gray-100 contrast-more:dark:nx-text-current":["nx-min-w-[24px] nx-overflow-hidden nx-text-ellipsis",eo&&"hover:nx-text-gray-900 dark:hover:nx-text-gray-100"]),title:en.title,children:eo&&!ei?(0,tC.jsx)(rS,{href:en.route,children:en.title}):en.title})]},en.route+en.name)})})}function Collapse({children:ee,className:en,isOpen:er,horizontal:eo=!1}){let ei=(0,ek.useRef)(null),es=(0,ek.useRef)(null),eu=(0,ek.useRef)(0),ec=(0,ek.useRef)(er),ed=(0,ek.useRef)(!0);return(0,ek.useEffect)(()=>{let ee=ei.current,en=es.current,ec=eu.current;ec&&clearTimeout(ec),!ed.current&&ee&&en&&(ee.classList.toggle("nx-duration-500",!er),ee.classList.toggle("nx-duration-300",er),eo?(en.style.width=`${en.clientWidth}px`,ee.style.width=`${en.clientWidth}px`):ee.style.height=`${en.clientHeight}px`,er?eu.current=window.setTimeout(()=>{ee.style.removeProperty("height")},300):setTimeout(()=>{eo?ee.style.width="0px":ee.style.height="0px"},0))},[eo,er]),(0,ek.useEffect)(()=>{ed.current=!1},[]),(0,tC.jsx)("div",{ref:ei,className:"nx-transform-gpu nx-overflow-hidden nx-transition-all nx-ease-in-out motion-reduce:nx-transition-none",style:ec.current||eo?void 0:{height:0},children:(0,tC.jsx)("div",{ref:es,className:(0,eC.Z)("nx-transition-opacity nx-duration-500 nx-ease-in-out motion-reduce:nx-transition-none",er?"nx-opacity-100":"nx-opacity-0",en),children:ee})})}var rj=(0,ek.memo)(function({value:ee,match:en}){let er;if(!ee)return null;let eo=ee.split(""),ei=escapeStringRegexp(en.trim()),es=RegExp(ei.replaceAll(" ","|"),"ig"),eu=0,ec=[];for(;(er=es.exec(ee))&&0!==es.lastIndex;){let ee=eo.splice(0,er.index-eu).join(""),en=eo.splice(0,es.lastIndex-er.index).join("");ec.push(ee,(0,tC.jsx)("span",{className:"nx-text-primary-600",children:en},er.index)),eu=es.lastIndex}return(0,tC.jsxs)(tC.Fragment,{children:[ec,eo.join("")]})}),rI=(0,ek.forwardRef)((ee,en)=>{var er=ee,{className:eo,suffix:ei}=er,es=__objRest(er,["className","suffix"]);return(0,tC.jsxs)("div",{className:"nx-relative nx-flex nx-items-center nx-text-gray-900 contrast-more:nx-text-gray-800 dark:nx-text-gray-300 contrast-more:dark:nx-text-gray-300",children:[(0,tC.jsx)("input",__spreadValues({ref:en,spellCheck:!1,className:(0,eC.Z)(eo,"nx-block nx-w-full nx-appearance-none nx-rounded-lg nx-px-3 nx-py-2 nx-transition-colors","nx-text-base nx-leading-tight md:nx-text-sm","nx-bg-black/[.05] dark:nx-bg-gray-50/10","focus:nx-bg-white dark:focus:nx-bg-dark","placeholder:nx-text-gray-500 dark:placeholder:nx-text-gray-400","contrast-more:nx-border contrast-more:nx-border-current")},es)),ei]})});rI.displayName="Input";var rP=["input","select","button","textarea"];function Search({className:ee,overlayClassName:en,value:er,onChange:eo,onActive:ei,loading:es,error:eu,results:ec}){let[ed,ep]=(0,ek.useState)(!1),ef=useConfig(),[eh,em]=(0,ek.useState)(0),ex=(0,ew.useRouter)(),{setMenu:eg}=useMenu(),ev=(0,ek.useRef)(null),ey=(0,ek.useRef)(null),[eb,e_]=(0,ek.useState)(!1),[eT,eE]=(0,ek.useState)(!0);(0,ek.useEffect)(()=>{em(0)},[er]),(0,ek.useEffect)(()=>{let down=ee=>{let en=document.activeElement,er=null==en?void 0:en.tagName.toLowerCase();!ev.current||!er||rP.includes(er)||null!=en&&en.isContentEditable||("/"===ee.key||"k"===ee.key&&(ee.metaKey||ee.ctrlKey)?(ee.preventDefault(),ev.current.focus({preventScroll:!0})):"Escape"===ee.key&&(ep(!1),ev.current.blur()))};return window.addEventListener("keydown",down),()=>{window.removeEventListener("keydown",down)}},[]);let eO=(0,ek.useCallback)(()=>{var ee;null==(ee=ev.current)||ee.blur(),eo(""),ep(!1),eg(!1)},[eo,eg]),ej=(0,ek.useCallback)(ee=>{let{index:en}=ee.currentTarget.dataset;em(Number(en))},[]),eI=(0,ek.useCallback)(function(ee){var en,er,eo;switch(ee.key){case"ArrowDown":if(eh+1 a`);er&&(ee.preventDefault(),ej({currentTarget:er}),er.focus())}break;case"ArrowUp":if(eh-1>=0){let en=null==(er=ey.current)?void 0:er.querySelector(`li:nth-of-type(${eh}) > a`);en&&(ee.preventDefault(),ej({currentTarget:en}),en.focus())}break;case"Enter":{let ee=ec[eh];ee&&eT&&(ex.push(ee.route),eO());break}case"Escape":ep(!1),null==(eo=ev.current)||eo.blur()}},[eh,ec,ex,eO,ej,eT]),eP=useMounted(),eN=ed&&!!er,eR=(0,tC.jsx)(nT,{show:eP&&(!ed||!!er),as:ek.Fragment,enter:"nx-transition-opacity",enterFrom:"nx-opacity-0",enterTo:"nx-opacity-100",leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tC.jsx)("kbd",{className:(0,eC.Z)("nx-absolute nx-my-1.5 nx-select-none ltr:nx-right-1.5 rtl:nx-left-1.5","nx-h-5 nx-rounded nx-bg-white nx-px-1.5 nx-font-mono nx-text-[10px] nx-font-medium nx-text-gray-500","nx-border dark:nx-border-gray-100/20 dark:nx-bg-dark/50","contrast-more:nx-border-current contrast-more:nx-text-current contrast-more:dark:nx-border-current","nx-items-center nx-gap-1 nx-transition-opacity",er?"nx-z-20 nx-flex nx-cursor-pointer hover:nx-opacity-70":"nx-pointer-events-none nx-hidden sm:nx-flex"),title:er?"Clear":void 0,onClick:()=>{eo("")},children:er&&eb?"ESC":eP&&(navigator.userAgent.includes("Macintosh")?(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("span",{className:"nx-text-xs",children:"⌘"}),"K"]}):"CTRL K")})}),eZ=(0,ek.useCallback)(ee=>{eE("compositionend"===ee.type)},[]);return(0,tC.jsxs)("div",{className:(0,eC.Z)("nextra-search nx-relative md:nx-w-64",ee),children:[eN&&(0,tC.jsx)("div",{className:"nx-fixed nx-inset-0 nx-z-10",onClick:()=>ep(!1)}),(0,tC.jsx)(rI,{ref:ev,value:er,onChange:ee=>{let{value:en}=ee.target;eo(en),ep(!!en)},onFocus:()=>{null==ei||ei(!0),e_(!0)},onBlur:()=>{e_(!1)},onCompositionStart:eZ,onCompositionEnd:eZ,type:"search",placeholder:renderString(ef.search.placeholder),onKeyDown:eI,suffix:eR}),(0,tC.jsx)(nT,{show:eN,as:nT.Child,leave:"nx-transition-opacity nx-duration-100",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tC.jsx)("ul",{className:(0,eC.Z)("nextra-scrollbar","nx-border nx-border-gray-200 nx-bg-white nx-text-gray-100 dark:nx-border-neutral-800 dark:nx-bg-neutral-900","nx-absolute nx-top-full nx-z-20 nx-mt-2 nx-overflow-auto nx-overscroll-contain nx-rounded-xl nx-py-2.5 nx-shadow-xl","nx-max-h-[min(calc(50vh-11rem-env(safe-area-inset-bottom)),400px)]","md:nx-max-h-[min(calc(100vh-5rem-env(safe-area-inset-bottom)),400px)]","nx-inset-x-0 ltr:md:nx-left-auto rtl:md:nx-right-auto","contrast-more:nx-border contrast-more:nx-border-gray-900 contrast-more:dark:nx-border-gray-50",en),ref:ey,style:{transition:"max-height .2s ease"},children:eu?(0,tC.jsxs)("span",{className:"nx-flex nx-select-none nx-justify-center nx-gap-2 nx-p-8 nx-text-center nx-text-sm nx-text-red-500",children:[(0,tC.jsx)(eS.AV,{className:"nx-h-5 nx-w-5"}),renderString(ef.search.error)]}):es?(0,tC.jsxs)("span",{className:"nx-flex nx-select-none nx-justify-center nx-gap-2 nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:[(0,tC.jsx)(eS.L4,{className:"nx-h-5 nx-w-5 nx-animate-spin"}),renderComponent(ef.search.loading)]}):ec.length>0?ec.map(({route:ee,prefix:en,children:er,id:eo},ei)=>(0,tC.jsxs)(ek.Fragment,{children:[en,(0,tC.jsx)("li",{className:(0,eC.Z)("nx-mx-2.5 nx-break-words nx-rounded-md","contrast-more:nx-border",ei===eh?"nx-bg-primary-500/10 nx-text-primary-600 contrast-more:nx-border-primary-500":"nx-text-gray-800 contrast-more:nx-border-transparent dark:nx-text-gray-300"),children:(0,tC.jsx)(rS,{className:"nx-block nx-scroll-m-12 nx-px-2.5 nx-py-2",href:ee,"data-index":ei,onFocus:ej,onMouseMove:ej,onClick:eO,onKeyDown:eI,children:er})})]},eo)):renderComponent(ef.search.emptyResult)})})]})}var rN={},rR=new Map,loadIndexes=(ee,en)=>{let er=ee+"@"+en;if(rR.has(er))return rR.get(er);let eo=loadIndexesImpl(ee,en);return rR.set(er,eo),eo},loadIndexesImpl=(ee,en)=>__async(void 0,null,function*(){let er=yield fetch(`${ee}/_next/static/chunks/nextra-data-${en}.json`),eo=yield er.json(),ei=new(nr()).Document({cache:100,tokenize:"full",document:{id:"id",index:"content",store:["title"]},context:{resolution:9,depth:2,bidirectional:!0}}),es=new(nr()).Document({cache:100,tokenize:"full",document:{id:"id",index:"content",tag:"pageId",store:["title","content","url","display"]},context:{resolution:9,depth:2,bidirectional:!0}}),eu=0;for(let[ee,en]of Object.entries(eo)){let er="";for(let[eo,ei]of(++eu,Object.entries(en.data))){let[ec,ed]=eo.split("#"),ep=ee+(ec?"#"+ec:""),ef=ed||en.title,eh=ei.split("\n");es.add(__spreadValues({id:ep,url:ep,title:ef,pageId:`page_${eu}`,content:ef},eh[0]&&{display:eh[0]}));for(let ee=0;ee{var er,eo;if(!ee)return;let[ei,es]=rN[en],eu=(null==(er=ei.search(ee,5,{enrich:!0,suggest:!0})[0])?void 0:er.result)||[],ec=[],ep={};for(let en=0;enee._page_rk===en._page_rk?ee._section_rk-en._section_rk:ep[ee._page_rk]!==ep[en._page_rk]?ep[en._page_rk]-ep[ee._page_rk]:ee._page_rk-en._page_rk).map(ee=>({id:`${ee._page_rk}_${ee._section_rk}`,route:ee.route,prefix:ee.prefix,children:ee.children})))},eh=(0,ek.useCallback)(ee=>__async(this,null,function*(){if(ee&&!rN[en]){ei(!0);try{yield loadIndexes(er,en)}catch(ee){eu(!0)}ei(!1)}}),[en,er]),handleChange=ee=>__async(this,null,function*(){if(ef(ee),!eo){if(!rN[en]){ei(!0);try{yield loadIndexes(er,en)}catch(ee){eu(!0)}ei(!1)}doSearch(ee)}});return(0,tC.jsx)(Search,{loading:eo,error:es,value:ep,onChange:handleChange,onActive:eh,className:ee,overlayClassName:"nx-w-screen nx-min-h-[100px] nx-max-w-[min(calc(100vw-2rem),calc(100%+20rem))]",results:ec})}function Select({options:ee,selected:en,onChange:er,title:eo,className:ei}){let[es,eu]=usePopper({strategy:"fixed",placement:"top-start",modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"sameWidth",enabled:!0,fn({state:ee}){ee.styles.popper.minWidth=`${ee.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]}]});return(0,tC.jsx)(nK,{value:en,onChange:er,children:({open:er})=>(0,tC.jsxs)(nK.Button,{ref:es,title:eo,className:(0,eC.Z)("nx-h-7 nx-rounded-md nx-px-2 nx-text-left nx-text-xs nx-font-medium nx-text-gray-600 nx-transition-colors dark:nx-text-gray-400",er?"nx-bg-gray-200 nx-text-gray-900 dark:nx-bg-primary-100/10 dark:nx-text-gray-50":"hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",ei),children:[en.name,(0,tC.jsx)(Portal,{children:(0,tC.jsx)(nT,{ref:eu,show:er,as:nK.Options,className:"nx-z-20 nx-max-h-64 nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:ee.map(ee=>(0,tC.jsxs)(nK.Option,{value:ee,className:({active:ee})=>(0,eC.Z)(ee?"nx-bg-primary-50 nx-text-primary-600 dark:nx-bg-primary-500/10":"nx-text-gray-800 dark:nx-text-gray-100","nx-relative nx-cursor-pointer nx-whitespace-nowrap nx-py-1.5","nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),children:[ee.name,ee.key===en.key&&(0,tC.jsx)("span",{className:"nx-absolute nx-inset-y-0 nx-flex nx-items-center ltr:nx-right-3 rtl:nx-left-3",children:(0,tC.jsx)(eS.nQ,{})})]},ee.key))})})]})})}function Portal(ee){let en=useMounted();return en?(0,nq.createPortal)(ee.children,document.body):null}function LocaleSwitch({lite:ee,className:en}){let er=useConfig(),{locale:eo,asPath:ei}=(0,ew.useRouter)(),es=er.i18n;if(!es.length)return null;let eu=es.find(ee=>eo===ee.locale);return(0,tC.jsx)(Select,{title:"Change language",className:en,onChange:ee=>{let en=new Date(Date.now()+31536e6);document.cookie=`NEXT_LOCALE=${ee.key}; expires=${en.toUTCString()}; path=/`,location.href=(0,nE.addBasePath)(ei)},selected:{key:(null==eu?void 0:eu.locale)||"",name:(0,tC.jsxs)("span",{className:"nx-flex nx-items-center nx-gap-2",children:[(0,tC.jsx)(eS.n9,{}),(0,tC.jsx)("span",{className:ee?"nx-hidden":"",children:null==eu?void 0:eu.text})]})},options:es.map(ee=>({key:ee.locale,name:ee.text}))})}function Footer({menu:ee}){let en=useConfig();return(0,tC.jsxs)("footer",{className:"nx-bg-gray-100 nx-pb-[env(safe-area-inset-bottom)] dark:nx-bg-neutral-900 print:nx-bg-transparent",children:[(0,tC.jsxs)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-gap-2 nx-py-2 nx-px-4",ee&&(en.i18n.length>0||en.darkMode)?"nx-flex":"nx-hidden"),children:[(0,tC.jsx)(LocaleSwitch,{}),en.darkMode&&renderComponent(en.themeSwitch.component)]}),(0,tC.jsx)("hr",{className:"dark:nx-border-neutral-800"}),(0,tC.jsx)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-justify-center nx-py-12 nx-text-gray-600 dark:nx-text-gray-400 md:nx-justify-start","nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:renderComponent(en.footer.text)})]})}function dist_Head(){var ee;let en=useConfig(),{resolvedTheme:er}=y(),eo=useMounted(),ei="function"==typeof en.head?en.head({}):en.head,{primaryHue:es,primarySaturation:eu}=en,{dark:ec,light:ed}="number"==typeof es?{dark:es,light:es}:es,{dark:ep,light:ef}="number"==typeof eu?{dark:eu,light:eu}:eu,eh=en.frontMatter;return(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)(NextSeo,__spreadValues({title:en.title,description:eh.description,canonical:eh.canonical,openGraph:eh.openGraph},null==(ee=en.useNextSeoProps)?void 0:ee.call(en))),(0,tC.jsxs)(nQ(),{children:[en.faviconGlyph?(0,tC.jsx)("link",{rel:"icon",href:`data:image/svg+xml;utf8,${en.faviconGlyph}`}):null,eo?(0,tC.jsx)("meta",{name:"theme-color",content:"dark"===er?"#111":"#fff"}):(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("meta",{name:"theme-color",content:"#fff",media:"(prefers-color-scheme: light)"}),(0,tC.jsx)("meta",{name:"theme-color",content:"#111",media:"(prefers-color-scheme: dark)"})]}),(0,tC.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, viewport-fit=cover"}),(0,tC.jsx)("style",{children:` :root { --nextra-primary-hue: ${ed}deg; @@ -20,7 +20,7 @@ --nextra-primary-hue: ${ec}deg; --nextra-primary-saturation: ${ep}%; } - `}),ei]})]})}var rZ={link:(0,eC.Z)("nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg"),icon:(0,eC.Z)("nx-inline nx-h-5 nx-shrink-0")},NavLinks=({flatDirectories:ee,currentIndex:en})=>{let er=useConfig(),eo=er.navigation,ei="boolean"==typeof eo?{prev:eo,next:eo}:eo,es=ei.prev&&ee[en-1],eu=ei.next&&ee[en+1];return(es&&!es.isUnderCurrentDocsTree&&(es=!1),eu&&!eu.isUnderCurrentDocsTree&&(eu=!1),es||eu)?(0,tC.jsxs)("div",{className:(0,eC.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[es&&(0,tC.jsxs)(rS,{href:es.route,title:es.title,className:(0,eC.Z)(rZ.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,tC.jsx)(eS.LZ,{className:(0,eC.Z)(rZ.icon,"ltr:nx-rotate-180")}),es.title]}),eu&&(0,tC.jsxs)(rS,{href:eu.route,title:eu.title,className:(0,eC.Z)(rZ.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[eu.title,(0,tC.jsx)(eS.LZ,{className:(0,eC.Z)(rZ.icon,"rtl:nx-rotate-180")})]})]}):null},rM={link:(0,eC.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,eC.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,eC.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function NavbarMenu({className:ee,menu:en,children:er}){let{items:eo}=en,ei=Object.fromEntries((en.children||[]).map(ee=>[ee.name,ee]));return(0,tC.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,tC.jsxs)(rr,{children:[(0,tC.jsx)(rr.Button,{className:(0,eC.Z)(ee,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",rM.inactive),children:er}),(0,tC.jsx)(nT,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tC.jsx)(rr.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",tabIndex:0,children:Object.entries(eo||{}).map(([ee,er])=>{var eo;return(0,tC.jsx)(rr.Item,{children:(0,tC.jsx)(rS,{href:er.href||(null==(eo=ei[ee])?void 0:eo.route)||en.route+"/"+ee,className:(0,eC.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:er.newWindow,children:er.title||ee})},ee)})})})]})})}function Navbar({flatDirectories:ee,items:en}){let er=useConfig(),eo=useFSRoute(),{menu:ei,setMenu:es}=useMenu();return(0,tC.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,tC.jsx)("div",{className:(0,eC.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,tC.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[er.logoLink?(0,tC.jsx)(rS,{href:"string"==typeof er.logoLink?er.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(er.logo)}):(0,tC.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(er.logo)}),en.map(ee=>{if("hidden"===ee.display)return null;if("menu"===ee.type){let en=ee;return(0,tC.jsxs)(NavbarMenu,{className:(0,eC.Z)(rM.link,"nx-flex nx-gap-1",rM.inactive),menu:en,children:[en.title,(0,tC.jsx)(eS.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},en.title)}let en=ee,er=en.href||en.route||"#";en.children&&(er=(en.withIndexPage?en.route:en.firstChildRoute)||er);let ei=en.route===eo||eo.startsWith(en.route+"/");return(0,tC.jsxs)(rS,{href:er,className:(0,eC.Z)(rM.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!ei||en.newWindow?rM.inactive:rM.active),newWindow:en.newWindow,"aria-current":!en.newWindow&&ei,children:[(0,tC.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:en.title}),(0,tC.jsx)("span",{className:"nx-invisible nx-font-medium",children:en.title})]},er)}),renderComponent(er.search.component,{directories:ee,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),er.project.link?(0,tC.jsx)(rS,{className:"nx-p-2 nx-text-current",href:er.project.link,newWindow:!0,children:renderComponent(er.project.icon)}):null,er.chat.link?(0,tC.jsx)(rS,{className:"nx-p-2 nx-text-current",href:er.chat.link,newWindow:!0,children:renderComponent(er.chat.icon)}):null,renderComponent(er.navbar.extraContent),(0,tC.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>es(!ei),children:(0,tC.jsx)(eS.Oq,{className:(0,eC.Z)({open:ei})})})]})]})}var rA=Object.create(null),rL=(0,ek.createContext)(null),rD=(0,ek.createContext)(null),rF=(0,ek.createContext)(0),rz=(0,ek.memo)(function(ee){let en=(0,ek.useContext)(rF);return(0,tC.jsx)(rF.Provider,{value:en+1,children:(0,tC.jsx)(FolderImpl,__spreadValues({},ee))})}),rV={link:(0,eC.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,eC.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,eC.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,eC.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,eC.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function FolderImpl({item:ee,anchors:en}){let er=useFSRoute(),[eo]=er.split("#"),ei=[eo,eo+"/"].includes(ee.route+"/"),es=ei||eo.startsWith(ee.route+"/"),eu=(0,ek.useContext)(rL),ec=!!(null==eu?void 0:eu.startsWith(ee.route+"/")),ed=(0,ek.useContext)(rF),{setMenu:ep}=useMenu(),ef=useConfig(),{theme:eh}=ee,em=void 0===rA[ee.route]?ei||es||ec||(eh&&"collapsed"in eh?!eh.collapsed:ed{let updateTreeState=()=>{(es||ec)&&(rA[ee.route]=!0)},updateAndPruneTreeState=()=>{es&&ec?rA[ee.route]=!0:delete rA[ee.route]};ef.sidebar.autoCollapse?updateAndPruneTreeState():updateTreeState()},[es,ec,ee.route,ef.sidebar.autoCollapse]),"menu"===ee.type){let en=ee,er=Object.fromEntries((en.children||[]).map(ee=>[ee.name,ee]));ee.children=Object.entries(en.items||{}).map(([ee,eo])=>{let ei=er[ee]||__spreadProps(__spreadValues({name:ee},"locale"in en&&{locale:en.locale}),{route:en.route+"/"+ee});return __spreadValues(__spreadValues({},ei),eo)})}let eg="withIndexPage"in ee&&ee.withIndexPage,ev=eg?rS:"button";return(0,tC.jsxs)("li",{className:(0,eC.Z)({open:em,active:ei}),children:[(0,tC.jsxs)(ev,{href:eg?ee.route:void 0,className:(0,eC.Z)("nx-items-center nx-justify-between nx-gap-2",!eg&&"nx-text-left nx-w-full",rV.link,ei?rV.active:rV.inactive),onClick:en=>{let er=["svg","path"].includes(en.target.tagName.toLowerCase());if(er&&en.preventDefault(),eg){ei||er?rA[ee.route]=!em:(rA[ee.route]=!0,ep(!1)),ex({});return}ei||(rA[ee.route]=!em,ex({}))},children:[renderComponent(ef.sidebar.titleComponent,{title:ee.title,type:ee.type,route:ee.route}),(0,tC.jsx)(eS.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,eC.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",em&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,tC.jsx)(Collapse,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:em,children:Array.isArray(ee.children)?(0,tC.jsx)(Menu2,{className:(0,eC.Z)(rV.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:ee.children,base:ee.route,anchors:en}):null})]})}function Separator({title:ee}){let en=useConfig();return(0,tC.jsx)("li",{className:(0,eC.Z)("[word-break:break-word]",ee?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:ee?renderComponent(en.sidebar.titleComponent,{title:ee,type:"separator",route:""}):(0,tC.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function File({item:ee,anchors:en}){let er=useFSRoute(),eo=(0,ek.useContext)(rD),ei=ee.route&&[er,er+"/"].includes(ee.route+"/"),es=useActiveAnchor(),{setMenu:eu}=useMenu(),ec=useConfig();return"separator"===ee.type?(0,tC.jsx)(Separator,{title:ee.title}):(0,tC.jsxs)("li",{className:(0,eC.Z)(rV.list,{active:ei}),children:[(0,tC.jsx)(rS,{href:ee.href||ee.route,newWindow:ee.newWindow,className:(0,eC.Z)(rV.link,ei?rV.active:rV.inactive),onClick:()=>{eu(!1)},onFocus:()=>{null==eo||eo(ee.route)},onBlur:()=>{null==eo||eo(null)},children:renderComponent(ec.sidebar.titleComponent,{title:ee.title,type:ee.type,route:ee.route})}),ei&&en.length>0&&(0,tC.jsx)("ul",{className:(0,eC.Z)(rV.list,rV.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:en.map(({id:ee,value:en})=>{var er;return(0,tC.jsx)("li",{children:(0,tC.jsx)("a",{href:`#${ee}`,className:(0,eC.Z)(rV.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(er=es[ee])?void 0:er.isActive)?rV.active:rV.inactive),onClick:()=>{eu(!1)},children:en})},ee)})})]})}function Menu2({directories:ee,anchors:en,className:er,onlyCurrentDocs:eo}){return(0,tC.jsx)("ul",{className:(0,eC.Z)(rV.list,er),children:ee.map(ee=>!eo||ee.isUnderCurrentDocsTree?"menu"===ee.type||ee.children&&(ee.children.length||!ee.withIndexPage)?(0,tC.jsx)(rz,{item:ee,anchors:en},ee.name):(0,tC.jsx)(File,{item:ee,anchors:en},ee.name):null)})}function Sidebar({docsDirectories:ee,flatDirectories:en,fullDirectories:er,asPopover:eo=!1,headings:ei,includePlaceholder:es}){let eu=useConfig(),{menu:ec,setMenu:ed}=useMenu(),ep=(0,ew.useRouter)(),[ef,eh]=(0,ek.useState)(null),[em,ex]=(0,ek.useState)(!0),[eg,ev]=(0,ek.useState)(!1),ey=(0,ek.useMemo)(()=>ei.filter(ee=>2===ee.depth),[ei]),eb=(0,ek.useRef)(null),e_=(0,ek.useRef)(null),eT=useMounted();(0,ek.useEffect)(()=>{ec?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[ec]),(0,ek.useEffect)(()=>{var ee;let en=null==(ee=eb.current)?void 0:ee.querySelector("li.active");if(en&&(window.innerWidth>767||ec)){let scroll=()=>{dist_e(en,{block:"center",inline:"center",scrollMode:"always",boundary:e_.current})};ec?setTimeout(scroll,300):scroll()}},[ec]),(0,ek.useEffect)(()=>{ed(!1)},[ep.asPath,ed]);let eE=eu.i18n.length>0,eO=eu.darkMode||eE||eu.sidebar.toggleButton;return(0,tC.jsxs)(tC.Fragment,{children:[es&&eo?(0,tC.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,tC.jsx)("div",{className:(0,eC.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",ec?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>ed(!1)}),(0,tC.jsxs)("aside",{className:(0,eC.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",em?"md:nx-w-64":"md:nx-w-20",eo?"md:nx-hidden":"md:nx-sticky md:nx-self-start",ec?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:e_,children:[(0,tC.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:renderComponent(eu.search.component,{directories:en})}),(0,tC.jsx)(rL.Provider,{value:ef,children:(0,tC.jsx)(rD.Provider,{value:ee=>{eh(ee)},children:(0,tC.jsxs)("div",{className:(0,eC.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",em?"nextra-scrollbar":"no-scrollbar"),ref:eb,children:[(!eo||!em)&&(0,tC.jsx)(Collapse,{isOpen:em,horizontal:!0,children:(0,tC.jsx)(Menu2,{className:"nextra-menu-desktop max-md:nx-hidden",directories:ee,anchors:eu.toc.float?[]:ey,onlyCurrentDocs:!0})}),eT&&window.innerWidth<768&&(0,tC.jsx)(Menu2,{className:"nextra-menu-mobile md:nx-hidden",directories:er,anchors:ey})]})})}),eO&&(0,tC.jsxs)("div",{className:(0,eC.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",em?(0,eC.Z)(eE&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":eg?em?"show":"hide":"off",children:[(0,tC.jsx)(LocaleSwitch,{lite:!em,className:(0,eC.Z)(em?"nx-grow":"max-md:nx-grow")}),eu.darkMode&&(0,tC.jsx)("div",{className:em&&!eE?"nx-grow nx-flex nx-flex-col":"",children:renderComponent(eu.themeSwitch.component,{lite:!em||eE})}),eu.sidebar.toggleButton&&(0,tC.jsx)("button",{title:em?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{ex(!em),ev(!0)},children:(0,tC.jsx)(eS.Qq,{isOpen:em})})]})]})]})}var rU="reach-skip-nav",rH="Skip to content";(0,ek.forwardRef)(function(ee,en){var er=ee,{className:eo,id:ei,label:es=rH,styled:eu}=er,ec=__objRest(er,["className","id","label","styled"]);let ed=void 0===eo?eu?(0,eC.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":eo;return(0,tC.jsx)("a",__spreadProps(__spreadValues({},ec),{ref:en,href:`#${ei||rU}`,className:ed,"data-reach-skip-link":"",children:es}))}).displayName="SkipNavLink";var r$=(0,ek.forwardRef)(function(ee,en){var er=ee,{id:eo}=er,ei=__objRest(er,["id"]);return(0,tC.jsx)("div",__spreadProps(__spreadValues({},ei),{ref:en,id:eo||rU}))});r$.displayName="SkipNavContent";var rB=tb.strictObject({light:tb.string(),dark:tb.string(),system:tb.string()});function ThemeSwitch({lite:ee,className:en}){let{setTheme:er,resolvedTheme:eo,theme:ei=""}=y(),es=useMounted(),eu=useConfig().themeSwitch,ec=es&&"dark"===eo?eS.kL:eS.NW,ed="function"==typeof eu.useOptions?eu.useOptions():eu.useOptions;return(0,tC.jsx)(Select,{className:en,title:"Change theme",options:[{key:"light",name:ed.light},{key:"dark",name:ed.dark},{key:"system",name:ed.system}],onChange:ee=>{er(ee.key)},selected:{key:ei,name:(0,tC.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,tC.jsx)(ec,{}),(0,tC.jsx)("span",{className:ee?"md:nx-hidden":"",children:es?ed[ei]:ed.light})]})}})}function scrollToTop(){window.scrollTo({top:0,behavior:"smooth"})}function BackToTop({className:ee}){let en=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{function toggleVisible(){var ee;let{scrollTop:er}=document.documentElement;null==(ee=en.current)||ee.classList.toggle("nx-opacity-0",er<300)}return window.addEventListener("scroll",toggleVisible),()=>{window.removeEventListener("scroll",toggleVisible)}},[]),(0,tC.jsxs)("button",{ref:en,"aria-hidden":"true",onClick:scrollToTop,className:(0,eC.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",ee),children:["Scroll to top",(0,tC.jsx)(eS.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var rW=(0,eC.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function TOC({headings:ee,filePath:en}){var er;let eo=useActiveAnchor(),ei=useConfig(),es=(0,ek.useRef)(null),eu=(0,ek.useMemo)(()=>ee.filter(ee=>ee.depth>1),[ee]),ec=eu.length>0,ed=!!(ei.feedback.content||ei.editLink.component||ei.toc.extraContent),ep=null==(er=Object.entries(eo).find(([,{isActive:ee}])=>ee))?void 0:er[0];return(0,ek.useEffect)(()=>{var ee;if(!ep)return;let en=null==(ee=es.current)?void 0:ee.querySelector(`li > a[href="#${ep}"]`);en&&dist_e(en,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:es.current})},[ep]),(0,tC.jsxs)("div",{ref:es,className:(0,eC.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[ec&&(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:renderComponent(ei.toc.title)}),(0,tC.jsx)("ul",{children:eu.map(({id:ee,value:en,depth:er})=>{var es,eu,ec,ed;return(0,tC.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,tC.jsx)("a",{href:`#${ee}`,className:(0,eC.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[er],"nx-inline-block",(null==(es=eo[ee])?void 0:es.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(ed=null==(ec=(eu=ei.toc).headingComponent)?void 0:ec.call(eu,{id:ee,children:en}))?ed:en})},ee)})})]}),ed&&(0,tC.jsxs)("div",{className:(0,eC.Z)(ec&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[ei.feedback.content?(0,tC.jsx)(rS,{className:rW,href:ei.feedback.useLink(),newWindow:!0,children:renderComponent(ei.feedback.content)}):null,renderComponent(ei.editLink.component,{filePath:en,className:rW,children:renderComponent(ei.editLink.text)}),renderComponent(ei.toc.extraContent),ei.toc.backToTop&&(0,tC.jsx)(BackToTop,{className:rW})]})]})}function MatchSorterSearch({className:ee,directories:en}){let[er,eo]=(0,ek.useState)(""),ei=(0,ek.useMemo)(()=>er?matchSorter(en,er,{keys:["title"]}).map(({route:ee,title:en})=>({id:ee+en,route:ee,children:(0,tC.jsx)(rj,{value:en,match:er})})):[],[er,en]);return(0,tC.jsx)(Search,{value:er,onChange:eo,className:ee,overlayClassName:"nx-w-full",results:ei})}var rG="en-US",rK="undefined"!=typeof window;function isReactNode(ee){return null==ee||"string"==typeof ee||isFunction(ee)||(0,ek.isValidElement)(ee)}function isFunction(ee){return"function"==typeof ee}var rq=tb.array(tb.strictObject({direction:tb.enum(["ltr","rtl"]).optional(),locale:tb.string(),text:tb.string()})),rY=[isReactNode,{message:"Must be React.ReactNode or React.FC"}],rQ=[isFunction,{message:"Must be React.FC"}];tb.strictObject({banner:tb.strictObject({dismissible:tb.boolean(),key:tb.string(),text:tb.custom(...rY).optional()}),chat:tb.strictObject({icon:tb.custom(...rY),link:tb.string().startsWith("https://").optional()}),components:tb.record(tb.custom(...rQ)).optional(),darkMode:tb.boolean(),direction:tb.enum(["ltr","rtl"]),docsRepositoryBase:tb.string().startsWith("https://"),editLink:tb.strictObject({component:tb.custom(...rQ),text:tb.custom(...rY)}),faviconGlyph:tb.string().optional(),feedback:tb.strictObject({content:tb.custom(...rY),labels:tb.string(),useLink:tb.function().returns(tb.string())}),footer:tb.strictObject({component:tb.custom(...rY),text:tb.custom(...rY)}),gitTimestamp:tb.custom(...rY),head:tb.custom(...rY),i18n:rq,logo:tb.custom(...rY),logoLink:tb.boolean().or(tb.string()),main:tb.custom(...rQ).optional(),navbar:tb.strictObject({component:tb.custom(...rY),extraContent:tb.custom(...rY).optional()}),navigation:tb.boolean().or(tb.strictObject({next:tb.boolean(),prev:tb.boolean()})),nextThemes:tb.strictObject({defaultTheme:tb.string(),forcedTheme:tb.string().optional(),storageKey:tb.string()}),notFound:tb.strictObject({content:tb.custom(...rY),labels:tb.string()}),primaryHue:tb.number().or(tb.strictObject({dark:tb.number(),light:tb.number()})),primarySaturation:tb.number().or(tb.strictObject({dark:tb.number(),light:tb.number()})),project:tb.strictObject({icon:tb.custom(...rY),link:tb.string().startsWith("https://").optional()}),search:tb.strictObject({component:tb.custom(...rY),emptyResult:tb.custom(...rY),error:tb.string().or(tb.function().returns(tb.string())),loading:tb.custom(...rY),placeholder:tb.string().or(tb.function().returns(tb.string()))}),serverSideError:tb.strictObject({content:tb.custom(...rY),labels:tb.string()}),sidebar:tb.strictObject({autoCollapse:tb.boolean().optional(),defaultMenuCollapseLevel:tb.number().min(1).int(),titleComponent:tb.custom(...rY),toggleButton:tb.boolean()}),themeSwitch:tb.strictObject({component:tb.custom(...rY),useOptions:rB.or(tb.function().returns(rB))}),toc:tb.strictObject({backToTop:tb.boolean(),component:tb.custom(...rY),extraContent:tb.custom(...rY),float:tb.boolean(),headingComponent:tb.custom(...rQ).optional(),title:tb.custom(...rY)}),useNextSeoProps:tb.custom(isFunction)}).deepPartial().extend({i18n:rq.optional()});var rX={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},rJ={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},r0={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)(eS.D7,{}),(0,tC.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:ee,filePath:en,children:er}){let eo=useGitEditUrl(en);return eo?(0,tC.jsx)(rS,{className:ee,href:eo,children:er}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let ee=useConfig();return getGitIssueUrl({labels:ee.feedback.labels,repository:ee.docsRepositoryBase,title:`Feedback for \u201C${ee.title}\u201D`})}},footer:{component:Footer,text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:ee}){let{locale:en=rG}=(0,ew.useRouter)();return(0,tC.jsxs)(tC.Fragment,{children:["Last updated on"," ",(0,tC.jsx)("time",{dateTime:ee.toISOString(),children:ee.toLocaleDateString(en,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,tC.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,tC.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,tC.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,tC.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,tC.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,tC.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,tC.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,tC.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:Navbar},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)(eS.fy,{}),(0,tC.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:ee,directories:en}){let er=useConfig();return er.flexsearch?(0,tC.jsx)(Flexsearch,{className:ee}):(0,tC.jsx)(MatchSorterSearch,{className:ee,directories:en})},emptyResult:(0,tC.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:ee,defaultLocale:en=rG}=(0,ew.useRouter)(),er=ee&&rX[ee]||rX[en];return(0,tC.jsxs)(tC.Fragment,{children:[er,"…"]})},placeholder:function(){let{locale:ee,defaultLocale:en=rG}=(0,ew.useRouter)(),er=ee&&rJ[ee]||rJ[en];return`${er}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:ee})=>(0,tC.jsx)(tC.Fragment,{children:ee}),toggleButton:!1},themeSwitch:{component:ThemeSwitch,useOptions(){let{locale:ee}=(0,ew.useRouter)();return"zh-CN"===ee?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:TOC,float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},r1=Object.entries(r0).map(([ee,en])=>{let er=en&&"object"==typeof en&&!Array.isArray(en)&&!(0,ek.isValidElement)(en);if(er)return ee}).filter(Boolean);if(rK){let ee;let addResizingClass=()=>{document.body.classList.add("resizing"),clearTimeout(ee),ee=setTimeout(()=>{document.body.classList.remove("resizing")},200)};window.addEventListener("resize",addResizingClass)}function HeadingLink(ee){var en=ee,{tag:er,context:eo,children:ei,id:es,className:eu}=en,ec=__objRest(en,["tag","context","children","id","className"]);let ed=useSetActiveAnchor(),ep=useSlugs(),ef=useIntersectionObserver(),eh=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{if(!es)return;let ee=eh.current;if(ee)return ep.set(ee,[es,eo.index+=1]),null==ef||ef.observe(ee),()=>{null==ef||ef.disconnect(),ep.delete(ee),ed(ee=>{let en=__spreadValues({},ee);return delete en[es],en})}},[es,eo,ep,ef,ed]),(0,tC.jsxs)(er,__spreadProps(__spreadValues({className:"sr-only"===eu?"nx-sr-only":(0,eC.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[er])},ec),{children:[ei,es&&(0,tC.jsx)("a",{href:`#${es}`,id:es,className:"subheading-anchor","aria-label":"Permalink for this section",ref:eh})]}))}var findSummary=ee=>{let en=null,er=[];return ek.Children.forEach(ee,(ee,eo)=>{var ei;if(ee&&ee.type===Summary){en||(en=ee);return}let es=ee;if(!en&&ee&&"object"==typeof ee&&ee.type!==Details&&"props"in ee&&ee.props){let er=findSummary(ee.props.children);en=er[0],es=(0,ek.cloneElement)(ee,__spreadProps(__spreadValues({},ee.props),{children:(null==(ei=er[1])?void 0:ei.length)?er[1]:void 0,key:eo}))}er.push(es)}),[en,er]},Details=ee=>{var en=ee,{children:er,open:eo}=en,ei=__objRest(en,["children","open"]);let[es,eu]=(0,ek.useState)(!!eo),[ec,ed]=findSummary(er),[ep,ef]=(0,ek.useState)(es);return(0,ek.useEffect)(()=>{if(es)ef(!0);else{let ee=setTimeout(()=>ef(es),500);return()=>clearTimeout(ee)}},[es]),(0,tC.jsxs)("details",__spreadProps(__spreadValues(__spreadProps(__spreadValues({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},ei),{open:ep}),es&&{"data-expanded":!0}),{children:[(0,tC.jsx)(rE,{value:eu,children:ec}),(0,tC.jsx)(Collapse,{isOpen:es,children:ed})]}))},Summary=ee=>{let en=useDetails();return(0,tC.jsx)("summary",__spreadProps(__spreadValues({className:(0,eC.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},ee),{onClick:ee=>{ee.preventDefault(),en(ee=>!ee)}}))},r2=/https?:\/\//,Link=ee=>{var en=ee,{href:er="",className:eo}=en,ei=__objRest(en,["href","className"]);return(0,tC.jsx)(rS,__spreadValues({href:er,newWindow:r2.test(er),className:(0,eC.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",eo)},ei))},A=ee=>{var en=ee,{href:er=""}=en,eo=__objRest(en,["href"]);return(0,tC.jsx)(rS,__spreadValues({href:er,newWindow:r2.test(er)},eo))},getComponents=({isRawLayout:ee,components:en})=>{if(ee)return{a:A};let er={index:0};return __spreadValues({h1:ee=>(0,tC.jsx)("h1",__spreadValues({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},ee)),h2:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h2",context:er},ee)),h3:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h3",context:er},ee)),h4:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h4",context:er},ee)),h5:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h5",context:er},ee)),h6:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h6",context:er},ee)),ul:ee=>(0,tC.jsx)("ul",__spreadValues({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},ee)),ol:ee=>(0,tC.jsx)("ol",__spreadValues({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},ee)),li:ee=>(0,tC.jsx)("li",__spreadValues({className:"nx-my-2"},ee)),blockquote:ee=>(0,tC.jsx)("blockquote",__spreadValues({className:(0,eC.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},ee)),hr:ee=>(0,tC.jsx)("hr",__spreadValues({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},ee)),a:Link,table:ee=>(0,tC.jsx)(rc.iA,__spreadValues({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},ee)),p:ee=>(0,tC.jsx)("p",__spreadValues({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},ee)),tr:rc.Tr,th:rc.Th,td:rc.Td,details:Details,summary:Summary,pre:rc.SU,code:rc.EK},en)},r4={toc:(0,eC.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,eC.Z)("nx-w-full nx-break-words")},Body=({themeContext:ee,breadcrumb:en,timestamp:er,navigation:eo,children:ei})=>{var es;let eu=useConfig(),ec=useMounted();if("raw"===ee.layout)return(0,tC.jsx)("div",{className:r4.main,children:ei});let ed=ee.timestamp&&eu.gitTimestamp&&er?new Date(er):null,ep=ec&&ed?(0,tC.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:renderComponent(eu.gitTimestamp,{timestamp:ed})}):(0,tC.jsx)("div",{className:"nx-mt-16"}),ef=(0,tC.jsxs)(tC.Fragment,{children:[ei,ep,eo]}),eh=(null==(es=eu.main)?void 0:es.call(eu,{children:ef}))||ef;return"full"===ee.layout?(0,tC.jsx)("article",{className:(0,eC.Z)(r4.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:eh}):(0,tC.jsx)("article",{className:(0,eC.Z)(r4.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===ee.typesetting&&"nextra-body-typesetting-article"),children:(0,tC.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[en,eh]})})},InnerLayout=({filePath:ee,pageMap:en,frontMatter:er,headings:eo,timestamp:ei,children:es})=>{let eu=useConfig(),{locale:ec=rG,defaultLocale:ed}=(0,ew.useRouter)(),ep=useFSRoute(),{activeType:ef,activeIndex:eh,activeThemeContext:em,activePath:ex,topLevelNavbarItems:eg,docsDirectories:ev,flatDirectories:ey,flatDocsDirectories:eb,directories:e_}=(0,ek.useMemo)(()=>normalizePages({list:en,locale:ec,defaultLocale:ed,route:ep}),[en,ec,ed,ep]),eT=__spreadValues(__spreadValues({},em),er),eE=!eT.sidebar||"raw"===eT.layout||"page"===ef,eS="page"!==ef&&eT.toc&&"default"===eT.layout?(0,tC.jsx)("nav",{className:(0,eC.Z)(r4.toc,"nx-px-4"),"aria-label":"table of contents",children:renderComponent(eu.toc.component,{headings:eu.toc.float?eo:[],filePath:ee})}):"full"!==eT.layout&&"raw"!==eT.layout&&(0,tC.jsx)("nav",{className:r4.toc,"aria-label":"table of contents"}),ej=eu.i18n.find(ee=>ee.locale===ec),eI=ej?"rtl"===ej.direction:"rtl"===eu.direction,eP=eI?"rtl":"ltr";return(0,tC.jsxs)("div",{dir:eP,children:[(0,tC.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${eP}')`}}),(0,tC.jsx)(dist_Head,{}),(0,tC.jsx)(Banner,{}),eT.navbar&&renderComponent(eu.navbar.component,{flatDirectories:ey,items:eg}),(0,tC.jsx)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex","raw"!==eT.layout&&"nx-max-w-[90rem]"),children:(0,tC.jsxs)(ActiveAnchorProvider,{children:[(0,tC.jsx)(Sidebar,{docsDirectories:ev,flatDirectories:ey,fullDirectories:e_,headings:eo,asPopover:eE,includePlaceholder:"default"===eT.layout}),eS,(0,tC.jsx)(r$,{}),(0,tC.jsx)(Body,{themeContext:eT,breadcrumb:"page"!==ef&&eT.breadcrumb?(0,tC.jsx)(Breadcrumb,{activePath:ex}):null,timestamp:ei,navigation:"page"!==ef&&eT.pagination?(0,tC.jsx)(NavLinks,{flatDirectories:eb,currentIndex:eh}):null,children:(0,tC.jsx)(eO.Z,{components:getComponents({isRawLayout:"raw"===eT.layout,components:eu.components}),children:es})})]})}),eT.footer&&renderComponent(eu.footer.component,{menu:eE})]})};function Layout(ee){var en=ee,{children:er}=en,eo=__objRest(en,["children"]);return(0,tC.jsx)(ConfigProvider,{value:eo,children:(0,tC.jsx)(InnerLayout,__spreadProps(__spreadValues({},eo.pageOpts),{children:er}))})}},39013:function(ee,en,er){"use strict";er.d(en,{EK:function(){return Code},SU:function(){return Pre},OK:function(){return Tab},iA:function(){return Table},mQ:function(){return eV},Td:function(){return Td},Th:function(){return Th},Tr:function(){return Tr}});var eo,ei,es,eu=er(90512),ec=er(85893),Button=({children:ee,className:en,...er})=>(0,ec.jsx)("button",{className:(0,eu.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",en),...er,children:ee}),ed=er(94861);ed.AV,(0,eu.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),(0,eu.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),(0,eu.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),(0,eu.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200");var ep=er(67294),CopyToClipboard=({getValue:ee,...en})=>{let[er,eo]=(0,ep.useState)(!1);(0,ep.useEffect)(()=>{if(!er)return;let ee=setTimeout(()=>{eo(!1)},2e3);return()=>{clearTimeout(ee)}},[er]);let ei=(0,ep.useCallback)(async()=>{eo(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(ee())}catch{console.error("Failed to copy!")}},[ee]),es=er?ed.nQ:ed.TI;return(0,ec.jsx)(Button,{onClick:ei,title:"Copy code",tabIndex:0,...en,children:(0,ec.jsx)(es,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},Code=({children:ee,className:en,...er})=>{let eo="data-line-numbers"in er;return(0,ec.jsx)("code",{className:(0,eu.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10",eo&&"[counter-reset:line]",en),dir:"ltr",...er,children:ee})},Pre=({children:ee,className:en,hasCopyCode:er,filename:eo,...ei})=>{let es=(0,ep.useRef)(null),ef=(0,ep.useCallback)(()=>{let ee=document.documentElement.dataset,en="nextraWordWrap"in ee;en?delete ee.nextraWordWrap:ee.nextraWordWrap=""},[]);return(0,ec.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[eo&&(0,ec.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:eo}),(0,ec.jsx)("pre",{className:(0,eu.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",eo?"nx-pt-12 nx-pb-4":"nx-py-4",en),ref:es,...ei,children:ee}),(0,ec.jsxs)("div",{className:(0,eu.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",eo?"nx-top-8":"nx-top-0"),children:[(0,ec.jsx)(Button,{onClick:ef,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,ec.jsx)(ed.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),er&&(0,ec.jsx)(CopyToClipboard,{getValue:()=>es.current?.querySelector("code")?.textContent||""})]})]})},ef=er(12351),eh=er(19946),em=er(32984),ex=er(61363),eg=er(84575),ev=er(16723),ey=er(23784),eb=er(14157),e_=er(3855),ew=er(14879),ek=er(46045);function focus_sentinel_A({onFocus:ee}){let[en,er]=(0,ep.useState)(!0),eo=(0,ew.t)();return en?ep.createElement(ek._,{as:"button",type:"button",features:ek.A.Focusable,onFocus:en=>{en.preventDefault();let ei,es=50;function t(){if(es--<=0){ei&&cancelAnimationFrame(ei);return}if(ee()){if(cancelAnimationFrame(ei),!eo.current)return;er(!1);return}ei=requestAnimationFrame(t)}ei=requestAnimationFrame(t)}}):null}var eC=er(73781),eT=er(81021),eE=er(15466);let eO=ep.createContext(null);function a(){return{groups:new Map,get(ee,en){var er;let eo=this.groups.get(ee);eo||(eo=new Map,this.groups.set(ee,eo));let ei=null!=(er=eo.get(en))?er:0;function i(){let ee=eo.get(en);ee>1?eo.set(en,ee-1):eo.delete(en)}return eo.set(en,ei+1),[Array.from(eo.keys()).indexOf(en),i]}}}function stable_collection_C({children:ee}){let en=ep.useRef(a());return ep.createElement(eO.Provider,{value:en},ee)}function stable_collection_d(ee){let en=ep.useContext(eO);if(!en)throw Error("You must wrap your component in a ");let er=f(),[eo,ei]=en.current.get(ee,er);return ep.useEffect(()=>ei,[]),eo}function f(){var ee,en,er;let eo=null!=(er=null==(en=null==(ee=ep.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:ee.ReactCurrentOwner)?void 0:en.current)?er:null;if(!eo)return Symbol();let ei=[],es=eo;for(;es;)ei.push(es.index),es=es.return;return"$."+ei.join(".")}var eS=((eo=eS||{})[eo.Forwards=0]="Forwards",eo[eo.Backwards=1]="Backwards",eo),ej=((ei=ej||{})[ei.Less=-1]="Less",ei[ei.Equal=0]="Equal",ei[ei.Greater=1]="Greater",ei),eI=((es=eI||{})[es.SetSelectedIndex=0]="SetSelectedIndex",es[es.RegisterTab=1]="RegisterTab",es[es.UnregisterTab=2]="UnregisterTab",es[es.RegisterPanel=3]="RegisterPanel",es[es.UnregisterPanel=4]="UnregisterPanel",es);let eP={0(ee,en){var er;let eo=(0,eg.z2)(ee.tabs,ee=>ee.current),ei=(0,eg.z2)(ee.panels,ee=>ee.current),es=eo.filter(ee=>{var en;return!(null!=(en=ee.current)&&en.hasAttribute("disabled"))}),eu={...ee,tabs:eo,panels:ei};if(en.index<0||en.index>eo.length-1){let er=(0,em.E)(Math.sign(en.index-ee.selectedIndex),{[-1]:()=>1,0:()=>(0,em.E)(Math.sign(en.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===es.length)return eu;let ei=(0,em.E)(er,{0:()=>eo.indexOf(es[0]),1:()=>eo.indexOf(es[es.length-1])});return{...eu,selectedIndex:-1===ei?ee.selectedIndex:ei}}let ec=eo.slice(0,en.index),ed=[...eo.slice(en.index),...ec].find(ee=>es.includes(ee));if(!ed)return eu;let ep=null!=(er=eo.indexOf(ed))?er:ee.selectedIndex;return -1===ep&&(ep=ee.selectedIndex),{...eu,selectedIndex:ep}},1(ee,en){var er;if(ee.tabs.includes(en.tab))return ee;let eo=ee.tabs[ee.selectedIndex],ei=(0,eg.z2)([...ee.tabs,en.tab],ee=>ee.current),es=null!=(er=ei.indexOf(eo))?er:ee.selectedIndex;return -1===es&&(es=ee.selectedIndex),{...ee,tabs:ei,selectedIndex:es}},2:(ee,en)=>({...ee,tabs:ee.tabs.filter(ee=>ee!==en.tab)}),3:(ee,en)=>ee.panels.includes(en.panel)?ee:{...ee,panels:(0,eg.z2)([...ee.panels,en.panel],ee=>ee.current)},4:(ee,en)=>({...ee,panels:ee.panels.filter(ee=>ee!==en.panel)})},eN=(0,ep.createContext)(null);function M(ee){let en=(0,ep.useContext)(eN);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,M),en}return en}eN.displayName="TabsDataContext";let eR=(0,ep.createContext)(null);function q(ee){let en=(0,ep.useContext)(eR);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,q),en}return en}function fe(ee,en){return(0,em.E)(en.type,eP,ee,en)}eR.displayName="TabsActionsContext";let eZ=ep.Fragment;function me(ee,en){let{defaultIndex:er=0,vertical:eo=!1,manual:ei=!1,onChange:es,selectedIndex:eu=null,...ec}=ee,ed=eo?"vertical":"horizontal",eh=ei?"manual":"auto",em=null!==eu,ex=(0,ey.T)(en),[eb,ew]=(0,ep.useReducer)(fe,{selectedIndex:null!=eu?eu:er,tabs:[],panels:[]}),ek=(0,ep.useMemo)(()=>({selectedIndex:eb.selectedIndex}),[eb.selectedIndex]),eT=(0,e_.E)(es||(()=>{})),eE=(0,e_.E)(eb.tabs),eO=(0,ep.useMemo)(()=>({orientation:ed,activation:eh,...eb}),[ed,eh,eb]),eS=(0,eC.z)(ee=>(ew({type:1,tab:ee}),()=>ew({type:2,tab:ee}))),ej=(0,eC.z)(ee=>(ew({type:3,panel:ee}),()=>ew({type:4,panel:ee}))),eI=(0,eC.z)(ee=>{eP.current!==ee&&eT.current(ee),em||ew({type:0,index:ee})}),eP=(0,e_.E)(em?ee.selectedIndex:eb.selectedIndex),eM=(0,ep.useMemo)(()=>({registerTab:eS,registerPanel:ej,change:eI}),[]);(0,ev.e)(()=>{ew({type:0,index:null!=eu?eu:er})},[eu]),(0,ev.e)(()=>{if(void 0===eP.current||eb.tabs.length<=0)return;let ee=(0,eg.z2)(eb.tabs,ee=>ee.current);ee.some((ee,en)=>eb.tabs[en]!==ee)&&eI(ee.indexOf(eb.tabs[eP.current]))});let eA={ref:ex};return ep.createElement(stable_collection_C,null,ep.createElement(eR.Provider,{value:eM},ep.createElement(eN.Provider,{value:eO},eO.tabs.length<=0&&ep.createElement(focus_sentinel_A,{onFocus:()=>{var ee,en;for(let er of eE.current)if((null==(ee=er.current)?void 0:ee.tabIndex)===0)return null==(en=er.current)||en.focus(),!0;return!1}}),(0,ef.sY)({ourProps:eA,theirProps:ec,slot:ek,defaultTag:eZ,name:"Tabs"}))))}let eM="div";function xe(ee,en){let{orientation:er,selectedIndex:eo}=M("Tab.List"),ei=(0,ey.T)(en);return(0,ef.sY)({ourProps:{ref:ei,role:"tablist","aria-orientation":er},theirProps:ee,slot:{selectedIndex:eo},defaultTag:eM,name:"Tabs.List"})}let eA="button";function ye(ee,en){var er,eo;let ei=(0,eh.M)(),{id:es=`headlessui-tabs-tab-${ei}`,...eu}=ee,{orientation:ec,activation:ed,selectedIndex:e_,tabs:ew,panels:ek}=M("Tab"),eO=q("Tab"),eS=M("Tab"),ej=(0,ep.useRef)(null),eI=(0,ey.T)(ej,en);(0,ev.e)(()=>eO.registerTab(ej),[eO,ej]);let eP=stable_collection_d("tabs"),eN=ew.indexOf(ej);-1===eN&&(eN=eP);let eR=eN===e_,eZ=(0,eC.z)(ee=>{var en;let er=ee();if(er===eg.fE.Success&&"auto"===ed){let ee=null==(en=(0,eE.r)(ej))?void 0:en.activeElement,er=eS.tabs.findIndex(en=>en.current===ee);-1!==er&&eO.change(er)}return er}),eM=(0,eC.z)(ee=>{let en=ew.map(ee=>ee.current).filter(Boolean);if(ee.key===ex.R.Space||ee.key===ex.R.Enter){ee.preventDefault(),ee.stopPropagation(),eO.change(eN);return}switch(ee.key){case ex.R.Home:case ex.R.PageUp:return ee.preventDefault(),ee.stopPropagation(),eZ(()=>(0,eg.jA)(en,eg.TO.First));case ex.R.End:case ex.R.PageDown:return ee.preventDefault(),ee.stopPropagation(),eZ(()=>(0,eg.jA)(en,eg.TO.Last))}if(eZ(()=>(0,em.E)(ec,{vertical:()=>ee.key===ex.R.ArrowUp?(0,eg.jA)(en,eg.TO.Previous|eg.TO.WrapAround):ee.key===ex.R.ArrowDown?(0,eg.jA)(en,eg.TO.Next|eg.TO.WrapAround):eg.fE.Error,horizontal:()=>ee.key===ex.R.ArrowLeft?(0,eg.jA)(en,eg.TO.Previous|eg.TO.WrapAround):ee.key===ex.R.ArrowRight?(0,eg.jA)(en,eg.TO.Next|eg.TO.WrapAround):eg.fE.Error}))===eg.fE.Success)return ee.preventDefault()}),eL=(0,ep.useRef)(!1),eD=(0,eC.z)(()=>{var ee;eL.current||(eL.current=!0,null==(ee=ej.current)||ee.focus({preventScroll:!0}),eO.change(eN),(0,eT.Y)(()=>{eL.current=!1}))}),eF=(0,eC.z)(ee=>{ee.preventDefault()}),ez=(0,ep.useMemo)(()=>({selected:eR}),[eR]),eV={ref:eI,onKeyDown:eM,onMouseDown:eF,onClick:eD,id:es,role:"tab",type:(0,eb.f)(ee,ej),"aria-controls":null==(eo=null==(er=ek[eN])?void 0:er.current)?void 0:eo.id,"aria-selected":eR,tabIndex:eR?0:-1};return(0,ef.sY)({ourProps:eV,theirProps:eu,slot:ez,defaultTag:eA,name:"Tabs.Tab"})}let eL="div";function Ae(ee,en){let{selectedIndex:er}=M("Tab.Panels"),eo=(0,ey.T)(en),ei=(0,ep.useMemo)(()=>({selectedIndex:er}),[er]);return(0,ef.sY)({ourProps:{ref:eo},theirProps:ee,slot:ei,defaultTag:eL,name:"Tabs.Panels"})}let eD="div",eF=ef.AN.RenderStrategy|ef.AN.Static;function Se(ee,en){var er,eo,ei,es;let eu=(0,eh.M)(),{id:ec=`headlessui-tabs-panel-${eu}`,tabIndex:ed=0,...em}=ee,{selectedIndex:ex,tabs:eg,panels:eb}=M("Tab.Panel"),e_=q("Tab.Panel"),ew=(0,ep.useRef)(null),eC=(0,ey.T)(ew,en);(0,ev.e)(()=>e_.registerPanel(ew),[e_,ew]);let eT=stable_collection_d("panels"),eE=eb.indexOf(ew);-1===eE&&(eE=eT);let eO=eE===ex,eS=(0,ep.useMemo)(()=>({selected:eO}),[eO]),ej={ref:eC,id:ec,role:"tabpanel","aria-labelledby":null==(eo=null==(er=eg[eE])?void 0:er.current)?void 0:eo.id,tabIndex:eO?ed:-1};return eO||null!=(ei=em.unmount)&&!ei||null!=(es=em.static)&&es?(0,ef.sY)({ourProps:ej,theirProps:em,slot:eS,defaultTag:eD,features:eF,visible:eO,name:"Tabs.Panel"}):ep.createElement(ek._,{as:"span",...ej})}let ez=Object.assign((0,ef.yV)(ye),{Group:(0,ef.yV)(me),List:(0,ef.yV)(xe),Panels:(0,ef.yV)(Ae),Panel:(0,ef.yV)(Se)});function isTabObjectItem(ee){return!!ee&&"object"==typeof ee&&"label"in ee}function Tab({children:ee,...en}){return(0,ec.jsx)(ez.Panel,{...en,className:"nx-rounded nx-pt-6",children:ee})}var eV=Object.assign(function({items:ee,selectedIndex:en,defaultIndex:er=0,onChange:eo,children:ei,storageKey:es}){let[ed,ef]=(0,ep.useState)(er);(0,ep.useEffect)(()=>{void 0!==en&&ef(en)},[en]),(0,ep.useEffect)(()=>{if(!es)return;function fn(ee){ee.key===es&&ef(Number(ee.newValue))}let ee=Number(localStorage.getItem(es));return ef(Number.isNaN(ee)?0:ee),window.addEventListener("storage",fn),()=>{window.removeEventListener("storage",fn)}},[]);let eh=(0,ep.useCallback)(ee=>{if(es){let en=String(ee);localStorage.setItem(es,en),window.dispatchEvent(new StorageEvent("storage",{key:es,newValue:en}));return}ef(ee),eo?.(ee)},[]);return(0,ec.jsxs)(ez.Group,{selectedIndex:ed,defaultIndex:er,onChange:eh,children:[(0,ec.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,ec.jsx)(ez.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:ee.map((ee,en)=>{let er=isTabObjectItem(ee)&&ee.disabled;return(0,ec.jsx)(ez,{disabled:er,className:({selected:ee})=>(0,eu.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",ee?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",er&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:isTabObjectItem(ee)?ee.label:ee},en)})})}),(0,ec.jsx)(ez.Panels,{children:ei})]})},{displayName:"Tabs",Tab}),Td=({className:ee="",...en})=>(0,ec.jsx)("td",{className:(0,eu.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",ee),...en}),Table=({className:ee="",...en})=>(0,ec.jsx)("table",{className:(0,eu.Z)("nx-block nx-overflow-x-scroll",ee),...en}),Th=({className:ee="",...en})=>(0,ec.jsx)("th",{className:(0,eu.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",ee),...en}),Tr=({className:ee="",...en})=>(0,ec.jsx)("tr",{className:(0,eu.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",ee),...en}),eU=er(41664),eH=er.n(eU),e$={cards:(0,eu.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,eu.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,eu.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},eB=(0,ec.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});Object.assign(function({children:ee,num:en=3,className:er,style:eo,...ei}){return(0,ec.jsx)("div",{className:(0,eu.Z)(e$.cards,er),...ei,style:{...eo,"--rows":en},children:ee})},{displayName:"Cards",Card:function({children:ee,title:en,icon:er,image:eo,arrow:ei,href:es,...ed}){let ep=ei?eB:null;return eo?(0,ec.jsxs)(eH(),{href:es,className:(0,eu.Z)(e$.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...ed,children:[ee,(0,ec.jsxs)("span",{className:(0,eu.Z)(e$.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[er,(0,ec.jsxs)("span",{className:"nx-flex nx-gap-1",children:[en,ep]})]})]}):(0,ec.jsx)(eH(),{href:es,className:(0,eu.Z)(e$.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...ed,children:(0,ec.jsxs)("span",{className:(0,eu.Z)(e$.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[er,en,ep]})})}});var eW=(0,ep.createContext)(0);function useIndent(){return(0,ep.useContext)(eW)}function Tree({children:ee}){return(0,ec.jsx)("div",{className:(0,eu.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,ec.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:ee})})}function Ident(){let ee=useIndent();return(0,ec.jsx)(ec.Fragment,{children:Array.from({length:ee},(ee,en)=>(0,ec.jsx)("span",{className:"nx-w-5"},en))})}var eG=(0,ep.memo)(({label:ee,name:en,open:er,children:eo,defaultOpen:ei=!1,onToggle:es})=>{let eu=useIndent(),[ed,ef]=(0,ep.useState)(ei),eh=(0,ep.useCallback)(()=>{es?.(!ed),ef(!ed)},[ed,es]),em=void 0===er?ed:er;return(0,ec.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,ec.jsxs)("button",{onClick:eh,title:en,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,ec.jsx)(Ident,{}),(0,ec.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,ec.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:em?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,ec.jsx)("span",{className:"nx-ml-1",children:ee??en})]}),em&&(0,ec.jsx)("ul",{children:(0,ec.jsx)(eW.Provider,{value:eu+1,children:eo})})]})});eG.displayName="Folder";var eK=(0,ep.memo)(({label:ee,name:en,active:er})=>(0,ec.jsx)("li",{className:(0,eu.Z)("nx-flex nx-list-none",er&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,ec.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,ec.jsx)(Ident,{}),(0,ec.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,ec.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,ec.jsx)("span",{className:"nx-ml-1",children:ee??en})]})}));eK.displayName="File",Object.assign(Tree,{Folder:eG,File:eK})},94861:function(ee,en,er){"use strict";er.d(en,{LZ:function(){return ArrowRightIcon},nQ:function(){return CheckIcon},TI:function(){return CopyIcon},D7:function(){return DiscordIcon},Qq:function(){return ExpandIcon},fy:function(){return GitHubIcon},n9:function(){return GlobeIcon},AV:function(){return InformationCircleIcon},Oq:function(){return MenuIcon},kL:function(){return MoonIcon},L4:function(){return SpinnerIcon},NW:function(){return SunIcon},NK:function(){return WordWrapIcon},b0:function(){return XIcon}});var eo=er(85893);function ArrowRightIcon({pathClassName:ee,...en}){return(0,eo.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...en,children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:ee})})}function CheckIcon(ee){return(0,eo.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function CopyIcon(ee){return(0,eo.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...ee,children:[(0,eo.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,eo.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function DiscordIcon(ee){return(0,eo.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...ee,children:[(0,eo.jsx)("title",{children:"Discord"}),(0,eo.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function ExpandIcon({isOpen:ee,...en}){return(0,eo.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...en,children:[(0,eo.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:ee?"":"nx-origin-[35%] nx-rotate-180"}),(0,eo.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function GitHubIcon(ee){return(0,eo.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...ee,children:[(0,eo.jsx)("title",{children:"GitHub"}),(0,eo.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function GlobeIcon(ee){return(0,eo.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function InformationCircleIcon(ee){return(0,eo.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function MenuIcon(ee){return(0,eo.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...ee,children:[(0,eo.jsx)("g",{children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,eo.jsx)("g",{children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function MoonIcon(ee){return(0,eo.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...ee,children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function SpinnerIcon(ee){return(0,eo.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...ee,children:[(0,eo.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,eo.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function SunIcon(ee){return(0,eo.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...ee,children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function WordWrapIcon(ee){return(0,eo.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...ee,children:(0,eo.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function XIcon(ee){return(0,eo.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},82643:function(ee,en,er){"use strict";er.d(en,{Z:function(){return MDXProvider},a:function(){return mdx_useMDXComponents}});var eo=er(67294);let ei=eo.createContext({});function useMDXComponents(ee){let en=eo.useContext(ei);return eo.useMemo(()=>"function"==typeof ee?ee(en):{...en,...ee},[en,ee])}let es={};function MDXProvider({components:ee,children:en,disableParentContext:er}){let eu;return eu=er?"function"==typeof ee?ee({}):ee||es:useMDXComponents(ee),eo.createElement(ei.Provider,{value:eu},en)}var eu=er(25675),ec=er.n(eu),ed={img:ee=>(0,eo.createElement)("object"==typeof ee.src?ec():"img",ee)},mdx_useMDXComponents=ee=>useMDXComponents({...ed,...ee})},92673:function(ee,en,er){"use strict";er.d(en,{j:function(){return setupNextraPage}});var eo,ei=er(29208),es=er.n(ei),eu=er(47222),ec=er(67294);er(32746),"undefined"!=typeof window&&(window.requestIdleCallback=window.requestIdleCallback||function(ee){var en=Date.now();return setTimeout(function(){ee({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-en))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(ee){clearTimeout(ee)}),er(82643);var ed=er(85893),ep=(0,ec.createContext)(!1),ef=er(11163);function useInternals(){let ee=globalThis[eu.eZ],{route:en}=(0,ef.useRouter)();(0,ec.useState)({})[1];let er=ee.context[en];if(!er)throw Error("No content found for the current route. This is a Nextra bug.");return{context:er,Layout:ee.Layout}}function Nextra({__nextra_pageMap:ee,__nextra_dynamic_opts:en,...er}){let{context:eo,Layout:ei}=useInternals(),{Content:es,...eu}=eo;if(ee&&(eu.pageOpts={...eu.pageOpts,pageMap:ee}),en){let{headings:ee,title:er,frontMatter:eo}=JSON.parse(en);eu.pageOpts={...eu.pageOpts,headings:ee,title:er,frontMatter:eo}}return(0,ed.jsx)(ei,{...eu,pageProps:er,children:(0,ed.jsx)(ep.Provider,{value:er,children:(0,ed.jsx)(es,{...er})})})}var eh=er(1864),em=er(83859),ex=er(2891);function normalizePageRoute(ee,en){return em(eh.join(ee,en.replace(/^index$/,"")))}function pageTitleFromFilename(ee){return ex(ee.replaceAll(/[-_]/g," "))}function isFolder(ee){return!!ee&&"object"==typeof ee&&"folder"===ee.type}function normalizeMetaData(ee){return Object.fromEntries(Object.entries(ee).map(([ee,en])=>{if(isFolder(en)){let er=ee.replace("/","");return[er,en.title||pageTitleFromFilename(er)]}return[ee,en||pageTitleFromFilename(ee)]}))}function collectCatchAllRoutes(ee,en,er=!0){if(er){collectCatchAllRoutes(ee,{kind:"Meta",data:en.data,locale:en.locale},!1),en.data=normalizeMetaData(en.data);return}for(let[er,eo]of Object.entries(en.data)){if(!isFolder(eo)){if("*"===er)continue;ee.children.push({kind:"MdxPage",...en.locale&&{locale:en.locale},name:er,route:normalizePageRoute(ee.route,er)});continue}let ei=er.replace("/",""),es={kind:"Folder",name:ei,route:`${ee.route}/${ei}`,children:[{kind:"Meta",...en.locale&&{locale:en.locale},data:normalizeMetaData(eo.items)}]};ee.children.push(es),collectCatchAllRoutes(es,{kind:"Meta",data:eo.items,locale:en.locale},!1)}}function setupNextraPage({pageNextRoute:ee,pageOpts:en,nextraLayout:er,themeConfig:ei,MDXContent:ec,hot:ed,pageOptsChecksum:ep,dynamicMetaModules:ef=[]}){var eh;"undefined"==typeof window&&(globalThis.__nextra_resolvePageMap=async()=>{if(eo)return eo;let ee=JSON.parse(JSON.stringify(em.pageMap));return await Promise.all(ef.map(async([en,{metaObjectKeyPath:er,metaParentKeyPath:eo}])=>{let ei=await en,eu=await ei.default(),ec=es()(ee,er);ec.data=eu;let ed=es()(ee,eo);collectCatchAllRoutes(ed,ec)})),eo=ee});let em=globalThis[eh=eu.eZ]||(globalThis[eh]=Object.create(null));return en.pageMap?(em.pageMap=en.pageMap,em.Layout=er):(en={...en,pageMap:em.pageMap,flexsearch:em.flexsearch},ei=em.themeConfig),en={frontMatter:{},...en},em.route=en.route,em.context||(em.context=Object.create(null)),em.context[ee]={Content:ec,pageOpts:en,themeConfig:ei},Nextra}},16008:function(ee,en,er){"use strict";var eo=er(72337);function parsePath(ee){var en={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:ee,query:{},parse_failed:!1};try{var er=new URL(ee);en.protocols=eo(er),en.protocol=en.protocols[0],en.port=er.port,en.resource=er.hostname,en.host=er.host,en.user=er.username||"",en.password=er.password||"",en.pathname=er.pathname,en.hash=er.hash.slice(1),en.search=er.search.slice(1),en.href=er.href,en.query=Object.fromEntries(er.searchParams)}catch(er){en.protocols=["file"],en.protocol=en.protocols[0],en.port="",en.resource="",en.user="",en.pathname="",en.hash="",en.search="",en.href=ee,en.query={},en.parse_failed=!0}return en}ee.exports=parsePath},43905:function(ee,en,er){"use strict";var eo=function(ee){return ee&&"object"==typeof ee&&"default"in ee?ee:{default:ee}}(er(16008));let ei="text/plain",es="us-ascii",testParameter=(ee,en)=>en.some(en=>en instanceof RegExp?en.test(ee):en===ee),normalizeDataURL=(ee,{stripHash:en})=>{let er=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(ee);if(!er)throw Error(`Invalid URL: ${ee}`);let{type:eo,data:eu,hash:ec}=er.groups,ed=eo.split(";");ec=en?"":ec;let ep=!1;"base64"===ed[ed.length-1]&&(ed.pop(),ep=!0);let ef=(ed.shift()||"").toLowerCase(),eh=ed.map(ee=>{let[en,er=""]=ee.split("=").map(ee=>ee.trim());return"charset"===en&&(er=er.toLowerCase())===es?"":`${en}${er?`=${er}`:""}`}).filter(Boolean),em=[...eh];return ep&&em.push("base64"),(em.length>0||ef&&ef!==ei)&&em.unshift(ef),`data:${em.join(";")},${ep?eu.trim():eu}${ec?`#${ec}`:""}`};function normalizeUrl(ee,en){if(en={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...en},ee=ee.trim(),/^data:/i.test(ee))return normalizeDataURL(ee,en);if(/^view-source:/i.test(ee))throw Error("`view-source:` is not supported as it is a non-standard protocol");let er=ee.startsWith("//"),eo=!er&&/^\.*\//.test(ee);eo||(ee=ee.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,en.defaultProtocol));let ei=new URL(ee);if(en.forceHttp&&en.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(en.forceHttp&&"https:"===ei.protocol&&(ei.protocol="http:"),en.forceHttps&&"http:"===ei.protocol&&(ei.protocol="https:"),en.stripAuthentication&&(ei.username="",ei.password=""),en.stripHash?ei.hash="":en.stripTextFragment&&(ei.hash=ei.hash.replace(/#?:~:text.*?$/i,"")),ei.pathname){let ee=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,en=0,er="";for(;;){let eo=ee.exec(ei.pathname);if(!eo)break;let es=eo[0],eu=eo.index,ec=ei.pathname.slice(en,eu);er+=ec.replace(/\/{2,}/g,"/")+es,en=eu+es.length}let eo=ei.pathname.slice(en,ei.pathname.length);er+=eo.replace(/\/{2,}/g,"/"),ei.pathname=er}if(ei.pathname)try{ei.pathname=decodeURI(ei.pathname)}catch{}if(!0===en.removeDirectoryIndex&&(en.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(en.removeDirectoryIndex)&&en.removeDirectoryIndex.length>0){let ee=ei.pathname.split("/"),er=ee[ee.length-1];testParameter(er,en.removeDirectoryIndex)&&(ee=ee.slice(0,-1),ei.pathname=ee.slice(1).join("/")+"/")}if(ei.hostname&&(ei.hostname=ei.hostname.replace(/\.$/,""),en.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(ei.hostname)&&(ei.hostname=ei.hostname.replace(/^www\./,""))),Array.isArray(en.removeQueryParameters))for(let ee of[...ei.searchParams.keys()])testParameter(ee,en.removeQueryParameters)&&ei.searchParams.delete(ee);if(!0===en.removeQueryParameters&&(ei.search=""),en.sortQueryParameters){ei.searchParams.sort();try{ei.search=decodeURIComponent(ei.search)}catch{}}en.removeTrailingSlash&&(ei.pathname=ei.pathname.replace(/\/$/,""));let es=ee;return ee=ei.toString(),en.removeSingleSlash||"/"!==ei.pathname||es.endsWith("/")||""!==ei.hash||(ee=ee.replace(/\/$/,"")),(en.removeTrailingSlash||"/"===ei.pathname)&&""===ei.hash&&en.removeSingleSlash&&(ee=ee.replace(/\/$/,"")),er&&!en.normalizeProtocol&&(ee=ee.replace(/^http:\/\//,"//")),en.stripProtocol&&(ee=ee.replace(/^(?:https?:)?\/\//,"")),ee}let parseUrl=(ee,en=!1)=>{let er=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,throwErr=en=>{let er=Error(en);throw er.subject_url=ee,er};"string"==typeof ee&&ee.trim()||throwErr("Invalid url."),ee.length>parseUrl.MAX_INPUT_LENGTH&&throwErr("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),en&&("object"!=typeof en&&(en={stripHash:!1}),ee=normalizeUrl(ee,en));let ei=eo.default(ee);if(ei.parse_failed){let ee=ei.href.match(er);ee?(ei.protocols=["ssh"],ei.protocol="ssh",ei.resource=ee[2],ei.host=ee[2],ei.user=ee[1],ei.pathname=`/${ee[3]}`,ei.parse_failed=!1):throwErr("URL parsing failed.")}return ei};parseUrl.MAX_INPUT_LENGTH=2048,ee.exports=parseUrl},72337:function(ee){"use strict";ee.exports=function(ee,en){!0===en&&(en=0);var er="";if("string"==typeof ee)try{er=new URL(ee).protocol}catch(ee){}else ee&&ee.constructor===URL&&(er=ee.protocol);var eo=er.split(/\:|\+/).filter(Boolean);return"number"==typeof en?eo[en]:eo}},76826:function(ee){var en={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ù:"u",ú:"u",û:"u",ü:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z"},er=Object.keys(en).join("|"),eo=RegExp(er,"g"),ei=RegExp(er,""),removeAccents=function(ee){return ee.replace(eo,function(ee){return en[ee]})},hasAccents=function(ee){return!!ee.match(ei)};ee.exports=removeAccents,ee.exports.has=hasAccents,ee.exports.remove=removeAccents},83859:function(ee){"use strict";ee.exports=ee=>{let en=/^\\\\\?\\/.test(ee),er=/[^\u0000-\u0080]+/.test(ee);return en||er?ee:ee.replace(/\\/g,"/")}},2891:function(ee,en,er){let eo=er(11439),ei=er(17224),es="[^\\s'’\\(\\)!?;:\"-]",eu=RegExp(`(?:(?:(\\s?(?:^|[.\\(\\)!?;:"-])\\s*)(${es}))|(${es}))(${es}*[’']*${es}*)`,"g"),convertToRegExp=ee=>ee.map(ee=>[RegExp(`\\b${ee}\\b`,"gi"),ee]);function parseMatch(ee){let en=ee[0];return/\s/.test(en)?ee.slice(1):/[\(\)]/.test(en)?null:ee}ee.exports=(ee,en={})=>{ee=ee.toLowerCase().replace(eu,(ee,en="",er,ei,es,eu,ec)=>{let ed=ee.length+eu>=ec.length,ep=parseMatch(ee);if(!ep)return ee;if(!er){let ee=ei+es;if(eo.has(ee)&&!ed)return ep}return en+(ei||er).toUpperCase()+es});let er=en.special||[],es=[...ei,...er],ec=convertToRegExp(es);return ec.forEach(([en,er])=>{ee=ee.replace(en,er)}),ee}},11439:function(ee){let en=["for","and","nor","but","or","yet","so"],er=["a","an","the"],eo=["aboard","about","above","across","after","against","along","amid","among","anti","around","as","at","before","behind","below","beneath","beside","besides","between","beyond","but","by","concerning","considering","despite","down","during","except","excepting","excluding","following","for","from","in","inside","into","like","minus","near","of","off","on","onto","opposite","over","past","per","plus","regarding","round","save","since","than","through","to","toward","towards","under","underneath","unlike","until","up","upon","versus","via","with","within","without"];ee.exports=new Set([...en,...er,...eo])},17224:function(ee){let en=["ZEIT","ZEIT Inc.","Vercel","Vercel Inc.","CLI","API","HTTP","HTTPS","JSX","DNS","URL","now.sh","now.json","vercel.app","vercel.json","CI","CD","CDN","package.json","package.lock","yarn.lock","GitHub","GitLab","CSS","Sass","JS","JavaScript","TypeScript","HTML","WordPress","Next.js","Node.js","Webpack","Docker","Bash","Kubernetes","SWR","TinaCMS","UI","UX","TS","TSX","iPhone","iPad","watchOS","iOS","iPadOS","macOS","PHP","composer.json","composer.lock","CMS","SQL","C","C#","GraphQL","GraphiQL","JWT","JWTs"];ee.exports=en},32746:function(ee,en,er){er(85893)},87462:function(ee,en,er){"use strict";function _extends(){return(_extends=Object.assign?Object.assign.bind():function(ee){for(var en=1;enen.current(...ee),[en])}},19946:function(ee,en,er){"use strict";er.d(en,{M:function(){return ed}});var eo,ei=er(67294),es=er(16723),eu=er(82180),ec=er(77896);let ed=null!=(eo=ei.useId)?eo:function(){let ee=(0,eu.H)(),[en,er]=ei.useState(ee?()=>ec.O.nextId():null);return(0,es.e)(()=>{null===en&&er(ec.O.nextId())},[en]),null!=en?""+en:void 0}},14879:function(ee,en,er){"use strict";er.d(en,{t:function(){return f}});var eo=er(67294),ei=er(16723);function f(){let ee=(0,eo.useRef)(!1);return(0,ei.e)(()=>(ee.current=!0,()=>{ee.current=!1}),[]),ee}},16723:function(ee,en,er){"use strict";er.d(en,{e:function(){return l}});var eo=er(67294),ei=er(77896);let l=(ee,en)=>{ei.O.isServer?(0,eo.useEffect)(ee,en):(0,eo.useLayoutEffect)(ee,en)}},3855:function(ee,en,er){"use strict";er.d(en,{E:function(){return s}});var eo=er(67294),ei=er(16723);function s(ee){let en=(0,eo.useRef)(ee);return(0,ei.e)(()=>{en.current=ee},[ee]),en}},14157:function(ee,en,er){"use strict";er.d(en,{f:function(){return s}});var eo=er(67294),ei=er(16723);function i(ee){var en;if(ee.type)return ee.type;let er=null!=(en=ee.as)?en:"button";if("string"==typeof er&&"button"===er.toLowerCase())return"button"}function s(ee,en){let[er,es]=(0,eo.useState)(()=>i(ee));return(0,ei.e)(()=>{es(i(ee))},[ee.type,ee.as]),(0,ei.e)(()=>{er||en.current&&en.current instanceof HTMLButtonElement&&!en.current.hasAttribute("type")&&es("button")},[er,en]),er}},82180:function(ee,en,er){"use strict";er.d(en,{H:function(){return l}});var eo,ei=er(67294),es=er(77896);function s(){let ee="undefined"==typeof document;return(0,(eo||(eo=er.t(ei,2))).useSyncExternalStore)(()=>()=>{},()=>!1,()=>!ee)}function l(){let ee=s(),[en,er]=ei.useState(es.O.isHandoffComplete);return en&&!1===es.O.isHandoffComplete&&er(!1),ei.useEffect(()=>{!0!==en&&er(!0)},[en]),ei.useEffect(()=>es.O.handoff(),[]),!ee&&en}},23784:function(ee,en,er){"use strict";er.d(en,{T:function(){return y}});var eo=er(67294),ei=er(73781);let es=Symbol();function y(...ee){let en=(0,eo.useRef)(ee);(0,eo.useEffect)(()=>{en.current=ee},[ee]);let er=(0,ei.z)(ee=>{for(let er of en.current)null!=er&&("function"==typeof er?er(ee):er.current=ee)});return ee.every(ee=>null==ee||(null==ee?void 0:ee[es]))?void 0:er}},46045:function(ee,en,er){"use strict";er.d(en,{A:function(){return eu},_:function(){return ec}});var eo,ei=er(12351);let es="div";var eu=((eo=eu||{})[eo.None=1]="None",eo[eo.Focusable=2]="Focusable",eo[eo.Hidden=4]="Hidden",eo);function s(ee,en){let{features:er=1,...eo}=ee,eu={ref:en,"aria-hidden":(2&er)==2||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(4&er)==4&&(2&er)!=2&&{display:"none"}}};return(0,ei.sY)({ourProps:eu,theirProps:eo,slot:{},defaultTag:es,name:"Hidden"})}let ec=(0,ei.yV)(s)},44067:function(ee,en,er){"use strict";function t(...ee){return Array.from(new Set(ee.flatMap(ee=>"string"==typeof ee?ee.split(" "):[]))).filter(Boolean).join(" ")}er.d(en,{A:function(){return t}})},9362:function(ee,en,er){"use strict";er.d(en,{k:function(){return o}});var eo=er(81021);function o(){let ee=[],en={addEventListener:(ee,er,eo,ei)=>(ee.addEventListener(er,eo,ei),en.add(()=>ee.removeEventListener(er,eo,ei))),requestAnimationFrame(...ee){let er=requestAnimationFrame(...ee);return en.add(()=>cancelAnimationFrame(er))},nextFrame:(...ee)=>en.requestAnimationFrame(()=>en.requestAnimationFrame(...ee)),setTimeout(...ee){let er=setTimeout(...ee);return en.add(()=>clearTimeout(er))},microTask(...ee){let er={current:!0};return(0,eo.Y)(()=>{er.current&&ee[0]()}),en.add(()=>{er.current=!1})},style(ee,en,er){let eo=ee.style.getPropertyValue(en);return Object.assign(ee.style,{[en]:er}),this.add(()=>{Object.assign(ee.style,{[en]:eo})})},group(ee){let en=o();return ee(en),this.add(()=>en.dispose())},add:en=>(ee.push(en),()=>{let er=ee.indexOf(en);if(er>=0)for(let en of ee.splice(er,1))en()}),dispose(){for(let en of ee.splice(0))en()}};return en}},77896:function(ee,en,er){"use strict";er.d(en,{O:function(){return ei}});var eo=Object.defineProperty,d=(ee,en,er)=>en in ee?eo(ee,en,{enumerable:!0,configurable:!0,writable:!0,value:er}):ee[en]=er,r=(ee,en,er)=>(d(ee,"symbol"!=typeof en?en+"":en,er),er);let o=class o{constructor(){r(this,"current",this.detect()),r(this,"handoffState","pending"),r(this,"currentId",0)}set(ee){this.current!==ee&&(this.handoffState="pending",this.currentId=0,this.current=ee)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}};let ei=new o},84575:function(ee,en,er){"use strict";er.d(en,{EO:function(){return _},TO:function(){return em},fE:function(){return ex},jA:function(){return O},sP:function(){return h},tJ:function(){return ev},wI:function(){return D},z2:function(){return I}});var eo,ei,es,eu,ec,ed=er(9362),ep=er(32984),ef=er(15466);let eh=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(ee=>`${ee}:not([tabindex='-1'])`).join(",");var em=((eo=em||{})[eo.First=1]="First",eo[eo.Previous=2]="Previous",eo[eo.Next=4]="Next",eo[eo.Last=8]="Last",eo[eo.WrapAround=16]="WrapAround",eo[eo.NoScroll=32]="NoScroll",eo),ex=((ei=ex||{})[ei.Error=0]="Error",ei[ei.Overflow=1]="Overflow",ei[ei.Success=2]="Success",ei[ei.Underflow=3]="Underflow",ei),eg=((es=eg||{})[es.Previous=-1]="Previous",es[es.Next=1]="Next",es);function f(ee=document.body){return null==ee?[]:Array.from(ee.querySelectorAll(eh)).sort((ee,en)=>Math.sign((ee.tabIndex||Number.MAX_SAFE_INTEGER)-(en.tabIndex||Number.MAX_SAFE_INTEGER)))}var ev=((eu=ev||{})[eu.Strict=0]="Strict",eu[eu.Loose=1]="Loose",eu);function h(ee,en=0){var er;return ee!==(null==(er=(0,ef.r)(ee))?void 0:er.body)&&(0,ep.E)(en,{0:()=>ee.matches(eh),1(){let en=ee;for(;null!==en;){if(en.matches(eh))return!0;en=en.parentElement}return!1}})}function D(ee){let en=(0,ef.r)(ee);(0,ed.k)().nextFrame(()=>{en&&!h(en.activeElement,0)&&y(ee)})}var ey=((ec=ey||{})[ec.Keyboard=0]="Keyboard",ec[ec.Mouse=1]="Mouse",ec);function y(ee){null==ee||ee.focus({preventScroll:!0})}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("keydown",ee=>{ee.metaKey||ee.altKey||ee.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",ee=>{1===ee.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===ee.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));let eb="textarea,input";function H(ee){var en,er;return null!=(er=null==(en=null==ee?void 0:ee.matches)?void 0:en.call(ee,eb))&&er}function I(ee,en=ee=>ee){return ee.slice().sort((ee,er)=>{let eo=en(ee),ei=en(er);if(null===eo||null===ei)return 0;let es=eo.compareDocumentPosition(ei);return es&Node.DOCUMENT_POSITION_FOLLOWING?-1:es&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function _(ee,en){return O(f(),en,{relativeTo:ee})}function O(ee,en,{sorted:er=!0,relativeTo:eo=null,skipElements:ei=[]}={}){let es=Array.isArray(ee)?ee.length>0?ee[0].ownerDocument:document:ee.ownerDocument,eu=Array.isArray(ee)?er?I(ee):ee:f(ee);ei.length>0&&eu.length>1&&(eu=eu.filter(ee=>!ei.includes(ee))),eo=null!=eo?eo:es.activeElement;let ec=(()=>{if(5&en)return 1;if(10&en)return -1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),ed=(()=>{if(1&en)return 0;if(2&en)return Math.max(0,eu.indexOf(eo))-1;if(4&en)return Math.max(0,eu.indexOf(eo))+1;if(8&en)return eu.length-1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),ep=32&en?{preventScroll:!0}:{},ef=0,eh=eu.length,em;do{if(ef>=eh||ef+eh<=0)return 0;let ee=ed+ef;if(16&en)ee=(ee+eh)%eh;else{if(ee<0)return 3;if(ee>=eh)return 1}null==(em=eu[ee])||em.focus(ep),ef+=ec}while(em!==es.activeElement);return 6&en&&H(em)&&em.select(),2}},32984:function(ee,en,er){"use strict";function u(ee,en,...er){if(ee in en){let eo=en[ee];return"function"==typeof eo?eo(...er):eo}let eo=Error(`Tried to handle "${ee}" but there is no handler defined. Only defined handlers are: ${Object.keys(en).map(ee=>`"${ee}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(eo,u),eo}er.d(en,{E:function(){return u}})},81021:function(ee,en,er){"use strict";function t(ee){"function"==typeof queueMicrotask?queueMicrotask(ee):Promise.resolve().then(ee).catch(ee=>setTimeout(()=>{throw ee}))}er.d(en,{Y:function(){return t}})},15466:function(ee,en,er){"use strict";er.d(en,{r:function(){return e}});var eo=er(77896);function e(ee){return eo.O.isServer?null:ee instanceof Node?ee.ownerDocument:null!=ee&&ee.hasOwnProperty("current")&&ee.current instanceof Node?ee.current.ownerDocument:document}},12351:function(ee,en,er){"use strict";er.d(en,{AN:function(){return ed},l4:function(){return ep},oA:function(){return R},sY:function(){return X},yV:function(){return D}});var eo,ei,es=er(67294),eu=er(44067),ec=er(32984),ed=((eo=ed||{})[eo.None=0]="None",eo[eo.RenderStrategy=1]="RenderStrategy",eo[eo.Static=2]="Static",eo),ep=((ei=ep||{})[ei.Unmount=0]="Unmount",ei[ei.Hidden=1]="Hidden",ei);function X({ourProps:ee,theirProps:en,slot:er,defaultTag:eo,features:ei,visible:es=!0,name:eu}){let ed=N(en,ee);if(es)return c(ed,er,eo,eu);let ep=null!=ei?ei:0;if(2&ep){let{static:ee=!1,...en}=ed;if(ee)return c(en,er,eo,eu)}if(1&ep){let{unmount:ee=!0,...en}=ed;return(0,ec.E)(ee?0:1,{0:()=>null,1:()=>c({...en,hidden:!0,style:{display:"none"}},er,eo,eu)})}return c(ed,er,eo,eu)}function c(ee,en={},er,eo){let{as:ei=er,children:ec,refName:ed="ref",...ep}=g(ee,["unmount","static"]),ef=void 0!==ee.ref?{[ed]:ee.ref}:{},eh="function"==typeof ec?ec(en):ec;"className"in ep&&ep.className&&"function"==typeof ep.className&&(ep.className=ep.className(en));let em={};if(en){let ee=!1,er=[];for(let[eo,ei]of Object.entries(en))"boolean"==typeof ei&&(ee=!0),!0===ei&&er.push(eo);ee&&(em["data-headlessui-state"]=er.join(" "))}if(ei===es.Fragment&&Object.keys(R(ep)).length>0){if(!(0,es.isValidElement)(eh)||Array.isArray(eh)&&eh.length>1)throw Error(['Passing props on "Fragment"!',"",`The current component <${eo} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(ep).map(ee=>` - ${ee}`).join(` + `}),ei]})]})}var rZ={link:(0,eC.Z)("nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg"),icon:(0,eC.Z)("nx-inline nx-h-5 nx-shrink-0")},NavLinks=({flatDirectories:ee,currentIndex:en})=>{let er=useConfig(),eo=er.navigation,ei="boolean"==typeof eo?{prev:eo,next:eo}:eo,es=ei.prev&&ee[en-1],eu=ei.next&&ee[en+1];return(es&&!es.isUnderCurrentDocsTree&&(es=!1),eu&&!eu.isUnderCurrentDocsTree&&(eu=!1),es||eu)?(0,tC.jsxs)("div",{className:(0,eC.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[es&&(0,tC.jsxs)(rS,{href:es.route,title:es.title,className:(0,eC.Z)(rZ.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,tC.jsx)(eS.LZ,{className:(0,eC.Z)(rZ.icon,"ltr:nx-rotate-180")}),es.title]}),eu&&(0,tC.jsxs)(rS,{href:eu.route,title:eu.title,className:(0,eC.Z)(rZ.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[eu.title,(0,tC.jsx)(eS.LZ,{className:(0,eC.Z)(rZ.icon,"rtl:nx-rotate-180")})]})]}):null},rM={link:(0,eC.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,eC.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,eC.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function NavbarMenu({className:ee,menu:en,children:er}){let{items:eo}=en,ei=Object.fromEntries((en.children||[]).map(ee=>[ee.name,ee]));return(0,tC.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,tC.jsxs)(rr,{children:[(0,tC.jsx)(rr.Button,{className:(0,eC.Z)(ee,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",rM.inactive),children:er}),(0,tC.jsx)(nT,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,tC.jsx)(rr.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",tabIndex:0,children:Object.entries(eo||{}).map(([ee,er])=>{var eo;return(0,tC.jsx)(rr.Item,{children:(0,tC.jsx)(rS,{href:er.href||(null==(eo=ei[ee])?void 0:eo.route)||en.route+"/"+ee,className:(0,eC.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:er.newWindow,children:er.title||ee})},ee)})})})]})})}function Navbar({flatDirectories:ee,items:en}){let er=useConfig(),eo=useFSRoute(),{menu:ei,setMenu:es}=useMenu();return(0,tC.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,tC.jsx)("div",{className:(0,eC.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,tC.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[er.logoLink?(0,tC.jsx)(rS,{href:"string"==typeof er.logoLink?er.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(er.logo)}):(0,tC.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(er.logo)}),en.map(ee=>{if("hidden"===ee.display)return null;if("menu"===ee.type){let en=ee;return(0,tC.jsxs)(NavbarMenu,{className:(0,eC.Z)(rM.link,"nx-flex nx-gap-1",rM.inactive),menu:en,children:[en.title,(0,tC.jsx)(eS.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},en.title)}let en=ee,er=en.href||en.route||"#";en.children&&(er=(en.withIndexPage?en.route:en.firstChildRoute)||er);let ei=en.route===eo||eo.startsWith(en.route+"/");return(0,tC.jsxs)(rS,{href:er,className:(0,eC.Z)(rM.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!ei||en.newWindow?rM.inactive:rM.active),newWindow:en.newWindow,"aria-current":!en.newWindow&&ei,children:[(0,tC.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:en.title}),(0,tC.jsx)("span",{className:"nx-invisible nx-font-medium",children:en.title})]},er)}),renderComponent(er.search.component,{directories:ee,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),er.project.link?(0,tC.jsx)(rS,{className:"nx-p-2 nx-text-current",href:er.project.link,newWindow:!0,children:renderComponent(er.project.icon)}):null,er.chat.link?(0,tC.jsx)(rS,{className:"nx-p-2 nx-text-current",href:er.chat.link,newWindow:!0,children:renderComponent(er.chat.icon)}):null,renderComponent(er.navbar.extraContent),(0,tC.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>es(!ei),children:(0,tC.jsx)(eS.Oq,{className:(0,eC.Z)({open:ei})})})]})]})}var rA=Object.create(null),rL=(0,ek.createContext)(null),rD=(0,ek.createContext)(null),rF=(0,ek.createContext)(0),rz=(0,ek.memo)(function(ee){let en=(0,ek.useContext)(rF);return(0,tC.jsx)(rF.Provider,{value:en+1,children:(0,tC.jsx)(FolderImpl,__spreadValues({},ee))})}),rV={link:(0,eC.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,eC.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,eC.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,eC.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,eC.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function FolderImpl({item:ee,anchors:en}){let er=useFSRoute(),[eo]=er.split("#"),ei=[eo,eo+"/"].includes(ee.route+"/"),es=ei||eo.startsWith(ee.route+"/"),eu=(0,ek.useContext)(rL),ec=!!(null==eu?void 0:eu.startsWith(ee.route+"/")),ed=(0,ek.useContext)(rF),{setMenu:ep}=useMenu(),ef=useConfig(),{theme:eh}=ee,em=void 0===rA[ee.route]?ei||es||ec||(eh&&"collapsed"in eh?!eh.collapsed:ed{let updateTreeState=()=>{(es||ec)&&(rA[ee.route]=!0)},updateAndPruneTreeState=()=>{es&&ec?rA[ee.route]=!0:delete rA[ee.route]};ef.sidebar.autoCollapse?updateAndPruneTreeState():updateTreeState()},[es,ec,ee.route,ef.sidebar.autoCollapse]),"menu"===ee.type){let en=ee,er=Object.fromEntries((en.children||[]).map(ee=>[ee.name,ee]));ee.children=Object.entries(en.items||{}).map(([ee,eo])=>{let ei=er[ee]||__spreadProps(__spreadValues({name:ee},"locale"in en&&{locale:en.locale}),{route:en.route+"/"+ee});return __spreadValues(__spreadValues({},ei),eo)})}let eg="withIndexPage"in ee&&ee.withIndexPage,ev=eg?rS:"button";return(0,tC.jsxs)("li",{className:(0,eC.Z)({open:em,active:ei}),children:[(0,tC.jsxs)(ev,{href:eg?ee.route:void 0,className:(0,eC.Z)("nx-items-center nx-justify-between nx-gap-2",!eg&&"nx-text-left nx-w-full",rV.link,ei?rV.active:rV.inactive),onClick:en=>{let er=["svg","path"].includes(en.target.tagName.toLowerCase());if(er&&en.preventDefault(),eg){ei||er?rA[ee.route]=!em:(rA[ee.route]=!0,ep(!1)),ex({});return}ei||(rA[ee.route]=!em,ex({}))},children:[renderComponent(ef.sidebar.titleComponent,{title:ee.title,type:ee.type,route:ee.route}),(0,tC.jsx)(eS.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,eC.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",em&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,tC.jsx)(Collapse,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:em,children:Array.isArray(ee.children)?(0,tC.jsx)(Menu2,{className:(0,eC.Z)(rV.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:ee.children,base:ee.route,anchors:en}):null})]})}function Separator({title:ee}){let en=useConfig();return(0,tC.jsx)("li",{className:(0,eC.Z)("[word-break:break-word]",ee?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:ee?renderComponent(en.sidebar.titleComponent,{title:ee,type:"separator",route:""}):(0,tC.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function File({item:ee,anchors:en}){let er=useFSRoute(),eo=(0,ek.useContext)(rD),ei=ee.route&&[er,er+"/"].includes(ee.route+"/"),es=useActiveAnchor(),{setMenu:eu}=useMenu(),ec=useConfig();return"separator"===ee.type?(0,tC.jsx)(Separator,{title:ee.title}):(0,tC.jsxs)("li",{className:(0,eC.Z)(rV.list,{active:ei}),children:[(0,tC.jsx)(rS,{href:ee.href||ee.route,newWindow:ee.newWindow,className:(0,eC.Z)(rV.link,ei?rV.active:rV.inactive),onClick:()=>{eu(!1)},onFocus:()=>{null==eo||eo(ee.route)},onBlur:()=>{null==eo||eo(null)},children:renderComponent(ec.sidebar.titleComponent,{title:ee.title,type:ee.type,route:ee.route})}),ei&&en.length>0&&(0,tC.jsx)("ul",{className:(0,eC.Z)(rV.list,rV.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:en.map(({id:ee,value:en})=>{var er;return(0,tC.jsx)("li",{children:(0,tC.jsx)("a",{href:`#${ee}`,className:(0,eC.Z)(rV.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(er=es[ee])?void 0:er.isActive)?rV.active:rV.inactive),onClick:()=>{eu(!1)},children:en})},ee)})})]})}function Menu2({directories:ee,anchors:en,className:er,onlyCurrentDocs:eo}){return(0,tC.jsx)("ul",{className:(0,eC.Z)(rV.list,er),children:ee.map(ee=>!eo||ee.isUnderCurrentDocsTree?"menu"===ee.type||ee.children&&(ee.children.length||!ee.withIndexPage)?(0,tC.jsx)(rz,{item:ee,anchors:en},ee.name):(0,tC.jsx)(File,{item:ee,anchors:en},ee.name):null)})}function Sidebar({docsDirectories:ee,flatDirectories:en,fullDirectories:er,asPopover:eo=!1,headings:ei,includePlaceholder:es}){let eu=useConfig(),{menu:ec,setMenu:ed}=useMenu(),ep=(0,ew.useRouter)(),[ef,eh]=(0,ek.useState)(null),[em,ex]=(0,ek.useState)(!0),[eg,ev]=(0,ek.useState)(!1),ey=(0,ek.useMemo)(()=>ei.filter(ee=>2===ee.depth),[ei]),eb=(0,ek.useRef)(null),e_=(0,ek.useRef)(null),eT=useMounted();(0,ek.useEffect)(()=>{ec?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[ec]),(0,ek.useEffect)(()=>{var ee;let en=null==(ee=eb.current)?void 0:ee.querySelector("li.active");if(en&&(window.innerWidth>767||ec)){let scroll=()=>{dist_e(en,{block:"center",inline:"center",scrollMode:"always",boundary:e_.current})};ec?setTimeout(scroll,300):scroll()}},[ec]),(0,ek.useEffect)(()=>{ed(!1)},[ep.asPath,ed]);let eE=eu.i18n.length>0,eO=eu.darkMode||eE||eu.sidebar.toggleButton;return(0,tC.jsxs)(tC.Fragment,{children:[es&&eo?(0,tC.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,tC.jsx)("div",{className:(0,eC.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",ec?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>ed(!1)}),(0,tC.jsxs)("aside",{className:(0,eC.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",em?"md:nx-w-64":"md:nx-w-20",eo?"md:nx-hidden":"md:nx-sticky md:nx-self-start",ec?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:e_,children:[(0,tC.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:renderComponent(eu.search.component,{directories:en})}),(0,tC.jsx)(rL.Provider,{value:ef,children:(0,tC.jsx)(rD.Provider,{value:ee=>{eh(ee)},children:(0,tC.jsxs)("div",{className:(0,eC.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",em?"nextra-scrollbar":"no-scrollbar"),ref:eb,children:[(!eo||!em)&&(0,tC.jsx)(Collapse,{isOpen:em,horizontal:!0,children:(0,tC.jsx)(Menu2,{className:"nextra-menu-desktop max-md:nx-hidden",directories:ee,anchors:eu.toc.float?[]:ey,onlyCurrentDocs:!0})}),eT&&window.innerWidth<768&&(0,tC.jsx)(Menu2,{className:"nextra-menu-mobile md:nx-hidden",directories:er,anchors:ey})]})})}),eO&&(0,tC.jsxs)("div",{className:(0,eC.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",em?(0,eC.Z)(eE&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":eg?em?"show":"hide":"off",children:[(0,tC.jsx)(LocaleSwitch,{lite:!em,className:(0,eC.Z)(em?"nx-grow":"max-md:nx-grow")}),eu.darkMode&&(0,tC.jsx)("div",{className:em&&!eE?"nx-grow nx-flex nx-flex-col":"",children:renderComponent(eu.themeSwitch.component,{lite:!em||eE})}),eu.sidebar.toggleButton&&(0,tC.jsx)("button",{title:em?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{ex(!em),ev(!0)},children:(0,tC.jsx)(eS.Qq,{isOpen:em})})]})]})]})}var rU="reach-skip-nav",rH="Skip to content";(0,ek.forwardRef)(function(ee,en){var er=ee,{className:eo,id:ei,label:es=rH,styled:eu}=er,ec=__objRest(er,["className","id","label","styled"]);let ed=void 0===eo?eu?(0,eC.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":eo;return(0,tC.jsx)("a",__spreadProps(__spreadValues({},ec),{ref:en,href:`#${ei||rU}`,className:ed,"data-reach-skip-link":"",children:es}))}).displayName="SkipNavLink";var r$=(0,ek.forwardRef)(function(ee,en){var er=ee,{id:eo}=er,ei=__objRest(er,["id"]);return(0,tC.jsx)("div",__spreadProps(__spreadValues({},ei),{ref:en,id:eo||rU}))});r$.displayName="SkipNavContent";var rB=tb.strictObject({light:tb.string(),dark:tb.string(),system:tb.string()});function ThemeSwitch({lite:ee,className:en}){let{setTheme:er,resolvedTheme:eo,theme:ei=""}=y(),es=useMounted(),eu=useConfig().themeSwitch,ec=es&&"dark"===eo?eS.kL:eS.NW,ed="function"==typeof eu.useOptions?eu.useOptions():eu.useOptions;return(0,tC.jsx)(Select,{className:en,title:"Change theme",options:[{key:"light",name:ed.light},{key:"dark",name:ed.dark},{key:"system",name:ed.system}],onChange:ee=>{er(ee.key)},selected:{key:ei,name:(0,tC.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,tC.jsx)(ec,{}),(0,tC.jsx)("span",{className:ee?"md:nx-hidden":"",children:es?ed[ei]:ed.light})]})}})}function scrollToTop(){window.scrollTo({top:0,behavior:"smooth"})}function BackToTop({className:ee}){let en=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{function toggleVisible(){var ee;let{scrollTop:er}=document.documentElement;null==(ee=en.current)||ee.classList.toggle("nx-opacity-0",er<300)}return window.addEventListener("scroll",toggleVisible),()=>{window.removeEventListener("scroll",toggleVisible)}},[]),(0,tC.jsxs)("button",{ref:en,"aria-hidden":"true",onClick:scrollToTop,className:(0,eC.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",ee),children:["Scroll to top",(0,tC.jsx)(eS.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var rW=(0,eC.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function TOC({headings:ee,filePath:en}){var er;let eo=useActiveAnchor(),ei=useConfig(),es=(0,ek.useRef)(null),eu=(0,ek.useMemo)(()=>ee.filter(ee=>ee.depth>1),[ee]),ec=eu.length>0,ed=!!(ei.feedback.content||ei.editLink.component||ei.toc.extraContent),ep=null==(er=Object.entries(eo).find(([,{isActive:ee}])=>ee))?void 0:er[0];return(0,ek.useEffect)(()=>{var ee;if(!ep)return;let en=null==(ee=es.current)?void 0:ee.querySelector(`li > a[href="#${ep}"]`);en&&dist_e(en,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:es.current})},[ep]),(0,tC.jsxs)("div",{ref:es,className:(0,eC.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[ec&&(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:renderComponent(ei.toc.title)}),(0,tC.jsx)("ul",{children:eu.map(({id:ee,value:en,depth:er})=>{var es,eu,ec,ed;return(0,tC.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,tC.jsx)("a",{href:`#${ee}`,className:(0,eC.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[er],"nx-inline-block",(null==(es=eo[ee])?void 0:es.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(ed=null==(ec=(eu=ei.toc).headingComponent)?void 0:ec.call(eu,{id:ee,children:en}))?ed:en})},ee)})})]}),ed&&(0,tC.jsxs)("div",{className:(0,eC.Z)(ec&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[ei.feedback.content?(0,tC.jsx)(rS,{className:rW,href:ei.feedback.useLink(),newWindow:!0,children:renderComponent(ei.feedback.content)}):null,renderComponent(ei.editLink.component,{filePath:en,className:rW,children:renderComponent(ei.editLink.text)}),renderComponent(ei.toc.extraContent),ei.toc.backToTop&&(0,tC.jsx)(BackToTop,{className:rW})]})]})}function MatchSorterSearch({className:ee,directories:en}){let[er,eo]=(0,ek.useState)(""),ei=(0,ek.useMemo)(()=>er?matchSorter(en,er,{keys:["title"]}).map(({route:ee,title:en})=>({id:ee+en,route:ee,children:(0,tC.jsx)(rj,{value:en,match:er})})):[],[er,en]);return(0,tC.jsx)(Search,{value:er,onChange:eo,className:ee,overlayClassName:"nx-w-full",results:ei})}var rG="en-US",rK="undefined"!=typeof window;function isReactNode(ee){return null==ee||"string"==typeof ee||isFunction(ee)||(0,ek.isValidElement)(ee)}function isFunction(ee){return"function"==typeof ee}var rq=tb.array(tb.strictObject({direction:tb.enum(["ltr","rtl"]).optional(),locale:tb.string(),text:tb.string()})),rY=[isReactNode,{message:"Must be React.ReactNode or React.FC"}],rQ=[isFunction,{message:"Must be React.FC"}];tb.strictObject({banner:tb.strictObject({dismissible:tb.boolean(),key:tb.string(),text:tb.custom(...rY).optional()}),chat:tb.strictObject({icon:tb.custom(...rY),link:tb.string().startsWith("https://").optional()}),components:tb.record(tb.custom(...rQ)).optional(),darkMode:tb.boolean(),direction:tb.enum(["ltr","rtl"]),docsRepositoryBase:tb.string().startsWith("https://"),editLink:tb.strictObject({component:tb.custom(...rQ),text:tb.custom(...rY)}),faviconGlyph:tb.string().optional(),feedback:tb.strictObject({content:tb.custom(...rY),labels:tb.string(),useLink:tb.function().returns(tb.string())}),footer:tb.strictObject({component:tb.custom(...rY),text:tb.custom(...rY)}),gitTimestamp:tb.custom(...rY),head:tb.custom(...rY),i18n:rq,logo:tb.custom(...rY),logoLink:tb.boolean().or(tb.string()),main:tb.custom(...rQ).optional(),navbar:tb.strictObject({component:tb.custom(...rY),extraContent:tb.custom(...rY).optional()}),navigation:tb.boolean().or(tb.strictObject({next:tb.boolean(),prev:tb.boolean()})),nextThemes:tb.strictObject({defaultTheme:tb.string(),forcedTheme:tb.string().optional(),storageKey:tb.string()}),notFound:tb.strictObject({content:tb.custom(...rY),labels:tb.string()}),primaryHue:tb.number().or(tb.strictObject({dark:tb.number(),light:tb.number()})),primarySaturation:tb.number().or(tb.strictObject({dark:tb.number(),light:tb.number()})),project:tb.strictObject({icon:tb.custom(...rY),link:tb.string().startsWith("https://").optional()}),search:tb.strictObject({component:tb.custom(...rY),emptyResult:tb.custom(...rY),error:tb.string().or(tb.function().returns(tb.string())),loading:tb.custom(...rY),placeholder:tb.string().or(tb.function().returns(tb.string()))}),serverSideError:tb.strictObject({content:tb.custom(...rY),labels:tb.string()}),sidebar:tb.strictObject({autoCollapse:tb.boolean().optional(),defaultMenuCollapseLevel:tb.number().min(1).int(),titleComponent:tb.custom(...rY),toggleButton:tb.boolean()}),themeSwitch:tb.strictObject({component:tb.custom(...rY),useOptions:rB.or(tb.function().returns(rB))}),toc:tb.strictObject({backToTop:tb.boolean(),component:tb.custom(...rY),extraContent:tb.custom(...rY),float:tb.boolean(),headingComponent:tb.custom(...rQ).optional(),title:tb.custom(...rY)}),useNextSeoProps:tb.custom(isFunction)}).deepPartial().extend({i18n:rq.optional()});var rX={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},rJ={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},r0={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)(eS.D7,{}),(0,tC.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:ee,filePath:en,children:er}){let eo=useGitEditUrl(en);return eo?(0,tC.jsx)(rS,{className:ee,href:eo,children:er}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let ee=useConfig();return getGitIssueUrl({labels:ee.feedback.labels,repository:ee.docsRepositoryBase,title:`Feedback for \u201C${ee.title}\u201D`})}},footer:{component:Footer,text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:ee}){let{locale:en=rG}=(0,ew.useRouter)();return(0,tC.jsxs)(tC.Fragment,{children:["Last updated on"," ",(0,tC.jsx)("time",{dateTime:ee.toISOString(),children:ee.toLocaleDateString(en,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,tC.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,tC.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,tC.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,tC.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,tC.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,tC.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,tC.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,tC.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:Navbar},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,tC.jsxs)(tC.Fragment,{children:[(0,tC.jsx)(eS.fy,{}),(0,tC.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:ee,directories:en}){let er=useConfig();return er.flexsearch?(0,tC.jsx)(Flexsearch,{className:ee}):(0,tC.jsx)(MatchSorterSearch,{className:ee,directories:en})},emptyResult:(0,tC.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:ee,defaultLocale:en=rG}=(0,ew.useRouter)(),er=ee&&rX[ee]||rX[en];return(0,tC.jsxs)(tC.Fragment,{children:[er,"…"]})},placeholder:function(){let{locale:ee,defaultLocale:en=rG}=(0,ew.useRouter)(),er=ee&&rJ[ee]||rJ[en];return`${er}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:ee})=>(0,tC.jsx)(tC.Fragment,{children:ee}),toggleButton:!1},themeSwitch:{component:ThemeSwitch,useOptions(){let{locale:ee}=(0,ew.useRouter)();return"zh-CN"===ee?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:TOC,float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},r1=Object.entries(r0).map(([ee,en])=>{let er=en&&"object"==typeof en&&!Array.isArray(en)&&!(0,ek.isValidElement)(en);if(er)return ee}).filter(Boolean);if(rK){let ee;let addResizingClass=()=>{document.body.classList.add("resizing"),clearTimeout(ee),ee=setTimeout(()=>{document.body.classList.remove("resizing")},200)};window.addEventListener("resize",addResizingClass)}function HeadingLink(ee){var en=ee,{tag:er,context:eo,children:ei,id:es,className:eu}=en,ec=__objRest(en,["tag","context","children","id","className"]);let ed=useSetActiveAnchor(),ep=useSlugs(),ef=useIntersectionObserver(),eh=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{if(!es)return;let ee=eh.current;if(ee)return ep.set(ee,[es,eo.index+=1]),null==ef||ef.observe(ee),()=>{null==ef||ef.disconnect(),ep.delete(ee),ed(ee=>{let en=__spreadValues({},ee);return delete en[es],en})}},[es,eo,ep,ef,ed]),(0,tC.jsxs)(er,__spreadProps(__spreadValues({className:"sr-only"===eu?"nx-sr-only":(0,eC.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[er])},ec),{children:[ei,es&&(0,tC.jsx)("a",{href:`#${es}`,id:es,className:"subheading-anchor","aria-label":"Permalink for this section",ref:eh})]}))}var findSummary=ee=>{let en=null,er=[];return ek.Children.forEach(ee,(ee,eo)=>{var ei;if(ee&&ee.type===Summary){en||(en=ee);return}let es=ee;if(!en&&ee&&"object"==typeof ee&&ee.type!==Details&&"props"in ee&&ee.props){let er=findSummary(ee.props.children);en=er[0],es=(0,ek.cloneElement)(ee,__spreadProps(__spreadValues({},ee.props),{children:(null==(ei=er[1])?void 0:ei.length)?er[1]:void 0,key:eo}))}er.push(es)}),[en,er]},Details=ee=>{var en=ee,{children:er,open:eo}=en,ei=__objRest(en,["children","open"]);let[es,eu]=(0,ek.useState)(!!eo),[ec,ed]=findSummary(er),[ep,ef]=(0,ek.useState)(es);return(0,ek.useEffect)(()=>{if(es)ef(!0);else{let ee=setTimeout(()=>ef(es),500);return()=>clearTimeout(ee)}},[es]),(0,tC.jsxs)("details",__spreadProps(__spreadValues(__spreadProps(__spreadValues({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},ei),{open:ep}),es&&{"data-expanded":!0}),{children:[(0,tC.jsx)(rE,{value:eu,children:ec}),(0,tC.jsx)(Collapse,{isOpen:es,children:ed})]}))},Summary=ee=>{let en=useDetails();return(0,tC.jsx)("summary",__spreadProps(__spreadValues({className:(0,eC.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},ee),{onClick:ee=>{ee.preventDefault(),en(ee=>!ee)}}))},r2=/https?:\/\//,Link=ee=>{var en=ee,{href:er="",className:eo}=en,ei=__objRest(en,["href","className"]);return(0,tC.jsx)(rS,__spreadValues({href:er,newWindow:r2.test(er),className:(0,eC.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",eo)},ei))},A=ee=>{var en=ee,{href:er=""}=en,eo=__objRest(en,["href"]);return(0,tC.jsx)(rS,__spreadValues({href:er,newWindow:r2.test(er)},eo))},getComponents=({isRawLayout:ee,components:en})=>{if(ee)return{a:A};let er={index:0};return __spreadValues({h1:ee=>(0,tC.jsx)("h1",__spreadValues({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},ee)),h2:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h2",context:er},ee)),h3:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h3",context:er},ee)),h4:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h4",context:er},ee)),h5:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h5",context:er},ee)),h6:ee=>(0,tC.jsx)(HeadingLink,__spreadValues({tag:"h6",context:er},ee)),ul:ee=>(0,tC.jsx)("ul",__spreadValues({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},ee)),ol:ee=>(0,tC.jsx)("ol",__spreadValues({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},ee)),li:ee=>(0,tC.jsx)("li",__spreadValues({className:"nx-my-2"},ee)),blockquote:ee=>(0,tC.jsx)("blockquote",__spreadValues({className:(0,eC.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},ee)),hr:ee=>(0,tC.jsx)("hr",__spreadValues({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},ee)),a:Link,table:ee=>(0,tC.jsx)(rc.iA,__spreadValues({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},ee)),p:ee=>(0,tC.jsx)("p",__spreadValues({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},ee)),tr:rc.Tr,th:rc.Th,td:rc.Td,details:Details,summary:Summary,pre:rc.SU,code:rc.EK},en)},r4={toc:(0,eC.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,eC.Z)("nx-w-full nx-break-words")},Body=({themeContext:ee,breadcrumb:en,timestamp:er,navigation:eo,children:ei})=>{var es;let eu=useConfig(),ec=useMounted();if("raw"===ee.layout)return(0,tC.jsx)("div",{className:r4.main,children:ei});let ed=ee.timestamp&&eu.gitTimestamp&&er?new Date(er):null,ep=ec&&ed?(0,tC.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:renderComponent(eu.gitTimestamp,{timestamp:ed})}):(0,tC.jsx)("div",{className:"nx-mt-16"}),ef=(0,tC.jsxs)(tC.Fragment,{children:[ei,ep,eo]}),eh=(null==(es=eu.main)?void 0:es.call(eu,{children:ef}))||ef;return"full"===ee.layout?(0,tC.jsx)("article",{className:(0,eC.Z)(r4.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:eh}):(0,tC.jsx)("article",{className:(0,eC.Z)(r4.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===ee.typesetting&&"nextra-body-typesetting-article"),children:(0,tC.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[en,eh]})})},InnerLayout=({filePath:ee,pageMap:en,frontMatter:er,headings:eo,timestamp:ei,children:es})=>{let eu=useConfig(),{locale:ec=rG,defaultLocale:ed}=(0,ew.useRouter)(),ep=useFSRoute(),{activeType:ef,activeIndex:eh,activeThemeContext:em,activePath:ex,topLevelNavbarItems:eg,docsDirectories:ev,flatDirectories:ey,flatDocsDirectories:eb,directories:e_}=(0,ek.useMemo)(()=>normalizePages({list:en,locale:ec,defaultLocale:ed,route:ep}),[en,ec,ed,ep]),eT=__spreadValues(__spreadValues({},em),er),eE=!eT.sidebar||"raw"===eT.layout||"page"===ef,eS="page"!==ef&&eT.toc&&"default"===eT.layout?(0,tC.jsx)("nav",{className:(0,eC.Z)(r4.toc,"nx-px-4"),"aria-label":"table of contents",children:renderComponent(eu.toc.component,{headings:eu.toc.float?eo:[],filePath:ee})}):"full"!==eT.layout&&"raw"!==eT.layout&&(0,tC.jsx)("nav",{className:r4.toc,"aria-label":"table of contents"}),ej=eu.i18n.find(ee=>ee.locale===ec),eI=ej?"rtl"===ej.direction:"rtl"===eu.direction,eP=eI?"rtl":"ltr";return(0,tC.jsxs)("div",{dir:eP,children:[(0,tC.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${eP}')`}}),(0,tC.jsx)(dist_Head,{}),(0,tC.jsx)(Banner,{}),eT.navbar&&renderComponent(eu.navbar.component,{flatDirectories:ey,items:eg}),(0,tC.jsx)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex","raw"!==eT.layout&&"nx-max-w-[90rem]"),children:(0,tC.jsxs)(ActiveAnchorProvider,{children:[(0,tC.jsx)(Sidebar,{docsDirectories:ev,flatDirectories:ey,fullDirectories:e_,headings:eo,asPopover:eE,includePlaceholder:"default"===eT.layout}),eS,(0,tC.jsx)(r$,{}),(0,tC.jsx)(Body,{themeContext:eT,breadcrumb:"page"!==ef&&eT.breadcrumb?(0,tC.jsx)(Breadcrumb,{activePath:ex}):null,timestamp:ei,navigation:"page"!==ef&&eT.pagination?(0,tC.jsx)(NavLinks,{flatDirectories:eb,currentIndex:eh}):null,children:(0,tC.jsx)(eO.Z,{components:getComponents({isRawLayout:"raw"===eT.layout,components:eu.components}),children:es})})]})}),eT.footer&&renderComponent(eu.footer.component,{menu:eE})]})};function Layout(ee){var en=ee,{children:er}=en,eo=__objRest(en,["children"]);return(0,tC.jsx)(ConfigProvider,{value:eo,children:(0,tC.jsx)(InnerLayout,__spreadProps(__spreadValues({},eo.pageOpts),{children:er}))})}},39013:function(ee,en,er){"use strict";er.d(en,{EK:function(){return Code},SU:function(){return Pre},OK:function(){return Tab},iA:function(){return Table},mQ:function(){return eV},Td:function(){return Td},Th:function(){return Th},Tr:function(){return Tr}});var eo,ei,es,eu=er(90512),ec=er(85893),Button=({children:ee,className:en,...er})=>(0,ec.jsx)("button",{className:(0,eu.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",en),...er,children:ee}),ed=er(94861);ed.AV,(0,eu.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),(0,eu.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),(0,eu.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),(0,eu.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200");var ep=er(67294),CopyToClipboard=({getValue:ee,...en})=>{let[er,eo]=(0,ep.useState)(!1);(0,ep.useEffect)(()=>{if(!er)return;let ee=setTimeout(()=>{eo(!1)},2e3);return()=>{clearTimeout(ee)}},[er]);let ei=(0,ep.useCallback)(async()=>{eo(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(ee())}catch{console.error("Failed to copy!")}},[ee]),es=er?ed.nQ:ed.TI;return(0,ec.jsx)(Button,{onClick:ei,title:"Copy code",tabIndex:0,...en,children:(0,ec.jsx)(es,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},Code=({children:ee,className:en,...er})=>{let eo="data-line-numbers"in er;return(0,ec.jsx)("code",{className:(0,eu.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10",eo&&"[counter-reset:line]",en),dir:"ltr",...er,children:ee})},Pre=({children:ee,className:en,hasCopyCode:er,filename:eo,...ei})=>{let es=(0,ep.useRef)(null),ef=(0,ep.useCallback)(()=>{let ee=document.documentElement.dataset,en="nextraWordWrap"in ee;en?delete ee.nextraWordWrap:ee.nextraWordWrap=""},[]);return(0,ec.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[eo&&(0,ec.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:eo}),(0,ec.jsx)("pre",{className:(0,eu.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",eo?"nx-pt-12 nx-pb-4":"nx-py-4",en),ref:es,...ei,children:ee}),(0,ec.jsxs)("div",{className:(0,eu.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",eo?"nx-top-8":"nx-top-0"),children:[(0,ec.jsx)(Button,{onClick:ef,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,ec.jsx)(ed.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),er&&(0,ec.jsx)(CopyToClipboard,{getValue:()=>es.current?.querySelector("code")?.textContent||""})]})]})},ef=er(12351),eh=er(19946),em=er(32984),ex=er(61363),eg=er(84575),ev=er(16723),ey=er(23784),eb=er(14157),e_=er(3855),ew=er(14879),ek=er(46045);function focus_sentinel_A({onFocus:ee}){let[en,er]=(0,ep.useState)(!0),eo=(0,ew.t)();return en?ep.createElement(ek._,{as:"button",type:"button",features:ek.A.Focusable,onFocus:en=>{en.preventDefault();let ei,es=50;function t(){if(es--<=0){ei&&cancelAnimationFrame(ei);return}if(ee()){if(cancelAnimationFrame(ei),!eo.current)return;er(!1);return}ei=requestAnimationFrame(t)}ei=requestAnimationFrame(t)}}):null}var eC=er(64919),eT=er(81021),eE=er(15466);let eO=ep.createContext(null);function a(){return{groups:new Map,get(ee,en){var er;let eo=this.groups.get(ee);eo||(eo=new Map,this.groups.set(ee,eo));let ei=null!=(er=eo.get(en))?er:0;function i(){let ee=eo.get(en);ee>1?eo.set(en,ee-1):eo.delete(en)}return eo.set(en,ei+1),[Array.from(eo.keys()).indexOf(en),i]}}}function stable_collection_C({children:ee}){let en=ep.useRef(a());return ep.createElement(eO.Provider,{value:en},ee)}function stable_collection_d(ee){let en=ep.useContext(eO);if(!en)throw Error("You must wrap your component in a ");let er=f(),[eo,ei]=en.current.get(ee,er);return ep.useEffect(()=>ei,[]),eo}function f(){var ee,en,er;let eo=null!=(er=null==(en=null==(ee=ep.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:ee.ReactCurrentOwner)?void 0:en.current)?er:null;if(!eo)return Symbol();let ei=[],es=eo;for(;es;)ei.push(es.index),es=es.return;return"$."+ei.join(".")}var eS=((eo=eS||{})[eo.Forwards=0]="Forwards",eo[eo.Backwards=1]="Backwards",eo),ej=((ei=ej||{})[ei.Less=-1]="Less",ei[ei.Equal=0]="Equal",ei[ei.Greater=1]="Greater",ei),eI=((es=eI||{})[es.SetSelectedIndex=0]="SetSelectedIndex",es[es.RegisterTab=1]="RegisterTab",es[es.UnregisterTab=2]="UnregisterTab",es[es.RegisterPanel=3]="RegisterPanel",es[es.UnregisterPanel=4]="UnregisterPanel",es);let eP={0(ee,en){var er;let eo=(0,eg.z2)(ee.tabs,ee=>ee.current),ei=(0,eg.z2)(ee.panels,ee=>ee.current),es=eo.filter(ee=>{var en;return!(null!=(en=ee.current)&&en.hasAttribute("disabled"))}),eu={...ee,tabs:eo,panels:ei};if(en.index<0||en.index>eo.length-1){let er=(0,em.E)(Math.sign(en.index-ee.selectedIndex),{[-1]:()=>1,0:()=>(0,em.E)(Math.sign(en.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===es.length)return eu;let ei=(0,em.E)(er,{0:()=>eo.indexOf(es[0]),1:()=>eo.indexOf(es[es.length-1])});return{...eu,selectedIndex:-1===ei?ee.selectedIndex:ei}}let ec=eo.slice(0,en.index),ed=[...eo.slice(en.index),...ec].find(ee=>es.includes(ee));if(!ed)return eu;let ep=null!=(er=eo.indexOf(ed))?er:ee.selectedIndex;return -1===ep&&(ep=ee.selectedIndex),{...eu,selectedIndex:ep}},1(ee,en){var er;if(ee.tabs.includes(en.tab))return ee;let eo=ee.tabs[ee.selectedIndex],ei=(0,eg.z2)([...ee.tabs,en.tab],ee=>ee.current),es=null!=(er=ei.indexOf(eo))?er:ee.selectedIndex;return -1===es&&(es=ee.selectedIndex),{...ee,tabs:ei,selectedIndex:es}},2:(ee,en)=>({...ee,tabs:ee.tabs.filter(ee=>ee!==en.tab)}),3:(ee,en)=>ee.panels.includes(en.panel)?ee:{...ee,panels:(0,eg.z2)([...ee.panels,en.panel],ee=>ee.current)},4:(ee,en)=>({...ee,panels:ee.panels.filter(ee=>ee!==en.panel)})},eN=(0,ep.createContext)(null);function M(ee){let en=(0,ep.useContext)(eN);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,M),en}return en}eN.displayName="TabsDataContext";let eR=(0,ep.createContext)(null);function q(ee){let en=(0,ep.useContext)(eR);if(null===en){let en=Error(`<${ee} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(en,q),en}return en}function fe(ee,en){return(0,em.E)(en.type,eP,ee,en)}eR.displayName="TabsActionsContext";let eZ=ep.Fragment;function me(ee,en){let{defaultIndex:er=0,vertical:eo=!1,manual:ei=!1,onChange:es,selectedIndex:eu=null,...ec}=ee,ed=eo?"vertical":"horizontal",eh=ei?"manual":"auto",em=null!==eu,ex=(0,ey.T)(en),[eb,ew]=(0,ep.useReducer)(fe,{selectedIndex:null!=eu?eu:er,tabs:[],panels:[]}),ek=(0,ep.useMemo)(()=>({selectedIndex:eb.selectedIndex}),[eb.selectedIndex]),eT=(0,e_.E)(es||(()=>{})),eE=(0,e_.E)(eb.tabs),eO=(0,ep.useMemo)(()=>({orientation:ed,activation:eh,...eb}),[ed,eh,eb]),eS=(0,eC.z)(ee=>(ew({type:1,tab:ee}),()=>ew({type:2,tab:ee}))),ej=(0,eC.z)(ee=>(ew({type:3,panel:ee}),()=>ew({type:4,panel:ee}))),eI=(0,eC.z)(ee=>{eP.current!==ee&&eT.current(ee),em||ew({type:0,index:ee})}),eP=(0,e_.E)(em?ee.selectedIndex:eb.selectedIndex),eM=(0,ep.useMemo)(()=>({registerTab:eS,registerPanel:ej,change:eI}),[]);(0,ev.e)(()=>{ew({type:0,index:null!=eu?eu:er})},[eu]),(0,ev.e)(()=>{if(void 0===eP.current||eb.tabs.length<=0)return;let ee=(0,eg.z2)(eb.tabs,ee=>ee.current);ee.some((ee,en)=>eb.tabs[en]!==ee)&&eI(ee.indexOf(eb.tabs[eP.current]))});let eA={ref:ex};return ep.createElement(stable_collection_C,null,ep.createElement(eR.Provider,{value:eM},ep.createElement(eN.Provider,{value:eO},eO.tabs.length<=0&&ep.createElement(focus_sentinel_A,{onFocus:()=>{var ee,en;for(let er of eE.current)if((null==(ee=er.current)?void 0:ee.tabIndex)===0)return null==(en=er.current)||en.focus(),!0;return!1}}),(0,ef.sY)({ourProps:eA,theirProps:ec,slot:ek,defaultTag:eZ,name:"Tabs"}))))}let eM="div";function xe(ee,en){let{orientation:er,selectedIndex:eo}=M("Tab.List"),ei=(0,ey.T)(en);return(0,ef.sY)({ourProps:{ref:ei,role:"tablist","aria-orientation":er},theirProps:ee,slot:{selectedIndex:eo},defaultTag:eM,name:"Tabs.List"})}let eA="button";function ye(ee,en){var er,eo;let ei=(0,eh.M)(),{id:es=`headlessui-tabs-tab-${ei}`,...eu}=ee,{orientation:ec,activation:ed,selectedIndex:e_,tabs:ew,panels:ek}=M("Tab"),eO=q("Tab"),eS=M("Tab"),ej=(0,ep.useRef)(null),eI=(0,ey.T)(ej,en);(0,ev.e)(()=>eO.registerTab(ej),[eO,ej]);let eP=stable_collection_d("tabs"),eN=ew.indexOf(ej);-1===eN&&(eN=eP);let eR=eN===e_,eZ=(0,eC.z)(ee=>{var en;let er=ee();if(er===eg.fE.Success&&"auto"===ed){let ee=null==(en=(0,eE.r)(ej))?void 0:en.activeElement,er=eS.tabs.findIndex(en=>en.current===ee);-1!==er&&eO.change(er)}return er}),eM=(0,eC.z)(ee=>{let en=ew.map(ee=>ee.current).filter(Boolean);if(ee.key===ex.R.Space||ee.key===ex.R.Enter){ee.preventDefault(),ee.stopPropagation(),eO.change(eN);return}switch(ee.key){case ex.R.Home:case ex.R.PageUp:return ee.preventDefault(),ee.stopPropagation(),eZ(()=>(0,eg.jA)(en,eg.TO.First));case ex.R.End:case ex.R.PageDown:return ee.preventDefault(),ee.stopPropagation(),eZ(()=>(0,eg.jA)(en,eg.TO.Last))}if(eZ(()=>(0,em.E)(ec,{vertical:()=>ee.key===ex.R.ArrowUp?(0,eg.jA)(en,eg.TO.Previous|eg.TO.WrapAround):ee.key===ex.R.ArrowDown?(0,eg.jA)(en,eg.TO.Next|eg.TO.WrapAround):eg.fE.Error,horizontal:()=>ee.key===ex.R.ArrowLeft?(0,eg.jA)(en,eg.TO.Previous|eg.TO.WrapAround):ee.key===ex.R.ArrowRight?(0,eg.jA)(en,eg.TO.Next|eg.TO.WrapAround):eg.fE.Error}))===eg.fE.Success)return ee.preventDefault()}),eL=(0,ep.useRef)(!1),eD=(0,eC.z)(()=>{var ee;eL.current||(eL.current=!0,null==(ee=ej.current)||ee.focus({preventScroll:!0}),eO.change(eN),(0,eT.Y)(()=>{eL.current=!1}))}),eF=(0,eC.z)(ee=>{ee.preventDefault()}),ez=(0,ep.useMemo)(()=>({selected:eR}),[eR]),eV={ref:eI,onKeyDown:eM,onMouseDown:eF,onClick:eD,id:es,role:"tab",type:(0,eb.f)(ee,ej),"aria-controls":null==(eo=null==(er=ek[eN])?void 0:er.current)?void 0:eo.id,"aria-selected":eR,tabIndex:eR?0:-1};return(0,ef.sY)({ourProps:eV,theirProps:eu,slot:ez,defaultTag:eA,name:"Tabs.Tab"})}let eL="div";function Ae(ee,en){let{selectedIndex:er}=M("Tab.Panels"),eo=(0,ey.T)(en),ei=(0,ep.useMemo)(()=>({selectedIndex:er}),[er]);return(0,ef.sY)({ourProps:{ref:eo},theirProps:ee,slot:ei,defaultTag:eL,name:"Tabs.Panels"})}let eD="div",eF=ef.AN.RenderStrategy|ef.AN.Static;function Se(ee,en){var er,eo,ei,es;let eu=(0,eh.M)(),{id:ec=`headlessui-tabs-panel-${eu}`,tabIndex:ed=0,...em}=ee,{selectedIndex:ex,tabs:eg,panels:eb}=M("Tab.Panel"),e_=q("Tab.Panel"),ew=(0,ep.useRef)(null),eC=(0,ey.T)(ew,en);(0,ev.e)(()=>e_.registerPanel(ew),[e_,ew]);let eT=stable_collection_d("panels"),eE=eb.indexOf(ew);-1===eE&&(eE=eT);let eO=eE===ex,eS=(0,ep.useMemo)(()=>({selected:eO}),[eO]),ej={ref:eC,id:ec,role:"tabpanel","aria-labelledby":null==(eo=null==(er=eg[eE])?void 0:er.current)?void 0:eo.id,tabIndex:eO?ed:-1};return eO||null!=(ei=em.unmount)&&!ei||null!=(es=em.static)&&es?(0,ef.sY)({ourProps:ej,theirProps:em,slot:eS,defaultTag:eD,features:eF,visible:eO,name:"Tabs.Panel"}):ep.createElement(ek._,{as:"span",...ej})}let ez=Object.assign((0,ef.yV)(ye),{Group:(0,ef.yV)(me),List:(0,ef.yV)(xe),Panels:(0,ef.yV)(Ae),Panel:(0,ef.yV)(Se)});function isTabObjectItem(ee){return!!ee&&"object"==typeof ee&&"label"in ee}function Tab({children:ee,...en}){return(0,ec.jsx)(ez.Panel,{...en,className:"nx-rounded nx-pt-6",children:ee})}var eV=Object.assign(function({items:ee,selectedIndex:en,defaultIndex:er=0,onChange:eo,children:ei,storageKey:es}){let[ed,ef]=(0,ep.useState)(er);(0,ep.useEffect)(()=>{void 0!==en&&ef(en)},[en]),(0,ep.useEffect)(()=>{if(!es)return;function fn(ee){ee.key===es&&ef(Number(ee.newValue))}let ee=Number(localStorage.getItem(es));return ef(Number.isNaN(ee)?0:ee),window.addEventListener("storage",fn),()=>{window.removeEventListener("storage",fn)}},[]);let eh=(0,ep.useCallback)(ee=>{if(es){let en=String(ee);localStorage.setItem(es,en),window.dispatchEvent(new StorageEvent("storage",{key:es,newValue:en}));return}ef(ee),eo?.(ee)},[]);return(0,ec.jsxs)(ez.Group,{selectedIndex:ed,defaultIndex:er,onChange:eh,children:[(0,ec.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,ec.jsx)(ez.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:ee.map((ee,en)=>{let er=isTabObjectItem(ee)&&ee.disabled;return(0,ec.jsx)(ez,{disabled:er,className:({selected:ee})=>(0,eu.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",ee?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",er&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:isTabObjectItem(ee)?ee.label:ee},en)})})}),(0,ec.jsx)(ez.Panels,{children:ei})]})},{displayName:"Tabs",Tab}),Td=({className:ee="",...en})=>(0,ec.jsx)("td",{className:(0,eu.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",ee),...en}),Table=({className:ee="",...en})=>(0,ec.jsx)("table",{className:(0,eu.Z)("nx-block nx-overflow-x-scroll",ee),...en}),Th=({className:ee="",...en})=>(0,ec.jsx)("th",{className:(0,eu.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",ee),...en}),Tr=({className:ee="",...en})=>(0,ec.jsx)("tr",{className:(0,eu.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",ee),...en}),eU=er(41664),eH=er.n(eU),e$={cards:(0,eu.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,eu.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,eu.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},eB=(0,ec.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});Object.assign(function({children:ee,num:en=3,className:er,style:eo,...ei}){return(0,ec.jsx)("div",{className:(0,eu.Z)(e$.cards,er),...ei,style:{...eo,"--rows":en},children:ee})},{displayName:"Cards",Card:function({children:ee,title:en,icon:er,image:eo,arrow:ei,href:es,...ed}){let ep=ei?eB:null;return eo?(0,ec.jsxs)(eH(),{href:es,className:(0,eu.Z)(e$.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...ed,children:[ee,(0,ec.jsxs)("span",{className:(0,eu.Z)(e$.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[er,(0,ec.jsxs)("span",{className:"nx-flex nx-gap-1",children:[en,ep]})]})]}):(0,ec.jsx)(eH(),{href:es,className:(0,eu.Z)(e$.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...ed,children:(0,ec.jsxs)("span",{className:(0,eu.Z)(e$.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[er,en,ep]})})}});var eW=(0,ep.createContext)(0);function useIndent(){return(0,ep.useContext)(eW)}function Tree({children:ee}){return(0,ec.jsx)("div",{className:(0,eu.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,ec.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:ee})})}function Ident(){let ee=useIndent();return(0,ec.jsx)(ec.Fragment,{children:Array.from({length:ee},(ee,en)=>(0,ec.jsx)("span",{className:"nx-w-5"},en))})}var eG=(0,ep.memo)(({label:ee,name:en,open:er,children:eo,defaultOpen:ei=!1,onToggle:es})=>{let eu=useIndent(),[ed,ef]=(0,ep.useState)(ei),eh=(0,ep.useCallback)(()=>{es?.(!ed),ef(!ed)},[ed,es]),em=void 0===er?ed:er;return(0,ec.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,ec.jsxs)("button",{onClick:eh,title:en,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,ec.jsx)(Ident,{}),(0,ec.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,ec.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:em?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,ec.jsx)("span",{className:"nx-ml-1",children:ee??en})]}),em&&(0,ec.jsx)("ul",{children:(0,ec.jsx)(eW.Provider,{value:eu+1,children:eo})})]})});eG.displayName="Folder";var eK=(0,ep.memo)(({label:ee,name:en,active:er})=>(0,ec.jsx)("li",{className:(0,eu.Z)("nx-flex nx-list-none",er&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,ec.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,ec.jsx)(Ident,{}),(0,ec.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,ec.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,ec.jsx)("span",{className:"nx-ml-1",children:ee??en})]})}));eK.displayName="File",Object.assign(Tree,{Folder:eG,File:eK})},94861:function(ee,en,er){"use strict";er.d(en,{LZ:function(){return ArrowRightIcon},nQ:function(){return CheckIcon},TI:function(){return CopyIcon},D7:function(){return DiscordIcon},Qq:function(){return ExpandIcon},fy:function(){return GitHubIcon},n9:function(){return GlobeIcon},AV:function(){return InformationCircleIcon},Oq:function(){return MenuIcon},kL:function(){return MoonIcon},L4:function(){return SpinnerIcon},NW:function(){return SunIcon},NK:function(){return WordWrapIcon},b0:function(){return XIcon}});var eo=er(85893);function ArrowRightIcon({pathClassName:ee,...en}){return(0,eo.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...en,children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:ee})})}function CheckIcon(ee){return(0,eo.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function CopyIcon(ee){return(0,eo.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...ee,children:[(0,eo.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,eo.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function DiscordIcon(ee){return(0,eo.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...ee,children:[(0,eo.jsx)("title",{children:"Discord"}),(0,eo.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function ExpandIcon({isOpen:ee,...en}){return(0,eo.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...en,children:[(0,eo.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:ee?"":"nx-origin-[35%] nx-rotate-180"}),(0,eo.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function GitHubIcon(ee){return(0,eo.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...ee,children:[(0,eo.jsx)("title",{children:"GitHub"}),(0,eo.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function GlobeIcon(ee){return(0,eo.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function InformationCircleIcon(ee){return(0,eo.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function MenuIcon(ee){return(0,eo.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...ee,children:[(0,eo.jsx)("g",{children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,eo.jsx)("g",{children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function MoonIcon(ee){return(0,eo.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...ee,children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function SpinnerIcon(ee){return(0,eo.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...ee,children:[(0,eo.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,eo.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function SunIcon(ee){return(0,eo.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...ee,children:(0,eo.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function WordWrapIcon(ee){return(0,eo.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...ee,children:(0,eo.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function XIcon(ee){return(0,eo.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...ee,children:(0,eo.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},82643:function(ee,en,er){"use strict";er.d(en,{Z:function(){return MDXProvider},a:function(){return mdx_useMDXComponents}});var eo=er(67294);let ei=eo.createContext({});function useMDXComponents(ee){let en=eo.useContext(ei);return eo.useMemo(()=>"function"==typeof ee?ee(en):{...en,...ee},[en,ee])}let es={};function MDXProvider({components:ee,children:en,disableParentContext:er}){let eu;return eu=er?"function"==typeof ee?ee({}):ee||es:useMDXComponents(ee),eo.createElement(ei.Provider,{value:eu},en)}var eu=er(25675),ec=er.n(eu),ed={img:ee=>(0,eo.createElement)("object"==typeof ee.src?ec():"img",ee)},mdx_useMDXComponents=ee=>useMDXComponents({...ed,...ee})},92673:function(ee,en,er){"use strict";er.d(en,{j:function(){return setupNextraPage}});var eo,ei=er(29208),es=er.n(ei),eu=er(47222),ec=er(67294);er(32746),"undefined"!=typeof window&&(window.requestIdleCallback=window.requestIdleCallback||function(ee){var en=Date.now();return setTimeout(function(){ee({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-en))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(ee){clearTimeout(ee)}),er(82643);var ed=er(85893),ep=(0,ec.createContext)(!1),ef=er(11163);function useInternals(){let ee=globalThis[eu.eZ],{route:en}=(0,ef.useRouter)();(0,ec.useState)({})[1];let er=ee.context[en];if(!er)throw Error("No content found for the current route. This is a Nextra bug.");return{context:er,Layout:ee.Layout}}function Nextra({__nextra_pageMap:ee,__nextra_dynamic_opts:en,...er}){let{context:eo,Layout:ei}=useInternals(),{Content:es,...eu}=eo;if(ee&&(eu.pageOpts={...eu.pageOpts,pageMap:ee}),en){let{headings:ee,title:er,frontMatter:eo}=JSON.parse(en);eu.pageOpts={...eu.pageOpts,headings:ee,title:er,frontMatter:eo}}return(0,ed.jsx)(ei,{...eu,pageProps:er,children:(0,ed.jsx)(ep.Provider,{value:er,children:(0,ed.jsx)(es,{...er})})})}var eh=er(1864),em=er(83859),ex=er(2891);function normalizePageRoute(ee,en){return em(eh.join(ee,en.replace(/^index$/,"")))}function pageTitleFromFilename(ee){return ex(ee.replaceAll(/[-_]/g," "))}function isFolder(ee){return!!ee&&"object"==typeof ee&&"folder"===ee.type}function normalizeMetaData(ee){return Object.fromEntries(Object.entries(ee).map(([ee,en])=>{if(isFolder(en)){let er=ee.replace("/","");return[er,en.title||pageTitleFromFilename(er)]}return[ee,en||pageTitleFromFilename(ee)]}))}function collectCatchAllRoutes(ee,en,er=!0){if(er){collectCatchAllRoutes(ee,{kind:"Meta",data:en.data,locale:en.locale},!1),en.data=normalizeMetaData(en.data);return}for(let[er,eo]of Object.entries(en.data)){if(!isFolder(eo)){if("*"===er)continue;ee.children.push({kind:"MdxPage",...en.locale&&{locale:en.locale},name:er,route:normalizePageRoute(ee.route,er)});continue}let ei=er.replace("/",""),es={kind:"Folder",name:ei,route:`${ee.route}/${ei}`,children:[{kind:"Meta",...en.locale&&{locale:en.locale},data:normalizeMetaData(eo.items)}]};ee.children.push(es),collectCatchAllRoutes(es,{kind:"Meta",data:eo.items,locale:en.locale},!1)}}function setupNextraPage({pageNextRoute:ee,pageOpts:en,nextraLayout:er,themeConfig:ei,MDXContent:ec,hot:ed,pageOptsChecksum:ep,dynamicMetaModules:ef=[]}){var eh;"undefined"==typeof window&&(globalThis.__nextra_resolvePageMap=async()=>{if(eo)return eo;let ee=JSON.parse(JSON.stringify(em.pageMap));return await Promise.all(ef.map(async([en,{metaObjectKeyPath:er,metaParentKeyPath:eo}])=>{let ei=await en,eu=await ei.default(),ec=es()(ee,er);ec.data=eu;let ed=es()(ee,eo);collectCatchAllRoutes(ed,ec)})),eo=ee});let em=globalThis[eh=eu.eZ]||(globalThis[eh]=Object.create(null));return en.pageMap?(em.pageMap=en.pageMap,em.Layout=er):(en={...en,pageMap:em.pageMap,flexsearch:em.flexsearch},ei=em.themeConfig),en={frontMatter:{},...en},em.route=en.route,em.context||(em.context=Object.create(null)),em.context[ee]={Content:ec,pageOpts:en,themeConfig:ei},Nextra}},16008:function(ee,en,er){"use strict";var eo=er(72337);function parsePath(ee){var en={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:ee,query:{},parse_failed:!1};try{var er=new URL(ee);en.protocols=eo(er),en.protocol=en.protocols[0],en.port=er.port,en.resource=er.hostname,en.host=er.host,en.user=er.username||"",en.password=er.password||"",en.pathname=er.pathname,en.hash=er.hash.slice(1),en.search=er.search.slice(1),en.href=er.href,en.query=Object.fromEntries(er.searchParams)}catch(er){en.protocols=["file"],en.protocol=en.protocols[0],en.port="",en.resource="",en.user="",en.pathname="",en.hash="",en.search="",en.href=ee,en.query={},en.parse_failed=!0}return en}ee.exports=parsePath},43905:function(ee,en,er){"use strict";var eo=function(ee){return ee&&"object"==typeof ee&&"default"in ee?ee:{default:ee}}(er(16008));let ei="text/plain",es="us-ascii",testParameter=(ee,en)=>en.some(en=>en instanceof RegExp?en.test(ee):en===ee),normalizeDataURL=(ee,{stripHash:en})=>{let er=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(ee);if(!er)throw Error(`Invalid URL: ${ee}`);let{type:eo,data:eu,hash:ec}=er.groups,ed=eo.split(";");ec=en?"":ec;let ep=!1;"base64"===ed[ed.length-1]&&(ed.pop(),ep=!0);let ef=(ed.shift()||"").toLowerCase(),eh=ed.map(ee=>{let[en,er=""]=ee.split("=").map(ee=>ee.trim());return"charset"===en&&(er=er.toLowerCase())===es?"":`${en}${er?`=${er}`:""}`}).filter(Boolean),em=[...eh];return ep&&em.push("base64"),(em.length>0||ef&&ef!==ei)&&em.unshift(ef),`data:${em.join(";")},${ep?eu.trim():eu}${ec?`#${ec}`:""}`};function normalizeUrl(ee,en){if(en={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...en},ee=ee.trim(),/^data:/i.test(ee))return normalizeDataURL(ee,en);if(/^view-source:/i.test(ee))throw Error("`view-source:` is not supported as it is a non-standard protocol");let er=ee.startsWith("//"),eo=!er&&/^\.*\//.test(ee);eo||(ee=ee.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,en.defaultProtocol));let ei=new URL(ee);if(en.forceHttp&&en.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(en.forceHttp&&"https:"===ei.protocol&&(ei.protocol="http:"),en.forceHttps&&"http:"===ei.protocol&&(ei.protocol="https:"),en.stripAuthentication&&(ei.username="",ei.password=""),en.stripHash?ei.hash="":en.stripTextFragment&&(ei.hash=ei.hash.replace(/#?:~:text.*?$/i,"")),ei.pathname){let ee=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,en=0,er="";for(;;){let eo=ee.exec(ei.pathname);if(!eo)break;let es=eo[0],eu=eo.index,ec=ei.pathname.slice(en,eu);er+=ec.replace(/\/{2,}/g,"/")+es,en=eu+es.length}let eo=ei.pathname.slice(en,ei.pathname.length);er+=eo.replace(/\/{2,}/g,"/"),ei.pathname=er}if(ei.pathname)try{ei.pathname=decodeURI(ei.pathname)}catch{}if(!0===en.removeDirectoryIndex&&(en.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(en.removeDirectoryIndex)&&en.removeDirectoryIndex.length>0){let ee=ei.pathname.split("/"),er=ee[ee.length-1];testParameter(er,en.removeDirectoryIndex)&&(ee=ee.slice(0,-1),ei.pathname=ee.slice(1).join("/")+"/")}if(ei.hostname&&(ei.hostname=ei.hostname.replace(/\.$/,""),en.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(ei.hostname)&&(ei.hostname=ei.hostname.replace(/^www\./,""))),Array.isArray(en.removeQueryParameters))for(let ee of[...ei.searchParams.keys()])testParameter(ee,en.removeQueryParameters)&&ei.searchParams.delete(ee);if(!0===en.removeQueryParameters&&(ei.search=""),en.sortQueryParameters){ei.searchParams.sort();try{ei.search=decodeURIComponent(ei.search)}catch{}}en.removeTrailingSlash&&(ei.pathname=ei.pathname.replace(/\/$/,""));let es=ee;return ee=ei.toString(),en.removeSingleSlash||"/"!==ei.pathname||es.endsWith("/")||""!==ei.hash||(ee=ee.replace(/\/$/,"")),(en.removeTrailingSlash||"/"===ei.pathname)&&""===ei.hash&&en.removeSingleSlash&&(ee=ee.replace(/\/$/,"")),er&&!en.normalizeProtocol&&(ee=ee.replace(/^http:\/\//,"//")),en.stripProtocol&&(ee=ee.replace(/^(?:https?:)?\/\//,"")),ee}let parseUrl=(ee,en=!1)=>{let er=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,throwErr=en=>{let er=Error(en);throw er.subject_url=ee,er};"string"==typeof ee&&ee.trim()||throwErr("Invalid url."),ee.length>parseUrl.MAX_INPUT_LENGTH&&throwErr("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),en&&("object"!=typeof en&&(en={stripHash:!1}),ee=normalizeUrl(ee,en));let ei=eo.default(ee);if(ei.parse_failed){let ee=ei.href.match(er);ee?(ei.protocols=["ssh"],ei.protocol="ssh",ei.resource=ee[2],ei.host=ee[2],ei.user=ee[1],ei.pathname=`/${ee[3]}`,ei.parse_failed=!1):throwErr("URL parsing failed.")}return ei};parseUrl.MAX_INPUT_LENGTH=2048,ee.exports=parseUrl},72337:function(ee){"use strict";ee.exports=function(ee,en){!0===en&&(en=0);var er="";if("string"==typeof ee)try{er=new URL(ee).protocol}catch(ee){}else ee&&ee.constructor===URL&&(er=ee.protocol);var eo=er.split(/\:|\+/).filter(Boolean);return"number"==typeof en?eo[en]:eo}},76826:function(ee){var en={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ù:"u",ú:"u",û:"u",ü:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z"},er=Object.keys(en).join("|"),eo=RegExp(er,"g"),ei=RegExp(er,""),removeAccents=function(ee){return ee.replace(eo,function(ee){return en[ee]})},hasAccents=function(ee){return!!ee.match(ei)};ee.exports=removeAccents,ee.exports.has=hasAccents,ee.exports.remove=removeAccents},83859:function(ee){"use strict";ee.exports=ee=>{let en=/^\\\\\?\\/.test(ee),er=/[^\u0000-\u0080]+/.test(ee);return en||er?ee:ee.replace(/\\/g,"/")}},2891:function(ee,en,er){let eo=er(11439),ei=er(17224),es="[^\\s'’\\(\\)!?;:\"-]",eu=RegExp(`(?:(?:(\\s?(?:^|[.\\(\\)!?;:"-])\\s*)(${es}))|(${es}))(${es}*[’']*${es}*)`,"g"),convertToRegExp=ee=>ee.map(ee=>[RegExp(`\\b${ee}\\b`,"gi"),ee]);function parseMatch(ee){let en=ee[0];return/\s/.test(en)?ee.slice(1):/[\(\)]/.test(en)?null:ee}ee.exports=(ee,en={})=>{ee=ee.toLowerCase().replace(eu,(ee,en="",er,ei,es,eu,ec)=>{let ed=ee.length+eu>=ec.length,ep=parseMatch(ee);if(!ep)return ee;if(!er){let ee=ei+es;if(eo.has(ee)&&!ed)return ep}return en+(ei||er).toUpperCase()+es});let er=en.special||[],es=[...ei,...er],ec=convertToRegExp(es);return ec.forEach(([en,er])=>{ee=ee.replace(en,er)}),ee}},11439:function(ee){let en=["for","and","nor","but","or","yet","so"],er=["a","an","the"],eo=["aboard","about","above","across","after","against","along","amid","among","anti","around","as","at","before","behind","below","beneath","beside","besides","between","beyond","but","by","concerning","considering","despite","down","during","except","excepting","excluding","following","for","from","in","inside","into","like","minus","near","of","off","on","onto","opposite","over","past","per","plus","regarding","round","save","since","than","through","to","toward","towards","under","underneath","unlike","until","up","upon","versus","via","with","within","without"];ee.exports=new Set([...en,...er,...eo])},17224:function(ee){let en=["ZEIT","ZEIT Inc.","Vercel","Vercel Inc.","CLI","API","HTTP","HTTPS","JSX","DNS","URL","now.sh","now.json","vercel.app","vercel.json","CI","CD","CDN","package.json","package.lock","yarn.lock","GitHub","GitLab","CSS","Sass","JS","JavaScript","TypeScript","HTML","WordPress","Next.js","Node.js","Webpack","Docker","Bash","Kubernetes","SWR","TinaCMS","UI","UX","TS","TSX","iPhone","iPad","watchOS","iOS","iPadOS","macOS","PHP","composer.json","composer.lock","CMS","SQL","C","C#","GraphQL","GraphiQL","JWT","JWTs"];ee.exports=en},32746:function(ee,en,er){er(85893)},87462:function(ee,en,er){"use strict";function _extends(){return(_extends=Object.assign?Object.assign.bind():function(ee){for(var en=1;enen.current(...ee),[en])}},19946:function(ee,en,er){"use strict";er.d(en,{M:function(){return ed}});var eo,ei=er(67294),es=er(16723),eu=er(82180),ec=er(77896);let ed=null!=(eo=ei.useId)?eo:function(){let ee=(0,eu.H)(),[en,er]=ei.useState(ee?()=>ec.O.nextId():null);return(0,es.e)(()=>{null===en&&er(ec.O.nextId())},[en]),null!=en?""+en:void 0}},14879:function(ee,en,er){"use strict";er.d(en,{t:function(){return f}});var eo=er(67294),ei=er(16723);function f(){let ee=(0,eo.useRef)(!1);return(0,ei.e)(()=>(ee.current=!0,()=>{ee.current=!1}),[]),ee}},16723:function(ee,en,er){"use strict";er.d(en,{e:function(){return l}});var eo=er(67294),ei=er(77896);let l=(ee,en)=>{ei.O.isServer?(0,eo.useEffect)(ee,en):(0,eo.useLayoutEffect)(ee,en)}},3855:function(ee,en,er){"use strict";er.d(en,{E:function(){return s}});var eo=er(67294),ei=er(16723);function s(ee){let en=(0,eo.useRef)(ee);return(0,ei.e)(()=>{en.current=ee},[ee]),en}},14157:function(ee,en,er){"use strict";er.d(en,{f:function(){return s}});var eo=er(67294),ei=er(16723);function i(ee){var en;if(ee.type)return ee.type;let er=null!=(en=ee.as)?en:"button";if("string"==typeof er&&"button"===er.toLowerCase())return"button"}function s(ee,en){let[er,es]=(0,eo.useState)(()=>i(ee));return(0,ei.e)(()=>{es(i(ee))},[ee.type,ee.as]),(0,ei.e)(()=>{er||en.current&&en.current instanceof HTMLButtonElement&&!en.current.hasAttribute("type")&&es("button")},[er,en]),er}},82180:function(ee,en,er){"use strict";er.d(en,{H:function(){return l}});var eo,ei=er(67294),es=er(77896);function s(){let ee="undefined"==typeof document;return(0,(eo||(eo=er.t(ei,2))).useSyncExternalStore)(()=>()=>{},()=>!1,()=>!ee)}function l(){let ee=s(),[en,er]=ei.useState(es.O.isHandoffComplete);return en&&!1===es.O.isHandoffComplete&&er(!1),ei.useEffect(()=>{!0!==en&&er(!0)},[en]),ei.useEffect(()=>es.O.handoff(),[]),!ee&&en}},23784:function(ee,en,er){"use strict";er.d(en,{T:function(){return y}});var eo=er(67294),ei=er(64919);let es=Symbol();function y(...ee){let en=(0,eo.useRef)(ee);(0,eo.useEffect)(()=>{en.current=ee},[ee]);let er=(0,ei.z)(ee=>{for(let er of en.current)null!=er&&("function"==typeof er?er(ee):er.current=ee)});return ee.every(ee=>null==ee||(null==ee?void 0:ee[es]))?void 0:er}},46045:function(ee,en,er){"use strict";er.d(en,{A:function(){return eu},_:function(){return ec}});var eo,ei=er(12351);let es="div";var eu=((eo=eu||{})[eo.None=1]="None",eo[eo.Focusable=2]="Focusable",eo[eo.Hidden=4]="Hidden",eo);function s(ee,en){let{features:er=1,...eo}=ee,eu={ref:en,"aria-hidden":(2&er)==2||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(4&er)==4&&(2&er)!=2&&{display:"none"}}};return(0,ei.sY)({ourProps:eu,theirProps:eo,slot:{},defaultTag:es,name:"Hidden"})}let ec=(0,ei.yV)(s)},44067:function(ee,en,er){"use strict";function t(...ee){return Array.from(new Set(ee.flatMap(ee=>"string"==typeof ee?ee.split(" "):[]))).filter(Boolean).join(" ")}er.d(en,{A:function(){return t}})},9362:function(ee,en,er){"use strict";er.d(en,{k:function(){return o}});var eo=er(81021);function o(){let ee=[],en={addEventListener:(ee,er,eo,ei)=>(ee.addEventListener(er,eo,ei),en.add(()=>ee.removeEventListener(er,eo,ei))),requestAnimationFrame(...ee){let er=requestAnimationFrame(...ee);return en.add(()=>cancelAnimationFrame(er))},nextFrame:(...ee)=>en.requestAnimationFrame(()=>en.requestAnimationFrame(...ee)),setTimeout(...ee){let er=setTimeout(...ee);return en.add(()=>clearTimeout(er))},microTask(...ee){let er={current:!0};return(0,eo.Y)(()=>{er.current&&ee[0]()}),en.add(()=>{er.current=!1})},style(ee,en,er){let eo=ee.style.getPropertyValue(en);return Object.assign(ee.style,{[en]:er}),this.add(()=>{Object.assign(ee.style,{[en]:eo})})},group(ee){let en=o();return ee(en),this.add(()=>en.dispose())},add:en=>(ee.push(en),()=>{let er=ee.indexOf(en);if(er>=0)for(let en of ee.splice(er,1))en()}),dispose(){for(let en of ee.splice(0))en()}};return en}},77896:function(ee,en,er){"use strict";er.d(en,{O:function(){return ei}});var eo=Object.defineProperty,d=(ee,en,er)=>en in ee?eo(ee,en,{enumerable:!0,configurable:!0,writable:!0,value:er}):ee[en]=er,r=(ee,en,er)=>(d(ee,"symbol"!=typeof en?en+"":en,er),er);let o=class o{constructor(){r(this,"current",this.detect()),r(this,"handoffState","pending"),r(this,"currentId",0)}set(ee){this.current!==ee&&(this.handoffState="pending",this.currentId=0,this.current=ee)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}};let ei=new o},84575:function(ee,en,er){"use strict";er.d(en,{EO:function(){return _},TO:function(){return em},fE:function(){return ex},jA:function(){return O},sP:function(){return h},tJ:function(){return ev},wI:function(){return D},z2:function(){return I}});var eo,ei,es,eu,ec,ed=er(9362),ep=er(32984),ef=er(15466);let eh=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(ee=>`${ee}:not([tabindex='-1'])`).join(",");var em=((eo=em||{})[eo.First=1]="First",eo[eo.Previous=2]="Previous",eo[eo.Next=4]="Next",eo[eo.Last=8]="Last",eo[eo.WrapAround=16]="WrapAround",eo[eo.NoScroll=32]="NoScroll",eo),ex=((ei=ex||{})[ei.Error=0]="Error",ei[ei.Overflow=1]="Overflow",ei[ei.Success=2]="Success",ei[ei.Underflow=3]="Underflow",ei),eg=((es=eg||{})[es.Previous=-1]="Previous",es[es.Next=1]="Next",es);function f(ee=document.body){return null==ee?[]:Array.from(ee.querySelectorAll(eh)).sort((ee,en)=>Math.sign((ee.tabIndex||Number.MAX_SAFE_INTEGER)-(en.tabIndex||Number.MAX_SAFE_INTEGER)))}var ev=((eu=ev||{})[eu.Strict=0]="Strict",eu[eu.Loose=1]="Loose",eu);function h(ee,en=0){var er;return ee!==(null==(er=(0,ef.r)(ee))?void 0:er.body)&&(0,ep.E)(en,{0:()=>ee.matches(eh),1(){let en=ee;for(;null!==en;){if(en.matches(eh))return!0;en=en.parentElement}return!1}})}function D(ee){let en=(0,ef.r)(ee);(0,ed.k)().nextFrame(()=>{en&&!h(en.activeElement,0)&&y(ee)})}var ey=((ec=ey||{})[ec.Keyboard=0]="Keyboard",ec[ec.Mouse=1]="Mouse",ec);function y(ee){null==ee||ee.focus({preventScroll:!0})}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("keydown",ee=>{ee.metaKey||ee.altKey||ee.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",ee=>{1===ee.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===ee.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));let eb="textarea,input";function H(ee){var en,er;return null!=(er=null==(en=null==ee?void 0:ee.matches)?void 0:en.call(ee,eb))&&er}function I(ee,en=ee=>ee){return ee.slice().sort((ee,er)=>{let eo=en(ee),ei=en(er);if(null===eo||null===ei)return 0;let es=eo.compareDocumentPosition(ei);return es&Node.DOCUMENT_POSITION_FOLLOWING?-1:es&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function _(ee,en){return O(f(),en,{relativeTo:ee})}function O(ee,en,{sorted:er=!0,relativeTo:eo=null,skipElements:ei=[]}={}){let es=Array.isArray(ee)?ee.length>0?ee[0].ownerDocument:document:ee.ownerDocument,eu=Array.isArray(ee)?er?I(ee):ee:f(ee);ei.length>0&&eu.length>1&&(eu=eu.filter(ee=>!ei.includes(ee))),eo=null!=eo?eo:es.activeElement;let ec=(()=>{if(5&en)return 1;if(10&en)return -1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),ed=(()=>{if(1&en)return 0;if(2&en)return Math.max(0,eu.indexOf(eo))-1;if(4&en)return Math.max(0,eu.indexOf(eo))+1;if(8&en)return eu.length-1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),ep=32&en?{preventScroll:!0}:{},ef=0,eh=eu.length,em;do{if(ef>=eh||ef+eh<=0)return 0;let ee=ed+ef;if(16&en)ee=(ee+eh)%eh;else{if(ee<0)return 3;if(ee>=eh)return 1}null==(em=eu[ee])||em.focus(ep),ef+=ec}while(em!==es.activeElement);return 6&en&&H(em)&&em.select(),2}},32984:function(ee,en,er){"use strict";function u(ee,en,...er){if(ee in en){let eo=en[ee];return"function"==typeof eo?eo(...er):eo}let eo=Error(`Tried to handle "${ee}" but there is no handler defined. Only defined handlers are: ${Object.keys(en).map(ee=>`"${ee}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(eo,u),eo}er.d(en,{E:function(){return u}})},81021:function(ee,en,er){"use strict";function t(ee){"function"==typeof queueMicrotask?queueMicrotask(ee):Promise.resolve().then(ee).catch(ee=>setTimeout(()=>{throw ee}))}er.d(en,{Y:function(){return t}})},15466:function(ee,en,er){"use strict";er.d(en,{r:function(){return e}});var eo=er(77896);function e(ee){return eo.O.isServer?null:ee instanceof Node?ee.ownerDocument:null!=ee&&ee.hasOwnProperty("current")&&ee.current instanceof Node?ee.current.ownerDocument:document}},12351:function(ee,en,er){"use strict";er.d(en,{AN:function(){return ed},l4:function(){return ep},oA:function(){return R},sY:function(){return X},yV:function(){return D}});var eo,ei,es=er(67294),eu=er(44067),ec=er(32984),ed=((eo=ed||{})[eo.None=0]="None",eo[eo.RenderStrategy=1]="RenderStrategy",eo[eo.Static=2]="Static",eo),ep=((ei=ep||{})[ei.Unmount=0]="Unmount",ei[ei.Hidden=1]="Hidden",ei);function X({ourProps:ee,theirProps:en,slot:er,defaultTag:eo,features:ei,visible:es=!0,name:eu}){let ed=N(en,ee);if(es)return c(ed,er,eo,eu);let ep=null!=ei?ei:0;if(2&ep){let{static:ee=!1,...en}=ed;if(ee)return c(en,er,eo,eu)}if(1&ep){let{unmount:ee=!0,...en}=ed;return(0,ec.E)(ee?0:1,{0:()=>null,1:()=>c({...en,hidden:!0,style:{display:"none"}},er,eo,eu)})}return c(ed,er,eo,eu)}function c(ee,en={},er,eo){let{as:ei=er,children:ec,refName:ed="ref",...ep}=g(ee,["unmount","static"]),ef=void 0!==ee.ref?{[ed]:ee.ref}:{},eh="function"==typeof ec?ec(en):ec;"className"in ep&&ep.className&&"function"==typeof ep.className&&(ep.className=ep.className(en));let em={};if(en){let ee=!1,er=[];for(let[eo,ei]of Object.entries(en))"boolean"==typeof ei&&(ee=!0),!0===ei&&er.push(eo);ee&&(em["data-headlessui-state"]=er.join(" "))}if(ei===es.Fragment&&Object.keys(R(ep)).length>0){if(!(0,es.isValidElement)(eh)||Array.isArray(eh)&&eh.length>1)throw Error(['Passing props on "Fragment"!',"",`The current component <${eo} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(ep).map(ee=>` - ${ee}`).join(` `),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(ee=>` - ${ee}`).join(` `)].join(` `));let ee=eh.props,en="function"==typeof(null==ee?void 0:ee.className)?(...en)=>(0,eu.A)(null==ee?void 0:ee.className(...en),ep.className):(0,eu.A)(null==ee?void 0:ee.className,ep.className),er=en?{className:en}:{};return(0,es.cloneElement)(eh,Object.assign({},N(eh.props,R(g(ep,["ref"]))),em,ef,w(eh.ref,ef.ref),er))}return(0,es.createElement)(ei,Object.assign({},g(ep,["ref"]),ei!==es.Fragment&&ef,ei!==es.Fragment&&em),eh)}function w(...ee){return{ref:ee.every(ee=>null==ee)?void 0:en=>{for(let er of ee)null!=er&&("function"==typeof er?er(en):er.current=en)}}}function N(...ee){var en;if(0===ee.length)return{};if(1===ee.length)return ee[0];let er={},eo={};for(let ei of ee)for(let ee in ei)ee.startsWith("on")&&"function"==typeof ei[ee]?(null!=(en=eo[ee])||(eo[ee]=[]),eo[ee].push(ei[ee])):er[ee]=ei[ee];if(er.disabled||er["aria-disabled"])return Object.assign(er,Object.fromEntries(Object.keys(eo).map(ee=>[ee,void 0])));for(let ee in eo)Object.assign(er,{[ee](en,...er){for(let ei of eo[ee]){if((en instanceof Event||(null==en?void 0:en.nativeEvent)instanceof Event)&&en.defaultPrevented)return;ei(en,...er)}}});return er}function D(ee){var en;return Object.assign((0,es.forwardRef)(ee),{displayName:null!=(en=ee.displayName)?en:ee.name})}function R(ee){let en=Object.assign({},ee);for(let ee in en)void 0===en[ee]&&delete en[ee];return en}function g(ee,en=[]){let er=Object.assign({},ee);for(let ee of en)ee in er&&delete er[ee];return er}},90512:function(ee,en,er){"use strict";function r(ee){var en,er,eo="";if("string"==typeof ee||"number"==typeof ee)eo+=ee;else if("object"==typeof ee){if(Array.isArray(ee))for(en=0;en(input: unknown): input is T; // returns boolean\r\nexport function assert(input: unknown): T; // throws TypeGuardError\r\nexport function validate(input: unknown): IValidation; // detailed\r\n\r\n// JSON FUNCTIONS\r\nexport namespace json {\r\n export function application(): IJsonApplication; // JSON schema\r\n export function assertParse(input: string): T; // type safe parser\r\n export function assertStringify(input: T): string; // safe and faster\r\n}\r\n\r\n// PROTOCOL BUFFER\r\nexport namespace protobuf {\r\n export function message(): string; // Protocol Buffer message\r\n export function assertDecode(buffer: Uint8Array): T; // safe decoder\r\n export function assertEncode(input: T): Uint8Array; // safe encoder\r\n}\r\n\r\n// RANDOM GENERATOR\r\nexport function random(g?: Partial): T;\nTypia is a transformer library supporting below features:\nSuper-fast Runtime Validators\nEnhanced JSON functions\nProtocol Buffer encoder and decoder\nRandom data generator\nOnly one line required, with pure TypeScript type\nRuntime validator is 20,000x faster than class-validator\nJSON serialization is 200x faster than class-transformer","sponsors#Sponsors":"Thanks for your support.Your donation would encourage typia development."}},"/docs/misc":{"title":"Misc","data":{"misc-module#misc module":"","clone-functions#clone() functions":"export namespace misc {\r\n export function clone(input: T): T;\r\n export function assertClone(input: T | unknown): Resolved;\r\n export function isClone(input: T | unknown): Resolved | null;\r\n export function validateClone(input: T | unknown): IValidation>;\r\n\r\n export function createClone(): (input: T) => Resolved;\r\n export function createAssertClone(): (input: T | unknown) => Resolved;\r\n export function createIsClone(): (input: T | unknown) => Resolved | null;\r\n export function createValidateClone(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nDeep copy functions.When you want to copy an instance, just call typia.misc.clone() function. It would perform deep copy including nested objects, so you can get a new instance with same values. Also, if you want type safe deep copy function, you can use typia.misc.isClone(), typia.misc.assertClone() or typia.misc.validateClone() functions instead.\ntypia.misc.assertClone(): typia.assert() + typia.misc.clone()\ntypia.misc.isClone(): typia.is() + typia.misc.clone()\ntypia.misc.validateClone(): typia.validate() + typia.misc.clone()\nimport typia from \"typia\";\r\n\r\nconst department: IDepartment = typia.misc.random();\r\nconst cloned: IDepartment = typia.misc.assertClone(department);\r\n\r\nconsole.log(cloned);\r\n\r\ninterface IDepartment {\r\n /**\r\n * @format uuid\r\n */\r\n id: string;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n name: string;\r\n\r\n /**\r\n * @type int\r\n */\r\n limit: number;\r\n\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n age: number;\r\n\r\n authority: number;\r\n\r\n /**\r\n * @format date\r\n */\r\n joined_at: string;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst department = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s; return ({\r\n id: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [\r\n {\r\n name: \"format\",\r\n value: \"uuid\"\r\n }\r\n ])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.uuid) !== null && _e !== void 0 ? _e : $generator.uuid)(),\r\n name: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.string) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"minLength\",\r\n value: \"3\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _k !== void 0 ? _k : $generator.string)(((_l = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _l !== void 0 ? _l : $generator.integer)(3, 25)),\r\n limit: (_q = (_p = (_o = ((_m = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _m !== void 0 ? _m : $generator.customs)) === null || _o === void 0 ? void 0 : _o.number) === null || _p === void 0 ? void 0 : _p.call(_o, [\r\n {\r\n name: \"type\",\r\n value: \"int\"\r\n }\r\n ])) !== null && _q !== void 0 ? _q : ((_r = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _r !== void 0 ? _r : $generator.integer)(0, 100),\r\n clerks: ((_s = generator === null || generator === void 0 ? void 0 : generator.array) !== null && _s !== void 0 ? _s : $generator.array)(() => $ro1(_recursive, _recursive ? 1 + _depth : _depth))\r\n }); };\r\n const $ro1 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; return ({\r\n name: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _e !== void 0 ? _e : $generator.string)(),\r\n age: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.number) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"exclusiveMinimum\",\r\n value: \"19\"\r\n },\r\n {\r\n name: \"maximum\",\r\n value: \"100\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _k !== void 0 ? _k : $generator.number)(19, 100),\r\n authority: (_p = (_o = (_m = ((_l = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _l !== void 0 ? _l : $generator.customs)) === null || _m === void 0 ? void 0 : _m.number) === null || _o === void 0 ? void 0 : _o.call(_m, [])) !== null && _p !== void 0 ? _p : ((_q = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _q !== void 0 ? _q : $generator.number)(0, 100),\r\n joined_at: (_u = (_t = (_s = ((_r = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _r !== void 0 ? _r : $generator.customs)) === null || _s === void 0 ? void 0 : _s.string) === null || _t === void 0 ? void 0 : _t.call(_s, [\r\n {\r\n name: \"format\",\r\n value: \"date\"\r\n }\r\n ])) !== null && _u !== void 0 ? _u : ((_v = generator === null || generator === void 0 ? void 0 : generator.date) !== null && _v !== void 0 ? _v : $generator.date)()\r\n }); };\r\n return $ro0();\r\n})();\r\nconst cloned = (input => { const assert = input => {\r\n const __is = input => {\r\n const $is_uuid = typia_1.default.assertClone.is_uuid;\r\n const $is_date = typia_1.default.assertClone.is_date;\r\n const $io0 = input => \"string\" === typeof input.id && $is_uuid(input.id) && (\"string\" === typeof input.name && 3 <= input.name.length) && (\"number\" === typeof input.limit && parseInt(input.limit) === input.limit) && (Array.isArray(input.clerks) && input.clerks.every(elem => \"object\" === typeof elem && null !== elem && $io1(elem)));\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assertClone.guard;\r\n const $is_uuid = typia_1.default.assertClone.is_uuid;\r\n const $is_date = typia_1.default.assertClone.is_date;\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.id && ($is_uuid(input.id) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string (@format uuid)\",\r\n value: input.id\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string\",\r\n value: input.id\r\n })) && (\"string\" === typeof input.name && (3 <= input.name.length || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@minLength 3)\",\r\n value: input.name\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.limit && (parseInt(input.limit) === input.limit || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number (@type int)\",\r\n value: input.limit\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number\",\r\n value: input.limit\r\n })) && ((Array.isArray(input.clerks) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n })) && input.clerks.every((elem, _index1) => (\"object\" === typeof elem && null !== elem || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) && $ao1(elem, _path + \".clerks[\" + _index1 + \"]\", true && _exceptionable) || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.name || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.age && (19 < input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@exclusiveMinimum 19)\",\r\n value: input.age\r\n })) && (100 >= input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@maximum 100)\",\r\n value: input.age\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number\",\r\n value: input.age\r\n })) && (\"number\" === typeof input.authority || $guard(_exceptionable, {\r\n path: _path + \".authority\",\r\n expected: \"number\",\r\n value: input.authority\r\n })) && (\"string\" === typeof input.joined_at && ($is_date(input.joined_at) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string (@format date)\",\r\n value: input.joined_at\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string\",\r\n value: input.joined_at\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n}; const clone = input => {\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n const $is_uuid = typia_1.default.assertClone.is_uuid;\r\n const $is_date = typia_1.default.assertClone.is_date;\r\n const $cp0 = input => input.map(elem => \"object\" === typeof elem && null !== elem ? $co1(elem) : elem);\r\n const $co0 = input => ({\r\n id: input.id,\r\n name: input.name,\r\n limit: input.limit,\r\n clerks: Array.isArray(input.clerks) ? $cp0(input.clerks) : input.clerks\r\n });\r\n const $co1 = input => ({\r\n name: input.name,\r\n age: input.age,\r\n authority: input.authority,\r\n joined_at: input.joined_at\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n}; assert(input); const output = clone(input); return output; })(department);\r\nconsole.log(cloned);","prune-functions#prune() functions":"export function prune(input: T): void;\r\nexport function assertPrune(input: T | unknown): T;\r\nexport function isPrune(input: T | unknown): T | null;\r\nexport function validatePrune(input: T | unknown): IValidation;\r\n\r\nexport function createPrune(): (input: T) => void;\r\nexport function createAssertPrune(): (input: T | unknown) => T;\r\nexport function createIsPrune(): (input: T | unknown) => T | null;\r\nexport function createValidatePrune(): (input: T | unknown) => IValidation;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nDeep prune functions.When you want to remove every extra properties that are not defined in the type including nested objects, you can use typia.misc.prune() function. Also, if you want to perform type safe pruning, you can use typia.misc.isPrune(), typia.misc.assertPrune() or typia.misc.validatePrune() functions instead.\ntypia.misc.isPrune(): typia.is() + typia.misc.prune()\ntypia.misc.assertPrune(): typia.assert() + typia.misc.prune()\ntypia.misc.validatePrune(): typia.validate() + typia.misc.prune()\nimport typia from \"typia\";\r\n\r\nconst department: IDepartment = typia.misc.random();\r\nconst pruned: IDepartment = typia.misc.assertPrune(department);\r\nconsole.log(pruned);\r\n\r\ninterface IDepartment {\r\n /**\r\n * @format uuid\r\n */\r\n id: string;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n name: string;\r\n\r\n /**\r\n * @type int\r\n */\r\n limit: number;\r\n\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n age: number;\r\n\r\n authority: number;\r\n\r\n /**\r\n * @format date\r\n */\r\n joined_at: string;\r\n}\n\r\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst department = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s; return ({\r\n id: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [\r\n {\r\n name: \"format\",\r\n value: \"uuid\"\r\n }\r\n ])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.uuid) !== null && _e !== void 0 ? _e : $generator.uuid)(),\r\n name: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.string) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"minLength\",\r\n value: \"3\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _k !== void 0 ? _k : $generator.string)(((_l = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _l !== void 0 ? _l : $generator.integer)(3, 25)),\r\n limit: (_q = (_p = (_o = ((_m = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _m !== void 0 ? _m : $generator.customs)) === null || _o === void 0 ? void 0 : _o.number) === null || _p === void 0 ? void 0 : _p.call(_o, [\r\n {\r\n name: \"type\",\r\n value: \"int\"\r\n }\r\n ])) !== null && _q !== void 0 ? _q : ((_r = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _r !== void 0 ? _r : $generator.integer)(0, 100),\r\n clerks: ((_s = generator === null || generator === void 0 ? void 0 : generator.array) !== null && _s !== void 0 ? _s : $generator.array)(() => $ro1(_recursive, _recursive ? 1 + _depth : _depth))\r\n }); };\r\n const $ro1 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; return ({\r\n name: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _e !== void 0 ? _e : $generator.string)(),\r\n age: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.number) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"exclusiveMinimum\",\r\n value: \"19\"\r\n },\r\n {\r\n name: \"maximum\",\r\n value: \"100\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _k !== void 0 ? _k : $generator.number)(19, 100),\r\n authority: (_p = (_o = (_m = ((_l = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _l !== void 0 ? _l : $generator.customs)) === null || _m === void 0 ? void 0 : _m.number) === null || _o === void 0 ? void 0 : _o.call(_m, [])) !== null && _p !== void 0 ? _p : ((_q = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _q !== void 0 ? _q : $generator.number)(0, 100),\r\n joined_at: (_u = (_t = (_s = ((_r = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _r !== void 0 ? _r : $generator.customs)) === null || _s === void 0 ? void 0 : _s.string) === null || _t === void 0 ? void 0 : _t.call(_s, [\r\n {\r\n name: \"format\",\r\n value: \"date\"\r\n }\r\n ])) !== null && _u !== void 0 ? _u : ((_v = generator === null || generator === void 0 ? void 0 : generator.date) !== null && _v !== void 0 ? _v : $generator.date)()\r\n }); };\r\n return $ro0();\r\n})();\r\nconst pruned = (input => { const assert = input => {\r\n const __is = input => {\r\n const $is_uuid = typia_1.default.assertPrune.is_uuid;\r\n const $is_date = typia_1.default.assertPrune.is_date;\r\n const $io0 = input => \"string\" === typeof input.id && $is_uuid(input.id) && (\"string\" === typeof input.name && 3 <= input.name.length) && (\"number\" === typeof input.limit && parseInt(input.limit) === input.limit) && (Array.isArray(input.clerks) && input.clerks.every(elem => \"object\" === typeof elem && null !== elem && $io1(elem)));\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assertPrune.guard;\r\n const $is_uuid = typia_1.default.assertPrune.is_uuid;\r\n const $is_date = typia_1.default.assertPrune.is_date;\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.id && ($is_uuid(input.id) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string (@format uuid)\",\r\n value: input.id\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string\",\r\n value: input.id\r\n })) && (\"string\" === typeof input.name && (3 <= input.name.length || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@minLength 3)\",\r\n value: input.name\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.limit && (parseInt(input.limit) === input.limit || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number (@type int)\",\r\n value: input.limit\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number\",\r\n value: input.limit\r\n })) && ((Array.isArray(input.clerks) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n })) && input.clerks.every((elem, _index1) => (\"object\" === typeof elem && null !== elem || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) && $ao1(elem, _path + \".clerks[\" + _index1 + \"]\", true && _exceptionable) || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.name || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.age && (19 < input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@exclusiveMinimum 19)\",\r\n value: input.age\r\n })) && (100 >= input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@maximum 100)\",\r\n value: input.age\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number\",\r\n value: input.age\r\n })) && (\"number\" === typeof input.authority || $guard(_exceptionable, {\r\n path: _path + \".authority\",\r\n expected: \"number\",\r\n value: input.authority\r\n })) && (\"string\" === typeof input.joined_at && ($is_date(input.joined_at) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string (@format date)\",\r\n value: input.joined_at\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string\",\r\n value: input.joined_at\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n}; const prune = input => {\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n const $is_uuid = typia_1.default.assertPrune.is_uuid;\r\n const $is_date = typia_1.default.assertPrune.is_date;\r\n const $pp0 = input => input.forEach(elem => {\r\n if (\"object\" === typeof elem && null !== elem)\r\n $po1(elem);\r\n });\r\n const $po0 = input => {\r\n if (Array.isArray(input.clerks))\r\n $pp0(input.clerks);\r\n for (const key of Object.keys(input)) {\r\n if (\"id\" === key || \"name\" === key || \"limit\" === key || \"clerks\" === key)\r\n continue;\r\n delete input[key];\r\n }\r\n };\r\n const $po1 = input => {\r\n for (const key of Object.keys(input)) {\r\n if (\"name\" === key || \"age\" === key || \"authority\" === key || \"joined_at\" === key)\r\n continue;\r\n delete input[key];\r\n }\r\n };\r\n if (\"object\" === typeof input && null !== input)\r\n $po0(input);\r\n}; assert(input); prune(input); return input; })(department);\r\nconsole.log(pruned);","literals-function#literals() function":"export namespace misc {\r\n export function literals<\r\n T extends boolean | number | string | bigint | null\r\n >(): T[];\r\n}\nUnion literal type to array.When you call typia.misc.literals() function with union literal type, it returns an array of literal values listed in the generic T argument. This typia.misc.literals function is useful when you are developing test program, especially handling some discriminated union types.\nimport typia from \"typia\";\r\n\r\ntypia.misc.literals<\"A\" | \"B\" | \"C\" | 1 | 2n>();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n[\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n 1,\r\n BigInt(2)\r\n];","notations-module#notations module":"","camel-functions#camel() functions":"export namespace notations {\r\n export function camel(input: T): CamelCase;\r\n export function assertCamel(input: T | unknown): CamelCase;\r\n export function isCamel(input: T | unknown): CamelCase | null;\r\n export function validateCamel(input: T | unknown): IValidation>;\r\n\r\n export function createCamel(): (input: T) => CamelCase;\r\n export function createAssertCamel(): (input: T | unknown) => CamelCase;\r\n export function createIsCamel(): (input: T | unknown) => CamelCase | null;\r\n export function createValidateCamel(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Camel case type.\r\n *\r\n * `CamelCase` type is a type that all keys of an object are camelized.\r\n *\r\n * It also erase every method properties like {@link Resolved} type.\r\n *\r\n * @template T Target type to be camelized\r\n * @author Jeongho Nam - https://github.com/samchon\r\n */\r\nexport type CamelCase = Equal> extends true\r\n ? T\r\n : CamelizeMain;\r\n\r\n/* -----------------------------------------------------------\r\n OBJECT CONVERSION\r\n----------------------------------------------------------- */\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype CamelizeMain = T extends [never]\r\n ? never // special trick for (jsonable | null) type\r\n : T extends { valueOf(): boolean | bigint | number | string }\r\n ? ValueOf\r\n : T extends Function\r\n ? never\r\n : T extends object\r\n ? CamelizeObject\r\n : T;\r\n\r\ntype CamelizeObject = T extends Array\r\n ? IsTuple extends true\r\n ? CamelizeTuple\r\n : CamelizeMain[]\r\n : T extends Set\r\n ? Set>\r\n : T extends Map\r\n ? Map, CamelizeMain>\r\n : T extends WeakSet | WeakMap\r\n ? never\r\n : T extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? T\r\n : {\r\n [Key in keyof T as CamelizeString]: CamelizeMain<\r\n T[Key]\r\n >;\r\n };\r\n\r\n/* -----------------------------------------------------------\r\n SPECIAL CASES\r\n----------------------------------------------------------- */\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\ntype CamelizeTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [CamelizeMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [CamelizeMain, ...CamelizeTuple]\r\n : T extends [(infer F)?]\r\n ? [CamelizeMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [CamelizeMain?, ...CamelizeTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\n/* -----------------------------------------------------------\r\n STRING CONVERTER\r\n----------------------------------------------------------- */\r\ntype CamelizeString = Key extends `${infer F}${infer R}`\r\n ? `${Lowercase}${CamelizeStringRepeatedly}`\r\n : Key;\r\ntype CamelizeStringRepeatedly =\r\n Key extends `${infer F}_${infer R}`\r\n ? `${F}${Capitalize>}`\r\n : Key;\nCamel case converters.Convert every property names of nested objects to be camel case notation.When you need type safe functions, you can utilize below them.\ntypia.notations.assertCamel(): typia.assert() + typia.notations.camel()\ntypia.notations.isCamel: typia.is() + typia.notations.camel()\ntypia.notations.validateCamel: typia.validate() + typia.notations.camel()\nimport typia from \"typia\";\r\n\r\ninterface IPerson {\r\n is_my_name_samchon?: boolean;\r\n HelloTheNewWorld: string;\r\n ToHTML: string;\r\n}\r\ntypia.notations.createCamel();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $co0 = input => ({\r\n isMyNameSamchon: input.is_my_name_samchon,\r\n helloTheNewWorld: input.HelloTheNewWorld,\r\n toHTML: input.ToHTML\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n};","pascal-functions#pascal() functions":"export namespace notations {\r\n export function pascal(input: T): PascalCase;\r\n export function assertPascal(input: T | unknown): PascalCase;\r\n export function isPascal(input: T | unknown): PascalCase | null;\r\n export function validatePascal(input: T | unknown): IValidation>;\r\n\r\n export function createPascal(): (input: T) => PascalCase;\r\n export function createAssertPascal(): (input: T | unknown) => PascalCase;\r\n export function createIsPascal(): (input: T | unknown) => PascalCase | null;\r\n export function createValidatePascal(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Pascal case type.\r\n *\r\n * `PascalCase` type is a type that all keys of an object are pascalized.\r\n *\r\n * It also erase every method properties like {@link Resolved} type.\r\n *\r\n * @template T Target type to be pascalized\r\n * @author Jeongho Nam - https://github.com/samchon\r\n */\r\nexport type PascalCase = Equal> extends true\r\n ? T\r\n : PascalizeMain;\r\n\r\n/* -----------------------------------------------------------\r\n OBJECT CONVERSION\r\n----------------------------------------------------------- */\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype PascalizeMain = T extends [never]\r\n ? never // special trick for (jsonable | null) type\r\n : T extends { valueOf(): boolean | bigint | number | string }\r\n ? ValueOf\r\n : T extends Function\r\n ? never\r\n : T extends object\r\n ? PascalizeObject\r\n : T;\r\n\r\ntype PascalizeObject = T extends Array\r\n ? IsTuple extends true\r\n ? PascalizeTuple\r\n : PascalizeMain[]\r\n : T extends Set\r\n ? Set>\r\n : T extends Map\r\n ? Map, PascalizeMain>\r\n : T extends WeakSet | WeakMap\r\n ? never\r\n : T extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? T\r\n : {\r\n [Key in keyof T as PascalizeString]: PascalizeMain<\r\n T[Key]\r\n >;\r\n };\r\n\r\n/* -----------------------------------------------------------\r\n SPECIAL CASES\r\n----------------------------------------------------------- */\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\ntype PascalizeTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [PascalizeMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [PascalizeMain, ...PascalizeTuple]\r\n : T extends [(infer F)?]\r\n ? [PascalizeMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [PascalizeMain?, ...PascalizeTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\n/* -----------------------------------------------------------\r\n STRING CONVERTER\r\n----------------------------------------------------------- */\r\ntype PascalizeString = Key extends `${infer F}${infer R}`\r\n ? `${Uppercase}${PascalizeStringRepeatedly}`\r\n : Key;\r\ntype PascalizeStringRepeatedly =\r\n Key extends `${infer F}_${infer R}`\r\n ? `${F}${Capitalize>}`\r\n : Key;\nPascal case converters.Convert every property names of nested objects to be pascal case notation.When you need type safe functions, you can utilize below them.\ntypia.notations.assertPascal(): typia.assert() + typia.notations.pascal()\ntypia.notations.isPascal: typia.is() + typia.notations.pascal()\ntypia.notations.validatePascal: typia.validate() + typia.notations.pascal()\nimport typia from \"typia\";\r\n\r\ninterface IPerson {\r\n is_my_name_samchon?: boolean;\r\n helloTheNewWorld: string;\r\n toHTML: string;\r\n}\r\ntypia.notations.createPascal();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $co0 = input => ({\r\n IsMyNameSamchon: input.is_my_name_samchon,\r\n HelloTheNewWorld: input.helloTheNewWorld,\r\n ToHTML: input.toHTML\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n};","snake-functions#snake() functions":"export namespace notations {\r\n export function snake(input: T): SnakeCase;\r\n export function assertSnake(input: T | unknown): SnakeCase;\r\n export function isSnake(input: T | unknown): SnakeCase | null;\r\n export function validateSnake(input: T | unknown): IValidation>;\r\n\r\n export function createSnake(): (input: T) => SnakeCase;\r\n export function createAssertSnake(): (input: T | unknown) => SnakeCase;\r\n export function createIsSnake(): (input: T | unknown) => SnakeCase | null;\r\n export function createValidateSnake(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Snake case type.\r\n *\r\n * `SnakeCase` type is a type that all keys of an object are converted to snake case.\r\n *\r\n * It also erase every method properties like {@link Resolved} type.\r\n *\r\n * @template T Target type to be snake cased\r\n * @author Jeongho Nam - https://github.com/samchon\r\n */\r\nexport type SnakeCase = Equal> extends true\r\n ? T\r\n : SnakageMain;\r\n\r\n/* -----------------------------------------------------------\r\n OBJECT CONVERSION\r\n----------------------------------------------------------- */\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype SnakageMain = T extends [never]\r\n ? never // special trick for (jsonable | null) type\r\n : T extends { valueOf(): boolean | bigint | number | string }\r\n ? ValueOf\r\n : T extends Function\r\n ? never\r\n : T extends object\r\n ? SnakageObject\r\n : T;\r\n\r\ntype SnakageObject = T extends Array\r\n ? IsTuple extends true\r\n ? SnakageTuple\r\n : SnakageMain[]\r\n : T extends Set\r\n ? Set>\r\n : T extends Map\r\n ? Map, SnakageMain>\r\n : T extends WeakSet | WeakMap\r\n ? never\r\n : T extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? T\r\n : {\r\n [Key in keyof T as SnakageString]: SnakageMain;\r\n };\r\n\r\n/* -----------------------------------------------------------\r\n SPECIAL CASES\r\n----------------------------------------------------------- */\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\ntype SnakageTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [SnakageMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [SnakageMain, ...SnakageTuple]\r\n : T extends [(infer F)?]\r\n ? [SnakageMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [SnakageMain?, ...SnakageTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\n/* -----------------------------------------------------------\r\n STRING CONVERTER\r\n----------------------------------------------------------- */\r\ntype SnakageString = Key extends `${infer _}`\r\n ? SnakageStringRepeatedly\r\n : Key;\r\ntype SnakageStringRepeatedly<\r\n S extends string,\r\n Previous extends string,\r\n> = S extends `${infer First}${infer Second}${infer Rest}`\r\n ? `${Underscore}${Lowercase}${Underscore<\r\n First,\r\n Second\r\n >}${Lowercase}${SnakageStringRepeatedly}`\r\n : S extends `${infer First}`\r\n ? `${Underscore}${Lowercase}`\r\n : \"\";\r\ntype Underscore = First extends\r\n | UpperAlphabetic\r\n | \"\"\r\n | \"_\"\r\n ? \"\"\r\n : Second extends UpperAlphabetic\r\n ? \"_\"\r\n : \"\";\r\ntype UpperAlphabetic =\r\n | \"A\"\r\n | \"B\"\r\n | \"C\"\r\n | \"D\"\r\n | \"E\"\r\n | \"F\"\r\n | \"G\"\r\n | \"H\"\r\n | \"I\"\r\n | \"J\"\r\n | \"K\"\r\n | \"L\"\r\n | \"M\"\r\n | \"N\"\r\n | \"O\"\r\n | \"P\"\r\n | \"Q\"\r\n | \"R\"\r\n | \"S\"\r\n | \"T\"\r\n | \"U\"\r\n | \"V\"\r\n | \"W\"\r\n | \"X\"\r\n | \"Y\"\r\n | \"Z\";\nSnake case converters.Convert every property names of nested objects to be snake case notation.When you need type safe functions, you can utilize below them.\ntypia.notations.assertSnake(): typia.assert() + typia.notations.snake()\ntypia.notations.isSnake: typia.is() + typia.notations.snake()\ntypia.notations.validateSnake: typia.validate() + typia.notations.snake()\nimport typia from \"typia\";\r\n\r\ninterface IPerson {\r\n isMyNameSamchon?: boolean;\r\n HelloTheNewWorld: string;\r\n ToHTML: string;\r\n}\r\ntypia.notations.createSnake();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $co0 = input => ({\r\n is_my_name_samchon: input.isMyNameSamchon,\r\n hello_the_new_world: input.HelloTheNewWorld,\r\n to_html: input.ToHTML\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n};","http-module#http module":"Nestia Supporting\nhttp module has been designed to support the nestia project.\nquery() functions -> @TypedQuery()\nheaders() functions -> @TypedHeaders()\nparameter() function -> @TypedParam()","query-functions#query() functions":"export namespace http {\r\n export function query(input: Query): Resolved;\r\n export function assertQuery(input: Query): Resolved;\r\n export function isQuery(input: Query): Resolved | null;\r\n export function validateQuery(\r\n input: Query\r\n ): IValidation>;\r\n\r\n export function createQuery(): (input: Query) => Resolved;\r\n export function createAssertQuery(): (\r\n input: Query\r\n ) => Resolved;\r\n export function createIsQuery(): (\r\n input: Query\r\n ) => Resolved | null;\r\n export function createValidateQuery(): (\r\n input: Query\r\n ) => IValidation>;\r\n}\r\ntype Query = string | URLSearchParams;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nURL query decoder functions.typia.http.query() is a function decoding a query string or an URLSearchParams instance, with automatic type casting to the expected type. When property type be defined as boolean or number type, typia.http.query() will cast the value to the expected type when decoding.By the way, as URL query is not enough to express complex data structures, typia.http.query() function has some limitations. If target type T is not following those restrictions, compilation errors would be occured.\nType T must be an object type\nDo not allow dynamic property\nOnly boolean, bigint, number, string or their array types are allowed\nBy the way, union type never be not allowed\nAlso, typia.http.query() function does not perform validation about the decoded value. Therefore, if you can't sure that input data is following the T type, it would better to call one of below functions intead.\ntypia.http.assertQuery(): typia.assert() + typia.http.query()\ntypia.http.isQuery(): typia.is() + typia.http.query()\ntypia.http.validateQuery(): typia.validate() + typia.http.query()\nimport typia from \"typia\";\r\n\r\ninterface IQuery {\r\n limit?: number;\r\n enforce: boolean;\r\n values?: string[];\r\n atomic: string | null;\r\n indexes: number[];\r\n}\r\ntypia.http.createQuery();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $params = typia_1.default.http.createQuery.params;\r\n const $number = typia_1.default.http.createQuery.number;\r\n const $boolean = typia_1.default.http.createQuery.boolean;\r\n const $string = typia_1.default.http.createQuery.string;\r\n const $array = typia_1.default.http.createQuery.array;\r\n input = $params(input);\r\n const output = {\r\n limit: $number(input.get(\"limit\")) ?? undefined,\r\n enforce: $boolean(input.get(\"enforce\")),\r\n values: $array(input.getAll(\"values\").map(elem => $string(elem)), undefined),\r\n atomic: $string(input.get(\"atomic\")),\r\n indexes: input.getAll(\"indexes\").map(elem => $number(elem))\r\n };\r\n return output;\r\n};","headers-functions#headers() functions":"export namespace http {\r\n export function headers(input: Headers): Resolved;\r\n export function assertHeaders(input: Headers): Resolved;\r\n export function isHeaders(input: Headers): Resolved | null;\r\n export function validateHeaders(\r\n input: Headers\r\n ): IValidation>;\r\n\r\n export function createHeaders(): (\r\n input: Headers\r\n ) => Resolved;\r\n export function createAssertHeaders(): (\r\n input: Headers\r\n ) => Resolved;\r\n export function createIsHeaders(): (\r\n input: Headers\r\n ) => Resolved | null;\r\n export function createValidateHeaders(): (\r\n input: Headers\r\n ) => IValidation>;\r\n}\r\ntype Headers = Record;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nHeaders decoder (for express and fastify).typia.http.headers() is a function decoding an header instance, with automatic type casting to the expected type. When property type be defined as boolean or number type, typia.http.headers() will cast the value to the expected type.By the way, as HTTP headers are not enough to express complex data structures, typia.http.headers() function has some limitations. If target type T is not following those restrictions, compilation errors would be occured.\nType T must be an object type\nDo not allow dynamic property\nProperty key must be lower case\nProperty value cannot be null, but undefined is possible\nOnly boolean, bigint, number, string or their array types are allowed\nBy the way, union type never be not allowed\nProperty set-cookie must be array type\nThose properties cannot be array type\nage\nauthorization\ncontent-length\ncontent-type\netag\nexpires\nfrom\nhost\nif-modified-since\nif-unmodified-since\nlast-modified\nlocation\nmax-forwards\nproxy-authorization\nreferer\nretry-after\nserver\nuser-agent\nAlso, typia.http.headers() function does not perform validation about the decoded value. Therefore, if you can't sure that input data is following the T type, it would better to call one of below functions intead.\ntypia.http.assertHeaders(): typia.assert() + typia.http.headers()\ntypia.http.isHeaders(): typia.is() + typia.http.headers()\ntypia.http.validateHeaders(): typia.validate() + typia.http.headers()\nimport typia from \"typia\";\r\n\r\ninterface IHeaders {\r\n \"x-Category\": \"x\" | \"y\" | \"z\";\r\n \"x-MEMO\"?: string;\r\n \"x-nAmE\"?: string;\r\n \"x-ValUes\": number[];\r\n \"x-FlAgS\": boolean[];\r\n \"X-Descriptions\": string[];\r\n}\r\ntypia.http.createHeaders();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $number = typia_1.default.http.createHeaders.number;\r\n const $boolean = typia_1.default.http.createHeaders.boolean;\r\n const $string = typia_1.default.http.createHeaders.string;\r\n const output = {\r\n \"x-Category\": input[\"x-category\"],\r\n \"x-MEMO\": input[\"x-memo\"],\r\n \"x-nAmE\": input[\"x-name\"],\r\n \"x-ValUes\": Array.isArray(input[\"x-values\"]) ? input[\"x-values\"].map($number) : input[\"x-values\"]?.split(\", \")?.map($number) ?? [],\r\n \"x-FlAgS\": Array.isArray(input[\"x-flags\"]) ? input[\"x-flags\"].map($boolean) : input[\"x-flags\"]?.split(\", \")?.map($boolean) ?? [],\r\n \"X-Descriptions\": Array.isArray(input[\"x-descriptions\"]) ? input[\"x-descriptions\"].map($string) : input[\"x-descriptions\"]?.split(\", \")?.map($string) ?? []\r\n };\r\n return output;\r\n};","parameter-functions#parameter() functions":"export namespace http {\r\n export function parameter(input: string): T;\r\n export function createParameter(): (\r\n input: string\r\n ) => T;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nURL path parameter decoder.typia.http.parameter() is a function decoding a path parameter, with automatic type casting to the expected type. When type T has beeen defined as boolean or number type, typia.http.parameter() will cast the value to the expected type.Also, typia.http.parameter() performs type assertion to the decoded value by combining with assert function. Therefore, when the decoded value is not following the T type, TypeGuardError would be thrown.\nimport typia, { tags } from \"typia\";\r\n\r\ntypia.http.createParameter>();\r\ntypia.http.createParameter>();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $string = typia_1.default.http.createParameter.string;\r\n const assert = input => {\r\n const __is = input => {\r\n return \"string\" === typeof input && /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.http.createParameter.guard;\r\n return \"string\" === typeof input && (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(input) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"string & Format<\\\"uuid\\\">\",\r\n value: input\r\n })) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"(string & Format<\\\"uuid\\\">)\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n const value = $string(input);\r\n return assert(value);\r\n};\r\ninput => {\r\n const $number = typia_1.default.http.createParameter.number;\r\n const assert = input => {\r\n const __is = input => {\r\n return \"number\" === typeof input && (Math.floor(input) === input && 0 <= input && input <= 4294967295);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.http.createParameter.guard;\r\n return \"number\" === typeof input && (Math.floor(input) === input && 0 <= input && input <= 4294967295 || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"number & Type<\\\"uint32\\\">\",\r\n value: input\r\n })) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"(number & Type<\\\"uint32\\\">)\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n const value = $number(input);\r\n return assert(value);\r\n};"}},"/docs/utilization/nestjs":{"title":"Nestjs","data":{"":"Nestia is a set of helper libraries for NestJS, supporting below features:\n@nestia/core: superfast decorators using typia\n@nestia/sdk: evolved SDK and Swagger generators\n@nestia/migrate: Swagger to NestJS\nnestia: just CLI (command line interface) tool\nimport { Controller } from \"@nestjs/common\";\r\nimport { TypedBody, TypedRoute } from \"@nestia/core\";\r\n\r\nimport type { IBbsArticle } from \"@bbs-api/structures/IBbsArticle\";\r\n\r\n@Controller(\"bbs/articles\")\r\nexport class BbsArticlesController {\r\n /** \r\n * Store a new content.\r\n * \r\n * @param input Content to store\r\n * @returns Newly archived article\r\n */\r\n @TypedRoute.Post() // 200x faster and safer JSON.stringify()\r\n public async store(\r\n @TypedBody() input: IBbsArticle.IStore // 20,000x faster validator\r\n ): Promise; \r\n // do not need DTO class definition, \r\n // just fine with interface\r\n}\nLeft: NestJS server code\nRight: Client code using SDK"}},"/docs/utilization/prisma":{"title":"Prisma","data":{"":"model bbs_articles {\r\n id String @id @db.Uuid /// @format uuid\r\n created_at DateTime @db.Timestamptz\r\n\r\n /// @minItems 1\r\n snapshots bbs_article_snapshots[]\r\n}\r\n\r\nmodel bbs_article_snapshots {\r\n id String @id @db.Uuid /// @format uuid\r\n bbs_article_id String @db.Uuid /// @format uuid\r\n format String @db.VarChar\r\n\r\n /// @minLength 5\r\n /// @maxLength 80\r\n title String @db.VarChar\r\n body String\r\n created_at DateTime @db.Timestamptz\r\n\r\n article bbs_articles @relation(fields: [bbs_article_id], references: [id])\r\n}\n/**\r\n * Model bbs_articles\r\n */\r\nexport type bbs_articles = {\r\n /**\r\n * @format uuid\r\n */\r\n id: string\r\n created_at: Date\r\n}\r\n\r\n/**\r\n * Model bbs_article_snapshots\r\n */\r\nexport type bbs_article_snapshots = {\r\n /**\r\n * @format uuid\r\n */\r\n id: string\r\n /**\r\n * @format uuid\r\n */\r\n bbs_article_id: string\r\n format: string\r\n /**\r\n * @minLength 5\r\n * @maxLength 80\r\n */\r\n title: string\r\n body: string\r\n created_at: Date\r\n}\nWhen defining prisma.schema file, you can write comment tags just by using /// statement.After the definition, you utillize some validate function like typia.assert(), for type safe insertion."}},"/playground":{"title":"Index","data":{}},"/":{"title":"Index","data":{"outline#Outline":"// RUNTIME VALIDATORS\r\nexport function is(input: unknown): input is T; // returns boolean\r\nexport function assert(input: unknown): T; // throws TypeGuardError\r\nexport function validate(input: unknown): IValidation; // detailed\r\n\r\n// JSON FUNCTIONS\r\nexport namespace json {\r\n export function application(): IJsonApplication; // JSON schema\r\n export function assertParse(input: string): T; // type safe parser\r\n export function assertStringify(input: T): string; // safe and faster\r\n}\r\n\r\n// PROTOCOL BUFFER\r\nexport namespace protobuf {\r\n export function message(): string; // Protocol Buffer message\r\n export function assertDecode(buffer: Uint8Array): T; // safe decoder\r\n export function assertEncode(input: T): Uint8Array; // safe encoder\r\n}\r\n\r\n// RANDOM GENERATOR\r\nexport function random(g?: Partial): T;\nTypia is a transformer library supporting below features:\nSuper-fast Runtime Validators\nEnhanced JSON functions\nProtocol Buffer encoder and decoder\nRandom data generator\nOnly one line required, with pure TypeScript type\nRuntime validator is 20,000x faster than class-validator\nJSON serialization is 200x faster than class-transformer","sponsors#Sponsors":"Thanks for your support.Your donation would encourage typia development."}},"/docs/json/schema":{"title":"Schema","data":{"application-function#application() function":"export namespace json {\r\n export function application<\r\n Schemas extends unknown[],\r\n Purpose extends \"ajv\" | \"swagger\",\r\n >(): IJsonApplication;\r\n}\nexport interface IJsonApplication {\r\n schemas: IJsonSchema[];\r\n components: IJsonComponents;\r\n purpose: \"swagger\" | \"ajv\";\r\n}\nexport interface IJsonComponents {\r\n schemas: Record;\r\n}\r\nexport namespace IJsonComponents {\r\n export interface IObject {\r\n $id?: string;\r\n $recursiveAnchor?: boolean;\r\n\r\n type: \"object\";\r\n nullable: boolean;\r\n\r\n properties: Record;\r\n patternProperties?: Record;\r\n additionalProperties?: IJsonSchema;\r\n\r\n required?: string[];\r\n description?: string;\r\n \"x-typia-jsDocTags\"?: IJsDocTagInfo[];\r\n \"x-typia-patternProperties\"?: Record;\r\n \"x-typia-additionalProperties\"?: IJsonSchema;\r\n }\r\n}\nexport type IJsonSchema = IJsonSchema.NotUnknown | IJsonSchema.IUnknown;\r\nexport namespace IJsonSchema {\r\n export type NotUnknown =\r\n | IEnumeration<\"boolean\">\r\n | IEnumeration<\"number\">\r\n | IEnumeration<\"string\">\r\n | IBoolean\r\n | IInteger\r\n | INumber\r\n | IString\r\n | IArray\r\n | ITuple\r\n | IOneOf\r\n | IReference\r\n | IRecursiveReference\r\n | INullOnly;\r\n\r\n /* -----------------------------------------------------------\r\n ATOMICS\r\n ----------------------------------------------------------- */\r\n export interface IEnumeration<\r\n Literal extends Exclude,\r\n > extends IAtomic {\r\n enum: Array;\r\n }\r\n export interface IAtomic>\r\n extends ISignificant {\r\n default?: Atomic.Mapper[Literal];\r\n }\r\n export interface IString extends IAtomic<\"string\"> {\r\n /**\r\n * @type uint\r\n */\r\n minLength?: number;\r\n /**\r\n * @type uint\r\n */\r\n maxLength?: number;\r\n pattern?: string;\r\n format?: string;\r\n }\r\n export interface INumber extends IAtomic<\"number\"> {\r\n minimum?: number;\r\n maximum?: number;\r\n exclusiveMinimum?: boolean;\r\n exclusiveMaximum?: boolean;\r\n multipleOf?: number;\r\n }\r\n export interface IInteger extends IAtomic<\"integer\"> {\r\n /**\r\n * @type int\r\n */\r\n minimum?: number;\r\n /**\r\n * @type int\r\n */\r\n maximum?: number;\r\n exclusiveMinimum?: boolean;\r\n exclusiveMaximum?: boolean;\r\n /**\r\n * @type int\r\n */\r\n multipleOf?: number;\r\n }\r\n export interface IBoolean extends IAtomic<\"boolean\"> {}\r\n\r\n /* -----------------------------------------------------------\r\n OBJECTS\r\n ----------------------------------------------------------- */\r\n export interface IArray extends ISignificant<\"array\"> {\r\n items: IJsonSchema;\r\n /**\r\n * @type uint\r\n */\r\n minItems?: number;\r\n /**\r\n * @type uint\r\n */\r\n maxItems?: number;\r\n \"x-typia-tuple\"?: ITuple;\r\n }\r\n export interface ITuple extends ISignificant<\"array\"> {\r\n items: IJsonSchema[];\r\n }\r\n export interface IReference extends IAttribute {\r\n $ref: string;\r\n }\r\n export interface IRecursiveReference extends IAttribute {\r\n $recursiveRef: string;\r\n }\r\n export interface INullOnly extends IAttribute {\r\n type: \"null\";\r\n }\r\n\r\n /* -----------------------------------------------------------\r\n MISCELLANEOUS\r\n ----------------------------------------------------------- */\r\n export interface IOneOf extends IAttribute {\r\n oneOf: IJsonSchema[];\r\n }\r\n export interface IUnknown {\r\n type: undefined;\r\n }\r\n\r\n export interface ISignificant extends IAttribute {\r\n type: Literal;\r\n nullable: boolean;\r\n }\r\n export interface IAttribute {\r\n deprecated?: boolean;\r\n title?: string;\r\n description?: string;\r\n \"x-typia-jsDocTags\"?: IJsDocTagInfo[];\r\n \"x-typia-required\"?: boolean;\r\n \"x-typia-rest\"?: boolean;\r\n }\r\n}\nJSON schema generator.\nDefinitions:\nIJsonApplication\nIJsonComponents\nIJsonSchema\nWhen you need JSON schema, do not write it by yourself, but just call typia.application() function.If you call the typia.application() with specialization of target Schemas, typia will analyze your Schemas and generate JSON schema definition in the compilation level. However, note that, JSON schema definitions of AJV and Swagger are a little bit different. Therefore, you have to consider which value to assign in the Purpose argument.\nSwagger can't express tuple type\nSwagger can't express pattern property\nimport typia, { tags } from \"typia\";\r\n\r\nexport const MemberSchema = typia.application<[IMember], \"ajv\">();\r\n\r\ninterface IMember {\r\n /**\r\n * Unique user ID generated by server.\r\n */\r\n id: string & tags.Format<\"uuid\">;\r\n\r\n /**\r\n * Email address of the member.\r\n */\r\n email: string & tags.Format<\"email\">;\r\n\r\n /**\r\n * Age of the member.\r\n * \r\n * For reference, only adult can be a member.\r\n */\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MemberSchema = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nexports.MemberSchema = {\r\n schemas: [\r\n {\r\n $ref: \"#/components/schemas/IMember\"\r\n }\r\n ],\r\n components: {\r\n schemas: {\r\n IMember: {\r\n $id: \"#/components/schemas/IMember\",\r\n type: \"object\",\r\n properties: {\r\n id: {\r\n description: \"Unique user ID generated by server.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n email: {\r\n description: \"Email address of the member.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n age: {\r\n description: \"Age of the member.\\n\\nFor reference, only adult can be a member.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n }\r\n },\r\n required: [\r\n \"id\",\r\n \"email\",\r\n \"age\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n }\r\n }\r\n },\r\n purpose: \"ajv\"\r\n};","specialization#Specialization":"You can utilize type tags (or validator's comment tags) to constructing special fields of JSON schema.If you write any comment on a property, it would fill the IJsonSchema.description value. Also, there're special comment tags only for JSON schema definition that are different with validator's comment tags like below.\n@deprecated\n@hidden\n@internal\n@title {string}\n@default {value}\nLet's see how those type tags, comment tags and description comments are working with example code.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const SpecialTagSchema = typia.json.application<[Special], \"swagger\">();\r\n\r\ninterface Special {\r\n /**\r\n * Deprecated tags are just used for marking.\r\n * \r\n * @title Unsigned integer\r\n * @deprecated\r\n */\r\n type: number & tags.Type<\"int32\">;\r\n\r\n /**\r\n * Internal tagged property never be shown in JSON schema.\r\n * \r\n * It even doesn't be shown in other `typia` functions like `assert()`.\r\n * \r\n * @internal\r\n */\r\n internal: number[];\r\n\r\n /**\r\n * Hidden tagged property never be shown in JSON schema.\r\n * \r\n * However, it would be shown in other `typia` functions like `stringify()`.\r\n * \r\n * @hidden\r\n */\r\n hidden: boolean;\r\n\r\n /**\r\n * You can limit the range of number.\r\n * \r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n * @default 30\r\n */\r\n number?: number;\r\n\r\n /**\r\n * You can limit the length of string.\r\n * \r\n * Also, multiple range conditions are also possible.\r\n */\r\n string: string & (\r\n | (tags.MinLength<3> & tags.MaxLength<24>)\r\n | (tags.MinLength<40> & tags.MaxLength<100>)\r\n );\r\n\r\n /**\r\n * You can limit the pattern of string.\r\n * \r\n * @pattern ^[a-z]+$\r\n */\r\n pattern: string;\r\n\r\n /**\r\n * You can limit the format of string.\r\n * \r\n * @format date-time\r\n */\r\n format: string | null;\r\n \r\n /**\r\n * In the Array case, possible to restrict its elements.\r\n */\r\n array: Array> & tags.MinItems<3>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SpecialTagSchema = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nexports.SpecialTagSchema = {\r\n schemas: [\r\n {\r\n $ref: \"#/components/schemas/Special\"\r\n }\r\n ],\r\n components: {\r\n schemas: {\r\n Special: {\r\n type: \"object\",\r\n properties: {\r\n type: {\r\n deprecated: true,\r\n title: \"Unsigned integer\",\r\n description: \"Deprecated tags are just used for marking.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"title\",\r\n text: [\r\n {\r\n text: \"Unsigned integer\",\r\n kind: \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"deprecated\"\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"integer\"\r\n },\r\n number: {\r\n description: \"You can limit the range of number.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"exclusiveMinimum\",\r\n text: [\r\n {\r\n text: \"19\",\r\n kind: \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"maximum\",\r\n text: [\r\n {\r\n text: \"100\",\r\n kind: \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"default\",\r\n text: [\r\n {\r\n text: \"30\",\r\n kind: \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": false,\r\n \"x-typia-optional\": true,\r\n type: \"number\",\r\n minimum: 19,\r\n exclusiveMinimum: true,\r\n maximum: 100,\r\n \"default\": 30\r\n },\r\n string: {\r\n oneOf: [\r\n {\r\n description: \"You can limit the length of string.\\n\\nAlso, multiple range conditions are also possible.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n maxLength: 24,\r\n minLength: 3\r\n },\r\n {\r\n description: \"You can limit the length of string.\\n\\nAlso, multiple range conditions are also possible.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n maxLength: 100,\r\n minLength: 40\r\n }\r\n ],\r\n description: \"You can limit the length of string.\\n\\nAlso, multiple range conditions are also possible.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n pattern: {\r\n description: \"You can limit the pattern of string.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"pattern\",\r\n text: [\r\n {\r\n text: \"^[a-z]+$\",\r\n kind: \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n pattern: \"^[a-z]+$\"\r\n },\r\n format: {\r\n description: \"You can limit the format of string.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"format\",\r\n text: [\r\n {\r\n text: \"date-time\",\r\n kind: \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n format: \"date-time\",\r\n nullable: true\r\n },\r\n array: {\r\n description: \"In the Array case, possible to restrict its elements.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"array\",\r\n items: {\r\n description: \"In the Array case, possible to restrict its elements.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n format: \"uuid\"\r\n },\r\n minItems: 3\r\n }\r\n },\r\n nullable: false,\r\n required: [\r\n \"type\",\r\n \"string\",\r\n \"pattern\",\r\n \"format\",\r\n \"array\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n }\r\n }\r\n },\r\n purpose: \"swagger\"\r\n};","restrictions#Restrictions":"JSON schema does not support bigint type.So if you use bigint type in one of your onetarget schemas, typia will make compile error like below.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface Something {\r\n bigint: bigint;\r\n array: bigint[];\r\n nested: Nested;\r\n}\r\ninterface Nested {\r\n uint64: bigint & tags.Type<\"uint64\">;\r\n}\r\n\r\ntypia.json.application<[Something], \"ajv\">();\nmain.ts:12:1 - error TS(typia.json.application): unsupported type detected\r\n\r\n- Something.bigint: bigint\r\n - JSON does not support bigint type.\r\n\r\n- Something.array: bigint\r\n - JSON does not support bigint type.\r\n\r\n- Nested.uint64: (bigint & Type<\"uint64\">)\r\n - JSON does not support bigint type.\nAlso, if you put any type of native classes like Map or Uint8Array, it would be considered as an empty object. By the way, only Date class is exceptional, and it would be considered as string & Format<\"date-time\"> type like below.\nimport typia from \"typia\";\r\n\r\ninterface Native {\r\n date: Date;\r\n bytes: Uint8Array;\r\n map: Map;\r\n}\r\ntypia.json.application<[Native], \"ajv\">();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n({\r\n schemas: [\r\n {\r\n $ref: \"#/components/schemas/Native\"\r\n }\r\n ],\r\n components: {\r\n schemas: {\r\n Native: {\r\n $id: \"#/components/schemas/Native\",\r\n type: \"object\",\r\n properties: {\r\n date: {\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n format: \"date-time\"\r\n },\r\n bytes: {\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n $ref: \"#/components/objects/Uint8Array\"\r\n },\r\n map: {\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n $ref: \"#/components/objects/Map\"\r\n }\r\n },\r\n required: [\r\n \"date\",\r\n \"bytes\",\r\n \"map\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n },\r\n Uint8Array: {\r\n type: \"object\",\r\n $id: \"#/components/objects/Uint8Array\",\r\n properties: {}\r\n },\r\n Map: {\r\n type: \"object\",\r\n $id: \"#/components/objects/Map\",\r\n properties: {}\r\n }\r\n }\r\n },\r\n purpose: \"ajv\"\r\n});"}},"/docs/json/stringify":{"title":"Stringify","data":{"stringify-functions#stringify() functions":"export namespace json {\r\n export function stringify(input: T): string;\r\n export function isStringify(input: T | unknown): string | null;\r\n export function assertStringify(input: T | unknown): string;\r\n export function validateStringify(input: T | unknown): IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nYou can boost up JSON serialization speed just by calling typia.json.stringify() function. Also, you even can ensure type safety of JSON serialization by calling other functions like typia.json.isStringify() and typia.json.assertStringify() functions.As typia.json.stringify() function writes dedicated JSON serialization code only for the target type T, its performance is much faster than native JSON.stringify() function. However, because of the dedicated optimal JSON serialization code, when wrong typed data comes, unexpected error be occured.Instead, typia supports type safe JSON serialization functions like typia.json.isStringify(). The typia.json.isStringify() is a combination function of typia.is() and typia.json.stringify() function. It checks whether the input value is valid for the target type T or not first, and operate JSON serialization later. If the input value is not matched with the type T, it returns null value.\ntypia.json.isStringify(): typia.is() + typia.json.stringify()\ntypia.json.assertStringify(): typia.assert() + typia.json.stringify()\ntypia.json.validateStringify(): typia.validate() + typia.json.stringify()\nAOT compliation\ntypia.json.isStringify() and other similar functions are still much faster than native JSON.stringify() function, even though they include type checking process. This is the power of AOT compilation, writing optimal dedicated code by analyzing TypeScript type, in the compilation level.\nimport typia, { tags } from \"typia\";\r\n\r\nconst department: IDepartment = typia.random();\r\nconst json: string | null = typia.json.isStringify(department);\r\n\r\nconsole.log(json); // not null, but string\r\n\r\ninterface IDepartment {\r\n id: string & tags.Format<\"uuid\">;\r\n name: string & tags.MinLength<3>;\r\n limit: number & tags.Type<\"int32\">;\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n authority: number;\r\n joined_at: string & tags.Format<\"date\">;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst department = ((generator) => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"uuid\">',\r\n kind: \"format\",\r\n value: \"uuid\",\r\n },\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n name:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"MinLength<3>\",\r\n kind: \"minLength\",\r\n value: 3,\r\n },\r\n ]) ??\r\n (generator?.string ?? $generator.string)(\r\n (generator?.integer ?? $generator.integer)(3, 25),\r\n ),\r\n limit:\r\n (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: 'Type<\"int32\">',\r\n kind: \"type\",\r\n value: \"int32\",\r\n },\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n clerks: (generator?.array ?? $generator.array)(() =>\r\n $ro1(_recursive, _recursive ? 1 + _depth : _depth),\r\n ),\r\n });\r\n const $ro1 = (_recursive = false, _depth = 0) => ({\r\n name:\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ??\r\n (generator?.string ?? $generator.string)(),\r\n age:\r\n (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: 'Type<\"uint32\">',\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n },\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100),\r\n authority:\r\n (generator?.customs ?? $generator.customs)?.number?.([]) ??\r\n (generator?.number ?? $generator.number)(0, 100),\r\n joined_at:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"date\">',\r\n kind: \"format\",\r\n value: \"date\",\r\n },\r\n ]) ?? (generator?.date ?? $generator.date)(),\r\n });\r\n return $ro0();\r\n})();\r\nconst json = ((input) => {\r\n const is = (input) => {\r\n const $io0 = (input) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.name &&\r\n 3 <= input.name.length &&\r\n \"number\" === typeof input.limit &&\r\n Math.floor(input.limit) === input.limit &&\r\n -2147483648 <= input.limit &&\r\n input.limit <= 2147483647 &&\r\n Array.isArray(input.clerks) &&\r\n input.clerks.every(\r\n (elem) =>\r\n \"object\" === typeof elem && null !== elem && $io1(elem),\r\n );\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n !Number.isNaN(input.authority) &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n const stringify = (input) => {\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n const $string = typia_1.default.json.isStringify.string;\r\n const $so0 = (input) =>\r\n `{\"id\":${$string(input.id)},\"name\":${$string(input.name)},\"limit\":${\r\n input.limit\r\n },\"clerks\":${`[${input.clerks\r\n .map(\r\n (elem) =>\r\n `{\"name\":${$string(elem.name)},\"age\":${\r\n elem.age\r\n },\"authority\":${elem.authority},\"joined_at\":${$string(\r\n elem.joined_at,\r\n )}}`,\r\n )\r\n .join(\",\")}]`}}`;\r\n return $so0(input);\r\n };\r\n return is(input) ? stringify(input) : null;\r\n})(department);\r\nconsole.log(json); // not null, but string","reusable-functions#Reusable functions":"export namespace json {\r\n export function createStringify: (input: T) => string;\r\n export function createIsStringify: (\r\n input: T | unknown\r\n ) => string | null;\r\n export function createAssertStringify: (\r\n input: T | unknown\r\n ) => string;\r\n export function createValidateStringify: (\r\n input: T | unknown\r\n ) => IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nReusable typia.json.stringify() function generators.If you repeat to call typia.json.stringify() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.json.createStringify() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const assertDepartment = typia.json.createAssertStringify();\r\n\r\ninterface IDepartment {\r\n id: string & tags.Format<\"uuid\">;\r\n name: string & tags.MinLength<3>;\r\n limit: number & tags.Type<\"int32\">;\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n authority: number;\r\n joined_at: string & tags.Format<\"date\">;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertDepartment = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertDepartment = (input) => {\r\n const assert = (input) => {\r\n const __is = (input) => {\r\n const $io0 = (input) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.name &&\r\n 3 <= input.name.length &&\r\n \"number\" === typeof input.limit &&\r\n Math.floor(input.limit) === input.limit &&\r\n -2147483648 <= input.limit &&\r\n input.limit <= 2147483647 &&\r\n Array.isArray(input.clerks) &&\r\n input.clerks.every(\r\n (elem) =>\r\n \"object\" === typeof elem && null !== elem && $io1(elem),\r\n );\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n !Number.isNaN(input.authority) &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.json.createAssertStringify.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.name &&\r\n (3 <= input.name.length ||\r\n $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string & MinLength<3>\",\r\n value: input.name,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"(string & MinLength<3>)\",\r\n value: input.name,\r\n })) &&\r\n ((\"number\" === typeof input.limit &&\r\n ((Math.floor(input.limit) === input.limit &&\r\n -2147483648 <= input.limit &&\r\n input.limit <= 2147483647) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: 'number & Type<\"int32\">',\r\n value: input.limit,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: '(number & Type<\"int32\">)',\r\n value: input.limit,\r\n })) &&\r\n (((Array.isArray(input.clerks) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks,\r\n })) &&\r\n input.clerks.every(\r\n (elem, _index1) =>\r\n (((\"object\" === typeof elem && null !== elem) ||\r\n $guard(_exceptionable, {\r\n path:\r\n _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem,\r\n })) &&\r\n $ao1(\r\n elem,\r\n _path + \".clerks[\" + _index1 + \"]\",\r\n true && _exceptionable,\r\n )) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem,\r\n }),\r\n )) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks,\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) =>\r\n (\"string\" === typeof input.name ||\r\n $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n })) &&\r\n ((\"number\" === typeof input.authority &&\r\n !Number.isNaN(input.authority)) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".authority\",\r\n expected: \"number\",\r\n value: input.authority,\r\n })) &&\r\n ((\"string\" === typeof input.joined_at &&\r\n (/^(d{4})-(d{2})-(d{2})$/.test(input.joined_at) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: 'string & Format<\"date\">',\r\n value: input.joined_at,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: '(string & Format<\"date\">)',\r\n value: input.joined_at,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n const stringify = (input) => {\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n const $string = typia_1.default.json.createAssertStringify.string;\r\n const $so0 = (input) =>\r\n `{\"id\":${$string(input.id)},\"name\":${$string(input.name)},\"limit\":${\r\n input.limit\r\n },\"clerks\":${`[${input.clerks\r\n .map(\r\n (elem) =>\r\n `{\"name\":${$string(elem.name)},\"age\":${\r\n elem.age\r\n },\"authority\":${elem.authority},\"joined_at\":${$string(\r\n elem.joined_at,\r\n )}}`,\r\n )\r\n .join(\",\")}]`}}`;\r\n return $so0(input);\r\n };\r\n return stringify(assert(input));\r\n};\r\nexports.assertDepartment = assertDepartment;","performance#Performance":"Comparing JSON serialization speed with others, it is maximum 200x faster than class-transformer.For reference, class-transformer is the most famous library used in NestJS with class-validator. Also, fast-json-stringify is another famous one used in fastify. However, whether they are fast or slow, both of them require extra schema definition, that is different with TypeScript type. If you see the code below without experience of them, you may get shocked: how complicate and inefficient they are:\nfast-json-stringify requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nMeasured on Intel i5-1135g7, Surface Pro 8","server-performance#Server Performance":"Someone may ask:\nJSON serialization speed affects on the server performance?I think that the JSON serialization is just a tiny thing in the server side, isn't it?\nMy answer is, \"Yes, it affects on the server performance\".Most operations in NodeJS server are asynchronously executed in background thread, what are called \"event based non-blocking I/O model\". However, JSON serialization is a synchronous operation running on the main thread. Therefore, if the JSON serialization speed is slow, it makes the entire server program slow.I'll show you the benchmark result that, how JSON serizliation speed affects on the server performance.\nMeasured on Intel i5-1135g7, Surface Pro 8"}},"/docs/json/parse":{"title":"Parse","data":{"parse-functions#parse() functions":"export namespace json {\r\n export function isParse(input: string): Primitive | null;\r\n export function assertParse(input: string): Primitive;\r\n export function validateParse(\r\n input: string\r\n ): IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Primitive type of JSON.\r\n *\r\n * `Primitive` is a TMP (Type Meta Programming) type which converts\r\n * its argument as a primitive type within framework JSON.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be an empty object (`{}`).\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom method\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the primitive object.\r\n *\r\n * In addition, if the target argument is a type of custom class and it has a special\r\n * method `toJSON()`, return type of this `Primitive` would be not `Primitive`\r\n * but `Primitive>`.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `String` | `string`\r\n * `Class` | `object`\r\n * `Class` with `toJSON()` | `Primitive>`\r\n * Native Class | `{}`\r\n * Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n * @author Michael - https://github.com/8471919\r\n */\r\nexport type Primitive = Equal> extends true\r\n ? T\r\n : PrimitiveMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype PrimitiveMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends bigint\r\n ? never\r\n : ValueOf extends boolean | number | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : ValueOf extends object\r\n ? Instance extends object\r\n ? Instance extends NativeClass\r\n ? {}\r\n : Instance extends IJsonable\r\n ? ValueOf extends object\r\n ? Raw extends object\r\n ? PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf // atomic value\r\n : PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf;\r\n\r\ntype PrimitiveObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? PrimitiveTuple\r\n : PrimitiveMain[]\r\n : {\r\n [P in keyof Instance]: PrimitiveMain;\r\n };\r\n\r\ntype PrimitiveTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [PrimitiveMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain, ...PrimitiveTuple]\r\n : T extends [(infer F)?]\r\n ? [PrimitiveMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain?, ...PrimitiveTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype NativeClass =\r\n | Set\r\n | Map\r\n | WeakSet\r\n | WeakMap\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends U\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\ninterface IJsonable {\r\n toJSON(): T;\r\n}\nType safe JSON parser.Unlike native JSON.parse() function which returns any typed instance without type checking, typia.json.assertParse() function validates instance type after the parsing. If the parsed value is not following the promised type T, it throws TypeGuardError with the first type error info.If you want to know every type error infos detaily, you can use typia.json.validateParse() function instead. Otherwise, you just only want to know whether the parsed value is following the type T or not, just call typia.json.isParse() function.\ntypia.json.isParse(): JSON.parse() + typia.is()\ntypia.json.assertParse(): JSON.parse() + typia.assert()\ntypia.json.validateParse(): JSON.parse() + typia.validate()\nLook at the below code, then you may understand how the typia.json.assertParse() function works.\nimport typia, { tags } from \"typia\";\r\n\r\nconst json: string = JSON.stringify(typia.random());\r\nconst parsed: IMember = typia.json.assertParse(json);\r\n\r\nconsole.log(json === JSON.stringify(parsed)); // true\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst json = JSON.stringify(\r\n ((generator) => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"uuid\">',\r\n kind: \"format\",\r\n value: \"uuid\",\r\n },\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n email:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"email\">',\r\n kind: \"format\",\r\n value: \"email\",\r\n },\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n age:\r\n (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: 'Type<\"uint32\">',\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n },\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100),\r\n });\r\n return $ro0();\r\n })(),\r\n);\r\nconst parsed = ((input) => {\r\n const assert = (input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.json.assertParse.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n input = JSON.parse(input);\r\n return assert(input);\r\n})(json);\r\nconsole.log(json === JSON.stringify(parsed)); // true\n/**\r\n * Primitive type of JSON.\r\n *\r\n * `Primitive` is a TMP (Type Meta Programming) type which converts\r\n * its argument as a primitive type within framework JSON.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be an empty object (`{}`).\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom method\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the primitive object.\r\n *\r\n * In addition, if the target argument is a type of custom class and it has a special\r\n * method `toJSON()`, return type of this `Primitive` would be not `Primitive`\r\n * but `Primitive>`.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `String` | `string`\r\n * `Class` | `object`\r\n * `Class` with `toJSON()` | `Primitive>`\r\n * Native Class | `{}`\r\n * Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n * @author Michael - https://github.com/8471919\r\n */\r\nexport type Primitive = Equal> extends true\r\n ? T\r\n : PrimitiveMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype PrimitiveMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends bigint\r\n ? never\r\n : ValueOf extends boolean | number | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : ValueOf extends object\r\n ? Instance extends object\r\n ? Instance extends NativeClass\r\n ? {}\r\n : Instance extends IJsonable\r\n ? ValueOf extends object\r\n ? Raw extends object\r\n ? PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf // atomic value\r\n : PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf;\r\n\r\ntype PrimitiveObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? PrimitiveTuple\r\n : PrimitiveMain[]\r\n : {\r\n [P in keyof Instance]: PrimitiveMain;\r\n };\r\n\r\ntype PrimitiveTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [PrimitiveMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain, ...PrimitiveTuple]\r\n : T extends [(infer F)?]\r\n ? [PrimitiveMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain?, ...PrimitiveTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype NativeClass =\r\n | Set\r\n | Map\r\n | WeakSet\r\n | WeakMap\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends U\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\ninterface IJsonable {\r\n toJSON(): T;\r\n}","reusable-functions#Reusable functions":"export namespace json {\r\n export function createIsParse(): (\r\n input: string\r\n ) => Primitive | null;\r\n export function createAssertParse(): (\r\n input: string\r\n ) => Primitive;\r\n export function createValidateParse(): (\r\n input: string\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nReusable typia.json.isParse() function generators.If you repeat to call typia.json.isParse() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createIsParse() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const parseMember = typia.json.createIsParse();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.parseMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst parseMember = (input) => {\r\n const is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n input = JSON.parse(input);\r\n return is(input) ? input : null;\r\n};\r\nexports.parseMember = parseMember;"}},"/docs/protobuf/message":{"title":"Message","data":{"message-function#message() function":"export namespace protobuf {\r\n export function message(): string;\r\n}\ntypia.protobuf.message() function returns a Protocol Buffer message (structure) as a string value.With this message() function, you can share *.proto files with other languages. If you want to customize byte order or define specific type (that is not supported in the TypeScript) like uint32, use comment tags by following comment tags section.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\r\n\r\ntypia.protobuf.message();\nsyntax = \"proto3\";\r\n\r\nmessage ICustomer {\r\n required int32 id = 1;\r\n required string email = 2;\r\n required string name = 3;\r\n oneof pet {\r\n ICat v4 = 4;\r\n IDog v5 = 5;\r\n }\r\n map memo = 6;\r\n repeated ICustomerLogin logins = 7;\r\n}\r\n\r\nmessage ICat {\r\n required string type = 1;\r\n required string name = 2;\r\n required bool ribbon = 3;\r\n}\r\n\r\nmessage IDog {\r\n required string type = 1;\r\n required string name = 2;\r\n required bool hunt = 3;\r\n}\r\n\r\nmessage ICustomerLogin {\r\n required bool success = 1;\r\n required string href = 2;\r\n required string referrer = 3;\r\n required string ip = 4;\r\n required string time = 5;\r\n}","type-tags#Type Tags":"By using type tags, you can use special numeric types that are not supported in the TypeScript.Just import Type (or typia.tags.Type) type, and combine it with number or bigint type through intersection symbol number & typia.tagsType<\"float\"> case. If you want to declare an union numeric type, combine | and bracket (()) symbols properly like below.When you take a mistake that choosing different target type, TypeScript compiler would block it with compliation error message. Therefore, have a confidence when using the Type tag. For such type safety reason, I recommend to use Type tag instead of using comment tags as much as possible.\nnumber & (Type<\"uint32\"> | Type<\"double\">)\nnumber type can be both uint32 and double\n(number & Type<\"int32\">) | (bigint & Type<\"uint64\">)\nnumber is int32\nbigint is uint64\n(number & (Type<\"int32\">)| Type<\"float\">) | (bigint & Type<\"uint64\">)\nnumber can be both int32 and float\nbigint is uint64\nimport typia, { tags } from \"typia\";\r\n\r\nexport interface TypeTagExample {\r\n // ATOMIC TYPES\r\n int32: number & tags.Type<\"int32\">;\r\n uint32: number & tags.Type<\"uint32\">;\r\n uint64: bigint & tags.Type<\"uint64\">;\r\n int64: number & tags.Type<\"int64\">;\r\n float: number & tags.Type<\"float\">;\r\n double: number | undefined;\r\n string: string | null;\r\n\r\n // UNION TYPES\r\n uint32_or_double: number & (tags.Type<\"uint32\"> | tags.Type<\"double\">);\r\n int32_or_uint64: \r\n | (number & tags.Type<\"int32\">) \r\n | (bigint & tags.Type<\"uint64\">);\r\n int32_or_float_or_uint64: \r\n | (number & (tags.Type<\"int32\"> | tags.Type<\"float\">)) \r\n | (bigint & tags.Type<\"uint64\">);\r\n\r\n // ARRAY AND MAP\r\n uint64_array: Array>;\r\n int32_map?: Map, string> | null;\r\n}\r\n\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\ntypia.protobuf.message();\r\n\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ntypia.protobuf.createDecode();\r\n\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ntypia.protobuf.createEncode();\nsyntax = \"proto3\";\r\n\r\nmessage TypeTagExample {\r\n required int32 int32 = 1;\r\n required uint32 uint32 = 2;\r\n required uint64 uint64 = 3;\r\n required int64 int64 = 4;\r\n required float float = 5;\r\n optional double double = 6;\r\n optional string string = 7;\r\n oneof uint32_or_double {\r\n uint32 v8 = 8;\r\n double v9 = 9;\r\n }\r\n oneof int32_or_uint64 {\r\n int32 v10 = 10;\r\n uint64 v11 = 11;\r\n }\r\n oneof int32_or_float_or_uint64 {\r\n int32 v12 = 12;\r\n uint64 v13 = 13;\r\n float v14 = 14;\r\n }\r\n repeated uint64 uint64_array = 15;\r\n map int32_map = 16;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\n\"syntax = \\\"proto3\\\";\\n\\nmessage TypeTagExample {\\n required int32 int32 = 1;\\n required uint32 uint32 = 2;\\n required uint64 uint64 = 3;\\n required int64 int64 = 4;\\n required float float = 5;\\n optional double double = 6;\\n optional string string = 7;\\n oneof uint32_or_double {\\n uint32 v8 = 8;\\n double v9 = 9;\\n }\\n oneof int32_or_uint64 {\\n int32 v10 = 10;\\n uint64 v11 = 11;\\n }\\n oneof int32_or_float_or_uint64 {\\n int32 v12 = 12;\\n uint64 v13 = 13;\\n float v14 = 14;\\n }\\n repeated uint64 uint64_array = 15;\\n map int32_map = 16;\\n}\";\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ninput => {\r\n const $Reader = typia_1.default.protobuf.createDecode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n int32: undefined,\r\n uint32: undefined,\r\n uint64: undefined,\r\n int64: undefined,\r\n float: undefined,\r\n double: undefined,\r\n string: null,\r\n uint32_or_double: undefined,\r\n int32_or_uint64: undefined,\r\n int32_or_float_or_uint64: undefined,\r\n uint64_array: [],\r\n int32_map: null\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.int32 = reader.int32();\r\n break;\r\n case 2:\r\n // uint32;\r\n output.uint32 = reader.uint32();\r\n break;\r\n case 3:\r\n // uint64;\r\n output.uint64 = reader.uint64();\r\n break;\r\n case 4:\r\n // int64;\r\n output.int64 = Number(reader.int64());\r\n break;\r\n case 5:\r\n // float;\r\n output.float = reader.float();\r\n break;\r\n case 6:\r\n // double;\r\n output.double = reader.double();\r\n break;\r\n case 7:\r\n // string;\r\n output.string = reader.string();\r\n break;\r\n case 8:\r\n // uint32;\r\n output.uint32_or_double = reader.uint32();\r\n break;\r\n case 9:\r\n // double;\r\n output.uint32_or_double = reader.double();\r\n break;\r\n case 10:\r\n // int32;\r\n output.int32_or_uint64 = reader.int32();\r\n break;\r\n case 11:\r\n // uint64;\r\n output.int32_or_uint64 = reader.uint64();\r\n break;\r\n case 12:\r\n // int32;\r\n output.int32_or_float_or_uint64 = reader.int32();\r\n break;\r\n case 13:\r\n // uint64;\r\n output.int32_or_float_or_uint64 = reader.uint64();\r\n break;\r\n case 14:\r\n // float;\r\n output.int32_or_float_or_uint64 = reader.float();\r\n break;\r\n case 15:\r\n // type: Array<(bigint & Type<\"uint64\">)>;\r\n if (2 === (tag & 7)) {\r\n const piece = reader.uint32() + reader.index();\r\n while (reader.index() < piece)\r\n output.uint64_array.push(reader.uint64());\r\n }\r\n else\r\n output.uint64_array.push(reader.uint64());\r\n break;\r\n case 16:\r\n // type: Map;\r\n (() => {\r\n output.int32_map ??= new Map();\r\n const piece = reader.uint32() + reader.index();\r\n const entry = {\r\n key: undefined,\r\n value: \"\"\r\n };\r\n while (reader.index() < piece) {\r\n const kind = reader.uint32();\r\n switch (kind >>> 3) {\r\n case 1:\r\n // int32;\r\n entry.key = reader.int32();\r\n break;\r\n case 2:\r\n // string;\r\n entry.value = reader.string();\r\n break;\r\n default:\r\n reader.skipType(kind & 7);\r\n break;\r\n }\r\n }\r\n output.int32_map.set(entry.key, entry.value);\r\n })();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n};\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ninput => {\r\n const $throws = typia_1.default.protobuf.createEncode.throws;\r\n const $Sizer = typia_1.default.protobuf.createEncode.Sizer;\r\n const $Writer = typia_1.default.protobuf.createEncode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"int32\";\r\n writer.uint32(8);\r\n writer.int32(input.int32);\r\n // property \"uint32\";\r\n writer.uint32(16);\r\n writer.uint32(input.uint32);\r\n // property \"uint64\";\r\n writer.uint32(24);\r\n writer.uint64(input.uint64);\r\n // property \"int64\";\r\n writer.uint32(32);\r\n writer.int64(input.int64);\r\n // property \"float\";\r\n writer.uint32(45);\r\n writer.float(input.float);\r\n // property \"double\";\r\n if (undefined !== input.double) {\r\n writer.uint32(49);\r\n writer.double(input.double);\r\n }\r\n // property \"string\";\r\n if (null !== input.string) {\r\n writer.uint32(58);\r\n writer.string(input.string);\r\n }\r\n // property \"uint32_or_double\";\r\n if (\"number\" === typeof input.uint32_or_double && (Math.floor(input.uint32_or_double) === input.uint32_or_double && 0 <= input.uint32_or_double && input.uint32_or_double <= 4294967295)) {\r\n writer.uint32(64);\r\n writer.uint32(input.uint32_or_double);\r\n }\r\n else if (\"number\" === typeof input.uint32_or_double && true) {\r\n writer.uint32(73);\r\n writer.double(input.uint32_or_double);\r\n }\r\n else\r\n $throws({\r\n expected: \"(number & (Type<\\\"uint32\\\"> | Type<\\\"double\\\">))\",\r\n value: input.uint32_or_double\r\n });\r\n // property \"int32_or_uint64\";\r\n if (\"number\" === typeof input.int32_or_uint64) {\r\n writer.uint32(80);\r\n writer.int32(input.int32_or_uint64);\r\n }\r\n else if (\"bigint\" === typeof input.int32_or_uint64) {\r\n writer.uint32(88);\r\n writer.uint64(input.int32_or_uint64);\r\n }\r\n else\r\n $throws({\r\n expected: \"((bigint & Type<\\\"uint64\\\">) | (number & Type<\\\"int32\\\">))\",\r\n value: input.int32_or_uint64\r\n });\r\n // property \"int32_or_float_or_uint64\";\r\n if (\"number\" === typeof input.int32_or_float_or_uint64 && (Math.floor(input.int32_or_float_or_uint64) === input.int32_or_float_or_uint64 && -2147483648 <= input.int32_or_float_or_uint64 && input.int32_or_float_or_uint64 <= 2147483647)) {\r\n writer.uint32(96);\r\n writer.int32(input.int32_or_float_or_uint64);\r\n }\r\n else if (\"bigint\" === typeof input.int32_or_float_or_uint64) {\r\n writer.uint32(104);\r\n writer.uint64(input.int32_or_float_or_uint64);\r\n }\r\n else if (\"number\" === typeof input.int32_or_float_or_uint64 && (-1.175494351e+38 <= input.int32_or_float_or_uint64 && input.int32_or_float_or_uint64 <= 3.4028235e+38)) {\r\n writer.uint32(117);\r\n writer.float(input.int32_or_float_or_uint64);\r\n }\r\n else\r\n $throws({\r\n expected: \"((bigint & Type<\\\"uint64\\\">) | (number & (Type<\\\"int32\\\"> | Type<\\\"float\\\">)))\",\r\n value: input.int32_or_float_or_uint64\r\n });\r\n // property \"uint64_array\";\r\n if (0 !== input.uint64_array.length) {\r\n writer.uint32(122);\r\n writer.fork();\r\n for (const elem of input.uint64_array) {\r\n writer.uint64(elem);\r\n }\r\n writer.ldelim();\r\n }\r\n // property \"int32_map\";\r\n if (undefined !== input.int32_map && null !== input.int32_map) {\r\n for (const [key, value] of input.int32_map) {\r\n writer.uint32(130);\r\n writer.fork();\r\n writer.uint32(8);\r\n writer.int32(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n //TypeTagExample;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n};","comment-tags#Comment Tags":"By using @type {target} comment tag, you also can use special numeric types.However, this way is not recommended, because it can't perform union numeric types, and cannot be used in Array and Map types. When you declare @type int32 statement, target number type be fixed as int32 type, and never can have another numeric type by declaring union statements.Also, those comment tags are not type safe. If you take a mistake when writing a comment tag, it will not be detected by the compiler, and will cause an error at runtime. For example, if you write a mis-spelled keyword like @type unit32, the target number type would be double type, and you can identify it just by running the program (or visiting playground website).\nWhy supports comment tags?\nDespite these disadvantages, the reason for maintaining comment tags is as follows.First, it is to support the legacy JSDoc style that had been used in the JS camp for a long time. If you had developed a legacy project and JSDoc being used, you can use it as is.Second, to support Prisma. If a comment is created in the Prisma Schema through the /// statement as shown below and a type is created, it is converted to a TS comment as it is. And since there is no way that union types, numeric Arrays or Maps are used in Prisma (database) schema, these comment tags are surprisingly compatible with Prisma.\nimport typia from \"typia\";\r\n\r\nexport interface CommentTagExample {\r\n /**\r\n * @type int32\r\n */\r\n int32: number;\r\n\r\n /**\r\n * @type uint32\r\n */\r\n uint32?: number | null;\r\n\r\n /**\r\n * @type uint64\r\n */\r\n uint64?: number;\r\n\r\n /**\r\n * @type int64\r\n */\r\n int64: number;\r\n\r\n /**\r\n * @type float\r\n */\r\n float: number | null;\r\n\r\n double: number;\r\n\r\n string: string;\r\n}\r\n\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\ntypia.protobuf.message();\r\n\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ntypia.protobuf.createDecode();\r\n\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ntypia.protobuf.createEncode();\nsyntax = \"proto3\";\r\n\r\nmessage CommentTagExample {\r\n required int32 int32 = 1;\r\n optional uint32 uint32 = 2;\r\n optional uint64 uint64 = 3;\r\n required int64 int64 = 4;\r\n optional float float = 5;\r\n required double double = 6;\r\n required string string = 7;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\n\"syntax = \\\"proto3\\\";\\n\\nmessage CommentTagExample {\\n required int32 int32 = 1;\\n optional uint32 uint32 = 2;\\n optional uint64 uint64 = 3;\\n required int64 int64 = 4;\\n optional float float = 5;\\n required double double = 6;\\n required string string = 7;\\n}\";\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ninput => {\r\n const $Reader = typia_1.default.protobuf.createDecode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n int32: undefined,\r\n uint32: null,\r\n uint64: undefined,\r\n int64: undefined,\r\n float: null,\r\n double: undefined,\r\n string: \"\"\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.int32 = reader.int32();\r\n break;\r\n case 2:\r\n // uint32;\r\n output.uint32 = reader.uint32();\r\n break;\r\n case 3:\r\n // uint64;\r\n output.uint64 = Number(reader.uint64());\r\n break;\r\n case 4:\r\n // int64;\r\n output.int64 = Number(reader.int64());\r\n break;\r\n case 5:\r\n // float;\r\n output.float = reader.float();\r\n break;\r\n case 6:\r\n // double;\r\n output.double = reader.double();\r\n break;\r\n case 7:\r\n // string;\r\n output.string = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n};\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ninput => {\r\n const $Sizer = typia_1.default.protobuf.createEncode.Sizer;\r\n const $Writer = typia_1.default.protobuf.createEncode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"int32\";\r\n writer.uint32(8);\r\n writer.int32(input.int32);\r\n // property \"uint32\";\r\n if (undefined !== input.uint32 && null !== input.uint32) {\r\n writer.uint32(16);\r\n writer.uint32(input.uint32);\r\n }\r\n // property \"uint64\";\r\n if (undefined !== input.uint64) {\r\n writer.uint32(24);\r\n writer.uint64(input.uint64);\r\n }\r\n // property \"int64\";\r\n writer.uint32(32);\r\n writer.int64(input.int64);\r\n // property \"float\";\r\n if (null !== input.float) {\r\n writer.uint32(45);\r\n writer.float(input.float);\r\n }\r\n // property \"double\";\r\n writer.uint32(49);\r\n writer.double(input.double);\r\n // property \"string\";\r\n writer.uint32(58);\r\n writer.string(input.string);\r\n };\r\n //CommentTagExample;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n};","restrictions#Restrictions":"You know what? Expression power of Protocol Buffer is extremely narrower than type system of TypeScript. For example, Protocol Buffer can't express complicate union type containing array. Also, Protocol Buffer can't express multi dimensional array type, either.In such reason, when converting TypeScript type to Protocol buffer message schema, lots of restrictions are exist. Let's study which types of TyeScript are not supported in Protocol Buffer. For reference, if you try to call typia.protobuf.message() function with unsupported type, typia will generate compile errors like below example cases.At first, top level type must be a sole and static object.If you try to use number or Array type as a top level type, typia will generate compile error like below. Dynamic object types like Record, or Map types are not allowed either. For reference, the sole object means that, union of object types is not allowed, either.\nimport typia from \"typia\";\r\n\r\ninterface Cat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface Dog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\n\r\ntypia.protobuf.message();\r\ntypia.protobuf.createDecode>();\r\ntypia.protobuf.createDecode, Dog>>();\r\ntypia.protobuf.createEncode();\r\ntypia.protobuf.createEncode();\nmain.ts:14:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- bigint\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:15:1 - error TS(typia.protobuf.typia.protobuf.createDecode): unsupported type detected\r\n\r\n- Record\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:16:1 - error TS(typia.protobuf.typia.protobuf.createDecode): unsupported type detected\r\n\r\n- Map<(number & Type<\"float\">), Dog>\r\n - target type must be a sole and static object type\r\n\r\n- (number & Type<\"float\">)\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:17:1 - error TS(typia.protobuf.typia.protobuf.createEncode): unsupported type detected\r\n\r\n- Array\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:18:1 - error TS(typia.protobuf.typia.protobuf.createEncode): unsupported type detected\r\n\r\n- (Cat | Dog)\r\n - target type must be a sole and static object type\nAt next, in Protocol Buffer, those types are categorized as container types.\nArray\nMap\nRecord (dynamic object)\nAlso, those container types does not allow over two-dimensional stacking. Therefore, it is not possible to declaring two dimensional array like number[][], or Array type in Map like Map. Besides, value type of those container also do not support union type either.Additionally, about Map type, key type must be an atomic type. It means that, only boolean, number, bigint and string types are allowed. Also, key type cannot be union type, either.\nimport typia from \"typia\";\r\n\r\ninterface IPointer {\r\n value: T;\r\n}\r\ninterface Cat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface Dog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\n\r\ntypia.protobuf.message>();\r\ntypia.protobuf.createEncode>>();\r\ntypia.protobuf.createDecode>>();\r\n\r\ntypia.protobuf.message>>();\r\ntypia.protobuf.message>>();\nmain.ts:17:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- IPointer>>[key]: Array>\r\n - does not support over two dimenstional array type\r\n\r\nmain.ts:18:1 - error TS(typia.protobuf.typia.protobuf.createEncode): unsupported type detected\r\n\r\n- IPointer>>[key]: Record>\r\n - does not support dynamic object with array value type\r\n\r\nmain.ts:19:1 - error TS(typia.protobuf.typia.protobuf.createDecode): unsupported type detected\r\n\r\n- IPointer>[key]: Map\r\n - does not support union type in map value type\r\n\r\nmain.ts:21:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- IPointer>[key]: Map\r\n - does not support non-atomic key typed map\r\n\r\nmain.ts:22:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- IPointer>[key]: Map<(number | string), Dog>\r\n - does not support union key typed map\r\n - does not support non-atomic key typed map\nAt last, those types are all not allowed.\nany\nfunctional type\nSet, WeakSet and WeakMap\nDate, Boolean, BigInt, Number, String\nBinary classes except Uint8Array\nUint8ClampedArray, Uint16Array, Uint32Array, BigUint64Array\nInt8Array, Int16Array, Int32Array, BigInt64Array\nArrayBuffer, SharedArrayBuffer and DataView\nimport typia from \"typia\";\r\n\r\ninterface Something {\r\n any: any;\r\n unknown: unknown;\r\n closure: () => void;\r\n dict: Set | WeakSet | WeakMap;\r\n date: Date;\r\n classic: String;\r\n buffer: ArrayBuffer;\r\n}\r\n\r\ntypia.protobuf.message();\nmain.ts:13:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- Something.any: any\r\n - does not support any type\r\n\r\n- Something.unknown: any\r\n - does not support any type\r\n\r\n- Something.closure: unknown\r\n - does not support functional type\r\n\r\n- Something.dict: (Set | WeakMap | WeakSet)\r\n - does not support Set type\r\n - does not support WeakSet type. Use Array type instead.\r\n - does not support WeakMap type. Use Map type instead.\r\n\r\n- Something.date: Date\r\n - does not support Date type. Use string type instead.\r\n\r\n- Something.classic: String\r\n - does not support String type. Use string type instead.\r\n\r\n- Something.buffer: ArrayBuffer\r\n - does not support ArrayBuffer type. Use Uint8Array type instead."}},"/docs/protobuf/encode":{"title":"Encode","data":{"encode-functions#encode() functions":"export namespace protobuf {\r\n export function encode(input: T): Uint8Array;\r\n export function isEncode(input: T): Uint8Array | null;\r\n export function assertEncode(input: T): Uint8Array;\r\n export function validateEncode(input: T): IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nProtocol Buffer Encoder.You can easily convert a JavaScript object to a binary data of Protocol Buffer, without any extra Protocol Buffer Message Schema definition. typia.protobuf.encode() function analyzes your type T, and generates a Protocol Buffer Message Schema internally. And then, it converts the input instance to the binary data of Protocol Buffer format.By the way, typia.protobuf.encode() function does not validate the input value. It just believes user and input value, and converts to the Protocol Buffer binary data directly without any validation. By the way, if the input value was not validate, the encoded binary data never can be decoded. So, if you can't sure the input value type, you should use below functions instead.\ntypia.protobuf.isEncode(): typia.is() + typia.protobuf.encode()\ntypia.protobuf.assertEncode(): typia.assert() + typia.protobuf.encode()\ntypia.protobuf.validateEncode(): typia.validate() + typia.protobuf.encode()\nAOT compliation\ntypia.protobuf.encode() and other similar functions are still much faster than any other competitive libraries, even though they include type checking process. This is the power of AOT compilation, writing optimal dedicated code by analyzing TypeScript type, in the compilation level.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\r\n\r\nconst customer: ICustomer = typia.random();\r\ntypia.protobuf.encode(customer);\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst customer = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $pick = typia_1.default.random.pick;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"int32\\\">\",\r\n kind: \"type\",\r\n value: \"int32\",\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n pet: $pick([\r\n () => null,\r\n () => $ro1(_recursive, _recursive ? 1 + _depth : _depth),\r\n () => $ro2(_recursive, _recursive ? 1 + _depth : _depth)\r\n ])(),\r\n memo: $pick([\r\n () => null,\r\n () => new Map((generator?.array ?? $generator.array)(() => [\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)()\r\n ]))\r\n ])(),\r\n logins: (generator?.array ?? $generator.array)(() => $ro3(_recursive, _recursive ? 1 + _depth : _depth))\r\n });\r\n const $ro1 = (_recursive = false, _depth = 0) => ({\r\n type: \"cat\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n ribbon: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro2 = (_recursive = false, _depth = 0) => ({\r\n type: \"dog\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n hunt: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro3 = (_recursive = false, _depth = 0) => ({\r\n success: (generator?.boolean ?? $generator.boolean)(),\r\n href: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n referrer: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n ip: $pick([\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv4\\\">\",\r\n kind: \"format\",\r\n value: \"ipv4\",\r\n }\r\n ]) ?? (generator?.ipv4 ?? $generator.ipv4)(),\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv6\\\">\",\r\n kind: \"format\",\r\n value: \"ipv6\",\r\n }\r\n ]) ?? (generator?.ipv6 ?? $generator.ipv6)()\r\n ])(),\r\n time: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"date-time\\\">\",\r\n kind: \"format\",\r\n value: \"date-time\",\r\n }\r\n ]) ?? (generator?.datetime ?? $generator.datetime)()\r\n });\r\n return $ro0();\r\n})();\r\n(input => {\r\n const $throws = typia_1.default.protobuf.encode.throws;\r\n const $Sizer = typia_1.default.protobuf.encode.Sizer;\r\n const $Writer = typia_1.default.protobuf.encode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"id\";\r\n writer.uint32(8);\r\n writer.int32(input.id);\r\n // property \"email\";\r\n writer.uint32(18);\r\n writer.string(input.email);\r\n // property \"name\";\r\n writer.uint32(26);\r\n writer.string(input.name);\r\n // property \"pet\";\r\n if (null !== input.pet) {\r\n if (\"cat\" === input.pet.type)\r\n return (() => {\r\n // 4 -> ICat;\r\n writer.uint32(34);\r\n writer.fork();\r\n $peo1(input.pet);\r\n writer.ldelim();\r\n })();\r\n else if (\"dog\" === input.pet.type)\r\n return (() => {\r\n // 5 -> IDog;\r\n writer.uint32(42);\r\n writer.fork();\r\n $peo2(input.pet);\r\n writer.ldelim();\r\n })();\r\n else\r\n $throws({\r\n expected: \"(ICat | IDog)\",\r\n value: input.pet\r\n });\r\n }\r\n // property \"memo\";\r\n if (null !== input.memo) {\r\n for (const [key, value] of input.memo) {\r\n writer.uint32(50);\r\n writer.fork();\r\n writer.uint32(10);\r\n writer.string(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n // property \"logins\";\r\n if (0 !== input.logins.length) {\r\n for (const elem of input.logins) {\r\n // 7 -> ICustomerLogin;\r\n writer.uint32(58);\r\n writer.fork();\r\n $peo3(elem);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n const $peo1 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"ribbon\";\r\n writer.uint32(24);\r\n writer.bool(input.ribbon);\r\n };\r\n const $peo2 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"hunt\";\r\n writer.uint32(24);\r\n writer.bool(input.hunt);\r\n };\r\n const $peo3 = input => {\r\n // property \"success\";\r\n writer.uint32(8);\r\n writer.bool(input.success);\r\n // property \"href\";\r\n writer.uint32(18);\r\n writer.string(input.href);\r\n // property \"referrer\";\r\n writer.uint32(26);\r\n writer.string(input.referrer);\r\n // property \"ip\";\r\n writer.uint32(34);\r\n writer.string(input.ip);\r\n // property \"time\";\r\n writer.uint32(42);\r\n writer.string(input.time);\r\n };\r\n const $io1 = input => \"cat\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.ribbon;\r\n const $io2 = input => \"dog\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.hunt;\r\n const $io3 = input => \"boolean\" === typeof input.success && (\"string\" === typeof input.href && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.referrer && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.ip && (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(input.ip) || /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(input.ip))) && (\"string\" === typeof input.time && !isNaN(new Date(input.time).getTime()));\r\n const $iu0 = input => (() => {\r\n if (\"cat\" === input.type)\r\n return $io1(input);\r\n else if (\"dog\" === input.type)\r\n return $io2(input);\r\n else\r\n return false;\r\n })();\r\n //ICustomer;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n})(customer);\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}","reusable-functions#Reusable Functions":"export namespace protobuf {\r\n export function encode(): (input: T) => Uint8Array;\r\n export function isEncode(): (input: T) => Uint8Array | null;\r\n export function assertEncode(): (input: T) => Uint8Array;\r\n export function validateEncode(): (\r\n input: T\r\n ) => IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nReusable typia.protobuf.encode() function generators.If you repeat to call typia.protobuf.encode() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.protobuf.createEncode() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const encode = typia.protobuf.createEncode();\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.encode = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst encode = input => {\r\n const $throws = typia_1.default.protobuf.createEncode.throws;\r\n const $Sizer = typia_1.default.protobuf.createEncode.Sizer;\r\n const $Writer = typia_1.default.protobuf.createEncode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"id\";\r\n writer.uint32(8);\r\n writer.int32(input.id);\r\n // property \"email\";\r\n writer.uint32(18);\r\n writer.string(input.email);\r\n // property \"name\";\r\n writer.uint32(26);\r\n writer.string(input.name);\r\n // property \"pet\";\r\n if (null !== input.pet) {\r\n if (\"cat\" === input.pet.type)\r\n return (() => {\r\n // 4 -> ICat;\r\n writer.uint32(34);\r\n writer.fork();\r\n $peo1(input.pet);\r\n writer.ldelim();\r\n })();\r\n else if (\"dog\" === input.pet.type)\r\n return (() => {\r\n // 5 -> IDog;\r\n writer.uint32(42);\r\n writer.fork();\r\n $peo2(input.pet);\r\n writer.ldelim();\r\n })();\r\n else\r\n $throws({\r\n expected: \"(ICat | IDog)\",\r\n value: input.pet\r\n });\r\n }\r\n // property \"memo\";\r\n if (null !== input.memo) {\r\n for (const [key, value] of input.memo) {\r\n writer.uint32(50);\r\n writer.fork();\r\n writer.uint32(10);\r\n writer.string(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n // property \"logins\";\r\n if (0 !== input.logins.length) {\r\n for (const elem of input.logins) {\r\n // 7 -> ICustomerLogin;\r\n writer.uint32(58);\r\n writer.fork();\r\n $peo3(elem);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n const $peo1 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"ribbon\";\r\n writer.uint32(24);\r\n writer.bool(input.ribbon);\r\n };\r\n const $peo2 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"hunt\";\r\n writer.uint32(24);\r\n writer.bool(input.hunt);\r\n };\r\n const $peo3 = input => {\r\n // property \"success\";\r\n writer.uint32(8);\r\n writer.bool(input.success);\r\n // property \"href\";\r\n writer.uint32(18);\r\n writer.string(input.href);\r\n // property \"referrer\";\r\n writer.uint32(26);\r\n writer.string(input.referrer);\r\n // property \"ip\";\r\n writer.uint32(34);\r\n writer.string(input.ip);\r\n // property \"time\";\r\n writer.uint32(42);\r\n writer.string(input.time);\r\n };\r\n const $io1 = input => \"cat\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.ribbon;\r\n const $io2 = input => \"dog\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.hunt;\r\n const $io3 = input => \"boolean\" === typeof input.success && (\"string\" === typeof input.href && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.referrer && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.ip && (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(input.ip) || /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(input.ip))) && (\"string\" === typeof input.time && !isNaN(new Date(input.time).getTime()));\r\n const $iu0 = input => (() => {\r\n if (\"cat\" === input.type)\r\n return $io1(input);\r\n else if (\"dog\" === input.type)\r\n return $io2(input);\r\n else\r\n return false;\r\n })();\r\n //ICustomer;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n};\r\nexports.encode = encode;","references#References":"Protocol Buffer supports special numeric types like int32 or uint64 that are not supported in TypeScript. Also, types of Protocol Buffer cannot fully meet TypeScript type specs either, as expression power of TypeScript types are much stronger than Protocol Buffer.To know how to define special numeric types like uint64, and to understand which TypeScript types are not supported in Protocol Buffer specs, it would better to read below documents. I recommend you to read them before using typia.protobuf.encode() related functions.\nTypia Guide Documents > Protocol Buffer > Message Schema\nmessage() function\nType Tags\nComment Tags\nRestrictions"}},"/docs/pure":{"title":"Pure TypeScript","data":{"outline#Outline":"typia.assert(article);\ntypia needs only one line with pure TypeScript type.You know what? Every other validator libraries need extra schema definition, that is different with pure TypeScript type. For an example, class-validator is the most famouse validator due to used in NestJS. However, NestJS and class-validator force you to define triple duplicated DTO schema.\nTypeScript Type\nclass-validator decorators\n@nestjs/swagger decorators\nAnother famous validator library ajv requires JSON schema definition. Move to the #Demonstration, and click the ajv (JSON Schema) tab, then you may understand how it terrible. It requires hundreds of lines of JSON schema definition even just for a simple DTO.Those duplicated schema definitions are not only annoying, but also error-prone. If you take any mistake on the extra schema definition, such mistake can't be detected by TypeScript compiler. It will be detected only at runtime, therefore become a critical runtime error. Another words, it is not type safe.Besides, typia only needs pure TypeScript type. You don't need to define any extra schema like class-validator or ajv. Just define pure TypeScript type only (especially recommend to use interface type), then typia will do all the rest.","demonstration#Demonstration":"If you're confusing how typia is different with others, just see example codes below.At first, look at the first (class-validator) tab, and find the BbsArticle.files property, enhanced by blue coloured blocks. Looking at the files property, how do you feel? Just defining an array object type, you've to call 7 decorator functions. If you take any mistake when using the decorator like omitting isArray property, it would be a critical runtime erorr.Besides, typia needs only one line. Click the third (typia) tab, and find the IAttachmentFile.files property. Only one line being used, and they are even not class, but just interface types. Comparing it to the first and second tabs, how do you feel? Isn't it more simple and readable?This is the power of typia, with pure TypeScript type.\nimport { ApiProperty } from \"@nestjs/swagger\";\r\nimport { ArrayNotEmpty, IsArray, IsObject, IsOptional, IsString, Match, MaxLength, Type, ValidateNested } from \"class-validator\";\r\n\r\nexport class BbsArticle {\r\n @ApiProperty({\r\n format: \"uuid\",\r\n })\r\n @IsString()\r\n id!: string;\r\n\r\n // DUPLICATED SCHEMA DEFINITION\r\n // - duplicated function call + property type\r\n // - have to specify `isArray` and `nullable` props by yourself\r\n @ApiProperty({\r\n type: () => AttachmentFile,\r\n nullable: true,\r\n isArray: true,\r\n minItems: 1,\r\n description: \"List of attached files.\",\r\n })\r\n @Type(() => AttachmentFile)\r\n @IsArray()\r\n @ArrayNotEmpty()\r\n @IsOptional()\r\n @IsObject({ each: true })\r\n @ValidateNested({ each: true })\r\n files!: AttachmentFile[] | null;\r\n\r\n @ApiProperty({\r\n type: \"string\",\r\n nullable: true,\r\n minLength: 5,\r\n maxLength: 100,\r\n description: \"Title of the article.\",\r\n })\r\n @IsOptional()\r\n @IsString()\r\n title!: string | null;\r\n\r\n @ApiProperty({\r\n description: \"Main content body of the article.\"\r\n })\r\n @IsString()\r\n body!: string;\r\n\r\n @ApiProperty({\r\n format: \"date-time\",\r\n description: \"Creation time of article\",\r\n })\r\n @IsString()\r\n created_at!: string;\r\n}\r\n\r\nexport class AttachmentFile {\r\n @ApiProperty({\r\n type: \"string\",\r\n nullable: true,\r\n maxLength: 255,\r\n pattern: \"^[a-zA-Z0-9-_]+$\",\r\n description: \"File name.\",\r\n })\r\n @Matches(/^[a-z0-9]+$/)\r\n @MaxLength(255)\r\n @IsOptional()\r\n @IsString()\r\n name!: string | null;\r\n\r\n @ApiProperty({\r\n type: \"string\",\r\n nullable: true,\r\n maxLength: 255,\r\n pattern: \"^[a-zA-Z0-9-_]+$\",\r\n description: \"File extension.\",\r\n })\r\n @Matches(/^[a-z0-9]+$/)\r\n @MaxLength(8)\r\n @IsOptional()\r\n @IsString()\r\n extension!: string | null;\r\n\r\n @ApiProperty({\r\n format: \"url\",\r\n description: \"URL of the file.\",\r\n })\r\n @IsString()\r\n url!: string;\r\n}\n{\r\n \"schemas\": [\r\n {\r\n \"$ref\": \"components#/schemas/IBbsArticle\"\r\n }\r\n ],\r\n \"components\": {\r\n \"schemas\": {\r\n \"IBbsArticle\": {\r\n \"$id\": \"components#/schemas/IBbsArticle\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"Primary Key.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"format\",\r\n \"value\": \"uuid\"\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"format\",\r\n \"text\": [\r\n {\r\n \"text\": \"uuid\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"format\": \"uuid\"\r\n },\r\n \"files\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"components#/schemas/IAttachmentFile\",\r\n \"description\": \"List of attached files.\",\r\n \"minItems\": 1,\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n \"nullable\": true,\r\n \"description\": \"List of attached files.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n \"title\": {\r\n \"type\": \"string\",\r\n \"nullable\": true,\r\n \"description\": \"Title of the article.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"minLength\",\r\n \"value\": 5\r\n },\r\n {\r\n \"kind\": \"maxLength\",\r\n \"value\": 100\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"minLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"5\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"maxLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"100\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"minLength\": 5,\r\n \"maxLength\": 100\r\n },\r\n \"body\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"Main content body of the article.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n \"created_at\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"Creation time of article.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"format\",\r\n \"value\": \"datetime\"\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"format\",\r\n \"text\": [\r\n {\r\n \"text\": \"date-time\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"format\": \"date-time\"\r\n }\r\n },\r\n \"nullable\": false,\r\n \"required\": [\r\n \"id\",\r\n \"files\",\r\n \"title\",\r\n \"body\",\r\n \"created_at\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n },\r\n \"IAttachmentFile\": {\r\n \"$id\": \"components#/schemas/IAttachmentFile\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"nullable\": true,\r\n \"description\": \"File name.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"pattern\",\r\n \"value\": \"^[a-z0-9]+$\"\r\n },\r\n {\r\n \"kind\": \"maxLength\",\r\n \"value\": 255\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"pattern\",\r\n \"text\": [\r\n {\r\n \"text\": \"^[a-z0-9]+$\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"maxLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"255\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"pattern\": \"^[a-z0-9]+$\",\r\n \"maxLength\": 255\r\n },\r\n \"extension\": {\r\n \"type\": \"string\",\r\n \"nullable\": true,\r\n \"description\": \"File extension.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"pattern\",\r\n \"value\": \"^[a-z0-9]+$\"\r\n },\r\n {\r\n \"kind\": \"maxLength\",\r\n \"value\": 8\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"pattern\",\r\n \"text\": [\r\n {\r\n \"text\": \"^[a-z0-9]+$\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"maxLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"8\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"pattern\": \"^[a-z0-9]+$\",\r\n \"maxLength\": 8\r\n },\r\n \"url\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"URL of the file.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"format\",\r\n \"text\": [\r\n {\r\n \"text\": \"uri\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"format\": \"uri\"\r\n }\r\n },\r\n \"nullable\": false,\r\n \"required\": [\r\n \"name\",\r\n \"extension\",\r\n \"url\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n }\r\n }\r\n },\r\n \"purpose\": \"ajv\",\r\n \"prefix\": \"components#/schemas\"\r\n}\nimport { tags } from \"typia\";\r\n\r\nexport interface IBbsArticle {\r\n /**\r\n * Primary Key.\r\n */\r\n id: string & tags.Format<\"uuid\">;\r\n\r\n /**\r\n * List of attached files.\r\n */\r\n files: null | (IAttachmentFile[] & tags.MinItems<1>);\r\n\r\n /**\r\n * Title of the article.\r\n */\r\n title: null | (string & tags.MinLength<5> & tags.MaxLength<100>);\r\n\r\n /**\r\n * Main content body of the article.\r\n */\r\n body: string;\r\n\r\n /**\r\n * Creation time of article.\r\n */\r\n created_at: string & tags.Format<\"datetime\">;\r\n}\r\n\r\nexport interface IAttachmentFile {\r\n /**\r\n * File name.\r\n */\r\n name: \r\n | null \r\n | (string & tags.Pattern<\"^[a-z0-9]+$\"> & tags.MaxLength<255>);\r\n\r\n /**\r\n * File extension.\r\n */\r\n extension: \r\n | null \r\n | (string & tags.Pattern<\"^[a-z0-9]+$\"> & tags.MaxLength<8>);\r\n\r\n /**\r\n * URL of the file.\r\n */\r\n url: string & tags.Format<\"uri\">;\r\n}","aot-compilation#AOT Compilation":"Someone may be suspicious of the phrase \"Pure TypeScript Type\".\n\"As you know, TypeScript types do not have any tangible instance when compiled to JS.However, with only these fictitious TypeScript types, how can typia validates types at runtime? How typia builds much faster JSON serializer only with these types? Are these things really possible without extra schema definition like class-validator or ajv?\"\nMy answer is: \"Yes, it is possible due to typia analyzes your server code, and performs AOT compilation\".Such compile time optimization is called AOT (Ahead of Time) compilation. And this is the secret why typia can do everything with only pure TypeScript type. Read below example codes, and just look how JavaScript file being compiled. Then you may understand why typia is much easier, and futhermore much faster.\nRuntime validator is 20,000x faster than class-validator\nJSON serialization is 200x faster than class-transformer\nexport interface IBbsArticle {\r\n /**\r\n * Primary Key.\r\n * \r\n * @format uuid\r\n */\r\n id: string;\r\n\r\n /**\r\n * List of attached files.\r\n * \r\n * @minItems 1\r\n */\r\n files: IAttachmentFile[] | null;\r\n\r\n /**\r\n * Title of the article.\r\n * \r\n * @minLength 5\r\n * @maxLength 100\r\n */\r\n title: string | null;\r\n\r\n /**\r\n * Main content body of the article.\r\n */\r\n body: string;\r\n\r\n /**\r\n * Creation time of article.\r\n * \r\n * @format date-time\r\n */\r\n created_at: string;\r\n}\r\n\r\nexport interface IAttachmentFile {\r\n /**\r\n * File name.\r\n * \r\n * @pattern ^[a-z0-9]+$\r\n * @maxLength 255\r\n */\r\n name: string | null;\r\n\r\n /**\r\n * File extension.\r\n * \r\n * @pattern ^[a-z0-9]+$\r\n * @maxLength 8\r\n */\r\n extension: string | null;\r\n\r\n /**\r\n * URL of the file.\r\n * \r\n * @format uri\r\n */\r\n url: string;\r\n}\nimport typia from \"typia\";\r\n\r\nimport { IBbsArticle } from \"./IBbsArticle\";\r\n\r\nexport const assertArticle = typia.createAssert();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertArticle = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertArticle = input => {\r\n const $guard = typia_1.default.createAssert.guard;\r\n const $is_uuid = typia_1.default.createAssert.is_uuid;\r\n const $is_datetime = typia_1.default.createAssert.is_datetime;\r\n const __is = input => {\r\n const $is_uuid = typia_1.default.createAssert.is_uuid;\r\n const $is_datetime = typia_1.default.createAssert.is_datetime;\r\n const $io0 = input => \"string\" === typeof input.id && $is_uuid(input.id) && (null === input.files || Array.isArray(input.files) && 1 <= input.files.length && input.files.every(elem => \"object\" === typeof elem && null !== elem && $io1(elem))) && (null === input.title || \"string\" === typeof input.title && 5 <= input.title.length && 100 >= input.title.length) && \"string\" === typeof input.body && (\"string\" === typeof input.created_at && $is_datetime(input.created_at));\r\n const $io1 = input => (null === input.name || \"string\" === typeof input.name && RegExp(/^[a-z0-9]+$/).test(input.name) && 255 >= input.name.length) && (null === input.extension || \"string\" === typeof input.extension && RegExp(/^[a-z0-9]+$/).test(input.extension) && 8 >= input.extension.length) && \"string\" === typeof input.url;\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.id && ($is_uuid(input.id) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string (@format uuid)\",\r\n value: input.id\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string\",\r\n value: input.id\r\n })) && (null === input.files || (Array.isArray(input.files) && (1 <= input.files.length || $guard(_exceptionable, {\r\n path: _path + \".files\",\r\n expected: \"Array.length (@minItems 1)\",\r\n value: input.files\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".files\",\r\n expected: \"(Array | null)\",\r\n value: input.files\r\n })) && input.files.every((elem, _index1) => (\"object\" === typeof elem && null !== elem || $guard(_exceptionable, {\r\n path: _path + \".files[\" + _index1 + \"]\",\r\n expected: \"IAttachmentFile\",\r\n value: elem\r\n })) && $ao1(elem, _path + \".files[\" + _index1 + \"]\", true && _exceptionable))) && (null === input.title || \"string\" === typeof input.title && (5 <= input.title.length || $guard(_exceptionable, {\r\n path: _path + \".title\",\r\n expected: \"string (@minLength 5)\",\r\n value: input.title\r\n })) && (100 >= input.title.length || $guard(_exceptionable, {\r\n path: _path + \".title\",\r\n expected: \"string (@maxLength 100)\",\r\n value: input.title\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".title\",\r\n expected: \"(null | string)\",\r\n value: input.title\r\n })) && (\"string\" === typeof input.body || $guard(_exceptionable, {\r\n path: _path + \".body\",\r\n expected: \"string\",\r\n value: input.body\r\n })) && (\"string\" === typeof input.created_at && ($is_datetime(input.created_at) || $guard(_exceptionable, {\r\n path: _path + \".created_at\",\r\n expected: \"string (@format datetime)\",\r\n value: input.created_at\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".created_at\",\r\n expected: \"string\",\r\n value: input.created_at\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) => (null === input.name || \"string\" === typeof input.name && (RegExp(/^[a-z0-9]+$/).test(input.name) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@pattern ^[a-z0-9]+$)\",\r\n value: input.name\r\n })) && (255 >= input.name.length || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@maxLength 255)\",\r\n value: input.name\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"(null | string)\",\r\n value: input.name\r\n })) && (null === input.extension || \"string\" === typeof input.extension && (RegExp(/^[a-z0-9]+$/).test(input.extension) || $guard(_exceptionable, {\r\n path: _path + \".extension\",\r\n expected: \"string (@pattern ^[a-z0-9]+$)\",\r\n value: input.extension\r\n })) && (8 >= input.extension.length || $guard(_exceptionable, {\r\n path: _path + \".extension\",\r\n expected: \"string (@maxLength 8)\",\r\n value: input.extension\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".extension\",\r\n expected: \"(null | string)\",\r\n value: input.extension\r\n })) && (\"string\" === typeof input.url || $guard(_exceptionable, {\r\n path: _path + \".url\",\r\n expected: \"string\",\r\n value: input.url\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IBbsArticle\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true);\r\n })(input, \"$input\", true);\r\n return input;\r\n};\r\nexports.assertArticle = assertArticle;\nMeasured on Intel i5-1135g7, Surface Pro 8"}},"/docs/setup":{"title":"Setup","data":{"summary#Summary":"npm install typia\r\nnpx typia setup\npnpm install typia\r\npnpm typia setup --manager pnpm\n# YARN BERRY IS NOT SUPPORTED\r\nyarn add typia\r\nyarn typia setup --manager yarn\nIf you're using standard TypeScript compiler, you can use transform mode.Just run npx typia setup command, then everything be prepared.\nStandard TypeScript Compiler: Microsoft/TypeScript\nnpm install typia\r\nnpm install --save-dev typescript\r\n\r\nnpx typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\npnpm install typia\r\npnpm install --save-dev typescript\r\n\r\npnpm typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\nyarn add typia\r\nyarn add -D typescript\r\n\r\nyarn typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\nOtherwise you are using non-standard TypeScript compiler, then you can't use transformation mode.Instead, you can use generation mode.Run typia generate command with input directory, then transformed TypeScript files would be generated into the output directory.\nNon-standard TypeScript Compilers\nSWC\nESBuild\nBabel","transformation#Transformation":"","concepts#Concepts":"AOT (Ahead of Time) compilation mode.When you write a TypeScript code calling typia.createIs() function and compile it through tsc command, typia will replace the typia.createIs() statement to optimal validation code in the compiled JavaScript file, for the IMember type.This is the transform mode performing AOT (Ahead of Time) compilation.\nimport typia from \"typia\";\r\n\r\nexport const check = typia.createIs();\r\n\r\ninterface IMember {\r\n /**\r\n * @format uuid\r\n */\r\n id: string;\r\n \r\n /**\r\n * @format email\r\n */\r\n email: string;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n age: number;\r\n}\nimport typia from \"typia\";\r\nexport const check = input => {\r\n const $is_uuid = typia.createIs.is_uuid;\r\n const $is_email = typia.createIs.is_email;\r\n return \"object\" === typeof input && \r\n null !== input && \r\n (\r\n \"string\" === typeof input.id && $is_uuid(input.id) && \r\n (\"string\" === typeof input.email && $is_email(input.email)) && \r\n (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age)\r\n );\r\n};","setup-wizard#Setup Wizard":"npm install --save typia\r\nnpx typia setup\npnpm install --save typia\r\npnpm typia setup --manager pnpm\n# YARN BERRY IS NOT SUPPORTED\r\nyarn add typia\r\nyarn typia setup --manager yarn\nYou can turn on transformation mode just by running npx typia setup command.Setup wizard would be executed, and it will do everything for the transformation.","manual-setup#Manual Setup":"npm install --save typia\r\nnpm install --save-dev typescript ts-patch ts-node\npnpm install --save typia\r\npnpm install --save-dev typescript ts-patch ts-node\n# YARN BERRY IS NOT SUPPORTED\r\nyarn add typia\r\nyarn add -D typescript ts-patch ts-node\nIf you want to install typia manually, just follow the steps.At first, install typia as depepdency. And then, install typescript, ts-patch and ts-node as devDependencies.\n{\r\n \"strict\": true,\r\n \"strictNullChecks\": true,\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n { \"transform\": \"typia/lib/transform\" }\r\n ]\r\n }\r\n}\nAt second, open your tsconfig.json file and configure like above.As typia generates optimal operation code through transformation, you've to configure it as a plugin. Also, never forget to configure strict (or strictNullChecks) to be true. It is essential option for modern TypeScript development.\n{\r\n \"scripts\": {\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"dependencies\": {\r\n \"typia\": \"^4.1.8\"\r\n },\r\n \"devDependencies\": {\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.2\",\r\n \"typescript\": \"^5.1.6\"\r\n }\r\n}\nnpm run prepare\npnpm prepare\n# YARN BERRY IS NOT SUPPORTED\r\nyarn prepare\nAt last, open package.json file and configure npm run prepare command like above.Of course, you've to run the npm run prepare command after the configuration.For reference, ts-patch is an helper library of TypeScript compiler that supporting custom transformations by plugins. From now on, whenever you run tsc command, your typia function call statements would be transformed to the optimal operation codes in the compiled JavaScript files.\nnpx typia patch\nSince TypeScript v5.3 update, tsc no more parses JSDocComments. Therefore, typia also cannot utilize those JSDocComment related features too, especially \"Comment Tags\" and \"JSON schema generator\".The npx typia patch command has been developed to revive the JSDocComment parsing feature of tsc. It is temporary solution for the TypeScript v5.3 update instead of ts-patch, and will be disabled after ts-patch starts supporting such TypeScript v5.3 update.Of course, if you don't use any \"Comment Tags\" and \"JSON schema generator\", you don't need to run npx typia patch command. This is not mandatory command, but just optional command.","generation#Generation":"# INSTALL TYPIA\r\nnpm install --save typia\r\nnpm install --save-dev typescript\r\n\r\n# GENERATE TRANSFORMED TYPESCRIPT CODES\r\nnpx typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\n# INSTALL TYPIA\r\npnpm install --save typia\r\npnpm install --save-dev typescript\r\n\r\n# GENERATE TRANSFORMED TYPESCRIPT CODES\r\npnpm typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\n# INSTALL TYPIA\r\nyarn add typia\r\nyarn add -D typescript\r\n\r\n# GENERATE TRANSFORMED TYPESCRIPT CODES\r\nyarn typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\nFor frontend projects.If you're using non-standard TypeScript compiler, you can't use transform mode\nNon-standard TypeScript compilers:\nSWC in Next.JS\nESBuild in Vite\nBabel in Create-React-App\nInstead, you should utilize the generation mode.Install typia through npm install command, and run typia generate command. Then, generator of typia reads your TypeScript codes of --input, and writes transformed TypeScript files into the --output directory, like below.If you want to specify other TypeScript project file instead of tsconfig.json, you can use --project option.\nimport typia from \"typia\";\r\n\r\nimport { IMember } from \"../structures/IMember\";\r\n\r\nexport const check = typia.createIs();\nimport typia from \"typia\";\r\nimport { IMember } from \"../structures/IMember\";\r\nexport const check = (input: any): input is IMember => {\r\n const $is_uuid = (typia.createIs as any).is_uuid;\r\n const $is_email = (typia.createIs as any).is_email;\r\n return \"object\" === typeof input && \r\n null !== input && \r\n (\r\n \"string\" === typeof input.id && is_uuid(input.id) && \r\n (\"string\" === typeof input.email && $is_email(input.email)) && \r\n (\"number\" === typeof input.age && 19 <= input.age && 100 >= input.age)\r\n );\r\n};\nWhy not support non-standard compilers?\nNon-standard TypeScript compilers are removing every type informations, and skipping type checkings for rapid compilation. By the way, without those type informations, typia can't do anything. This is the reason why typia doesn't support non-standard TypeScript compilers.By the way, SWC is preparing a new project STC keeping type informations. Therefore, typia will support it.","vite#Vite":"If you've made your frontend project through vite, you can still utilize the transformation mode.Just configure vite.config.ts file below, that's all.\nimport { defineConfig } from 'vite'\r\nimport react from '@vitejs/plugin-react'\r\nimport typescript from \"rollup-plugin-typescript2\";\r\n\r\n// https://vitejs.dev/config/\r\nexport default defineConfig({\r\n esbuild: false,\r\n plugins: [\r\n react(),\r\n typescript(),\r\n ],\r\n});\nBy the way, if you're composing monorepo, and need to import some external TypeScript files from the other package of the monorepo, you've to configure the vite.config.ts a little bit different. When declaring typescript plugin, you've to specify include and exclude options like below.\nimport { defineConfig } from 'vite'\r\nimport react from '@vitejs/plugin-react'\r\nimport typescript from \"rollup-plugin-typescript2\";\r\n\r\n// https://vitejs.dev/config/\r\nexport default defineConfig({\r\n esbuild: false,\r\n plugins: [\r\n react(),\r\n typescript({\r\n // WHEN MONOREPO\r\n include: [\r\n \"./**/*.ts+(|x)\",\r\n \"../../core/**/*.ts+(|x)\",\r\n \"../../util/**/*.ts+(|x)\",\r\n ],\r\n exclude: [\"../../node_modules\"],\r\n }),\r\n ],\r\n});","webpack#Webpack":"# TYPIA\r\nnpm install typia\r\nnpx typia setup\r\n\r\n# WEBPACK + TS-LOADER\r\nnpm install --save-dev ts-loader\r\nnpm install --save-dev webpack webpack-cli\n# TYPIA\r\npnpm install typia\r\npnpm typia setup --manager pnpm\r\n\r\n# WEBPACK + TS-LOADER\r\npnpm install --save-dev ts-loader\r\npnpm install --save-dev webpack webpack-cli\n##############################\r\n# YARN BERRY IS NOT SUPPORTED\r\n##############################\r\n# TYPIA\r\nyarn add typia\r\nyarn typia setup --manager yarn\r\n\r\n# WEBPACK + TS-LOADER\r\nyarn add -D ts-loader\r\nyarn add -D webpack webpack-cli\nWhen you're using webpack as a bundler, you can still utilize the transformation mode.Just install ts-loader as well as webpack, and configure webpack.config.js file like below, that's all.\nconst path = require(\"path\");\r\nconst nodeExternals = require('webpack-node-externals');\r\n \r\nmodule.exports = {\r\n // CUSTOMIZE HERE\r\n entry: ['./src/index.tsx'],\r\n output: {\r\n path: path.join(__dirname, 'dist'),\r\n filename: 'index.js',\r\n },\r\n optimization: {\r\n minimize: false\r\n },\r\n \r\n // JUST KEEP THEM\r\n mode: 'development',\r\n target: 'node',\r\n module: {\r\n rules: [\r\n {\r\n test: /\\.ts$/,\r\n exclude: /node_modules/,\r\n loader: 'ts-loader',\r\n }\r\n ]\r\n },\r\n resolve: {\r\n extensions: ['.tsx', '.ts', '.js'],\r\n },\r\n};"}},"/docs/random":{"title":"Random","data":{"random-function#random() function":"export function random(g?: IRandomGenerator): Resolved;\nexport interface IRandomGenerator {\r\n boolean(): boolean;\r\n integer(minimum?: number, maximum?: number): number;\r\n number(minimum?: number, maximum?: number): number;\r\n bigint(minimum?: bigint, maximum?: bigint): bigint;\r\n string(length?: number): string;\r\n array(closure: (index: number) => T, count?: number): T[];\r\n length(): number;\r\n\r\n uuid(): string;\r\n email(): string;\r\n url(): string;\r\n ipv4(): string;\r\n ipv6(): string;\r\n pattern(regex: RegExp): string;\r\n date(minimum?: number, maximum?: number): string;\r\n datetime(minimum?: number, maximum?: number): string;\r\n\r\n customs?: IRandomGenerator.CustomMap;\r\n}\r\nexport namespace IRandomGenerator {\r\n export type CustomMap = {\r\n [Type in keyof Customizable]?: (\r\n tags: ITypeTag[],\r\n ) => Customizable[Type] | undefined;\r\n };\r\n\r\n export interface ITypeTag {\r\n name: string;\r\n kind: string;\r\n value: any;\r\n }\r\n}\nexport interface Customizable {\r\n number: number;\r\n string: string;\r\n bigint: bigint;\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nYou can make every random data just by calling typia.random() function.When you call the typia.random() function, typia will analyze your type T, and writes optimal random generation code for the type T, in the compilation level. This is called AOT (Ahead of Time) compliation, and you may understand what it is just by reading below example code.\nimport typia, { tags } from \"typia\";\r\n\r\nconst member: IMember = typia.random();\r\nconsole.log(member);\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst member = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"uuid\\\">\",\r\n kind: \"format\",\r\n value: \"uuid\",\r\n }\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n age: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"uint32\\\">\",\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100)\r\n });\r\n return $ro0();\r\n})();\r\nconsole.log(member);","reusable-function#Reusable function":"export function createRandom(): (g?: IRandomGenerator) => Resolved;\nexport interface IRandomGenerator {\r\n boolean(): boolean;\r\n integer(minimum?: number, maximum?: number): number;\r\n number(minimum?: number, maximum?: number): number;\r\n bigint(minimum?: bigint, maximum?: bigint): bigint;\r\n string(length?: number): string;\r\n array(closure: (index: number) => T, count?: number): T[];\r\n\r\n uuid(): string;\r\n email(): string;\r\n url(): string;\r\n ipv4(): string;\r\n ipv6(): string;\r\n pattern(regex: RegExp): string;\r\n date(minimum?: number, maximum?: number): string;\r\n datetime(minimum?: number, maximum?: number): string;\r\n\r\n customs?: IRandomGenerator.CustomMap;\r\n}\r\nexport namespace IRandomGenerator {\r\n export type CustomMap = {\r\n [Type in keyof Customizable]?: \r\n (tags: ICommentTag[]) => Customizable[Type] | undefined;\r\n };\r\n\r\n export interface ICommentTag {\r\n name: string;\r\n value?: string;\r\n }\r\n}\nexport interface Customizable {\r\n number: number;\r\n string: string;\r\n bigint: bigint;\r\n}\nReusable typia.random() function generators.If you repeat to call typia.random() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createRandom() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const createRandomMember = typia.createRandom();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.createRandomMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst createRandomMember = generator => {\r\n const $generator = typia_1.default.createRandom.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"uuid\\\">\",\r\n kind: \"format\",\r\n value: \"uuid\",\r\n }\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n age: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"uint32\\\">\",\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100)\r\n });\r\n return $ro0();\r\n};\r\nexports.createRandomMember = createRandomMember;\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}","special-tags#Special Tags":"Runtime validators of typia provides additional type checking logic through Type Tags and Comment Tags. typia.random() function also like that. typia.random() function can utilize those tags to specialize the behavior of random data generation.For reference, whether you choose Type Tags or Comment Tags. typia.random(), it is not a matter for typia.random() function. Below two TypeScript codes are generating exactly same JavaScript code. Therefore, you can choose whatever you want considering your preference.\nimport typia, { tags } from \"typia\";\r\n\r\nconst data: TypeTag = typia.random();\r\n\r\nconsole.log(data);\r\n\r\ninterface TypeTag {\r\n type: number & tags.Type<\"int32\">;\r\n number?: number & tags.ExclusiveMinimum<19> & tags.Maximum<100>;\r\n string: string & tags.MinLength<3>;\r\n pattern: string & tags.Pattern<\"^[a-z]+$\">;\r\n format: (string & tags.Format<\"date-time\">) | null;\r\n}\nimport typia from \"typia\";\r\n\r\nconst data: CommentTag = typia.random();\r\n\r\nconsole.log(data);\r\n\r\ninterface CommentTag {\r\n /**\r\n * @type int\r\n */\r\n type: number;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n number?: number;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n string: string;\r\n\r\n /**\r\n * @pattern ^[a-z]+$\r\n */\r\n pattern: string;\r\n\r\n /**\r\n * @format date-time\r\n */\r\n format: string | null;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst data = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $pick = typia_1.default.random.pick;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n type: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"int32\\\">\",\r\n kind: \"type\",\r\n value: \"int32\"\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n number: $pick([\r\n () => undefined,\r\n () => (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100\r\n }\r\n ]) ?? (generator?.number ?? $generator.number)(19, 100)\r\n ])(),\r\n string: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"MinLength<3>\",\r\n kind: \"minLength\",\r\n value: 3\r\n }\r\n ]) ?? (generator?.string ?? $generator.string)((generator?.integer ?? $generator.integer)(3, 25)),\r\n pattern: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Pattern<\\\"^[a-z]+$\\\">\",\r\n kind: \"pattern\",\r\n value: \"^[a-z]+$\"\r\n }\r\n ]) ?? (generator?.pattern ?? $generator.pattern)(/^[a-z]+$/),\r\n format: $pick([\r\n () => null,\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"date-time\\\">\",\r\n kind: \"format\",\r\n value: \"date-time\"\r\n }\r\n ]) ?? (generator?.datetime ?? $generator.datetime)()\r\n ])()\r\n });\r\n return $ro0();\r\n})();\r\nconsole.log(data);","customization#Customization":"export function random(g?: IRandomGenerator): Resolved;\r\nexport function createRandom: (g?: IRandomGenerator) => Resolved;\nexport interface IRandomGenerator {\r\n boolean(): boolean;\r\n integer(minimum?: number, maximum?: number): number;\r\n number(minimum?: number, maximum?: number): number;\r\n bigint(minimum?: bigint, maximum?: bigint): bigint;\r\n string(length?: number): string;\r\n array(closure: (index: number) => T, count?: number): T[];\r\n\r\n uuid(): string;\r\n email(): string;\r\n url(): string;\r\n ipv4(): string;\r\n ipv6(): string;\r\n pattern(regex: RegExp): string;\r\n date(minimum?: number, maximum?: number): string;\r\n datetime(minimum?: number, maximum?: number): string;\r\n\r\n customs?: IRandomGenerator.CustomMap;\r\n}\r\nexport namespace IRandomGenerator {\r\n export type CustomMap = {\r\n [Type in keyof Customizable]?: \r\n (tags: ICommentTag[]) => Customizable[Type] | undefined;\r\n };\r\n\r\n export interface ICommentTag {\r\n name: string;\r\n value?: string;\r\n }\r\n}\nexport interface Customizable {\r\n number: number;\r\n string: string;\r\n bigint: bigint;\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nYou can add custom type tags for random data generation.As above IRandomGenerator.CustomMap has a little bit complicate type, it may hard to understand for newcomers. However, such newcomers may easily understand, how to customize the random generation, just by reading the following example.Just define custom type tags like below, then everything would be done.For reference, when defining custom type tag, typia enforces user to define validate function literal for type safety. Never forget it when you define custom type tags for random generation. Such validation logic definition may enhance your random data generator logic when combining with typia.assert() function.\nimport typia from \"typia\";\r\nimport { RandomGenerator } from \"typia/lib/utils/RandomGenerator\";\r\n\r\nconst data: TagCustom = typia.random({\r\n customs: {\r\n string: (tags) => {\r\n if (tags.find((t) => t.kind === \"dollar\") !== undefined)\r\n return \"$\" + RandomGenerator.integer();\r\n const postfix = tags.find((t) => t.kind === \"postfix\");\r\n if (postfix !== undefined)\r\n return RandomGenerator.string() + postfix.value;\r\n },\r\n },\r\n});\r\n\r\nconsole.log(data);\r\n\r\ninterface TagCustom {\r\n id: string & typia.tags.Format<\"uuid\">;\r\n dollar: string & Dolloar;\r\n postfix: string & Postfix<\"abcd\">;\r\n powerOf: number & PowerOf<2>;\r\n}\r\n\r\ntype Dolloar = typia.tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = typia.tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype PowerOf = typia.tags.TagBase<{\r\n kind: \"powerOf\";\r\n target: \"number\";\r\n value: Value;\r\n validate: `(() => {\r\n const denominator: number = Math.log(${Value});\r\n const value: number = Math.log($input) / denominator;\r\n return Math.abs(value - Math.round(value)) < 0.00000001;\r\n })()`;\r\n}>;\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst RandomGenerator_1 = require(\"typia/lib/utils/RandomGenerator\");\r\nconst data = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"uuid\\\">\",\r\n kind: \"format\",\r\n value: \"uuid\"\r\n }\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n dollar: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Dolloar\",\r\n kind: \"dollar\"\r\n }\r\n ]) ?? (generator?.string ?? $generator.string)(),\r\n postfix: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Postfix<\\\"abcd\\\">\",\r\n kind: \"postfix\",\r\n value: \"abcd\"\r\n }\r\n ]) ?? (generator?.string ?? $generator.string)(),\r\n powerOf: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"PowerOf<2>\",\r\n kind: \"powerOf\",\r\n value: 2\r\n }\r\n ]) ?? (generator?.number ?? $generator.number)(0, 100)\r\n });\r\n return $ro0();\r\n})({\r\n customs: {\r\n string: (tags) => {\r\n if (tags.find((t) => t.kind === \"dollar\") !== undefined)\r\n return \"$\" + RandomGenerator_1.RandomGenerator.integer();\r\n const postfix = tags.find((t) => t.kind === \"postfix\");\r\n if (postfix !== undefined)\r\n return RandomGenerator_1.RandomGenerator.string() + postfix.value;\r\n },\r\n },\r\n});\r\nconsole.log(data);"}},"/docs/protobuf/decode":{"title":"Decode","data":{"decode-functions#decode() functions":"export namespace protobuf {\r\n export function decode(buffer: Uint8Array): Resolved;\r\n export function isDecode(buffer: Uint8Array): Resolved | null;\r\n export function assertDecode(buffer: Uint8Array): Resolved;\r\n export function validateDecode(\r\n buffer: Uint8Array\r\n ): IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nProtocol Buffer Decoder.You can easily convert a Protocol Buffer's binary data to a JavaScript object, without any extra Protocol Buffer Message Schema definition. typia.protobuf.decode() function analyzes your type T, and generates a Protocol Buffer Message Schema internally.And then, it converts the binary data to a JavaScript object.By the way, as Protocol Buffer handles binary data directly, there's no way when input binary data was not encoded from the T typed value. In that case, unexpected behavior or internal error would be occured. Therefore, I recommend you to encode binary data of Protocol Buffer from type safe encode functions like below, Use typia.protobuf.encode() function only when you can trust it.\ntypia.protobuf.isEncode()\ntypia.protobuf.assertEncode()\ntypia.protobuf.validateEncode()\nFor reference, typia provides type safe decorators like below, but they are just for additional type validation like number & Minimum<7> or string & Format<\"uuid\"> cases, that are represented by Special Tags. Thus, I repeat that, you've to ensure type safety when using decoder function.\ntypia.protobuf.isDecode(): typia.is() + typia.protobuf.decode()\ntypia.protobuf.assertDecode(): typia.assert() + typia.protobuf.decode()\ntypia.protobuf.validateDecode(): typia.validate() + typia.protobuf.decode()\nAOT compliation\ntypia.protobuf.decode() and other similar functions are still much faster than any other competitive libraries, even though they include type checking process. This is the power of AOT compilation, writing optimal dedicated code by analyzing TypeScript type, in the compilation level.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\r\n\r\nconst data: ICustomer = typia.random();\r\nconst encoded: Uint8Array = typia.protobuf.encode(data);\r\ntypia.protobuf.decode(encoded);\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst data = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $pick = typia_1.default.random.pick;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"int32\\\">\",\r\n kind: \"type\",\r\n value: \"int32\",\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n pet: $pick([\r\n () => null,\r\n () => $ro1(_recursive, _recursive ? 1 + _depth : _depth),\r\n () => $ro2(_recursive, _recursive ? 1 + _depth : _depth)\r\n ])(),\r\n memo: $pick([\r\n () => null,\r\n () => new Map((generator?.array ?? $generator.array)(() => [\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)()\r\n ]))\r\n ])(),\r\n logins: (generator?.array ?? $generator.array)(() => $ro3(_recursive, _recursive ? 1 + _depth : _depth))\r\n });\r\n const $ro1 = (_recursive = false, _depth = 0) => ({\r\n type: \"cat\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n ribbon: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro2 = (_recursive = false, _depth = 0) => ({\r\n type: \"dog\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n hunt: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro3 = (_recursive = false, _depth = 0) => ({\r\n success: (generator?.boolean ?? $generator.boolean)(),\r\n href: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n referrer: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n ip: $pick([\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv4\\\">\",\r\n kind: \"format\",\r\n value: \"ipv4\",\r\n }\r\n ]) ?? (generator?.ipv4 ?? $generator.ipv4)(),\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv6\\\">\",\r\n kind: \"format\",\r\n value: \"ipv6\",\r\n }\r\n ]) ?? (generator?.ipv6 ?? $generator.ipv6)()\r\n ])(),\r\n time: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"date-time\\\">\",\r\n kind: \"format\",\r\n value: \"date-time\",\r\n }\r\n ]) ?? (generator?.datetime ?? $generator.datetime)()\r\n });\r\n return $ro0();\r\n})();\r\nconst encoded = (input => {\r\n const $throws = typia_1.default.protobuf.encode.throws;\r\n const $Sizer = typia_1.default.protobuf.encode.Sizer;\r\n const $Writer = typia_1.default.protobuf.encode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"id\";\r\n writer.uint32(8);\r\n writer.int32(input.id);\r\n // property \"email\";\r\n writer.uint32(18);\r\n writer.string(input.email);\r\n // property \"name\";\r\n writer.uint32(26);\r\n writer.string(input.name);\r\n // property \"pet\";\r\n if (null !== input.pet) {\r\n if (\"cat\" === input.pet.type)\r\n return (() => {\r\n // 4 -> ICat;\r\n writer.uint32(34);\r\n writer.fork();\r\n $peo1(input.pet);\r\n writer.ldelim();\r\n })();\r\n else if (\"dog\" === input.pet.type)\r\n return (() => {\r\n // 5 -> IDog;\r\n writer.uint32(42);\r\n writer.fork();\r\n $peo2(input.pet);\r\n writer.ldelim();\r\n })();\r\n else\r\n $throws({\r\n expected: \"(ICat | IDog)\",\r\n value: input.pet\r\n });\r\n }\r\n // property \"memo\";\r\n if (null !== input.memo) {\r\n for (const [key, value] of input.memo) {\r\n writer.uint32(50);\r\n writer.fork();\r\n writer.uint32(10);\r\n writer.string(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n // property \"logins\";\r\n if (0 !== input.logins.length) {\r\n for (const elem of input.logins) {\r\n // 7 -> ICustomerLogin;\r\n writer.uint32(58);\r\n writer.fork();\r\n $peo3(elem);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n const $peo1 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"ribbon\";\r\n writer.uint32(24);\r\n writer.bool(input.ribbon);\r\n };\r\n const $peo2 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"hunt\";\r\n writer.uint32(24);\r\n writer.bool(input.hunt);\r\n };\r\n const $peo3 = input => {\r\n // property \"success\";\r\n writer.uint32(8);\r\n writer.bool(input.success);\r\n // property \"href\";\r\n writer.uint32(18);\r\n writer.string(input.href);\r\n // property \"referrer\";\r\n writer.uint32(26);\r\n writer.string(input.referrer);\r\n // property \"ip\";\r\n writer.uint32(34);\r\n writer.string(input.ip);\r\n // property \"time\";\r\n writer.uint32(42);\r\n writer.string(input.time);\r\n };\r\n const $io1 = input => \"cat\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.ribbon;\r\n const $io2 = input => \"dog\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.hunt;\r\n const $io3 = input => \"boolean\" === typeof input.success && (\"string\" === typeof input.href && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.referrer && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.ip && (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(input.ip) || /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(input.ip))) && (\"string\" === typeof input.time && !isNaN(new Date(input.time).getTime()));\r\n const $iu0 = input => (() => {\r\n if (\"cat\" === input.type)\r\n return $io1(input);\r\n else if (\"dog\" === input.type)\r\n return $io2(input);\r\n else\r\n return false;\r\n })();\r\n //ICustomer;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n})(data);\r\n(input => {\r\n const $Reader = typia_1.default.protobuf.decode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n id: undefined,\r\n email: \"\",\r\n name: \"\",\r\n pet: null,\r\n memo: null,\r\n logins: []\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.id = reader.int32();\r\n break;\r\n case 2:\r\n // string;\r\n output.email = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 4:\r\n // ICat;\r\n output.pet = $pdo1(reader, reader.uint32());\r\n break;\r\n case 5:\r\n // IDog;\r\n output.pet = $pdo2(reader, reader.uint32());\r\n break;\r\n case 6:\r\n // type: Map;\r\n (() => {\r\n output.memo ??= new Map();\r\n const piece = reader.uint32() + reader.index();\r\n const entry = {\r\n key: \"\",\r\n value: \"\"\r\n };\r\n while (reader.index() < piece) {\r\n const kind = reader.uint32();\r\n switch (kind >>> 3) {\r\n case 1:\r\n // string;\r\n entry.key = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n entry.value = reader.string();\r\n break;\r\n default:\r\n reader.skipType(kind & 7);\r\n break;\r\n }\r\n }\r\n output.memo.set(entry.key, entry.value);\r\n })();\r\n break;\r\n case 7:\r\n // type: Array;\r\n output.logins.push($pdo3(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo1 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n ribbon: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.ribbon = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo2 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n hunt: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.hunt = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo3 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n success: undefined,\r\n href: \"\",\r\n referrer: \"\",\r\n ip: \"\",\r\n time: \"\"\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // bool;\r\n output.success = reader.bool();\r\n break;\r\n case 2:\r\n // string;\r\n output.href = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.referrer = reader.string();\r\n break;\r\n case 4:\r\n // string;\r\n output.ip = reader.string();\r\n break;\r\n case 5:\r\n // string;\r\n output.time = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n})(encoded);","reusable-functions#Reusable functions":"export namespace protobuf {\r\n export function createDecode(): (buffer: Uint8Array) => Resolved;\r\n export function createIsDecode: (buffer: Uint8Array) => Resolved | null;\r\n export function createAssertDecode(): (buffer: Uint8Array) => Resolved;\r\n export function createValidateDecode(): (\r\n buffer: Uint8Array\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nReusable typia.protobuf.decode() function generators.If you repeat to call typia.protobuf.decode() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.protobuf.createDecode() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const encode = typia.protobuf.createDecode();\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.encode = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst encode = input => {\r\n const $Reader = typia_1.default.protobuf.createDecode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n id: undefined,\r\n email: \"\",\r\n name: \"\",\r\n pet: null,\r\n memo: null,\r\n logins: []\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.id = reader.int32();\r\n break;\r\n case 2:\r\n // string;\r\n output.email = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 4:\r\n // ICat;\r\n output.pet = $pdo1(reader, reader.uint32());\r\n break;\r\n case 5:\r\n // IDog;\r\n output.pet = $pdo2(reader, reader.uint32());\r\n break;\r\n case 6:\r\n // type: Map;\r\n (() => {\r\n output.memo ??= new Map();\r\n const piece = reader.uint32() + reader.index();\r\n const entry = {\r\n key: \"\",\r\n value: \"\"\r\n };\r\n while (reader.index() < piece) {\r\n const kind = reader.uint32();\r\n switch (kind >>> 3) {\r\n case 1:\r\n // string;\r\n entry.key = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n entry.value = reader.string();\r\n break;\r\n default:\r\n reader.skipType(kind & 7);\r\n break;\r\n }\r\n }\r\n output.memo.set(entry.key, entry.value);\r\n })();\r\n break;\r\n case 7:\r\n // type: Array;\r\n output.logins.push($pdo3(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo1 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n ribbon: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.ribbon = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo2 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n hunt: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.hunt = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo3 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n success: undefined,\r\n href: \"\",\r\n referrer: \"\",\r\n ip: \"\",\r\n time: \"\"\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // bool;\r\n output.success = reader.bool();\r\n break;\r\n case 2:\r\n // string;\r\n output.href = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.referrer = reader.string();\r\n break;\r\n case 4:\r\n // string;\r\n output.ip = reader.string();\r\n break;\r\n case 5:\r\n // string;\r\n output.time = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n};\r\nexports.encode = encode;","references#References":"Protocol Buffer supports special numeric types like int32 or uint64 that are not supported in TypeScript. Also, types of Protocol Buffer cannot fully meet TypeScript type specs either, as expression power of TypeScript types are much stronger than Protocol Buffer.To know how to define special numeric types like uint64, and to understand which TypeScript types are not supported in Protocol Buffer specs, it would better to read below documents. I recommend you to read them before using typia.protobuf.decode() related functions.\nTypia Guide Documents > Protocol Buffer > Message Schema\nmessage() function\nType Tags\nComment Tags\nRestrictions"}},"/docs/validators/tags":{"title":"Tags","data":{"outline#Outline":"typia can perform additional validation through type tags and comment tags.When you need additional validation logic that is not supported in pure TypeScript type spec, you can use type tags and comment tags for it. For example, if you define a type with intersection symbol like number & typia.tags.Type<\"uint32\"> and validates it, typia will check the target numeric value is unsigned integer or not.Also, in TypeScript (and JavaScript), writing @ character in comment is called Comment Tag and typia utilizes such comment tags for enhancing type validation logic. As you can see from below example code, typia analyzes @tagName value patterned comment tags, and generates optimal validation logic in the compilation level.Therefore, don't be afraid typia uses only pure TypeScript types for type validation schema. Don't be afraid about TypeScript does not support integer type. With those type tags and comment tags, you can express every types in the world.\nQ: How to validate integer type? TypeScript does not support it\nA1: Use type tag number & typia.tags.Type<\"int32\">\nA2: Write a comment tag @type int32 on the target property\nQ: Type Tag vs Comment Tags, which one is better\nA1: Type Tag is recommended because it is much safer and generous\nA2: Comment Tag is designed for legacy JSDoc styled projects\nimport typia, { tags } from \"typia\";\r\n\r\nexport const checkCustomTag = typia.createIs();\r\n\r\ninterface CustomTag {\r\n /**\r\n * @type uint32\r\n */\r\n type: number;\r\n\r\n number?: number & tags.ExclusiveMinimum<19> & tags.Maximum<100>;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n string: string;\r\n\r\n pattern: string & tags.Pattern<\"^[a-z]+$\">;\r\n\r\n /**\r\n * Type tag can perform union type.\r\n * \r\n * In here case, format can be oneof `ipv4` or `ipv6` format.\r\n */\r\n format: (string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">)) | null;\r\n\r\n /**\r\n * In the Array case, only type tag can restrict element type.\r\n */\r\n array: Array> \r\n & tags.MinItems<3> \r\n & tags.MaxItems<100>;\r\n\r\n /**\r\n * Also, only type tag can handle map type.\r\n */\r\n map: Map<\r\n number & tags.Type<\"uint32\">, \r\n Array> & tags.MinItems<1>\r\n >;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkCustomTag = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkCustomTag = (input) => {\r\n const $io0 = (input) =>\r\n \"number\" === typeof input.type &&\r\n Math.floor(input.type) === input.type &&\r\n 0 <= input.type &&\r\n input.type <= 4294967295 &&\r\n (undefined === input.number ||\r\n (\"number\" === typeof input.number &&\r\n 19 < input.number &&\r\n input.number <= 100)) &&\r\n \"string\" === typeof input.string &&\r\n 3 <= input.string.length &&\r\n \"string\" === typeof input.pattern &&\r\n !isNaN(new Date(input.pattern).getTime()) &&\r\n (null === input.format ||\r\n (\"string\" === typeof input.format &&\r\n (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(\r\n input.format,\r\n ) ||\r\n !isNaN(new Date(input.format).getTime())))) &&\r\n Array.isArray(input.array) &&\r\n 3 <= input.array.length &&\r\n input.array.length <= 100 &&\r\n input.array.every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ) &&\r\n input.map instanceof Map &&\r\n (() =>\r\n [...input.map].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"number\" === typeof elem[0] &&\r\n Math.floor(elem[0]) === elem[0] &&\r\n 0 <= elem[0] &&\r\n elem[0] <= 4294967295 &&\r\n Array.isArray(elem[1]) &&\r\n 1 <= elem[1].length &&\r\n elem[1].every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ),\r\n ))();\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n};\r\nexports.checkCustomTag = checkCustomTag;","type-tags#Type Tags":"By using type tags, you can utilize additional validation logics.Just import one of type tags from typia, and combine it with target through intersection symbol like number & typia.tags.Type<\"uint32\"> case. If you want to declare an union validation logic, combine | and bracket (()) symbols properly like below:\nnumber & (Type<\"uint32\"> | Type<\"double\">)\nnumber type can be both uint32 and double\n(number & Type<\"int32\">) | (bigint & Type<\"uint64\">)\nnumber is int32\nbigint is uint64\n(number & (Type<\"int32\">)| Type<\"float\">) | (bigint & Type<\"uint64\">)\nnumber can be both int32 and float\nbigint is uint64\nHere is the entire list of type tags that typia basically supports.For reference, when you take a mistake that choosing different target type, TypeScript compiler would block it with compilation error message. Also, if you take a mistake that placing invalid argument on the type, it would also be blocked IDE and compiler. Therefore, have a confidence when using them.\nnumber\nnumber & Type<{keyword}>\nint32\nuint32\nuint64\nint64\nfloat\ndouble\nnumber & Minimum<{number}>\nnumber & Maximum<{number}>\nnumber & ExclusiveMaximum<{number}>\nnumber & ExclusiveMinimum<{number}>\nnumber & MultipleOf<{number}>\nbigint\nbigint & Type<{keyword}>\nint64\nuint64\nbigint & Minimum<{bigint}>\nbigint & Maximum<{bigint}>\nbigint & ExclusiveMaximum<{bigint}>\nbigint & ExclusiveMinimum<{bigint}>\nbigint & MultipleOf<{bigint}>\nstring\nstring & MinLength<{number}>\nstring & MaxLength<{number}>\nstring & Pattern<{regex}>\nstring & Format<{keyword}>\nemail\nuuid\nipv4\nipv6\nurl\ndate: YYYY-MM-DD\ndate-time: Date.toISOString()\nAlso, if you need custom validation logic, just make it by yourself referencing Customization section. It is easy to define. For such type safety and generous use case reasons even customization supporting, I recommend you to use type tags instead of comment tags, unless you are maintaining a legacy JSDoc styled project.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const checkCustomTag = typia.createIs();\r\n\r\ninterface CustomTag {\r\n type: number & tags.Type<\"uint32\">;\r\n\r\n number?: number & tags.ExclusiveMinimum<19> & tags.Maximum<100>;\r\n\r\n string: string & tags.MinLength<3>;\r\n\r\n pattern: string & tags.Pattern<\"^[a-z]+$\">;\r\n\r\n /**\r\n * Type tag can perform union type.\r\n * \r\n * In here case, format can be oneof `ipv4` or `ipv6` format.\r\n */\r\n format: (string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">)) | null;\r\n\r\n /**\r\n * In the Array case, only type tag can restrict element type.\r\n */\r\n array: Array> \r\n & tags.MinItems<3> \r\n & tags.MaxItems<100>;\r\n\r\n /**\r\n * Also, only type tag can handle map type.\r\n */\r\n map: Map<\r\n number & tags.Type<\"uint32\">, \r\n Array> & tags.MinItems<1>\r\n >;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkCustomTag = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkCustomTag = (input) => {\r\n const $io0 = (input) =>\r\n \"number\" === typeof input.type &&\r\n Math.floor(input.type) === input.type &&\r\n 0 <= input.type &&\r\n input.type <= 4294967295 &&\r\n (undefined === input.number ||\r\n (\"number\" === typeof input.number &&\r\n 19 < input.number &&\r\n input.number <= 100)) &&\r\n \"string\" === typeof input.string &&\r\n 3 <= input.string.length &&\r\n \"string\" === typeof input.pattern &&\r\n !isNaN(new Date(input.pattern).getTime()) &&\r\n (null === input.format ||\r\n (\"string\" === typeof input.format &&\r\n (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(\r\n input.format,\r\n ) ||\r\n !isNaN(new Date(input.format).getTime())))) &&\r\n Array.isArray(input.array) &&\r\n 3 <= input.array.length &&\r\n input.array.length <= 100 &&\r\n input.array.every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ) &&\r\n input.map instanceof Map &&\r\n (() =>\r\n [...input.map].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"number\" === typeof elem[0] &&\r\n Math.floor(elem[0]) === elem[0] &&\r\n 0 <= elem[0] &&\r\n elem[0] <= 4294967295 &&\r\n Array.isArray(elem[1]) &&\r\n 1 <= elem[1].length &&\r\n elem[1].every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ),\r\n ))();\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n};\r\nexports.checkCustomTag = checkCustomTag;","comment-tags#Comment Tags":"typia supports those comment tags, too.Here is the entire list of comment tags that typia supports.\nnumber\n@type {string}\nint / int32\nuint / uint32\nint64\nuint64\nfloat\n@minimum {number}\n@maximum {number}\n@exclusiveMinimum {number}\n@exclusiveMaximum {number}\n@multipleOf {number}\nbigint\n@type uint64\n@minimum {bigint}\n@maximum {bigint}\n@exclusiveMinimum {bigint}\n@exclusiveMaximum {bigint}\n@multipleOf {bigint}\nstring\n@minLength {number}\n@maxLength {number}\n@pattern {regex}\n@format {keyword}\nemail\nuuid\nipv4\nipv6\nurl\ndate: YYYY-MM-DD\ndate-time: Date.toISOString()\narray\n@minItems {number}\n@maxItems {number}\nBy the way, I do not recommend this way, because it can't perform union numeric types, and can be used for only object property type. It can't be used standalone, and cannot be used for element type of Array and Map even when they're declared on object property. Also, When you declare @type int32 statement, target number type be fixed as int32 type, and never can have another numeric type by declaring union statements.Also, those comment tags are not type safe. If you take a mistake when writing a comment tag, it will not be detected by the compiler, and will cause an error at runtime. For example, if you write a mis-spelled keyword like @type unit32, the target number type would be double type, and you can identify it just by running the program (or visiting playground website).\nWhy supports comment tags?\nDespite these disadvantages, the reason for maintaining comment tags is as follows.First, it is to support the legacy JSDoc style that had been used in the JS camp for a long time. If you had developed a legacy project and JSDoc being used, you can use it as is.Second, to support Prisma. If a comment is created in the Prisma Schema through the /// statement as shown below and a type is created, it is converted to a TS comment as it is. And since there is no way that union types, numeric Arrays or Maps are used in Prisma (database) schema, these comment tags are surprisingly compatible with Prisma.\nimport typia from \"typia\";\r\n\r\nexport const checkCustomTag = typia.createIs();\r\n\r\ninterface CustomTag {\r\n /**\r\n * @type uint32\r\n */\r\n type: number;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n number?: number;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n string: string;\r\n\r\n /**\r\n * @format /^[a-z]+$/\r\n */\r\n pattern: string;\r\n\r\n // NO WAY WHEN COMMENT TAG\r\n // /**\r\n // * Type tag can perform union type.\r\n // * \r\n // * In here case, format can be oneof `ipv4` or `ipv6` format.\r\n // */\r\n // format: (string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">)) | null;\r\n\r\n // NO WAY WHEN COMMENT TAG\r\n // /**\r\n // * In the Array case, only type tag can restrict element type.\r\n // */\r\n // array: Array> \r\n // & tags.MinItems<3> \r\n // & tags.MaxItems<100>;\r\n\r\n // NO WAY WHEN COMMENT TAG\r\n // /**\r\n // * Also, only type tag can handle map type.\r\n // */\r\n // map: Map<\r\n // number & tags.Type<\"uint32\">, \r\n // Array> & tags.MinItems<1>\r\n // >;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkCustomTag = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkCustomTag = (input) => {\r\n const $io0 = (input) =>\r\n \"number\" === typeof input.type &&\r\n Math.floor(input.type) === input.type &&\r\n 0 <= input.type &&\r\n input.type <= 4294967295 &&\r\n (undefined === input.number ||\r\n (\"number\" === typeof input.number &&\r\n 19 < input.number &&\r\n input.number <= 100)) &&\r\n \"string\" === typeof input.string &&\r\n 3 <= input.string.length &&\r\n \"string\" === typeof input.pattern;\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n};\r\nexports.checkCustomTag = checkCustomTag;","customization#Customization":"export type TagBase> = {\r\n /**\r\n * This is a dummy property for compilation.\r\n * \r\n * It does not mean anything in runtime.\r\n */\r\n \"typia.tag\"?: Props;\r\n};\r\nexport namespace TagBase {\r\n export interface IProps<\r\n Target extends \"bigint\" | \"number\" | \"string\" | \"array\",\r\n Kind extends string,\r\n Value extends boolean | bigint | number | string | undefined,\r\n Validate extends\r\n | string\r\n | {\r\n [key in Target]?: string;\r\n },\r\n Exclusive extends boolean | string[],\r\n > {\r\n /**\r\n * Target type.\r\n *\r\n * If user tries to adapt this tag to a different type, it would be a compile\r\n * error.\r\n *\r\n * For example, you've configured target type as `string`, but user adapted it\r\n * onto a `number` type (`number & YourCustomTag`), then it would be\r\n * blocked by TypeScript compiler.\r\n */\r\n target: Target;\r\n\r\n /**\r\n * What kind of tag is this?\r\n */\r\n kind: Kind;\r\n\r\n /**\r\n * Value to be configured by user.\r\n */\r\n value: Value;\r\n\r\n /**\r\n * Validation code.\r\n *\r\n * This code would be inserted into the generated validation function.\r\n * In here script, target variable name must be `$input`. The variable name\r\n * `$input` would be transformed to the suitable when compilation.\r\n *\r\n * Also, If you've take a mistake on this script, compile error would be\r\n * occured. So, define it with confidence. Compiler will block all your\r\n * mistakes.\r\n */\r\n validate: Validate;\r\n\r\n /**\r\n * Exclusive option.\r\n *\r\n * If this property configured as `true`, same {@link kind} tag cannot be\r\n * duplicated in the target type. Otherwise, if you've configured this property\r\n * as string array, all of the {@link kind} value assigned tag cannot be\r\n * compatible in the target type.\r\n * \r\n * @default false\r\n */\r\n exclusive?: Exclusive | string[];\r\n }\r\n}\nimport { TagBase } from \"./TagBase\";\r\n\r\nexport type Minimum = TagBase<{\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n kind: \"minimum\";\r\n value: Value;\r\n validate: `${Numeric} <= $input`;\r\n exclusive: [\"minimum\", \"exclusiveMinimum\"];\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\nimport { TagBase } from \"./TagBase\";\r\n\r\nexport type Type<\r\n Value extends \"int32\" | \"uint32\" | \"int64\" | \"uint64\" | \"float\" | \"double\",\r\n> = TagBase<{\r\n target: Value extends \"int64\" | \"uint64\" ? \"bigint\" | \"number\" : \"number\";\r\n kind: \"type\";\r\n value: Value;\r\n validate: Value extends \"int32\"\r\n ? `Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647`\r\n : Value extends \"uint32\"\r\n ? `Math.floor($input) === $input && 0 <= $input && $input <= 4294967295`\r\n : Value extends \"int64\"\r\n ? {\r\n number: `Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`;\r\n bigint: `true`;\r\n }\r\n : Value extends \"uint64\"\r\n ? {\r\n number: `Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`;\r\n bigint: `BigInt(0) <= $input`;\r\n }\r\n : Value extends \"float\"\r\n ? `-1.175494351e38 <= $input && $input <= 3.4028235e38`\r\n : `true`;\r\n exclusive: true;\r\n}>;\nimport { TagBase } from \"./TagBase\";\r\n\r\nexport type Pattern = TagBase<{\r\n target: \"string\";\r\n kind: \"pattern\";\r\n value: Value;\r\n validate: `/${Value}/.test($input)`;\r\n}>;\nAbove types are supported by typia basically.If you make a custom type tag extending typia.tags.TagBase type, and utilize it on your type with intersection symbol like number & Minimum<3>, its validation logic 3 <= $input would be inserted into the compiled JavaScript file.Also, as you can see from the typia.tags.TagBase type, you have to specify which target type is the tag for, and need to define the tag can be compatible with others or not through exclusive options. If your custom tag has multiple target types, you can support all of those target types by defining validate property as Record type like Type tag case.In the Korean proverb, there's a word that, \"it is much better to do it once than to hear it a hundred times\". Let's see how custom type tag of typia can be defined and utilized through an example code. I'll define three custom tag types, Postfix, Dollar and IsEven.Here is the example code, and I think that it may easy to understand.\nimport typia from \"typia\";\r\n\r\nexport const checkTagCustom = typia.createIs();\r\n \r\ninterface TagCustom {\r\n id: string & typia.tags.Format<\"uuid\">;\r\n dollar: string & Dolloar;\r\n postfix: string & Postfix<\"abcd\">;\r\n powerOf: number & PowerOf<2>;\r\n}\r\n \r\ntype Dolloar = typia.tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n \r\ntype Postfix = typia.tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n \r\ntype PowerOf = typia.tags.TagBase<{\r\n kind: \"powerOf\";\r\n target: \"number\";\r\n value: Value;\r\n validate: `(() => {\r\n const denominator: number = Math.log(${Value});\r\n const value: number = Math.log($input) / denominator;\r\n return Math.abs(value - Math.round(value)) < 0.00000001;\r\n })()`;\r\n}>;\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkTagCustom = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkTagCustom = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.dollar &&\r\n input.dollar[0] === \"$\" &&\r\n !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) &&\r\n \"string\" === typeof input.postfix &&\r\n input.postfix.endsWith(\"abcd\") &&\r\n \"number\" === typeof input.powerOf &&\r\n (() => {\r\n const denominator = Math.log(2);\r\n const value = Math.log(input.powerOf) / denominator;\r\n return Math.abs(value - Math.round(value)) < 1e-8;\r\n })()\r\n );\r\n};\r\nexports.checkTagCustom = checkTagCustom;"}},"/docs/validators/assert":{"title":"Assert","data":{"assert-function#assert() function":"export function assert(input: T): T;\r\nexport function assert(input: unknown): T;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nAsserts a value type.typia.assert() function throws a TypeGuardError when wrong type comes.The TypeGuardError instance has only the first type error info, with access path and expected type. In the below example case, as the age property is wrong with its definition (@exclusiveMinimum), such TypeGuardError would be thrown:\nmethod: typia.assert()\npath: input.age\nvalue: 18,\nexpected: number & ExclusiveMinimum<19>\nAOT compliation\nIf you'd used other competitive validator libraries like ajv or class-validator, you may found that typia does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files.\najv requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nYeah, typia needs only pure TypeScript type. As typia is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of typia, which needs only one line with pure TypeScript type.\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\ntypia.assert({\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 18, // wrong, must be greater than 19\r\n});\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\n((input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n})({\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 18, // wrong, must be greater than 19\r\n});","assertequals-function#assertEquals() function":"export function assertEquals(input: T): T;\r\nexport function assertEquals(input: unknown): T;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nMore strict assert function prohibiting superfluous properties.typia.assert() function inspects input value type and throws TypeGuardError when mismatched, however, it can't detect superfluous properties. If you want to prohibit those superfluous properties, therefore throws an TypeGuardError when superfluous property exists, use typia.assertEquals function instead.In the below example case, as sex property is not defined in the IMember type, such TypeGuardError would be thrown:\nmethod: typia.assertEquals()\npath: input.sex\nvalue: 1,\r\n expected: undefined\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\ntypia.assert({\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n sex: 1, // extra\r\n});\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\n((input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n})({\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n sex: 1, // extra\r\n});","assertguard-functions#assertGuard() functions":"export function assertGurad(input: T): asserts inut is T;\r\nexport function assertGuard(input: unknown): asserts input is T;\r\n\r\nexport function assertGuardEquals(input: T): asserts inut is T;\r\nexport function assertGuardEquals(input: unknown): asserts input is T;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nAssertion guard of a value type.typia.assertGuard() is similar with typia.assert() throwing a TypeGuardError when wrong type.However, typia.assert() returns the paramteric input value itself when there's no type problem on the parametric input value, whereas the typia.assertGuard() function returns nothing. Instead, the parametric input value would be automatically cased to the type T. This is the concept of \"Assertion Guard\" of a value type.Such similarities and differences of typia.assertGuard() and typia.assert() functions are the same in the case of typia.assertGuardEquals() and typia.assertEquals() functions. If there's no type problem on the typia.assertGuardEquals() function, it also performs the \"Assertion Guard\".Look at the below code, then you may understand what the \"Assertion Guard\" means.\nimport typia from \"typia\";\r\n\r\ninterface IPoint {\r\n x: number;\r\n y: number;\r\n}\r\nconst input: unknown = { x: 1, y: 2 };\r\n\r\n// PERFORM THE ASSERTION GUARD\r\ntypia.assertGuard(input);\r\n\r\n// FROM NOW ON, \"input\" IS THE \"IPoint\" TYPE\r\ninput.x; // OK\r\ninput.y; // OK","reusable-functions#Reusable functions":"export function createAssert(): (input: unknown) => T;\r\nexport function createAssertEquals(): (input: unknown) => T;\r\n\r\nexport function createAssertGuard(): AssertionGuard;\r\nexport function createAssertGuardEquals(): AssertionGuard;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type AssertionGuard = (input: unknown) => asserts input is T;\nReusable typia.assert() function generators.If you repeat to call typia.assert() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createAssert() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const assertMember = typia.createAssert();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertMember = (input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.createAssert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n};\r\nexports.assertMember = assertMember;\nExplicity of Assertion Guard\nBe careful when using typia.createAssertGuard() or typia.createAssertGuardEquals() functions.When calling those functions, you've to declare the variable type explicit on the caller variable. If you don't do it, so that the caller variables come the implicit function type, TypeScript compiler throws an error like below. This is a special limitation of TypeScript compiler about the \"Assertion Guard\".\nimport typia, { AssertionGuard } from \"typia\";\r\n\r\n//MUST DECLARE THE VARIABLE TYPE\r\nconst explicit: AssertionGuard = typia.createAssertGuard();\r\n\r\n// IF NOT, COMPILATION ERROR BE OCCURED\r\nconst implicit = typia.createAssertGuard();\nAssertions require every name in the call target to be declared with an explicit type annotation.","restrictions#Restrictions":"typia.assert() function does not check function and user-defined class types.It validates only the primitive properties. Therefore, typia.assert() function does not perform the instanceof ClassName for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, typia.assert() function does not validate the function type either, unless configuring functional property of plugin option in the tsconfig.json file.\n{\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n {\r\n \"transform\": \"typia/lib/transform\",\r\n \"functional\": true\r\n }\r\n ]\r\n }\r\n}\nBy the way, there're some exception cases.If JS native class type like Date, Uint8Array, or Map being utilized, typia.assert() function validates them. Especially about the Set, and Map class cases, typia.assert() function validates all of their contained element types, too.Therefore, the instanceof statement does not be used only for the user-defined classes.\nimport typia from \"typia\";\r\n\r\ntypia.createIs>();\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n(input) => {\r\n return (\r\n input instanceof Map &&\r\n (() =>\r\n [...input].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"string\" === typeof elem[0] &&\r\n (\"string\" === typeof elem[1] ||\r\n \"number\" === typeof elem[1] ||\r\n \"boolean\" === typeof elem[1]),\r\n ))()\r\n );\r\n};","customization#Customization":"You can enhance validation logic by special tags.Also, with those tags, you can add your custom validation logic, too.If you want to know about such special tags detaily, read below article:\nSpecial Tags\nOutline\nType Tags\nComment Tags\nCustomization\nimport typia, { tags } from \"typia\";\r\n\r\nexport const assertSomething = typia.createAssert();\r\n\r\n//----\r\n// DEFINE CUSTOM TYPE TAGS\r\n//----\r\ntype Dollar = tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype IsEven = tags.TagBase<{\r\n kind: \"isEven\";\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n value: undefined;\r\n validate: `$input % ${Numeric<2>} === ${Numeric<0>}`;\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\r\n\r\n//----\r\n// VALIDATION\r\n//----\r\ninterface Something {\r\n dollar: string & Dollar;\r\n postfix: string & Postfix<\"!!!\">;\r\n isEven: number & IsEven;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertSomething = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertSomething = input => {\r\n const __is = input => {\r\n return \"object\" === typeof input && null !== input && (\"string\" === typeof input.dollar && (input.dollar[0] === \"$\" && !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\")))) && (\"string\" === typeof input.postfix && input.postfix.endsWith(\"!!!\")) && (\"number\" === typeof input.isEven && input.isEven % 2 === 0));\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.createAssert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.dollar && (input.dollar[0] === \"$\" && !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) || $guard(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"string & Dollar\",\r\n value: input.dollar\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"(string & Dollar)\",\r\n value: input.dollar\r\n })) && (\"string\" === typeof input.postfix && (input.postfix.endsWith(\"!!!\") || $guard(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: \"string & Postfix<\\\"!!!\\\">\",\r\n value: input.postfix\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: \"(string & Postfix<\\\"!!!\\\">)\",\r\n value: input.postfix\r\n })) && (\"number\" === typeof input.isEven && (input.isEven % 2 === 0 || $guard(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"number & IsEven\",\r\n value: input.isEven\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"(number & IsEven)\",\r\n value: input.isEven\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n};\r\nexports.assertSomething = assertSomething;","performance#Performance":"Super-fast and super-safe.Comparing typia.assert() function with other competitive libraries, maximum 20,000x faster.Furthermore, only typia can validate complicate union types.\nMeasured on Intel i5-1135g7, Surface Pro 8\nComponents\ttypia\tTypeBox\tajv\tio-ts\tzod\tC.V.\tEasy to use\t✅\t❌\t❌\t❌\t❌\t❌\tObject (simple)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (recursive)\t✔\t❌\t✔\t✔\t✔\t✔\t✔\tObject (union, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tObject (union, explicit)\t✔\t✔\t✔\t✔\t✔\t❌\tObject (additional tags)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (template literal types)\t✔\t✔\t✔\t❌\t❌\t❌\tObject (dynamic properties)\t✔\t✔\t✔\t❌\t❌\t❌\tArray (rest tuple)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tArray (recursive)\t✔\t✔\t✔\t✔\t✔\t❌\tArray (recursive, union)\t✔\t✔\t❌\t✔\t✔\t❌\tArray (R+U, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated, union)\t✅\t❌\t❌\t❌\t❌\t❌\tUltimate Union Type\t✅\t❌\t❌\t❌\t❌\t❌\t\nC.V. means class-validator"}},"/docs/validators/is":{"title":"Is","data":{"is-function#is() function":"export function is(input: T): input is T;\r\nexport function is(input: unknown): input is T;\nTests a value type.When you need to test an instance type, just call typia.is() function.If the input value is following type T, true value would be returned. Otherwise, false would be returned.\nAOT compliation\nIf you'd used other competitive validator libraries like ajv or class-validator, you may found that typia does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files.\najv requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nYeah, typia needs only pure TypeScript type. As typia is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of typia, which needs only one line with pure TypeScript type.\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\nconst matched: boolean = typia.is({\r\n id: v4(),\r\n email: \"samchon.github@gmai19l.com\",\r\n age: 30,\r\n});\r\n\r\nconsole.log(matched); // true\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\nconst matched = ((input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n})({\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmai19l.com\",\r\n age: 30,\r\n});\r\nconsole.log(matched); // true","equals-function#equals() function":"export function equals(input: T): input is T;\r\nexport function equals(input: unknown): input is T;\nMore strict checker prohibiting superfluous properties.typia.is() can test instance type, but it allows superfluous properties.If you want to prohibit those superfluous properties, you can use typia.equals() function instead.\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\nconst input: unknown = {\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n extra: \"superfluous property\", // extra\r\n};\r\nconst is: boolean = typia.is(input);\r\nconst equals: boolean = typia.equals(input);\r\n\r\nconsole.log(is, equals); // true, false\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\nconst input = {\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n extra: \"superfluous property\", // extra\r\n};\r\nconst is = ((input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n})(input);\r\nconst equals = ((input, _exceptionable = true) => {\r\n const $io0 = (input, _exceptionable = true) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n (3 === Object.keys(input).length ||\r\n Object.keys(input).every((key) => {\r\n if ([\"id\", \"email\", \"age\"].some((prop) => key === prop))\r\n return true;\r\n const value = input[key];\r\n if (undefined === value) return true;\r\n return false;\r\n }));\r\n return \"object\" === typeof input && null !== input && $io0(input, true);\r\n})(input);\r\nconsole.log(is, equals); // true, false","reusable-functions#Reusable functions":"export function createIs(): (input: unknown) => input is T;\r\nexport function createEquals(): (input: unknown) => input is T;\nReusable typia.is() function generators.If you repeat to call typia.is() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createIs() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const check = typia.createIs();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.check = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst check = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n};\r\nexports.check = check;","auto-type-casting#Auto Type Casting":"export function is(input: unknown): input is T;\r\nexport function equals(input: unknown): input is T;\r\nexport function createIs(): (input: unknown) => input is T;\r\nexport function createEquals(): (input: unknown) => input is T;\ntypia.is() function can be used for type casting.When target input value is following the type T, therefore true value be returned, typia.is() function automatically casts the input value to the type T. Therefore, you can utilize the typia.is() function for safe type casting tool like below:\nconst input: unknown = {\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n} as any;\r\nif (typia.is(input)) // auto type casting\r\n console.log(input.id, input.email, input.age);","restrictions#Restrictions":"typia.is() function does not check function and user-defined class types.It validates only the primitive properties. Therefore, typia.is() function does not perform the instanceof ClassName for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, typia.is() function does not validate the function type either, unless configuring functional property of plugin option in the tsconfig.json file.\n{\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n {\r\n \"transform\": \"typia/lib/transform\",\r\n \"functional\": true\r\n }\r\n ]\r\n }\r\n}\nBy the way, there're some exception cases.If JS native class type like Date, Uint8Array, or Map being utilized, typia.is() function validates them. Especially about the Set, and Map class cases, typia.is() function validates all of their contained element types, too.Therefore, the instanceof statement does not be used only for the user-defined classes.\nimport typia from \"typia\";\r\n\r\ntypia.createIs>();\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n(input) => {\r\n return (\r\n input instanceof Map &&\r\n (() =>\r\n [...input].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"string\" === typeof elem[0] &&\r\n (\"string\" === typeof elem[1] ||\r\n \"number\" === typeof elem[1] ||\r\n \"boolean\" === typeof elem[1]),\r\n ))()\r\n );\r\n};","customization#Customization":"You can enhance validation logic by special tags.Also, with those tags, you can add your custom validation logic, too.If you want to know about such special tags detaily, read below article:\nSpecial Tags\nOutline\nType Tags\nComment Tags\nCustomization\nimport typia, { tags } from \"typia\";\r\n\r\nexport const checkSomething = typia.createIs();\r\n\r\n//----\r\n// DEFINE CUSTOM TYPE TAGS\r\n//----\r\ntype Dollar = tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype IsEven = tags.TagBase<{\r\n kind: \"isEven\";\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n value: undefined;\r\n validate: `$input % ${Numeric<2>} === ${Numeric<0>}`;\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\r\n\r\n//----\r\n// VALIDATION\r\n//----\r\ninterface Something {\r\n dollar: string & Dollar;\r\n postfix: string & Postfix<\"!!!\">;\r\n isEven: number & IsEven;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkSomething = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkSomething = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.dollar &&\r\n input.dollar[0] === \"$\" &&\r\n !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) &&\r\n \"string\" === typeof input.postfix &&\r\n input.postfix.endsWith(\"!!!\") &&\r\n \"number\" === typeof input.isEven &&\r\n input.isEven % 2 === 0\r\n );\r\n};\r\nexports.checkSomething = checkSomething;","performance#Performance":"Super-fast and super-safe.Comparing typia.is() function with other competitive libraries, maximum 20,000x faster.Furthermore, only typia can validate complicate union types.\nMeasured on Intel i5-1135g7, Surface Pro 8\nComponents\ttypia\tTypeBox\tajv\tio-ts\tzod\tC.V.\tEasy to use\t✅\t❌\t❌\t❌\t❌\t❌\tObject (simple)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (recursive)\t✔\t❌\t✔\t✔\t✔\t✔\t✔\tObject (union, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tObject (union, explicit)\t✔\t✔\t✔\t✔\t✔\t❌\tObject (additional tags)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (template literal types)\t✔\t✔\t✔\t❌\t❌\t❌\tObject (dynamic properties)\t✔\t✔\t✔\t❌\t❌\t❌\tArray (rest tuple)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tArray (recursive)\t✔\t✔\t✔\t✔\t✔\t❌\tArray (recursive, union)\t✔\t✔\t❌\t✔\t✔\t❌\tArray (R+U, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated, union)\t✅\t❌\t❌\t❌\t❌\t❌\tUltimate Union Type\t✅\t❌\t❌\t❌\t❌\t❌\t\nC.V. means class-validator"}},"/docs/validators/validate":{"title":"Validate","data":{"validate-function#validate() function":"export function validate(input: T): IValidation;\r\nexport function validate(input: unknown): IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nValidates a value type.typia.validate() function validates input value type, and archives every type errors detaily into IValidation.IFailure.errors array, when the input value is not following the promised type T. Of course, if the parametric input value is following the type T, IValidation.ISuccess instance would be returned.In the below example case, as id and age values are different with its definition of IMember, such errors would be archived into the IValidation.IFailure.errors array.\nerrors[0]\npath: input.id\nexpected: string & Format<\"uuid\">\nvalue: 5\nerrors[1]\npath: input.age\nexpected: number & Format<\"uint32\">\nvalue: 20.75\nAOT compliation\nIf you'd used other competitive validator libraries like ajv or class-validator, you may found that typia does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files.\najv requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nYeah, typia needs only pure TypeScript type. As typia is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of typia, which needs only one line with pure TypeScript type.\nimport typia from \"typia\";\r\n\r\nconst res: typia.IValidation = typia.validate({\r\n id: 5, // wrong, must be string (uuid)\r\n age: 20.75, // wrong, not integer\r\n email: \"samchon.github@gmail.com\",\r\n});\r\n\r\nif (!res.success) console.log(res.errors);\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst res = ((input) => {\r\n const errors = [];\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.validate.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n }),\r\n (\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n }),\r\n (\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n})({\r\n id: 5,\r\n age: 20.75,\r\n email: \"samchon.github@gmail.com\",\r\n});\r\nif (!res.success) console.log(res.errors);","validateequals-function#validateEquals() function":"export function validateEquals(input: T): IValidation;\r\nexport function validateEquals(input: unknown): IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nMore strict validatae function prohibiting superfluous properties.typia.validate function detects every type errors of input value, however, it can't detect superfluous properties. If you want to prohibit those superfluous properties, so that archive them into IValidation.IFailure.errors array, use typia.validateEquals() function instead.In the below example case, as id property is different with its type definition and sex property is not defined in the IMember type, such errors would be archived into the IValidation.IFailure.errors array:\nerrors[0]\npath: input.id\nexpected: string (@format uuid)\nvalue: something\nerrors[1]\npath: input.sex\nexpected: undefined\nvalue: 1\nimport typia, { tags } from \"typia\";\r\n\r\nconst res: typia.IValidation = typia.validateEquals({\r\n age: 30,\r\n email: \"samchon.github@gmail.com\",\r\n id: \"something\", // wrong, must be string (uuid)\r\n sex: 1, // extra property\r\n});\r\n\r\nif (!res.success) console.log(res.errors);\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst res = ((input) => {\r\n const errors = [];\r\n const __is = (input, _exceptionable = true) => {\r\n const $io0 = (input, _exceptionable = true) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n (3 === Object.keys(input).length ||\r\n Object.keys(input).every((key) => {\r\n if ([\"id\", \"email\", \"age\"].some((prop) => key === prop))\r\n return true;\r\n const value = input[key];\r\n if (undefined === value) return true;\r\n return false;\r\n }));\r\n return \"object\" === typeof input && null !== input && $io0(input, true);\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.validateEquals.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $join = typia_1.default.validateEquals.join;\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n }),\r\n (\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n }),\r\n (\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }),\r\n 3 === Object.keys(input).length ||\r\n false === _exceptionable ||\r\n Object.keys(input)\r\n .map((key) => {\r\n if (\r\n [\"id\", \"email\", \"age\"].some(\r\n (prop) => key === prop,\r\n )\r\n )\r\n return true;\r\n const value = input[key];\r\n if (undefined === value) return true;\r\n return $report(_exceptionable, {\r\n path: _path + $join(key),\r\n expected: \"undefined\",\r\n value: value,\r\n });\r\n })\r\n .every((flag) => flag),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n})({\r\n age: 30,\r\n email: \"samchon.github@gmail.com\",\r\n id: \"something\",\r\n sex: 1, // extra property\r\n});\r\nif (!res.success) console.log(res.errors);","reusable-functions#Reusable functions":"export function createValidate = (input: unknown) => IValidation;\r\nexport function createValidateEquals = (input: unknown) => IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nReusable typia.validate() function generators.If you repeat to call typia.validate() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createValidate() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const validateMember = typia.createValidate();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.validateMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst validateMember = (input) => {\r\n const errors = [];\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.createValidate.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n }),\r\n (\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n }),\r\n (\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n};\r\nexports.validateMember = validateMember;","restrictions#Restrictions":"typia.validate() function does not check function and user-defined class types.It validates only the primitive properties. Therefore, typia.validate() function does not perform the instanceof ClassName for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, typia.validate() function does not validate the function type either, unless configuring functional property of plugin option in the tsconfig.json file.\n{\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n {\r\n \"transform\": \"typia/lib/transform\",\r\n \"functional\": true\r\n }\r\n ]\r\n }\r\n}\nBy the way, there're some exception cases.If JS native class type like Date, Uint8Array, or Map being utilized, typia.validate() function validates them. Especially about the Set, and Map class cases, typia.validate() function validates all of their contained element types, too.Therefore, the instanceof statement does not be used only for the user-defined classes.\nimport typia from \"typia\";\r\n\r\ntypia.createIs>();\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n(input) => {\r\n return (\r\n input instanceof Map &&\r\n (() =>\r\n [...input].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"string\" === typeof elem[0] &&\r\n (\"string\" === typeof elem[1] ||\r\n \"number\" === typeof elem[1] ||\r\n \"boolean\" === typeof elem[1]),\r\n ))()\r\n );\r\n};","discriminated-union#Discriminated Union":"export function validate(input: T): IValidation;\r\nexport function validate(input: unknown): IValidation;\r\nexport function createValidate(): (input: unknown) => IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nSpecify type through if condition.typia.IValidation is an union type of typia.IValidation.ISuccess and typia.IValidation.IFailure. Also, they have a common property success of boolean type, but different literal values. In that case, if you write a if condition about the success property, you can specify the union type like below.In TypeScript, such union type specification through common property (of different literal value() is called \"Discriminated Union\". Therefore, when using typia.validate() function, let's utilize such discriminated union specification for convenience.\nimport typia from \"typia\";\r\n\r\nconst something: unknown = ...;\r\nconst result: typia.IValidation = typia.validate(something);\r\n\r\nif (results.success) {\r\n // become typia.IValidation.Success type\r\n result.data; // accessible\r\n}\r\nelse {\r\n // become typia.IValidation.Failure type\r\n result.errors; //accessible\r\n}","customization#Customization":"You can enhance validation logic by special tags.Also, with those tags, you can add your custom validation logic, too.If you want to know about such special tags detaily, read below article:\nSpecial Tags\nOutline\nType Tags\nComment Tags\nCustomization\nimport typia, { tags } from \"typia\";\r\n\r\nexport const validateSomething = typia.createValidate();\r\n\r\n//----\r\n// DEFINE CUSTOM TYPE TAGS\r\n//----\r\ntype Dollar = tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype IsEven = tags.TagBase<{\r\n kind: \"isEven\";\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n value: undefined;\r\n validate: `$input % ${Numeric<2>} === ${Numeric<0>}`;\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\r\n\r\n//----\r\n// VALIDATION\r\n//----\r\ninterface Something {\r\n dollar: string & Dollar;\r\n postfix: string & Postfix<\"!!!\">;\r\n isEven: number & IsEven;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.validateSomething = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst validateSomething = (input) => {\r\n const errors = [];\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.dollar &&\r\n input.dollar[0] === \"$\" &&\r\n !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) &&\r\n \"string\" === typeof input.postfix &&\r\n input.postfix.endsWith(\"!!!\") &&\r\n \"number\" === typeof input.isEven &&\r\n input.isEven % 2 === 0\r\n );\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.createValidate.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.dollar &&\r\n ((input.dollar[0] === \"$\" &&\r\n !isNaN(\r\n Number(\r\n input.dollar\r\n .substring(1)\r\n .split(\",\")\r\n .join(\"\"),\r\n ),\r\n )) ||\r\n $report(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"string & Dollar\",\r\n value: input.dollar,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"(string & Dollar)\",\r\n value: input.dollar,\r\n }),\r\n (\"string\" === typeof input.postfix &&\r\n (input.postfix.endsWith(\"!!!\") ||\r\n $report(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: 'string & Postfix<\"!!!\">',\r\n value: input.postfix,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: '(string & Postfix<\"!!!\">)',\r\n value: input.postfix,\r\n }),\r\n (\"number\" === typeof input.isEven &&\r\n (input.isEven % 2 === 0 ||\r\n $report(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"number & IsEven\",\r\n value: input.isEven,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"(number & IsEven)\",\r\n value: input.isEven,\r\n }),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n};\r\nexports.validateSomething = validateSomething;","performance#Performance":"Super-fast and super-safe.Comparing typia.validate() function with other competitive libraries, maximum 20,000x faster.Furthermore, only typia can validate complicate union types.\nMeasured on Intel i5-1135g7, Surface Pro 8\nComponents\ttypia\tTypeBox\tajv\tio-ts\tzod\tC.V.\tEasy to use\t✅\t❌\t❌\t❌\t❌\t❌\tObject (simple)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (recursive)\t✔\t❌\t✔\t✔\t✔\t✔\t✔\tObject (union, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tObject (union, explicit)\t✔\t✔\t✔\t✔\t✔\t❌\tObject (additional tags)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (template literal types)\t✔\t✔\t✔\t❌\t❌\t❌\tObject (dynamic properties)\t✔\t✔\t✔\t❌\t❌\t❌\tArray (rest tuple)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tArray (recursive)\t✔\t✔\t✔\t✔\t✔\t❌\tArray (recursive, union)\t✔\t✔\t❌\t✔\t✔\t❌\tArray (R+U, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated, union)\t✅\t❌\t❌\t❌\t❌\t❌\tUltimate Union Type\t✅\t❌\t❌\t❌\t❌\t❌\t\nC.V. means class-validator"}},"/docs/utilization/trpc":{"title":"Trpc","data":{"":"import { initTRPC } from \"@trpc/server\";\r\nimport { v4 } from \"uuid\";\r\nimport typia from \"typia\";\r\n\r\nimport { IBbsArticle } from \"../structures/IBbsArticle\";\r\n\r\nconst server = initTRPC.create();\r\n\r\nexport const appRouter = server.router({\r\n store: server.procedure\r\n .input(typia.createAssert())\r\n .output(typia.createAssert())\r\n .query(({ input }) => {\r\n return {\r\n id: v4(),\r\n writer: input.writer,\r\n title: input.title,\r\n body: input.body,\r\n created_at: new Date().toString(),\r\n };\r\n })\r\n});\r\nexport type AppRouter = typeof appRouter;"}}} \ No newline at end of file +{"/docs":{"title":"Index","data":{"outline#Outline":"// RUNTIME VALIDATORS\r\nexport function is(input: unknown): input is T; // returns boolean\r\nexport function assert(input: unknown): T; // throws TypeGuardError\r\nexport function validate(input: unknown): IValidation; // detailed\r\n\r\n// JSON FUNCTIONS\r\nexport namespace json {\r\n export function application(): IJsonApplication; // JSON schema\r\n export function assertParse(input: string): T; // type safe parser\r\n export function assertStringify(input: T): string; // safe and faster\r\n}\r\n\r\n// PROTOCOL BUFFER\r\nexport namespace protobuf {\r\n export function message(): string; // Protocol Buffer message\r\n export function assertDecode(buffer: Uint8Array): T; // safe decoder\r\n export function assertEncode(input: T): Uint8Array; // safe encoder\r\n}\r\n\r\n// RANDOM GENERATOR\r\nexport function random(g?: Partial): T;\nTypia is a transformer library supporting below features:\nSuper-fast Runtime Validators\nEnhanced JSON functions\nProtocol Buffer encoder and decoder\nRandom data generator\nOnly one line required, with pure TypeScript type\nRuntime validator is 20,000x faster than class-validator\nJSON serialization is 200x faster than class-transformer","sponsors#Sponsors":"Thanks for your support.Your donation would encourage typia development."}},"/docs/misc":{"title":"Misc","data":{"misc-module#misc module":"","clone-functions#clone() functions":"export namespace misc {\r\n export function clone(input: T): T;\r\n export function assertClone(input: T | unknown): Resolved;\r\n export function isClone(input: T | unknown): Resolved | null;\r\n export function validateClone(input: T | unknown): IValidation>;\r\n\r\n export function createClone(): (input: T) => Resolved;\r\n export function createAssertClone(): (input: T | unknown) => Resolved;\r\n export function createIsClone(): (input: T | unknown) => Resolved | null;\r\n export function createValidateClone(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nDeep copy functions.When you want to copy an instance, just call typia.misc.clone() function. It would perform deep copy including nested objects, so you can get a new instance with same values. Also, if you want type safe deep copy function, you can use typia.misc.isClone(), typia.misc.assertClone() or typia.misc.validateClone() functions instead.\ntypia.misc.assertClone(): typia.assert() + typia.misc.clone()\ntypia.misc.isClone(): typia.is() + typia.misc.clone()\ntypia.misc.validateClone(): typia.validate() + typia.misc.clone()\nimport typia from \"typia\";\r\n\r\nconst department: IDepartment = typia.misc.random();\r\nconst cloned: IDepartment = typia.misc.assertClone(department);\r\n\r\nconsole.log(cloned);\r\n\r\ninterface IDepartment {\r\n /**\r\n * @format uuid\r\n */\r\n id: string;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n name: string;\r\n\r\n /**\r\n * @type int\r\n */\r\n limit: number;\r\n\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n age: number;\r\n\r\n authority: number;\r\n\r\n /**\r\n * @format date\r\n */\r\n joined_at: string;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst department = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s; return ({\r\n id: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [\r\n {\r\n name: \"format\",\r\n value: \"uuid\"\r\n }\r\n ])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.uuid) !== null && _e !== void 0 ? _e : $generator.uuid)(),\r\n name: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.string) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"minLength\",\r\n value: \"3\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _k !== void 0 ? _k : $generator.string)(((_l = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _l !== void 0 ? _l : $generator.integer)(3, 25)),\r\n limit: (_q = (_p = (_o = ((_m = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _m !== void 0 ? _m : $generator.customs)) === null || _o === void 0 ? void 0 : _o.number) === null || _p === void 0 ? void 0 : _p.call(_o, [\r\n {\r\n name: \"type\",\r\n value: \"int\"\r\n }\r\n ])) !== null && _q !== void 0 ? _q : ((_r = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _r !== void 0 ? _r : $generator.integer)(0, 100),\r\n clerks: ((_s = generator === null || generator === void 0 ? void 0 : generator.array) !== null && _s !== void 0 ? _s : $generator.array)(() => $ro1(_recursive, _recursive ? 1 + _depth : _depth))\r\n }); };\r\n const $ro1 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; return ({\r\n name: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _e !== void 0 ? _e : $generator.string)(),\r\n age: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.number) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"exclusiveMinimum\",\r\n value: \"19\"\r\n },\r\n {\r\n name: \"maximum\",\r\n value: \"100\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _k !== void 0 ? _k : $generator.number)(19, 100),\r\n authority: (_p = (_o = (_m = ((_l = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _l !== void 0 ? _l : $generator.customs)) === null || _m === void 0 ? void 0 : _m.number) === null || _o === void 0 ? void 0 : _o.call(_m, [])) !== null && _p !== void 0 ? _p : ((_q = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _q !== void 0 ? _q : $generator.number)(0, 100),\r\n joined_at: (_u = (_t = (_s = ((_r = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _r !== void 0 ? _r : $generator.customs)) === null || _s === void 0 ? void 0 : _s.string) === null || _t === void 0 ? void 0 : _t.call(_s, [\r\n {\r\n name: \"format\",\r\n value: \"date\"\r\n }\r\n ])) !== null && _u !== void 0 ? _u : ((_v = generator === null || generator === void 0 ? void 0 : generator.date) !== null && _v !== void 0 ? _v : $generator.date)()\r\n }); };\r\n return $ro0();\r\n})();\r\nconst cloned = (input => { const assert = input => {\r\n const __is = input => {\r\n const $is_uuid = typia_1.default.assertClone.is_uuid;\r\n const $is_date = typia_1.default.assertClone.is_date;\r\n const $io0 = input => \"string\" === typeof input.id && $is_uuid(input.id) && (\"string\" === typeof input.name && 3 <= input.name.length) && (\"number\" === typeof input.limit && parseInt(input.limit) === input.limit) && (Array.isArray(input.clerks) && input.clerks.every(elem => \"object\" === typeof elem && null !== elem && $io1(elem)));\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assertClone.guard;\r\n const $is_uuid = typia_1.default.assertClone.is_uuid;\r\n const $is_date = typia_1.default.assertClone.is_date;\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.id && ($is_uuid(input.id) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string (@format uuid)\",\r\n value: input.id\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string\",\r\n value: input.id\r\n })) && (\"string\" === typeof input.name && (3 <= input.name.length || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@minLength 3)\",\r\n value: input.name\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.limit && (parseInt(input.limit) === input.limit || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number (@type int)\",\r\n value: input.limit\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number\",\r\n value: input.limit\r\n })) && ((Array.isArray(input.clerks) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n })) && input.clerks.every((elem, _index1) => (\"object\" === typeof elem && null !== elem || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) && $ao1(elem, _path + \".clerks[\" + _index1 + \"]\", true && _exceptionable) || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.name || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.age && (19 < input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@exclusiveMinimum 19)\",\r\n value: input.age\r\n })) && (100 >= input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@maximum 100)\",\r\n value: input.age\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number\",\r\n value: input.age\r\n })) && (\"number\" === typeof input.authority || $guard(_exceptionable, {\r\n path: _path + \".authority\",\r\n expected: \"number\",\r\n value: input.authority\r\n })) && (\"string\" === typeof input.joined_at && ($is_date(input.joined_at) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string (@format date)\",\r\n value: input.joined_at\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string\",\r\n value: input.joined_at\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n}; const clone = input => {\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n const $is_uuid = typia_1.default.assertClone.is_uuid;\r\n const $is_date = typia_1.default.assertClone.is_date;\r\n const $cp0 = input => input.map(elem => \"object\" === typeof elem && null !== elem ? $co1(elem) : elem);\r\n const $co0 = input => ({\r\n id: input.id,\r\n name: input.name,\r\n limit: input.limit,\r\n clerks: Array.isArray(input.clerks) ? $cp0(input.clerks) : input.clerks\r\n });\r\n const $co1 = input => ({\r\n name: input.name,\r\n age: input.age,\r\n authority: input.authority,\r\n joined_at: input.joined_at\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n}; assert(input); const output = clone(input); return output; })(department);\r\nconsole.log(cloned);","prune-functions#prune() functions":"export function prune(input: T): void;\r\nexport function assertPrune(input: T | unknown): T;\r\nexport function isPrune(input: T | unknown): T | null;\r\nexport function validatePrune(input: T | unknown): IValidation;\r\n\r\nexport function createPrune(): (input: T) => void;\r\nexport function createAssertPrune(): (input: T | unknown) => T;\r\nexport function createIsPrune(): (input: T | unknown) => T | null;\r\nexport function createValidatePrune(): (input: T | unknown) => IValidation;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nDeep prune functions.When you want to remove every extra properties that are not defined in the type including nested objects, you can use typia.misc.prune() function. Also, if you want to perform type safe pruning, you can use typia.misc.isPrune(), typia.misc.assertPrune() or typia.misc.validatePrune() functions instead.\ntypia.misc.isPrune(): typia.is() + typia.misc.prune()\ntypia.misc.assertPrune(): typia.assert() + typia.misc.prune()\ntypia.misc.validatePrune(): typia.validate() + typia.misc.prune()\nimport typia from \"typia\";\r\n\r\nconst department: IDepartment = typia.misc.random();\r\nconst pruned: IDepartment = typia.misc.assertPrune(department);\r\nconsole.log(pruned);\r\n\r\ninterface IDepartment {\r\n /**\r\n * @format uuid\r\n */\r\n id: string;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n name: string;\r\n\r\n /**\r\n * @type int\r\n */\r\n limit: number;\r\n\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n age: number;\r\n\r\n authority: number;\r\n\r\n /**\r\n * @format date\r\n */\r\n joined_at: string;\r\n}\n\r\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst department = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s; return ({\r\n id: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [\r\n {\r\n name: \"format\",\r\n value: \"uuid\"\r\n }\r\n ])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.uuid) !== null && _e !== void 0 ? _e : $generator.uuid)(),\r\n name: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.string) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"minLength\",\r\n value: \"3\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _k !== void 0 ? _k : $generator.string)(((_l = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _l !== void 0 ? _l : $generator.integer)(3, 25)),\r\n limit: (_q = (_p = (_o = ((_m = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _m !== void 0 ? _m : $generator.customs)) === null || _o === void 0 ? void 0 : _o.number) === null || _p === void 0 ? void 0 : _p.call(_o, [\r\n {\r\n name: \"type\",\r\n value: \"int\"\r\n }\r\n ])) !== null && _q !== void 0 ? _q : ((_r = generator === null || generator === void 0 ? void 0 : generator.integer) !== null && _r !== void 0 ? _r : $generator.integer)(0, 100),\r\n clerks: ((_s = generator === null || generator === void 0 ? void 0 : generator.array) !== null && _s !== void 0 ? _s : $generator.array)(() => $ro1(_recursive, _recursive ? 1 + _depth : _depth))\r\n }); };\r\n const $ro1 = (_recursive = false, _depth = 0) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; return ({\r\n name: (_d = (_c = (_b = ((_a = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _a !== void 0 ? _a : $generator.customs)) === null || _b === void 0 ? void 0 : _b.string) === null || _c === void 0 ? void 0 : _c.call(_b, [])) !== null && _d !== void 0 ? _d : ((_e = generator === null || generator === void 0 ? void 0 : generator.string) !== null && _e !== void 0 ? _e : $generator.string)(),\r\n age: (_j = (_h = (_g = ((_f = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _f !== void 0 ? _f : $generator.customs)) === null || _g === void 0 ? void 0 : _g.number) === null || _h === void 0 ? void 0 : _h.call(_g, [\r\n {\r\n name: \"exclusiveMinimum\",\r\n value: \"19\"\r\n },\r\n {\r\n name: \"maximum\",\r\n value: \"100\"\r\n }\r\n ])) !== null && _j !== void 0 ? _j : ((_k = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _k !== void 0 ? _k : $generator.number)(19, 100),\r\n authority: (_p = (_o = (_m = ((_l = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _l !== void 0 ? _l : $generator.customs)) === null || _m === void 0 ? void 0 : _m.number) === null || _o === void 0 ? void 0 : _o.call(_m, [])) !== null && _p !== void 0 ? _p : ((_q = generator === null || generator === void 0 ? void 0 : generator.number) !== null && _q !== void 0 ? _q : $generator.number)(0, 100),\r\n joined_at: (_u = (_t = (_s = ((_r = generator === null || generator === void 0 ? void 0 : generator.customs) !== null && _r !== void 0 ? _r : $generator.customs)) === null || _s === void 0 ? void 0 : _s.string) === null || _t === void 0 ? void 0 : _t.call(_s, [\r\n {\r\n name: \"format\",\r\n value: \"date\"\r\n }\r\n ])) !== null && _u !== void 0 ? _u : ((_v = generator === null || generator === void 0 ? void 0 : generator.date) !== null && _v !== void 0 ? _v : $generator.date)()\r\n }); };\r\n return $ro0();\r\n})();\r\nconst pruned = (input => { const assert = input => {\r\n const __is = input => {\r\n const $is_uuid = typia_1.default.assertPrune.is_uuid;\r\n const $is_date = typia_1.default.assertPrune.is_date;\r\n const $io0 = input => \"string\" === typeof input.id && $is_uuid(input.id) && (\"string\" === typeof input.name && 3 <= input.name.length) && (\"number\" === typeof input.limit && parseInt(input.limit) === input.limit) && (Array.isArray(input.clerks) && input.clerks.every(elem => \"object\" === typeof elem && null !== elem && $io1(elem)));\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assertPrune.guard;\r\n const $is_uuid = typia_1.default.assertPrune.is_uuid;\r\n const $is_date = typia_1.default.assertPrune.is_date;\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.id && ($is_uuid(input.id) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string (@format uuid)\",\r\n value: input.id\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string\",\r\n value: input.id\r\n })) && (\"string\" === typeof input.name && (3 <= input.name.length || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@minLength 3)\",\r\n value: input.name\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.limit && (parseInt(input.limit) === input.limit || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number (@type int)\",\r\n value: input.limit\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: \"number\",\r\n value: input.limit\r\n })) && ((Array.isArray(input.clerks) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n })) && input.clerks.every((elem, _index1) => (\"object\" === typeof elem && null !== elem || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) && $ao1(elem, _path + \".clerks[\" + _index1 + \"]\", true && _exceptionable) || $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.name || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name\r\n })) && (\"number\" === typeof input.age && (19 < input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@exclusiveMinimum 19)\",\r\n value: input.age\r\n })) && (100 >= input.age || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number (@maximum 100)\",\r\n value: input.age\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number\",\r\n value: input.age\r\n })) && (\"number\" === typeof input.authority || $guard(_exceptionable, {\r\n path: _path + \".authority\",\r\n expected: \"number\",\r\n value: input.authority\r\n })) && (\"string\" === typeof input.joined_at && ($is_date(input.joined_at) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string (@format date)\",\r\n value: input.joined_at\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: \"string\",\r\n value: input.joined_at\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n}; const prune = input => {\r\n const $io1 = input => \"string\" === typeof input.name && (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age) && \"number\" === typeof input.authority && (\"string\" === typeof input.joined_at && $is_date(input.joined_at));\r\n const $is_uuid = typia_1.default.assertPrune.is_uuid;\r\n const $is_date = typia_1.default.assertPrune.is_date;\r\n const $pp0 = input => input.forEach(elem => {\r\n if (\"object\" === typeof elem && null !== elem)\r\n $po1(elem);\r\n });\r\n const $po0 = input => {\r\n if (Array.isArray(input.clerks))\r\n $pp0(input.clerks);\r\n for (const key of Object.keys(input)) {\r\n if (\"id\" === key || \"name\" === key || \"limit\" === key || \"clerks\" === key)\r\n continue;\r\n delete input[key];\r\n }\r\n };\r\n const $po1 = input => {\r\n for (const key of Object.keys(input)) {\r\n if (\"name\" === key || \"age\" === key || \"authority\" === key || \"joined_at\" === key)\r\n continue;\r\n delete input[key];\r\n }\r\n };\r\n if (\"object\" === typeof input && null !== input)\r\n $po0(input);\r\n}; assert(input); prune(input); return input; })(department);\r\nconsole.log(pruned);","literals-function#literals() function":"export namespace misc {\r\n export function literals<\r\n T extends boolean | number | string | bigint | null\r\n >(): T[];\r\n}\nUnion literal type to array.When you call typia.misc.literals() function with union literal type, it returns an array of literal values listed in the generic T argument. This typia.misc.literals function is useful when you are developing test program, especially handling some discriminated union types.\nimport typia from \"typia\";\r\n\r\ntypia.misc.literals<\"A\" | \"B\" | \"C\" | 1 | 2n>();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n[\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n 1,\r\n BigInt(2)\r\n];","notations-module#notations module":"","camel-functions#camel() functions":"export namespace notations {\r\n export function camel(input: T): CamelCase;\r\n export function assertCamel(input: T | unknown): CamelCase;\r\n export function isCamel(input: T | unknown): CamelCase | null;\r\n export function validateCamel(input: T | unknown): IValidation>;\r\n\r\n export function createCamel(): (input: T) => CamelCase;\r\n export function createAssertCamel(): (input: T | unknown) => CamelCase;\r\n export function createIsCamel(): (input: T | unknown) => CamelCase | null;\r\n export function createValidateCamel(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Camel case type.\r\n *\r\n * `CamelCase` type is a type that all keys of an object are camelized.\r\n *\r\n * It also erase every method properties like {@link Resolved} type.\r\n *\r\n * @template T Target type to be camelized\r\n * @author Jeongho Nam - https://github.com/samchon\r\n */\r\nexport type CamelCase = Equal> extends true\r\n ? T\r\n : CamelizeMain;\r\n\r\n/* -----------------------------------------------------------\r\n OBJECT CONVERSION\r\n----------------------------------------------------------- */\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype CamelizeMain = T extends [never]\r\n ? never // special trick for (jsonable | null) type\r\n : T extends { valueOf(): boolean | bigint | number | string }\r\n ? ValueOf\r\n : T extends Function\r\n ? never\r\n : T extends object\r\n ? CamelizeObject\r\n : T;\r\n\r\ntype CamelizeObject = T extends Array\r\n ? IsTuple extends true\r\n ? CamelizeTuple\r\n : CamelizeMain[]\r\n : T extends Set\r\n ? Set>\r\n : T extends Map\r\n ? Map, CamelizeMain>\r\n : T extends WeakSet | WeakMap\r\n ? never\r\n : T extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? T\r\n : {\r\n [Key in keyof T as CamelizeString]: CamelizeMain<\r\n T[Key]\r\n >;\r\n };\r\n\r\n/* -----------------------------------------------------------\r\n SPECIAL CASES\r\n----------------------------------------------------------- */\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\ntype CamelizeTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [CamelizeMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [CamelizeMain, ...CamelizeTuple]\r\n : T extends [(infer F)?]\r\n ? [CamelizeMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [CamelizeMain?, ...CamelizeTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\n/* -----------------------------------------------------------\r\n STRING CONVERTER\r\n----------------------------------------------------------- */\r\ntype CamelizeString = Key extends `${infer F}${infer R}`\r\n ? `${Lowercase}${CamelizeStringRepeatedly}`\r\n : Key;\r\ntype CamelizeStringRepeatedly =\r\n Key extends `${infer F}_${infer R}`\r\n ? `${F}${Capitalize>}`\r\n : Key;\nCamel case converters.Convert every property names of nested objects to be camel case notation.When you need type safe functions, you can utilize below them.\ntypia.notations.assertCamel(): typia.assert() + typia.notations.camel()\ntypia.notations.isCamel: typia.is() + typia.notations.camel()\ntypia.notations.validateCamel: typia.validate() + typia.notations.camel()\nimport typia from \"typia\";\r\n\r\ninterface IPerson {\r\n is_my_name_samchon?: boolean;\r\n HelloTheNewWorld: string;\r\n ToHTML: string;\r\n}\r\ntypia.notations.createCamel();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $co0 = input => ({\r\n isMyNameSamchon: input.is_my_name_samchon,\r\n helloTheNewWorld: input.HelloTheNewWorld,\r\n toHTML: input.ToHTML\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n};","pascal-functions#pascal() functions":"export namespace notations {\r\n export function pascal(input: T): PascalCase;\r\n export function assertPascal(input: T | unknown): PascalCase;\r\n export function isPascal(input: T | unknown): PascalCase | null;\r\n export function validatePascal(input: T | unknown): IValidation>;\r\n\r\n export function createPascal(): (input: T) => PascalCase;\r\n export function createAssertPascal(): (input: T | unknown) => PascalCase;\r\n export function createIsPascal(): (input: T | unknown) => PascalCase | null;\r\n export function createValidatePascal(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Pascal case type.\r\n *\r\n * `PascalCase` type is a type that all keys of an object are pascalized.\r\n *\r\n * It also erase every method properties like {@link Resolved} type.\r\n *\r\n * @template T Target type to be pascalized\r\n * @author Jeongho Nam - https://github.com/samchon\r\n */\r\nexport type PascalCase = Equal> extends true\r\n ? T\r\n : PascalizeMain;\r\n\r\n/* -----------------------------------------------------------\r\n OBJECT CONVERSION\r\n----------------------------------------------------------- */\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype PascalizeMain = T extends [never]\r\n ? never // special trick for (jsonable | null) type\r\n : T extends { valueOf(): boolean | bigint | number | string }\r\n ? ValueOf\r\n : T extends Function\r\n ? never\r\n : T extends object\r\n ? PascalizeObject\r\n : T;\r\n\r\ntype PascalizeObject = T extends Array\r\n ? IsTuple extends true\r\n ? PascalizeTuple\r\n : PascalizeMain[]\r\n : T extends Set\r\n ? Set>\r\n : T extends Map\r\n ? Map, PascalizeMain>\r\n : T extends WeakSet | WeakMap\r\n ? never\r\n : T extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? T\r\n : {\r\n [Key in keyof T as PascalizeString]: PascalizeMain<\r\n T[Key]\r\n >;\r\n };\r\n\r\n/* -----------------------------------------------------------\r\n SPECIAL CASES\r\n----------------------------------------------------------- */\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\ntype PascalizeTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [PascalizeMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [PascalizeMain, ...PascalizeTuple]\r\n : T extends [(infer F)?]\r\n ? [PascalizeMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [PascalizeMain?, ...PascalizeTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\n/* -----------------------------------------------------------\r\n STRING CONVERTER\r\n----------------------------------------------------------- */\r\ntype PascalizeString = Key extends `${infer F}${infer R}`\r\n ? `${Uppercase}${PascalizeStringRepeatedly}`\r\n : Key;\r\ntype PascalizeStringRepeatedly =\r\n Key extends `${infer F}_${infer R}`\r\n ? `${F}${Capitalize>}`\r\n : Key;\nPascal case converters.Convert every property names of nested objects to be pascal case notation.When you need type safe functions, you can utilize below them.\ntypia.notations.assertPascal(): typia.assert() + typia.notations.pascal()\ntypia.notations.isPascal: typia.is() + typia.notations.pascal()\ntypia.notations.validatePascal: typia.validate() + typia.notations.pascal()\nimport typia from \"typia\";\r\n\r\ninterface IPerson {\r\n is_my_name_samchon?: boolean;\r\n helloTheNewWorld: string;\r\n toHTML: string;\r\n}\r\ntypia.notations.createPascal();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $co0 = input => ({\r\n IsMyNameSamchon: input.is_my_name_samchon,\r\n HelloTheNewWorld: input.helloTheNewWorld,\r\n ToHTML: input.toHTML\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n};","snake-functions#snake() functions":"export namespace notations {\r\n export function snake(input: T): SnakeCase;\r\n export function assertSnake(input: T | unknown): SnakeCase;\r\n export function isSnake(input: T | unknown): SnakeCase | null;\r\n export function validateSnake(input: T | unknown): IValidation>;\r\n\r\n export function createSnake(): (input: T) => SnakeCase;\r\n export function createAssertSnake(): (input: T | unknown) => SnakeCase;\r\n export function createIsSnake(): (input: T | unknown) => SnakeCase | null;\r\n export function createValidateSnake(): (\r\n input: T | unknown\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Snake case type.\r\n *\r\n * `SnakeCase` type is a type that all keys of an object are converted to snake case.\r\n *\r\n * It also erase every method properties like {@link Resolved} type.\r\n *\r\n * @template T Target type to be snake cased\r\n * @author Jeongho Nam - https://github.com/samchon\r\n */\r\nexport type SnakeCase = Equal> extends true\r\n ? T\r\n : SnakageMain;\r\n\r\n/* -----------------------------------------------------------\r\n OBJECT CONVERSION\r\n----------------------------------------------------------- */\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype SnakageMain = T extends [never]\r\n ? never // special trick for (jsonable | null) type\r\n : T extends { valueOf(): boolean | bigint | number | string }\r\n ? ValueOf\r\n : T extends Function\r\n ? never\r\n : T extends object\r\n ? SnakageObject\r\n : T;\r\n\r\ntype SnakageObject = T extends Array\r\n ? IsTuple extends true\r\n ? SnakageTuple\r\n : SnakageMain[]\r\n : T extends Set\r\n ? Set>\r\n : T extends Map\r\n ? Map, SnakageMain>\r\n : T extends WeakSet | WeakMap\r\n ? never\r\n : T extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? T\r\n : {\r\n [Key in keyof T as SnakageString]: SnakageMain;\r\n };\r\n\r\n/* -----------------------------------------------------------\r\n SPECIAL CASES\r\n----------------------------------------------------------- */\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\ntype SnakageTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [SnakageMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [SnakageMain, ...SnakageTuple]\r\n : T extends [(infer F)?]\r\n ? [SnakageMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [SnakageMain?, ...SnakageTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\n/* -----------------------------------------------------------\r\n STRING CONVERTER\r\n----------------------------------------------------------- */\r\ntype SnakageString = Key extends `${infer _}`\r\n ? SnakageStringRepeatedly\r\n : Key;\r\ntype SnakageStringRepeatedly<\r\n S extends string,\r\n Previous extends string,\r\n> = S extends `${infer First}${infer Second}${infer Rest}`\r\n ? `${Underscore}${Lowercase}${Underscore<\r\n First,\r\n Second\r\n >}${Lowercase}${SnakageStringRepeatedly}`\r\n : S extends `${infer First}`\r\n ? `${Underscore}${Lowercase}`\r\n : \"\";\r\ntype Underscore = First extends\r\n | UpperAlphabetic\r\n | \"\"\r\n | \"_\"\r\n ? \"\"\r\n : Second extends UpperAlphabetic\r\n ? \"_\"\r\n : \"\";\r\ntype UpperAlphabetic =\r\n | \"A\"\r\n | \"B\"\r\n | \"C\"\r\n | \"D\"\r\n | \"E\"\r\n | \"F\"\r\n | \"G\"\r\n | \"H\"\r\n | \"I\"\r\n | \"J\"\r\n | \"K\"\r\n | \"L\"\r\n | \"M\"\r\n | \"N\"\r\n | \"O\"\r\n | \"P\"\r\n | \"Q\"\r\n | \"R\"\r\n | \"S\"\r\n | \"T\"\r\n | \"U\"\r\n | \"V\"\r\n | \"W\"\r\n | \"X\"\r\n | \"Y\"\r\n | \"Z\";\nSnake case converters.Convert every property names of nested objects to be snake case notation.When you need type safe functions, you can utilize below them.\ntypia.notations.assertSnake(): typia.assert() + typia.notations.snake()\ntypia.notations.isSnake: typia.is() + typia.notations.snake()\ntypia.notations.validateSnake: typia.validate() + typia.notations.snake()\nimport typia from \"typia\";\r\n\r\ninterface IPerson {\r\n isMyNameSamchon?: boolean;\r\n HelloTheNewWorld: string;\r\n ToHTML: string;\r\n}\r\ntypia.notations.createSnake();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $co0 = input => ({\r\n is_my_name_samchon: input.isMyNameSamchon,\r\n hello_the_new_world: input.HelloTheNewWorld,\r\n to_html: input.ToHTML\r\n });\r\n return \"object\" === typeof input && null !== input ? $co0(input) : input;\r\n};","http-module#http module":"Nestia Supporting\nhttp module has been designed to support the nestia project.\nquery() functions -> @TypedQuery()\nheaders() functions -> @TypedHeaders()\nparameter() function -> @TypedParam()","query-functions#query() functions":"export namespace http {\r\n export function query(input: Query): Resolved;\r\n export function assertQuery(input: Query): Resolved;\r\n export function isQuery(input: Query): Resolved | null;\r\n export function validateQuery(\r\n input: Query\r\n ): IValidation>;\r\n\r\n export function createQuery(): (input: Query) => Resolved;\r\n export function createAssertQuery(): (\r\n input: Query\r\n ) => Resolved;\r\n export function createIsQuery(): (\r\n input: Query\r\n ) => Resolved | null;\r\n export function createValidateQuery(): (\r\n input: Query\r\n ) => IValidation>;\r\n}\r\ntype Query = string | URLSearchParams;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nURL query decoder functions.typia.http.query() is a function decoding a query string or an URLSearchParams instance, with automatic type casting to the expected type. When property type be defined as boolean or number type, typia.http.query() will cast the value to the expected type when decoding.By the way, as URL query is not enough to express complex data structures, typia.http.query() function has some limitations. If target type T is not following those restrictions, compilation errors would be occured.\nType T must be an object type\nDo not allow dynamic property\nOnly boolean, bigint, number, string or their array types are allowed\nBy the way, union type never be not allowed\nAlso, typia.http.query() function does not perform validation about the decoded value. Therefore, if you can't sure that input data is following the T type, it would better to call one of below functions intead.\ntypia.http.assertQuery(): typia.assert() + typia.http.query()\ntypia.http.isQuery(): typia.is() + typia.http.query()\ntypia.http.validateQuery(): typia.validate() + typia.http.query()\nimport typia from \"typia\";\r\n\r\ninterface IQuery {\r\n limit?: number;\r\n enforce: boolean;\r\n values?: string[];\r\n atomic: string | null;\r\n indexes: number[];\r\n}\r\ntypia.http.createQuery();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $params = typia_1.default.http.createQuery.params;\r\n const $number = typia_1.default.http.createQuery.number;\r\n const $boolean = typia_1.default.http.createQuery.boolean;\r\n const $string = typia_1.default.http.createQuery.string;\r\n const $array = typia_1.default.http.createQuery.array;\r\n input = $params(input);\r\n const output = {\r\n limit: $number(input.get(\"limit\")) ?? undefined,\r\n enforce: $boolean(input.get(\"enforce\")),\r\n values: $array(input.getAll(\"values\").map(elem => $string(elem)), undefined),\r\n atomic: $string(input.get(\"atomic\")),\r\n indexes: input.getAll(\"indexes\").map(elem => $number(elem))\r\n };\r\n return output;\r\n};","headers-functions#headers() functions":"export namespace http {\r\n export function headers(input: Headers): Resolved;\r\n export function assertHeaders(input: Headers): Resolved;\r\n export function isHeaders(input: Headers): Resolved | null;\r\n export function validateHeaders(\r\n input: Headers\r\n ): IValidation>;\r\n\r\n export function createHeaders(): (\r\n input: Headers\r\n ) => Resolved;\r\n export function createAssertHeaders(): (\r\n input: Headers\r\n ) => Resolved;\r\n export function createIsHeaders(): (\r\n input: Headers\r\n ) => Resolved | null;\r\n export function createValidateHeaders(): (\r\n input: Headers\r\n ) => IValidation>;\r\n}\r\ntype Headers = Record;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nHeaders decoder (for express and fastify).typia.http.headers() is a function decoding an header instance, with automatic type casting to the expected type. When property type be defined as boolean or number type, typia.http.headers() will cast the value to the expected type.By the way, as HTTP headers are not enough to express complex data structures, typia.http.headers() function has some limitations. If target type T is not following those restrictions, compilation errors would be occured.\nType T must be an object type\nDo not allow dynamic property\nProperty key must be lower case\nProperty value cannot be null, but undefined is possible\nOnly boolean, bigint, number, string or their array types are allowed\nBy the way, union type never be not allowed\nProperty set-cookie must be array type\nThose properties cannot be array type\nage\nauthorization\ncontent-length\ncontent-type\netag\nexpires\nfrom\nhost\nif-modified-since\nif-unmodified-since\nlast-modified\nlocation\nmax-forwards\nproxy-authorization\nreferer\nretry-after\nserver\nuser-agent\nAlso, typia.http.headers() function does not perform validation about the decoded value. Therefore, if you can't sure that input data is following the T type, it would better to call one of below functions intead.\ntypia.http.assertHeaders(): typia.assert() + typia.http.headers()\ntypia.http.isHeaders(): typia.is() + typia.http.headers()\ntypia.http.validateHeaders(): typia.validate() + typia.http.headers()\nimport typia from \"typia\";\r\n\r\ninterface IHeaders {\r\n \"x-Category\": \"x\" | \"y\" | \"z\";\r\n \"x-MEMO\"?: string;\r\n \"x-nAmE\"?: string;\r\n \"x-ValUes\": number[];\r\n \"x-FlAgS\": boolean[];\r\n \"X-Descriptions\": string[];\r\n}\r\ntypia.http.createHeaders();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $number = typia_1.default.http.createHeaders.number;\r\n const $boolean = typia_1.default.http.createHeaders.boolean;\r\n const $string = typia_1.default.http.createHeaders.string;\r\n const output = {\r\n \"x-Category\": input[\"x-category\"],\r\n \"x-MEMO\": input[\"x-memo\"],\r\n \"x-nAmE\": input[\"x-name\"],\r\n \"x-ValUes\": Array.isArray(input[\"x-values\"]) ? input[\"x-values\"].map($number) : input[\"x-values\"]?.split(\", \")?.map($number) ?? [],\r\n \"x-FlAgS\": Array.isArray(input[\"x-flags\"]) ? input[\"x-flags\"].map($boolean) : input[\"x-flags\"]?.split(\", \")?.map($boolean) ?? [],\r\n \"X-Descriptions\": Array.isArray(input[\"x-descriptions\"]) ? input[\"x-descriptions\"].map($string) : input[\"x-descriptions\"]?.split(\", \")?.map($string) ?? []\r\n };\r\n return output;\r\n};","parameter-functions#parameter() functions":"export namespace http {\r\n export function parameter(input: string): T;\r\n export function createParameter(): (\r\n input: string\r\n ) => T;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nURL path parameter decoder.typia.http.parameter() is a function decoding a path parameter, with automatic type casting to the expected type. When type T has beeen defined as boolean or number type, typia.http.parameter() will cast the value to the expected type.Also, typia.http.parameter() performs type assertion to the decoded value by combining with assert function. Therefore, when the decoded value is not following the T type, TypeGuardError would be thrown.\nimport typia, { tags } from \"typia\";\r\n\r\ntypia.http.createParameter>();\r\ntypia.http.createParameter>();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\ninput => {\r\n const $string = typia_1.default.http.createParameter.string;\r\n const assert = input => {\r\n const __is = input => {\r\n return \"string\" === typeof input && /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.http.createParameter.guard;\r\n return \"string\" === typeof input && (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(input) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"string & Format<\\\"uuid\\\">\",\r\n value: input\r\n })) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"(string & Format<\\\"uuid\\\">)\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n const value = $string(input);\r\n return assert(value);\r\n};\r\ninput => {\r\n const $number = typia_1.default.http.createParameter.number;\r\n const assert = input => {\r\n const __is = input => {\r\n return \"number\" === typeof input && (Math.floor(input) === input && 0 <= input && input <= 4294967295);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.http.createParameter.guard;\r\n return \"number\" === typeof input && (Math.floor(input) === input && 0 <= input && input <= 4294967295 || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"number & Type<\\\"uint32\\\">\",\r\n value: input\r\n })) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"(number & Type<\\\"uint32\\\">)\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n const value = $number(input);\r\n return assert(value);\r\n};"}},"/docs/utilization/nestjs":{"title":"Nestjs","data":{"":"Nestia is a set of helper libraries for NestJS, supporting below features:\n@nestia/core: superfast decorators using typia\n@nestia/sdk: evolved SDK and Swagger generators\n@nestia/migrate: Swagger to NestJS\nnestia: just CLI (command line interface) tool\nimport { Controller } from \"@nestjs/common\";\r\nimport { TypedBody, TypedRoute } from \"@nestia/core\";\r\n\r\nimport type { IBbsArticle } from \"@bbs-api/structures/IBbsArticle\";\r\n\r\n@Controller(\"bbs/articles\")\r\nexport class BbsArticlesController {\r\n /** \r\n * Store a new content.\r\n * \r\n * @param input Content to store\r\n * @returns Newly archived article\r\n */\r\n @TypedRoute.Post() // 200x faster and safer JSON.stringify()\r\n public async store(\r\n @TypedBody() input: IBbsArticle.IStore // 20,000x faster validator\r\n ): Promise; \r\n // do not need DTO class definition, \r\n // just fine with interface\r\n}\nLeft: NestJS server code\nRight: Client code using SDK"}},"/docs/utilization/prisma":{"title":"Prisma","data":{"":"model bbs_articles {\r\n id String @id @db.Uuid /// @format uuid\r\n created_at DateTime @db.Timestamptz\r\n\r\n /// @minItems 1\r\n snapshots bbs_article_snapshots[]\r\n}\r\n\r\nmodel bbs_article_snapshots {\r\n id String @id @db.Uuid /// @format uuid\r\n bbs_article_id String @db.Uuid /// @format uuid\r\n format String @db.VarChar\r\n\r\n /// @minLength 5\r\n /// @maxLength 80\r\n title String @db.VarChar\r\n body String\r\n created_at DateTime @db.Timestamptz\r\n\r\n article bbs_articles @relation(fields: [bbs_article_id], references: [id])\r\n}\n/**\r\n * Model bbs_articles\r\n */\r\nexport type bbs_articles = {\r\n /**\r\n * @format uuid\r\n */\r\n id: string\r\n created_at: Date\r\n}\r\n\r\n/**\r\n * Model bbs_article_snapshots\r\n */\r\nexport type bbs_article_snapshots = {\r\n /**\r\n * @format uuid\r\n */\r\n id: string\r\n /**\r\n * @format uuid\r\n */\r\n bbs_article_id: string\r\n format: string\r\n /**\r\n * @minLength 5\r\n * @maxLength 80\r\n */\r\n title: string\r\n body: string\r\n created_at: Date\r\n}\nWhen defining prisma.schema file, you can write comment tags just by using /// statement.After the definition, you utillize some validate function like typia.assert(), for type safe insertion."}},"/":{"title":"Index","data":{"outline#Outline":"// RUNTIME VALIDATORS\r\nexport function is(input: unknown): input is T; // returns boolean\r\nexport function assert(input: unknown): T; // throws TypeGuardError\r\nexport function validate(input: unknown): IValidation; // detailed\r\n\r\n// JSON FUNCTIONS\r\nexport namespace json {\r\n export function application(): IJsonApplication; // JSON schema\r\n export function assertParse(input: string): T; // type safe parser\r\n export function assertStringify(input: T): string; // safe and faster\r\n}\r\n\r\n// PROTOCOL BUFFER\r\nexport namespace protobuf {\r\n export function message(): string; // Protocol Buffer message\r\n export function assertDecode(buffer: Uint8Array): T; // safe decoder\r\n export function assertEncode(input: T): Uint8Array; // safe encoder\r\n}\r\n\r\n// RANDOM GENERATOR\r\nexport function random(g?: Partial): T;\nTypia is a transformer library supporting below features:\nSuper-fast Runtime Validators\nEnhanced JSON functions\nProtocol Buffer encoder and decoder\nRandom data generator\nOnly one line required, with pure TypeScript type\nRuntime validator is 20,000x faster than class-validator\nJSON serialization is 200x faster than class-transformer","sponsors#Sponsors":"Thanks for your support.Your donation would encourage typia development."}},"/playground":{"title":"Index","data":{}},"/docs/json/schema":{"title":"Schema","data":{"application-function#application() function":"export namespace json {\r\n export function application<\r\n Schemas extends unknown[],\r\n Purpose extends \"ajv\" | \"swagger\",\r\n >(): IJsonApplication;\r\n}\nexport interface IJsonApplication {\r\n schemas: IJsonSchema[];\r\n components: IJsonComponents;\r\n purpose: \"swagger\" | \"ajv\";\r\n}\nexport interface IJsonComponents {\r\n schemas: Record;\r\n}\r\nexport namespace IJsonComponents {\r\n export interface IObject {\r\n $id?: string;\r\n $recursiveAnchor?: boolean;\r\n\r\n type: \"object\";\r\n nullable: boolean;\r\n\r\n properties: Record;\r\n patternProperties?: Record;\r\n additionalProperties?: IJsonSchema;\r\n\r\n required?: string[];\r\n description?: string;\r\n \"x-typia-jsDocTags\"?: IJsDocTagInfo[];\r\n \"x-typia-patternProperties\"?: Record;\r\n \"x-typia-additionalProperties\"?: IJsonSchema;\r\n }\r\n}\nexport type IJsonSchema = IJsonSchema.NotUnknown | IJsonSchema.IUnknown;\r\nexport namespace IJsonSchema {\r\n export type NotUnknown =\r\n | IEnumeration<\"boolean\">\r\n | IEnumeration<\"number\">\r\n | IEnumeration<\"string\">\r\n | IBoolean\r\n | IInteger\r\n | INumber\r\n | IString\r\n | IArray\r\n | ITuple\r\n | IOneOf\r\n | IReference\r\n | IRecursiveReference\r\n | INullOnly;\r\n\r\n /* -----------------------------------------------------------\r\n ATOMICS\r\n ----------------------------------------------------------- */\r\n export interface IEnumeration<\r\n Literal extends Exclude,\r\n > extends IAtomic {\r\n enum: Array;\r\n }\r\n export interface IAtomic>\r\n extends ISignificant {\r\n default?: Atomic.Mapper[Literal];\r\n }\r\n export interface IString extends IAtomic<\"string\"> {\r\n /**\r\n * @type uint\r\n */\r\n minLength?: number;\r\n /**\r\n * @type uint\r\n */\r\n maxLength?: number;\r\n pattern?: string;\r\n format?: string;\r\n }\r\n export interface INumber extends IAtomic<\"number\"> {\r\n minimum?: number;\r\n maximum?: number;\r\n exclusiveMinimum?: boolean;\r\n exclusiveMaximum?: boolean;\r\n multipleOf?: number;\r\n }\r\n export interface IInteger extends IAtomic<\"integer\"> {\r\n /**\r\n * @type int\r\n */\r\n minimum?: number;\r\n /**\r\n * @type int\r\n */\r\n maximum?: number;\r\n exclusiveMinimum?: boolean;\r\n exclusiveMaximum?: boolean;\r\n /**\r\n * @type int\r\n */\r\n multipleOf?: number;\r\n }\r\n export interface IBoolean extends IAtomic<\"boolean\"> {}\r\n\r\n /* -----------------------------------------------------------\r\n OBJECTS\r\n ----------------------------------------------------------- */\r\n export interface IArray extends ISignificant<\"array\"> {\r\n items: IJsonSchema;\r\n /**\r\n * @type uint\r\n */\r\n minItems?: number;\r\n /**\r\n * @type uint\r\n */\r\n maxItems?: number;\r\n \"x-typia-tuple\"?: ITuple;\r\n }\r\n export interface ITuple extends ISignificant<\"array\"> {\r\n items: IJsonSchema[];\r\n }\r\n export interface IReference extends IAttribute {\r\n $ref: string;\r\n }\r\n export interface IRecursiveReference extends IAttribute {\r\n $recursiveRef: string;\r\n }\r\n export interface INullOnly extends IAttribute {\r\n type: \"null\";\r\n }\r\n\r\n /* -----------------------------------------------------------\r\n MISCELLANEOUS\r\n ----------------------------------------------------------- */\r\n export interface IOneOf extends IAttribute {\r\n oneOf: IJsonSchema[];\r\n }\r\n export interface IUnknown {\r\n type: undefined;\r\n }\r\n\r\n export interface ISignificant extends IAttribute {\r\n type: Literal;\r\n nullable: boolean;\r\n }\r\n export interface IAttribute {\r\n deprecated?: boolean;\r\n title?: string;\r\n description?: string;\r\n \"x-typia-jsDocTags\"?: IJsDocTagInfo[];\r\n \"x-typia-required\"?: boolean;\r\n \"x-typia-rest\"?: boolean;\r\n }\r\n}\nJSON schema generator.\nDefinitions:\nIJsonApplication\nIJsonComponents\nIJsonSchema\nWhen you need JSON schema, do not write it by yourself, but just call typia.application() function.If you call the typia.application() with specialization of target Schemas, typia will analyze your Schemas and generate JSON schema definition in the compilation level. However, note that, JSON schema definitions of AJV and Swagger are a little bit different. Therefore, you have to consider which value to assign in the Purpose argument.\nSwagger can't express tuple type\nSwagger can't express pattern property\nimport typia, { tags } from \"typia\";\r\n\r\nexport const MemberSchema = typia.application<[IMember], \"ajv\">();\r\n\r\ninterface IMember {\r\n /**\r\n * Unique user ID generated by server.\r\n */\r\n id: string & tags.Format<\"uuid\">;\r\n\r\n /**\r\n * Email address of the member.\r\n */\r\n email: string & tags.Format<\"email\">;\r\n\r\n /**\r\n * Age of the member.\r\n * \r\n * For reference, only adult can be a member.\r\n */\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MemberSchema = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nexports.MemberSchema = {\r\n schemas: [\r\n {\r\n $ref: \"#/components/schemas/IMember\"\r\n }\r\n ],\r\n components: {\r\n schemas: {\r\n IMember: {\r\n $id: \"#/components/schemas/IMember\",\r\n type: \"object\",\r\n properties: {\r\n id: {\r\n description: \"Unique user ID generated by server.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n email: {\r\n description: \"Email address of the member.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n age: {\r\n description: \"Age of the member.\\n\\nFor reference, only adult can be a member.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n }\r\n },\r\n required: [\r\n \"id\",\r\n \"email\",\r\n \"age\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n }\r\n }\r\n },\r\n purpose: \"ajv\"\r\n};","specialization#Specialization":"You can utilize type tags (or validator's comment tags) to constructing special fields of JSON schema.If you write any comment on a property, it would fill the IJsonSchema.description value. Also, there're special comment tags only for JSON schema definition that are different with validator's comment tags like below.\n@deprecated\n@hidden\n@internal\n@title {string}\n@default {value}\nLet's see how those type tags, comment tags and description comments are working with example code.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const SpecialTagSchema = typia.json.application<[Special], \"swagger\">();\r\n\r\ninterface Special {\r\n /**\r\n * Deprecated tags are just used for marking.\r\n * \r\n * @title Unsigned integer\r\n * @deprecated\r\n */\r\n type: number & tags.Type<\"int32\">;\r\n\r\n /**\r\n * Internal tagged property never be shown in JSON schema.\r\n * \r\n * It even doesn't be shown in other `typia` functions like `assert()`.\r\n * \r\n * @internal\r\n */\r\n internal: number[];\r\n\r\n /**\r\n * Hidden tagged property never be shown in JSON schema.\r\n * \r\n * However, it would be shown in other `typia` functions like `stringify()`.\r\n * \r\n * @hidden\r\n */\r\n hidden: boolean;\r\n\r\n /**\r\n * You can limit the range of number.\r\n * \r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n * @default 30\r\n */\r\n number?: number;\r\n\r\n /**\r\n * You can limit the length of string.\r\n * \r\n * Also, multiple range conditions are also possible.\r\n */\r\n string: string & (\r\n | (tags.MinLength<3> & tags.MaxLength<24>)\r\n | (tags.MinLength<40> & tags.MaxLength<100>)\r\n );\r\n\r\n /**\r\n * You can limit the pattern of string.\r\n * \r\n * @pattern ^[a-z]+$\r\n */\r\n pattern: string;\r\n\r\n /**\r\n * You can limit the format of string.\r\n * \r\n * @format date-time\r\n */\r\n format: string | null;\r\n \r\n /**\r\n * In the Array case, possible to restrict its elements.\r\n */\r\n array: Array> & tags.MinItems<3>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SpecialTagSchema = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nexports.SpecialTagSchema = {\r\n schemas: [\r\n {\r\n $ref: \"#/components/schemas/Special\"\r\n }\r\n ],\r\n components: {\r\n schemas: {\r\n Special: {\r\n type: \"object\",\r\n properties: {\r\n type: {\r\n deprecated: true,\r\n title: \"Unsigned integer\",\r\n description: \"Deprecated tags are just used for marking.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"title\",\r\n text: [\r\n {\r\n text: \"Unsigned integer\",\r\n kind: \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"deprecated\"\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"integer\"\r\n },\r\n number: {\r\n description: \"You can limit the range of number.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"exclusiveMinimum\",\r\n text: [\r\n {\r\n text: \"19\",\r\n kind: \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"maximum\",\r\n text: [\r\n {\r\n text: \"100\",\r\n kind: \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"default\",\r\n text: [\r\n {\r\n text: \"30\",\r\n kind: \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": false,\r\n \"x-typia-optional\": true,\r\n type: \"number\",\r\n minimum: 19,\r\n exclusiveMinimum: true,\r\n maximum: 100,\r\n \"default\": 30\r\n },\r\n string: {\r\n oneOf: [\r\n {\r\n description: \"You can limit the length of string.\\n\\nAlso, multiple range conditions are also possible.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n maxLength: 24,\r\n minLength: 3\r\n },\r\n {\r\n description: \"You can limit the length of string.\\n\\nAlso, multiple range conditions are also possible.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n maxLength: 100,\r\n minLength: 40\r\n }\r\n ],\r\n description: \"You can limit the length of string.\\n\\nAlso, multiple range conditions are also possible.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n pattern: {\r\n description: \"You can limit the pattern of string.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"pattern\",\r\n text: [\r\n {\r\n text: \"^[a-z]+$\",\r\n kind: \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n pattern: \"^[a-z]+$\"\r\n },\r\n format: {\r\n description: \"You can limit the format of string.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n name: \"format\",\r\n text: [\r\n {\r\n text: \"date-time\",\r\n kind: \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n format: \"date-time\",\r\n nullable: true\r\n },\r\n array: {\r\n description: \"In the Array case, possible to restrict its elements.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"array\",\r\n items: {\r\n description: \"In the Array case, possible to restrict its elements.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n format: \"uuid\"\r\n },\r\n minItems: 3\r\n }\r\n },\r\n nullable: false,\r\n required: [\r\n \"type\",\r\n \"string\",\r\n \"pattern\",\r\n \"format\",\r\n \"array\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n }\r\n }\r\n },\r\n purpose: \"swagger\"\r\n};","restrictions#Restrictions":"JSON schema does not support bigint type.So if you use bigint type in one of your onetarget schemas, typia will make compile error like below.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface Something {\r\n bigint: bigint;\r\n array: bigint[];\r\n nested: Nested;\r\n}\r\ninterface Nested {\r\n uint64: bigint & tags.Type<\"uint64\">;\r\n}\r\n\r\ntypia.json.application<[Something], \"ajv\">();\nmain.ts:12:1 - error TS(typia.json.application): unsupported type detected\r\n\r\n- Something.bigint: bigint\r\n - JSON does not support bigint type.\r\n\r\n- Something.array: bigint\r\n - JSON does not support bigint type.\r\n\r\n- Nested.uint64: (bigint & Type<\"uint64\">)\r\n - JSON does not support bigint type.\nAlso, if you put any type of native classes like Map or Uint8Array, it would be considered as an empty object. By the way, only Date class is exceptional, and it would be considered as string & Format<\"date-time\"> type like below.\nimport typia from \"typia\";\r\n\r\ninterface Native {\r\n date: Date;\r\n bytes: Uint8Array;\r\n map: Map;\r\n}\r\ntypia.json.application<[Native], \"ajv\">();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n({\r\n schemas: [\r\n {\r\n $ref: \"#/components/schemas/Native\"\r\n }\r\n ],\r\n components: {\r\n schemas: {\r\n Native: {\r\n $id: \"#/components/schemas/Native\",\r\n type: \"object\",\r\n properties: {\r\n date: {\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n type: \"string\",\r\n format: \"date-time\"\r\n },\r\n bytes: {\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n $ref: \"#/components/objects/Uint8Array\"\r\n },\r\n map: {\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n $ref: \"#/components/objects/Map\"\r\n }\r\n },\r\n required: [\r\n \"date\",\r\n \"bytes\",\r\n \"map\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n },\r\n Uint8Array: {\r\n type: \"object\",\r\n $id: \"#/components/objects/Uint8Array\",\r\n properties: {}\r\n },\r\n Map: {\r\n type: \"object\",\r\n $id: \"#/components/objects/Map\",\r\n properties: {}\r\n }\r\n }\r\n },\r\n purpose: \"ajv\"\r\n});"}},"/docs/json/parse":{"title":"Parse","data":{"parse-functions#parse() functions":"export namespace json {\r\n export function isParse(input: string): Primitive | null;\r\n export function assertParse(input: string): Primitive;\r\n export function validateParse(\r\n input: string\r\n ): IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Primitive type of JSON.\r\n *\r\n * `Primitive` is a TMP (Type Meta Programming) type which converts\r\n * its argument as a primitive type within framework JSON.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be an empty object (`{}`).\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom method\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the primitive object.\r\n *\r\n * In addition, if the target argument is a type of custom class and it has a special\r\n * method `toJSON()`, return type of this `Primitive` would be not `Primitive`\r\n * but `Primitive>`.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `String` | `string`\r\n * `Class` | `object`\r\n * `Class` with `toJSON()` | `Primitive>`\r\n * Native Class | `{}`\r\n * Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n * @author Michael - https://github.com/8471919\r\n */\r\nexport type Primitive = Equal> extends true\r\n ? T\r\n : PrimitiveMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype PrimitiveMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends bigint\r\n ? never\r\n : ValueOf extends boolean | number | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : ValueOf extends object\r\n ? Instance extends object\r\n ? Instance extends NativeClass\r\n ? {}\r\n : Instance extends IJsonable\r\n ? ValueOf extends object\r\n ? Raw extends object\r\n ? PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf // atomic value\r\n : PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf;\r\n\r\ntype PrimitiveObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? PrimitiveTuple\r\n : PrimitiveMain[]\r\n : {\r\n [P in keyof Instance]: PrimitiveMain;\r\n };\r\n\r\ntype PrimitiveTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [PrimitiveMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain, ...PrimitiveTuple]\r\n : T extends [(infer F)?]\r\n ? [PrimitiveMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain?, ...PrimitiveTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype NativeClass =\r\n | Set\r\n | Map\r\n | WeakSet\r\n | WeakMap\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends U\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\ninterface IJsonable {\r\n toJSON(): T;\r\n}\nType safe JSON parser.Unlike native JSON.parse() function which returns any typed instance without type checking, typia.json.assertParse() function validates instance type after the parsing. If the parsed value is not following the promised type T, it throws TypeGuardError with the first type error info.If you want to know every type error infos detaily, you can use typia.json.validateParse() function instead. Otherwise, you just only want to know whether the parsed value is following the type T or not, just call typia.json.isParse() function.\ntypia.json.isParse(): JSON.parse() + typia.is()\ntypia.json.assertParse(): JSON.parse() + typia.assert()\ntypia.json.validateParse(): JSON.parse() + typia.validate()\nLook at the below code, then you may understand how the typia.json.assertParse() function works.\nimport typia, { tags } from \"typia\";\r\n\r\nconst json: string = JSON.stringify(typia.random());\r\nconst parsed: IMember = typia.json.assertParse(json);\r\n\r\nconsole.log(json === JSON.stringify(parsed)); // true\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst json = JSON.stringify(\r\n ((generator) => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"uuid\">',\r\n kind: \"format\",\r\n value: \"uuid\",\r\n },\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n email:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"email\">',\r\n kind: \"format\",\r\n value: \"email\",\r\n },\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n age:\r\n (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: 'Type<\"uint32\">',\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n },\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100),\r\n });\r\n return $ro0();\r\n })(),\r\n);\r\nconst parsed = ((input) => {\r\n const assert = (input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.json.assertParse.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n input = JSON.parse(input);\r\n return assert(input);\r\n})(json);\r\nconsole.log(json === JSON.stringify(parsed)); // true\n/**\r\n * Primitive type of JSON.\r\n *\r\n * `Primitive` is a TMP (Type Meta Programming) type which converts\r\n * its argument as a primitive type within framework JSON.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be an empty object (`{}`).\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom method\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the primitive object.\r\n *\r\n * In addition, if the target argument is a type of custom class and it has a special\r\n * method `toJSON()`, return type of this `Primitive` would be not `Primitive`\r\n * but `Primitive>`.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `String` | `string`\r\n * `Class` | `object`\r\n * `Class` with `toJSON()` | `Primitive>`\r\n * Native Class | `{}`\r\n * Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n * @author Michael - https://github.com/8471919\r\n */\r\nexport type Primitive = Equal> extends true\r\n ? T\r\n : PrimitiveMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype PrimitiveMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends bigint\r\n ? never\r\n : ValueOf extends boolean | number | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : ValueOf extends object\r\n ? Instance extends object\r\n ? Instance extends NativeClass\r\n ? {}\r\n : Instance extends IJsonable\r\n ? ValueOf extends object\r\n ? Raw extends object\r\n ? PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf // atomic value\r\n : PrimitiveObject // object would be primitified\r\n : never // cannot be\r\n : ValueOf;\r\n\r\ntype PrimitiveObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? PrimitiveTuple\r\n : PrimitiveMain[]\r\n : {\r\n [P in keyof Instance]: PrimitiveMain;\r\n };\r\n\r\ntype PrimitiveTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [PrimitiveMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain, ...PrimitiveTuple]\r\n : T extends [(infer F)?]\r\n ? [PrimitiveMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [PrimitiveMain?, ...PrimitiveTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype NativeClass =\r\n | Set\r\n | Map\r\n | WeakSet\r\n | WeakMap\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends U\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\r\n\r\ninterface IJsonable {\r\n toJSON(): T;\r\n}","reusable-functions#Reusable functions":"export namespace json {\r\n export function createIsParse(): (\r\n input: string\r\n ) => Primitive | null;\r\n export function createAssertParse(): (\r\n input: string\r\n ) => Primitive;\r\n export function createValidateParse(): (\r\n input: string\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nReusable typia.json.isParse() function generators.If you repeat to call typia.json.isParse() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createIsParse() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const parseMember = typia.json.createIsParse();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.parseMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst parseMember = (input) => {\r\n const is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n input = JSON.parse(input);\r\n return is(input) ? input : null;\r\n};\r\nexports.parseMember = parseMember;"}},"/docs/json/stringify":{"title":"Stringify","data":{"stringify-functions#stringify() functions":"export namespace json {\r\n export function stringify(input: T): string;\r\n export function isStringify(input: T | unknown): string | null;\r\n export function assertStringify(input: T | unknown): string;\r\n export function validateStringify(input: T | unknown): IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nYou can boost up JSON serialization speed just by calling typia.json.stringify() function. Also, you even can ensure type safety of JSON serialization by calling other functions like typia.json.isStringify() and typia.json.assertStringify() functions.As typia.json.stringify() function writes dedicated JSON serialization code only for the target type T, its performance is much faster than native JSON.stringify() function. However, because of the dedicated optimal JSON serialization code, when wrong typed data comes, unexpected error be occured.Instead, typia supports type safe JSON serialization functions like typia.json.isStringify(). The typia.json.isStringify() is a combination function of typia.is() and typia.json.stringify() function. It checks whether the input value is valid for the target type T or not first, and operate JSON serialization later. If the input value is not matched with the type T, it returns null value.\ntypia.json.isStringify(): typia.is() + typia.json.stringify()\ntypia.json.assertStringify(): typia.assert() + typia.json.stringify()\ntypia.json.validateStringify(): typia.validate() + typia.json.stringify()\nAOT compliation\ntypia.json.isStringify() and other similar functions are still much faster than native JSON.stringify() function, even though they include type checking process. This is the power of AOT compilation, writing optimal dedicated code by analyzing TypeScript type, in the compilation level.\nimport typia, { tags } from \"typia\";\r\n\r\nconst department: IDepartment = typia.random();\r\nconst json: string | null = typia.json.isStringify(department);\r\n\r\nconsole.log(json); // not null, but string\r\n\r\ninterface IDepartment {\r\n id: string & tags.Format<\"uuid\">;\r\n name: string & tags.MinLength<3>;\r\n limit: number & tags.Type<\"int32\">;\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n authority: number;\r\n joined_at: string & tags.Format<\"date\">;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst department = ((generator) => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"uuid\">',\r\n kind: \"format\",\r\n value: \"uuid\",\r\n },\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n name:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"MinLength<3>\",\r\n kind: \"minLength\",\r\n value: 3,\r\n },\r\n ]) ??\r\n (generator?.string ?? $generator.string)(\r\n (generator?.integer ?? $generator.integer)(3, 25),\r\n ),\r\n limit:\r\n (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: 'Type<\"int32\">',\r\n kind: \"type\",\r\n value: \"int32\",\r\n },\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n clerks: (generator?.array ?? $generator.array)(() =>\r\n $ro1(_recursive, _recursive ? 1 + _depth : _depth),\r\n ),\r\n });\r\n const $ro1 = (_recursive = false, _depth = 0) => ({\r\n name:\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ??\r\n (generator?.string ?? $generator.string)(),\r\n age:\r\n (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: 'Type<\"uint32\">',\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n },\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100),\r\n authority:\r\n (generator?.customs ?? $generator.customs)?.number?.([]) ??\r\n (generator?.number ?? $generator.number)(0, 100),\r\n joined_at:\r\n (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: 'Format<\"date\">',\r\n kind: \"format\",\r\n value: \"date\",\r\n },\r\n ]) ?? (generator?.date ?? $generator.date)(),\r\n });\r\n return $ro0();\r\n})();\r\nconst json = ((input) => {\r\n const is = (input) => {\r\n const $io0 = (input) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.name &&\r\n 3 <= input.name.length &&\r\n \"number\" === typeof input.limit &&\r\n Math.floor(input.limit) === input.limit &&\r\n -2147483648 <= input.limit &&\r\n input.limit <= 2147483647 &&\r\n Array.isArray(input.clerks) &&\r\n input.clerks.every(\r\n (elem) =>\r\n \"object\" === typeof elem && null !== elem && $io1(elem),\r\n );\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n !Number.isNaN(input.authority) &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n const stringify = (input) => {\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n const $string = typia_1.default.json.isStringify.string;\r\n const $so0 = (input) =>\r\n `{\"id\":${$string(input.id)},\"name\":${$string(input.name)},\"limit\":${\r\n input.limit\r\n },\"clerks\":${`[${input.clerks\r\n .map(\r\n (elem) =>\r\n `{\"name\":${$string(elem.name)},\"age\":${\r\n elem.age\r\n },\"authority\":${elem.authority},\"joined_at\":${$string(\r\n elem.joined_at,\r\n )}}`,\r\n )\r\n .join(\",\")}]`}}`;\r\n return $so0(input);\r\n };\r\n return is(input) ? stringify(input) : null;\r\n})(department);\r\nconsole.log(json); // not null, but string","reusable-functions#Reusable functions":"export namespace json {\r\n export function createStringify: (input: T) => string;\r\n export function createIsStringify: (\r\n input: T | unknown\r\n ) => string | null;\r\n export function createAssertStringify: (\r\n input: T | unknown\r\n ) => string;\r\n export function createValidateStringify: (\r\n input: T | unknown\r\n ) => IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nReusable typia.json.stringify() function generators.If you repeat to call typia.json.stringify() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.json.createStringify() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const assertDepartment = typia.json.createAssertStringify();\r\n\r\ninterface IDepartment {\r\n id: string & tags.Format<\"uuid\">;\r\n name: string & tags.MinLength<3>;\r\n limit: number & tags.Type<\"int32\">;\r\n clerks: IClerk[];\r\n}\r\ninterface IClerk {\r\n name: string;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n authority: number;\r\n joined_at: string & tags.Format<\"date\">;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertDepartment = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertDepartment = (input) => {\r\n const assert = (input) => {\r\n const __is = (input) => {\r\n const $io0 = (input) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.name &&\r\n 3 <= input.name.length &&\r\n \"number\" === typeof input.limit &&\r\n Math.floor(input.limit) === input.limit &&\r\n -2147483648 <= input.limit &&\r\n input.limit <= 2147483647 &&\r\n Array.isArray(input.clerks) &&\r\n input.clerks.every(\r\n (elem) =>\r\n \"object\" === typeof elem && null !== elem && $io1(elem),\r\n );\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n !Number.isNaN(input.authority) &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.json.createAssertStringify.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.name &&\r\n (3 <= input.name.length ||\r\n $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string & MinLength<3>\",\r\n value: input.name,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"(string & MinLength<3>)\",\r\n value: input.name,\r\n })) &&\r\n ((\"number\" === typeof input.limit &&\r\n ((Math.floor(input.limit) === input.limit &&\r\n -2147483648 <= input.limit &&\r\n input.limit <= 2147483647) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: 'number & Type<\"int32\">',\r\n value: input.limit,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".limit\",\r\n expected: '(number & Type<\"int32\">)',\r\n value: input.limit,\r\n })) &&\r\n (((Array.isArray(input.clerks) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks,\r\n })) &&\r\n input.clerks.every(\r\n (elem, _index1) =>\r\n (((\"object\" === typeof elem && null !== elem) ||\r\n $guard(_exceptionable, {\r\n path:\r\n _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem,\r\n })) &&\r\n $ao1(\r\n elem,\r\n _path + \".clerks[\" + _index1 + \"]\",\r\n true && _exceptionable,\r\n )) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".clerks[\" + _index1 + \"]\",\r\n expected: \"IClerk\",\r\n value: elem,\r\n }),\r\n )) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".clerks\",\r\n expected: \"Array\",\r\n value: input.clerks,\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) =>\r\n (\"string\" === typeof input.name ||\r\n $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string\",\r\n value: input.name,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n })) &&\r\n ((\"number\" === typeof input.authority &&\r\n !Number.isNaN(input.authority)) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".authority\",\r\n expected: \"number\",\r\n value: input.authority,\r\n })) &&\r\n ((\"string\" === typeof input.joined_at &&\r\n (/^(d{4})-(d{2})-(d{2})$/.test(input.joined_at) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: 'string & Format<\"date\">',\r\n value: input.joined_at,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".joined_at\",\r\n expected: '(string & Format<\"date\">)',\r\n value: input.joined_at,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IDepartment\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n };\r\n const stringify = (input) => {\r\n const $io1 = (input) =>\r\n \"string\" === typeof input.name &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n \"number\" === typeof input.authority &&\r\n \"string\" === typeof input.joined_at &&\r\n /^(d{4})-(d{2})-(d{2})$/.test(input.joined_at);\r\n const $string = typia_1.default.json.createAssertStringify.string;\r\n const $so0 = (input) =>\r\n `{\"id\":${$string(input.id)},\"name\":${$string(input.name)},\"limit\":${\r\n input.limit\r\n },\"clerks\":${`[${input.clerks\r\n .map(\r\n (elem) =>\r\n `{\"name\":${$string(elem.name)},\"age\":${\r\n elem.age\r\n },\"authority\":${elem.authority},\"joined_at\":${$string(\r\n elem.joined_at,\r\n )}}`,\r\n )\r\n .join(\",\")}]`}}`;\r\n return $so0(input);\r\n };\r\n return stringify(assert(input));\r\n};\r\nexports.assertDepartment = assertDepartment;","performance#Performance":"Comparing JSON serialization speed with others, it is maximum 200x faster than class-transformer.For reference, class-transformer is the most famous library used in NestJS with class-validator. Also, fast-json-stringify is another famous one used in fastify. However, whether they are fast or slow, both of them require extra schema definition, that is different with TypeScript type. If you see the code below without experience of them, you may get shocked: how complicate and inefficient they are:\nfast-json-stringify requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nMeasured on Intel i5-1135g7, Surface Pro 8","server-performance#Server Performance":"Someone may ask:\nJSON serialization speed affects on the server performance?I think that the JSON serialization is just a tiny thing in the server side, isn't it?\nMy answer is, \"Yes, it affects on the server performance\".Most operations in NodeJS server are asynchronously executed in background thread, what are called \"event based non-blocking I/O model\". However, JSON serialization is a synchronous operation running on the main thread. Therefore, if the JSON serialization speed is slow, it makes the entire server program slow.I'll show you the benchmark result that, how JSON serizliation speed affects on the server performance.\nMeasured on Intel i5-1135g7, Surface Pro 8"}},"/docs/protobuf/decode":{"title":"Decode","data":{"decode-functions#decode() functions":"export namespace protobuf {\r\n export function decode(buffer: Uint8Array): Resolved;\r\n export function isDecode(buffer: Uint8Array): Resolved | null;\r\n export function assertDecode(buffer: Uint8Array): Resolved;\r\n export function validateDecode(\r\n buffer: Uint8Array\r\n ): IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nProtocol Buffer Decoder.You can easily convert a Protocol Buffer's binary data to a JavaScript object, without any extra Protocol Buffer Message Schema definition. typia.protobuf.decode() function analyzes your type T, and generates a Protocol Buffer Message Schema internally.And then, it converts the binary data to a JavaScript object.By the way, as Protocol Buffer handles binary data directly, there's no way when input binary data was not encoded from the T typed value. In that case, unexpected behavior or internal error would be occured. Therefore, I recommend you to encode binary data of Protocol Buffer from type safe encode functions like below, Use typia.protobuf.encode() function only when you can trust it.\ntypia.protobuf.isEncode()\ntypia.protobuf.assertEncode()\ntypia.protobuf.validateEncode()\nFor reference, typia provides type safe decorators like below, but they are just for additional type validation like number & Minimum<7> or string & Format<\"uuid\"> cases, that are represented by Special Tags. Thus, I repeat that, you've to ensure type safety when using decoder function.\ntypia.protobuf.isDecode(): typia.is() + typia.protobuf.decode()\ntypia.protobuf.assertDecode(): typia.assert() + typia.protobuf.decode()\ntypia.protobuf.validateDecode(): typia.validate() + typia.protobuf.decode()\nAOT compliation\ntypia.protobuf.decode() and other similar functions are still much faster than any other competitive libraries, even though they include type checking process. This is the power of AOT compilation, writing optimal dedicated code by analyzing TypeScript type, in the compilation level.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\r\n\r\nconst data: ICustomer = typia.random();\r\nconst encoded: Uint8Array = typia.protobuf.encode(data);\r\ntypia.protobuf.decode(encoded);\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst data = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $pick = typia_1.default.random.pick;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"int32\\\">\",\r\n kind: \"type\",\r\n value: \"int32\",\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n pet: $pick([\r\n () => null,\r\n () => $ro1(_recursive, _recursive ? 1 + _depth : _depth),\r\n () => $ro2(_recursive, _recursive ? 1 + _depth : _depth)\r\n ])(),\r\n memo: $pick([\r\n () => null,\r\n () => new Map((generator?.array ?? $generator.array)(() => [\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)()\r\n ]))\r\n ])(),\r\n logins: (generator?.array ?? $generator.array)(() => $ro3(_recursive, _recursive ? 1 + _depth : _depth))\r\n });\r\n const $ro1 = (_recursive = false, _depth = 0) => ({\r\n type: \"cat\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n ribbon: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro2 = (_recursive = false, _depth = 0) => ({\r\n type: \"dog\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n hunt: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro3 = (_recursive = false, _depth = 0) => ({\r\n success: (generator?.boolean ?? $generator.boolean)(),\r\n href: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n referrer: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n ip: $pick([\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv4\\\">\",\r\n kind: \"format\",\r\n value: \"ipv4\",\r\n }\r\n ]) ?? (generator?.ipv4 ?? $generator.ipv4)(),\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv6\\\">\",\r\n kind: \"format\",\r\n value: \"ipv6\",\r\n }\r\n ]) ?? (generator?.ipv6 ?? $generator.ipv6)()\r\n ])(),\r\n time: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"date-time\\\">\",\r\n kind: \"format\",\r\n value: \"date-time\",\r\n }\r\n ]) ?? (generator?.datetime ?? $generator.datetime)()\r\n });\r\n return $ro0();\r\n})();\r\nconst encoded = (input => {\r\n const $throws = typia_1.default.protobuf.encode.throws;\r\n const $Sizer = typia_1.default.protobuf.encode.Sizer;\r\n const $Writer = typia_1.default.protobuf.encode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"id\";\r\n writer.uint32(8);\r\n writer.int32(input.id);\r\n // property \"email\";\r\n writer.uint32(18);\r\n writer.string(input.email);\r\n // property \"name\";\r\n writer.uint32(26);\r\n writer.string(input.name);\r\n // property \"pet\";\r\n if (null !== input.pet) {\r\n if (\"cat\" === input.pet.type)\r\n return (() => {\r\n // 4 -> ICat;\r\n writer.uint32(34);\r\n writer.fork();\r\n $peo1(input.pet);\r\n writer.ldelim();\r\n })();\r\n else if (\"dog\" === input.pet.type)\r\n return (() => {\r\n // 5 -> IDog;\r\n writer.uint32(42);\r\n writer.fork();\r\n $peo2(input.pet);\r\n writer.ldelim();\r\n })();\r\n else\r\n $throws({\r\n expected: \"(ICat | IDog)\",\r\n value: input.pet\r\n });\r\n }\r\n // property \"memo\";\r\n if (null !== input.memo) {\r\n for (const [key, value] of input.memo) {\r\n writer.uint32(50);\r\n writer.fork();\r\n writer.uint32(10);\r\n writer.string(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n // property \"logins\";\r\n if (0 !== input.logins.length) {\r\n for (const elem of input.logins) {\r\n // 7 -> ICustomerLogin;\r\n writer.uint32(58);\r\n writer.fork();\r\n $peo3(elem);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n const $peo1 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"ribbon\";\r\n writer.uint32(24);\r\n writer.bool(input.ribbon);\r\n };\r\n const $peo2 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"hunt\";\r\n writer.uint32(24);\r\n writer.bool(input.hunt);\r\n };\r\n const $peo3 = input => {\r\n // property \"success\";\r\n writer.uint32(8);\r\n writer.bool(input.success);\r\n // property \"href\";\r\n writer.uint32(18);\r\n writer.string(input.href);\r\n // property \"referrer\";\r\n writer.uint32(26);\r\n writer.string(input.referrer);\r\n // property \"ip\";\r\n writer.uint32(34);\r\n writer.string(input.ip);\r\n // property \"time\";\r\n writer.uint32(42);\r\n writer.string(input.time);\r\n };\r\n const $io1 = input => \"cat\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.ribbon;\r\n const $io2 = input => \"dog\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.hunt;\r\n const $io3 = input => \"boolean\" === typeof input.success && (\"string\" === typeof input.href && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.referrer && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.ip && (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(input.ip) || /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(input.ip))) && (\"string\" === typeof input.time && !isNaN(new Date(input.time).getTime()));\r\n const $iu0 = input => (() => {\r\n if (\"cat\" === input.type)\r\n return $io1(input);\r\n else if (\"dog\" === input.type)\r\n return $io2(input);\r\n else\r\n return false;\r\n })();\r\n //ICustomer;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n})(data);\r\n(input => {\r\n const $Reader = typia_1.default.protobuf.decode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n id: undefined,\r\n email: \"\",\r\n name: \"\",\r\n pet: null,\r\n memo: null,\r\n logins: []\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.id = reader.int32();\r\n break;\r\n case 2:\r\n // string;\r\n output.email = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 4:\r\n // ICat;\r\n output.pet = $pdo1(reader, reader.uint32());\r\n break;\r\n case 5:\r\n // IDog;\r\n output.pet = $pdo2(reader, reader.uint32());\r\n break;\r\n case 6:\r\n // type: Map;\r\n (() => {\r\n output.memo ??= new Map();\r\n const piece = reader.uint32() + reader.index();\r\n const entry = {\r\n key: \"\",\r\n value: \"\"\r\n };\r\n while (reader.index() < piece) {\r\n const kind = reader.uint32();\r\n switch (kind >>> 3) {\r\n case 1:\r\n // string;\r\n entry.key = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n entry.value = reader.string();\r\n break;\r\n default:\r\n reader.skipType(kind & 7);\r\n break;\r\n }\r\n }\r\n output.memo.set(entry.key, entry.value);\r\n })();\r\n break;\r\n case 7:\r\n // type: Array;\r\n output.logins.push($pdo3(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo1 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n ribbon: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.ribbon = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo2 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n hunt: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.hunt = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo3 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n success: undefined,\r\n href: \"\",\r\n referrer: \"\",\r\n ip: \"\",\r\n time: \"\"\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // bool;\r\n output.success = reader.bool();\r\n break;\r\n case 2:\r\n // string;\r\n output.href = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.referrer = reader.string();\r\n break;\r\n case 4:\r\n // string;\r\n output.ip = reader.string();\r\n break;\r\n case 5:\r\n // string;\r\n output.time = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n})(encoded);","reusable-functions#Reusable functions":"export namespace protobuf {\r\n export function createDecode(): (buffer: Uint8Array) => Resolved;\r\n export function createIsDecode: (buffer: Uint8Array) => Resolved | null;\r\n export function createAssertDecode(): (buffer: Uint8Array) => Resolved;\r\n export function createValidateDecode(): (\r\n buffer: Uint8Array\r\n ) => IValidation>;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nReusable typia.protobuf.decode() function generators.If you repeat to call typia.protobuf.decode() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.protobuf.createDecode() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const encode = typia.protobuf.createDecode();\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.encode = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst encode = input => {\r\n const $Reader = typia_1.default.protobuf.createDecode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n id: undefined,\r\n email: \"\",\r\n name: \"\",\r\n pet: null,\r\n memo: null,\r\n logins: []\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.id = reader.int32();\r\n break;\r\n case 2:\r\n // string;\r\n output.email = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 4:\r\n // ICat;\r\n output.pet = $pdo1(reader, reader.uint32());\r\n break;\r\n case 5:\r\n // IDog;\r\n output.pet = $pdo2(reader, reader.uint32());\r\n break;\r\n case 6:\r\n // type: Map;\r\n (() => {\r\n output.memo ??= new Map();\r\n const piece = reader.uint32() + reader.index();\r\n const entry = {\r\n key: \"\",\r\n value: \"\"\r\n };\r\n while (reader.index() < piece) {\r\n const kind = reader.uint32();\r\n switch (kind >>> 3) {\r\n case 1:\r\n // string;\r\n entry.key = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n entry.value = reader.string();\r\n break;\r\n default:\r\n reader.skipType(kind & 7);\r\n break;\r\n }\r\n }\r\n output.memo.set(entry.key, entry.value);\r\n })();\r\n break;\r\n case 7:\r\n // type: Array;\r\n output.logins.push($pdo3(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo1 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n ribbon: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.ribbon = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo2 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n type: undefined,\r\n name: \"\",\r\n hunt: undefined\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // string;\r\n output.type = reader.string();\r\n break;\r\n case 2:\r\n // string;\r\n output.name = reader.string();\r\n break;\r\n case 3:\r\n // bool;\r\n output.hunt = reader.bool();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const $pdo3 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n success: undefined,\r\n href: \"\",\r\n referrer: \"\",\r\n ip: \"\",\r\n time: \"\"\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // bool;\r\n output.success = reader.bool();\r\n break;\r\n case 2:\r\n // string;\r\n output.href = reader.string();\r\n break;\r\n case 3:\r\n // string;\r\n output.referrer = reader.string();\r\n break;\r\n case 4:\r\n // string;\r\n output.ip = reader.string();\r\n break;\r\n case 5:\r\n // string;\r\n output.time = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n};\r\nexports.encode = encode;","references#References":"Protocol Buffer supports special numeric types like int32 or uint64 that are not supported in TypeScript. Also, types of Protocol Buffer cannot fully meet TypeScript type specs either, as expression power of TypeScript types are much stronger than Protocol Buffer.To know how to define special numeric types like uint64, and to understand which TypeScript types are not supported in Protocol Buffer specs, it would better to read below documents. I recommend you to read them before using typia.protobuf.decode() related functions.\nTypia Guide Documents > Protocol Buffer > Message Schema\nmessage() function\nType Tags\nComment Tags\nRestrictions"}},"/docs/protobuf/encode":{"title":"Encode","data":{"encode-functions#encode() functions":"export namespace protobuf {\r\n export function encode(input: T): Uint8Array;\r\n export function isEncode(input: T): Uint8Array | null;\r\n export function assertEncode(input: T): Uint8Array;\r\n export function validateEncode(input: T): IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nProtocol Buffer Encoder.You can easily convert a JavaScript object to a binary data of Protocol Buffer, without any extra Protocol Buffer Message Schema definition. typia.protobuf.encode() function analyzes your type T, and generates a Protocol Buffer Message Schema internally. And then, it converts the input instance to the binary data of Protocol Buffer format.By the way, typia.protobuf.encode() function does not validate the input value. It just believes user and input value, and converts to the Protocol Buffer binary data directly without any validation. By the way, if the input value was not validate, the encoded binary data never can be decoded. So, if you can't sure the input value type, you should use below functions instead.\ntypia.protobuf.isEncode(): typia.is() + typia.protobuf.encode()\ntypia.protobuf.assertEncode(): typia.assert() + typia.protobuf.encode()\ntypia.protobuf.validateEncode(): typia.validate() + typia.protobuf.encode()\nAOT compliation\ntypia.protobuf.encode() and other similar functions are still much faster than any other competitive libraries, even though they include type checking process. This is the power of AOT compilation, writing optimal dedicated code by analyzing TypeScript type, in the compilation level.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\r\n\r\nconst customer: ICustomer = typia.random();\r\ntypia.protobuf.encode(customer);\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst customer = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $pick = typia_1.default.random.pick;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"int32\\\">\",\r\n kind: \"type\",\r\n value: \"int32\",\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n pet: $pick([\r\n () => null,\r\n () => $ro1(_recursive, _recursive ? 1 + _depth : _depth),\r\n () => $ro2(_recursive, _recursive ? 1 + _depth : _depth)\r\n ])(),\r\n memo: $pick([\r\n () => null,\r\n () => new Map((generator?.array ?? $generator.array)(() => [\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)()\r\n ]))\r\n ])(),\r\n logins: (generator?.array ?? $generator.array)(() => $ro3(_recursive, _recursive ? 1 + _depth : _depth))\r\n });\r\n const $ro1 = (_recursive = false, _depth = 0) => ({\r\n type: \"cat\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n ribbon: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro2 = (_recursive = false, _depth = 0) => ({\r\n type: \"dog\",\r\n name: (generator?.customs ?? $generator.customs)?.string?.([]) ?? (generator?.string ?? $generator.string)(),\r\n hunt: (generator?.boolean ?? $generator.boolean)()\r\n });\r\n const $ro3 = (_recursive = false, _depth = 0) => ({\r\n success: (generator?.boolean ?? $generator.boolean)(),\r\n href: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n referrer: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"url\\\">\",\r\n kind: \"format\",\r\n value: \"url\",\r\n }\r\n ]) ?? (generator?.url ?? $generator.url)(),\r\n ip: $pick([\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv4\\\">\",\r\n kind: \"format\",\r\n value: \"ipv4\",\r\n }\r\n ]) ?? (generator?.ipv4 ?? $generator.ipv4)(),\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"ipv6\\\">\",\r\n kind: \"format\",\r\n value: \"ipv6\",\r\n }\r\n ]) ?? (generator?.ipv6 ?? $generator.ipv6)()\r\n ])(),\r\n time: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"date-time\\\">\",\r\n kind: \"format\",\r\n value: \"date-time\",\r\n }\r\n ]) ?? (generator?.datetime ?? $generator.datetime)()\r\n });\r\n return $ro0();\r\n})();\r\n(input => {\r\n const $throws = typia_1.default.protobuf.encode.throws;\r\n const $Sizer = typia_1.default.protobuf.encode.Sizer;\r\n const $Writer = typia_1.default.protobuf.encode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"id\";\r\n writer.uint32(8);\r\n writer.int32(input.id);\r\n // property \"email\";\r\n writer.uint32(18);\r\n writer.string(input.email);\r\n // property \"name\";\r\n writer.uint32(26);\r\n writer.string(input.name);\r\n // property \"pet\";\r\n if (null !== input.pet) {\r\n if (\"cat\" === input.pet.type)\r\n return (() => {\r\n // 4 -> ICat;\r\n writer.uint32(34);\r\n writer.fork();\r\n $peo1(input.pet);\r\n writer.ldelim();\r\n })();\r\n else if (\"dog\" === input.pet.type)\r\n return (() => {\r\n // 5 -> IDog;\r\n writer.uint32(42);\r\n writer.fork();\r\n $peo2(input.pet);\r\n writer.ldelim();\r\n })();\r\n else\r\n $throws({\r\n expected: \"(ICat | IDog)\",\r\n value: input.pet\r\n });\r\n }\r\n // property \"memo\";\r\n if (null !== input.memo) {\r\n for (const [key, value] of input.memo) {\r\n writer.uint32(50);\r\n writer.fork();\r\n writer.uint32(10);\r\n writer.string(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n // property \"logins\";\r\n if (0 !== input.logins.length) {\r\n for (const elem of input.logins) {\r\n // 7 -> ICustomerLogin;\r\n writer.uint32(58);\r\n writer.fork();\r\n $peo3(elem);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n const $peo1 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"ribbon\";\r\n writer.uint32(24);\r\n writer.bool(input.ribbon);\r\n };\r\n const $peo2 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"hunt\";\r\n writer.uint32(24);\r\n writer.bool(input.hunt);\r\n };\r\n const $peo3 = input => {\r\n // property \"success\";\r\n writer.uint32(8);\r\n writer.bool(input.success);\r\n // property \"href\";\r\n writer.uint32(18);\r\n writer.string(input.href);\r\n // property \"referrer\";\r\n writer.uint32(26);\r\n writer.string(input.referrer);\r\n // property \"ip\";\r\n writer.uint32(34);\r\n writer.string(input.ip);\r\n // property \"time\";\r\n writer.uint32(42);\r\n writer.string(input.time);\r\n };\r\n const $io1 = input => \"cat\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.ribbon;\r\n const $io2 = input => \"dog\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.hunt;\r\n const $io3 = input => \"boolean\" === typeof input.success && (\"string\" === typeof input.href && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.referrer && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.ip && (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(input.ip) || /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(input.ip))) && (\"string\" === typeof input.time && !isNaN(new Date(input.time).getTime()));\r\n const $iu0 = input => (() => {\r\n if (\"cat\" === input.type)\r\n return $io1(input);\r\n else if (\"dog\" === input.type)\r\n return $io2(input);\r\n else\r\n return false;\r\n })();\r\n //ICustomer;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n})(customer);\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}","reusable-functions#Reusable Functions":"export namespace protobuf {\r\n export function encode(): (input: T) => Uint8Array;\r\n export function isEncode(): (input: T) => Uint8Array | null;\r\n export function assertEncode(): (input: T) => Uint8Array;\r\n export function validateEncode(): (\r\n input: T\r\n ) => IValidation;\r\n}\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nReusable typia.protobuf.encode() function generators.If you repeat to call typia.protobuf.encode() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.protobuf.createEncode() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const encode = typia.protobuf.createEncode();\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.encode = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst encode = input => {\r\n const $throws = typia_1.default.protobuf.createEncode.throws;\r\n const $Sizer = typia_1.default.protobuf.createEncode.Sizer;\r\n const $Writer = typia_1.default.protobuf.createEncode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"id\";\r\n writer.uint32(8);\r\n writer.int32(input.id);\r\n // property \"email\";\r\n writer.uint32(18);\r\n writer.string(input.email);\r\n // property \"name\";\r\n writer.uint32(26);\r\n writer.string(input.name);\r\n // property \"pet\";\r\n if (null !== input.pet) {\r\n if (\"cat\" === input.pet.type)\r\n return (() => {\r\n // 4 -> ICat;\r\n writer.uint32(34);\r\n writer.fork();\r\n $peo1(input.pet);\r\n writer.ldelim();\r\n })();\r\n else if (\"dog\" === input.pet.type)\r\n return (() => {\r\n // 5 -> IDog;\r\n writer.uint32(42);\r\n writer.fork();\r\n $peo2(input.pet);\r\n writer.ldelim();\r\n })();\r\n else\r\n $throws({\r\n expected: \"(ICat | IDog)\",\r\n value: input.pet\r\n });\r\n }\r\n // property \"memo\";\r\n if (null !== input.memo) {\r\n for (const [key, value] of input.memo) {\r\n writer.uint32(50);\r\n writer.fork();\r\n writer.uint32(10);\r\n writer.string(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n // property \"logins\";\r\n if (0 !== input.logins.length) {\r\n for (const elem of input.logins) {\r\n // 7 -> ICustomerLogin;\r\n writer.uint32(58);\r\n writer.fork();\r\n $peo3(elem);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n const $peo1 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"ribbon\";\r\n writer.uint32(24);\r\n writer.bool(input.ribbon);\r\n };\r\n const $peo2 = input => {\r\n // property \"type\";\r\n writer.uint32(10);\r\n writer.string(input.type);\r\n // property \"name\";\r\n writer.uint32(18);\r\n writer.string(input.name);\r\n // property \"hunt\";\r\n writer.uint32(24);\r\n writer.bool(input.hunt);\r\n };\r\n const $peo3 = input => {\r\n // property \"success\";\r\n writer.uint32(8);\r\n writer.bool(input.success);\r\n // property \"href\";\r\n writer.uint32(18);\r\n writer.string(input.href);\r\n // property \"referrer\";\r\n writer.uint32(26);\r\n writer.string(input.referrer);\r\n // property \"ip\";\r\n writer.uint32(34);\r\n writer.string(input.ip);\r\n // property \"time\";\r\n writer.uint32(42);\r\n writer.string(input.time);\r\n };\r\n const $io1 = input => \"cat\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.ribbon;\r\n const $io2 = input => \"dog\" === input.type && \"string\" === typeof input.name && \"boolean\" === typeof input.hunt;\r\n const $io3 = input => \"boolean\" === typeof input.success && (\"string\" === typeof input.href && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.referrer && (/^[a-zA-Z0-9]+:/ / ( ? : www.) ? [-a - zA - Z0 - 9, (), % ._ + ~#] : )) && (\"string\" === typeof input.ip && (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(input.ip) || /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test(input.ip))) && (\"string\" === typeof input.time && !isNaN(new Date(input.time).getTime()));\r\n const $iu0 = input => (() => {\r\n if (\"cat\" === input.type)\r\n return $io1(input);\r\n else if (\"dog\" === input.type)\r\n return $io2(input);\r\n else\r\n return false;\r\n })();\r\n //ICustomer;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n};\r\nexports.encode = encode;","references#References":"Protocol Buffer supports special numeric types like int32 or uint64 that are not supported in TypeScript. Also, types of Protocol Buffer cannot fully meet TypeScript type specs either, as expression power of TypeScript types are much stronger than Protocol Buffer.To know how to define special numeric types like uint64, and to understand which TypeScript types are not supported in Protocol Buffer specs, it would better to read below documents. I recommend you to read them before using typia.protobuf.encode() related functions.\nTypia Guide Documents > Protocol Buffer > Message Schema\nmessage() function\nType Tags\nComment Tags\nRestrictions"}},"/docs/protobuf/message":{"title":"Message","data":{"message-function#message() function":"export namespace protobuf {\r\n export function message(): string;\r\n}\ntypia.protobuf.message() function returns a Protocol Buffer message (structure) as a string value.With this message() function, you can share *.proto files with other languages. If you want to customize byte order or define specific type (that is not supported in the TypeScript) like uint32, use comment tags by following comment tags section.\nimport typia, { tags } from \"typia\";\r\n\r\ninterface ICustomer {\r\n id: number & tags.Type<\"int32\">;\r\n email: string & tags.Format<\"email\">;\r\n name: string;\r\n pet: null | ICat | IDog;\r\n memo: null | Map;\r\n logins: Array;\r\n}\r\ninterface ICat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface IDog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\ninterface ICustomerLogin {\r\n success: boolean;\r\n href: string & tags.Format<\"url\">;\r\n referrer: string & tags.Format<\"url\">;\r\n ip: string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">);\r\n time: string & tags.Format<\"date-time\">;\r\n}\r\n\r\ntypia.protobuf.message();\nsyntax = \"proto3\";\r\n\r\nmessage ICustomer {\r\n required int32 id = 1;\r\n required string email = 2;\r\n required string name = 3;\r\n oneof pet {\r\n ICat v4 = 4;\r\n IDog v5 = 5;\r\n }\r\n map memo = 6;\r\n repeated ICustomerLogin logins = 7;\r\n}\r\n\r\nmessage ICat {\r\n required string type = 1;\r\n required string name = 2;\r\n required bool ribbon = 3;\r\n}\r\n\r\nmessage IDog {\r\n required string type = 1;\r\n required string name = 2;\r\n required bool hunt = 3;\r\n}\r\n\r\nmessage ICustomerLogin {\r\n required bool success = 1;\r\n required string href = 2;\r\n required string referrer = 3;\r\n required string ip = 4;\r\n required string time = 5;\r\n}","type-tags#Type Tags":"By using type tags, you can use special numeric types that are not supported in the TypeScript.Just import Type (or typia.tags.Type) type, and combine it with number or bigint type through intersection symbol number & typia.tagsType<\"float\"> case. If you want to declare an union numeric type, combine | and bracket (()) symbols properly like below.When you take a mistake that choosing different target type, TypeScript compiler would block it with compliation error message. Therefore, have a confidence when using the Type tag. For such type safety reason, I recommend to use Type tag instead of using comment tags as much as possible.\nnumber & (Type<\"uint32\"> | Type<\"double\">)\nnumber type can be both uint32 and double\n(number & Type<\"int32\">) | (bigint & Type<\"uint64\">)\nnumber is int32\nbigint is uint64\n(number & (Type<\"int32\">)| Type<\"float\">) | (bigint & Type<\"uint64\">)\nnumber can be both int32 and float\nbigint is uint64\nimport typia, { tags } from \"typia\";\r\n\r\nexport interface TypeTagExample {\r\n // ATOMIC TYPES\r\n int32: number & tags.Type<\"int32\">;\r\n uint32: number & tags.Type<\"uint32\">;\r\n uint64: bigint & tags.Type<\"uint64\">;\r\n int64: number & tags.Type<\"int64\">;\r\n float: number & tags.Type<\"float\">;\r\n double: number | undefined;\r\n string: string | null;\r\n\r\n // UNION TYPES\r\n uint32_or_double: number & (tags.Type<\"uint32\"> | tags.Type<\"double\">);\r\n int32_or_uint64: \r\n | (number & tags.Type<\"int32\">) \r\n | (bigint & tags.Type<\"uint64\">);\r\n int32_or_float_or_uint64: \r\n | (number & (tags.Type<\"int32\"> | tags.Type<\"float\">)) \r\n | (bigint & tags.Type<\"uint64\">);\r\n\r\n // ARRAY AND MAP\r\n uint64_array: Array>;\r\n int32_map?: Map, string> | null;\r\n}\r\n\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\ntypia.protobuf.message();\r\n\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ntypia.protobuf.createDecode();\r\n\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ntypia.protobuf.createEncode();\nsyntax = \"proto3\";\r\n\r\nmessage TypeTagExample {\r\n required int32 int32 = 1;\r\n required uint32 uint32 = 2;\r\n required uint64 uint64 = 3;\r\n required int64 int64 = 4;\r\n required float float = 5;\r\n optional double double = 6;\r\n optional string string = 7;\r\n oneof uint32_or_double {\r\n uint32 v8 = 8;\r\n double v9 = 9;\r\n }\r\n oneof int32_or_uint64 {\r\n int32 v10 = 10;\r\n uint64 v11 = 11;\r\n }\r\n oneof int32_or_float_or_uint64 {\r\n int32 v12 = 12;\r\n uint64 v13 = 13;\r\n float v14 = 14;\r\n }\r\n repeated uint64 uint64_array = 15;\r\n map int32_map = 16;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\n\"syntax = \\\"proto3\\\";\\n\\nmessage TypeTagExample {\\n required int32 int32 = 1;\\n required uint32 uint32 = 2;\\n required uint64 uint64 = 3;\\n required int64 int64 = 4;\\n required float float = 5;\\n optional double double = 6;\\n optional string string = 7;\\n oneof uint32_or_double {\\n uint32 v8 = 8;\\n double v9 = 9;\\n }\\n oneof int32_or_uint64 {\\n int32 v10 = 10;\\n uint64 v11 = 11;\\n }\\n oneof int32_or_float_or_uint64 {\\n int32 v12 = 12;\\n uint64 v13 = 13;\\n float v14 = 14;\\n }\\n repeated uint64 uint64_array = 15;\\n map int32_map = 16;\\n}\";\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ninput => {\r\n const $Reader = typia_1.default.protobuf.createDecode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n int32: undefined,\r\n uint32: undefined,\r\n uint64: undefined,\r\n int64: undefined,\r\n float: undefined,\r\n double: undefined,\r\n string: null,\r\n uint32_or_double: undefined,\r\n int32_or_uint64: undefined,\r\n int32_or_float_or_uint64: undefined,\r\n uint64_array: [],\r\n int32_map: null\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.int32 = reader.int32();\r\n break;\r\n case 2:\r\n // uint32;\r\n output.uint32 = reader.uint32();\r\n break;\r\n case 3:\r\n // uint64;\r\n output.uint64 = reader.uint64();\r\n break;\r\n case 4:\r\n // int64;\r\n output.int64 = Number(reader.int64());\r\n break;\r\n case 5:\r\n // float;\r\n output.float = reader.float();\r\n break;\r\n case 6:\r\n // double;\r\n output.double = reader.double();\r\n break;\r\n case 7:\r\n // string;\r\n output.string = reader.string();\r\n break;\r\n case 8:\r\n // uint32;\r\n output.uint32_or_double = reader.uint32();\r\n break;\r\n case 9:\r\n // double;\r\n output.uint32_or_double = reader.double();\r\n break;\r\n case 10:\r\n // int32;\r\n output.int32_or_uint64 = reader.int32();\r\n break;\r\n case 11:\r\n // uint64;\r\n output.int32_or_uint64 = reader.uint64();\r\n break;\r\n case 12:\r\n // int32;\r\n output.int32_or_float_or_uint64 = reader.int32();\r\n break;\r\n case 13:\r\n // uint64;\r\n output.int32_or_float_or_uint64 = reader.uint64();\r\n break;\r\n case 14:\r\n // float;\r\n output.int32_or_float_or_uint64 = reader.float();\r\n break;\r\n case 15:\r\n // type: Array<(bigint & Type<\"uint64\">)>;\r\n if (2 === (tag & 7)) {\r\n const piece = reader.uint32() + reader.index();\r\n while (reader.index() < piece)\r\n output.uint64_array.push(reader.uint64());\r\n }\r\n else\r\n output.uint64_array.push(reader.uint64());\r\n break;\r\n case 16:\r\n // type: Map;\r\n (() => {\r\n output.int32_map ??= new Map();\r\n const piece = reader.uint32() + reader.index();\r\n const entry = {\r\n key: undefined,\r\n value: \"\"\r\n };\r\n while (reader.index() < piece) {\r\n const kind = reader.uint32();\r\n switch (kind >>> 3) {\r\n case 1:\r\n // int32;\r\n entry.key = reader.int32();\r\n break;\r\n case 2:\r\n // string;\r\n entry.value = reader.string();\r\n break;\r\n default:\r\n reader.skipType(kind & 7);\r\n break;\r\n }\r\n }\r\n output.int32_map.set(entry.key, entry.value);\r\n })();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n};\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ninput => {\r\n const $throws = typia_1.default.protobuf.createEncode.throws;\r\n const $Sizer = typia_1.default.protobuf.createEncode.Sizer;\r\n const $Writer = typia_1.default.protobuf.createEncode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"int32\";\r\n writer.uint32(8);\r\n writer.int32(input.int32);\r\n // property \"uint32\";\r\n writer.uint32(16);\r\n writer.uint32(input.uint32);\r\n // property \"uint64\";\r\n writer.uint32(24);\r\n writer.uint64(input.uint64);\r\n // property \"int64\";\r\n writer.uint32(32);\r\n writer.int64(input.int64);\r\n // property \"float\";\r\n writer.uint32(45);\r\n writer.float(input.float);\r\n // property \"double\";\r\n if (undefined !== input.double) {\r\n writer.uint32(49);\r\n writer.double(input.double);\r\n }\r\n // property \"string\";\r\n if (null !== input.string) {\r\n writer.uint32(58);\r\n writer.string(input.string);\r\n }\r\n // property \"uint32_or_double\";\r\n if (\"number\" === typeof input.uint32_or_double && (Math.floor(input.uint32_or_double) === input.uint32_or_double && 0 <= input.uint32_or_double && input.uint32_or_double <= 4294967295)) {\r\n writer.uint32(64);\r\n writer.uint32(input.uint32_or_double);\r\n }\r\n else if (\"number\" === typeof input.uint32_or_double && true) {\r\n writer.uint32(73);\r\n writer.double(input.uint32_or_double);\r\n }\r\n else\r\n $throws({\r\n expected: \"(number & (Type<\\\"uint32\\\"> | Type<\\\"double\\\">))\",\r\n value: input.uint32_or_double\r\n });\r\n // property \"int32_or_uint64\";\r\n if (\"number\" === typeof input.int32_or_uint64) {\r\n writer.uint32(80);\r\n writer.int32(input.int32_or_uint64);\r\n }\r\n else if (\"bigint\" === typeof input.int32_or_uint64) {\r\n writer.uint32(88);\r\n writer.uint64(input.int32_or_uint64);\r\n }\r\n else\r\n $throws({\r\n expected: \"((bigint & Type<\\\"uint64\\\">) | (number & Type<\\\"int32\\\">))\",\r\n value: input.int32_or_uint64\r\n });\r\n // property \"int32_or_float_or_uint64\";\r\n if (\"number\" === typeof input.int32_or_float_or_uint64 && (Math.floor(input.int32_or_float_or_uint64) === input.int32_or_float_or_uint64 && -2147483648 <= input.int32_or_float_or_uint64 && input.int32_or_float_or_uint64 <= 2147483647)) {\r\n writer.uint32(96);\r\n writer.int32(input.int32_or_float_or_uint64);\r\n }\r\n else if (\"bigint\" === typeof input.int32_or_float_or_uint64) {\r\n writer.uint32(104);\r\n writer.uint64(input.int32_or_float_or_uint64);\r\n }\r\n else if (\"number\" === typeof input.int32_or_float_or_uint64 && (-1.175494351e+38 <= input.int32_or_float_or_uint64 && input.int32_or_float_or_uint64 <= 3.4028235e+38)) {\r\n writer.uint32(117);\r\n writer.float(input.int32_or_float_or_uint64);\r\n }\r\n else\r\n $throws({\r\n expected: \"((bigint & Type<\\\"uint64\\\">) | (number & (Type<\\\"int32\\\"> | Type<\\\"float\\\">)))\",\r\n value: input.int32_or_float_or_uint64\r\n });\r\n // property \"uint64_array\";\r\n if (0 !== input.uint64_array.length) {\r\n writer.uint32(122);\r\n writer.fork();\r\n for (const elem of input.uint64_array) {\r\n writer.uint64(elem);\r\n }\r\n writer.ldelim();\r\n }\r\n // property \"int32_map\";\r\n if (undefined !== input.int32_map && null !== input.int32_map) {\r\n for (const [key, value] of input.int32_map) {\r\n writer.uint32(130);\r\n writer.fork();\r\n writer.uint32(8);\r\n writer.int32(key);\r\n writer.uint32(18);\r\n writer.string(value);\r\n writer.ldelim();\r\n }\r\n }\r\n };\r\n //TypeTagExample;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n};","comment-tags#Comment Tags":"By using @type {target} comment tag, you also can use special numeric types.However, this way is not recommended, because it can't perform union numeric types, and cannot be used in Array and Map types. When you declare @type int32 statement, target number type be fixed as int32 type, and never can have another numeric type by declaring union statements.Also, those comment tags are not type safe. If you take a mistake when writing a comment tag, it will not be detected by the compiler, and will cause an error at runtime. For example, if you write a mis-spelled keyword like @type unit32, the target number type would be double type, and you can identify it just by running the program (or visiting playground website).\nWhy supports comment tags?\nDespite these disadvantages, the reason for maintaining comment tags is as follows.First, it is to support the legacy JSDoc style that had been used in the JS camp for a long time. If you had developed a legacy project and JSDoc being used, you can use it as is.Second, to support Prisma. If a comment is created in the Prisma Schema through the /// statement as shown below and a type is created, it is converted to a TS comment as it is. And since there is no way that union types, numeric Arrays or Maps are used in Prisma (database) schema, these comment tags are surprisingly compatible with Prisma.\nimport typia from \"typia\";\r\n\r\nexport interface CommentTagExample {\r\n /**\r\n * @type int32\r\n */\r\n int32: number;\r\n\r\n /**\r\n * @type uint32\r\n */\r\n uint32?: number | null;\r\n\r\n /**\r\n * @type uint64\r\n */\r\n uint64?: number;\r\n\r\n /**\r\n * @type int64\r\n */\r\n int64: number;\r\n\r\n /**\r\n * @type float\r\n */\r\n float: number | null;\r\n\r\n double: number;\r\n\r\n string: string;\r\n}\r\n\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\ntypia.protobuf.message();\r\n\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ntypia.protobuf.createDecode();\r\n\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ntypia.protobuf.createEncode();\nsyntax = \"proto3\";\r\n\r\nmessage CommentTagExample {\r\n required int32 int32 = 1;\r\n optional uint32 uint32 = 2;\r\n optional uint64 uint64 = 3;\r\n required int64 int64 = 4;\r\n optional float float = 5;\r\n required double double = 6;\r\n required string string = 7;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n//----\r\n// PROTOBUF MESSAGE SCHEMA\r\n//----\r\n\"syntax = \\\"proto3\\\";\\n\\nmessage CommentTagExample {\\n required int32 int32 = 1;\\n optional uint32 uint32 = 2;\\n optional uint64 uint64 = 3;\\n required int64 int64 = 4;\\n optional float float = 5;\\n required double double = 6;\\n required string string = 7;\\n}\";\r\n//----\r\n// DECODE FUNCTION\r\n//----\r\ninput => {\r\n const $Reader = typia_1.default.protobuf.createDecode.Reader;\r\n const $pdo0 = (reader, length = -1) => {\r\n length = length < 0 ? reader.size() : reader.index() + length;\r\n const output = {\r\n int32: undefined,\r\n uint32: null,\r\n uint64: undefined,\r\n int64: undefined,\r\n float: null,\r\n double: undefined,\r\n string: \"\"\r\n };\r\n while (reader.index() < length) {\r\n const tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n // int32;\r\n output.int32 = reader.int32();\r\n break;\r\n case 2:\r\n // uint32;\r\n output.uint32 = reader.uint32();\r\n break;\r\n case 3:\r\n // uint64;\r\n output.uint64 = Number(reader.uint64());\r\n break;\r\n case 4:\r\n // int64;\r\n output.int64 = Number(reader.int64());\r\n break;\r\n case 5:\r\n // float;\r\n output.float = reader.float();\r\n break;\r\n case 6:\r\n // double;\r\n output.double = reader.double();\r\n break;\r\n case 7:\r\n // string;\r\n output.string = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return output;\r\n };\r\n const reader = new $Reader(input);\r\n return $pdo0(reader);\r\n};\r\n//----\r\n// ENCODE FUNCTION\r\n//----\r\ninput => {\r\n const $Sizer = typia_1.default.protobuf.createEncode.Sizer;\r\n const $Writer = typia_1.default.protobuf.createEncode.Writer;\r\n const encoder = writer => {\r\n const $peo0 = input => {\r\n // property \"int32\";\r\n writer.uint32(8);\r\n writer.int32(input.int32);\r\n // property \"uint32\";\r\n if (undefined !== input.uint32 && null !== input.uint32) {\r\n writer.uint32(16);\r\n writer.uint32(input.uint32);\r\n }\r\n // property \"uint64\";\r\n if (undefined !== input.uint64) {\r\n writer.uint32(24);\r\n writer.uint64(input.uint64);\r\n }\r\n // property \"int64\";\r\n writer.uint32(32);\r\n writer.int64(input.int64);\r\n // property \"float\";\r\n if (null !== input.float) {\r\n writer.uint32(45);\r\n writer.float(input.float);\r\n }\r\n // property \"double\";\r\n writer.uint32(49);\r\n writer.double(input.double);\r\n // property \"string\";\r\n writer.uint32(58);\r\n writer.string(input.string);\r\n };\r\n //CommentTagExample;\r\n $peo0(input);\r\n return writer;\r\n };\r\n const sizer = encoder(new $Sizer());\r\n const writer = encoder(new $Writer(sizer));\r\n return writer.buffer();\r\n};","restrictions#Restrictions":"You know what? Expression power of Protocol Buffer is extremely narrower than type system of TypeScript. For example, Protocol Buffer can't express complicate union type containing array. Also, Protocol Buffer can't express multi dimensional array type, either.In such reason, when converting TypeScript type to Protocol buffer message schema, lots of restrictions are exist. Let's study which types of TyeScript are not supported in Protocol Buffer. For reference, if you try to call typia.protobuf.message() function with unsupported type, typia will generate compile errors like below example cases.At first, top level type must be a sole and static object.If you try to use number or Array type as a top level type, typia will generate compile error like below. Dynamic object types like Record, or Map types are not allowed either. For reference, the sole object means that, union of object types is not allowed, either.\nimport typia from \"typia\";\r\n\r\ninterface Cat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface Dog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\n\r\ntypia.protobuf.message();\r\ntypia.protobuf.createDecode>();\r\ntypia.protobuf.createDecode, Dog>>();\r\ntypia.protobuf.createEncode();\r\ntypia.protobuf.createEncode();\nmain.ts:14:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- bigint\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:15:1 - error TS(typia.protobuf.typia.protobuf.createDecode): unsupported type detected\r\n\r\n- Record\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:16:1 - error TS(typia.protobuf.typia.protobuf.createDecode): unsupported type detected\r\n\r\n- Map<(number & Type<\"float\">), Dog>\r\n - target type must be a sole and static object type\r\n\r\n- (number & Type<\"float\">)\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:17:1 - error TS(typia.protobuf.typia.protobuf.createEncode): unsupported type detected\r\n\r\n- Array\r\n - target type must be a sole and static object type\r\n\r\nmain.ts:18:1 - error TS(typia.protobuf.typia.protobuf.createEncode): unsupported type detected\r\n\r\n- (Cat | Dog)\r\n - target type must be a sole and static object type\nAt next, in Protocol Buffer, those types are categorized as container types.\nArray\nMap\nRecord (dynamic object)\nAlso, those container types does not allow over two-dimensional stacking. Therefore, it is not possible to declaring two dimensional array like number[][], or Array type in Map like Map. Besides, value type of those container also do not support union type either.Additionally, about Map type, key type must be an atomic type. It means that, only boolean, number, bigint and string types are allowed. Also, key type cannot be union type, either.\nimport typia from \"typia\";\r\n\r\ninterface IPointer {\r\n value: T;\r\n}\r\ninterface Cat {\r\n type: \"cat\";\r\n name: string;\r\n ribbon: boolean;\r\n}\r\ninterface Dog {\r\n type: \"dog\";\r\n name: string;\r\n hunt: boolean;\r\n}\r\n\r\ntypia.protobuf.message>();\r\ntypia.protobuf.createEncode>>();\r\ntypia.protobuf.createDecode>>();\r\n\r\ntypia.protobuf.message>>();\r\ntypia.protobuf.message>>();\nmain.ts:17:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- IPointer>>[key]: Array>\r\n - does not support over two dimenstional array type\r\n\r\nmain.ts:18:1 - error TS(typia.protobuf.typia.protobuf.createEncode): unsupported type detected\r\n\r\n- IPointer>>[key]: Record>\r\n - does not support dynamic object with array value type\r\n\r\nmain.ts:19:1 - error TS(typia.protobuf.typia.protobuf.createDecode): unsupported type detected\r\n\r\n- IPointer>[key]: Map\r\n - does not support union type in map value type\r\n\r\nmain.ts:21:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- IPointer>[key]: Map\r\n - does not support non-atomic key typed map\r\n\r\nmain.ts:22:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- IPointer>[key]: Map<(number | string), Dog>\r\n - does not support union key typed map\r\n - does not support non-atomic key typed map\nAt last, those types are all not allowed.\nany\nfunctional type\nSet, WeakSet and WeakMap\nDate, Boolean, BigInt, Number, String\nBinary classes except Uint8Array\nUint8ClampedArray, Uint16Array, Uint32Array, BigUint64Array\nInt8Array, Int16Array, Int32Array, BigInt64Array\nArrayBuffer, SharedArrayBuffer and DataView\nimport typia from \"typia\";\r\n\r\ninterface Something {\r\n any: any;\r\n unknown: unknown;\r\n closure: () => void;\r\n dict: Set | WeakSet | WeakMap;\r\n date: Date;\r\n classic: String;\r\n buffer: ArrayBuffer;\r\n}\r\n\r\ntypia.protobuf.message();\nmain.ts:13:1 - error TS(typia.protobuf.message): unsupported type detected\r\n\r\n- Something.any: any\r\n - does not support any type\r\n\r\n- Something.unknown: any\r\n - does not support any type\r\n\r\n- Something.closure: unknown\r\n - does not support functional type\r\n\r\n- Something.dict: (Set | WeakMap | WeakSet)\r\n - does not support Set type\r\n - does not support WeakSet type. Use Array type instead.\r\n - does not support WeakMap type. Use Map type instead.\r\n\r\n- Something.date: Date\r\n - does not support Date type. Use string type instead.\r\n\r\n- Something.classic: String\r\n - does not support String type. Use string type instead.\r\n\r\n- Something.buffer: ArrayBuffer\r\n - does not support ArrayBuffer type. Use Uint8Array type instead."}},"/docs/pure":{"title":"Pure TypeScript","data":{"outline#Outline":"typia.assert(article);\ntypia needs only one line with pure TypeScript type.You know what? Every other validator libraries need extra schema definition, that is different with pure TypeScript type. For an example, class-validator is the most famouse validator due to used in NestJS. However, NestJS and class-validator force you to define triple duplicated DTO schema.\nTypeScript Type\nclass-validator decorators\n@nestjs/swagger decorators\nAnother famous validator library ajv requires JSON schema definition. Move to the #Demonstration, and click the ajv (JSON Schema) tab, then you may understand how it terrible. It requires hundreds of lines of JSON schema definition even just for a simple DTO.Those duplicated schema definitions are not only annoying, but also error-prone. If you take any mistake on the extra schema definition, such mistake can't be detected by TypeScript compiler. It will be detected only at runtime, therefore become a critical runtime error. Another words, it is not type safe.Besides, typia only needs pure TypeScript type. You don't need to define any extra schema like class-validator or ajv. Just define pure TypeScript type only (especially recommend to use interface type), then typia will do all the rest.","demonstration#Demonstration":"If you're confusing how typia is different with others, just see example codes below.At first, look at the first (class-validator) tab, and find the BbsArticle.files property, enhanced by blue coloured blocks. Looking at the files property, how do you feel? Just defining an array object type, you've to call 7 decorator functions. If you take any mistake when using the decorator like omitting isArray property, it would be a critical runtime erorr.Besides, typia needs only one line. Click the third (typia) tab, and find the IAttachmentFile.files property. Only one line being used, and they are even not class, but just interface types. Comparing it to the first and second tabs, how do you feel? Isn't it more simple and readable?This is the power of typia, with pure TypeScript type.\nimport { ApiProperty } from \"@nestjs/swagger\";\r\nimport { ArrayNotEmpty, IsArray, IsObject, IsOptional, IsString, Match, MaxLength, Type, ValidateNested } from \"class-validator\";\r\n\r\nexport class BbsArticle {\r\n @ApiProperty({\r\n format: \"uuid\",\r\n })\r\n @IsString()\r\n id!: string;\r\n\r\n // DUPLICATED SCHEMA DEFINITION\r\n // - duplicated function call + property type\r\n // - have to specify `isArray` and `nullable` props by yourself\r\n @ApiProperty({\r\n type: () => AttachmentFile,\r\n nullable: true,\r\n isArray: true,\r\n minItems: 1,\r\n description: \"List of attached files.\",\r\n })\r\n @Type(() => AttachmentFile)\r\n @IsArray()\r\n @ArrayNotEmpty()\r\n @IsOptional()\r\n @IsObject({ each: true })\r\n @ValidateNested({ each: true })\r\n files!: AttachmentFile[] | null;\r\n\r\n @ApiProperty({\r\n type: \"string\",\r\n nullable: true,\r\n minLength: 5,\r\n maxLength: 100,\r\n description: \"Title of the article.\",\r\n })\r\n @IsOptional()\r\n @IsString()\r\n title!: string | null;\r\n\r\n @ApiProperty({\r\n description: \"Main content body of the article.\"\r\n })\r\n @IsString()\r\n body!: string;\r\n\r\n @ApiProperty({\r\n format: \"date-time\",\r\n description: \"Creation time of article\",\r\n })\r\n @IsString()\r\n created_at!: string;\r\n}\r\n\r\nexport class AttachmentFile {\r\n @ApiProperty({\r\n type: \"string\",\r\n nullable: true,\r\n maxLength: 255,\r\n pattern: \"^[a-zA-Z0-9-_]+$\",\r\n description: \"File name.\",\r\n })\r\n @Matches(/^[a-z0-9]+$/)\r\n @MaxLength(255)\r\n @IsOptional()\r\n @IsString()\r\n name!: string | null;\r\n\r\n @ApiProperty({\r\n type: \"string\",\r\n nullable: true,\r\n maxLength: 255,\r\n pattern: \"^[a-zA-Z0-9-_]+$\",\r\n description: \"File extension.\",\r\n })\r\n @Matches(/^[a-z0-9]+$/)\r\n @MaxLength(8)\r\n @IsOptional()\r\n @IsString()\r\n extension!: string | null;\r\n\r\n @ApiProperty({\r\n format: \"url\",\r\n description: \"URL of the file.\",\r\n })\r\n @IsString()\r\n url!: string;\r\n}\n{\r\n \"schemas\": [\r\n {\r\n \"$ref\": \"components#/schemas/IBbsArticle\"\r\n }\r\n ],\r\n \"components\": {\r\n \"schemas\": {\r\n \"IBbsArticle\": {\r\n \"$id\": \"components#/schemas/IBbsArticle\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"Primary Key.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"format\",\r\n \"value\": \"uuid\"\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"format\",\r\n \"text\": [\r\n {\r\n \"text\": \"uuid\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"format\": \"uuid\"\r\n },\r\n \"files\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"components#/schemas/IAttachmentFile\",\r\n \"description\": \"List of attached files.\",\r\n \"minItems\": 1,\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n \"nullable\": true,\r\n \"description\": \"List of attached files.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n \"title\": {\r\n \"type\": \"string\",\r\n \"nullable\": true,\r\n \"description\": \"Title of the article.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"minLength\",\r\n \"value\": 5\r\n },\r\n {\r\n \"kind\": \"maxLength\",\r\n \"value\": 100\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"minLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"5\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"maxLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"100\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"minLength\": 5,\r\n \"maxLength\": 100\r\n },\r\n \"body\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"Main content body of the article.\",\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false\r\n },\r\n \"created_at\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"Creation time of article.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"format\",\r\n \"value\": \"datetime\"\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"format\",\r\n \"text\": [\r\n {\r\n \"text\": \"date-time\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"format\": \"date-time\"\r\n }\r\n },\r\n \"nullable\": false,\r\n \"required\": [\r\n \"id\",\r\n \"files\",\r\n \"title\",\r\n \"body\",\r\n \"created_at\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n },\r\n \"IAttachmentFile\": {\r\n \"$id\": \"components#/schemas/IAttachmentFile\",\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"nullable\": true,\r\n \"description\": \"File name.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"pattern\",\r\n \"value\": \"^[a-z0-9]+$\"\r\n },\r\n {\r\n \"kind\": \"maxLength\",\r\n \"value\": 255\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"pattern\",\r\n \"text\": [\r\n {\r\n \"text\": \"^[a-z0-9]+$\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"maxLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"255\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"pattern\": \"^[a-z0-9]+$\",\r\n \"maxLength\": 255\r\n },\r\n \"extension\": {\r\n \"type\": \"string\",\r\n \"nullable\": true,\r\n \"description\": \"File extension.\",\r\n \"x-typia-metaTags\": [\r\n {\r\n \"kind\": \"pattern\",\r\n \"value\": \"^[a-z0-9]+$\"\r\n },\r\n {\r\n \"kind\": \"maxLength\",\r\n \"value\": 8\r\n }\r\n ],\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"pattern\",\r\n \"text\": [\r\n {\r\n \"text\": \"^[a-z0-9]+$\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"maxLength\",\r\n \"text\": [\r\n {\r\n \"text\": \"8\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"pattern\": \"^[a-z0-9]+$\",\r\n \"maxLength\": 8\r\n },\r\n \"url\": {\r\n \"type\": \"string\",\r\n \"nullable\": false,\r\n \"description\": \"URL of the file.\",\r\n \"x-typia-jsDocTags\": [\r\n {\r\n \"name\": \"format\",\r\n \"text\": [\r\n {\r\n \"text\": \"uri\",\r\n \"kind\": \"text\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"x-typia-required\": true,\r\n \"x-typia-optional\": false,\r\n \"format\": \"uri\"\r\n }\r\n },\r\n \"nullable\": false,\r\n \"required\": [\r\n \"name\",\r\n \"extension\",\r\n \"url\"\r\n ],\r\n \"x-typia-jsDocTags\": []\r\n }\r\n }\r\n },\r\n \"purpose\": \"ajv\",\r\n \"prefix\": \"components#/schemas\"\r\n}\nimport { tags } from \"typia\";\r\n\r\nexport interface IBbsArticle {\r\n /**\r\n * Primary Key.\r\n */\r\n id: string & tags.Format<\"uuid\">;\r\n\r\n /**\r\n * List of attached files.\r\n */\r\n files: null | (IAttachmentFile[] & tags.MinItems<1>);\r\n\r\n /**\r\n * Title of the article.\r\n */\r\n title: null | (string & tags.MinLength<5> & tags.MaxLength<100>);\r\n\r\n /**\r\n * Main content body of the article.\r\n */\r\n body: string;\r\n\r\n /**\r\n * Creation time of article.\r\n */\r\n created_at: string & tags.Format<\"datetime\">;\r\n}\r\n\r\nexport interface IAttachmentFile {\r\n /**\r\n * File name.\r\n */\r\n name: \r\n | null \r\n | (string & tags.Pattern<\"^[a-z0-9]+$\"> & tags.MaxLength<255>);\r\n\r\n /**\r\n * File extension.\r\n */\r\n extension: \r\n | null \r\n | (string & tags.Pattern<\"^[a-z0-9]+$\"> & tags.MaxLength<8>);\r\n\r\n /**\r\n * URL of the file.\r\n */\r\n url: string & tags.Format<\"uri\">;\r\n}","aot-compilation#AOT Compilation":"Someone may be suspicious of the phrase \"Pure TypeScript Type\".\n\"As you know, TypeScript types do not have any tangible instance when compiled to JS.However, with only these fictitious TypeScript types, how can typia validates types at runtime? How typia builds much faster JSON serializer only with these types? Are these things really possible without extra schema definition like class-validator or ajv?\"\nMy answer is: \"Yes, it is possible due to typia analyzes your server code, and performs AOT compilation\".Such compile time optimization is called AOT (Ahead of Time) compilation. And this is the secret why typia can do everything with only pure TypeScript type. Read below example codes, and just look how JavaScript file being compiled. Then you may understand why typia is much easier, and futhermore much faster.\nRuntime validator is 20,000x faster than class-validator\nJSON serialization is 200x faster than class-transformer\nexport interface IBbsArticle {\r\n /**\r\n * Primary Key.\r\n * \r\n * @format uuid\r\n */\r\n id: string;\r\n\r\n /**\r\n * List of attached files.\r\n * \r\n * @minItems 1\r\n */\r\n files: IAttachmentFile[] | null;\r\n\r\n /**\r\n * Title of the article.\r\n * \r\n * @minLength 5\r\n * @maxLength 100\r\n */\r\n title: string | null;\r\n\r\n /**\r\n * Main content body of the article.\r\n */\r\n body: string;\r\n\r\n /**\r\n * Creation time of article.\r\n * \r\n * @format date-time\r\n */\r\n created_at: string;\r\n}\r\n\r\nexport interface IAttachmentFile {\r\n /**\r\n * File name.\r\n * \r\n * @pattern ^[a-z0-9]+$\r\n * @maxLength 255\r\n */\r\n name: string | null;\r\n\r\n /**\r\n * File extension.\r\n * \r\n * @pattern ^[a-z0-9]+$\r\n * @maxLength 8\r\n */\r\n extension: string | null;\r\n\r\n /**\r\n * URL of the file.\r\n * \r\n * @format uri\r\n */\r\n url: string;\r\n}\nimport typia from \"typia\";\r\n\r\nimport { IBbsArticle } from \"./IBbsArticle\";\r\n\r\nexport const assertArticle = typia.createAssert();\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertArticle = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertArticle = input => {\r\n const $guard = typia_1.default.createAssert.guard;\r\n const $is_uuid = typia_1.default.createAssert.is_uuid;\r\n const $is_datetime = typia_1.default.createAssert.is_datetime;\r\n const __is = input => {\r\n const $is_uuid = typia_1.default.createAssert.is_uuid;\r\n const $is_datetime = typia_1.default.createAssert.is_datetime;\r\n const $io0 = input => \"string\" === typeof input.id && $is_uuid(input.id) && (null === input.files || Array.isArray(input.files) && 1 <= input.files.length && input.files.every(elem => \"object\" === typeof elem && null !== elem && $io1(elem))) && (null === input.title || \"string\" === typeof input.title && 5 <= input.title.length && 100 >= input.title.length) && \"string\" === typeof input.body && (\"string\" === typeof input.created_at && $is_datetime(input.created_at));\r\n const $io1 = input => (null === input.name || \"string\" === typeof input.name && RegExp(/^[a-z0-9]+$/).test(input.name) && 255 >= input.name.length) && (null === input.extension || \"string\" === typeof input.extension && RegExp(/^[a-z0-9]+$/).test(input.extension) && 8 >= input.extension.length) && \"string\" === typeof input.url;\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.id && ($is_uuid(input.id) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string (@format uuid)\",\r\n value: input.id\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: \"string\",\r\n value: input.id\r\n })) && (null === input.files || (Array.isArray(input.files) && (1 <= input.files.length || $guard(_exceptionable, {\r\n path: _path + \".files\",\r\n expected: \"Array.length (@minItems 1)\",\r\n value: input.files\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".files\",\r\n expected: \"(Array | null)\",\r\n value: input.files\r\n })) && input.files.every((elem, _index1) => (\"object\" === typeof elem && null !== elem || $guard(_exceptionable, {\r\n path: _path + \".files[\" + _index1 + \"]\",\r\n expected: \"IAttachmentFile\",\r\n value: elem\r\n })) && $ao1(elem, _path + \".files[\" + _index1 + \"]\", true && _exceptionable))) && (null === input.title || \"string\" === typeof input.title && (5 <= input.title.length || $guard(_exceptionable, {\r\n path: _path + \".title\",\r\n expected: \"string (@minLength 5)\",\r\n value: input.title\r\n })) && (100 >= input.title.length || $guard(_exceptionable, {\r\n path: _path + \".title\",\r\n expected: \"string (@maxLength 100)\",\r\n value: input.title\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".title\",\r\n expected: \"(null | string)\",\r\n value: input.title\r\n })) && (\"string\" === typeof input.body || $guard(_exceptionable, {\r\n path: _path + \".body\",\r\n expected: \"string\",\r\n value: input.body\r\n })) && (\"string\" === typeof input.created_at && ($is_datetime(input.created_at) || $guard(_exceptionable, {\r\n path: _path + \".created_at\",\r\n expected: \"string (@format datetime)\",\r\n value: input.created_at\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".created_at\",\r\n expected: \"string\",\r\n value: input.created_at\r\n }));\r\n const $ao1 = (input, _path, _exceptionable = true) => (null === input.name || \"string\" === typeof input.name && (RegExp(/^[a-z0-9]+$/).test(input.name) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@pattern ^[a-z0-9]+$)\",\r\n value: input.name\r\n })) && (255 >= input.name.length || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"string (@maxLength 255)\",\r\n value: input.name\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".name\",\r\n expected: \"(null | string)\",\r\n value: input.name\r\n })) && (null === input.extension || \"string\" === typeof input.extension && (RegExp(/^[a-z0-9]+$/).test(input.extension) || $guard(_exceptionable, {\r\n path: _path + \".extension\",\r\n expected: \"string (@pattern ^[a-z0-9]+$)\",\r\n value: input.extension\r\n })) && (8 >= input.extension.length || $guard(_exceptionable, {\r\n path: _path + \".extension\",\r\n expected: \"string (@maxLength 8)\",\r\n value: input.extension\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".extension\",\r\n expected: \"(null | string)\",\r\n value: input.extension\r\n })) && (\"string\" === typeof input.url || $guard(_exceptionable, {\r\n path: _path + \".url\",\r\n expected: \"string\",\r\n value: input.url\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IBbsArticle\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true);\r\n })(input, \"$input\", true);\r\n return input;\r\n};\r\nexports.assertArticle = assertArticle;\nMeasured on Intel i5-1135g7, Surface Pro 8"}},"/docs/random":{"title":"Random","data":{"random-function#random() function":"export function random(g?: IRandomGenerator): Resolved;\nexport interface IRandomGenerator {\r\n boolean(): boolean;\r\n integer(minimum?: number, maximum?: number): number;\r\n number(minimum?: number, maximum?: number): number;\r\n bigint(minimum?: bigint, maximum?: bigint): bigint;\r\n string(length?: number): string;\r\n array(closure: (index: number) => T, count?: number): T[];\r\n length(): number;\r\n\r\n uuid(): string;\r\n email(): string;\r\n url(): string;\r\n ipv4(): string;\r\n ipv6(): string;\r\n pattern(regex: RegExp): string;\r\n date(minimum?: number, maximum?: number): string;\r\n datetime(minimum?: number, maximum?: number): string;\r\n\r\n customs?: IRandomGenerator.CustomMap;\r\n}\r\nexport namespace IRandomGenerator {\r\n export type CustomMap = {\r\n [Type in keyof Customizable]?: (\r\n tags: ITypeTag[],\r\n ) => Customizable[Type] | undefined;\r\n };\r\n\r\n export interface ITypeTag {\r\n name: string;\r\n kind: string;\r\n value: any;\r\n }\r\n}\nexport interface Customizable {\r\n number: number;\r\n string: string;\r\n bigint: bigint;\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nYou can make every random data just by calling typia.random() function.When you call the typia.random() function, typia will analyze your type T, and writes optimal random generation code for the type T, in the compilation level. This is called AOT (Ahead of Time) compliation, and you may understand what it is just by reading below example code.\nimport typia, { tags } from \"typia\";\r\n\r\nconst member: IMember = typia.random();\r\nconsole.log(member);\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst member = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"uuid\\\">\",\r\n kind: \"format\",\r\n value: \"uuid\",\r\n }\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n age: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"uint32\\\">\",\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100)\r\n });\r\n return $ro0();\r\n})();\r\nconsole.log(member);","reusable-function#Reusable function":"export function createRandom(): (g?: IRandomGenerator) => Resolved;\nexport interface IRandomGenerator {\r\n boolean(): boolean;\r\n integer(minimum?: number, maximum?: number): number;\r\n number(minimum?: number, maximum?: number): number;\r\n bigint(minimum?: bigint, maximum?: bigint): bigint;\r\n string(length?: number): string;\r\n array(closure: (index: number) => T, count?: number): T[];\r\n\r\n uuid(): string;\r\n email(): string;\r\n url(): string;\r\n ipv4(): string;\r\n ipv6(): string;\r\n pattern(regex: RegExp): string;\r\n date(minimum?: number, maximum?: number): string;\r\n datetime(minimum?: number, maximum?: number): string;\r\n\r\n customs?: IRandomGenerator.CustomMap;\r\n}\r\nexport namespace IRandomGenerator {\r\n export type CustomMap = {\r\n [Type in keyof Customizable]?: \r\n (tags: ICommentTag[]) => Customizable[Type] | undefined;\r\n };\r\n\r\n export interface ICommentTag {\r\n name: string;\r\n value?: string;\r\n }\r\n}\nexport interface Customizable {\r\n number: number;\r\n string: string;\r\n bigint: bigint;\r\n}\nReusable typia.random() function generators.If you repeat to call typia.random() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createRandom() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const createRandomMember = typia.createRandom();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.createRandomMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst createRandomMember = generator => {\r\n const $generator = typia_1.default.createRandom.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"uuid\\\">\",\r\n kind: \"format\",\r\n value: \"uuid\",\r\n }\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n email: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"email\\\">\",\r\n kind: \"format\",\r\n value: \"email\",\r\n }\r\n ]) ?? (generator?.email ?? $generator.email)(),\r\n age: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"uint32\\\">\",\r\n kind: \"type\",\r\n value: \"uint32\",\r\n },\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19,\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100,\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(19, 100)\r\n });\r\n return $ro0();\r\n};\r\nexports.createRandomMember = createRandomMember;\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}","special-tags#Special Tags":"Runtime validators of typia provides additional type checking logic through Type Tags and Comment Tags. typia.random() function also like that. typia.random() function can utilize those tags to specialize the behavior of random data generation.For reference, whether you choose Type Tags or Comment Tags. typia.random(), it is not a matter for typia.random() function. Below two TypeScript codes are generating exactly same JavaScript code. Therefore, you can choose whatever you want considering your preference.\nimport typia, { tags } from \"typia\";\r\n\r\nconst data: TypeTag = typia.random();\r\n\r\nconsole.log(data);\r\n\r\ninterface TypeTag {\r\n type: number & tags.Type<\"int32\">;\r\n number?: number & tags.ExclusiveMinimum<19> & tags.Maximum<100>;\r\n string: string & tags.MinLength<3>;\r\n pattern: string & tags.Pattern<\"^[a-z]+$\">;\r\n format: (string & tags.Format<\"date-time\">) | null;\r\n}\nimport typia from \"typia\";\r\n\r\nconst data: CommentTag = typia.random();\r\n\r\nconsole.log(data);\r\n\r\ninterface CommentTag {\r\n /**\r\n * @type int\r\n */\r\n type: number;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n number?: number;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n string: string;\r\n\r\n /**\r\n * @pattern ^[a-z]+$\r\n */\r\n pattern: string;\r\n\r\n /**\r\n * @format date-time\r\n */\r\n format: string | null;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst data = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $pick = typia_1.default.random.pick;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n type: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"Type<\\\"int32\\\">\",\r\n kind: \"type\",\r\n value: \"int32\"\r\n }\r\n ]) ?? (generator?.integer ?? $generator.integer)(0, 100),\r\n number: $pick([\r\n () => undefined,\r\n () => (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"ExclusiveMinimum<19>\",\r\n kind: \"exclusiveMinimum\",\r\n value: 19\r\n },\r\n {\r\n name: \"Maximum<100>\",\r\n kind: \"maximum\",\r\n value: 100\r\n }\r\n ]) ?? (generator?.number ?? $generator.number)(19, 100)\r\n ])(),\r\n string: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"MinLength<3>\",\r\n kind: \"minLength\",\r\n value: 3\r\n }\r\n ]) ?? (generator?.string ?? $generator.string)((generator?.integer ?? $generator.integer)(3, 25)),\r\n pattern: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Pattern<\\\"^[a-z]+$\\\">\",\r\n kind: \"pattern\",\r\n value: \"^[a-z]+$\"\r\n }\r\n ]) ?? (generator?.pattern ?? $generator.pattern)(/^[a-z]+$/),\r\n format: $pick([\r\n () => null,\r\n () => (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"date-time\\\">\",\r\n kind: \"format\",\r\n value: \"date-time\"\r\n }\r\n ]) ?? (generator?.datetime ?? $generator.datetime)()\r\n ])()\r\n });\r\n return $ro0();\r\n})();\r\nconsole.log(data);","customization#Customization":"export function random(g?: IRandomGenerator): Resolved;\r\nexport function createRandom: (g?: IRandomGenerator) => Resolved;\nexport interface IRandomGenerator {\r\n boolean(): boolean;\r\n integer(minimum?: number, maximum?: number): number;\r\n number(minimum?: number, maximum?: number): number;\r\n bigint(minimum?: bigint, maximum?: bigint): bigint;\r\n string(length?: number): string;\r\n array(closure: (index: number) => T, count?: number): T[];\r\n\r\n uuid(): string;\r\n email(): string;\r\n url(): string;\r\n ipv4(): string;\r\n ipv6(): string;\r\n pattern(regex: RegExp): string;\r\n date(minimum?: number, maximum?: number): string;\r\n datetime(minimum?: number, maximum?: number): string;\r\n\r\n customs?: IRandomGenerator.CustomMap;\r\n}\r\nexport namespace IRandomGenerator {\r\n export type CustomMap = {\r\n [Type in keyof Customizable]?: \r\n (tags: ICommentTag[]) => Customizable[Type] | undefined;\r\n };\r\n\r\n export interface ICommentTag {\r\n name: string;\r\n value?: string;\r\n }\r\n}\nexport interface Customizable {\r\n number: number;\r\n string: string;\r\n bigint: bigint;\r\n}\n/**\r\n * Resolved type erased every methods.\r\n *\r\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\r\n * its argument as a resolved type that erased every method properties.\r\n *\r\n * If the target argument is a built-in class which returns its origin primitive type\r\n * through the `valueOf()` method like the `String` or `Number`, its return type would\r\n * be the `string` or `number`. Otherwise, the built-in class does not have the\r\n * `valueOf()` method, the return type would be same with the target argument.\r\n *\r\n * Otherwise, the target argument is a type of custom class, all of its custom methods\r\n * would be erased and its prototype would be changed to the primitive `object`.\r\n * Therefore, return type of the TMP type finally be the resolved object.\r\n *\r\n * Before | After\r\n * ------------------------|----------------------------------------\r\n * `Boolean` | `boolean`\r\n * `Number` | `number`\r\n * `BigInt` | `bigint`\r\n * `String` | `string`\r\n * `Class` | `interface`\r\n * Native Class or Others | No change\r\n *\r\n * @template Instance Target argument type.\r\n * @author Jeongho Nam - https://github.com/samchon\r\n * @author Kyungsu Kang - https://github.com/kakasoo\r\n */\r\nexport type Resolved = Equal> extends true\r\n ? T\r\n : ResolvedMain;\r\n\r\ntype Equal = X extends Y ? (Y extends X ? true : false) : false;\r\n\r\ntype ResolvedMain = Instance extends [never]\r\n ? never // (special trick for jsonable | null) type\r\n : ValueOf extends boolean | number | bigint | string\r\n ? ValueOf\r\n : Instance extends Function\r\n ? never\r\n : Instance extends object\r\n ? ResolvedObject\r\n : ValueOf;\r\n\r\ntype ResolvedObject = Instance extends Array\r\n ? IsTuple extends true\r\n ? ResolvedTuple\r\n : ResolvedMain[]\r\n : Instance extends Set\r\n ? Set>\r\n : Instance extends Map\r\n ? Map, ResolvedMain>\r\n : Instance extends WeakSet | WeakMap\r\n ? never\r\n : Instance extends\r\n | Date\r\n | Uint8Array\r\n | Uint8ClampedArray\r\n | Uint16Array\r\n | Uint32Array\r\n | BigUint64Array\r\n | Int8Array\r\n | Int16Array\r\n | Int32Array\r\n | BigInt64Array\r\n | Float32Array\r\n | Float64Array\r\n | ArrayBuffer\r\n | SharedArrayBuffer\r\n | DataView\r\n ? Instance\r\n : {\r\n [P in keyof Instance]: ResolvedMain;\r\n };\r\n\r\ntype ResolvedTuple = T extends []\r\n ? []\r\n : T extends [infer F]\r\n ? [ResolvedMain]\r\n : T extends [infer F, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain, ...ResolvedTuple]\r\n : T extends [(infer F)?]\r\n ? [ResolvedMain?]\r\n : T extends [(infer F)?, ...infer Rest extends readonly any[]]\r\n ? [ResolvedMain?, ...ResolvedTuple]\r\n : [];\r\n\r\ntype ValueOf = IsValueOf extends true\r\n ? boolean\r\n : IsValueOf extends true\r\n ? number\r\n : IsValueOf extends true\r\n ? string\r\n : Instance;\r\n\r\ntype IsTuple = [T] extends [\r\n never,\r\n]\r\n ? false\r\n : T extends readonly any[]\r\n ? number extends T[\"length\"]\r\n ? false\r\n : true\r\n : false;\r\n\r\ntype IsValueOf> = Instance extends Object\r\n ? Object extends IValueOf\r\n ? Instance extends Primitive\r\n ? false\r\n : true // not Primitive, but Object\r\n : false // cannot be\r\n : false;\r\n\r\ninterface IValueOf {\r\n valueOf(): T;\r\n}\nYou can add custom type tags for random data generation.As above IRandomGenerator.CustomMap has a little bit complicate type, it may hard to understand for newcomers. However, such newcomers may easily understand, how to customize the random generation, just by reading the following example.Just define custom type tags like below, then everything would be done.For reference, when defining custom type tag, typia enforces user to define validate function literal for type safety. Never forget it when you define custom type tags for random generation. Such validation logic definition may enhance your random data generator logic when combining with typia.assert() function.\nimport typia from \"typia\";\r\nimport { RandomGenerator } from \"typia/lib/utils/RandomGenerator\";\r\n\r\nconst data: TagCustom = typia.random({\r\n customs: {\r\n string: (tags) => {\r\n if (tags.find((t) => t.kind === \"dollar\") !== undefined)\r\n return \"$\" + RandomGenerator.integer();\r\n const postfix = tags.find((t) => t.kind === \"postfix\");\r\n if (postfix !== undefined)\r\n return RandomGenerator.string() + postfix.value;\r\n },\r\n },\r\n});\r\n\r\nconsole.log(data);\r\n\r\ninterface TagCustom {\r\n id: string & typia.tags.Format<\"uuid\">;\r\n dollar: string & Dolloar;\r\n postfix: string & Postfix<\"abcd\">;\r\n powerOf: number & PowerOf<2>;\r\n}\r\n\r\ntype Dolloar = typia.tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = typia.tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype PowerOf = typia.tags.TagBase<{\r\n kind: \"powerOf\";\r\n target: \"number\";\r\n value: Value;\r\n validate: `(() => {\r\n const denominator: number = Math.log(${Value});\r\n const value: number = Math.log($input) / denominator;\r\n return Math.abs(value - Math.round(value)) < 0.00000001;\r\n })()`;\r\n}>;\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst RandomGenerator_1 = require(\"typia/lib/utils/RandomGenerator\");\r\nconst data = (generator => {\r\n const $generator = typia_1.default.random.generator;\r\n const $ro0 = (_recursive = false, _depth = 0) => ({\r\n id: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Format<\\\"uuid\\\">\",\r\n kind: \"format\",\r\n value: \"uuid\"\r\n }\r\n ]) ?? (generator?.uuid ?? $generator.uuid)(),\r\n dollar: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Dolloar\",\r\n kind: \"dollar\"\r\n }\r\n ]) ?? (generator?.string ?? $generator.string)(),\r\n postfix: (generator?.customs ?? $generator.customs)?.string?.([\r\n {\r\n name: \"Postfix<\\\"abcd\\\">\",\r\n kind: \"postfix\",\r\n value: \"abcd\"\r\n }\r\n ]) ?? (generator?.string ?? $generator.string)(),\r\n powerOf: (generator?.customs ?? $generator.customs)?.number?.([\r\n {\r\n name: \"PowerOf<2>\",\r\n kind: \"powerOf\",\r\n value: 2\r\n }\r\n ]) ?? (generator?.number ?? $generator.number)(0, 100)\r\n });\r\n return $ro0();\r\n})({\r\n customs: {\r\n string: (tags) => {\r\n if (tags.find((t) => t.kind === \"dollar\") !== undefined)\r\n return \"$\" + RandomGenerator_1.RandomGenerator.integer();\r\n const postfix = tags.find((t) => t.kind === \"postfix\");\r\n if (postfix !== undefined)\r\n return RandomGenerator_1.RandomGenerator.string() + postfix.value;\r\n },\r\n },\r\n});\r\nconsole.log(data);"}},"/docs/setup":{"title":"Setup","data":{"summary#Summary":"npm install typia\r\nnpx typia setup\npnpm install typia\r\npnpm typia setup --manager pnpm\n# YARN BERRY IS NOT SUPPORTED\r\nyarn add typia\r\nyarn typia setup --manager yarn\nIf you're using standard TypeScript compiler, you can use transform mode.Just run npx typia setup command, then everything be prepared.\nStandard TypeScript Compiler: Microsoft/TypeScript\nnpm install typia\r\nnpm install --save-dev typescript\r\n\r\nnpx typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\npnpm install typia\r\npnpm install --save-dev typescript\r\n\r\npnpm typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\nyarn add typia\r\nyarn add -D typescript\r\n\r\nyarn typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\nOtherwise you are using non-standard TypeScript compiler, then you can't use transformation mode.Instead, you can use generation mode.Run typia generate command with input directory, then transformed TypeScript files would be generated into the output directory.\nNon-standard TypeScript Compilers\nSWC\nESBuild\nBabel","transformation#Transformation":"","concepts#Concepts":"AOT (Ahead of Time) compilation mode.When you write a TypeScript code calling typia.createIs() function and compile it through tsc command, typia will replace the typia.createIs() statement to optimal validation code in the compiled JavaScript file, for the IMember type.This is the transform mode performing AOT (Ahead of Time) compilation.\nimport typia from \"typia\";\r\n\r\nexport const check = typia.createIs();\r\n\r\ninterface IMember {\r\n /**\r\n * @format uuid\r\n */\r\n id: string;\r\n \r\n /**\r\n * @format email\r\n */\r\n email: string;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n age: number;\r\n}\nimport typia from \"typia\";\r\nexport const check = input => {\r\n const $is_uuid = typia.createIs.is_uuid;\r\n const $is_email = typia.createIs.is_email;\r\n return \"object\" === typeof input && \r\n null !== input && \r\n (\r\n \"string\" === typeof input.id && $is_uuid(input.id) && \r\n (\"string\" === typeof input.email && $is_email(input.email)) && \r\n (\"number\" === typeof input.age && 19 < input.age && 100 >= input.age)\r\n );\r\n};","setup-wizard#Setup Wizard":"npm install --save typia\r\nnpx typia setup\npnpm install --save typia\r\npnpm typia setup --manager pnpm\n# YARN BERRY IS NOT SUPPORTED\r\nyarn add typia\r\nyarn typia setup --manager yarn\nYou can turn on transformation mode just by running npx typia setup command.Setup wizard would be executed, and it will do everything for the transformation.","manual-setup#Manual Setup":"npm install --save typia\r\nnpm install --save-dev typescript ts-patch ts-node\npnpm install --save typia\r\npnpm install --save-dev typescript ts-patch ts-node\n# YARN BERRY IS NOT SUPPORTED\r\nyarn add typia\r\nyarn add -D typescript ts-patch ts-node\nIf you want to install typia manually, just follow the steps.At first, install typia as depepdency. And then, install typescript, ts-patch and ts-node as devDependencies.\n{\r\n \"strict\": true,\r\n \"strictNullChecks\": true,\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n { \"transform\": \"typia/lib/transform\" }\r\n ]\r\n }\r\n}\nAt second, open your tsconfig.json file and configure like above.As typia generates optimal operation code through transformation, you've to configure it as a plugin. Also, never forget to configure strict (or strictNullChecks) to be true. It is essential option for modern TypeScript development.\n{\r\n \"scripts\": {\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"dependencies\": {\r\n \"typia\": \"^4.1.8\"\r\n },\r\n \"devDependencies\": {\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.2\",\r\n \"typescript\": \"^5.1.6\"\r\n }\r\n}\nnpm run prepare\npnpm prepare\n# YARN BERRY IS NOT SUPPORTED\r\nyarn prepare\nAt last, open package.json file and configure npm run prepare command like above.Of course, you've to run the npm run prepare command after the configuration.For reference, ts-patch is an helper library of TypeScript compiler that supporting custom transformations by plugins. From now on, whenever you run tsc command, your typia function call statements would be transformed to the optimal operation codes in the compiled JavaScript files.\nnpx typia patch\nSince TypeScript v5.3 update, tsc no more parses JSDocComments. Therefore, typia also cannot utilize those JSDocComment related features too, especially \"Comment Tags\" and \"JSON schema generator\".The npx typia patch command has been developed to revive the JSDocComment parsing feature of tsc. It is temporary solution for the TypeScript v5.3 update instead of ts-patch, and will be disabled after ts-patch starts supporting such TypeScript v5.3 update.Of course, if you don't use any \"Comment Tags\" and \"JSON schema generator\", you don't need to run npx typia patch command. This is not mandatory command, but just optional command.","generation#Generation":"# INSTALL TYPIA\r\nnpm install --save typia\r\nnpm install --save-dev typescript\r\n\r\n# GENERATE TRANSFORMED TYPESCRIPT CODES\r\nnpx typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\n# INSTALL TYPIA\r\npnpm install --save typia\r\npnpm install --save-dev typescript\r\n\r\n# GENERATE TRANSFORMED TYPESCRIPT CODES\r\npnpm typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\n# INSTALL TYPIA\r\nyarn add typia\r\nyarn add -D typescript\r\n\r\n# GENERATE TRANSFORMED TYPESCRIPT CODES\r\nyarn typia generate \\\r\n --input src/templates \\\r\n --output src/generated \\\r\n --project tsconfig.json\nFor frontend projects.If you're using non-standard TypeScript compiler, you can't use transform mode\nNon-standard TypeScript compilers:\nSWC in Next.JS\nESBuild in Vite\nBabel in Create-React-App\nInstead, you should utilize the generation mode.Install typia through npm install command, and run typia generate command. Then, generator of typia reads your TypeScript codes of --input, and writes transformed TypeScript files into the --output directory, like below.If you want to specify other TypeScript project file instead of tsconfig.json, you can use --project option.\nimport typia from \"typia\";\r\n\r\nimport { IMember } from \"../structures/IMember\";\r\n\r\nexport const check = typia.createIs();\nimport typia from \"typia\";\r\nimport { IMember } from \"../structures/IMember\";\r\nexport const check = (input: any): input is IMember => {\r\n const $is_uuid = (typia.createIs as any).is_uuid;\r\n const $is_email = (typia.createIs as any).is_email;\r\n return \"object\" === typeof input && \r\n null !== input && \r\n (\r\n \"string\" === typeof input.id && is_uuid(input.id) && \r\n (\"string\" === typeof input.email && $is_email(input.email)) && \r\n (\"number\" === typeof input.age && 19 <= input.age && 100 >= input.age)\r\n );\r\n};\nWhy not support non-standard compilers?\nNon-standard TypeScript compilers are removing every type informations, and skipping type checkings for rapid compilation. By the way, without those type informations, typia can't do anything. This is the reason why typia doesn't support non-standard TypeScript compilers.By the way, SWC is preparing a new project STC keeping type informations. Therefore, typia will support it.","vite#Vite":"If you've made your frontend project through vite, you can still utilize the transformation mode.Just configure vite.config.ts file below, that's all.\nimport { defineConfig } from 'vite'\r\nimport react from '@vitejs/plugin-react'\r\nimport typescript from \"rollup-plugin-typescript2\";\r\n\r\n// https://vitejs.dev/config/\r\nexport default defineConfig({\r\n esbuild: false,\r\n plugins: [\r\n react(),\r\n typescript(),\r\n ],\r\n});\nBy the way, if you're composing monorepo, and need to import some external TypeScript files from the other package of the monorepo, you've to configure the vite.config.ts a little bit different. When declaring typescript plugin, you've to specify include and exclude options like below.\nimport { defineConfig } from 'vite'\r\nimport react from '@vitejs/plugin-react'\r\nimport typescript from \"rollup-plugin-typescript2\";\r\n\r\n// https://vitejs.dev/config/\r\nexport default defineConfig({\r\n esbuild: false,\r\n plugins: [\r\n react(),\r\n typescript({\r\n // WHEN MONOREPO\r\n include: [\r\n \"./**/*.ts+(|x)\",\r\n \"../../core/**/*.ts+(|x)\",\r\n \"../../util/**/*.ts+(|x)\",\r\n ],\r\n exclude: [\"../../node_modules\"],\r\n }),\r\n ],\r\n});","webpack#Webpack":"# TYPIA\r\nnpm install typia\r\nnpx typia setup\r\n\r\n# WEBPACK + TS-LOADER\r\nnpm install --save-dev ts-loader\r\nnpm install --save-dev webpack webpack-cli\n# TYPIA\r\npnpm install typia\r\npnpm typia setup --manager pnpm\r\n\r\n# WEBPACK + TS-LOADER\r\npnpm install --save-dev ts-loader\r\npnpm install --save-dev webpack webpack-cli\n##############################\r\n# YARN BERRY IS NOT SUPPORTED\r\n##############################\r\n# TYPIA\r\nyarn add typia\r\nyarn typia setup --manager yarn\r\n\r\n# WEBPACK + TS-LOADER\r\nyarn add -D ts-loader\r\nyarn add -D webpack webpack-cli\nWhen you're using webpack as a bundler, you can still utilize the transformation mode.Just install ts-loader as well as webpack, and configure webpack.config.js file like below, that's all.\nconst path = require(\"path\");\r\nconst nodeExternals = require('webpack-node-externals');\r\n \r\nmodule.exports = {\r\n // CUSTOMIZE HERE\r\n entry: ['./src/index.tsx'],\r\n output: {\r\n path: path.join(__dirname, 'dist'),\r\n filename: 'index.js',\r\n },\r\n optimization: {\r\n minimize: false\r\n },\r\n \r\n // JUST KEEP THEM\r\n mode: 'development',\r\n target: 'node',\r\n module: {\r\n rules: [\r\n {\r\n test: /\\.ts$/,\r\n exclude: /node_modules/,\r\n loader: 'ts-loader',\r\n }\r\n ]\r\n },\r\n resolve: {\r\n extensions: ['.tsx', '.ts', '.js'],\r\n },\r\n};"}},"/docs/utilization/trpc":{"title":"Trpc","data":{"":"import { initTRPC } from \"@trpc/server\";\r\nimport { v4 } from \"uuid\";\r\nimport typia from \"typia\";\r\n\r\nimport { IBbsArticle } from \"../structures/IBbsArticle\";\r\n\r\nconst server = initTRPC.create();\r\n\r\nexport const appRouter = server.router({\r\n store: server.procedure\r\n .input(typia.createAssert())\r\n .output(typia.createAssert())\r\n .query(({ input }) => {\r\n return {\r\n id: v4(),\r\n writer: input.writer,\r\n title: input.title,\r\n body: input.body,\r\n created_at: new Date().toString(),\r\n };\r\n })\r\n});\r\nexport type AppRouter = typeof appRouter;"}},"/docs/validators/is":{"title":"Is","data":{"is-function#is() function":"export function is(input: T): input is T;\r\nexport function is(input: unknown): input is T;\nTests a value type.When you need to test an instance type, just call typia.is() function.If the input value is following type T, true value would be returned. Otherwise, false would be returned.\nAOT compliation\nIf you'd used other competitive validator libraries like ajv or class-validator, you may found that typia does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files.\najv requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nYeah, typia needs only pure TypeScript type. As typia is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of typia, which needs only one line with pure TypeScript type.\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\nconst matched: boolean = typia.is({\r\n id: v4(),\r\n email: \"samchon.github@gmai19l.com\",\r\n age: 30,\r\n});\r\n\r\nconsole.log(matched); // true\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\nconst matched = ((input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n})({\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmai19l.com\",\r\n age: 30,\r\n});\r\nconsole.log(matched); // true","equals-function#equals() function":"export function equals(input: T): input is T;\r\nexport function equals(input: unknown): input is T;\nMore strict checker prohibiting superfluous properties.typia.is() can test instance type, but it allows superfluous properties.If you want to prohibit those superfluous properties, you can use typia.equals() function instead.\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\nconst input: unknown = {\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n extra: \"superfluous property\", // extra\r\n};\r\nconst is: boolean = typia.is(input);\r\nconst equals: boolean = typia.equals(input);\r\n\r\nconsole.log(is, equals); // true, false\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\nconst input = {\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n extra: \"superfluous property\", // extra\r\n};\r\nconst is = ((input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n})(input);\r\nconst equals = ((input, _exceptionable = true) => {\r\n const $io0 = (input, _exceptionable = true) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n (3 === Object.keys(input).length ||\r\n Object.keys(input).every((key) => {\r\n if ([\"id\", \"email\", \"age\"].some((prop) => key === prop))\r\n return true;\r\n const value = input[key];\r\n if (undefined === value) return true;\r\n return false;\r\n }));\r\n return \"object\" === typeof input && null !== input && $io0(input, true);\r\n})(input);\r\nconsole.log(is, equals); // true, false","reusable-functions#Reusable functions":"export function createIs(): (input: unknown) => input is T;\r\nexport function createEquals(): (input: unknown) => input is T;\nReusable typia.is() function generators.If you repeat to call typia.is() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createIs() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const check = typia.createIs();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.check = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst check = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n};\r\nexports.check = check;","auto-type-casting#Auto Type Casting":"export function is(input: unknown): input is T;\r\nexport function equals(input: unknown): input is T;\r\nexport function createIs(): (input: unknown) => input is T;\r\nexport function createEquals(): (input: unknown) => input is T;\ntypia.is() function can be used for type casting.When target input value is following the type T, therefore true value be returned, typia.is() function automatically casts the input value to the type T. Therefore, you can utilize the typia.is() function for safe type casting tool like below:\nconst input: unknown = {\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n} as any;\r\nif (typia.is(input)) // auto type casting\r\n console.log(input.id, input.email, input.age);","restrictions#Restrictions":"typia.is() function does not check function and user-defined class types.It validates only the primitive properties. Therefore, typia.is() function does not perform the instanceof ClassName for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, typia.is() function does not validate the function type either, unless configuring functional property of plugin option in the tsconfig.json file.\n{\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n {\r\n \"transform\": \"typia/lib/transform\",\r\n \"functional\": true\r\n }\r\n ]\r\n }\r\n}\nBy the way, there're some exception cases.If JS native class type like Date, Uint8Array, or Map being utilized, typia.is() function validates them. Especially about the Set, and Map class cases, typia.is() function validates all of their contained element types, too.Therefore, the instanceof statement does not be used only for the user-defined classes.\nimport typia from \"typia\";\r\n\r\ntypia.createIs>();\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n(input) => {\r\n return (\r\n input instanceof Map &&\r\n (() =>\r\n [...input].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"string\" === typeof elem[0] &&\r\n (\"string\" === typeof elem[1] ||\r\n \"number\" === typeof elem[1] ||\r\n \"boolean\" === typeof elem[1]),\r\n ))()\r\n );\r\n};","customization#Customization":"You can enhance validation logic by special tags.Also, with those tags, you can add your custom validation logic, too.If you want to know about such special tags detaily, read below article:\nSpecial Tags\nOutline\nType Tags\nComment Tags\nCustomization\nimport typia, { tags } from \"typia\";\r\n\r\nexport const checkSomething = typia.createIs();\r\n\r\n//----\r\n// DEFINE CUSTOM TYPE TAGS\r\n//----\r\ntype Dollar = tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype IsEven = tags.TagBase<{\r\n kind: \"isEven\";\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n value: undefined;\r\n validate: `$input % ${Numeric<2>} === ${Numeric<0>}`;\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\r\n\r\n//----\r\n// VALIDATION\r\n//----\r\ninterface Something {\r\n dollar: string & Dollar;\r\n postfix: string & Postfix<\"!!!\">;\r\n isEven: number & IsEven;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkSomething = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkSomething = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.dollar &&\r\n input.dollar[0] === \"$\" &&\r\n !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) &&\r\n \"string\" === typeof input.postfix &&\r\n input.postfix.endsWith(\"!!!\") &&\r\n \"number\" === typeof input.isEven &&\r\n input.isEven % 2 === 0\r\n );\r\n};\r\nexports.checkSomething = checkSomething;","performance#Performance":"Super-fast and super-safe.Comparing typia.is() function with other competitive libraries, maximum 20,000x faster.Furthermore, only typia can validate complicate union types.\nMeasured on Intel i5-1135g7, Surface Pro 8\nComponents\ttypia\tTypeBox\tajv\tio-ts\tzod\tC.V.\tEasy to use\t✅\t❌\t❌\t❌\t❌\t❌\tObject (simple)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (recursive)\t✔\t❌\t✔\t✔\t✔\t✔\t✔\tObject (union, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tObject (union, explicit)\t✔\t✔\t✔\t✔\t✔\t❌\tObject (additional tags)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (template literal types)\t✔\t✔\t✔\t❌\t❌\t❌\tObject (dynamic properties)\t✔\t✔\t✔\t❌\t❌\t❌\tArray (rest tuple)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tArray (recursive)\t✔\t✔\t✔\t✔\t✔\t❌\tArray (recursive, union)\t✔\t✔\t❌\t✔\t✔\t❌\tArray (R+U, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated, union)\t✅\t❌\t❌\t❌\t❌\t❌\tUltimate Union Type\t✅\t❌\t❌\t❌\t❌\t❌\t\nC.V. means class-validator"}},"/docs/validators/assert":{"title":"Assert","data":{"assert-function#assert() function":"export function assert(input: T): T;\r\nexport function assert(input: unknown): T;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nAsserts a value type.typia.assert() function throws a TypeGuardError when wrong type comes.The TypeGuardError instance has only the first type error info, with access path and expected type. In the below example case, as the age property is wrong with its definition (@exclusiveMinimum), such TypeGuardError would be thrown:\nmethod: typia.assert()\npath: input.age\nvalue: 18,\nexpected: number & ExclusiveMinimum<19>\nAOT compliation\nIf you'd used other competitive validator libraries like ajv or class-validator, you may found that typia does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files.\najv requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nYeah, typia needs only pure TypeScript type. As typia is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of typia, which needs only one line with pure TypeScript type.\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\ntypia.assert({\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 18, // wrong, must be greater than 19\r\n});\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\n((input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n})({\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 18, // wrong, must be greater than 19\r\n});","assertequals-function#assertEquals() function":"export function assertEquals(input: T): T;\r\nexport function assertEquals(input: unknown): T;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nMore strict assert function prohibiting superfluous properties.typia.assert() function inspects input value type and throws TypeGuardError when mismatched, however, it can't detect superfluous properties. If you want to prohibit those superfluous properties, therefore throws an TypeGuardError when superfluous property exists, use typia.assertEquals function instead.In the below example case, as sex property is not defined in the IMember type, such TypeGuardError would be thrown:\nmethod: typia.assertEquals()\npath: input.sex\nvalue: 1,\r\n expected: undefined\nimport typia, { tags } from \"typia\";\r\nimport { v4 } from \"uuid\";\r\n\r\ntypia.assert({\r\n id: v4(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n sex: 1, // extra\r\n});\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst uuid_1 = require(\"uuid\");\r\n((input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.assert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n})({\r\n id: (0, uuid_1.v4)(),\r\n email: \"samchon.github@gmail.com\",\r\n age: 30,\r\n sex: 1, // extra\r\n});","assertguard-functions#assertGuard() functions":"export function assertGurad(input: T): asserts inut is T;\r\nexport function assertGuard(input: unknown): asserts input is T;\r\n\r\nexport function assertGuardEquals(input: T): asserts inut is T;\r\nexport function assertGuardEquals(input: unknown): asserts input is T;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nAssertion guard of a value type.typia.assertGuard() is similar with typia.assert() throwing a TypeGuardError when wrong type.However, typia.assert() returns the paramteric input value itself when there's no type problem on the parametric input value, whereas the typia.assertGuard() function returns nothing. Instead, the parametric input value would be automatically cased to the type T. This is the concept of \"Assertion Guard\" of a value type.Such similarities and differences of typia.assertGuard() and typia.assert() functions are the same in the case of typia.assertGuardEquals() and typia.assertEquals() functions. If there's no type problem on the typia.assertGuardEquals() function, it also performs the \"Assertion Guard\".Look at the below code, then you may understand what the \"Assertion Guard\" means.\nimport typia from \"typia\";\r\n\r\ninterface IPoint {\r\n x: number;\r\n y: number;\r\n}\r\nconst input: unknown = { x: 1, y: 2 };\r\n\r\n// PERFORM THE ASSERTION GUARD\r\ntypia.assertGuard(input);\r\n\r\n// FROM NOW ON, \"input\" IS THE \"IPoint\" TYPE\r\ninput.x; // OK\r\ninput.y; // OK","reusable-functions#Reusable functions":"export function createAssert(): (input: unknown) => T;\r\nexport function createAssertEquals(): (input: unknown) => T;\r\n\r\nexport function createAssertGuard(): AssertionGuard;\r\nexport function createAssertGuardEquals(): AssertionGuard;\nexport class TypeGuardError extends Error {\r\n public readonly method: string;\r\n public readonly path: string | undefined;\r\n public readonly expected: string;\r\n public readonly value: any;\r\n}\nexport type AssertionGuard = (input: unknown) => asserts input is T;\nReusable typia.assert() function generators.If you repeat to call typia.assert() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createAssert() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const assertMember = typia.createAssert();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertMember = (input) => {\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.createAssert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) =>\r\n ((\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n })) &&\r\n ((\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n })) &&\r\n ((\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $guard(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }));\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $ao0(input, _path + \"\", true)) ||\r\n $guard(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n return input;\r\n};\r\nexports.assertMember = assertMember;\nExplicity of Assertion Guard\nBe careful when using typia.createAssertGuard() or typia.createAssertGuardEquals() functions.When calling those functions, you've to declare the variable type explicit on the caller variable. If you don't do it, so that the caller variables come the implicit function type, TypeScript compiler throws an error like below. This is a special limitation of TypeScript compiler about the \"Assertion Guard\".\nimport typia, { AssertionGuard } from \"typia\";\r\n\r\n//MUST DECLARE THE VARIABLE TYPE\r\nconst explicit: AssertionGuard = typia.createAssertGuard();\r\n\r\n// IF NOT, COMPILATION ERROR BE OCCURED\r\nconst implicit = typia.createAssertGuard();\nAssertions require every name in the call target to be declared with an explicit type annotation.","restrictions#Restrictions":"typia.assert() function does not check function and user-defined class types.It validates only the primitive properties. Therefore, typia.assert() function does not perform the instanceof ClassName for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, typia.assert() function does not validate the function type either, unless configuring functional property of plugin option in the tsconfig.json file.\n{\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n {\r\n \"transform\": \"typia/lib/transform\",\r\n \"functional\": true\r\n }\r\n ]\r\n }\r\n}\nBy the way, there're some exception cases.If JS native class type like Date, Uint8Array, or Map being utilized, typia.assert() function validates them. Especially about the Set, and Map class cases, typia.assert() function validates all of their contained element types, too.Therefore, the instanceof statement does not be used only for the user-defined classes.\nimport typia from \"typia\";\r\n\r\ntypia.createIs>();\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n(input) => {\r\n return (\r\n input instanceof Map &&\r\n (() =>\r\n [...input].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"string\" === typeof elem[0] &&\r\n (\"string\" === typeof elem[1] ||\r\n \"number\" === typeof elem[1] ||\r\n \"boolean\" === typeof elem[1]),\r\n ))()\r\n );\r\n};","customization#Customization":"You can enhance validation logic by special tags.Also, with those tags, you can add your custom validation logic, too.If you want to know about such special tags detaily, read below article:\nSpecial Tags\nOutline\nType Tags\nComment Tags\nCustomization\nimport typia, { tags } from \"typia\";\r\n\r\nexport const assertSomething = typia.createAssert();\r\n\r\n//----\r\n// DEFINE CUSTOM TYPE TAGS\r\n//----\r\ntype Dollar = tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype IsEven = tags.TagBase<{\r\n kind: \"isEven\";\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n value: undefined;\r\n validate: `$input % ${Numeric<2>} === ${Numeric<0>}`;\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\r\n\r\n//----\r\n// VALIDATION\r\n//----\r\ninterface Something {\r\n dollar: string & Dollar;\r\n postfix: string & Postfix<\"!!!\">;\r\n isEven: number & IsEven;\r\n}\n\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.assertSomething = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst assertSomething = input => {\r\n const __is = input => {\r\n return \"object\" === typeof input && null !== input && (\"string\" === typeof input.dollar && (input.dollar[0] === \"$\" && !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\")))) && (\"string\" === typeof input.postfix && input.postfix.endsWith(\"!!!\")) && (\"number\" === typeof input.isEven && input.isEven % 2 === 0));\r\n };\r\n if (false === __is(input))\r\n ((input, _path, _exceptionable = true) => {\r\n const $guard = typia_1.default.createAssert.guard;\r\n const $ao0 = (input, _path, _exceptionable = true) => (\"string\" === typeof input.dollar && (input.dollar[0] === \"$\" && !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) || $guard(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"string & Dollar\",\r\n value: input.dollar\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"(string & Dollar)\",\r\n value: input.dollar\r\n })) && (\"string\" === typeof input.postfix && (input.postfix.endsWith(\"!!!\") || $guard(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: \"string & Postfix<\\\"!!!\\\">\",\r\n value: input.postfix\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: \"(string & Postfix<\\\"!!!\\\">)\",\r\n value: input.postfix\r\n })) && (\"number\" === typeof input.isEven && (input.isEven % 2 === 0 || $guard(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"number & IsEven\",\r\n value: input.isEven\r\n })) || $guard(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"(number & IsEven)\",\r\n value: input.isEven\r\n }));\r\n return (\"object\" === typeof input && null !== input || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input\r\n })) && $ao0(input, _path + \"\", true) || $guard(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input\r\n });\r\n })(input, \"$input\", true);\r\n return input;\r\n};\r\nexports.assertSomething = assertSomething;","performance#Performance":"Super-fast and super-safe.Comparing typia.assert() function with other competitive libraries, maximum 20,000x faster.Furthermore, only typia can validate complicate union types.\nMeasured on Intel i5-1135g7, Surface Pro 8\nComponents\ttypia\tTypeBox\tajv\tio-ts\tzod\tC.V.\tEasy to use\t✅\t❌\t❌\t❌\t❌\t❌\tObject (simple)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (recursive)\t✔\t❌\t✔\t✔\t✔\t✔\t✔\tObject (union, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tObject (union, explicit)\t✔\t✔\t✔\t✔\t✔\t❌\tObject (additional tags)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (template literal types)\t✔\t✔\t✔\t❌\t❌\t❌\tObject (dynamic properties)\t✔\t✔\t✔\t❌\t❌\t❌\tArray (rest tuple)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tArray (recursive)\t✔\t✔\t✔\t✔\t✔\t❌\tArray (recursive, union)\t✔\t✔\t❌\t✔\t✔\t❌\tArray (R+U, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated, union)\t✅\t❌\t❌\t❌\t❌\t❌\tUltimate Union Type\t✅\t❌\t❌\t❌\t❌\t❌\t\nC.V. means class-validator"}},"/docs/validators/tags":{"title":"Tags","data":{"outline#Outline":"typia can perform additional validation through type tags and comment tags.When you need additional validation logic that is not supported in pure TypeScript type spec, you can use type tags and comment tags for it. For example, if you define a type with intersection symbol like number & typia.tags.Type<\"uint32\"> and validates it, typia will check the target numeric value is unsigned integer or not.Also, in TypeScript (and JavaScript), writing @ character in comment is called Comment Tag and typia utilizes such comment tags for enhancing type validation logic. As you can see from below example code, typia analyzes @tagName value patterned comment tags, and generates optimal validation logic in the compilation level.Therefore, don't be afraid typia uses only pure TypeScript types for type validation schema. Don't be afraid about TypeScript does not support integer type. With those type tags and comment tags, you can express every types in the world.\nQ: How to validate integer type? TypeScript does not support it\nA1: Use type tag number & typia.tags.Type<\"int32\">\nA2: Write a comment tag @type int32 on the target property\nQ: Type Tag vs Comment Tags, which one is better\nA1: Type Tag is recommended because it is much safer and generous\nA2: Comment Tag is designed for legacy JSDoc styled projects\nimport typia, { tags } from \"typia\";\r\n\r\nexport const checkCustomTag = typia.createIs();\r\n\r\ninterface CustomTag {\r\n /**\r\n * @type uint32\r\n */\r\n type: number;\r\n\r\n number?: number & tags.ExclusiveMinimum<19> & tags.Maximum<100>;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n string: string;\r\n\r\n pattern: string & tags.Pattern<\"^[a-z]+$\">;\r\n\r\n /**\r\n * Type tag can perform union type.\r\n * \r\n * In here case, format can be oneof `ipv4` or `ipv6` format.\r\n */\r\n format: (string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">)) | null;\r\n\r\n /**\r\n * In the Array case, only type tag can restrict element type.\r\n */\r\n array: Array> \r\n & tags.MinItems<3> \r\n & tags.MaxItems<100>;\r\n\r\n /**\r\n * Also, only type tag can handle map type.\r\n */\r\n map: Map<\r\n number & tags.Type<\"uint32\">, \r\n Array> & tags.MinItems<1>\r\n >;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkCustomTag = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkCustomTag = (input) => {\r\n const $io0 = (input) =>\r\n \"number\" === typeof input.type &&\r\n Math.floor(input.type) === input.type &&\r\n 0 <= input.type &&\r\n input.type <= 4294967295 &&\r\n (undefined === input.number ||\r\n (\"number\" === typeof input.number &&\r\n 19 < input.number &&\r\n input.number <= 100)) &&\r\n \"string\" === typeof input.string &&\r\n 3 <= input.string.length &&\r\n \"string\" === typeof input.pattern &&\r\n !isNaN(new Date(input.pattern).getTime()) &&\r\n (null === input.format ||\r\n (\"string\" === typeof input.format &&\r\n (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(\r\n input.format,\r\n ) ||\r\n !isNaN(new Date(input.format).getTime())))) &&\r\n Array.isArray(input.array) &&\r\n 3 <= input.array.length &&\r\n input.array.length <= 100 &&\r\n input.array.every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ) &&\r\n input.map instanceof Map &&\r\n (() =>\r\n [...input.map].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"number\" === typeof elem[0] &&\r\n Math.floor(elem[0]) === elem[0] &&\r\n 0 <= elem[0] &&\r\n elem[0] <= 4294967295 &&\r\n Array.isArray(elem[1]) &&\r\n 1 <= elem[1].length &&\r\n elem[1].every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ),\r\n ))();\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n};\r\nexports.checkCustomTag = checkCustomTag;","type-tags#Type Tags":"By using type tags, you can utilize additional validation logics.Just import one of type tags from typia, and combine it with target through intersection symbol like number & typia.tags.Type<\"uint32\"> case. If you want to declare an union validation logic, combine | and bracket (()) symbols properly like below:\nnumber & (Type<\"uint32\"> | Type<\"double\">)\nnumber type can be both uint32 and double\n(number & Type<\"int32\">) | (bigint & Type<\"uint64\">)\nnumber is int32\nbigint is uint64\n(number & (Type<\"int32\">)| Type<\"float\">) | (bigint & Type<\"uint64\">)\nnumber can be both int32 and float\nbigint is uint64\nHere is the entire list of type tags that typia basically supports.For reference, when you take a mistake that choosing different target type, TypeScript compiler would block it with compilation error message. Also, if you take a mistake that placing invalid argument on the type, it would also be blocked IDE and compiler. Therefore, have a confidence when using them.\nnumber\nnumber & Type<{keyword}>\nint32\nuint32\nuint64\nint64\nfloat\ndouble\nnumber & Minimum<{number}>\nnumber & Maximum<{number}>\nnumber & ExclusiveMaximum<{number}>\nnumber & ExclusiveMinimum<{number}>\nnumber & MultipleOf<{number}>\nbigint\nbigint & Type<{keyword}>\nint64\nuint64\nbigint & Minimum<{bigint}>\nbigint & Maximum<{bigint}>\nbigint & ExclusiveMaximum<{bigint}>\nbigint & ExclusiveMinimum<{bigint}>\nbigint & MultipleOf<{bigint}>\nstring\nstring & MinLength<{number}>\nstring & MaxLength<{number}>\nstring & Pattern<{regex}>\nstring & Format<{keyword}>\nemail\nuuid\nipv4\nipv6\nurl\ndate: YYYY-MM-DD\ndate-time: Date.toISOString()\nAlso, if you need custom validation logic, just make it by yourself referencing Customization section. It is easy to define. For such type safety and generous use case reasons even customization supporting, I recommend you to use type tags instead of comment tags, unless you are maintaining a legacy JSDoc styled project.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const checkCustomTag = typia.createIs();\r\n\r\ninterface CustomTag {\r\n type: number & tags.Type<\"uint32\">;\r\n\r\n number?: number & tags.ExclusiveMinimum<19> & tags.Maximum<100>;\r\n\r\n string: string & tags.MinLength<3>;\r\n\r\n pattern: string & tags.Pattern<\"^[a-z]+$\">;\r\n\r\n /**\r\n * Type tag can perform union type.\r\n * \r\n * In here case, format can be oneof `ipv4` or `ipv6` format.\r\n */\r\n format: (string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">)) | null;\r\n\r\n /**\r\n * In the Array case, only type tag can restrict element type.\r\n */\r\n array: Array> \r\n & tags.MinItems<3> \r\n & tags.MaxItems<100>;\r\n\r\n /**\r\n * Also, only type tag can handle map type.\r\n */\r\n map: Map<\r\n number & tags.Type<\"uint32\">, \r\n Array> & tags.MinItems<1>\r\n >;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkCustomTag = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkCustomTag = (input) => {\r\n const $io0 = (input) =>\r\n \"number\" === typeof input.type &&\r\n Math.floor(input.type) === input.type &&\r\n 0 <= input.type &&\r\n input.type <= 4294967295 &&\r\n (undefined === input.number ||\r\n (\"number\" === typeof input.number &&\r\n 19 < input.number &&\r\n input.number <= 100)) &&\r\n \"string\" === typeof input.string &&\r\n 3 <= input.string.length &&\r\n \"string\" === typeof input.pattern &&\r\n !isNaN(new Date(input.pattern).getTime()) &&\r\n (null === input.format ||\r\n (\"string\" === typeof input.format &&\r\n (/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(\r\n input.format,\r\n ) ||\r\n !isNaN(new Date(input.format).getTime())))) &&\r\n Array.isArray(input.array) &&\r\n 3 <= input.array.length &&\r\n input.array.length <= 100 &&\r\n input.array.every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ) &&\r\n input.map instanceof Map &&\r\n (() =>\r\n [...input.map].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"number\" === typeof elem[0] &&\r\n Math.floor(elem[0]) === elem[0] &&\r\n 0 <= elem[0] &&\r\n elem[0] <= 4294967295 &&\r\n Array.isArray(elem[1]) &&\r\n 1 <= elem[1].length &&\r\n elem[1].every(\r\n (elem) =>\r\n \"string\" === typeof elem &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n elem,\r\n ),\r\n ),\r\n ))();\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n};\r\nexports.checkCustomTag = checkCustomTag;","comment-tags#Comment Tags":"typia supports those comment tags, too.Here is the entire list of comment tags that typia supports.\nnumber\n@type {string}\nint / int32\nuint / uint32\nint64\nuint64\nfloat\n@minimum {number}\n@maximum {number}\n@exclusiveMinimum {number}\n@exclusiveMaximum {number}\n@multipleOf {number}\nbigint\n@type uint64\n@minimum {bigint}\n@maximum {bigint}\n@exclusiveMinimum {bigint}\n@exclusiveMaximum {bigint}\n@multipleOf {bigint}\nstring\n@minLength {number}\n@maxLength {number}\n@pattern {regex}\n@format {keyword}\nemail\nuuid\nipv4\nipv6\nurl\ndate: YYYY-MM-DD\ndate-time: Date.toISOString()\narray\n@minItems {number}\n@maxItems {number}\nBy the way, I do not recommend this way, because it can't perform union numeric types, and can be used for only object property type. It can't be used standalone, and cannot be used for element type of Array and Map even when they're declared on object property. Also, When you declare @type int32 statement, target number type be fixed as int32 type, and never can have another numeric type by declaring union statements.Also, those comment tags are not type safe. If you take a mistake when writing a comment tag, it will not be detected by the compiler, and will cause an error at runtime. For example, if you write a mis-spelled keyword like @type unit32, the target number type would be double type, and you can identify it just by running the program (or visiting playground website).\nWhy supports comment tags?\nDespite these disadvantages, the reason for maintaining comment tags is as follows.First, it is to support the legacy JSDoc style that had been used in the JS camp for a long time. If you had developed a legacy project and JSDoc being used, you can use it as is.Second, to support Prisma. If a comment is created in the Prisma Schema through the /// statement as shown below and a type is created, it is converted to a TS comment as it is. And since there is no way that union types, numeric Arrays or Maps are used in Prisma (database) schema, these comment tags are surprisingly compatible with Prisma.\nimport typia from \"typia\";\r\n\r\nexport const checkCustomTag = typia.createIs();\r\n\r\ninterface CustomTag {\r\n /**\r\n * @type uint32\r\n */\r\n type: number;\r\n\r\n /**\r\n * @exclusiveMinimum 19\r\n * @maximum 100\r\n */\r\n number?: number;\r\n\r\n /**\r\n * @minLength 3\r\n */\r\n string: string;\r\n\r\n /**\r\n * @Pattern /^[a-z]+$/\r\n */\r\n pattern: string;\r\n\r\n // NO WAY WHEN COMMENT TAG\r\n // /**\r\n // * Type tag can perform union type.\r\n // * \r\n // * In here case, format can be oneof `ipv4` or `ipv6` format.\r\n // */\r\n // format: (string & (tags.Format<\"ipv4\"> | tags.Format<\"ipv6\">)) | null;\r\n\r\n // NO WAY WHEN COMMENT TAG\r\n // /**\r\n // * In the Array case, only type tag can restrict element type.\r\n // */\r\n // array: Array> \r\n // & tags.MinItems<3> \r\n // & tags.MaxItems<100>;\r\n\r\n // NO WAY WHEN COMMENT TAG\r\n // /**\r\n // * Also, only type tag can handle map type.\r\n // */\r\n // map: Map<\r\n // number & tags.Type<\"uint32\">, \r\n // Array> & tags.MinItems<1>\r\n // >;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkCustomTag = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkCustomTag = (input) => {\r\n const $io0 = (input) =>\r\n \"number\" === typeof input.type &&\r\n Math.floor(input.type) === input.type &&\r\n 0 <= input.type &&\r\n input.type <= 4294967295 &&\r\n (undefined === input.number ||\r\n (\"number\" === typeof input.number &&\r\n 19 < input.number &&\r\n input.number <= 100)) &&\r\n \"string\" === typeof input.string &&\r\n 3 <= input.string.length &&\r\n \"string\" === typeof input.pattern;\r\n return \"object\" === typeof input && null !== input && $io0(input);\r\n};\r\nexports.checkCustomTag = checkCustomTag;","customization#Customization":"export type TagBase> = {\r\n /**\r\n * This is a dummy property for compilation.\r\n * \r\n * It does not mean anything in runtime.\r\n */\r\n \"typia.tag\"?: Props;\r\n};\r\nexport namespace TagBase {\r\n export interface IProps<\r\n Target extends \"bigint\" | \"number\" | \"string\" | \"array\",\r\n Kind extends string,\r\n Value extends boolean | bigint | number | string | undefined,\r\n Validate extends\r\n | string\r\n | {\r\n [key in Target]?: string;\r\n },\r\n Exclusive extends boolean | string[],\r\n > {\r\n /**\r\n * Target type.\r\n *\r\n * If user tries to adapt this tag to a different type, it would be a compile\r\n * error.\r\n *\r\n * For example, you've configured target type as `string`, but user adapted it\r\n * onto a `number` type (`number & YourCustomTag`), then it would be\r\n * blocked by TypeScript compiler.\r\n */\r\n target: Target;\r\n\r\n /**\r\n * What kind of tag is this?\r\n */\r\n kind: Kind;\r\n\r\n /**\r\n * Value to be configured by user.\r\n */\r\n value: Value;\r\n\r\n /**\r\n * Validation code.\r\n *\r\n * This code would be inserted into the generated validation function.\r\n * In here script, target variable name must be `$input`. The variable name\r\n * `$input` would be transformed to the suitable when compilation.\r\n *\r\n * Also, If you've take a mistake on this script, compile error would be\r\n * occured. So, define it with confidence. Compiler will block all your\r\n * mistakes.\r\n */\r\n validate: Validate;\r\n\r\n /**\r\n * Exclusive option.\r\n *\r\n * If this property configured as `true`, same {@link kind} tag cannot be\r\n * duplicated in the target type. Otherwise, if you've configured this property\r\n * as string array, all of the {@link kind} value assigned tag cannot be\r\n * compatible in the target type.\r\n * \r\n * @default false\r\n */\r\n exclusive?: Exclusive | string[];\r\n }\r\n}\nimport { TagBase } from \"./TagBase\";\r\n\r\nexport type Minimum = TagBase<{\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n kind: \"minimum\";\r\n value: Value;\r\n validate: `${Numeric} <= $input`;\r\n exclusive: [\"minimum\", \"exclusiveMinimum\"];\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\nimport { TagBase } from \"./TagBase\";\r\n\r\nexport type Type<\r\n Value extends \"int32\" | \"uint32\" | \"int64\" | \"uint64\" | \"float\" | \"double\",\r\n> = TagBase<{\r\n target: Value extends \"int64\" | \"uint64\" ? \"bigint\" | \"number\" : \"number\";\r\n kind: \"type\";\r\n value: Value;\r\n validate: Value extends \"int32\"\r\n ? `Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647`\r\n : Value extends \"uint32\"\r\n ? `Math.floor($input) === $input && 0 <= $input && $input <= 4294967295`\r\n : Value extends \"int64\"\r\n ? {\r\n number: `Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`;\r\n bigint: `true`;\r\n }\r\n : Value extends \"uint64\"\r\n ? {\r\n number: `Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`;\r\n bigint: `BigInt(0) <= $input`;\r\n }\r\n : Value extends \"float\"\r\n ? `-1.175494351e38 <= $input && $input <= 3.4028235e38`\r\n : `true`;\r\n exclusive: true;\r\n}>;\nimport { TagBase } from \"./TagBase\";\r\n\r\nexport type Pattern = TagBase<{\r\n target: \"string\";\r\n kind: \"pattern\";\r\n value: Value;\r\n validate: `/${Value}/.test($input)`;\r\n}>;\nAbove types are supported by typia basically.If you make a custom type tag extending typia.tags.TagBase type, and utilize it on your type with intersection symbol like number & Minimum<3>, its validation logic 3 <= $input would be inserted into the compiled JavaScript file.Also, as you can see from the typia.tags.TagBase type, you have to specify which target type is the tag for, and need to define the tag can be compatible with others or not through exclusive options. If your custom tag has multiple target types, you can support all of those target types by defining validate property as Record type like Type tag case.In the Korean proverb, there's a word that, \"it is much better to do it once than to hear it a hundred times\". Let's see how custom type tag of typia can be defined and utilized through an example code. I'll define three custom tag types, Postfix, Dollar and IsEven.Here is the example code, and I think that it may easy to understand.\nimport typia from \"typia\";\r\n\r\nexport const checkTagCustom = typia.createIs();\r\n \r\ninterface TagCustom {\r\n id: string & typia.tags.Format<\"uuid\">;\r\n dollar: string & Dolloar;\r\n postfix: string & Postfix<\"abcd\">;\r\n powerOf: number & PowerOf<2>;\r\n}\r\n \r\ntype Dolloar = typia.tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n \r\ntype Postfix = typia.tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n \r\ntype PowerOf = typia.tags.TagBase<{\r\n kind: \"powerOf\";\r\n target: \"number\";\r\n value: Value;\r\n validate: `(() => {\r\n const denominator: number = Math.log(${Value});\r\n const value: number = Math.log($input) / denominator;\r\n return Math.abs(value - Math.round(value)) < 0.00000001;\r\n })()`;\r\n}>;\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkTagCustom = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst checkTagCustom = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.dollar &&\r\n input.dollar[0] === \"$\" &&\r\n !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) &&\r\n \"string\" === typeof input.postfix &&\r\n input.postfix.endsWith(\"abcd\") &&\r\n \"number\" === typeof input.powerOf &&\r\n (() => {\r\n const denominator = Math.log(2);\r\n const value = Math.log(input.powerOf) / denominator;\r\n return Math.abs(value - Math.round(value)) < 1e-8;\r\n })()\r\n );\r\n};\r\nexports.checkTagCustom = checkTagCustom;"}},"/docs/validators/validate":{"title":"Validate","data":{"validate-function#validate() function":"export function validate(input: T): IValidation;\r\nexport function validate(input: unknown): IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nValidates a value type.typia.validate() function validates input value type, and archives every type errors detaily into IValidation.IFailure.errors array, when the input value is not following the promised type T. Of course, if the parametric input value is following the type T, IValidation.ISuccess instance would be returned.In the below example case, as id and age values are different with its definition of IMember, such errors would be archived into the IValidation.IFailure.errors array.\nerrors[0]\npath: input.id\nexpected: string & Format<\"uuid\">\nvalue: 5\nerrors[1]\npath: input.age\nexpected: number & Format<\"uint32\">\nvalue: 20.75\nAOT compliation\nIf you'd used other competitive validator libraries like ajv or class-validator, you may found that typia does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files.\najv requires JSON schema definition.\nclass-validator requires DTO class with decorator function calls.\nYeah, typia needs only pure TypeScript type. As typia is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of typia, which needs only one line with pure TypeScript type.\nimport typia from \"typia\";\r\n\r\nconst res: typia.IValidation = typia.validate({\r\n id: 5, // wrong, must be string (uuid)\r\n age: 20.75, // wrong, not integer\r\n email: \"samchon.github@gmail.com\",\r\n});\r\n\r\nif (!res.success) console.log(res.errors);\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst res = ((input) => {\r\n const errors = [];\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.validate.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n }),\r\n (\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n }),\r\n (\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n})({\r\n id: 5,\r\n age: 20.75,\r\n email: \"samchon.github@gmail.com\",\r\n});\r\nif (!res.success) console.log(res.errors);","validateequals-function#validateEquals() function":"export function validateEquals(input: T): IValidation;\r\nexport function validateEquals(input: unknown): IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nMore strict validatae function prohibiting superfluous properties.typia.validate function detects every type errors of input value, however, it can't detect superfluous properties. If you want to prohibit those superfluous properties, so that archive them into IValidation.IFailure.errors array, use typia.validateEquals() function instead.In the below example case, as id property is different with its type definition and sex property is not defined in the IMember type, such errors would be archived into the IValidation.IFailure.errors array:\nerrors[0]\npath: input.id\nexpected: string (@format uuid)\nvalue: something\nerrors[1]\npath: input.sex\nexpected: undefined\nvalue: 1\nimport typia, { tags } from \"typia\";\r\n\r\nconst res: typia.IValidation = typia.validateEquals({\r\n age: 30,\r\n email: \"samchon.github@gmail.com\",\r\n id: \"something\", // wrong, must be string (uuid)\r\n sex: 1, // extra property\r\n});\r\n\r\nif (!res.success) console.log(res.errors);\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst res = ((input) => {\r\n const errors = [];\r\n const __is = (input, _exceptionable = true) => {\r\n const $io0 = (input, _exceptionable = true) =>\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100 &&\r\n (3 === Object.keys(input).length ||\r\n Object.keys(input).every((key) => {\r\n if ([\"id\", \"email\", \"age\"].some((prop) => key === prop))\r\n return true;\r\n const value = input[key];\r\n if (undefined === value) return true;\r\n return false;\r\n }));\r\n return \"object\" === typeof input && null !== input && $io0(input, true);\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.validateEquals.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $join = typia_1.default.validateEquals.join;\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n }),\r\n (\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n }),\r\n (\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }),\r\n 3 === Object.keys(input).length ||\r\n false === _exceptionable ||\r\n Object.keys(input)\r\n .map((key) => {\r\n if (\r\n [\"id\", \"email\", \"age\"].some(\r\n (prop) => key === prop,\r\n )\r\n )\r\n return true;\r\n const value = input[key];\r\n if (undefined === value) return true;\r\n return $report(_exceptionable, {\r\n path: _path + $join(key),\r\n expected: \"undefined\",\r\n value: value,\r\n });\r\n })\r\n .every((flag) => flag),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n})({\r\n age: 30,\r\n email: \"samchon.github@gmail.com\",\r\n id: \"something\",\r\n sex: 1, // extra property\r\n});\r\nif (!res.success) console.log(res.errors);","reusable-functions#Reusable functions":"export function createValidate = (input: unknown) => IValidation;\r\nexport function createValidateEquals = (input: unknown) => IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nReusable typia.validate() function generators.If you repeat to call typia.validate() function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through typia.createValidate() function.Just look at the code below, then you may understand how to use it.\nimport typia, { tags } from \"typia\";\r\n\r\nexport const validateMember = typia.createValidate();\r\n\r\ninterface IMember {\r\n id: string & tags.Format<\"uuid\">;\r\n email: string & tags.Format<\"email\">;\r\n age: number \r\n & tags.Type<\"uint32\"> \r\n & tags.ExclusiveMinimum<19> \r\n & tags.Maximum<100>;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.validateMember = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst validateMember = (input) => {\r\n const errors = [];\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.id &&\r\n /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) &&\r\n \"string\" === typeof input.email &&\r\n /^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) &&\r\n \"number\" === typeof input.age &&\r\n Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295 &&\r\n 19 < input.age &&\r\n input.age <= 100\r\n );\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.createValidate.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.id &&\r\n (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test(\r\n input.id,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: 'string & Format<\"uuid\">',\r\n value: input.id,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".id\",\r\n expected: '(string & Format<\"uuid\">)',\r\n value: input.id,\r\n }),\r\n (\"string\" === typeof input.email &&\r\n (/^(([^<>()[].,;:s@\"]+(.[^<>()[].,;:s@\"]+)*)|(\".+\"))@(([^<>()[].,;:s@\"]+.)+[^<>()[].,;:s@\"]{2,})$/i.test(\r\n input.email,\r\n ) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: 'string & Format<\"email\">',\r\n value: input.email,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".email\",\r\n expected: '(string & Format<\"email\">)',\r\n value: input.email,\r\n }),\r\n (\"number\" === typeof input.age &&\r\n ((Math.floor(input.age) === input.age &&\r\n 0 <= input.age &&\r\n input.age <= 4294967295) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: 'number & Type<\"uint32\">',\r\n value: input.age,\r\n })) &&\r\n (19 < input.age ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & ExclusiveMinimum<19>\",\r\n value: input.age,\r\n })) &&\r\n (input.age <= 100 ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected: \"number & Maximum<100>\",\r\n value: input.age,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".age\",\r\n expected:\r\n '(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)',\r\n value: input.age,\r\n }),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"IMember\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n};\r\nexports.validateMember = validateMember;","restrictions#Restrictions":"typia.validate() function does not check function and user-defined class types.It validates only the primitive properties. Therefore, typia.validate() function does not perform the instanceof ClassName for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, typia.validate() function does not validate the function type either, unless configuring functional property of plugin option in the tsconfig.json file.\n{\r\n \"compilerOptions\": {\r\n \"plugins\": [\r\n {\r\n \"transform\": \"typia/lib/transform\",\r\n \"functional\": true\r\n }\r\n ]\r\n }\r\n}\nBy the way, there're some exception cases.If JS native class type like Date, Uint8Array, or Map being utilized, typia.validate() function validates them. Especially about the Set, and Map class cases, typia.validate() function validates all of their contained element types, too.Therefore, the instanceof statement does not be used only for the user-defined classes.\nimport typia from \"typia\";\r\n\r\ntypia.createIs>();\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\n(input) => {\r\n return (\r\n input instanceof Map &&\r\n (() =>\r\n [...input].every(\r\n (elem) =>\r\n Array.isArray(elem) &&\r\n elem.length === 2 &&\r\n \"string\" === typeof elem[0] &&\r\n (\"string\" === typeof elem[1] ||\r\n \"number\" === typeof elem[1] ||\r\n \"boolean\" === typeof elem[1]),\r\n ))()\r\n );\r\n};","discriminated-union#Discriminated Union":"export function validate(input: T): IValidation;\r\nexport function validate(input: unknown): IValidation;\r\nexport function createValidate(): (input: unknown) => IValidation;\nexport type IValidation =\r\n | IValidation.ISuccess\r\n | IValidation.IFailure;\r\nexport namespace IValidation {\r\n export interface ISuccess {\r\n success: true;\r\n data: T;\r\n }\r\n export interface IFailure {\r\n success: false;\r\n errors: IError[];\r\n }\r\n export interface IError {\r\n path: string;\r\n expected: string;\r\n value: any;\r\n }\r\n}\nSpecify type through if condition.typia.IValidation is an union type of typia.IValidation.ISuccess and typia.IValidation.IFailure. Also, they have a common property success of boolean type, but different literal values. In that case, if you write a if condition about the success property, you can specify the union type like below.In TypeScript, such union type specification through common property (of different literal value() is called \"Discriminated Union\". Therefore, when using typia.validate() function, let's utilize such discriminated union specification for convenience.\nimport typia from \"typia\";\r\n\r\nconst something: unknown = ...;\r\nconst result: typia.IValidation = typia.validate(something);\r\n\r\nif (results.success) {\r\n // become typia.IValidation.Success type\r\n result.data; // accessible\r\n}\r\nelse {\r\n // become typia.IValidation.Failure type\r\n result.errors; //accessible\r\n}","customization#Customization":"You can enhance validation logic by special tags.Also, with those tags, you can add your custom validation logic, too.If you want to know about such special tags detaily, read below article:\nSpecial Tags\nOutline\nType Tags\nComment Tags\nCustomization\nimport typia, { tags } from \"typia\";\r\n\r\nexport const validateSomething = typia.createValidate();\r\n\r\n//----\r\n// DEFINE CUSTOM TYPE TAGS\r\n//----\r\ntype Dollar = tags.TagBase<{\r\n kind: \"dollar\";\r\n target: \"string\";\r\n value: undefined;\r\n validate: `$input[0] === \"$\" && !isNaN(Number($input.substring(1).split(\",\").join(\"\")))`;\r\n}>;\r\n\r\ntype Postfix = tags.TagBase<{\r\n kind: \"postfix\";\r\n target: \"string\";\r\n value: Value;\r\n validate: `$input.endsWith(\"${Value}\")`;\r\n}>;\r\n\r\ntype IsEven = tags.TagBase<{\r\n kind: \"isEven\";\r\n target: Value extends number ? \"number\" : \"bigint\";\r\n value: undefined;\r\n validate: `$input % ${Numeric<2>} === ${Numeric<0>}`;\r\n}>;\r\n\r\ntype Numeric = Value extends number\r\n ? Value\r\n : `BigInt(${Value})`;\r\n\r\n//----\r\n// VALIDATION\r\n//----\r\ninterface Something {\r\n dollar: string & Dollar;\r\n postfix: string & Postfix<\"!!!\">;\r\n isEven: number & IsEven;\r\n}\n\"use strict\";\r\nvar __importDefault =\r\n (this && this.__importDefault) ||\r\n function (mod) {\r\n return mod && mod.__esModule ? mod : { default: mod };\r\n };\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.validateSomething = void 0;\r\nconst typia_1 = __importDefault(require(\"typia\"));\r\nconst validateSomething = (input) => {\r\n const errors = [];\r\n const __is = (input) => {\r\n return (\r\n \"object\" === typeof input &&\r\n null !== input &&\r\n \"string\" === typeof input.dollar &&\r\n input.dollar[0] === \"$\" &&\r\n !isNaN(Number(input.dollar.substring(1).split(\",\").join(\"\"))) &&\r\n \"string\" === typeof input.postfix &&\r\n input.postfix.endsWith(\"!!!\") &&\r\n \"number\" === typeof input.isEven &&\r\n input.isEven % 2 === 0\r\n );\r\n };\r\n if (false === __is(input)) {\r\n const $report = typia_1.default.createValidate.report(errors);\r\n ((input, _path, _exceptionable = true) => {\r\n const $vo0 = (input, _path, _exceptionable = true) =>\r\n [\r\n (\"string\" === typeof input.dollar &&\r\n ((input.dollar[0] === \"$\" &&\r\n !isNaN(\r\n Number(\r\n input.dollar\r\n .substring(1)\r\n .split(\",\")\r\n .join(\"\"),\r\n ),\r\n )) ||\r\n $report(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"string & Dollar\",\r\n value: input.dollar,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".dollar\",\r\n expected: \"(string & Dollar)\",\r\n value: input.dollar,\r\n }),\r\n (\"string\" === typeof input.postfix &&\r\n (input.postfix.endsWith(\"!!!\") ||\r\n $report(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: 'string & Postfix<\"!!!\">',\r\n value: input.postfix,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".postfix\",\r\n expected: '(string & Postfix<\"!!!\">)',\r\n value: input.postfix,\r\n }),\r\n (\"number\" === typeof input.isEven &&\r\n (input.isEven % 2 === 0 ||\r\n $report(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"number & IsEven\",\r\n value: input.isEven,\r\n }))) ||\r\n $report(_exceptionable, {\r\n path: _path + \".isEven\",\r\n expected: \"(number & IsEven)\",\r\n value: input.isEven,\r\n }),\r\n ].every((flag) => flag);\r\n return (\r\n (((\"object\" === typeof input && null !== input) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input,\r\n })) &&\r\n $vo0(input, _path + \"\", true)) ||\r\n $report(true, {\r\n path: _path + \"\",\r\n expected: \"Something\",\r\n value: input,\r\n })\r\n );\r\n })(input, \"$input\", true);\r\n }\r\n const success = 0 === errors.length;\r\n return {\r\n success,\r\n errors,\r\n data: success ? input : undefined,\r\n };\r\n};\r\nexports.validateSomething = validateSomething;","performance#Performance":"Super-fast and super-safe.Comparing typia.validate() function with other competitive libraries, maximum 20,000x faster.Furthermore, only typia can validate complicate union types.\nMeasured on Intel i5-1135g7, Surface Pro 8\nComponents\ttypia\tTypeBox\tajv\tio-ts\tzod\tC.V.\tEasy to use\t✅\t❌\t❌\t❌\t❌\t❌\tObject (simple)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (recursive)\t✔\t❌\t✔\t✔\t✔\t✔\t✔\tObject (union, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tObject (union, explicit)\t✔\t✔\t✔\t✔\t✔\t❌\tObject (additional tags)\t✔\t✔\t✔\t✔\t✔\t✔\tObject (template literal types)\t✔\t✔\t✔\t❌\t❌\t❌\tObject (dynamic properties)\t✔\t✔\t✔\t❌\t❌\t❌\tArray (rest tuple)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (hierarchical)\t✔\t✔\t✔\t✔\t✔\t✔\tArray (recursive)\t✔\t✔\t✔\t✔\t✔\t❌\tArray (recursive, union)\t✔\t✔\t❌\t✔\t✔\t❌\tArray (R+U, implicit)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated)\t✅\t❌\t❌\t❌\t❌\t❌\tArray (repeated, union)\t✅\t❌\t❌\t❌\t❌\t❌\tUltimate Union Type\t✅\t❌\t❌\t❌\t❌\t❌\t\nC.V. means class-validator"}}} \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/validators/tags-646316c641c7fe60.js b/_next/static/chunks/pages/docs/validators/tags-7df6597f5bacf241.js similarity index 69% rename from _next/static/chunks/pages/docs/validators/tags-646316c641c7fe60.js rename to _next/static/chunks/pages/docs/validators/tags-7df6597f5bacf241.js index 1df9fd6ea3..7abfc8a06e 100644 --- a/_next/static/chunks/pages/docs/validators/tags-646316c641c7fe60.js +++ b/_next/static/chunks/pages/docs/validators/tags-7df6597f5bacf241.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[793],{4215:function(s,e,r){"use strict";r.d(e,{Z:function(){return N}});var n=r(87462),o=r(63366),l=r(67294),i=r(90512),t=r(94780),c=r(90948),a=r(71657),h=r(39707),x=r(98216),d=r(1588),k=r(27621);function getTypographyUtilityClass(s){return(0,k.Z)("MuiTypography",s)}(0,d.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var p=r(85893);let y=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],useUtilityClasses=s=>{let{align:e,gutterBottom:r,noWrap:n,paragraph:o,variant:l,classes:i}=s,c={root:["root",l,"inherit"!==s.align&&`align${(0,x.Z)(e)}`,r&&"gutterBottom",n&&"noWrap",o&&"paragraph"]};return(0,t.Z)(c,getTypographyUtilityClass,i)},j=(0,c.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:(s,e)=>{let{ownerState:r}=s;return[e.root,r.variant&&e[r.variant],"inherit"!==r.align&&e[`align${(0,x.Z)(r.align)}`],r.noWrap&&e.noWrap,r.gutterBottom&&e.gutterBottom,r.paragraph&&e.paragraph]}})(({theme:s,ownerState:e})=>(0,n.Z)({margin:0},"inherit"===e.variant&&{font:"inherit"},"inherit"!==e.variant&&s.typography[e.variant],"inherit"!==e.align&&{textAlign:e.align},e.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},e.gutterBottom&&{marginBottom:"0.35em"},e.paragraph&&{marginBottom:16})),v={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},m={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},transformDeprecatedColors=s=>m[s]||s,u=l.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiTypography"}),l=transformDeprecatedColors(r.color),t=(0,h.Z)((0,n.Z)({},r,{color:l})),{align:c="inherit",className:x,component:d,gutterBottom:k=!1,noWrap:m=!1,paragraph:u=!1,variant:g="body1",variantMapping:w=v}=t,f=(0,o.Z)(t,y),N=(0,n.Z)({},t,{align:c,color:l,className:x,component:d,gutterBottom:k,noWrap:m,paragraph:u,variant:g,variantMapping:w}),b=d||(u?"p":w[g]||v[g])||"span",T=useUtilityClasses(N);return(0,p.jsx)(j,(0,n.Z)({as:b,ref:e,ownerState:N,className:(0,i.Z)(T.root,x)},f))});function getAlertTitleUtilityClass(s){return(0,k.Z)("MuiAlertTitle",s)}(0,d.Z)("MuiAlertTitle",["root"]);let g=["className"],AlertTitle_useUtilityClasses=s=>{let{classes:e}=s;return(0,t.Z)({root:["root"]},getAlertTitleUtilityClass,e)},w=(0,c.ZP)(u,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(s,e)=>e.root})(({theme:s})=>({fontWeight:s.typography.fontWeightMedium,marginTop:-2})),f=l.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiAlertTitle"}),{className:l}=r,t=(0,o.Z)(r,g),c=AlertTitle_useUtilityClasses(r);return(0,p.jsx)(w,(0,n.Z)({gutterBottom:!0,component:"div",ownerState:r,ref:e,className:(0,i.Z)(c.root,l)},t))});var N=f},64668:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/validators/tags",function(){return r(55848)}])},55848:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return x}});var n=r(85893),o=r(92673),l=r(8441),i=r(68426);r(29128);var t=r(82643),c=r(39013),a=r(40843),h=r(4215);let x=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Type Tags",id:"type-tags"},{depth:2,value:"Comment Tags",id:"comment-tags"},{depth:2,value:"Customization",id:"customization"}];function _createMdxContent(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",ul:"ul",li:"li",pre:"pre",span:"span",strong:"strong"},(0,t.a)(),s.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.code,{children:"typia"})," can perform additional validation through ",(0,n.jsx)(e.a,{href:"#type-tags",children:"type tags"})," and ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"}),"."]}),"\n",(0,n.jsxs)(e.p,{children:["When you need additional validation logic that is not supported in pure TypeScript type spec, you can use ",(0,n.jsx)(e.a,{href:"#type-tags",children:"type tags"})," and ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"})," for it. For example, if you define a type with intersection symbol like ",(0,n.jsx)(e.code,{children:'number & typia.tags.Type<"uint32">'})," and validates it, ",(0,n.jsx)(e.code,{children:"typia"})," will check the target numeric value is unsigned integer or not."]}),"\n",(0,n.jsxs)(e.p,{children:["Also, in TypeScript (and JavaScript), writing ",(0,n.jsx)(e.code,{children:"@"})," character in comment is called ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"Comment Tag"})," and ",(0,n.jsx)(e.code,{children:"typia"})," utilizes such comment tags for enhancing type validation logic. As you can see from below example code, ",(0,n.jsx)(e.code,{children:"typia"})," analyzes ",(0,n.jsx)(e.code,{children:"@tagName value"})," patterned comment tags, and generates optimal validation logic in the compilation level."]}),"\n",(0,n.jsxs)(e.p,{children:["Therefore, don't be afraid ",(0,n.jsx)(e.code,{children:"typia"})," uses only pure TypeScript types for type validation schema. Don't be afraid about TypeScript does not support ",(0,n.jsx)(e.code,{children:"integer"})," type. With those ",(0,n.jsx)(e.a,{href:"#type-tags",children:"type tags"})," and ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"}),", you can express every types in the world."]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["Q: How to validate integer type? TypeScript does not support it","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["A1: Use type tag ",(0,n.jsx)(e.code,{children:'number & typia.tags.Type<"int32">'})]}),"\n",(0,n.jsxs)(e.li,{children:["A2: Write a comment tag ",(0,n.jsx)(e.code,{children:"@type int32"})," on the target property"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["Q: Type Tag vs Comment Tags, which one is better","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"A1: Type Tag is recommended because it is much safer and generous"}),"\n",(0,n.jsx)(e.li,{children:"A2: Comment Tag is designed for legacy JSDoc styled projects"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line highlighted",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" uint32"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@minLength"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 3"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"^[a-z]+$"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Type tag can perform union type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In here case, format can be oneof `ipv4` or `ipv6` format."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv4"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv6"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">)) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In the Array case, only type tag can restrict element type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MaxItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Also, only type tag can handle map type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".string "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())))) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".array) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"instanceof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ))();"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input);"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkCustomTag;"})]})]})})})]}),"\n",(0,n.jsx)(e.h2,{id:"type-tags",children:"Type Tags"}),"\n",(0,n.jsx)(e.p,{children:"By using type tags, you can utilize additional validation logics."}),"\n",(0,n.jsxs)(e.p,{children:["Just import one of type tags from ",(0,n.jsx)(e.code,{children:"typia"}),", and combine it with target through intersection symbol like ",(0,n.jsx)(e.code,{children:'number & typia.tags.Type<"uint32">'})," case. If you want to declare an union validation logic, combine ",(0,n.jsx)(e.code,{children:"|"})," and bracket (",(0,n.jsx)(e.code,{children:"()"}),") symbols properly like below:"]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:'number & (Type<"uint32"> | Type<"double">)'}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number"})," type can be both ",(0,n.jsx)(e.code,{children:"uint32"})," and ",(0,n.jsx)(e.code,{children:"double"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:'(number & Type<"int32">) | (bigint & Type<"uint64">)'}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number"})," is ",(0,n.jsx)(e.code,{children:"int32"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"bigint"})," is ",(0,n.jsx)(e.code,{children:"uint64"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:'(number & (Type<"int32">)| Type<"float">) | (bigint & Type<"uint64">)'}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number"})," can be both ",(0,n.jsx)(e.code,{children:"int32"})," and ",(0,n.jsx)(e.code,{children:"float"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"bigint"})," is ",(0,n.jsx)(e.code,{children:"uint64"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["Here is the entire list of type tags that ",(0,n.jsx)(e.code,{children:"typia"})," basically supports."]}),"\n",(0,n.jsx)(e.p,{children:"For reference, when you take a mistake that choosing different target type, TypeScript compiler would block it with compilation error message. Also, if you take a mistake that placing invalid argument on the type, it would also be blocked IDE and compiler. Therefore, have a confidence when using them."}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["number","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number & Type<{keyword}>"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int32"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint32"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"float"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"double"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & Minimum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & Maximum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & ExclusiveMaximum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & ExclusiveMinimum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & MultipleOf<{number}>"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:"bigint"}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"bigint & Type<{keyword}>"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint64"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & Minimum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & Maximum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & ExclusiveMaximum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & ExclusiveMinimum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & MultipleOf<{bigint}>"})}),"\n",(0,n.jsxs)(e.li,{children:["string","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"string & MinLength<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"string & MaxLength<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"string & Pattern<{regex}>"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"string & Format<{keyword}>"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"email"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uuid"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv4"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv6"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"url"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date"}),": YYYY-MM-DD"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date-time"}),": ",(0,n.jsx)(e.code,{children:"Date.toISOString()"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["Also, if you need custom validation logic, just make it by yourself referencing ",(0,n.jsx)(e.a,{href:"#customzation",children:"Customization"})," section. It is easy to define. For such type safety and generous use case reasons even customization supporting, I recommend you to use type tags instead of ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"}),", unless you are maintaining a legacy JSDoc styled project."]}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line highlighted",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinLength"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"^[a-z]+$"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Type tag can perform union type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In here case, format can be oneof `ipv4` or `ipv6` format."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv4"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv6"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">)) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In the Array case, only type tag can restrict element type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MaxItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Also, only type tag can handle map type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".string "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())))) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".array) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"instanceof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ))();"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input);"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkCustomTag;"})]})]})})})]}),"\n",(0,n.jsx)(e.h2,{id:"comment-tags",children:"Comment Tags"}),"\n",(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.code,{children:"typia"})," supports those comment tags, too."]}),"\n",(0,n.jsxs)(e.p,{children:["Here is the entire list of comment tags that ",(0,n.jsx)(e.code,{children:"typia"})," supports."]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["number","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"@type {string}"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"int"})," / ",(0,n.jsx)(e.code,{children:"int32"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"uint"})," / ",(0,n.jsx)(e.code,{children:"uint32"})]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"float"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minimum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maximum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMinimum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMaximum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@multipleOf {number}"})}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["bigint","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@type uint64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minimum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maximum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMinimum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMaximum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@multipleOf {bigint}"})}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["string","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minLength {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maxLength {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@pattern {regex}"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"@format {keyword}"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"email"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uuid"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv4"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv6"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"url"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date"}),": YYYY-MM-DD"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date-time"}),": ",(0,n.jsx)(e.code,{children:"Date.toISOString()"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["array","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minItems {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maxItems {number}"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["By the way, I do not recommend this way, because it can't perform union numeric types, and can be used for only object property type. It can't be used standalone, and cannot be used for element type of ",(0,n.jsx)(e.code,{children:"Array"})," and ",(0,n.jsx)(e.code,{children:"Map"})," even when they're declared on object property. Also, When you declare ",(0,n.jsx)(e.code,{children:"@type int32"})," statement, target ",(0,n.jsx)(e.code,{children:"number"})," type be fixed as ",(0,n.jsx)(e.code,{children:"int32"})," type, and never can have another numeric type by declaring union statements."]}),"\n",(0,n.jsxs)(e.p,{children:["Also, those comment tags are not type safe. If you take a mistake when writing a comment tag, it will not be detected by the compiler, and will cause an error at runtime. For example, if you write a mis-spelled keyword like ",(0,n.jsx)(e.code,{children:"@type unit32"}),", the target ",(0,n.jsx)(e.code,{children:"number"})," type would be ",(0,n.jsx)(e.code,{children:"double"})," type, and you can identify it just by running the program (or visiting playground website)."]}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsxs)(a.Z,{severity:"warning",children:[(0,n.jsx)(h.Z,{children:(0,n.jsx)(e.p,{children:(0,n.jsx)(e.strong,{children:"Why supports comment tags?"})})}),(0,n.jsx)(e.p,{children:"Despite these disadvantages, the reason for maintaining comment tags is as follows."}),(0,n.jsx)(e.p,{children:"First, it is to support the legacy JSDoc style that had been used in the JS camp for a long time. If you had developed a legacy project and JSDoc being used, you can use it as is."}),(0,n.jsxs)(e.p,{children:["Second, to support ",(0,n.jsx)(e.a,{href:"../utilization/prisma",children:"Prisma"}),". If a comment is created in the Prisma Schema through the ",(0,n.jsx)(e.code,{children:"///"})," statement as shown below and a type is created, it is converted to a TS comment as it is. And since there is no way that union types, numeric ",(0,n.jsx)(e.code,{children:"Array"}),"s or ",(0,n.jsx)(e.code,{children:"Map"}),"s are used in Prisma (database) schema, these comment tags are surprisingly compatible with Prisma."]})]}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line highlighted",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" uint32"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@exclusiveMinimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 19"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@maximum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 100"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@minLength"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 3"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /^[a-z]+$/"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// NO WAY WHEN COMMENT TAG"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// /**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * Type tag can perform union type."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * In here case, format can be oneof `ipv4` or `ipv6` format."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// */"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// format: (string & (tags.Format<"ipv4"> | tags.Format<"ipv6">)) | null;'})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// NO WAY WHEN COMMENT TAG"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// /**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * In the Array case, only type tag can restrict element type."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// */"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// array: Array> '})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// & tags.MinItems<3> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// & tags.MaxItems<100>;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// NO WAY WHEN COMMENT TAG"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// /**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * Also, only type tag can handle map type."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// */"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// map: Map<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// number & tags.Type<"uint32">, '})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// Array> & tags.MinItems<1>'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// >;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".string "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input);"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkCustomTag;"})]})]})})})]}),"\n",(0,n.jsx)(e.h2,{id:"customization",children:"Customization"}),"\n",(0,n.jsxs)(c.mQ,{items:[(0,n.jsx)(e.code,{children:"TagBase.ts"}),(0,n.jsx)(e.code,{children:"Minimum.ts"}),(0,n.jsx)(e.code,{children:"Type.ts"}),(0,n.jsx)(e.code,{children:"Pattern.ts"})],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"TagBase.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Props"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IProps"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * This is a dummy property for compilation."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * It does not mean anything in runtime."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia.tag"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Props"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IProps"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"array"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"boolean"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"key"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"boolean"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > {"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Target type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * If user tries to adapt this tag to a different type, it would be a compile"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * error."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * For example, you've configured target type as `string`, but user adapted it"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * onto a `number` type (`number & YourCustomTag`), then it would be"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * blocked by TypeScript compiler."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * What kind of tag is this?"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Value to be configured by user."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Validation code."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * This code would be inserted into the generated validation function."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In here script, target variable name must be `$input`. The variable name"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * `$input` would be transformed to the suitable when compilation."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Also, If you've take a mistake on this script, compile error would be"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * occured. So, define it with confidence. Compiler will block all your"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * mistakes."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Exclusive option."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * If this property configured as `true`, same "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"{"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@link"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" kind}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" tag cannot be"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * duplicated in the target type. Otherwise, if you've configured this property"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * as string array, all of the "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"{"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@link"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" kind}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" value assigned tag cannot be"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * compatible in the target type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" false"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"Minimum.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TagBase } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./TagBase"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Minimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minimum"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" <= $input`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minimum"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"exclusiveMinimum"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"];"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`BigInt("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"Type.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TagBase } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./TagBase"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"float"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"double"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"type"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int32"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647`"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && 0 <= $input && $input <= 4294967295`"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int64"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`true`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint64"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`BigInt(0) <= $input`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"float"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`-1.175494351e38 <= $input && $input <= 3.4028235e38`"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`true`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"Pattern.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TagBase } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./TagBase"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pattern"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/.test($input)`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})})]})})})]}),"\n",(0,n.jsxs)(e.p,{children:["Above types are supported by ",(0,n.jsx)(e.code,{children:"typia"})," basically."]}),"\n",(0,n.jsxs)(e.p,{children:["If you make a custom type tag extending ",(0,n.jsx)(e.code,{children:"typia.tags.TagBase"})," type, and utilize it on your type with intersection symbol like ",(0,n.jsx)(e.code,{children:"number & Minimum<3>"}),", its validation logic ",(0,n.jsx)(e.code,{children:"3 <= $input"})," would be inserted into the compiled JavaScript file."]}),"\n",(0,n.jsxs)(e.p,{children:["Also, as you can see from the ",(0,n.jsx)(e.code,{children:"typia.tags.TagBase"})," type, you have to specify which ",(0,n.jsx)(e.code,{children:"target"})," type is the tag for, and need to define the tag can be compatible with others or not through ",(0,n.jsx)(e.code,{children:"exclusive"})," options. If your custom tag has multiple ",(0,n.jsx)(e.code,{children:"target"})," types, you can support all of those ",(0,n.jsx)(e.code,{children:"target"})," types by defining ",(0,n.jsx)(e.code,{children:"validate"})," property as ",(0,n.jsx)(e.code,{children:"Record"})," type like ",(0,n.jsx)(e.code,{children:"Type"})," tag case."]}),"\n",(0,n.jsxs)(e.p,{children:["In the Korean proverb, there's a word that, \"it is much better to do it once than to hear it a hundred times\". Let's see how custom type tag of ",(0,n.jsx)(e.code,{children:"typia"})," can be defined and utilized through an example code. I'll define three custom tag types, ",(0,n.jsx)(e.code,{children:"Postfix"}),", ",(0,n.jsx)(e.code,{children:"Dollar"})," and ",(0,n.jsx)(e.code,{children:"IsEven"}),"."]}),"\n",(0,n.jsx)(e.p,{children:"Here is the example code, and I think that it may easy to understand."}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.custom.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkTagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" dollar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dolloar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"abcd"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" powerOf"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"PowerOf"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dolloar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"dollar"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input[0] === "$" && !isNaN(Number($input.substring(1).split(",").join("")))`'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"postfix"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input.endsWith("'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'")`'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"PowerOf"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"powerOf"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`(() => {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" const denominator: number = Math.log("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:");"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" const value: number = Math.log($input) / denominator;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" return Math.abs(value - Math.round(value)) < 0.00000001;"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" })()`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.custom.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkTagCustom "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkTagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"dollar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".split"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'","'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"))) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"abcd"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".powerOf "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"denominator"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".powerOf) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" denominator;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".abs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(value "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(value)) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1e-8"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })()"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkTagCustom "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkTagCustom;"})]})]})})})]})]})}let d={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,n.jsx)(e,{...s,children:(0,n.jsx)(_createMdxContent,{...s})}):_createMdxContent(s)},pageOpts:{filePath:"pages/docs/validators/tags.mdx",route:"/docs/validators/tags",timestamp:1702289783e3,pageMap:[{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"json",route:"/docs/json",children:[{kind:"MdxPage",name:"parse",route:"/docs/json/parse"},{kind:"MdxPage",name:"schema",route:"/docs/json/schema"},{kind:"MdxPage",name:"stringify",route:"/docs/json/stringify"},{kind:"Meta",data:{stringify:"stringify() functions",parse:"parse() functions",schema:"JSON Schema"}}]},{kind:"MdxPage",name:"misc",route:"/docs/misc"},{kind:"Folder",name:"protobuf",route:"/docs/protobuf",children:[{kind:"MdxPage",name:"decode",route:"/docs/protobuf/decode"},{kind:"MdxPage",name:"encode",route:"/docs/protobuf/encode"},{kind:"MdxPage",name:"message",route:"/docs/protobuf/message"},{kind:"Meta",data:{message:"Message Schema",encode:"encode() functions",decode:"decode() functions"}}]},{kind:"MdxPage",name:"pure",route:"/docs/pure"},{kind:"MdxPage",name:"random",route:"/docs/random"},{kind:"MdxPage",name:"setup",route:"/docs/setup"},{kind:"Folder",name:"utilization",route:"/docs/utilization",children:[{kind:"MdxPage",name:"nestjs",route:"/docs/utilization/nestjs"},{kind:"MdxPage",name:"prisma",route:"/docs/utilization/prisma"},{kind:"MdxPage",name:"trpc",route:"/docs/utilization/trpc"},{kind:"Meta",data:{nestjs:"NestJS",prisma:"Prisma",trpc:"tRPC"}}]},{kind:"Folder",name:"validators",route:"/docs/validators",children:[{kind:"MdxPage",name:"assert",route:"/docs/validators/assert"},{kind:"MdxPage",name:"is",route:"/docs/validators/is"},{kind:"MdxPage",name:"tags",route:"/docs/validators/tags"},{kind:"MdxPage",name:"validate",route:"/docs/validators/validate"},{kind:"Meta",data:{assert:"assert() function",is:"is() function",validate:"validate() function",tags:"Special Tags"}}]},{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction",setup:"\uD83D\uDCE6 Setup",pure:"⛲ Pure TypeScript","-- features":{type:"separator",title:"\uD83D\uDCD6 Features"},validators:"Runtime Validators",json:"Enhanced JSON",protobuf:"Protocol Buffer",random:"Random Generator",misc:"Miscellaneous","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},utilization:"Utilization Cases",benchmark:{title:"⇲ Benchmark Result",href:"https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz",newWindow:!0},articles:{title:"⇲ dev.to Articles",href:"https://dev.to/samchon/series/22474",newWindow:!0}}}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"playground",route:"/playground",children:[{kind:"MdxPage",name:"index",route:"/playground"},{kind:"Meta",data:{index:{title:"Typia Playground",theme:{layout:"raw",footer:!1}}}}]},{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden"},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"page"},contact:{title:"✉ Contact Me",type:"page",href:"mailto:samchon.github@gmail.com"}}}],flexsearch:{codeblocks:!0},title:"Tags",headings:x},pageNextRoute:"/docs/validators/tags",nextraLayout:l.ZP,themeConfig:i.Z};e.default=(0,o.j)(d)},68426:function(s,e,r){"use strict";var n=r(85893);r(67294),e.Z={logo:()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:32,height:32}),(0,n.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:10,paddingRight:10},children:"Typia"}),(0,n.jsx)("span",{children:"Superfast Runtime Validator"})]}),project:{link:"https://github.com/samchon/typia"},docsRepositoryBase:"https://github.com/samchon/typia/blob/master/website",footer:{text:()=>(0,n.jsxs)("span",{children:["Made by"," ",(0,n.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"blue"},children:(0,n.jsx)("u",{children:" Samchon "})})]})},useNextSeoProps:()=>({defaultTitle:"Typia Guide Documents",titleTemplate:"Typia Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"Typia Guide Documents"},{property:"og:description",content:"Superfast Runtime Validator with only one line"},{property:"og:site_name",content:"Typia Guide Documents"},{property:"og:url",content:"https://typia.io"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://typia.io/og.jpg"},{name:"twitter:title",content:"Typia Guide Documents"},{name:"twitter:description",content:"Superfast Runtime Validator with only one line"},{name:"twitter:site",content:"@SamchonGithub"}]})}}},function(s){s.O(0,[626,71,774,888,179],function(){return s(s.s=64668)}),_N_E=s.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[793],{4215:function(s,e,r){"use strict";r.d(e,{Z:function(){return N}});var n=r(87462),o=r(63366),l=r(67294),i=r(90512),t=r(94780),c=r(90948),a=r(71657),h=r(39707),x=r(98216),d=r(1588),k=r(27621);function getTypographyUtilityClass(s){return(0,k.Z)("MuiTypography",s)}(0,d.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var p=r(85893);let y=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],useUtilityClasses=s=>{let{align:e,gutterBottom:r,noWrap:n,paragraph:o,variant:l,classes:i}=s,c={root:["root",l,"inherit"!==s.align&&`align${(0,x.Z)(e)}`,r&&"gutterBottom",n&&"noWrap",o&&"paragraph"]};return(0,t.Z)(c,getTypographyUtilityClass,i)},j=(0,c.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:(s,e)=>{let{ownerState:r}=s;return[e.root,r.variant&&e[r.variant],"inherit"!==r.align&&e[`align${(0,x.Z)(r.align)}`],r.noWrap&&e.noWrap,r.gutterBottom&&e.gutterBottom,r.paragraph&&e.paragraph]}})(({theme:s,ownerState:e})=>(0,n.Z)({margin:0},"inherit"===e.variant&&{font:"inherit"},"inherit"!==e.variant&&s.typography[e.variant],"inherit"!==e.align&&{textAlign:e.align},e.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},e.gutterBottom&&{marginBottom:"0.35em"},e.paragraph&&{marginBottom:16})),v={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},m={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},transformDeprecatedColors=s=>m[s]||s,u=l.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiTypography"}),l=transformDeprecatedColors(r.color),t=(0,h.Z)((0,n.Z)({},r,{color:l})),{align:c="inherit",className:x,component:d,gutterBottom:k=!1,noWrap:m=!1,paragraph:u=!1,variant:g="body1",variantMapping:w=v}=t,f=(0,o.Z)(t,y),N=(0,n.Z)({},t,{align:c,color:l,className:x,component:d,gutterBottom:k,noWrap:m,paragraph:u,variant:g,variantMapping:w}),b=d||(u?"p":w[g]||v[g])||"span",T=useUtilityClasses(N);return(0,p.jsx)(j,(0,n.Z)({as:b,ref:e,ownerState:N,className:(0,i.Z)(T.root,x)},f))});function getAlertTitleUtilityClass(s){return(0,k.Z)("MuiAlertTitle",s)}(0,d.Z)("MuiAlertTitle",["root"]);let g=["className"],AlertTitle_useUtilityClasses=s=>{let{classes:e}=s;return(0,t.Z)({root:["root"]},getAlertTitleUtilityClass,e)},w=(0,c.ZP)(u,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(s,e)=>e.root})(({theme:s})=>({fontWeight:s.typography.fontWeightMedium,marginTop:-2})),f=l.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiAlertTitle"}),{className:l}=r,t=(0,o.Z)(r,g),c=AlertTitle_useUtilityClasses(r);return(0,p.jsx)(w,(0,n.Z)({gutterBottom:!0,component:"div",ownerState:r,ref:e,className:(0,i.Z)(c.root,l)},t))});var N=f},64668:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/validators/tags",function(){return r(55848)}])},55848:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return x}});var n=r(85893),o=r(92673),l=r(8441),i=r(68426);r(29128);var t=r(82643),c=r(39013),a=r(40843),h=r(4215);let x=[{depth:2,value:"Outline",id:"outline"},{depth:2,value:"Type Tags",id:"type-tags"},{depth:2,value:"Comment Tags",id:"comment-tags"},{depth:2,value:"Customization",id:"customization"}];function _createMdxContent(s){let e=Object.assign({h2:"h2",p:"p",code:"code",a:"a",ul:"ul",li:"li",pre:"pre",span:"span",strong:"strong"},(0,t.a)(),s.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h2,{id:"outline",children:"Outline"}),"\n",(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.code,{children:"typia"})," can perform additional validation through ",(0,n.jsx)(e.a,{href:"#type-tags",children:"type tags"})," and ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"}),"."]}),"\n",(0,n.jsxs)(e.p,{children:["When you need additional validation logic that is not supported in pure TypeScript type spec, you can use ",(0,n.jsx)(e.a,{href:"#type-tags",children:"type tags"})," and ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"})," for it. For example, if you define a type with intersection symbol like ",(0,n.jsx)(e.code,{children:'number & typia.tags.Type<"uint32">'})," and validates it, ",(0,n.jsx)(e.code,{children:"typia"})," will check the target numeric value is unsigned integer or not."]}),"\n",(0,n.jsxs)(e.p,{children:["Also, in TypeScript (and JavaScript), writing ",(0,n.jsx)(e.code,{children:"@"})," character in comment is called ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"Comment Tag"})," and ",(0,n.jsx)(e.code,{children:"typia"})," utilizes such comment tags for enhancing type validation logic. As you can see from below example code, ",(0,n.jsx)(e.code,{children:"typia"})," analyzes ",(0,n.jsx)(e.code,{children:"@tagName value"})," patterned comment tags, and generates optimal validation logic in the compilation level."]}),"\n",(0,n.jsxs)(e.p,{children:["Therefore, don't be afraid ",(0,n.jsx)(e.code,{children:"typia"})," uses only pure TypeScript types for type validation schema. Don't be afraid about TypeScript does not support ",(0,n.jsx)(e.code,{children:"integer"})," type. With those ",(0,n.jsx)(e.a,{href:"#type-tags",children:"type tags"})," and ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"}),", you can express every types in the world."]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["Q: How to validate integer type? TypeScript does not support it","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["A1: Use type tag ",(0,n.jsx)(e.code,{children:'number & typia.tags.Type<"int32">'})]}),"\n",(0,n.jsxs)(e.li,{children:["A2: Write a comment tag ",(0,n.jsx)(e.code,{children:"@type int32"})," on the target property"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["Q: Type Tag vs Comment Tags, which one is better","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"A1: Type Tag is recommended because it is much safer and generous"}),"\n",(0,n.jsx)(e.li,{children:"A2: Comment Tag is designed for legacy JSDoc styled projects"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line highlighted",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" uint32"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@minLength"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 3"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"^[a-z]+$"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Type tag can perform union type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In here case, format can be oneof `ipv4` or `ipv6` format."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv4"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv6"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">)) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In the Array case, only type tag can restrict element type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MaxItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Also, only type tag can handle map type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".string "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())))) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".array) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"instanceof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ))();"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input);"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkCustomTag;"})]})]})})})]}),"\n",(0,n.jsx)(e.h2,{id:"type-tags",children:"Type Tags"}),"\n",(0,n.jsx)(e.p,{children:"By using type tags, you can utilize additional validation logics."}),"\n",(0,n.jsxs)(e.p,{children:["Just import one of type tags from ",(0,n.jsx)(e.code,{children:"typia"}),", and combine it with target through intersection symbol like ",(0,n.jsx)(e.code,{children:'number & typia.tags.Type<"uint32">'})," case. If you want to declare an union validation logic, combine ",(0,n.jsx)(e.code,{children:"|"})," and bracket (",(0,n.jsx)(e.code,{children:"()"}),") symbols properly like below:"]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:'number & (Type<"uint32"> | Type<"double">)'}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number"})," type can be both ",(0,n.jsx)(e.code,{children:"uint32"})," and ",(0,n.jsx)(e.code,{children:"double"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:'(number & Type<"int32">) | (bigint & Type<"uint64">)'}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number"})," is ",(0,n.jsx)(e.code,{children:"int32"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"bigint"})," is ",(0,n.jsx)(e.code,{children:"uint64"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:'(number & (Type<"int32">)| Type<"float">) | (bigint & Type<"uint64">)'}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number"})," can be both ",(0,n.jsx)(e.code,{children:"int32"})," and ",(0,n.jsx)(e.code,{children:"float"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"bigint"})," is ",(0,n.jsx)(e.code,{children:"uint64"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["Here is the entire list of type tags that ",(0,n.jsx)(e.code,{children:"typia"})," basically supports."]}),"\n",(0,n.jsx)(e.p,{children:"For reference, when you take a mistake that choosing different target type, TypeScript compiler would block it with compilation error message. Also, if you take a mistake that placing invalid argument on the type, it would also be blocked IDE and compiler. Therefore, have a confidence when using them."}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["number","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"number & Type<{keyword}>"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int32"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint32"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"float"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"double"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & Minimum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & Maximum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & ExclusiveMaximum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & ExclusiveMinimum<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"number & MultipleOf<{number}>"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:"bigint"}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"bigint & Type<{keyword}>"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint64"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & Minimum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & Maximum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & ExclusiveMaximum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & ExclusiveMinimum<{bigint}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"bigint & MultipleOf<{bigint}>"})}),"\n",(0,n.jsxs)(e.li,{children:["string","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"string & MinLength<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"string & MaxLength<{number}>"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"string & Pattern<{regex}>"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"string & Format<{keyword}>"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"email"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uuid"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv4"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv6"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"url"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date"}),": YYYY-MM-DD"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date-time"}),": ",(0,n.jsx)(e.code,{children:"Date.toISOString()"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["Also, if you need custom validation logic, just make it by yourself referencing ",(0,n.jsx)(e.a,{href:"#customzation",children:"Customization"})," section. It is easy to define. For such type safety and generous use case reasons even customization supporting, I recommend you to use type tags instead of ",(0,n.jsx)(e.a,{href:"#comment-tags",children:"comment tags"}),", unless you are maintaining a legacy JSDoc styled project."]}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line highlighted",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinLength"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"^[a-z]+$"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Type tag can perform union type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In here case, format can be oneof `ipv4` or `ipv6` format."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv4"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"ipv6"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">)) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In the Array case, only type tag can restrict element type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MaxItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Also, only type tag can handle map type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"MinItems"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" >;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".string "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"()) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:").(?:25[0-5]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"2[0-4][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[01]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"[0-9][0-9]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Date"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".format)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".getTime"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"())))) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".array) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"instanceof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".map]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ))();"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input);"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkCustomTag;"})]})]})})})]}),"\n",(0,n.jsx)(e.h2,{id:"comment-tags",children:"Comment Tags"}),"\n",(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.code,{children:"typia"})," supports those comment tags, too."]}),"\n",(0,n.jsxs)(e.p,{children:["Here is the entire list of comment tags that ",(0,n.jsx)(e.code,{children:"typia"})," supports."]}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["number","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"@type {string}"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"int"})," / ",(0,n.jsx)(e.code,{children:"int32"})]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"uint"})," / ",(0,n.jsx)(e.code,{children:"uint32"})]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"int64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uint64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"float"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minimum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maximum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMinimum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMaximum {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@multipleOf {number}"})}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["bigint","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@type uint64"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minimum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maximum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMinimum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@exclusiveMaximum {bigint}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@multipleOf {bigint}"})}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["string","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minLength {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maxLength {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@pattern {regex}"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"@format {keyword}"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"email"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"uuid"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv4"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"ipv6"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"url"})}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date"}),": YYYY-MM-DD"]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.code,{children:"date-time"}),": ",(0,n.jsx)(e.code,{children:"Date.toISOString()"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["array","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@minItems {number}"})}),"\n",(0,n.jsx)(e.li,{children:(0,n.jsx)(e.code,{children:"@maxItems {number}"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.p,{children:["By the way, I do not recommend this way, because it can't perform union numeric types, and can be used for only object property type. It can't be used standalone, and cannot be used for element type of ",(0,n.jsx)(e.code,{children:"Array"})," and ",(0,n.jsx)(e.code,{children:"Map"})," even when they're declared on object property. Also, When you declare ",(0,n.jsx)(e.code,{children:"@type int32"})," statement, target ",(0,n.jsx)(e.code,{children:"number"})," type be fixed as ",(0,n.jsx)(e.code,{children:"int32"})," type, and never can have another numeric type by declaring union statements."]}),"\n",(0,n.jsxs)(e.p,{children:["Also, those comment tags are not type safe. If you take a mistake when writing a comment tag, it will not be detected by the compiler, and will cause an error at runtime. For example, if you write a mis-spelled keyword like ",(0,n.jsx)(e.code,{children:"@type unit32"}),", the target ",(0,n.jsx)(e.code,{children:"number"})," type would be ",(0,n.jsx)(e.code,{children:"double"})," type, and you can identify it just by running the program (or visiting playground website)."]}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsxs)(a.Z,{severity:"warning",children:[(0,n.jsx)(h.Z,{children:(0,n.jsx)(e.p,{children:(0,n.jsx)(e.strong,{children:"Why supports comment tags?"})})}),(0,n.jsx)(e.p,{children:"Despite these disadvantages, the reason for maintaining comment tags is as follows."}),(0,n.jsx)(e.p,{children:"First, it is to support the legacy JSDoc style that had been used in the JS camp for a long time. If you had developed a legacy project and JSDoc being used, you can use it as is."}),(0,n.jsxs)(e.p,{children:["Second, to support ",(0,n.jsx)(e.a,{href:"../utilization/prisma",children:"Prisma"}),". If a comment is created in the Prisma Schema through the ",(0,n.jsx)(e.code,{children:"///"})," statement as shown below and a type is created, it is converted to a TS comment as it is. And since there is no way that union types, numeric ",(0,n.jsx)(e.code,{children:"Array"}),"s or ",(0,n.jsx)(e.code,{children:"Map"}),"s are used in Prisma (database) schema, these comment tags are surprisingly compatible with Prisma."]})]}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line highlighted",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"CustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" uint32"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@exclusiveMinimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 19"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@maximum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 100"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@minLength"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" 3"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@Pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" /^[a-z]+$/"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// NO WAY WHEN COMMENT TAG"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// /**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * Type tag can perform union type."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * In here case, format can be oneof `ipv4` or `ipv6` format."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// */"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// format: (string & (tags.Format<"ipv4"> | tags.Format<"ipv6">)) | null;'})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// NO WAY WHEN COMMENT TAG"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// /**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * In the Array case, only type tag can restrict element type."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// */"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// array: Array> '})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// & tags.MinItems<3> "})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// & tags.MaxItems<100>;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// NO WAY WHEN COMMENT TAG"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// /**"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// * Also, only type tag can handle map type."})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// */"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// map: Map<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// number & tags.Type<"uint32">, '})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:'// Array> & tags.MinItems<1>'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// >;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkCustomTag"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".type "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".number "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".string "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".pattern;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input);"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkCustomTag "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkCustomTag;"})]})]})})})]}),"\n",(0,n.jsx)(e.h2,{id:"customization",children:"Customization"}),"\n",(0,n.jsxs)(c.mQ,{items:[(0,n.jsx)(e.code,{children:"TagBase.ts"}),(0,n.jsx)(e.code,{children:"Minimum.ts"}),(0,n.jsx)(e.code,{children:"Type.ts"}),(0,n.jsx)(e.code,{children:"Pattern.ts"})],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"TagBase.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Props"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IProps"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * This is a dummy property for compilation."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * It does not mean anything in runtime."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia.tag"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Props"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IProps"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"array"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"boolean"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"key"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"boolean"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" > {"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Target type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * If user tries to adapt this tag to a different type, it would be a compile"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * error."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * For example, you've configured target type as `string`, but user adapted it"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * onto a `number` type (`number & YourCustomTag`), then it would be"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * blocked by TypeScript compiler."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * What kind of tag is this?"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Value to be configured by user."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Validation code."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * This code would be inserted into the generated validation function."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * In here script, target variable name must be `$input`. The variable name"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * `$input` would be transformed to the suitable when compilation."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Also, If you've take a mistake on this script, compile error would be"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * occured. So, define it with confidence. Compiler will block all your"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * mistakes."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"/**"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * Exclusive option."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" *"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * If this property configured as `true`, same "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"{"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@link"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" kind}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" tag cannot be"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * duplicated in the target type. Otherwise, if you've configured this property"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * as string array, all of the "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"{"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@link"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" kind}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" value assigned tag cannot be"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * compatible in the target type."})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" * "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"@default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" false"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:" */"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"Minimum.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TagBase } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./TagBase"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Minimum"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minimum"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" <= $input`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"minimum"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"exclusiveMinimum"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"];"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`BigInt("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"Type.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TagBase } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./TagBase"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"float"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"double"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint64"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"type"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int32"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647`"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && 0 <= $input && $input <= 4294967295`"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"int64"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`true`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint64"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" bigint"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`BigInt(0) <= $input`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"float"'})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`-1.175494351e38 <= $input && $input <= 3.4028235e38`"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`true`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" exclusive"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"Pattern.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { TagBase } "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"./TagBase"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Pattern"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"pattern"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/.test($input)`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})})]})})})]}),"\n",(0,n.jsxs)(e.p,{children:["Above types are supported by ",(0,n.jsx)(e.code,{children:"typia"})," basically."]}),"\n",(0,n.jsxs)(e.p,{children:["If you make a custom type tag extending ",(0,n.jsx)(e.code,{children:"typia.tags.TagBase"})," type, and utilize it on your type with intersection symbol like ",(0,n.jsx)(e.code,{children:"number & Minimum<3>"}),", its validation logic ",(0,n.jsx)(e.code,{children:"3 <= $input"})," would be inserted into the compiled JavaScript file."]}),"\n",(0,n.jsxs)(e.p,{children:["Also, as you can see from the ",(0,n.jsx)(e.code,{children:"typia.tags.TagBase"})," type, you have to specify which ",(0,n.jsx)(e.code,{children:"target"})," type is the tag for, and need to define the tag can be compatible with others or not through ",(0,n.jsx)(e.code,{children:"exclusive"})," options. If your custom tag has multiple ",(0,n.jsx)(e.code,{children:"target"})," types, you can support all of those ",(0,n.jsx)(e.code,{children:"target"})," types by defining ",(0,n.jsx)(e.code,{children:"validate"})," property as ",(0,n.jsx)(e.code,{children:"Record"})," type like ",(0,n.jsx)(e.code,{children:"Type"})," tag case."]}),"\n",(0,n.jsxs)(e.p,{children:["In the Korean proverb, there's a word that, \"it is much better to do it once than to hear it a hundred times\". Let's see how custom type tag of ",(0,n.jsx)(e.code,{children:"typia"})," can be defined and utilized through an example code. I'll define three custom tag types, ",(0,n.jsx)(e.code,{children:"Postfix"}),", ",(0,n.jsx)(e.code,{children:"Dollar"})," and ",(0,n.jsx)(e.code,{children:"IsEven"}),"."]}),"\n",(0,n.jsx)(e.p,{children:"Here is the example code, and I think that it may easy to understand."}),"\n",(0,n.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"is.tag.custom.ts",hasCopyCode:!0,children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:" "}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"checkTagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" dollar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dolloar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"abcd"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" powerOf"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"PowerOf"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dolloar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"dollar"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input[0] === "$" && !isNaN(Number($input.substring(1).split(",").join("")))`'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"postfix"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input.endsWith("'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'")`'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"PowerOf"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"powerOf"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`(() => {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" const denominator: number = Math.log("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:");"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" const value: number = Math.log($input) / denominator;"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" return Math.abs(value - Math.round(value)) < 0.00000001;"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" })()`"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})})]})})}),(0,n.jsx)(c.OK,{children:(0,n.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"is.tag.custom.js",children:(0,n.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkTagCustom "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"checkTagCustom"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar["}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Number"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"dollar"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".split"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'","'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"))) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"postfix"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"abcd"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".powerOf "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"denominator"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"value"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".powerOf) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"/"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" denominator;"})]}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".abs"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(value "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"-"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".round"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(value)) "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1e-8"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })()"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,n.jsx)(e.span,{className:"line",children:(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,n.jsxs)(e.span,{className:"line",children:[(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".checkTagCustom "}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,n.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" checkTagCustom;"})]})]})})})]})]})}let d={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,n.jsx)(e,{...s,children:(0,n.jsx)(_createMdxContent,{...s})}):_createMdxContent(s)},pageOpts:{filePath:"pages/docs/validators/tags.mdx",route:"/docs/validators/tags",timestamp:170229306e4,pageMap:[{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"json",route:"/docs/json",children:[{kind:"MdxPage",name:"parse",route:"/docs/json/parse"},{kind:"MdxPage",name:"schema",route:"/docs/json/schema"},{kind:"MdxPage",name:"stringify",route:"/docs/json/stringify"},{kind:"Meta",data:{stringify:"stringify() functions",parse:"parse() functions",schema:"JSON Schema"}}]},{kind:"MdxPage",name:"misc",route:"/docs/misc"},{kind:"Folder",name:"protobuf",route:"/docs/protobuf",children:[{kind:"MdxPage",name:"decode",route:"/docs/protobuf/decode"},{kind:"MdxPage",name:"encode",route:"/docs/protobuf/encode"},{kind:"MdxPage",name:"message",route:"/docs/protobuf/message"},{kind:"Meta",data:{message:"Message Schema",encode:"encode() functions",decode:"decode() functions"}}]},{kind:"MdxPage",name:"pure",route:"/docs/pure"},{kind:"MdxPage",name:"random",route:"/docs/random"},{kind:"MdxPage",name:"setup",route:"/docs/setup"},{kind:"Folder",name:"utilization",route:"/docs/utilization",children:[{kind:"MdxPage",name:"nestjs",route:"/docs/utilization/nestjs"},{kind:"MdxPage",name:"prisma",route:"/docs/utilization/prisma"},{kind:"MdxPage",name:"trpc",route:"/docs/utilization/trpc"},{kind:"Meta",data:{nestjs:"NestJS",prisma:"Prisma",trpc:"tRPC"}}]},{kind:"Folder",name:"validators",route:"/docs/validators",children:[{kind:"MdxPage",name:"assert",route:"/docs/validators/assert"},{kind:"MdxPage",name:"is",route:"/docs/validators/is"},{kind:"MdxPage",name:"tags",route:"/docs/validators/tags"},{kind:"MdxPage",name:"validate",route:"/docs/validators/validate"},{kind:"Meta",data:{assert:"assert() function",is:"is() function",validate:"validate() function",tags:"Special Tags"}}]},{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction",setup:"\uD83D\uDCE6 Setup",pure:"⛲ Pure TypeScript","-- features":{type:"separator",title:"\uD83D\uDCD6 Features"},validators:"Runtime Validators",json:"Enhanced JSON",protobuf:"Protocol Buffer",random:"Random Generator",misc:"Miscellaneous","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},utilization:"Utilization Cases",benchmark:{title:"⇲ Benchmark Result",href:"https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz",newWindow:!0},articles:{title:"⇲ dev.to Articles",href:"https://dev.to/samchon/series/22474",newWindow:!0}}}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"playground",route:"/playground",children:[{kind:"MdxPage",name:"index",route:"/playground"},{kind:"Meta",data:{index:{title:"Typia Playground",theme:{layout:"raw",footer:!1}}}}]},{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden"},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"page"},contact:{title:"✉ Contact Me",type:"page",href:"mailto:samchon.github@gmail.com"}}}],flexsearch:{codeblocks:!0},title:"Tags",headings:x},pageNextRoute:"/docs/validators/tags",nextraLayout:l.ZP,themeConfig:i.Z};e.default=(0,o.j)(d)},68426:function(s,e,r){"use strict";var n=r(85893);r(67294),e.Z={logo:()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:32,height:32}),(0,n.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:10,paddingRight:10},children:"Typia"}),(0,n.jsx)("span",{children:"Superfast Runtime Validator"})]}),project:{link:"https://github.com/samchon/typia"},docsRepositoryBase:"https://github.com/samchon/typia/blob/master/website",footer:{text:()=>(0,n.jsxs)("span",{children:["Made by"," ",(0,n.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"blue"},children:(0,n.jsx)("u",{children:" Samchon "})})]})},useNextSeoProps:()=>({defaultTitle:"Typia Guide Documents",titleTemplate:"Typia Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"Typia Guide Documents"},{property:"og:description",content:"Superfast Runtime Validator with only one line"},{property:"og:site_name",content:"Typia Guide Documents"},{property:"og:url",content:"https://typia.io"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://typia.io/og.jpg"},{name:"twitter:title",content:"Typia Guide Documents"},{name:"twitter:description",content:"Superfast Runtime Validator with only one line"},{name:"twitter:site",content:"@SamchonGithub"}]})}}},function(s){s.O(0,[626,71,774,888,179],function(){return s(s.s=64668)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/docs/validators/validate-8b0baeaf3573c68a.js b/_next/static/chunks/pages/docs/validators/validate-af5e74b41fa73f6a.js similarity index 99% rename from _next/static/chunks/pages/docs/validators/validate-8b0baeaf3573c68a.js rename to _next/static/chunks/pages/docs/validators/validate-af5e74b41fa73f6a.js index 79af309e54..2731a25a7b 100644 --- a/_next/static/chunks/pages/docs/validators/validate-8b0baeaf3573c68a.js +++ b/_next/static/chunks/pages/docs/validators/validate-af5e74b41fa73f6a.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[489],{4215:function(s,e,r){"use strict";r.d(e,{Z:function(){return N}});var o=r(87462),l=r(63366),n=r(67294),i=r(90512),t=r(94780),c=r(90948),a=r(71657),h=r(39707),x=r(98216),k=r(1588),d=r(27621);function getTypographyUtilityClass(s){return(0,d.Z)("MuiTypography",s)}(0,k.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var p=r(85893);let y=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],useUtilityClasses=s=>{let{align:e,gutterBottom:r,noWrap:o,paragraph:l,variant:n,classes:i}=s,c={root:["root",n,"inherit"!==s.align&&`align${(0,x.Z)(e)}`,r&&"gutterBottom",o&&"noWrap",l&&"paragraph"]};return(0,t.Z)(c,getTypographyUtilityClass,i)},j=(0,c.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:(s,e)=>{let{ownerState:r}=s;return[e.root,r.variant&&e[r.variant],"inherit"!==r.align&&e[`align${(0,x.Z)(r.align)}`],r.noWrap&&e.noWrap,r.gutterBottom&&e.gutterBottom,r.paragraph&&e.paragraph]}})(({theme:s,ownerState:e})=>(0,o.Z)({margin:0},"inherit"===e.variant&&{font:"inherit"},"inherit"!==e.variant&&s.typography[e.variant],"inherit"!==e.align&&{textAlign:e.align},e.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},e.gutterBottom&&{marginBottom:"0.35em"},e.paragraph&&{marginBottom:16})),v={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},u={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},transformDeprecatedColors=s=>u[s]||s,m=n.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiTypography"}),n=transformDeprecatedColors(r.color),t=(0,h.Z)((0,o.Z)({},r,{color:n})),{align:c="inherit",className:x,component:k,gutterBottom:d=!1,noWrap:u=!1,paragraph:m=!1,variant:w="body1",variantMapping:g=v}=t,f=(0,l.Z)(t,y),N=(0,o.Z)({},t,{align:c,color:n,className:x,component:k,gutterBottom:d,noWrap:u,paragraph:m,variant:w,variantMapping:g}),b=k||(m?"p":g[w]||v[w])||"span",_=useUtilityClasses(N);return(0,p.jsx)(j,(0,o.Z)({as:b,ref:e,ownerState:N,className:(0,i.Z)(_.root,x)},f))});function getAlertTitleUtilityClass(s){return(0,d.Z)("MuiAlertTitle",s)}(0,k.Z)("MuiAlertTitle",["root"]);let w=["className"],AlertTitle_useUtilityClasses=s=>{let{classes:e}=s;return(0,t.Z)({root:["root"]},getAlertTitleUtilityClass,e)},g=(0,c.ZP)(m,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(s,e)=>e.root})(({theme:s})=>({fontWeight:s.typography.fontWeightMedium,marginTop:-2})),f=n.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiAlertTitle"}),{className:n}=r,t=(0,l.Z)(r,w),c=AlertTitle_useUtilityClasses(r);return(0,p.jsx)(g,(0,o.Z)({gutterBottom:!0,component:"div",ownerState:r,ref:e,className:(0,i.Z)(c.root,n)},t))});var N=f},42608:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/validators/validate",function(){return r(20773)}])},20773:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return x}});var o=r(85893),l=r(92673),n=r(8441),i=r(68426);r(29128);var t=r(82643),c=r(39013),a=r(40843),h=r(4215);let x=[{depth:2,value:"validate() function",id:"validate-function"},{depth:2,value:"validateEquals() function",id:"validateequals-function"},{depth:2,value:"Reusable functions",id:"reusable-functions"},{depth:2,value:"Restrictions",id:"restrictions"},{depth:2,value:"Discriminated Union",id:"discriminated-union"},{depth:2,value:"Customization",id:"customization"},{depth:2,value:"Performance",id:"performance"}];function _createMdxContent(s){let e=Object.assign({h2:"h2",code:"code",pre:"pre",span:"span",p:"p",ul:"ul",li:"li",strong:"strong",a:"a",img:"img",blockquote:"blockquote",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td"},(0,t.a)(),s.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e.h2,{id:"validate-function",children:[(0,o.jsx)(e.code,{children:"validate()"})," function"]}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Validates a value type."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.validate()"})," function validates ",(0,o.jsx)(e.code,{children:"input"})," value type, and archives every type errors detaily into ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array, when the ",(0,o.jsx)(e.code,{children:"input"})," value is not following the promised type ",(0,o.jsx)(e.code,{children:"T"}),". Of course, if the parametric ",(0,o.jsx)(e.code,{children:"input"})," value is following the type ",(0,o.jsx)(e.code,{children:"T"}),", ",(0,o.jsx)(e.code,{children:"IValidation.ISuccess"})," instance would be returned."]}),"\n",(0,o.jsxs)(e.p,{children:["In the below example case, as ",(0,o.jsx)(e.code,{children:"id"})," and ",(0,o.jsx)(e.code,{children:"age"})," values are different with its definition of ",(0,o.jsx)(e.code,{children:"IMember"}),", such errors would be archived into the ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[0]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.id"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:'string & Format<"uuid">'})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": 5"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[1]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.age"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:'number & Format<"uint32">'})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": 20.75"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsxs)(a.Z,{severity:"success",children:[(0,o.jsx)(h.Z,{children:(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"AOT compliation"})})}),(0,o.jsxs)(e.p,{children:["If you'd used other competitive validator libraries like ",(0,o.jsx)(e.code,{children:"ajv"})," or ",(0,o.jsx)(e.code,{children:"class-validator"}),", you may found that ",(0,o.jsx)(e.code,{children:"typia"})," does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files."]}),(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"ajv"})," requires ",(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/schemas/json/swagger/ObjectHierarchical.json",children:"JSON schema definition"}),"."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"class-validator"})," requires ",(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/benchmark/structures/class-validator/ClassValidatorObjectHierarchical.ts",children:"DTO class with decorator function calls"}),"."]}),"\n"]}),(0,o.jsxs)(e.p,{children:["Yeah, ",(0,o.jsx)(e.code,{children:"typia"})," needs only pure TypeScript type. As ",(0,o.jsx)(e.code,{children:"typia"})," is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of ",(0,o.jsx)(e.code,{children:"typia"}),", which needs only one line with pure TypeScript type."]})]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/validate.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// wrong, must be string (uuid)"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20.75"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// wrong, not integer"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/validate.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"uuid\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"uuid\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"email\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"email\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'number & Type<\"uint32\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & ExclusiveMinimum<19>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & Maximum<100>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})({"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20.75"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]})]})})})]}),"\n",(0,o.jsxs)(e.h2,{id:"validateequals-function",children:[(0,o.jsx)(e.code,{children:"validateEquals()"})," function"]}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"More strict validatae function prohibiting superfluous properties."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.validate"})," function detects every type errors of ",(0,o.jsx)(e.code,{children:"input"})," value, however, it can't detect superfluous properties. If you want to prohibit those superfluous properties, so that archive them into ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array, use ",(0,o.jsx)(e.code,{children:"typia.validateEquals()"})," function instead."]}),"\n",(0,o.jsxs)(e.p,{children:["In the below example case, as ",(0,o.jsx)(e.code,{children:"id"})," property is different with its type definition and ",(0,o.jsx)(e.code,{children:"sex"})," property is not defined in the ",(0,o.jsx)(e.code,{children:"IMember"})," type, such errors would be archived into the ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array:"]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[0]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.id"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:"string (@format uuid)"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": ",(0,o.jsx)(e.code,{children:"something"})]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[1]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.sex"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:"undefined"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": ",(0,o.jsx)(e.code,{children:"1"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/validateEquals.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// wrong, must be string (uuid)"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// extra property"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/validateEquals.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((key) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".some"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((prop) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" key "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" prop))"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input[key];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }));"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".join;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"uuid\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"uuid\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"email\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"email\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'number & Type<\"uint32\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & ExclusiveMinimum<19>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & Maximum<100>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((key) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".some"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (prop) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" key "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" prop"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input[key];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(key)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"undefined"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})({"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// extra property"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"reusable-functions",children:"Reusable functions"}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> = (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"createValidateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> = (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsxs)(e.p,{children:["Reusable ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function generators."]}),"\n",(0,o.jsxs)(e.p,{children:["If you repeat to call ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through ",(0,o.jsx)(e.code,{children:"typia.createValidate()"})," function."]}),"\n",(0,o.jsx)(e.p,{children:"Just look at the code below, then you may understand how to use it."}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/createValidate.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/createValidate.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateMember "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"uuid\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"uuid\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"email\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"email\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'number & Type<\"uint32\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & ExclusiveMinimum<19>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & Maximum<100>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateMember "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validateMember;"})]})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"restrictions",children:"Restrictions"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.validate()"})," function does not check ",(0,o.jsx)(e.code,{children:"function"})," and user-defined ",(0,o.jsx)(e.code,{children:"class"})," types."]}),"\n",(0,o.jsxs)(e.p,{children:["It validates only the primitive properties. Therefore, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function does not perform the ",(0,o.jsx)(e.code,{children:"instanceof ClassName"})," for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function does not validate the function type either, unless configuring ",(0,o.jsx)(e.code,{children:"functional"})," property of ",(0,o.jsx)(e.code,{children:"plugin"})," option in the ",(0,o.jsx)(e.code,{children:"tsconfig.json"})," file."]}),"\n",(0,o.jsx)(e.pre,{"data-language":"json","data-theme":"default",filename:"tsconfig.json",children:(0,o.jsxs)(e.code,{"data-language":"json","data-theme":"default",children:[(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"compilerOptions"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"plugins"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"transform"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia/lib/transform"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"functional"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,o.jsx)(e.p,{children:"By the way, there're some exception cases."}),"\n",(0,o.jsxs)(e.p,{children:["If JS native class type like ",(0,o.jsx)(e.code,{children:"Date"}),", ",(0,o.jsx)(e.code,{children:"Uint8Array"}),", or ",(0,o.jsx)(e.code,{children:"Map"})," being utilized, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function validates them. Especially about the ",(0,o.jsx)(e.code,{children:"Set"}),", and ",(0,o.jsx)(e.code,{children:"Map"})," class cases, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function validates all of their contained element types, too."]}),"\n",(0,o.jsxs)(e.p,{children:["Therefore, the ",(0,o.jsx)(e.code,{children:"instanceof"})," statement does not be used only for the user-defined classes."]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/is-map.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"boolean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>();"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/is-map.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"instanceof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"input]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"elem"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"boolean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ))()"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"discriminated-union",children:"Discriminated Union"}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],defaultIndex:1,children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Specify type through if condition."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.IValidation"})," is an union type of ",(0,o.jsx)(e.code,{children:"typia.IValidation.ISuccess"})," and ",(0,o.jsx)(e.code,{children:"typia.IValidation.IFailure"}),". Also, they have a common property ",(0,o.jsx)(e.code,{children:"success"})," of boolean type, but different literal values. In that case, if you write a ",(0,o.jsx)(e.code,{children:"if condition"})," about the ",(0,o.jsx)(e.code,{children:"success"})," property, you can specify the union type like below."]}),"\n",(0,o.jsxs)(e.p,{children:['In TypeScript, such union type specification through common property (of different literal value() is called "Discriminated Union". Therefore, when using ',(0,o.jsx)(e.code,{children:"typia.validate()"})," function, let's utilize such discriminated union specification for convenience."]}),"\n",(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"something"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"result"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(something);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"results"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// become typia.IValidation.Success type"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"result"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".data; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// accessible"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// become typia.IValidation.Failure type"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"result"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//accessible"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,o.jsx)(e.h2,{id:"customization",children:"Customization"}),"\n",(0,o.jsx)(e.p,{children:"You can enhance validation logic by special tags."}),"\n",(0,o.jsx)(e.p,{children:"Also, with those tags, you can add your custom validation logic, too."}),"\n",(0,o.jsx)(e.p,{children:"If you want to know about such special tags detaily, read below article:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"./tags/",children:"Special Tags"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#outline",children:"Outline"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#type-tags",children:"Type Tags"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#comment-tags",children:"Comment Tags"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#customization",children:"Customization"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/validate-custom-tags.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateSomething"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Something"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DEFINE CUSTOM TYPE TAGS"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input[0] === "$" && !isNaN(Number($input.substring(1).split(",").join("")))`'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"postfix"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input.endsWith("'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'")`'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IsEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"isEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`$input % "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" === "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`BigInt("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// VALIDATION"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Something"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"!!!"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" isEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IsEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/validate-custom-tags.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateSomething "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateSomething"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".split"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'","'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"!!!"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"%"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".split"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'","'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string & Dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"(string & Dollar)"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"!!!"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".postfix"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Postfix<\"!!!\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".postfix"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Postfix<\"!!!\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"%"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".isEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & IsEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".isEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"(number & IsEven)"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateSomething "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validateSomething;"})]})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"performance",children:"Performance"}),"\n",(0,o.jsx)(e.p,{children:"Super-fast and super-safe."}),"\n",(0,o.jsxs)(e.p,{children:["Comparing ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function with other competitive libraries, maximum 20,000x faster."]}),"\n",(0,o.jsxs)(e.p,{children:["Furthermore, only ",(0,o.jsx)(e.code,{children:"typia"})," can validate complicate union types."]}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{src:"https://github.com/samchon/typia/raw/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz/images/validate.svg",alt:"validate Function Benchmark"})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:["Measured on ",(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz#validate",children:"Intel i5-1135g7, Surface Pro 8"})]}),"\n"]}),"\n",(0,o.jsxs)(e.table,{children:[(0,o.jsx)(e.thead,{children:(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.th,{children:"Components"}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"typia"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"TypeBox"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"ajv"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"io-ts"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"zod"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"C.V."})})]})}),(0,o.jsxs)(e.tbody,{children:[(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.strong,{children:"Easy to use"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectSimple.ts",children:"Object (simple)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectHierarchical.ts",children:"Object (hierarchical)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectRecursive.ts",children:"Object (recursive)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectUnionImplicit.ts",children:"Object (union, implicit)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectUnionExplicit.ts",children:"Object (union, explicit)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/#comment-tags",children:"Object (additional tags)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/TemplateUnion.ts",children:"Object (template literal types)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/DynamicTemplate.ts",children:"Object (dynamic properties)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/TupleRestAtomic.ts",children:"Array (rest tuple)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayHierarchical.ts",children:"Array (hierarchical)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRecursive.ts",children:"Array (recursive)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRecursiveUnionExplicit.ts",children:"Array (recursive, union)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRecursiveUnionImplicit.ts",children:"Array (R+U, implicit)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRepeatedNullable.ts",children:"Array (repeated)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/structures/ArrayRepeatedUnionWithTuple.ts",children:"Array (repeated, union)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/src/schemas/IJsonSchema.ts",children:(0,o.jsx)(e.strong,{children:"Ultimate Union Type"})})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]})]})]}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"C.V."})," means ",(0,o.jsx)(e.code,{children:"class-validator"})]}),"\n"]})]})}let k={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(_createMdxContent,{...s})}):_createMdxContent(s)},pageOpts:{filePath:"pages/docs/validators/validate.mdx",route:"/docs/validators/validate",timestamp:1702033222e3,pageMap:[{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"json",route:"/docs/json",children:[{kind:"MdxPage",name:"parse",route:"/docs/json/parse"},{kind:"MdxPage",name:"schema",route:"/docs/json/schema"},{kind:"MdxPage",name:"stringify",route:"/docs/json/stringify"},{kind:"Meta",data:{stringify:"stringify() functions",parse:"parse() functions",schema:"JSON Schema"}}]},{kind:"MdxPage",name:"misc",route:"/docs/misc"},{kind:"Folder",name:"protobuf",route:"/docs/protobuf",children:[{kind:"MdxPage",name:"decode",route:"/docs/protobuf/decode"},{kind:"MdxPage",name:"encode",route:"/docs/protobuf/encode"},{kind:"MdxPage",name:"message",route:"/docs/protobuf/message"},{kind:"Meta",data:{message:"Message Schema",encode:"encode() functions",decode:"decode() functions"}}]},{kind:"MdxPage",name:"pure",route:"/docs/pure"},{kind:"MdxPage",name:"random",route:"/docs/random"},{kind:"MdxPage",name:"setup",route:"/docs/setup"},{kind:"Folder",name:"utilization",route:"/docs/utilization",children:[{kind:"MdxPage",name:"nestjs",route:"/docs/utilization/nestjs"},{kind:"MdxPage",name:"prisma",route:"/docs/utilization/prisma"},{kind:"MdxPage",name:"trpc",route:"/docs/utilization/trpc"},{kind:"Meta",data:{nestjs:"NestJS",prisma:"Prisma",trpc:"tRPC"}}]},{kind:"Folder",name:"validators",route:"/docs/validators",children:[{kind:"MdxPage",name:"assert",route:"/docs/validators/assert"},{kind:"MdxPage",name:"is",route:"/docs/validators/is"},{kind:"MdxPage",name:"tags",route:"/docs/validators/tags"},{kind:"MdxPage",name:"validate",route:"/docs/validators/validate"},{kind:"Meta",data:{assert:"assert() function",is:"is() function",validate:"validate() function",tags:"Special Tags"}}]},{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction",setup:"\uD83D\uDCE6 Setup",pure:"⛲ Pure TypeScript","-- features":{type:"separator",title:"\uD83D\uDCD6 Features"},validators:"Runtime Validators",json:"Enhanced JSON",protobuf:"Protocol Buffer",random:"Random Generator",misc:"Miscellaneous","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},utilization:"Utilization Cases",benchmark:{title:"⇲ Benchmark Result",href:"https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz",newWindow:!0},articles:{title:"⇲ dev.to Articles",href:"https://dev.to/samchon/series/22474",newWindow:!0}}}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"playground",route:"/playground",children:[{kind:"MdxPage",name:"index",route:"/playground"},{kind:"Meta",data:{index:{title:"Typia Playground",theme:{layout:"raw",footer:!1}}}}]},{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden"},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"page"},contact:{title:"✉ Contact Me",type:"page",href:"mailto:samchon.github@gmail.com"}}}],flexsearch:{codeblocks:!0},title:"Validate",headings:x},pageNextRoute:"/docs/validators/validate",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(k)},68426:function(s,e,r){"use strict";var o=r(85893);r(67294),e.Z={logo:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:32,height:32}),(0,o.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:10,paddingRight:10},children:"Typia"}),(0,o.jsx)("span",{children:"Superfast Runtime Validator"})]}),project:{link:"https://github.com/samchon/typia"},docsRepositoryBase:"https://github.com/samchon/typia/blob/master/website",footer:{text:()=>(0,o.jsxs)("span",{children:["Made by"," ",(0,o.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"blue"},children:(0,o.jsx)("u",{children:" Samchon "})})]})},useNextSeoProps:()=>({defaultTitle:"Typia Guide Documents",titleTemplate:"Typia Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"Typia Guide Documents"},{property:"og:description",content:"Superfast Runtime Validator with only one line"},{property:"og:site_name",content:"Typia Guide Documents"},{property:"og:url",content:"https://typia.io"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://typia.io/og.jpg"},{name:"twitter:title",content:"Typia Guide Documents"},{name:"twitter:description",content:"Superfast Runtime Validator with only one line"},{name:"twitter:site",content:"@SamchonGithub"}]})}}},function(s){s.O(0,[626,71,774,888,179],function(){return s(s.s=42608)}),_N_E=s.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[489],{4215:function(s,e,r){"use strict";r.d(e,{Z:function(){return N}});var o=r(87462),l=r(63366),n=r(67294),i=r(90512),t=r(94780),c=r(90948),a=r(71657),h=r(39707),x=r(98216),k=r(1588),d=r(27621);function getTypographyUtilityClass(s){return(0,d.Z)("MuiTypography",s)}(0,k.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var p=r(85893);let y=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],useUtilityClasses=s=>{let{align:e,gutterBottom:r,noWrap:o,paragraph:l,variant:n,classes:i}=s,c={root:["root",n,"inherit"!==s.align&&`align${(0,x.Z)(e)}`,r&&"gutterBottom",o&&"noWrap",l&&"paragraph"]};return(0,t.Z)(c,getTypographyUtilityClass,i)},j=(0,c.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:(s,e)=>{let{ownerState:r}=s;return[e.root,r.variant&&e[r.variant],"inherit"!==r.align&&e[`align${(0,x.Z)(r.align)}`],r.noWrap&&e.noWrap,r.gutterBottom&&e.gutterBottom,r.paragraph&&e.paragraph]}})(({theme:s,ownerState:e})=>(0,o.Z)({margin:0},"inherit"===e.variant&&{font:"inherit"},"inherit"!==e.variant&&s.typography[e.variant],"inherit"!==e.align&&{textAlign:e.align},e.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},e.gutterBottom&&{marginBottom:"0.35em"},e.paragraph&&{marginBottom:16})),v={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},u={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},transformDeprecatedColors=s=>u[s]||s,m=n.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiTypography"}),n=transformDeprecatedColors(r.color),t=(0,h.Z)((0,o.Z)({},r,{color:n})),{align:c="inherit",className:x,component:k,gutterBottom:d=!1,noWrap:u=!1,paragraph:m=!1,variant:w="body1",variantMapping:g=v}=t,f=(0,l.Z)(t,y),N=(0,o.Z)({},t,{align:c,color:n,className:x,component:k,gutterBottom:d,noWrap:u,paragraph:m,variant:w,variantMapping:g}),b=k||(m?"p":g[w]||v[w])||"span",_=useUtilityClasses(N);return(0,p.jsx)(j,(0,o.Z)({as:b,ref:e,ownerState:N,className:(0,i.Z)(_.root,x)},f))});function getAlertTitleUtilityClass(s){return(0,d.Z)("MuiAlertTitle",s)}(0,k.Z)("MuiAlertTitle",["root"]);let w=["className"],AlertTitle_useUtilityClasses=s=>{let{classes:e}=s;return(0,t.Z)({root:["root"]},getAlertTitleUtilityClass,e)},g=(0,c.ZP)(m,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(s,e)=>e.root})(({theme:s})=>({fontWeight:s.typography.fontWeightMedium,marginTop:-2})),f=n.forwardRef(function(s,e){let r=(0,a.Z)({props:s,name:"MuiAlertTitle"}),{className:n}=r,t=(0,l.Z)(r,w),c=AlertTitle_useUtilityClasses(r);return(0,p.jsx)(g,(0,o.Z)({gutterBottom:!0,component:"div",ownerState:r,ref:e,className:(0,i.Z)(c.root,n)},t))});var N=f},42608:function(s,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/validators/validate",function(){return r(73781)}])},73781:function(s,e,r){"use strict";r.r(e),r.d(e,{__toc:function(){return x}});var o=r(85893),l=r(92673),n=r(8441),i=r(68426);r(29128);var t=r(82643),c=r(39013),a=r(40843),h=r(4215);let x=[{depth:2,value:"validate() function",id:"validate-function"},{depth:2,value:"validateEquals() function",id:"validateequals-function"},{depth:2,value:"Reusable functions",id:"reusable-functions"},{depth:2,value:"Restrictions",id:"restrictions"},{depth:2,value:"Discriminated Union",id:"discriminated-union"},{depth:2,value:"Customization",id:"customization"},{depth:2,value:"Performance",id:"performance"}];function _createMdxContent(s){let e=Object.assign({h2:"h2",code:"code",pre:"pre",span:"span",p:"p",ul:"ul",li:"li",strong:"strong",a:"a",img:"img",blockquote:"blockquote",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td"},(0,t.a)(),s.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e.h2,{id:"validate-function",children:[(0,o.jsx)(e.code,{children:"validate()"})," function"]}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Validates a value type."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.validate()"})," function validates ",(0,o.jsx)(e.code,{children:"input"})," value type, and archives every type errors detaily into ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array, when the ",(0,o.jsx)(e.code,{children:"input"})," value is not following the promised type ",(0,o.jsx)(e.code,{children:"T"}),". Of course, if the parametric ",(0,o.jsx)(e.code,{children:"input"})," value is following the type ",(0,o.jsx)(e.code,{children:"T"}),", ",(0,o.jsx)(e.code,{children:"IValidation.ISuccess"})," instance would be returned."]}),"\n",(0,o.jsxs)(e.p,{children:["In the below example case, as ",(0,o.jsx)(e.code,{children:"id"})," and ",(0,o.jsx)(e.code,{children:"age"})," values are different with its definition of ",(0,o.jsx)(e.code,{children:"IMember"}),", such errors would be archived into the ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[0]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.id"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:'string & Format<"uuid">'})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": 5"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[1]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.age"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:'number & Format<"uint32">'})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": 20.75"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsxs)(a.Z,{severity:"success",children:[(0,o.jsx)(h.Z,{children:(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"AOT compliation"})})}),(0,o.jsxs)(e.p,{children:["If you'd used other competitive validator libraries like ",(0,o.jsx)(e.code,{children:"ajv"})," or ",(0,o.jsx)(e.code,{children:"class-validator"}),", you may found that ",(0,o.jsx)(e.code,{children:"typia"})," does not require any extra schema definition. If you have not experienced them, I can sure that you may get shocked after reading below extra schema definition files."]}),(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"ajv"})," requires ",(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/schemas/json/swagger/ObjectHierarchical.json",children:"JSON schema definition"}),"."]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"class-validator"})," requires ",(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/benchmark/structures/class-validator/ClassValidatorObjectHierarchical.ts",children:"DTO class with decorator function calls"}),"."]}),"\n"]}),(0,o.jsxs)(e.p,{children:["Yeah, ",(0,o.jsx)(e.code,{children:"typia"})," needs only pure TypeScript type. As ",(0,o.jsx)(e.code,{children:"typia"})," is a compiler library, it can analyze TypeScript type by itself, and possible to write the optimal validation code like below. This is the key principle of ",(0,o.jsx)(e.code,{children:"typia"}),", which needs only one line with pure TypeScript type."]})]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/validate.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// wrong, must be string (uuid)"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20.75"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// wrong, not integer"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/validate.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"uuid\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"uuid\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"email\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"email\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'number & Type<\"uint32\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & ExclusiveMinimum<19>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & Maximum<100>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})({"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"5"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"20.75"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]})]})})})]}),"\n",(0,o.jsxs)(e.h2,{id:"validateequals-function",children:[(0,o.jsx)(e.code,{children:"validateEquals()"})," function"]}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"More strict validatae function prohibiting superfluous properties."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.validate"})," function detects every type errors of ",(0,o.jsx)(e.code,{children:"input"})," value, however, it can't detect superfluous properties. If you want to prohibit those superfluous properties, so that archive them into ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array, use ",(0,o.jsx)(e.code,{children:"typia.validateEquals()"})," function instead."]}),"\n",(0,o.jsxs)(e.p,{children:["In the below example case, as ",(0,o.jsx)(e.code,{children:"id"})," property is different with its type definition and ",(0,o.jsx)(e.code,{children:"sex"})," property is not defined in the ",(0,o.jsx)(e.code,{children:"IMember"})," type, such errors would be archived into the ",(0,o.jsx)(e.code,{children:"IValidation.IFailure.errors"})," array:"]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[0]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.id"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:"string (@format uuid)"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": ",(0,o.jsx)(e.code,{children:"something"})]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"errors[1]"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"path"}),": ",(0,o.jsx)(e.code,{children:"input.sex"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"expected"}),": ",(0,o.jsx)(e.code,{children:"undefined"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"value"}),": ",(0,o.jsx)(e.code,{children:"1"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/validateEquals.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">({"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// wrong, must be string (uuid)"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// extra property"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/validateEquals.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((key) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".some"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((prop) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" key "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" prop))"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input[key];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }));"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$io0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".join;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"uuid\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"uuid\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"email\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"email\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'number & Type<\"uint32\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & ExclusiveMinimum<19>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & Maximum<100>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"3"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".keys"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((key) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".some"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (prop) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" key "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" prop"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input[key];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(key)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"undefined"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"})({"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"30"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"samchon.github@gmail.com"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" sex"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// extra property"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"});"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"console"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".log"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"res"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors);"})]})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"reusable-functions",children:"Reusable functions"}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> = (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"createValidateEquals"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> = (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsxs)(e.p,{children:["Reusable ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function generators."]}),"\n",(0,o.jsxs)(e.p,{children:["If you repeat to call ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function on the same type, size of JavaScript files would be larger because of duplicated AOT compilation. To prevent it, you can generate reusable function through ",(0,o.jsx)(e.code,{children:"typia.createValidate()"})," function."]}),"\n",(0,o.jsx)(e.p,{children:"Just look at the code below, then you may understand how to use it."}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/createValidate.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uuid"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Format"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"uint32"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ExclusiveMinimum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Maximum"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/createValidate.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"3",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateMember "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateMember"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(?:[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{8}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{4}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[1-5][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[89ab][0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{3}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"-[0-9a-f]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{12}|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"00000000-0000-0000-0000-000000000000)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"uuid\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".id"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"uuid\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".id"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"((["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"(.["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"*"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'(".'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"))@((['}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".)"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"^"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'<>()[].,;:s@"]'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"{2,}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"i"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".test"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Format<\"email\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".email"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Format<\"email\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".email"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Math"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".floor"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"4294967295"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'number & Type<\"uint32\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"19"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & ExclusiveMinimum<19>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"100"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & Maximum<100>"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".age"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(number & Type<\"uint32\"> & ExclusiveMinimum<19> & Maximum<100>)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".age"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"IMember"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateMember "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validateMember;"})]})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"restrictions",children:"Restrictions"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.validate()"})," function does not check ",(0,o.jsx)(e.code,{children:"function"})," and user-defined ",(0,o.jsx)(e.code,{children:"class"})," types."]}),"\n",(0,o.jsxs)(e.p,{children:["It validates only the primitive properties. Therefore, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function does not perform the ",(0,o.jsx)(e.code,{children:"instanceof ClassName"})," for user-defined classes. If you want to validate the user-defined class type in addition to the property types, do it by yourself. Also, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function does not validate the function type either, unless configuring ",(0,o.jsx)(e.code,{children:"functional"})," property of ",(0,o.jsx)(e.code,{children:"plugin"})," option in the ",(0,o.jsx)(e.code,{children:"tsconfig.json"})," file."]}),"\n",(0,o.jsx)(e.pre,{"data-language":"json","data-theme":"default",filename:"tsconfig.json",children:(0,o.jsxs)(e.code,{"data-language":"json","data-theme":"default",children:[(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"compilerOptions"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"plugins"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"transform"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia/lib/transform"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:'"functional"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,o.jsx)(e.p,{children:"By the way, there're some exception cases."}),"\n",(0,o.jsxs)(e.p,{children:["If JS native class type like ",(0,o.jsx)(e.code,{children:"Date"}),", ",(0,o.jsx)(e.code,{children:"Uint8Array"}),", or ",(0,o.jsx)(e.code,{children:"Map"})," being utilized, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function validates them. Especially about the ",(0,o.jsx)(e.code,{children:"Set"}),", and ",(0,o.jsx)(e.code,{children:"Map"})," class cases, ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function validates all of their contained element types, too."]}),"\n",(0,o.jsxs)(e.p,{children:["Therefore, the ",(0,o.jsx)(e.code,{children:"instanceof"})," statement does not be used only for the user-defined classes."]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/is-map.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"1",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createIs"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"boolean"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">>();"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/is-map.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"instanceof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Map"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (() "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"input]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (elem) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Array"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".isArray"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(elem) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"elem"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"boolean"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" elem["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"])"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ))()"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"discriminated-union",children:"Discriminated Union"}),"\n",(0,o.jsxs)(c.mQ,{items:[(0,o.jsx)(e.code,{children:"typia"}),(0,o.jsx)(e.code,{children:"IValidation.ts"})],defaultIndex:1,children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">()"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"namespace"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ISuccess"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"T"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IFailure"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"[];"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IError"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"any"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})})]}),"\n",(0,o.jsx)(e.p,{children:"Specify type through if condition."}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"typia.IValidation"})," is an union type of ",(0,o.jsx)(e.code,{children:"typia.IValidation.ISuccess"})," and ",(0,o.jsx)(e.code,{children:"typia.IValidation.IFailure"}),". Also, they have a common property ",(0,o.jsx)(e.code,{children:"success"})," of boolean type, but different literal values. In that case, if you write a ",(0,o.jsx)(e.code,{children:"if condition"})," about the ",(0,o.jsx)(e.code,{children:"success"})," property, you can specify the union type like below."]}),"\n",(0,o.jsxs)(e.p,{children:['In TypeScript, such union type specification through common property (of different literal value() is called "Discriminated Union". Therefore, when using ',(0,o.jsx)(e.code,{children:"typia.validate()"})," function, let's utilize such discriminated union specification for convenience."]}),"\n",(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-language":"typescript","data-theme":"default",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"something"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"unknown"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"..."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"result"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IValidation"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">(something);"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"results"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".success) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// become typia.IValidation.Success type"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"result"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".data; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// accessible"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// become typia.IValidation.Failure type"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"result"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".errors; "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//accessible"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,o.jsx)(e.h2,{id:"customization",children:"Customization"}),"\n",(0,o.jsx)(e.p,{children:"You can enhance validation logic by special tags."}),"\n",(0,o.jsx)(e.p,{children:"Also, with those tags, you can add your custom validation logic, too."}),"\n",(0,o.jsx)(e.p,{children:"If you want to know about such special tags detaily, read below article:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"./tags/",children:"Special Tags"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#outline",children:"Outline"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#type-tags",children:"Type Tags"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#comment-tags",children:"Comment Tags"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"./tags/#customization",children:"Customization"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(c.mQ,{items:["TypeScript Source Code","Compiled JavaScript File"],children:[(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"typescript","data-theme":"default",filename:"examples/src/validate-custom-tags.ts",hasCopyCode:!0,children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"typescript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { tags } "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"validateSomething"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Something"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">();"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// DEFINE CUSTOM TYPE TAGS"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input[0] === "$" && !isNaN(Number($input.substring(1).split(",").join("")))`'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"postfix"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'`$input.endsWith("'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'")`'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IsEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"tags"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"TagBase"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<{"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" kind"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"isEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" target"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"bigint"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`$input % "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" === "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}>;"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Numeric"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"bigint"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"> "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"extends"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`BigInt("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:")`"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:" "}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// VALIDATION"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"//----"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"interface"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Something"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"string"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"!!!"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" isEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"IsEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"<"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:">;"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})}),(0,o.jsx)(c.OK,{children:(0,o.jsx)(e.pre,{"data-language":"javascript","data-theme":"default",filename:"examples/bin/validate-custom-tags.js",children:(0,o.jsxs)(e.code,{"data-line-numbers":"","data-language":"javascript","data-theme":"default","data-line-numbers-max-digits":"2",children:[(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"use strict"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" __importDefault "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"this"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__importDefault) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (mod) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"mod"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".__esModule "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" mod };"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"Object"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".defineProperty"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"__esModule"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" { value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" });"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateSomething "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"void"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__importDefault"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"require"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"typia"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"));"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"validateSomething"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".split"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'","'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"!!!"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"%"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"__is"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input)) {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"typia_1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"default"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"createValidate"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(errors);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _exceptionable "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ["})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" (("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar["}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"] "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"isNaN"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"Number"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".substring"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".split"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'","'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".join"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" )) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string & Dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".dollar"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"(string & Dollar)"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".dollar"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".endsWith"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"!!!"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:") "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".postfix"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'string & Postfix<\"!!!\">'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".postfix"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'(string & Postfix<\"!!!\">)'"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".postfix"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"%"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".isEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"number & IsEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }))) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(_exceptionable"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'".isEven"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"(number & IsEven)"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".isEven"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ]"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".every"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"((flag) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" flag);"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ("})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" ((("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"typeof"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"null"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!=="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$vo0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:")) "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"||"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"$report"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" path"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" _path "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"+"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'""'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" expected"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Something"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" value"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" );"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" })(input"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"$input"'}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"true"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:");"})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" errors"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" data"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" success "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" input "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"undefined"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" };"})}),"\n",(0,o.jsx)(e.span,{className:"line",children:(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:"};"})}),"\n",(0,o.jsxs)(e.span,{className:"line",children:[(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"exports"}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:".validateSomething "}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(e.span,{style:{color:"var(--shiki-color-text)"},children:" validateSomething;"})]})]})})})]}),"\n",(0,o.jsx)(e.h2,{id:"performance",children:"Performance"}),"\n",(0,o.jsx)(e.p,{children:"Super-fast and super-safe."}),"\n",(0,o.jsxs)(e.p,{children:["Comparing ",(0,o.jsx)(e.code,{children:"typia.validate()"})," function with other competitive libraries, maximum 20,000x faster."]}),"\n",(0,o.jsxs)(e.p,{children:["Furthermore, only ",(0,o.jsx)(e.code,{children:"typia"})," can validate complicate union types."]}),"\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.img,{src:"https://github.com/samchon/typia/raw/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz/images/validate.svg",alt:"validate Function Benchmark"})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:["Measured on ",(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz#validate",children:"Intel i5-1135g7, Surface Pro 8"})]}),"\n"]}),"\n",(0,o.jsxs)(e.table,{children:[(0,o.jsx)(e.thead,{children:(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.th,{children:"Components"}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"typia"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"TypeBox"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"ajv"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"io-ts"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"zod"})}),(0,o.jsx)(e.th,{children:(0,o.jsx)(e.code,{children:"C.V."})})]})}),(0,o.jsxs)(e.tbody,{children:[(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.strong,{children:"Easy to use"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectSimple.ts",children:"Object (simple)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectHierarchical.ts",children:"Object (hierarchical)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectRecursive.ts",children:"Object (recursive)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectUnionImplicit.ts",children:"Object (union, implicit)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ObjectUnionExplicit.ts",children:"Object (union, explicit)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/#comment-tags",children:"Object (additional tags)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/TemplateUnion.ts",children:"Object (template literal types)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/DynamicTemplate.ts",children:"Object (dynamic properties)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/TupleRestAtomic.ts",children:"Array (rest tuple)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayHierarchical.ts",children:"Array (hierarchical)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRecursive.ts",children:"Array (recursive)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRecursiveUnionExplicit.ts",children:"Array (recursive, union)"})}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"✔"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRecursiveUnionImplicit.ts",children:"Array (R+U, implicit)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/src/structures/ArrayRepeatedNullable.ts",children:"Array (repeated)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/test/structures/ArrayRepeatedUnionWithTuple.ts",children:"Array (repeated, union)"})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]}),(0,o.jsxs)(e.tr,{children:[(0,o.jsx)(e.td,{children:(0,o.jsx)(e.a,{href:"https://github.com/samchon/typia/blob/master/src/schemas/IJsonSchema.ts",children:(0,o.jsx)(e.strong,{children:"Ultimate Union Type"})})}),(0,o.jsx)(e.td,{children:"✅"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"}),(0,o.jsx)(e.td,{children:"❌"})]})]})]}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.code,{children:"C.V."})," means ",(0,o.jsx)(e.code,{children:"class-validator"})]}),"\n"]})]})}let k={MDXContent:function(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,t.a)(),s.components);return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(_createMdxContent,{...s})}):_createMdxContent(s)},pageOpts:{filePath:"pages/docs/validators/validate.mdx",route:"/docs/validators/validate",timestamp:1702033222e3,pageMap:[{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"MdxPage",name:"index",route:"/docs"},{kind:"Folder",name:"json",route:"/docs/json",children:[{kind:"MdxPage",name:"parse",route:"/docs/json/parse"},{kind:"MdxPage",name:"schema",route:"/docs/json/schema"},{kind:"MdxPage",name:"stringify",route:"/docs/json/stringify"},{kind:"Meta",data:{stringify:"stringify() functions",parse:"parse() functions",schema:"JSON Schema"}}]},{kind:"MdxPage",name:"misc",route:"/docs/misc"},{kind:"Folder",name:"protobuf",route:"/docs/protobuf",children:[{kind:"MdxPage",name:"decode",route:"/docs/protobuf/decode"},{kind:"MdxPage",name:"encode",route:"/docs/protobuf/encode"},{kind:"MdxPage",name:"message",route:"/docs/protobuf/message"},{kind:"Meta",data:{message:"Message Schema",encode:"encode() functions",decode:"decode() functions"}}]},{kind:"MdxPage",name:"pure",route:"/docs/pure"},{kind:"MdxPage",name:"random",route:"/docs/random"},{kind:"MdxPage",name:"setup",route:"/docs/setup"},{kind:"Folder",name:"utilization",route:"/docs/utilization",children:[{kind:"MdxPage",name:"nestjs",route:"/docs/utilization/nestjs"},{kind:"MdxPage",name:"prisma",route:"/docs/utilization/prisma"},{kind:"MdxPage",name:"trpc",route:"/docs/utilization/trpc"},{kind:"Meta",data:{nestjs:"NestJS",prisma:"Prisma",trpc:"tRPC"}}]},{kind:"Folder",name:"validators",route:"/docs/validators",children:[{kind:"MdxPage",name:"assert",route:"/docs/validators/assert"},{kind:"MdxPage",name:"is",route:"/docs/validators/is"},{kind:"MdxPage",name:"tags",route:"/docs/validators/tags"},{kind:"MdxPage",name:"validate",route:"/docs/validators/validate"},{kind:"Meta",data:{assert:"assert() function",is:"is() function",validate:"validate() function",tags:"Special Tags"}}]},{kind:"Meta",data:{index:"\uD83D\uDE4B\uD83C\uDFFB‍♂️ Introduction",setup:"\uD83D\uDCE6 Setup",pure:"⛲ Pure TypeScript","-- features":{type:"separator",title:"\uD83D\uDCD6 Features"},validators:"Runtime Validators",json:"Enhanced JSON",protobuf:"Protocol Buffer",random:"Random Generator",misc:"Miscellaneous","-- appendix":{type:"separator",title:"\uD83D\uDD17 Appendix"},utilization:"Utilization Cases",benchmark:{title:"⇲ Benchmark Result",href:"https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz",newWindow:!0},articles:{title:"⇲ dev.to Articles",href:"https://dev.to/samchon/series/22474",newWindow:!0}}}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"Folder",name:"playground",route:"/playground",children:[{kind:"MdxPage",name:"index",route:"/playground"},{kind:"Meta",data:{index:{title:"Typia Playground",theme:{layout:"raw",footer:!1}}}}]},{kind:"Meta",data:{index:{title:"Introduction",type:"page",hidden:!0,display:"hidden"},docs:{title:"\uD83D\uDCD6 Guide Documents",type:"page"},playground:{title:"\uD83D\uDCBB Playground",type:"page"},contact:{title:"✉ Contact Me",type:"page",href:"mailto:samchon.github@gmail.com"}}}],flexsearch:{codeblocks:!0},title:"Validate",headings:x},pageNextRoute:"/docs/validators/validate",nextraLayout:n.ZP,themeConfig:i.Z};e.default=(0,l.j)(k)},68426:function(s,e,r){"use strict";var o=r(85893);r(67294),e.Z={logo:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("img",{src:"/favicon/android-chrome-192x192.png",width:32,height:32}),(0,o.jsx)("span",{style:{fontWeight:"bold",fontSize:"1.2rem",paddingLeft:10,paddingRight:10},children:"Typia"}),(0,o.jsx)("span",{children:"Superfast Runtime Validator"})]}),project:{link:"https://github.com/samchon/typia"},docsRepositoryBase:"https://github.com/samchon/typia/blob/master/website",footer:{text:()=>(0,o.jsxs)("span",{children:["Made by"," ",(0,o.jsx)("a",{href:"https://github.com/samchon",target:"_blank",style:{color:"blue"},children:(0,o.jsx)("u",{children:" Samchon "})})]})},useNextSeoProps:()=>({defaultTitle:"Typia Guide Documents",titleTemplate:"Typia Guide Documents - %s",additionalLinkTags:[{rel:"apple-touch-icon",sizes:"180x180",href:"/favicon/apple-touch-icon.png"},{rel:"manifest",href:"/favicon/site.webmanifest"},...[16,32].map(s=>({rel:"icon",type:"image/png",sizes:"".concat(s,"x").concat(s),href:"/favicon/favicon-".concat(s,"x").concat(s,".png")}))],additionalMetaTags:[{property:"og:image",content:"/og.jpg"},{property:"og:type",content:"object"},{property:"og:title",content:"Typia Guide Documents"},{property:"og:description",content:"Superfast Runtime Validator with only one line"},{property:"og:site_name",content:"Typia Guide Documents"},{property:"og:url",content:"https://typia.io"},{name:"twitter:card",content:"summary"},{name:"twitter:image",content:"https://typia.io/og.jpg"},{name:"twitter:title",content:"Typia Guide Documents"},{name:"twitter:description",content:"Superfast Runtime Validator with only one line"},{name:"twitter:site",content:"@SamchonGithub"}]})}}},function(s){s.O(0,[626,71,774,888,179],function(){return s(s.s=42608)}),_N_E=s.O()}]); \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index dd5cd0f4e9..5ccd61a7b7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
🙋🏻‍♂️ Introduction

Outline

+
\ No newline at end of file +

Backers (opens in a new tab)

\ No newline at end of file diff --git a/docs/json/parse/index.html b/docs/json/parse/index.html index 13bfaeefb8..88b7b9ca81 100644 --- a/docs/json/parse/index.html +++ b/docs/json/parse/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Enhanced JSON
parse() functions

parse() functions

+
📖 Guide Documents
Enhanced JSON
parse() functions

parse() functions

export namespace json {
     export function isParse<T>(input: string): Primitive<T> | null;
     export function assertParse<T>(input: string): Primitive<T>;
@@ -69,4 +69,4 @@ 

& tags.Type<"uint32"> & tags.ExclusiveMinimum<19> & tags.Maximum<100>; -}

\ No newline at end of file +}
\ No newline at end of file diff --git a/docs/json/schema/index.html b/docs/json/schema/index.html index 1d68bd67b2..ab8189834d 100644 --- a/docs/json/schema/index.html +++ b/docs/json/schema/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Enhanced JSON
JSON Schema

application() function

+
📖 Guide Documents
Enhanced JSON
JSON Schema

application() function

export namespace json {
     export function application<
         Schemas extends unknown[],
@@ -162,4 +162,4 @@ 

bytes: Uint8Array; map: Map<string, number>; } -typia.json.application<[Native], "ajv">();

\ No newline at end of file +typia.json.application<[Native], "ajv">();
\ No newline at end of file diff --git a/docs/json/stringify/index.html b/docs/json/stringify/index.html index 65f62e729f..d2e16c95f8 100644 --- a/docs/json/stringify/index.html +++ b/docs/json/stringify/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Enhanced JSON
stringify() functions

stringify() functions

+
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/misc/index.html b/docs/misc/index.html index 0f8a599478..1fe6a2be35 100644 --- a/docs/misc/index.html +++ b/docs/misc/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Miscellaneous

misc module

+
📖 Guide Documents
Miscellaneous

misc module

clone() functions

export namespace misc {
     export function clone<T>(input: T): T;
@@ -372,4 +372,4 @@ 
\ No newline at end of file +typia.http.createParameter<number & tags.Type<"uint32">>();
\ No newline at end of file diff --git a/docs/protobuf/decode/index.html b/docs/protobuf/decode/index.html index f5c4b99275..6393bcda02 100644 --- a/docs/protobuf/decode/index.html +++ b/docs/protobuf/decode/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Protocol Buffer
decode() functions

decode() functions

+
📖 Guide Documents
Protocol Buffer
decode() functions

decode() functions

export namespace protobuf {
     export function decode<T>(buffer: Uint8Array): Resolved<T>;
     export function isDecode<T>(buffer: Uint8Array): Resolved<T> | null;
@@ -120,4 +120,4 @@ 

Restrictions -

\ No newline at end of file +
\ No newline at end of file diff --git a/docs/protobuf/encode/index.html b/docs/protobuf/encode/index.html index 3d07205d4e..00cdad94cc 100644 --- a/docs/protobuf/encode/index.html +++ b/docs/protobuf/encode/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Protocol Buffer
encode() functions

encode() functions

+
📖 Guide Documents
Protocol Buffer
encode() functions

encode() functions

export namespace protobuf {
     export function encode<T>(input: T): Uint8Array;
     export function isEncode<T>(input: T): Uint8Array | null;
@@ -111,4 +111,4 @@ 

Restrictions -

\ No newline at end of file +
\ No newline at end of file diff --git a/docs/protobuf/message/index.html b/docs/protobuf/message/index.html index 221865504d..e10ab7e3cb 100644 --- a/docs/protobuf/message/index.html +++ b/docs/protobuf/message/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Protocol Buffer
Message Schema

message() function

+
📖 Guide Documents
Protocol Buffer
Message Schema

message() function

export namespace protobuf {
     export function message<T>(): string;
 }
@@ -277,4 +277,4 @@

buffer: ArrayBuffer; } -typia.protobuf.message<Something>();

\ No newline at end of file +typia.protobuf.message<Something>();
\ No newline at end of file diff --git a/docs/pure/index.html b/docs/pure/index.html index 1692fd084c..817b909e9f 100644 --- a/docs/pure/index.html +++ b/docs/pure/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
⛲ Pure TypeScript

Pure TypeScript

+
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/random/index.html b/docs/random/index.html index 6681b80f17..d514e3cb42 100644 --- a/docs/random/index.html +++ b/docs/random/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Random Generator

random() function

+
📖 Guide Documents
Random Generator

random() function

export function random<T>(g?: IRandomGenerator): Resolved<T>;

You can make every random data just by calling typia.random<T>() function.

When you call the typia.random<T>() function, typia will analyze your type T, and writes optimal random generation code for the type T, in the compilation level. This is called AOT (Ahead of Time) compliation, and you may understand what it is just by reading below example code.

@@ -115,4 +115,4 @@

const value: number = Math.log($input) / denominator; return Math.abs(value - Math.round(value)) < 0.00000001; })()`; -}>;

\ No newline at end of file +}>;
\ No newline at end of file diff --git a/docs/setup/index.html b/docs/setup/index.html index db9a63eea6..a83c5927d3 100644 --- a/docs/setup/index.html +++ b/docs/setup/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
📦 Setup

Setup

+
\ No newline at end of file +};
\ No newline at end of file diff --git a/docs/utilization/nestjs/index.html b/docs/utilization/nestjs/index.html index 173ddfaa15..768edd969f 100644 --- a/docs/utilization/nestjs/index.html +++ b/docs/utilization/nestjs/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Utilization Cases
NestJS

Nestia (opens in a new tab) is a set of helper libraries for NestJS, supporting below features:

+
📖 Guide Documents
Utilization Cases
NestJS

Nestia (opens in a new tab) is a set of helper libraries for NestJS, supporting below features:

  • @nestia/core: superfast decorators using typia
  • @nestia/sdk: evolved SDK and Swagger generators
  • @@ -42,4 +42,4 @@
    • Left: NestJS server code
    • Right: Client code using SDK
    • -
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/utilization/prisma/index.html b/docs/utilization/prisma/index.html index 7ecbc36935..3dcededb4c 100644 --- a/docs/utilization/prisma/index.html +++ b/docs/utilization/prisma/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Utilization Cases
Prisma

Prisma

+
📖 Guide Documents
Utilization Cases
Prisma

Prisma

prisma.schema
model bbs_articles {
     id String @id @db.Uuid /// @format uuid
     created_at DateTime @db.Timestamptz
@@ -34,4 +34,4 @@
     article bbs_articles @relation(fields: [bbs_article_id], references: [id])
 }

When defining prisma.schema file, you can write comment tags just by using /// statement.

-

After the definition, you utillize some validate function like typia.assert<T>(), for type safe insertion.

\ No newline at end of file +

After the definition, you utillize some validate function like typia.assert<T>(), for type safe insertion.

\ No newline at end of file diff --git a/docs/utilization/trpc/index.html b/docs/utilization/trpc/index.html index b28764ea7d..44a1c82026 100644 --- a/docs/utilization/trpc/index.html +++ b/docs/utilization/trpc/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Utilization Cases
tRPC
import { initTRPC } from "@trpc/server";
+      
📖 Guide Documents
Utilization Cases
tRPC
import { initTRPC } from "@trpc/server";
 import { v4 } from "uuid";
 import typia from "typia";
  
@@ -33,4 +33,4 @@
             };
         })
 });
-export type AppRouter = typeof appRouter;
\ No newline at end of file +export type AppRouter = typeof appRouter;
\ No newline at end of file diff --git a/docs/validators/assert/index.html b/docs/validators/assert/index.html index 734da7afab..ef771b51a9 100644 --- a/docs/validators/assert/index.html +++ b/docs/validators/assert/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Runtime Validators
assert() function

assert() function

+
📖 Guide Documents
Runtime Validators
assert() function

assert() function

export function assert<T>(input: T): T;
 export function assert<T>(input: unknown): T;

Asserts a value type.

@@ -212,4 +212,4 @@

ComponentstypiaTypeBoxajvio-tszodC.V.Easy to use✅❌❌❌❌❌Object (simple) (opens in a new tab)✔✔✔✔✔✔Object (hierarchical) (opens in a new tab)✔✔✔✔✔✔Object (recursive) (opens in a new tab)✔❌✔✔✔✔Object (union, implicit) (opens in a new tab)✅❌❌❌❌❌Object (union, explicit) (opens in a new tab)✔✔✔✔✔❌Object (additional tags) (opens in a new tab)✔✔✔✔✔✔Object (template literal types) (opens in a new tab)✔✔✔❌❌❌Object (dynamic properties) (opens in a new tab)✔✔✔❌❌❌Array (rest tuple) (opens in a new tab)✅❌❌❌❌❌Array (hierarchical) (opens in a new tab)✔✔✔✔✔✔Array (recursive) (opens in a new tab)✔✔✔✔✔❌Array (recursive, union) (opens in a new tab)✔✔❌✔✔❌Array (R+U, implicit) (opens in a new tab)✅❌❌❌❌❌Array (repeated) (opens in a new tab)✅❌❌❌❌❌Array (repeated, union) (opens in a new tab)✅❌❌❌❌❌Ultimate Union Type (opens in a new tab)✅❌❌❌❌❌

C.V. means class-validator

-

\ No newline at end of file +
\ No newline at end of file diff --git a/docs/validators/is/index.html b/docs/validators/is/index.html index be3f58d8c7..8ed72df734 100644 --- a/docs/validators/is/index.html +++ b/docs/validators/is/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Runtime Validators
is() function

is() function

+
📖 Guide Documents
Runtime Validators
is() function

is() function

typia
export function is<T>(input: T): input is T;
 export function is<T>(input: unknown): input is T;

Tests a value type.

@@ -185,4 +185,4 @@

ComponentstypiaTypeBoxajvio-tszodC.V.Easy to use✅❌❌❌❌❌Object (simple) (opens in a new tab)✔✔✔✔✔✔Object (hierarchical) (opens in a new tab)✔✔✔✔✔✔Object (recursive) (opens in a new tab)✔❌✔✔✔✔Object (union, implicit) (opens in a new tab)✅❌❌❌❌❌Object (union, explicit) (opens in a new tab)✔✔✔✔✔❌Object (additional tags) (opens in a new tab)✔✔✔✔✔✔Object (template literal types) (opens in a new tab)✔✔✔❌❌❌Object (dynamic properties) (opens in a new tab)✔✔✔❌❌❌Array (rest tuple) (opens in a new tab)✅❌❌❌❌❌Array (hierarchical) (opens in a new tab)✔✔✔✔✔✔Array (recursive) (opens in a new tab)✔✔✔✔✔❌Array (recursive, union) (opens in a new tab)✔✔❌✔✔❌Array (R+U, implicit) (opens in a new tab)✅❌❌❌❌❌Array (repeated) (opens in a new tab)✅❌❌❌❌❌Array (repeated, union) (opens in a new tab)✅❌❌❌❌❌Ultimate Union Type (opens in a new tab)✅❌❌❌❌❌

C.V. means class-validator

-

\ No newline at end of file +
\ No newline at end of file diff --git a/docs/validators/tags/index.html b/docs/validators/tags/index.html index 7ba8651259..0ee0007e50 100644 --- a/docs/validators/tags/index.html +++ b/docs/validators/tags/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Runtime Validators
Special Tags

Outline

+
📖 Guide Documents
Runtime Validators
Special Tags

Outline

typia can perform additional validation through type tags and comment tags.

When you need additional validation logic that is not supported in pure TypeScript type spec, you can use type tags and comment tags for it. For example, if you define a type with intersection symbol like number & typia.tags.Type<"uint32"> and validates it, typia will check the target numeric value is unsigned integer or not.

Also, in TypeScript (and JavaScript), writing @ character in comment is called Comment Tag and typia utilizes such comment tags for enhancing type validation logic. As you can see from below example code, typia analyzes @tagName value patterned comment tags, and generates optimal validation logic in the compilation level.

@@ -265,7 +265,7 @@

string: string; /** - * @format /^[a-z]+$/ + * @Pattern /^[a-z]+$/ */ pattern: string; @@ -402,4 +402,4 @@

const value: number = Math.log($input) / denominator; return Math.abs(value - Math.round(value)) < 0.00000001; })()`; -}>;

\ No newline at end of file +}>;
\ No newline at end of file diff --git a/docs/validators/validate/index.html b/docs/validators/validate/index.html index 8b3ca6a8fd..847c38c82a 100644 --- a/docs/validators/validate/index.html +++ b/docs/validators/validate/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
📖 Guide Documents
Runtime Validators
validate() function

validate() function

+
📖 Guide Documents
Runtime Validators
validate() function

validate() function

export function validate<T>(input: T): IValidation<T>;
 export function validate<T>(input: unknown): IValidation<T>;

Validates a value type.

@@ -234,4 +234,4 @@

ComponentstypiaTypeBoxajvio-tszodC.V.Easy to use✅❌❌❌❌❌Object (simple) (opens in a new tab)✔✔✔✔✔✔Object (hierarchical) (opens in a new tab)✔✔✔✔✔✔Object (recursive) (opens in a new tab)✔❌✔✔✔✔Object (union, implicit) (opens in a new tab)✅❌❌❌❌❌Object (union, explicit) (opens in a new tab)✔✔✔✔✔❌Object (additional tags) (opens in a new tab)✔✔✔✔✔✔Object (template literal types) (opens in a new tab)✔✔✔❌❌❌Object (dynamic properties) (opens in a new tab)✔✔✔❌❌❌Array (rest tuple) (opens in a new tab)✅❌❌❌❌❌Array (hierarchical) (opens in a new tab)✔✔✔✔✔✔Array (recursive) (opens in a new tab)✔✔✔✔✔❌Array (recursive, union) (opens in a new tab)✔✔❌✔✔❌Array (R+U, implicit) (opens in a new tab)✅❌❌❌❌❌Array (repeated) (opens in a new tab)✅❌❌❌❌❌Array (repeated, union) (opens in a new tab)✅❌❌❌❌❌Ultimate Union Type (opens in a new tab)✅❌❌❌❌❌

C.V. means class-validator

-

\ No newline at end of file +
\ No newline at end of file diff --git a/index.html b/index.html index 54b13e7b50..545869bfb9 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
+
\ No newline at end of file +

Backers (opens in a new tab)

\ No newline at end of file diff --git a/playground/index.html b/playground/index.html index 30b4bb1434..b390388e15 100644 --- a/playground/index.html +++ b/playground/index.html @@ -11,4 +11,4 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
\ No newline at end of file +
\ No newline at end of file