[{"data":1,"prerenderedAt":2694},["ShallowReactive",2],{"navigation_docs":3,"-runtypes-guide-reflection":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":195,"body":401,"description":2688,"extension":2689,"links":2690,"meta":2691,"navigation":473,"path":196,"seo":2692,"stem":197,"__hash__":2693},"docs\u002F02.runtypes\u002F02.guide\u002F02.reflection.md",{"type":402,"value":403},"minimark",[404,413,418,424,650,662,666,672,922,926,936,960,984,1021,1024,1028,1034,2644,2666,2670,2676,2684],[405,406,407,408,412],"p",{},"Reflection gives you your TypeScript types at runtime: a short, stable id, or a RunType node you can walk. Validation, the JSON round trip and mocks read the same graph. Each type is one node, with a ",[409,410,411],"code",{},"kind"," and links to the inner types it holds.",[414,415,417],"h2",{"id":416},"getting-a-runtype-id","Getting a RunType Id",[405,419,420,423],{},[409,421,422],{},"getRunTypeId"," returns a short, stable id for any type. Two types with the same shape share one id. Use it as a cache key, a registry key or a discriminator.",[425,426,431],"pre",{"className":427,"code":428,"language":429,"meta":430,"style":430},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {getRunTypeId} from '@mionjs\u002Frun-types';\n\n\u002F\u002F static form: pass the type, no value needed\nconst stringId = getRunTypeId\u003Cstring>(); \u002F\u002F e.g. \"Sq3kZ1\"\nconst userId = getRunTypeId\u003C{id: number; name: string}>();\n\n\u002F\u002F value form: T is inferred from `order`, which is ignored at runtime\nconst order = {id: 1, total: 42};\nconst orderId = getRunTypeId(order);\n\nexport {stringId, userId, orderId};\n","ts","",[409,432,433,468,475,482,518,560,565,571,605,622,627],{"__ignoreMap":430},[434,435,438,442,446,449,452,455,458,462,465],"span",{"class":436,"line":437},"line",1,[434,439,441],{"class":440},"s7zQu","import",[434,443,445],{"class":444},"sMK4o"," {",[434,447,422],{"class":448},"sTEyZ",[434,450,451],{"class":444},"}",[434,453,454],{"class":440}," from",[434,456,457],{"class":444}," '",[434,459,461],{"class":460},"sfazB","@mionjs\u002Frun-types",[434,463,464],{"class":444},"'",[434,466,467],{"class":444},";\n",[434,469,471],{"class":436,"line":470},2,[434,472,474],{"emptyLinePlaceholder":473},true,"\n",[434,476,478],{"class":436,"line":477},3,[434,479,481],{"class":480},"sHwdD","\u002F\u002F static form: pass the type, no value needed\n",[434,483,485,489,492,495,499,502,506,509,512,515],{"class":436,"line":484},4,[434,486,488],{"class":487},"spNyl","const",[434,490,491],{"class":448}," stringId ",[434,493,494],{"class":444},"=",[434,496,498],{"class":497},"s2Zo4"," getRunTypeId",[434,500,501],{"class":444},"\u003C",[434,503,505],{"class":504},"sBMFI","string",[434,507,508],{"class":444},">",[434,510,511],{"class":448},"()",[434,513,514],{"class":444},";",[434,516,517],{"class":480}," \u002F\u002F e.g. \"Sq3kZ1\"\n",[434,519,521,523,526,528,530,533,537,540,543,545,548,550,553,556,558],{"class":436,"line":520},5,[434,522,488],{"class":487},[434,524,525],{"class":448}," userId ",[434,527,494],{"class":444},[434,529,498],{"class":497},[434,531,532],{"class":444},"\u003C{",[434,534,536],{"class":535},"swJcz","id",[434,538,539],{"class":444},":",[434,541,542],{"class":504}," number",[434,544,514],{"class":444},[434,546,547],{"class":535}," name",[434,549,539],{"class":444},[434,551,552],{"class":504}," string",[434,554,555],{"class":444},"}>",[434,557,511],{"class":448},[434,559,467],{"class":444},[434,561,563],{"class":436,"line":562},6,[434,564,474],{"emptyLinePlaceholder":473},[434,566,568],{"class":436,"line":567},7,[434,569,570],{"class":480},"\u002F\u002F value form: T is inferred from `order`, which is ignored at runtime\n",[434,572,574,576,579,581,583,585,587,591,594,597,599,602],{"class":436,"line":573},8,[434,575,488],{"class":487},[434,577,578],{"class":448}," order ",[434,580,494],{"class":444},[434,582,445],{"class":444},[434,584,536],{"class":535},[434,586,539],{"class":444},[434,588,590],{"class":589},"sbssI"," 1",[434,592,593],{"class":444},",",[434,595,596],{"class":535}," total",[434,598,539],{"class":444},[434,600,601],{"class":589}," 42",[434,603,604],{"class":444},"};\n",[434,606,608,610,613,615,617,620],{"class":436,"line":607},9,[434,609,488],{"class":487},[434,611,612],{"class":448}," orderId ",[434,614,494],{"class":444},[434,616,498],{"class":497},[434,618,619],{"class":448},"(order)",[434,621,467],{"class":444},[434,623,625],{"class":436,"line":624},10,[434,626,474],{"emptyLinePlaceholder":473},[434,628,630,633,635,638,640,643,645,648],{"class":436,"line":629},11,[434,631,632],{"class":440},"export",[434,634,445],{"class":444},[434,636,637],{"class":448},"stringId",[434,639,593],{"class":444},[434,641,642],{"class":448}," userId",[434,644,593],{"class":444},[434,646,647],{"class":448}," orderId",[434,649,604],{"class":444},[651,652,653,654,658,659,661],"note",{},"A ",[655,656,657],"a",{"href":218},"compiler marker"," fills in the id at build time. With the Vite plugin off, ",[409,660,422],{}," throws.",[414,663,665],{"id":664},"getting-a-runtype-node","Getting a RunType Node",[405,667,668,671],{},[409,669,670],{},"getRunType\u003CT>()"," returns the node for a type.",[425,673,675],{"className":427,"code":674,"language":429,"meta":430,"style":430},"\u002F\u002F pass the type, or a value to infer it from\nconst orderRT = getRunType\u003COrder>();\n\nconsole.log(orderRT.kind === RunTypeKind.objectLiteral); \u002F\u002F true: an object shape\nconsole.log(orderRT.children?.map((prop) => prop.name)); \u002F\u002F ['id', 'total', 'items']\n\n\u002F\u002F a property's `child` is its own type\nconst itemsRT = orderRT.children?.find((prop) => prop.name === 'items');\nconsole.log(itemsRT?.child?.kind === RunTypeKind.array); \u002F\u002F true: items is an array\nconsole.log(itemsRT?.child?.child?.kind === RunTypeKind.objectLiteral); \u002F\u002F true: of {sku, qty}\n",[409,676,677,682,705,709,744,793,797,802,853,887],{"__ignoreMap":430},[434,678,679],{"class":436,"line":437},[434,680,681],{"class":480},"\u002F\u002F pass the type, or a value to infer it from\n",[434,683,684,686,689,691,694,696,699,701,703],{"class":436,"line":470},[434,685,488],{"class":487},[434,687,688],{"class":448}," orderRT ",[434,690,494],{"class":444},[434,692,693],{"class":497}," getRunType",[434,695,501],{"class":444},[434,697,698],{"class":504},"Order",[434,700,508],{"class":444},[434,702,511],{"class":448},[434,704,467],{"class":444},[434,706,707],{"class":436,"line":477},[434,708,474],{"emptyLinePlaceholder":473},[434,710,711,714,717,720,723,725,728,731,734,736,739,741],{"class":436,"line":484},[434,712,713],{"class":448},"console",[434,715,716],{"class":444},".",[434,718,719],{"class":497},"log",[434,721,722],{"class":448},"(orderRT",[434,724,716],{"class":444},[434,726,727],{"class":448},"kind ",[434,729,730],{"class":444},"===",[434,732,733],{"class":448}," RunTypeKind",[434,735,716],{"class":444},[434,737,738],{"class":448},"objectLiteral)",[434,740,514],{"class":444},[434,742,743],{"class":480}," \u002F\u002F true: an object shape\n",[434,745,746,748,750,752,754,756,759,762,765,768,770,774,777,780,783,785,788,790],{"class":436,"line":520},[434,747,713],{"class":448},[434,749,716],{"class":444},[434,751,719],{"class":497},[434,753,722],{"class":448},[434,755,716],{"class":444},[434,757,758],{"class":448},"children",[434,760,761],{"class":444},"?.",[434,763,764],{"class":497},"map",[434,766,767],{"class":448},"(",[434,769,767],{"class":444},[434,771,773],{"class":772},"sHdIc","prop",[434,775,776],{"class":444},")",[434,778,779],{"class":487}," =>",[434,781,782],{"class":448}," prop",[434,784,716],{"class":444},[434,786,787],{"class":448},"name))",[434,789,514],{"class":444},[434,791,792],{"class":480}," \u002F\u002F ['id', 'total', 'items']\n",[434,794,795],{"class":436,"line":562},[434,796,474],{"emptyLinePlaceholder":473},[434,798,799],{"class":436,"line":567},[434,800,801],{"class":480},"\u002F\u002F a property's `child` is its own type\n",[434,803,804,806,809,811,814,816,818,820,823,825,827,829,831,833,835,837,840,842,844,847,849,851],{"class":436,"line":573},[434,805,488],{"class":487},[434,807,808],{"class":448}," itemsRT ",[434,810,494],{"class":444},[434,812,813],{"class":448}," orderRT",[434,815,716],{"class":444},[434,817,758],{"class":448},[434,819,761],{"class":444},[434,821,822],{"class":497},"find",[434,824,767],{"class":448},[434,826,767],{"class":444},[434,828,773],{"class":772},[434,830,776],{"class":444},[434,832,779],{"class":487},[434,834,782],{"class":448},[434,836,716],{"class":444},[434,838,839],{"class":448},"name ",[434,841,730],{"class":444},[434,843,457],{"class":444},[434,845,846],{"class":460},"items",[434,848,464],{"class":444},[434,850,776],{"class":448},[434,852,467],{"class":444},[434,854,855,857,859,861,864,866,869,871,873,875,877,879,882,884],{"class":436,"line":607},[434,856,713],{"class":448},[434,858,716],{"class":444},[434,860,719],{"class":497},[434,862,863],{"class":448},"(itemsRT",[434,865,761],{"class":444},[434,867,868],{"class":448},"child",[434,870,761],{"class":444},[434,872,727],{"class":448},[434,874,730],{"class":444},[434,876,733],{"class":448},[434,878,716],{"class":444},[434,880,881],{"class":448},"array)",[434,883,514],{"class":444},[434,885,886],{"class":480}," \u002F\u002F true: items is an array\n",[434,888,889,891,893,895,897,899,901,903,905,907,909,911,913,915,917,919],{"class":436,"line":624},[434,890,713],{"class":448},[434,892,716],{"class":444},[434,894,719],{"class":497},[434,896,863],{"class":448},[434,898,761],{"class":444},[434,900,868],{"class":448},[434,902,761],{"class":444},[434,904,868],{"class":448},[434,906,761],{"class":444},[434,908,727],{"class":448},[434,910,730],{"class":444},[434,912,733],{"class":448},[434,914,716],{"class":444},[434,916,738],{"class":448},[434,918,514],{"class":444},[434,920,921],{"class":480}," \u002F\u002F true: of {sku, qty}\n",[414,923,925],{"id":924},"runtype-node-fields","RunType Node Fields",[405,927,928,929,931,932,935],{},"Every node has a ",[409,930,411],{},", one of the ",[409,933,934],{},"RunTypeKind"," values. The rest depends on that kind, but the edges that hold inner types are always one of these:",[937,938,939,945,950],"ul",{},[940,941,942,944],"li",{},[409,943,868],{}," is the single inner type, like an array's element, a promise's value, or a property's type.",[940,946,947,949],{},[409,948,758],{}," are the inner types of a container, like an object's properties, a union's members, or a tuple's slots.",[940,951,952,955,956,959],{},[409,953,954],{},"parameters"," and ",[409,957,958],{},"return"," are a function's argument nodes and its return node.",[405,961,962,963,955,966,969,970,955,973,976,977,980,981,716],{},"Members also carry ",[409,964,965],{},"name",[409,967,968],{},"optional",", literals and enums carry ",[409,971,972],{},"literal",[409,974,975],{},"values",", and a branded ",[655,978,979],{"href":227},"TypeFormat"," carries ",[409,982,983],{},"formatAnnotation",[405,985,653,986,988,989,991,992,995,996,995,999,1002,1003,1006,1007,1010,1011,1013,1014,1017,1018,716],{},[409,987,983],{}," holds the canonical format ",[409,990,965],{}," (",[409,993,994],{},"uuid",", ",[409,997,998],{},"email",[409,1000,1001],{},"dateTime",") and optional ",[409,1004,1005],{},"params"," with that format's constraints. To map a format onto a database column or a UI label, look its name up in ",[409,1008,1009],{},"typeFormats",": every built-in format name with the base kind it refines. Import ",[409,1012,1009],{}," and the ",[409,1015,1016],{},"FormatName"," union of its names from ",[409,1019,1020],{},"@mionjs\u002Frun-types\u002Fruntime",[405,1022,1023],{},"Names come from your source, including tuple labels and function parameter names. Two tuples with the same element types but different labels are two reflected types, each with its own labels.",[414,1025,1027],{"id":1026},"walking-the-runtype-graph","Walking the RunType Graph",[405,1029,1030,1031,1033],{},"A full walk is a switch over ",[409,1032,411],{}," that recurses through those edges. This printer renders any node back to a TypeScript-like string.",[425,1035,1037],{"className":427,"code":1036,"language":429,"meta":430,"style":430},"function describe(rt: RunType): string {\n  switch (rt.kind as number) {\n    \u002F\u002F leaves: no inner types\n    case RunTypeKind.string:\n      return 'string';\n    case RunTypeKind.number:\n      return 'number';\n    case RunTypeKind.boolean:\n      return 'boolean';\n    case RunTypeKind.bigint:\n      return 'bigint';\n    case RunTypeKind.symbol:\n      return 'symbol';\n    case RunTypeKind.null:\n      return 'null';\n    case RunTypeKind.undefined:\n      return 'undefined';\n    case RunTypeKind.void:\n      return 'void';\n    case RunTypeKind.never:\n      return 'never';\n    case RunTypeKind.any:\n      return 'any';\n    case RunTypeKind.unknown:\n      return 'unknown';\n    case RunTypeKind.object:\n      return 'object';\n    case RunTypeKind.regexp:\n      return 'RegExp';\n    case RunTypeKind.templateLiteral:\n      return 'string'; \u002F\u002F a `${...}` template\n    case RunTypeKind.literal:\n      return JSON.stringify(rt.literal); \u002F\u002F the value itself\n    case RunTypeKind.enum:\n      return (rt.values as unknown[])\n        .map((value) => JSON.stringify(value))\n        .join(' | ');\n\n    \u002F\u002F single child: recurse into `child`\n    case RunTypeKind.array:\n      return `${describe(rt.child as RunType)}[]`;\n    case RunTypeKind.promise:\n      return `Promise\u003C${describe(rt.child as RunType)}>`;\n    case RunTypeKind.rest:\n      return `...${describe(rt.child as RunType)}[]`;\n    case RunTypeKind.tupleMember:\n      return `${describe(rt.child as RunType)}${rt.optional ? '?' : ''}`;\n\n    \u002F\u002F containers: recurse over `children`\n    case RunTypeKind.tuple:\n      return `[${(rt.children as RunType[]).map(describe).join(', ')}]`;\n    case RunTypeKind.union:\n      return (rt.children as RunType[]).map(describe).join(' | ');\n    case RunTypeKind.intersection:\n      return (rt.children as RunType[]).map(describe).join(' & ');\n    case RunTypeKind.objectLiteral:\n      return `{ ${(rt.children as RunType[]).map(describe).join('; ')} }`;\n\n    \u002F\u002F members: `name`, `optional` and the member's own `child`\n    case RunTypeKind.property:\n    case RunTypeKind.propertySignature:\n    case RunTypeKind.parameter:\n      return `${rt.name as string}${rt.optional ? '?' : ''}: ${describe(rt.child as RunType)}`;\n\n    \u002F\u002F a key type and a value type\n    case RunTypeKind.indexSignature:\n      return `[key: ${describe(rt.index as RunType)}]: ${describe(rt.child as RunType)}`;\n\n    \u002F\u002F callables: recurse over `parameters` and `return`\n    case RunTypeKind.function:\n    case RunTypeKind.method:\n    case RunTypeKind.methodSignature:\n    case RunTypeKind.callSignature:\n      return `(${(rt.parameters as RunType[]).map(describe).join(', ')}) => ${describe(rt.return as RunType)}`;\n\n    \u002F\u002F builtins (Date, Map, Set, Temporal) have no children: print the name\n    case RunTypeKind.class:\n      return rt.children\n        ? `{ ${(rt.children as RunType[]).map(describe).join('; ')} }`\n        : String(rt.typeName ?? 'object');\n\n    \u002F\u002F typeParameter, infer, ref, enumMember: rare in data shapes\n    default:\n      return `\u002F* kind ${rt.kind} *\u002F`;\n  }\n}\n\nconst orderRT = getRunType\u003COrder>();\nconsole.log(describe(orderRT));\n\u002F\u002F { id: string; total: number; items: { sku: string; qty: number }[]; status: \"open\" | \"shipped\" | \"cancelled\" }\n",[409,1038,1039,1065,1089,1094,1108,1121,1134,1146,1159,1171,1184,1196,1210,1223,1237,1250,1264,1277,1291,1304,1318,1331,1345,1358,1372,1385,1399,1412,1426,1440,1454,1470,1483,1511,1525,1546,1578,1599,1604,1610,1624,1660,1674,1710,1724,1758,1772,1820,1825,1831,1845,1901,1915,1960,1974,2020,2034,2088,2093,2099,2113,2127,2141,2203,2208,2214,2228,2280,2285,2291,2304,2318,2332,2346,2416,2421,2427,2441,2454,2505,2536,2541,2547,2555,2582,2588,2594,2599,2620,2638],{"__ignoreMap":430},[434,1040,1041,1044,1047,1049,1052,1054,1057,1060,1062],{"class":436,"line":437},[434,1042,1043],{"class":487},"function",[434,1045,1046],{"class":497}," describe",[434,1048,767],{"class":444},[434,1050,1051],{"class":772},"rt",[434,1053,539],{"class":444},[434,1055,1056],{"class":504}," RunType",[434,1058,1059],{"class":444},"):",[434,1061,552],{"class":504},[434,1063,1064],{"class":444}," {\n",[434,1066,1067,1070,1072,1074,1076,1078,1081,1083,1086],{"class":436,"line":470},[434,1068,1069],{"class":440},"  switch",[434,1071,991],{"class":535},[434,1073,1051],{"class":448},[434,1075,716],{"class":444},[434,1077,411],{"class":448},[434,1079,1080],{"class":440}," as",[434,1082,542],{"class":504},[434,1084,1085],{"class":535},") ",[434,1087,1088],{"class":444},"{\n",[434,1090,1091],{"class":436,"line":477},[434,1092,1093],{"class":480},"    \u002F\u002F leaves: no inner types\n",[434,1095,1096,1099,1101,1103,1105],{"class":436,"line":484},[434,1097,1098],{"class":440},"    case",[434,1100,733],{"class":448},[434,1102,716],{"class":444},[434,1104,505],{"class":448},[434,1106,1107],{"class":444},":\n",[434,1109,1110,1113,1115,1117,1119],{"class":436,"line":520},[434,1111,1112],{"class":440},"      return",[434,1114,457],{"class":444},[434,1116,505],{"class":460},[434,1118,464],{"class":444},[434,1120,467],{"class":444},[434,1122,1123,1125,1127,1129,1132],{"class":436,"line":562},[434,1124,1098],{"class":440},[434,1126,733],{"class":448},[434,1128,716],{"class":444},[434,1130,1131],{"class":448},"number",[434,1133,1107],{"class":444},[434,1135,1136,1138,1140,1142,1144],{"class":436,"line":567},[434,1137,1112],{"class":440},[434,1139,457],{"class":444},[434,1141,1131],{"class":460},[434,1143,464],{"class":444},[434,1145,467],{"class":444},[434,1147,1148,1150,1152,1154,1157],{"class":436,"line":573},[434,1149,1098],{"class":440},[434,1151,733],{"class":448},[434,1153,716],{"class":444},[434,1155,1156],{"class":448},"boolean",[434,1158,1107],{"class":444},[434,1160,1161,1163,1165,1167,1169],{"class":436,"line":607},[434,1162,1112],{"class":440},[434,1164,457],{"class":444},[434,1166,1156],{"class":460},[434,1168,464],{"class":444},[434,1170,467],{"class":444},[434,1172,1173,1175,1177,1179,1182],{"class":436,"line":624},[434,1174,1098],{"class":440},[434,1176,733],{"class":448},[434,1178,716],{"class":444},[434,1180,1181],{"class":448},"bigint",[434,1183,1107],{"class":444},[434,1185,1186,1188,1190,1192,1194],{"class":436,"line":629},[434,1187,1112],{"class":440},[434,1189,457],{"class":444},[434,1191,1181],{"class":460},[434,1193,464],{"class":444},[434,1195,467],{"class":444},[434,1197,1199,1201,1203,1205,1208],{"class":436,"line":1198},12,[434,1200,1098],{"class":440},[434,1202,733],{"class":448},[434,1204,716],{"class":444},[434,1206,1207],{"class":448},"symbol",[434,1209,1107],{"class":444},[434,1211,1213,1215,1217,1219,1221],{"class":436,"line":1212},13,[434,1214,1112],{"class":440},[434,1216,457],{"class":444},[434,1218,1207],{"class":460},[434,1220,464],{"class":444},[434,1222,467],{"class":444},[434,1224,1226,1228,1230,1232,1235],{"class":436,"line":1225},14,[434,1227,1098],{"class":440},[434,1229,733],{"class":448},[434,1231,716],{"class":444},[434,1233,1234],{"class":448},"null",[434,1236,1107],{"class":444},[434,1238,1240,1242,1244,1246,1248],{"class":436,"line":1239},15,[434,1241,1112],{"class":440},[434,1243,457],{"class":444},[434,1245,1234],{"class":460},[434,1247,464],{"class":444},[434,1249,467],{"class":444},[434,1251,1253,1255,1257,1259,1262],{"class":436,"line":1252},16,[434,1254,1098],{"class":440},[434,1256,733],{"class":448},[434,1258,716],{"class":444},[434,1260,1261],{"class":448},"undefined",[434,1263,1107],{"class":444},[434,1265,1267,1269,1271,1273,1275],{"class":436,"line":1266},17,[434,1268,1112],{"class":440},[434,1270,457],{"class":444},[434,1272,1261],{"class":460},[434,1274,464],{"class":444},[434,1276,467],{"class":444},[434,1278,1280,1282,1284,1286,1289],{"class":436,"line":1279},18,[434,1281,1098],{"class":440},[434,1283,733],{"class":448},[434,1285,716],{"class":444},[434,1287,1288],{"class":448},"void",[434,1290,1107],{"class":444},[434,1292,1294,1296,1298,1300,1302],{"class":436,"line":1293},19,[434,1295,1112],{"class":440},[434,1297,457],{"class":444},[434,1299,1288],{"class":460},[434,1301,464],{"class":444},[434,1303,467],{"class":444},[434,1305,1307,1309,1311,1313,1316],{"class":436,"line":1306},20,[434,1308,1098],{"class":440},[434,1310,733],{"class":448},[434,1312,716],{"class":444},[434,1314,1315],{"class":448},"never",[434,1317,1107],{"class":444},[434,1319,1321,1323,1325,1327,1329],{"class":436,"line":1320},21,[434,1322,1112],{"class":440},[434,1324,457],{"class":444},[434,1326,1315],{"class":460},[434,1328,464],{"class":444},[434,1330,467],{"class":444},[434,1332,1334,1336,1338,1340,1343],{"class":436,"line":1333},22,[434,1335,1098],{"class":440},[434,1337,733],{"class":448},[434,1339,716],{"class":444},[434,1341,1342],{"class":448},"any",[434,1344,1107],{"class":444},[434,1346,1348,1350,1352,1354,1356],{"class":436,"line":1347},23,[434,1349,1112],{"class":440},[434,1351,457],{"class":444},[434,1353,1342],{"class":460},[434,1355,464],{"class":444},[434,1357,467],{"class":444},[434,1359,1361,1363,1365,1367,1370],{"class":436,"line":1360},24,[434,1362,1098],{"class":440},[434,1364,733],{"class":448},[434,1366,716],{"class":444},[434,1368,1369],{"class":448},"unknown",[434,1371,1107],{"class":444},[434,1373,1375,1377,1379,1381,1383],{"class":436,"line":1374},25,[434,1376,1112],{"class":440},[434,1378,457],{"class":444},[434,1380,1369],{"class":460},[434,1382,464],{"class":444},[434,1384,467],{"class":444},[434,1386,1388,1390,1392,1394,1397],{"class":436,"line":1387},26,[434,1389,1098],{"class":440},[434,1391,733],{"class":448},[434,1393,716],{"class":444},[434,1395,1396],{"class":448},"object",[434,1398,1107],{"class":444},[434,1400,1402,1404,1406,1408,1410],{"class":436,"line":1401},27,[434,1403,1112],{"class":440},[434,1405,457],{"class":444},[434,1407,1396],{"class":460},[434,1409,464],{"class":444},[434,1411,467],{"class":444},[434,1413,1415,1417,1419,1421,1424],{"class":436,"line":1414},28,[434,1416,1098],{"class":440},[434,1418,733],{"class":448},[434,1420,716],{"class":444},[434,1422,1423],{"class":448},"regexp",[434,1425,1107],{"class":444},[434,1427,1429,1431,1433,1436,1438],{"class":436,"line":1428},29,[434,1430,1112],{"class":440},[434,1432,457],{"class":444},[434,1434,1435],{"class":460},"RegExp",[434,1437,464],{"class":444},[434,1439,467],{"class":444},[434,1441,1443,1445,1447,1449,1452],{"class":436,"line":1442},30,[434,1444,1098],{"class":440},[434,1446,733],{"class":448},[434,1448,716],{"class":444},[434,1450,1451],{"class":448},"templateLiteral",[434,1453,1107],{"class":444},[434,1455,1457,1459,1461,1463,1465,1467],{"class":436,"line":1456},31,[434,1458,1112],{"class":440},[434,1460,457],{"class":444},[434,1462,505],{"class":460},[434,1464,464],{"class":444},[434,1466,514],{"class":444},[434,1468,1469],{"class":480}," \u002F\u002F a `${...}` template\n",[434,1471,1473,1475,1477,1479,1481],{"class":436,"line":1472},32,[434,1474,1098],{"class":440},[434,1476,733],{"class":448},[434,1478,716],{"class":444},[434,1480,972],{"class":448},[434,1482,1107],{"class":444},[434,1484,1486,1488,1491,1493,1496,1498,1500,1502,1504,1506,1508],{"class":436,"line":1485},33,[434,1487,1112],{"class":440},[434,1489,1490],{"class":448}," JSON",[434,1492,716],{"class":444},[434,1494,1495],{"class":497},"stringify",[434,1497,767],{"class":535},[434,1499,1051],{"class":448},[434,1501,716],{"class":444},[434,1503,972],{"class":448},[434,1505,776],{"class":535},[434,1507,514],{"class":444},[434,1509,1510],{"class":480}," \u002F\u002F the value itself\n",[434,1512,1514,1516,1518,1520,1523],{"class":436,"line":1513},34,[434,1515,1098],{"class":440},[434,1517,733],{"class":448},[434,1519,716],{"class":444},[434,1521,1522],{"class":448},"enum",[434,1524,1107],{"class":444},[434,1526,1528,1530,1532,1534,1536,1538,1540,1543],{"class":436,"line":1527},35,[434,1529,1112],{"class":440},[434,1531,991],{"class":535},[434,1533,1051],{"class":448},[434,1535,716],{"class":444},[434,1537,975],{"class":448},[434,1539,1080],{"class":440},[434,1541,1542],{"class":504}," unknown",[434,1544,1545],{"class":535},"[])\n",[434,1547,1549,1552,1554,1556,1558,1561,1563,1565,1567,1569,1571,1573,1575],{"class":436,"line":1548},36,[434,1550,1551],{"class":444},"        .",[434,1553,764],{"class":497},[434,1555,767],{"class":535},[434,1557,767],{"class":444},[434,1559,1560],{"class":772},"value",[434,1562,776],{"class":444},[434,1564,779],{"class":487},[434,1566,1490],{"class":448},[434,1568,716],{"class":444},[434,1570,1495],{"class":497},[434,1572,767],{"class":535},[434,1574,1560],{"class":448},[434,1576,1577],{"class":535},"))\n",[434,1579,1581,1583,1586,1588,1590,1593,1595,1597],{"class":436,"line":1580},37,[434,1582,1551],{"class":444},[434,1584,1585],{"class":497},"join",[434,1587,767],{"class":535},[434,1589,464],{"class":444},[434,1591,1592],{"class":460}," | ",[434,1594,464],{"class":444},[434,1596,776],{"class":535},[434,1598,467],{"class":444},[434,1600,1602],{"class":436,"line":1601},38,[434,1603,474],{"emptyLinePlaceholder":473},[434,1605,1607],{"class":436,"line":1606},39,[434,1608,1609],{"class":480},"    \u002F\u002F single child: recurse into `child`\n",[434,1611,1613,1615,1617,1619,1622],{"class":436,"line":1612},40,[434,1614,1098],{"class":440},[434,1616,733],{"class":448},[434,1618,716],{"class":444},[434,1620,1621],{"class":448},"array",[434,1623,1107],{"class":444},[434,1625,1627,1629,1632,1635,1638,1640,1643,1646,1648,1650,1652,1655,1658],{"class":436,"line":1626},41,[434,1628,1112],{"class":440},[434,1630,1631],{"class":444}," `${",[434,1633,1634],{"class":497},"describe",[434,1636,1637],{"class":448},"(rt",[434,1639,716],{"class":444},[434,1641,1642],{"class":448},"child ",[434,1644,1645],{"class":440},"as",[434,1647,1056],{"class":504},[434,1649,776],{"class":448},[434,1651,451],{"class":444},[434,1653,1654],{"class":460},"[]",[434,1656,1657],{"class":444},"`",[434,1659,467],{"class":444},[434,1661,1663,1665,1667,1669,1672],{"class":436,"line":1662},42,[434,1664,1098],{"class":440},[434,1666,733],{"class":448},[434,1668,716],{"class":444},[434,1670,1671],{"class":448},"promise",[434,1673,1107],{"class":444},[434,1675,1677,1679,1682,1685,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708],{"class":436,"line":1676},43,[434,1678,1112],{"class":440},[434,1680,1681],{"class":444}," `",[434,1683,1684],{"class":460},"Promise\u003C",[434,1686,1687],{"class":444},"${",[434,1689,1634],{"class":497},[434,1691,1637],{"class":448},[434,1693,716],{"class":444},[434,1695,1642],{"class":448},[434,1697,1645],{"class":440},[434,1699,1056],{"class":504},[434,1701,776],{"class":448},[434,1703,451],{"class":444},[434,1705,508],{"class":460},[434,1707,1657],{"class":444},[434,1709,467],{"class":444},[434,1711,1713,1715,1717,1719,1722],{"class":436,"line":1712},44,[434,1714,1098],{"class":440},[434,1716,733],{"class":448},[434,1718,716],{"class":444},[434,1720,1721],{"class":448},"rest",[434,1723,1107],{"class":444},[434,1725,1727,1729,1731,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756],{"class":436,"line":1726},45,[434,1728,1112],{"class":440},[434,1730,1681],{"class":444},[434,1732,1733],{"class":460},"...",[434,1735,1687],{"class":444},[434,1737,1634],{"class":497},[434,1739,1637],{"class":448},[434,1741,716],{"class":444},[434,1743,1642],{"class":448},[434,1745,1645],{"class":440},[434,1747,1056],{"class":504},[434,1749,776],{"class":448},[434,1751,451],{"class":444},[434,1753,1654],{"class":460},[434,1755,1657],{"class":444},[434,1757,467],{"class":444},[434,1759,1761,1763,1765,1767,1770],{"class":436,"line":1760},46,[434,1762,1098],{"class":440},[434,1764,733],{"class":448},[434,1766,716],{"class":444},[434,1768,1769],{"class":448},"tupleMember",[434,1771,1107],{"class":444},[434,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1796,1798,1800,1803,1806,1808,1810,1812,1815,1818],{"class":436,"line":1774},47,[434,1776,1112],{"class":440},[434,1778,1631],{"class":444},[434,1780,1634],{"class":497},[434,1782,1637],{"class":448},[434,1784,716],{"class":444},[434,1786,1642],{"class":448},[434,1788,1645],{"class":440},[434,1790,1056],{"class":504},[434,1792,776],{"class":448},[434,1794,1795],{"class":444},"}${",[434,1797,1051],{"class":448},[434,1799,716],{"class":444},[434,1801,1802],{"class":448},"optional ",[434,1804,1805],{"class":444},"?",[434,1807,457],{"class":444},[434,1809,1805],{"class":460},[434,1811,464],{"class":444},[434,1813,1814],{"class":444}," :",[434,1816,1817],{"class":444}," ''}`",[434,1819,467],{"class":444},[434,1821,1823],{"class":436,"line":1822},48,[434,1824,474],{"emptyLinePlaceholder":473},[434,1826,1828],{"class":436,"line":1827},49,[434,1829,1830],{"class":480},"    \u002F\u002F containers: recurse over `children`\n",[434,1832,1834,1836,1838,1840,1843],{"class":436,"line":1833},50,[434,1835,1098],{"class":440},[434,1837,733],{"class":448},[434,1839,716],{"class":444},[434,1841,1842],{"class":448},"tuple",[434,1844,1107],{"class":444},[434,1846,1848,1850,1852,1855,1857,1859,1861,1864,1866,1868,1871,1873,1875,1878,1880,1882,1884,1886,1888,1890,1892,1894,1897,1899],{"class":436,"line":1847},51,[434,1849,1112],{"class":440},[434,1851,1681],{"class":444},[434,1853,1854],{"class":460},"[",[434,1856,1687],{"class":444},[434,1858,1637],{"class":448},[434,1860,716],{"class":444},[434,1862,1863],{"class":448},"children ",[434,1865,1645],{"class":440},[434,1867,1056],{"class":504},[434,1869,1870],{"class":448},"[])",[434,1872,716],{"class":444},[434,1874,764],{"class":497},[434,1876,1877],{"class":448},"(describe)",[434,1879,716],{"class":444},[434,1881,1585],{"class":497},[434,1883,767],{"class":448},[434,1885,464],{"class":444},[434,1887,995],{"class":460},[434,1889,464],{"class":444},[434,1891,776],{"class":448},[434,1893,451],{"class":444},[434,1895,1896],{"class":460},"]",[434,1898,1657],{"class":444},[434,1900,467],{"class":444},[434,1902,1904,1906,1908,1910,1913],{"class":436,"line":1903},52,[434,1905,1098],{"class":440},[434,1907,733],{"class":448},[434,1909,716],{"class":444},[434,1911,1912],{"class":448},"union",[434,1914,1107],{"class":444},[434,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958],{"class":436,"line":1917},53,[434,1919,1112],{"class":440},[434,1921,991],{"class":535},[434,1923,1051],{"class":448},[434,1925,716],{"class":444},[434,1927,758],{"class":448},[434,1929,1080],{"class":440},[434,1931,1056],{"class":504},[434,1933,1870],{"class":535},[434,1935,716],{"class":444},[434,1937,764],{"class":497},[434,1939,767],{"class":535},[434,1941,1634],{"class":448},[434,1943,776],{"class":535},[434,1945,716],{"class":444},[434,1947,1585],{"class":497},[434,1949,767],{"class":535},[434,1951,464],{"class":444},[434,1953,1592],{"class":460},[434,1955,464],{"class":444},[434,1957,776],{"class":535},[434,1959,467],{"class":444},[434,1961,1963,1965,1967,1969,1972],{"class":436,"line":1962},54,[434,1964,1098],{"class":440},[434,1966,733],{"class":448},[434,1968,716],{"class":444},[434,1970,1971],{"class":448},"intersection",[434,1973,1107],{"class":444},[434,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011,2014,2016,2018],{"class":436,"line":1976},55,[434,1978,1112],{"class":440},[434,1980,991],{"class":535},[434,1982,1051],{"class":448},[434,1984,716],{"class":444},[434,1986,758],{"class":448},[434,1988,1080],{"class":440},[434,1990,1056],{"class":504},[434,1992,1870],{"class":535},[434,1994,716],{"class":444},[434,1996,764],{"class":497},[434,1998,767],{"class":535},[434,2000,1634],{"class":448},[434,2002,776],{"class":535},[434,2004,716],{"class":444},[434,2006,1585],{"class":497},[434,2008,767],{"class":535},[434,2010,464],{"class":444},[434,2012,2013],{"class":460}," & ",[434,2015,464],{"class":444},[434,2017,776],{"class":535},[434,2019,467],{"class":444},[434,2021,2023,2025,2027,2029,2032],{"class":436,"line":2022},56,[434,2024,1098],{"class":440},[434,2026,733],{"class":448},[434,2028,716],{"class":444},[434,2030,2031],{"class":448},"objectLiteral",[434,2033,1107],{"class":444},[434,2035,2037,2039,2041,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2075,2077,2079,2081,2084,2086],{"class":436,"line":2036},57,[434,2038,1112],{"class":440},[434,2040,1681],{"class":444},[434,2042,2043],{"class":460},"{ ",[434,2045,1687],{"class":444},[434,2047,1637],{"class":448},[434,2049,716],{"class":444},[434,2051,1863],{"class":448},[434,2053,1645],{"class":440},[434,2055,1056],{"class":504},[434,2057,1870],{"class":448},[434,2059,716],{"class":444},[434,2061,764],{"class":497},[434,2063,1877],{"class":448},[434,2065,716],{"class":444},[434,2067,1585],{"class":497},[434,2069,767],{"class":448},[434,2071,464],{"class":444},[434,2073,2074],{"class":460},"; ",[434,2076,464],{"class":444},[434,2078,776],{"class":448},[434,2080,451],{"class":444},[434,2082,2083],{"class":460}," }",[434,2085,1657],{"class":444},[434,2087,467],{"class":444},[434,2089,2091],{"class":436,"line":2090},58,[434,2092,474],{"emptyLinePlaceholder":473},[434,2094,2096],{"class":436,"line":2095},59,[434,2097,2098],{"class":480},"    \u002F\u002F members: `name`, `optional` and the member's own `child`\n",[434,2100,2102,2104,2106,2108,2111],{"class":436,"line":2101},60,[434,2103,1098],{"class":440},[434,2105,733],{"class":448},[434,2107,716],{"class":444},[434,2109,2110],{"class":448},"property",[434,2112,1107],{"class":444},[434,2114,2116,2118,2120,2122,2125],{"class":436,"line":2115},61,[434,2117,1098],{"class":440},[434,2119,733],{"class":448},[434,2121,716],{"class":444},[434,2123,2124],{"class":448},"propertySignature",[434,2126,1107],{"class":444},[434,2128,2130,2132,2134,2136,2139],{"class":436,"line":2129},62,[434,2131,1098],{"class":440},[434,2133,733],{"class":448},[434,2135,716],{"class":444},[434,2137,2138],{"class":448},"parameter",[434,2140,1107],{"class":444},[434,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2179,2182,2184,2186,2188,2190,2192,2194,2196,2198,2201],{"class":436,"line":2143},63,[434,2145,1112],{"class":440},[434,2147,1631],{"class":444},[434,2149,1051],{"class":448},[434,2151,716],{"class":444},[434,2153,839],{"class":448},[434,2155,1645],{"class":440},[434,2157,552],{"class":504},[434,2159,1795],{"class":444},[434,2161,1051],{"class":448},[434,2163,716],{"class":444},[434,2165,1802],{"class":448},[434,2167,1805],{"class":444},[434,2169,457],{"class":444},[434,2171,1805],{"class":460},[434,2173,464],{"class":444},[434,2175,1814],{"class":444},[434,2177,2178],{"class":444}," ''}",[434,2180,2181],{"class":460},": ",[434,2183,1687],{"class":444},[434,2185,1634],{"class":497},[434,2187,1637],{"class":448},[434,2189,716],{"class":444},[434,2191,1642],{"class":448},[434,2193,1645],{"class":440},[434,2195,1056],{"class":504},[434,2197,776],{"class":448},[434,2199,2200],{"class":444},"}`",[434,2202,467],{"class":444},[434,2204,2206],{"class":436,"line":2205},64,[434,2207,474],{"emptyLinePlaceholder":473},[434,2209,2211],{"class":436,"line":2210},65,[434,2212,2213],{"class":480},"    \u002F\u002F a key type and a value type\n",[434,2215,2217,2219,2221,2223,2226],{"class":436,"line":2216},66,[434,2218,1098],{"class":440},[434,2220,733],{"class":448},[434,2222,716],{"class":444},[434,2224,2225],{"class":448},"indexSignature",[434,2227,1107],{"class":444},[434,2229,2231,2233,2235,2238,2240,2242,2244,2246,2249,2251,2253,2255,2257,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278],{"class":436,"line":2230},67,[434,2232,1112],{"class":440},[434,2234,1681],{"class":444},[434,2236,2237],{"class":460},"[key: ",[434,2239,1687],{"class":444},[434,2241,1634],{"class":497},[434,2243,1637],{"class":448},[434,2245,716],{"class":444},[434,2247,2248],{"class":448},"index ",[434,2250,1645],{"class":440},[434,2252,1056],{"class":504},[434,2254,776],{"class":448},[434,2256,451],{"class":444},[434,2258,2259],{"class":460},"]: ",[434,2261,1687],{"class":444},[434,2263,1634],{"class":497},[434,2265,1637],{"class":448},[434,2267,716],{"class":444},[434,2269,1642],{"class":448},[434,2271,1645],{"class":440},[434,2273,1056],{"class":504},[434,2275,776],{"class":448},[434,2277,2200],{"class":444},[434,2279,467],{"class":444},[434,2281,2283],{"class":436,"line":2282},68,[434,2284,474],{"emptyLinePlaceholder":473},[434,2286,2288],{"class":436,"line":2287},69,[434,2289,2290],{"class":480},"    \u002F\u002F callables: recurse over `parameters` and `return`\n",[434,2292,2294,2296,2298,2300,2302],{"class":436,"line":2293},70,[434,2295,1098],{"class":440},[434,2297,733],{"class":448},[434,2299,716],{"class":444},[434,2301,1043],{"class":448},[434,2303,1107],{"class":444},[434,2305,2307,2309,2311,2313,2316],{"class":436,"line":2306},71,[434,2308,1098],{"class":440},[434,2310,733],{"class":448},[434,2312,716],{"class":444},[434,2314,2315],{"class":448},"method",[434,2317,1107],{"class":444},[434,2319,2321,2323,2325,2327,2330],{"class":436,"line":2320},72,[434,2322,1098],{"class":440},[434,2324,733],{"class":448},[434,2326,716],{"class":444},[434,2328,2329],{"class":448},"methodSignature",[434,2331,1107],{"class":444},[434,2333,2335,2337,2339,2341,2344],{"class":436,"line":2334},73,[434,2336,1098],{"class":440},[434,2338,733],{"class":448},[434,2340,716],{"class":444},[434,2342,2343],{"class":448},"callSignature",[434,2345,1107],{"class":444},[434,2347,2349,2351,2353,2355,2357,2359,2361,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2395,2397,2399,2401,2403,2406,2408,2410,2412,2414],{"class":436,"line":2348},74,[434,2350,1112],{"class":440},[434,2352,1681],{"class":444},[434,2354,767],{"class":460},[434,2356,1687],{"class":444},[434,2358,1637],{"class":448},[434,2360,716],{"class":444},[434,2362,2363],{"class":448},"parameters ",[434,2365,1645],{"class":440},[434,2367,1056],{"class":504},[434,2369,1870],{"class":448},[434,2371,716],{"class":444},[434,2373,764],{"class":497},[434,2375,1877],{"class":448},[434,2377,716],{"class":444},[434,2379,1585],{"class":497},[434,2381,767],{"class":448},[434,2383,464],{"class":444},[434,2385,995],{"class":460},[434,2387,464],{"class":444},[434,2389,776],{"class":448},[434,2391,451],{"class":444},[434,2393,2394],{"class":460},") => ",[434,2396,1687],{"class":444},[434,2398,1634],{"class":497},[434,2400,1637],{"class":448},[434,2402,716],{"class":444},[434,2404,2405],{"class":448},"return ",[434,2407,1645],{"class":440},[434,2409,1056],{"class":504},[434,2411,776],{"class":448},[434,2413,2200],{"class":444},[434,2415,467],{"class":444},[434,2417,2419],{"class":436,"line":2418},75,[434,2420,474],{"emptyLinePlaceholder":473},[434,2422,2424],{"class":436,"line":2423},76,[434,2425,2426],{"class":480},"    \u002F\u002F builtins (Date, Map, Set, Temporal) have no children: print the name\n",[434,2428,2430,2432,2434,2436,2439],{"class":436,"line":2429},77,[434,2431,1098],{"class":440},[434,2433,733],{"class":448},[434,2435,716],{"class":444},[434,2437,2438],{"class":448},"class",[434,2440,1107],{"class":444},[434,2442,2444,2446,2449,2451],{"class":436,"line":2443},78,[434,2445,1112],{"class":440},[434,2447,2448],{"class":448}," rt",[434,2450,716],{"class":444},[434,2452,2453],{"class":448},"children\n",[434,2455,2457,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502],{"class":436,"line":2456},79,[434,2458,2459],{"class":444},"        ?",[434,2461,1681],{"class":444},[434,2463,2043],{"class":460},[434,2465,1687],{"class":444},[434,2467,1637],{"class":448},[434,2469,716],{"class":444},[434,2471,1863],{"class":448},[434,2473,1645],{"class":440},[434,2475,1056],{"class":504},[434,2477,1870],{"class":448},[434,2479,716],{"class":444},[434,2481,764],{"class":497},[434,2483,1877],{"class":448},[434,2485,716],{"class":444},[434,2487,1585],{"class":497},[434,2489,767],{"class":448},[434,2491,464],{"class":444},[434,2493,2074],{"class":460},[434,2495,464],{"class":444},[434,2497,776],{"class":448},[434,2499,451],{"class":444},[434,2501,2083],{"class":460},[434,2503,2504],{"class":444},"`\n",[434,2506,2508,2511,2514,2516,2518,2520,2523,2526,2528,2530,2532,2534],{"class":436,"line":2507},80,[434,2509,2510],{"class":444},"        :",[434,2512,2513],{"class":497}," String",[434,2515,767],{"class":535},[434,2517,1051],{"class":448},[434,2519,716],{"class":444},[434,2521,2522],{"class":448},"typeName",[434,2524,2525],{"class":444}," ??",[434,2527,457],{"class":444},[434,2529,1396],{"class":460},[434,2531,464],{"class":444},[434,2533,776],{"class":535},[434,2535,467],{"class":444},[434,2537,2539],{"class":436,"line":2538},81,[434,2540,474],{"emptyLinePlaceholder":473},[434,2542,2544],{"class":436,"line":2543},82,[434,2545,2546],{"class":480},"    \u002F\u002F typeParameter, infer, ref, enumMember: rare in data shapes\n",[434,2548,2550,2553],{"class":436,"line":2549},83,[434,2551,2552],{"class":440},"    default",[434,2554,1107],{"class":444},[434,2556,2558,2560,2562,2565,2567,2569,2571,2573,2575,2578,2580],{"class":436,"line":2557},84,[434,2559,1112],{"class":440},[434,2561,1681],{"class":444},[434,2563,2564],{"class":460},"\u002F* kind ",[434,2566,1687],{"class":444},[434,2568,1051],{"class":448},[434,2570,716],{"class":444},[434,2572,411],{"class":448},[434,2574,451],{"class":444},[434,2576,2577],{"class":460}," *\u002F",[434,2579,1657],{"class":444},[434,2581,467],{"class":444},[434,2583,2585],{"class":436,"line":2584},85,[434,2586,2587],{"class":444},"  }\n",[434,2589,2591],{"class":436,"line":2590},86,[434,2592,2593],{"class":444},"}\n",[434,2595,2597],{"class":436,"line":2596},87,[434,2598,474],{"emptyLinePlaceholder":473},[434,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618],{"class":436,"line":2601},88,[434,2603,488],{"class":487},[434,2605,688],{"class":448},[434,2607,494],{"class":444},[434,2609,693],{"class":497},[434,2611,501],{"class":444},[434,2613,698],{"class":504},[434,2615,508],{"class":444},[434,2617,511],{"class":448},[434,2619,467],{"class":444},[434,2621,2623,2625,2627,2629,2631,2633,2636],{"class":436,"line":2622},89,[434,2624,713],{"class":448},[434,2626,716],{"class":444},[434,2628,719],{"class":497},[434,2630,767],{"class":448},[434,2632,1634],{"class":497},[434,2634,2635],{"class":448},"(orderRT))",[434,2637,467],{"class":444},[434,2639,2641],{"class":436,"line":2640},90,[434,2642,2643],{"class":480},"\u002F\u002F { id: string; total: number; items: { sku: string; qty: number }[]; status: \"open\" | \"shipped\" | \"cancelled\" }\n",[651,2645,2646,2647,2650,2651,2653,2654,991,2656,2659,2660,2663,2664,716],{},"Builtin classes (Date, URL, Map, Set, Temporal) carry a ",[409,2648,2649],{},"subKind"," and a name instead of ",[409,2652,758],{},", so treat them as leaves. Detect them by ",[409,2655,2649],{},[409,2657,2658],{},"node.subKind === RunTypeSubKind.date","), not by name: your own class could also be called Date. ",[409,2661,2662],{},"RunTypeSubKind"," comes from the package root, like ",[409,2665,934],{},[414,2667,2669],{"id":2668},"runtype-node-kinds","RunType Node Kinds",[405,2671,2672,2673,2675],{},"A node's ",[409,2674,411],{}," is always one of these, grouped by how you walk it:",[425,2677,2682],{"className":2678,"code":2680,"language":2681,"meta":430},[2679],"language-text","Atomic (leaves)    string  number  boolean  bigint  symbol  null  undefined  void\n                   never  any  unknown  object  regexp  literal  templateLiteral  enum\nSingle child       array  promise  rest                      (read child)\nContainers         tuple  union  intersection  objectLiteral  (read children)\nMembers            property  propertySignature  parameter  tupleMember  indexSignature\nCallables          function  method  callSignature  methodSignature  (read parameters, return)\nClass              class, covering Date \u002F URL \u002F Map \u002F Set \u002F Temporal or a plain shape (read subKind)\nType level (rare)  typeParameter  infer  enumMember  ref\n","text",[409,2683,2680],{"__ignoreMap":430},[2685,2686,2687],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}","Reflect any type into a RunType node, get its stable id, and walk the graph.","md",null,{"toc":24},{"title":195,"description":2688},"ueF5oZSzufCPxtETAY7SsOLdSCEqg90--F2ke_upf7k",1793324363741]