[{"data":1,"prerenderedAt":1087},["ShallowReactive",2],{"navigation_docs":3,"-runtypes-type-formats-number":399},[4,162,346],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":24},"RPC","icon-park-outline:lightning","\u002Frpc","01.rpc",[10,25,63,77,102,136],{"title":11,"icon":12,"redirect":7,"path":13,"stem":14,"children":15,"page":24},"Introduction","icon-park-outline:home","\u002Frpc\u002Fintroduction","01.rpc\u002F01.introduction",[16,20],{"title":17,"path":18,"stem":19},"Quick Start","\u002Frpc\u002Fintroduction\u002Fquick-start","01.rpc\u002F01.introduction\u002F02.quick-start",{"title":21,"path":22,"stem":23},"Manual Install","\u002Frpc\u002Fintroduction\u002Fmanual-install","01.rpc\u002F01.introduction\u002F03.manual-install",false,{"title":26,"icon":27,"path":28,"stem":29,"children":30,"page":24},"Server","icon-park-outline:server","\u002Frpc\u002Fserver","01.rpc\u002F02.server",[31,35,39,43,47,51,55,59],{"title":32,"path":33,"stem":34},"Routes","\u002Frpc\u002Fserver\u002Froutes","01.rpc\u002F02.server\u002F01.routes",{"title":36,"path":37,"stem":38},"Middleware","\u002Frpc\u002Fserver\u002Fmiddleware","01.rpc\u002F02.server\u002F02.middleware",{"title":40,"path":41,"stem":42},"Call Context","\u002Frpc\u002Fserver\u002Fcall-context","01.rpc\u002F02.server\u002F03.call-context",{"title":44,"path":45,"stem":46},"Headers","\u002Frpc\u002Fserver\u002Fheaders","01.rpc\u002F02.server\u002F04.headers",{"title":48,"path":49,"stem":50},"Error Handling","\u002Frpc\u002Fserver\u002Ferror-handling","01.rpc\u002F02.server\u002F05.error-handling",{"title":52,"path":53,"stem":54},"Validation","\u002Frpc\u002Fserver\u002Fvalidation","01.rpc\u002F02.server\u002F06.validation",{"title":56,"path":57,"stem":58},"JSON Round Trip","\u002Frpc\u002Fserver\u002Fjson-round-trip","01.rpc\u002F02.server\u002F07.json-round-trip",{"title":60,"path":61,"stem":62},"Drizzle Tables","\u002Frpc\u002Fserver\u002Fdrizzle-tables","01.rpc\u002F02.server\u002F08.drizzle-tables",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":24},"Middlewares","icon-park-outline:link-one","\u002Frpc\u002Fmiddlewares","01.rpc\u002F03.middlewares",[69,73],{"title":70,"path":71,"stem":72},"fetchMetadata","\u002Frpc\u002Fmiddlewares\u002Ffetch-metadata","01.rpc\u002F03.middlewares\u002F01.fetch-metadata",{"title":74,"path":75,"stem":76},"syncRoutes","\u002Frpc\u002Fmiddlewares\u002Fsync-routes","01.rpc\u002F03.middlewares\u002F02.sync-routes",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":24},"Client","icon-park-outline:computer","\u002Frpc\u002Fclient","01.rpc\u002F04.client",[83,87,91,94,98],{"title":84,"path":85,"stem":86},"Client Overview","\u002Frpc\u002Fclient\u002Fclient-overview","01.rpc\u002F04.client\u002F00.client-overview",{"title":88,"path":89,"stem":90},"Client Middleware","\u002Frpc\u002Fclient\u002Fclient-middleware","01.rpc\u002F04.client\u002F01.client-middleware",{"title":48,"path":92,"stem":93},"\u002Frpc\u002Fclient\u002Ferror-handling","01.rpc\u002F04.client\u002F02.error-handling",{"title":95,"path":96,"stem":97},"Batch Requests","\u002Frpc\u002Fclient\u002Fbatch","01.rpc\u002F04.client\u002F03.batch",{"title":99,"path":100,"stem":101},"Cancellation & Timeouts","\u002Frpc\u002Fclient\u002Fcancellation-timeouts","01.rpc\u002F04.client\u002F04.cancellation-timeouts",{"title":103,"redirect":104,"icon":105,"path":106,"stem":107,"children":108,"page":24},"Platforms","\u002Frpc\u002Fplatforms\u002Fnode-js","icon-park-outline:play","\u002Frpc\u002Fplatforms","01.rpc\u002F06.platforms",[109,112,116,120,124,128,132],{"title":110,"path":104,"stem":111},"Node.js","01.rpc\u002F06.platforms\u002F01.node-js",{"title":113,"path":114,"stem":115},"Bun","\u002Frpc\u002Fplatforms\u002Fbun","01.rpc\u002F06.platforms\u002F02.bun",{"title":117,"path":118,"stem":119},"AWS Lambda","\u002Frpc\u002Fplatforms\u002Faws-lambda","01.rpc\u002F06.platforms\u002F03.aws-lambda",{"title":121,"path":122,"stem":123},"Google Cloud Functions","\u002Frpc\u002Fplatforms\u002Fgoogle-cloud-functions","01.rpc\u002F06.platforms\u002F04.google-cloud-functions",{"title":125,"path":126,"stem":127},"Cloudflare Workers","\u002Frpc\u002Fplatforms\u002Fcloudflare","01.rpc\u002F06.platforms\u002F05.cloudflare",{"title":129,"path":130,"stem":131},"Vercel","\u002Frpc\u002Fplatforms\u002Fvercel","01.rpc\u002F06.platforms\u002F06.vercel",{"title":133,"path":134,"stem":135},"uWebSockets.js","\u002Frpc\u002Fplatforms\u002Fuwebsockets","01.rpc\u002F06.platforms\u002F07.uwebsockets",{"title":137,"icon":138,"path":139,"stem":140,"children":141,"page":24},"Devtools","icon-park-outline:tool","\u002Frpc\u002Fdevtools","01.rpc\u002F07.devtools",[142,146,150,154,158],{"title":143,"path":144,"stem":145},"Linter","\u002Frpc\u002Fdevtools\u002Flinter","01.rpc\u002F07.devtools\u002F01.linter",{"title":147,"path":148,"stem":149},"Vite","\u002Frpc\u002Fdevtools\u002Fvite","01.rpc\u002F07.devtools\u002F02.vite",{"title":151,"path":152,"stem":153},"Next.js","\u002Frpc\u002Fdevtools\u002Fnextjs","01.rpc\u002F07.devtools\u002F03.nextjs",{"title":155,"path":156,"stem":157},"CLI","\u002Frpc\u002Fdevtools\u002Fcli","01.rpc\u002F07.devtools\u002F04.cli",{"title":159,"path":160,"stem":161},"API Types","\u002Frpc\u002Fdevtools\u002Fapi-types","01.rpc\u002F07.devtools\u002F05.api-types",{"title":163,"icon":164,"path":165,"stem":166,"children":167,"page":24},"RunTypes","i-lucide-braces","\u002Fruntypes","02.runtypes",[168,184,224,254,268,290,332],{"title":11,"icon":169,"redirect":165,"path":170,"stem":171,"children":172,"page":24},"i-lucide-rocket","\u002Fruntypes\u002Fintroduction","02.runtypes\u002F01.introduction",[173,177,180],{"title":174,"path":175,"stem":176},"Built on typescript-go","\u002Fruntypes\u002Fintroduction\u002Fbuilt-on-typescript-go","02.runtypes\u002F01.introduction\u002F02.built-on-typescript-go",{"title":17,"path":178,"stem":179},"\u002Fruntypes\u002Fintroduction\u002Fquick-start","02.runtypes\u002F01.introduction\u002F03.quick-start",{"title":181,"path":182,"stem":183},"Configuration","\u002Fruntypes\u002Fintroduction\u002Fconfiguration","02.runtypes\u002F01.introduction\u002F04.configuration",{"title":185,"icon":186,"redirect":187,"path":188,"stem":189,"children":190,"page":24},"Guide","i-lucide-book-open","\u002Fruntypes\u002Fguide\u002Ftype-builders","\u002Fruntypes\u002Fguide","02.runtypes\u002F02.guide",[191,194,198,201,204,208,212,216,220],{"title":192,"path":187,"stem":193},"Types vs Type Builders","02.runtypes\u002F02.guide\u002F01.type-builders",{"title":195,"path":196,"stem":197},"Reflection","\u002Fruntypes\u002Fguide\u002Freflection","02.runtypes\u002F02.guide\u002F02.reflection",{"title":52,"path":199,"stem":200},"\u002Fruntypes\u002Fguide\u002Fvalidation","02.runtypes\u002F02.guide\u002F03.validation",{"title":56,"path":202,"stem":203},"\u002Fruntypes\u002Fguide\u002Fjson-round-trip","02.runtypes\u002F02.guide\u002F04.json-round-trip",{"title":205,"path":206,"stem":207},"Data Mocking","\u002Fruntypes\u002Fguide\u002Fmocking","02.runtypes\u002F02.guide\u002F07.mocking",{"title":209,"path":210,"stem":211},"JSON Schemas","\u002Fruntypes\u002Fguide\u002Fjson-schemas","02.runtypes\u002F02.guide\u002F08.json-schemas",{"title":213,"path":214,"stem":215},"Pure Functions","\u002Fruntypes\u002Fguide\u002Fpure-functions","02.runtypes\u002F02.guide\u002F09.pure-functions",{"title":217,"path":218,"stem":219},"Compiler Markers","\u002Fruntypes\u002Fguide\u002Fcompiler-markers","02.runtypes\u002F02.guide\u002F10.compiler-markers",{"title":221,"path":222,"stem":223},"All Compiled Functions","\u002Fruntypes\u002Fguide\u002Fall-compiled-functions","02.runtypes\u002F02.guide\u002F11.all-compiled-functions",{"title":225,"icon":226,"redirect":227,"path":228,"stem":229,"children":230,"page":24},"Type Formats","i-lucide-shapes","\u002Fruntypes\u002Ftype-formats\u002Foverview","\u002Fruntypes\u002Ftype-formats","02.runtypes\u002F03.type-formats",[231,234,238,242,246,250],{"title":232,"path":227,"stem":233},"Overview","02.runtypes\u002F03.type-formats\u002F01.overview",{"title":235,"path":236,"stem":237},"String Formats","\u002Fruntypes\u002Ftype-formats\u002Fstring","02.runtypes\u002F03.type-formats\u002F02.string",{"title":239,"path":240,"stem":241},"Number Formats","\u002Fruntypes\u002Ftype-formats\u002Fnumber","02.runtypes\u002F03.type-formats\u002F03.number",{"title":243,"path":244,"stem":245},"BigInt Formats","\u002Fruntypes\u002Ftype-formats\u002Fbigint","02.runtypes\u002F03.type-formats\u002F04.bigint",{"title":247,"path":248,"stem":249},"Date and Time Formats","\u002Fruntypes\u002Ftype-formats\u002Fdate-time","02.runtypes\u002F03.type-formats\u002F05.date-time",{"title":251,"path":252,"stem":253},"Collection Formats","\u002Fruntypes\u002Ftype-formats\u002Fcollections","02.runtypes\u002F03.type-formats\u002F06.collections",{"title":255,"icon":256,"redirect":257,"path":258,"stem":259,"children":260,"page":24},"Tooling","i-lucide-wrench","\u002Fruntypes\u002Ftooling\u002Flinting","\u002Fruntypes\u002Ftooling","02.runtypes\u002F04.tooling",[261,264],{"title":262,"path":257,"stem":263},"Linting","02.runtypes\u002F04.tooling\u002F01.linting",{"title":265,"path":266,"stem":267},"Source Conversion","\u002Fruntypes\u002Ftooling\u002Fsource-conversion","02.runtypes\u002F04.tooling\u002F02.source-conversion",{"title":269,"icon":270,"redirect":271,"path":272,"stem":273,"children":274,"page":24},"AI Integration","i-lucide-sparkles","\u002Fruntypes\u002Fai-integration\u002Fworkflow-and-commands","\u002Fruntypes\u002Fai-integration","02.runtypes\u002F05.ai-integration",[275,278,282,286],{"title":276,"path":271,"stem":277},"AI Workflow","02.runtypes\u002F05.ai-integration\u002F01.workflow-and-commands",{"title":279,"path":280,"stem":281},"FriendlyText","\u002Fruntypes\u002Fai-integration\u002Ffriendly-text","02.runtypes\u002F05.ai-integration\u002F02.friendly-text",{"title":283,"path":284,"stem":285},"MockData","\u002Fruntypes\u002Fai-integration\u002Fmock-data","02.runtypes\u002F05.ai-integration\u002F03.mock-data",{"title":287,"path":288,"stem":289},"Translations (i18n)","\u002Fruntypes\u002Fai-integration\u002Fi18n","02.runtypes\u002F05.ai-integration\u002F04.i18n",{"title":291,"icon":292,"redirect":293,"path":294,"stem":295,"children":296,"page":24},"Drizzle ORM","i-lineicons-drizzle","\u002Fruntypes\u002Fdrizzle-orm\u002Fdrizzle-overview","\u002Fruntypes\u002Fdrizzle-orm","02.runtypes\u002F06.drizzle-orm",[297,300,304,308,312,316,320,324,328],{"title":298,"path":293,"stem":299},"Drizzle Overview","02.runtypes\u002F06.drizzle-orm\u002F00.drizzle-overview",{"title":301,"path":302,"stem":303},"Column Formats","\u002Fruntypes\u002Fdrizzle-orm\u002Fcolumn-formats","02.runtypes\u002F06.drizzle-orm\u002F01.column-formats",{"title":305,"path":306,"stem":307},"Views","\u002Fruntypes\u002Fdrizzle-orm\u002Fviews","02.runtypes\u002F06.drizzle-orm\u002F02.views",{"title":309,"path":310,"stem":311},"Indexes and Constraints","\u002Fruntypes\u002Fdrizzle-orm\u002Fconstraints","02.runtypes\u002F06.drizzle-orm\u002F03.constraints",{"title":313,"path":314,"stem":315},"Row Level Security","\u002Fruntypes\u002Fdrizzle-orm\u002Frow-level-security","02.runtypes\u002F06.drizzle-orm\u002F04.row-level-security",{"title":317,"path":318,"stem":319},"Relations","\u002Fruntypes\u002Fdrizzle-orm\u002Frelations","02.runtypes\u002F06.drizzle-orm\u002F05.relations",{"title":321,"path":322,"stem":323},"The Schema File","\u002Fruntypes\u002Fdrizzle-orm\u002Fschema-file","02.runtypes\u002F06.drizzle-orm\u002F06.schema-file",{"title":325,"path":326,"stem":327},"Migrate an Existing Schema","\u002Fruntypes\u002Fdrizzle-orm\u002Fmigrate-an-existing-schema","02.runtypes\u002F06.drizzle-orm\u002F07.migrate-an-existing-schema",{"title":329,"path":330,"stem":331},"Cloudflare D1 and Durable Objects","\u002Fruntypes\u002Fdrizzle-orm\u002Fcloudflare-storage","02.runtypes\u002F06.drizzle-orm\u002F08.cloudflare-storage",{"title":333,"icon":334,"redirect":335,"path":336,"stem":337,"children":338,"page":24},"Diagnostics","i-lucide-triangle-alert","\u002Fruntypes\u002Fdiagnostics\u002Ferror-levels","\u002Fruntypes\u002Fdiagnostics","02.runtypes\u002F08.diagnostics",[339,342],{"title":340,"path":335,"stem":341},"Error Levels","02.runtypes\u002F08.diagnostics\u002F01.error-levels",{"title":343,"path":344,"stem":345},"All Diagnostics","\u002Fruntypes\u002Fdiagnostics\u002Fall-diagnostics","02.runtypes\u002F08.diagnostics\u002F02.all-diagnostics",{"title":347,"icon":348,"path":349,"stem":350,"children":351,"page":24},"Benchmarks","i-lucide-gauge","\u002Fbenchmarks","03.benchmarks",[352,372],{"title":5,"icon":6,"redirect":353,"path":354,"stem":355,"children":356,"page":24},"\u002Fbenchmarks\u002Frpc\u002Fhello-world","\u002Fbenchmarks\u002Frpc","03.benchmarks\u002F02.rpc",[357,360,364,368],{"title":358,"path":353,"stem":359},"Hello World","03.benchmarks\u002F02.rpc\u002F01.hello-world",{"title":361,"path":362,"stem":363},"Light Validation","\u002Fbenchmarks\u002Frpc\u002Flight-validation","03.benchmarks\u002F02.rpc\u002F02.light-validation",{"title":365,"path":366,"stem":367},"Heavy Validation","\u002Fbenchmarks\u002Frpc\u002Fheavy-validation","03.benchmarks\u002F02.rpc\u002F03.heavy-validation",{"title":369,"path":370,"stem":371},"Payload Sizes","\u002Fbenchmarks\u002Frpc\u002Fpayload-sizes","03.benchmarks\u002F02.rpc\u002F04.payload-sizes",{"title":163,"icon":164,"redirect":373,"path":374,"stem":375,"children":376,"page":24},"\u002Fbenchmarks\u002Fruntypes\u002Fis-valid","\u002Fbenchmarks\u002Fruntypes","03.benchmarks\u002F03.runtypes",[377,380,384,388,392,395],{"title":378,"path":373,"stem":379},"Is Valid","03.benchmarks\u002F03.runtypes\u002F01.is-valid",{"title":381,"path":382,"stem":383},"Is Valid Formats","\u002Fbenchmarks\u002Fruntypes\u002Fis-valid-formats","03.benchmarks\u002F03.runtypes\u002F02.is-valid-formats",{"title":385,"path":386,"stem":387},"Get Errors","\u002Fbenchmarks\u002Fruntypes\u002Fget-errors","03.benchmarks\u002F03.runtypes\u002F03.get-errors",{"title":389,"path":390,"stem":391},"Get Errors Formats","\u002Fbenchmarks\u002Fruntypes\u002Fget-errors-formats","03.benchmarks\u002F03.runtypes\u002F04.get-errors-formats",{"title":56,"path":393,"stem":394},"\u002Fbenchmarks\u002Fruntypes\u002Fjson-round-trip","03.benchmarks\u002F03.runtypes\u002F05.json-round-trip",{"title":396,"path":397,"stem":398},"Type Checking","\u002Fbenchmarks\u002Fruntypes\u002Ftype-checking","03.benchmarks\u002F03.runtypes\u002F07.type-checking",{"id":400,"title":239,"body":401,"description":1081,"extension":1082,"links":1083,"meta":1084,"navigation":542,"path":240,"seo":1085,"stem":241,"__hash__":1086},"docs\u002F02.runtypes\u002F03.type-formats\u002F03.number.md",{"type":402,"value":403},"minimark",[404,409,432,622,740,753,756,762,976,980,1004,1077],[405,406,408],"h2",{"id":407},"named-number-formats","Named Number Formats",[410,411,412,413,417,418,421,422,425,426,431],"p",{},"Each format is a ",[414,415,416],"code",{},"TF.Number"," with its params set, and has a builder named in lowercase (",[414,419,420],{},"TF.int32()",", ",[414,423,424],{},"TF.positive()","). For your own bounds, see ",[427,428,430],"a",{"href":429},"#custom-number-formats","Custom Number Formats",".",[433,434,439],"pre",{"className":435,"code":436,"language":437,"meta":438,"style":438},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const isInt8 = createValidateFn\u003CTF.Int8>();\nconst isUInt8 = createValidateFn\u003CTF.UInt8>();\nconst isPositive = createValidateFn\u003CTF.Positive>();\n\nisInt8(-128); \u002F\u002F true\nisInt8(1.5); \u002F\u002F false, not a whole number\nisUInt8(256); \u002F\u002F false, over 255\nisPositive(0); \u002F\u002F true\n","ts","",[414,440,441,483,510,537,544,570,587,605],{"__ignoreMap":438},[442,443,446,450,454,458,462,465,469,471,474,477,480],"span",{"class":444,"line":445},"line",1,[442,447,449],{"class":448},"spNyl","const",[442,451,453],{"class":452},"sTEyZ"," isInt8 ",[442,455,457],{"class":456},"sMK4o","=",[442,459,461],{"class":460},"s2Zo4"," createValidateFn",[442,463,464],{"class":456},"\u003C",[442,466,468],{"class":467},"sBMFI","TF",[442,470,431],{"class":456},[442,472,473],{"class":467},"Int8",[442,475,476],{"class":456},">",[442,478,479],{"class":452},"()",[442,481,482],{"class":456},";\n",[442,484,486,488,491,493,495,497,499,501,504,506,508],{"class":444,"line":485},2,[442,487,449],{"class":448},[442,489,490],{"class":452}," isUInt8 ",[442,492,457],{"class":456},[442,494,461],{"class":460},[442,496,464],{"class":456},[442,498,468],{"class":467},[442,500,431],{"class":456},[442,502,503],{"class":467},"UInt8",[442,505,476],{"class":456},[442,507,479],{"class":452},[442,509,482],{"class":456},[442,511,513,515,518,520,522,524,526,528,531,533,535],{"class":444,"line":512},3,[442,514,449],{"class":448},[442,516,517],{"class":452}," isPositive ",[442,519,457],{"class":456},[442,521,461],{"class":460},[442,523,464],{"class":456},[442,525,468],{"class":467},[442,527,431],{"class":456},[442,529,530],{"class":467},"Positive",[442,532,476],{"class":456},[442,534,479],{"class":452},[442,536,482],{"class":456},[442,538,540],{"class":444,"line":539},4,[442,541,543],{"emptyLinePlaceholder":542},true,"\n",[442,545,547,550,553,556,560,563,566],{"class":444,"line":546},5,[442,548,549],{"class":460},"isInt8",[442,551,552],{"class":452},"(",[442,554,555],{"class":456},"-",[442,557,559],{"class":558},"sbssI","128",[442,561,562],{"class":452},")",[442,564,565],{"class":456},";",[442,567,569],{"class":568},"sHwdD"," \u002F\u002F true\n",[442,571,573,575,577,580,582,584],{"class":444,"line":572},6,[442,574,549],{"class":460},[442,576,552],{"class":452},[442,578,579],{"class":558},"1.5",[442,581,562],{"class":452},[442,583,565],{"class":456},[442,585,586],{"class":568}," \u002F\u002F false, not a whole number\n",[442,588,590,593,595,598,600,602],{"class":444,"line":589},7,[442,591,592],{"class":460},"isUInt8",[442,594,552],{"class":452},[442,596,597],{"class":558},"256",[442,599,562],{"class":452},[442,601,565],{"class":456},[442,603,604],{"class":568}," \u002F\u002F false, over 255\n",[442,606,608,611,613,616,618,620],{"class":444,"line":607},8,[442,609,610],{"class":460},"isPositive",[442,612,552],{"class":452},[442,614,615],{"class":558},"0",[442,617,562],{"class":452},[442,619,565],{"class":456},[442,621,569],{"class":568},[623,624,625,638],"table",{},[626,627,628],"thead",{},[629,630,631,635],"tr",{},[632,633,634],"th",{},"Format",[632,636,637],{},"Accepts",[639,640,641,652,662,681,698,714,730],"tbody",{},[629,642,643,649],{},[644,645,646],"td",{},[414,647,648],{},"TF.Integer",[644,650,651],{},"a whole number",[629,653,654,659],{},[644,655,656],{},[414,657,658],{},"TF.Float",[644,660,661],{},"any number; mocks draw fractional values",[629,663,664,673],{},[644,665,666,669,670],{},[414,667,668],{},"TF.Positive"," \u002F ",[414,671,672],{},"TF.Negative",[644,674,675,669,678],{},[414,676,677],{},">= 0",[414,679,680],{},"\u003C= 0",[629,682,683,691],{},[644,684,685,669,688],{},[414,686,687],{},"TF.PositiveInt",[414,689,690],{},"TF.NegativeInt",[644,692,693,694,669,696],{},"a whole number ",[414,695,677],{},[414,697,680],{},[629,699,700,711],{},[644,701,702,421,705,421,708],{},[414,703,704],{},"TF.Int8",[414,706,707],{},"TF.Int16",[414,709,710],{},"TF.Int32",[644,712,713],{},"a whole number that fits the signed width",[629,715,716,727],{},[644,717,718,421,721,421,724],{},[414,719,720],{},"TF.UInt8",[414,722,723],{},"TF.UInt16",[414,725,726],{},"TF.UInt32",[644,728,729],{},"a whole number that fits the unsigned width",[629,731,732,737],{},[644,733,734],{},[414,735,736],{},"TF.Currency",[644,738,739],{},"any number, marked as money",[741,742,743,745,746,748,749,752],"tip",{},[414,744,668],{}," and ",[414,747,672],{}," include zero. Write ",[414,750,751],{},"TF.Number\u003C{gt: 0}>"," for a strictly positive number.",[405,754,430],{"id":755},"custom-number-formats",[410,757,758,759,761],{},"Use ",[414,760,416],{}," with your own bounds when no named format fits.",[433,763,765],{"className":435,"code":764,"language":437,"meta":438,"style":438},"type PackSize = TF.Number\u003C{gt: 0; multipleOf: 6}>;\ntype Percent = TF.Number\u003C{min: 0; max: 100; integer: true}>;\n\nconst isPackSize = createValidateFn\u003CPackSize>();\nconst isPercent = createValidateFn\u003CPercent>();\n\nisPackSize(12); \u002F\u002F true\nisPackSize(0); \u002F\u002F false, must be over 0\nisPackSize(10); \u002F\u002F false, not a multiple of 6\nisPercent(101); \u002F\u002F false, over 100\n",[414,766,767,812,858,862,884,906,910,926,941,958],{"__ignoreMap":438},[442,768,769,772,775,778,781,783,786,789,793,796,799,801,804,806,809],{"class":444,"line":445},[442,770,771],{"class":448},"type",[442,773,774],{"class":467}," PackSize",[442,776,777],{"class":456}," =",[442,779,780],{"class":467}," TF",[442,782,431],{"class":456},[442,784,785],{"class":467},"Number",[442,787,788],{"class":456},"\u003C{",[442,790,792],{"class":791},"swJcz","gt",[442,794,795],{"class":456},":",[442,797,798],{"class":558}," 0",[442,800,565],{"class":456},[442,802,803],{"class":791}," multipleOf",[442,805,795],{"class":456},[442,807,808],{"class":558}," 6",[442,810,811],{"class":456},"}>;\n",[442,813,814,816,819,821,823,825,827,829,832,834,836,838,841,843,846,848,851,853,856],{"class":444,"line":485},[442,815,771],{"class":448},[442,817,818],{"class":467}," Percent",[442,820,777],{"class":456},[442,822,780],{"class":467},[442,824,431],{"class":456},[442,826,785],{"class":467},[442,828,788],{"class":456},[442,830,831],{"class":791},"min",[442,833,795],{"class":456},[442,835,798],{"class":558},[442,837,565],{"class":456},[442,839,840],{"class":791}," max",[442,842,795],{"class":456},[442,844,845],{"class":558}," 100",[442,847,565],{"class":456},[442,849,850],{"class":791}," integer",[442,852,795],{"class":456},[442,854,855],{"class":467}," true",[442,857,811],{"class":456},[442,859,860],{"class":444,"line":512},[442,861,543],{"emptyLinePlaceholder":542},[442,863,864,866,869,871,873,875,878,880,882],{"class":444,"line":539},[442,865,449],{"class":448},[442,867,868],{"class":452}," isPackSize ",[442,870,457],{"class":456},[442,872,461],{"class":460},[442,874,464],{"class":456},[442,876,877],{"class":467},"PackSize",[442,879,476],{"class":456},[442,881,479],{"class":452},[442,883,482],{"class":456},[442,885,886,888,891,893,895,897,900,902,904],{"class":444,"line":546},[442,887,449],{"class":448},[442,889,890],{"class":452}," isPercent ",[442,892,457],{"class":456},[442,894,461],{"class":460},[442,896,464],{"class":456},[442,898,899],{"class":467},"Percent",[442,901,476],{"class":456},[442,903,479],{"class":452},[442,905,482],{"class":456},[442,907,908],{"class":444,"line":572},[442,909,543],{"emptyLinePlaceholder":542},[442,911,912,915,917,920,922,924],{"class":444,"line":589},[442,913,914],{"class":460},"isPackSize",[442,916,552],{"class":452},[442,918,919],{"class":558},"12",[442,921,562],{"class":452},[442,923,565],{"class":456},[442,925,569],{"class":568},[442,927,928,930,932,934,936,938],{"class":444,"line":607},[442,929,914],{"class":460},[442,931,552],{"class":452},[442,933,615],{"class":558},[442,935,562],{"class":452},[442,937,565],{"class":456},[442,939,940],{"class":568}," \u002F\u002F false, must be over 0\n",[442,942,944,946,948,951,953,955],{"class":444,"line":943},9,[442,945,914],{"class":460},[442,947,552],{"class":452},[442,949,950],{"class":558},"10",[442,952,562],{"class":452},[442,954,565],{"class":456},[442,956,957],{"class":568}," \u002F\u002F false, not a multiple of 6\n",[442,959,961,964,966,969,971,973],{"class":444,"line":960},10,[442,962,963],{"class":460},"isPercent",[442,965,552],{"class":452},[442,967,968],{"class":558},"101",[442,970,562],{"class":452},[442,972,565],{"class":456},[442,974,975],{"class":568}," \u002F\u002F false, over 100\n",[405,977,979],{"id":978},"currency","Currency",[410,981,982,984,985,988,989,992,993,995,996,998,999,1003],{},[414,983,736],{}," (builder ",[414,986,987],{},"TF.currency()",") sets the ",[414,990,991],{},"isCurrency"," param on ",[414,994,416],{},". Validation and the JSON round trip work like ",[414,997,416],{},". ",[427,1000,1002],{"href":1001},"\u002Fruntypes\u002Fai-integration\u002Fi18n#money-in-messages","Friendly error messages"," show a broken limit with the currency symbol and decimals of the reader's language.",[433,1005,1007],{"className":435,"code":1006,"language":437,"meta":438,"style":438},"type Balance = TF.Currency\u003C{min: 0}>;\nconst isBalance = createValidateFn\u003CBalance>();\n\nisBalance(120.5); \u002F\u002F true, checked like any number\n",[414,1008,1009,1034,1056,1060],{"__ignoreMap":438},[442,1010,1011,1013,1016,1018,1020,1022,1024,1026,1028,1030,1032],{"class":444,"line":445},[442,1012,771],{"class":448},[442,1014,1015],{"class":467}," Balance",[442,1017,777],{"class":456},[442,1019,780],{"class":467},[442,1021,431],{"class":456},[442,1023,979],{"class":467},[442,1025,788],{"class":456},[442,1027,831],{"class":791},[442,1029,795],{"class":456},[442,1031,798],{"class":558},[442,1033,811],{"class":456},[442,1035,1036,1038,1041,1043,1045,1047,1050,1052,1054],{"class":444,"line":485},[442,1037,449],{"class":448},[442,1039,1040],{"class":452}," isBalance ",[442,1042,457],{"class":456},[442,1044,461],{"class":460},[442,1046,464],{"class":456},[442,1048,1049],{"class":467},"Balance",[442,1051,476],{"class":456},[442,1053,479],{"class":452},[442,1055,482],{"class":456},[442,1057,1058],{"class":444,"line":512},[442,1059,543],{"emptyLinePlaceholder":542},[442,1061,1062,1065,1067,1070,1072,1074],{"class":444,"line":539},[442,1063,1064],{"class":460},"isBalance",[442,1066,552],{"class":452},[442,1068,1069],{"class":558},"120.5",[442,1071,562],{"class":452},[442,1073,565],{"class":456},[442,1075,1076],{"class":568}," \u002F\u002F true, checked like any number\n",[1078,1079,1080],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}","Integers, fixed-width ints, signs and money amounts.","md",null,{"toc":24},{"title":239,"description":1081},"4zBNbiVZ3OrFeRdViORY9U0pwRz_BlEOQTggfGi25Jg",1793324365203]