[{"data":1,"prerenderedAt":1239},["ShallowReactive",2],{"page:\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fresolvers":3},{"id":4,"title":5,"body":6,"description":1222,"extension":1223,"frontmatter":1224,"heading":5,"meta":1229,"navigation":1231,"order":1218,"path":1232,"seo":1233,"sitemap":1234,"source":1235,"stem":1236,"__hash__":1237,"hasPopups":1238},"docs\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fresolvers.md","Resolvers",{"type":7,"value":8,"toc":1210},"minimark",[9,17,23,38,482,487,635,641,654,670,735,741,866,872,899,902,914,1020,1024,1035,1173,1189],[10,11,13],"h2",{"id":12},"createresolver",[14,15,16],"code",{},"createResolver",[18,19,20,22],"p",{},[14,21,16],{}," builds a plugin resolver for names, paths, and imports.",[18,24,25,26,29,30,33,34,37],{},"Provide ",[14,27,28],{},"pluginName",". Methods use ",[14,31,32],{},"this"," to reach the merged resolver, so namespaced methods call ",[14,35,36],{},"this.name(...)"," for active casing.",[39,40,46],"pre",{"language":41,"meta":42,"code":43,"filename":44,"class":45},"typescript","twoslash","import { createResolver } from 'kubb\u002Fkit'\nimport type { PluginType, Resolver } from 'kubb\u002Fkit'\n\n\u002F\u002F Extend the base Resolver with plugin-specific naming namespaces.\ntype MyResolver = Resolver & {\n  schema: {\n    name(node: { name: string }): string\n  }\n}\n\ntype MyPlugin = PluginType\u003C'plugin-example', object, object, MyResolver>\n\nexport const resolver = createResolver\u003CMyPlugin>({\n  pluginName: 'plugin-example',\n  name(name) {\n    return `${name.charAt(0).toUpperCase()}${name.slice(1)}`\n  },\n  schema: {\n    name(node) {\n      return this.name(node.name)\n    },\n  },\n})","resolver.ts","shiki shiki-themes github-light github-dark twoslash lsp dark:github-dark",[14,47,49,78,79,78,109,78,111,78,117,78,148,78,165,78,207,78,212,78,217,78,219,78,265,78,267,78,302,78,319,78,338,78,402,78,407,78,419,78,437,78,468,78,473,78,477],{"class":48},"language-typescript",[50,51,54,58,62,68,71,74],"span",{"class":52,"style":53},"line","display: inline",[50,55,57],{"style":56},"color:#D73A49;--shiki-dark:#F97583","import",[50,59,61],{"style":60},"color:#24292E;--shiki-dark:#E1E4E8"," { ",[50,63,64],{"style":60},[50,65,16],{"class":66,"data-popup":67},"twoslash-hover","0",[50,69,70],{"style":60}," } ",[50,72,73],{"style":56},"from",[50,75,77],{"style":76},"color:#032F62;--shiki-dark:#9ECBFF"," 'kubb\u002Fkit'","\n",[50,80,81,83,86,88,94,97,103,105,107],{"class":52,"style":53},[50,82,57],{"style":56},[50,84,85],{"style":56}," type",[50,87,61],{"style":60},[50,89,90],{"style":60},[50,91,93],{"class":66,"data-popup":92},"1","PluginType",[50,95,96],{"style":60},", ",[50,98,99],{"style":60},[50,100,102],{"class":66,"data-popup":101},"2","Resolver",[50,104,70],{"style":60},[50,106,73],{"style":56},[50,108,77],{"style":76},[50,110],{"class":52,"style":53},[50,112,113],{"class":52,"style":53},[50,114,116],{"style":115},"color:#6A737D;--shiki-dark:#6A737D","\u002F\u002F Extend the base Resolver with plugin-specific naming namespaces.",[50,118,119,122,126,132,135,137,142,145],{"class":52,"style":53},[50,120,121],{"style":56},"type",[50,123,125],{"style":124},"color:#6F42C1;--shiki-dark:#B392F0"," ",[50,127,128],{"style":124},[50,129,131],{"class":66,"data-popup":130},"3","MyResolver",[50,133,134],{"style":56}," =",[50,136,125],{"style":124},[50,138,139],{"style":124},[50,140,102],{"class":66,"data-popup":141},"4",[50,143,144],{"style":56}," &",[50,146,147],{"style":60}," {",[50,149,150,154,160,163],{"class":52,"style":53},[50,151,153],{"style":152},"color:#E36209;--shiki-dark:#FFAB70","  ",[50,155,156],{"style":152},[50,157,159],{"class":66,"data-popup":158},"5","schema",[50,161,162],{"style":56},":",[50,164,147],{"style":60},[50,166,167,170,176,179,185,187,189,194,196,200,203,205],{"class":52,"style":53},[50,168,169],{"style":124},"    ",[50,171,172],{"style":124},[50,173,175],{"class":66,"data-popup":174},"6","name",[50,177,178],{"style":60},"(",[50,180,181],{"style":152},[50,182,184],{"class":66,"data-popup":183},"7","node",[50,186,162],{"style":56},[50,188,61],{"style":60},[50,190,191],{"style":152},[50,192,175],{"class":66,"data-popup":193},"8",[50,195,162],{"style":56},[50,197,199],{"style":198},"color:#005CC5;--shiki-dark:#79B8FF"," string",[50,201,202],{"style":60}," })",[50,204,162],{"style":56},[50,206,199],{"style":198},[50,208,209],{"class":52,"style":53},[50,210,211],{"style":60},"  }",[50,213,214],{"class":52,"style":53},[50,215,216],{"style":60},"}",[50,218],{"class":52,"style":53},[50,220,221,223,225,231,233,235,240,243,246,248,251,253,255,257,262],{"class":52,"style":53},[50,222,121],{"style":56},[50,224,125],{"style":124},[50,226,227],{"style":124},[50,228,230],{"class":66,"data-popup":229},"9","MyPlugin",[50,232,134],{"style":56},[50,234,125],{"style":124},[50,236,237],{"style":124},[50,238,93],{"class":66,"data-popup":239},"10",[50,241,242],{"style":60},"\u003C",[50,244,245],{"style":76},"'plugin-example'",[50,247,96],{"style":60},[50,249,250],{"style":198},"object",[50,252,96],{"style":60},[50,254,250],{"style":198},[50,256,96],{"style":60},[50,258,259],{"style":124},[50,260,131],{"class":66,"data-popup":261},"11",[50,263,264],{"style":60},">",[50,266],{"class":52,"style":53},[50,268,269,272,275,277,283,285,287,292,294,299],{"class":52,"style":53},[50,270,271],{"style":56},"export",[50,273,274],{"style":56}," const",[50,276,125],{"style":198},[50,278,279],{"style":198},[50,280,282],{"class":66,"data-popup":281},"12","resolver",[50,284,134],{"style":56},[50,286,125],{"style":124},[50,288,289],{"style":124},[50,290,16],{"class":66,"data-popup":291},"13",[50,293,242],{"style":60},[50,295,296],{"style":124},[50,297,230],{"class":66,"data-popup":298},"14",[50,300,301],{"style":60},">({",[50,303,304,306,311,314,316],{"class":52,"style":53},[50,305,153],{"style":60},[50,307,308],{"style":60},[50,309,28],{"class":66,"data-popup":310},"15",[50,312,313],{"style":60},": ",[50,315,245],{"style":76},[50,317,318],{"style":60},",",[50,320,321,323,328,330,335],{"class":52,"style":53},[50,322,153],{"style":124},[50,324,325],{"style":124},[50,326,175],{"class":66,"data-popup":327},"16",[50,329,178],{"style":60},[50,331,332],{"style":152},[50,333,175],{"class":66,"data-popup":334},"17",[50,336,337],{"style":60},") {",[50,339,340,343,346,351,354,360,362,364,367,373,376,379,384,386,392,394,396,399],{"class":52,"style":53},[50,341,342],{"style":56},"    return",[50,344,345],{"style":76}," `${",[50,347,348],{"style":60},[50,349,175],{"class":66,"data-popup":350},"18",[50,352,353],{"style":76},".",[50,355,356],{"style":124},[50,357,359],{"class":66,"data-popup":358},"19","charAt",[50,361,178],{"style":76},[50,363,67],{"style":198},[50,365,366],{"style":76},").",[50,368,369],{"style":124},[50,370,372],{"class":66,"data-popup":371},"20","toUpperCase",[50,374,375],{"style":76},"()",[50,377,378],{"style":76},"}${",[50,380,381],{"style":60},[50,382,175],{"class":66,"data-popup":383},"21",[50,385,353],{"style":76},[50,387,388],{"style":124},[50,389,391],{"class":66,"data-popup":390},"22","slice",[50,393,178],{"style":76},[50,395,92],{"style":198},[50,397,398],{"style":76},")",[50,400,401],{"style":76},"}`",[50,403,404],{"class":52,"style":53},[50,405,406],{"style":60},"  },",[50,408,409,411,416],{"class":52,"style":53},[50,410,153],{"style":60},[50,412,413],{"style":60},[50,414,159],{"class":66,"data-popup":415},"23",[50,417,418],{"style":60},": {",[50,420,421,423,428,430,435],{"class":52,"style":53},[50,422,169],{"style":124},[50,424,425],{"style":124},[50,426,175],{"class":66,"data-popup":427},"24",[50,429,178],{"style":60},[50,431,432],{"style":152},[50,433,184],{"class":66,"data-popup":434},"25",[50,436,337],{"style":60},[50,438,439,442,445,447,452,454,459,461,466],{"class":52,"style":53},[50,440,441],{"style":56},"      return",[50,443,444],{"style":198}," this",[50,446,353],{"style":60},[50,448,449],{"style":124},[50,450,175],{"class":66,"data-popup":451},"26",[50,453,178],{"style":60},[50,455,456],{"style":60},[50,457,184],{"class":66,"data-popup":458},"27",[50,460,353],{"style":60},[50,462,463],{"style":60},[50,464,175],{"class":66,"data-popup":465},"28",[50,467,398],{"style":60},[50,469,470],{"class":52,"style":53},[50,471,472],{"style":60},"    },",[50,474,475],{"class":52,"style":53},[50,476,406],{"style":60},[50,478,479],{"class":52,"style":53},[50,480,481],{"style":60},"})",[483,484,486],"h3",{"id":485},"auto-injected-resolver-defaults","Auto-injected resolver defaults",[488,489,490,503],"table",{},[491,492,493],"thead",{},[494,495,496,500],"tr",{},[497,498,499],"th",{},"Method",[497,501,502],{},"Default behavior",[504,505,506,520,537,550,571,585,608,622],"tbody",{},[494,507,508,513],{},[509,510,511],"td",{},[14,512,175],{},[509,514,515,516,519],{},"Active top-level identifier casing. Delegates to ",[14,517,518],{},"default.name"," when omitted",[494,521,522,527],{},[509,523,524],{},[14,525,526],{},"file",[509,528,529,530,533,534],{},"Top-level ",[14,531,532],{},"FileNode"," builder, delegates to ",[14,535,536],{},"default.file",[494,538,539,543],{},[509,540,541],{},[14,542,518],{},[509,544,545,546,549],{},"The core ",[14,547,548],{},"camelCase"," generated-identifier casing",[494,551,552,557],{},[509,553,554],{},[14,555,556],{},"default.options",[509,558,559,560,96,563,566,567,570],{},"Applies ",[14,561,562],{},"exclude",[14,564,565],{},"include",", and ",[14,568,569],{},"override"," filters",[494,572,573,578],{},[509,574,575],{},[14,576,577],{},"default.path",[509,579,580,581,584],{},"Resolves to ",[14,582,583],{},"output.path",", with optional tag\u002Fpath-based subdirectories",[494,586,587,591],{},[509,588,589],{},[14,590,536],{},[509,592,593,594,596,597,600,601,604,605,398],{},"Constructs a full ",[14,595,532],{}," using the resolver's ",[14,598,599],{},"file.baseName"," casing (camelCase by default, with ",[14,602,603],{},"pet.petId"," becoming ",[14,606,607],{},"pet\u002FpetId",[494,609,610,615],{},[509,611,612],{},[14,613,614],{},"default.banner",[509,616,617,618,621],{},"Returns ",[14,619,620],{},"output.banner"," or the standard \"Generated by Kubb\" header",[494,623,624,629],{},[509,625,626],{},[14,627,628],{},"default.footer",[509,630,617,631,634],{},[14,632,633],{},"output.footer"," when set",[483,636,638],{"id":637},"imports",[14,639,640],{},"resolver.imports",[18,642,643,645,646,649,650,653],{},[14,644,640],{}," builds one import entry per ",[14,647,648],{},"$ref"," in a schema tree, so a generator emits the imports for every schema the current node references. Each import uses the ref's ",[14,651,652],{},"targetName"," when set, and otherwise the last segment of its pointer.",[18,655,656,657,659,660,662,663,666,667,353],{},"The resulting names and paths go through the resolver's own ",[14,658,175],{}," and ",[14,661,526],{}," conventions. ",[14,664,665],{},"extname"," defaults to ",[14,668,669],{},".ts",[39,671,674],{"language":41,"meta":42,"code":672,"filename":673,"class":45},"import { ast } from 'kubb\u002Fkit'\nimport type { GeneratorContext, PluginType } from 'kubb\u002Fkit'\n\ndeclare const ctx: GeneratorContext\u003CPluginType>\nconst { resolver, root, output } = { ...ctx, output: { path: 'types' } }\nconst node = ast.factory.createSchema({ type: 'ref', ref: '#\u002Fcomponents\u002Fschemas\u002FPet' })\n\u002F\u002F ---cut---\nconst imports = resolver.imports({ node, root, output })\n\u002F\u002F → [{ kind: 'Import', name: ['pet'], path: '\u002Fsrc\u002Ftypes\u002Fpet.ts' }]","imports.ts",[14,675,676,78,730],{"class":48},[50,677,678,681,683,688,690,692,697,699,704,707,712,714,720,722,728],{"class":52,"style":53},[50,679,680],{"style":56},"const",[50,682,125],{"style":198},[50,684,685],{"style":198},[50,686,637],{"class":66,"data-popup":687},"29",[50,689,134],{"style":56},[50,691,125],{"style":60},[50,693,694],{"style":60},[50,695,282],{"class":66,"data-popup":696},"30",[50,698,353],{"style":60},[50,700,701],{"style":124},[50,702,637],{"class":66,"data-popup":703},"31",[50,705,706],{"style":60},"({ ",[50,708,709],{"style":60},[50,710,184],{"class":66,"data-popup":711},"32",[50,713,96],{"style":60},[50,715,716],{"style":60},[50,717,719],{"class":66,"data-popup":718},"33","root",[50,721,96],{"style":60},[50,723,724],{"style":60},[50,725,727],{"class":66,"data-popup":726},"34","output",[50,729,202],{"style":60},[50,731,732],{"class":52,"style":53},[50,733,734],{"style":115},"\u002F\u002F → [{ kind: 'Import', name: ['pet'], path: '\u002Fsrc\u002Ftypes\u002Fpet.ts' }]",[18,736,737,738,740],{},"Pass ",[14,739,175],{}," to override how a referenced schema name becomes the imported identifier, for example to point enum refs at a suffixed type name:",[39,742,745],{"language":41,"meta":42,"code":743,"filename":744,"class":45},"import { ast } from 'kubb\u002Fkit'\nimport type { GeneratorContext, PluginType } from 'kubb\u002Fkit'\n\ndeclare const ctx: GeneratorContext\u003CPluginType>\nconst { resolver, root, output } = { ...ctx, output: { path: 'types' } }\nconst node = ast.factory.createSchema({ type: 'ref', ref: '#\u002Fcomponents\u002Fschemas\u002FPet' })\n\u002F\u002F ---cut---\nconst imports = resolver.imports({\n  node,\n  root,\n  output,\n  name: (schemaName) => `${resolver.name(schemaName)}Type`,\n})","importsName.ts",[14,746,747,78,777,78,788,78,799,78,810,78,862],{"class":48},[50,748,749,751,753,758,760,762,767,769,774],{"class":52,"style":53},[50,750,680],{"style":56},[50,752,125],{"style":198},[50,754,755],{"style":198},[50,756,637],{"class":66,"data-popup":757},"35",[50,759,134],{"style":56},[50,761,125],{"style":60},[50,763,764],{"style":60},[50,765,282],{"class":66,"data-popup":766},"36",[50,768,353],{"style":60},[50,770,771],{"style":124},[50,772,637],{"class":66,"data-popup":773},"37",[50,775,776],{"style":60},"({",[50,778,779,781,786],{"class":52,"style":53},[50,780,153],{"style":60},[50,782,783],{"style":60},[50,784,184],{"class":66,"data-popup":785},"38",[50,787,318],{"style":60},[50,789,790,792,797],{"class":52,"style":53},[50,791,153],{"style":60},[50,793,794],{"style":60},[50,795,719],{"class":66,"data-popup":796},"39",[50,798,318],{"style":60},[50,800,801,803,808],{"class":52,"style":53},[50,802,153],{"style":60},[50,804,805],{"style":60},[50,806,727],{"class":66,"data-popup":807},"40",[50,809,318],{"style":60},[50,811,812,814,819,822,828,831,834,836,841,843,848,850,855,857,860],{"class":52,"style":53},[50,813,153],{"style":124},[50,815,816],{"style":124},[50,817,175],{"class":66,"data-popup":818},"41",[50,820,821],{"style":60},": (",[50,823,824],{"style":152},[50,825,827],{"class":66,"data-popup":826},"42","schemaName",[50,829,830],{"style":60},") ",[50,832,833],{"style":56},"=>",[50,835,345],{"style":76},[50,837,838],{"style":60},[50,839,282],{"class":66,"data-popup":840},"43",[50,842,353],{"style":76},[50,844,845],{"style":124},[50,846,175],{"class":66,"data-popup":847},"44",[50,849,178],{"style":76},[50,851,852],{"style":60},[50,853,827],{"class":66,"data-popup":854},"45",[50,856,398],{"style":76},[50,858,859],{"style":76},"}Type`",[50,861,318],{"style":60},[50,863,864],{"class":52,"style":53},[50,865,481],{"style":60},[483,867,869],{"id":868},"resolvermerge",[14,870,871],{},"Resolver.merge",[18,873,874,877,878,881,882,885,886,888,889,891,892,895,896,353],{},[14,875,876],{},"Resolver.merge(base, patch)"," returns a new resolver with ",[14,879,880],{},"patch","'s fields layered over ",[14,883,884],{},"base","'s and every helper re-bound. A top-level ",[14,887,175],{}," replaces, while ",[14,890,526],{}," and each namespace merge per member, so overriding ",[14,893,894],{},"query.name"," keeps the base ",[14,897,898],{},"query.keyName",[18,900,901],{},"Use it to compose resolvers or apply partial overrides.",[903,904,906,907,910,911,913],"blockquote",{"as":905},"tip","Type a patch with ",[14,908,909],{},"ResolverPatch\u003CT>"," to keep ",[14,912,32],{}," and namespace shapes checked against the target resolver.",[39,915,918],{"language":41,"meta":42,"code":916,"filename":917,"class":45},"import { createResolver, Resolver } from 'kubb\u002Fkit'\nimport type { PluginType } from 'kubb\u002Fkit'\n\nconst resolver = createResolver\u003CPluginType>({ pluginName: 'plugin-example' })\n\u002F\u002F ---cut---\nconst patched = Resolver.merge(resolver, {\n  name(name) {\n    return `Custom${this.default.name(name)}`\n  },\n})","merge.ts",[14,919,920,78,959,78,977,78,1012,78,1016],{"class":48},[50,921,922,924,926,932,934,936,941,943,949,951,956],{"class":52,"style":53},[50,923,680],{"style":56},[50,925,125],{"style":198},[50,927,928],{"style":198},[50,929,931],{"class":66,"data-popup":930},"46","patched",[50,933,134],{"style":56},[50,935,125],{"style":60},[50,937,938],{"style":60},[50,939,102],{"class":66,"data-popup":940},"47",[50,942,353],{"style":60},[50,944,945],{"style":124},[50,946,948],{"class":66,"data-popup":947},"48","merge",[50,950,178],{"style":60},[50,952,953],{"style":60},[50,954,282],{"class":66,"data-popup":955},"49",[50,957,958],{"style":60},", {",[50,960,961,963,968,970,975],{"class":52,"style":53},[50,962,153],{"style":124},[50,964,965],{"style":124},[50,966,175],{"class":66,"data-popup":967},"50",[50,969,178],{"style":60},[50,971,972],{"style":152},[50,973,175],{"class":66,"data-popup":974},"51",[50,976,337],{"style":60},[50,978,979,981,984,986,988,994,996,1001,1003,1008,1010],{"class":52,"style":53},[50,980,342],{"style":56},[50,982,983],{"style":76}," `Custom${",[50,985,32],{"style":198},[50,987,353],{"style":76},[50,989,990],{"style":60},[50,991,993],{"class":66,"data-popup":992},"52","default",[50,995,353],{"style":76},[50,997,998],{"style":124},[50,999,175],{"class":66,"data-popup":1000},"53",[50,1002,178],{"style":76},[50,1004,1005],{"style":60},[50,1006,175],{"class":66,"data-popup":1007},"54",[50,1009,398],{"style":76},[50,1011,401],{"style":76},[50,1013,1014],{"class":52,"style":53},[50,1015,406],{"style":60},[50,1017,1018],{"class":52,"style":53},[50,1019,481],{"style":60},[10,1021,1023],{"id":1022},"resolver-overrides","Resolver overrides",[18,1025,1026,1028,1029,659,1031,1034],{},[14,1027,175],{}," changes identifier casing. ",[14,1030,599],{},[14,1032,1033],{},"file.path"," control files. Plugin namespaces control specific symbols.",[39,1036,1040],{"language":41,"filename":1037,"code":1038,"class":1039},"Type definition","type ResolverPatch = {\n  name?: (name: string) => string\n  file?: {\n    baseName?: (params: { name: string; extname: string }) => string\n    path?: (params: { baseName: string; output: Output }) => string\n  }\n  \u002F\u002F plugin-specific namespaces, such as query.keyName or schema.typeName\n}","shiki shiki-themes github-light github-dark dark:github-dark",[14,1041,1042,78,1053,78,1076,78,1085,78,1123,78,1160,78,1164,78,1169],{"class":48},[50,1043,1044,1046,1049,1051],{"class":52,"style":53},[50,1045,121],{"style":56},[50,1047,1048],{"style":124}," ResolverPatch",[50,1050,134],{"style":56},[50,1052,147],{"style":60},[50,1054,1055,1058,1061,1064,1066,1068,1070,1072,1074],{"class":52,"style":53},[50,1056,1057],{"style":124},"  name",[50,1059,1060],{"style":56},"?:",[50,1062,1063],{"style":60}," (",[50,1065,175],{"style":152},[50,1067,162],{"style":56},[50,1069,199],{"style":198},[50,1071,830],{"style":60},[50,1073,833],{"style":56},[50,1075,199],{"style":198},[50,1077,1078,1081,1083],{"class":52,"style":53},[50,1079,1080],{"style":152},"  file",[50,1082,1060],{"style":56},[50,1084,147],{"style":60},[50,1086,1087,1090,1092,1094,1097,1099,1101,1103,1105,1107,1110,1112,1114,1116,1119,1121],{"class":52,"style":53},[50,1088,1089],{"style":124},"    baseName",[50,1091,1060],{"style":56},[50,1093,1063],{"style":60},[50,1095,1096],{"style":152},"params",[50,1098,162],{"style":56},[50,1100,61],{"style":60},[50,1102,175],{"style":152},[50,1104,162],{"style":56},[50,1106,199],{"style":198},[50,1108,1109],{"style":60},"; ",[50,1111,665],{"style":152},[50,1113,162],{"style":56},[50,1115,199],{"style":198},[50,1117,1118],{"style":60}," }) ",[50,1120,833],{"style":56},[50,1122,199],{"style":198},[50,1124,1125,1128,1130,1132,1134,1136,1138,1141,1143,1145,1147,1149,1151,1154,1156,1158],{"class":52,"style":53},[50,1126,1127],{"style":124},"    path",[50,1129,1060],{"style":56},[50,1131,1063],{"style":60},[50,1133,1096],{"style":152},[50,1135,162],{"style":56},[50,1137,61],{"style":60},[50,1139,1140],{"style":152},"baseName",[50,1142,162],{"style":56},[50,1144,199],{"style":198},[50,1146,1109],{"style":60},[50,1148,727],{"style":152},[50,1150,162],{"style":56},[50,1152,1153],{"style":124}," Output",[50,1155,1118],{"style":60},[50,1157,833],{"style":56},[50,1159,199],{"style":198},[50,1161,1162],{"class":52,"style":53},[50,1163,211],{"style":60},[50,1165,1166],{"class":52,"style":53},[50,1167,1168],{"style":115},"  \u002F\u002F plugin-specific namespaces, such as query.keyName or schema.typeName",[50,1170,1171],{"class":52,"style":53},[50,1172,216],{"style":60},[18,1174,1175,1176,1178,1179,1182,1183,1185,1186,1188],{},"Methods run with a ",[14,1177,32],{}," context bound to the full, merged resolver, so write them as regular functions rather than arrow functions. ",[14,1180,1181],{},"this.default.name(name)"," always applies Kubb's core ",[14,1184,548],{}," default. The plugin preset's ",[14,1187,175],{}," method remains separate.",[18,1190,1191,1192,1195,1196,1198,1199,1202,1203,1205,1206,1209],{},"From a namespaced method, ",[14,1193,1194],{},"this.name(name)"," calls the active top-level ",[14,1197,175],{}," method and follows any user override. Calling ",[14,1200,1201],{},"this.name"," from the top-level ",[14,1204,175],{}," method itself recurses, so call an exported preset resolver such as ",[14,1207,1208],{},"resolverTs.name"," when you want to wrap its casing.",{"title":1211,"searchDepth":1212,"depth":1212,"links":1213},"",5,[1214,1221],{"id":12,"depth":1215,"text":16,"children":1216},2,[1217,1219,1220],{"id":485,"depth":1218,"text":486},3,{"id":637,"depth":1218,"text":640},{"id":868,"depth":1218,"text":871},{"id":1022,"depth":1215,"text":1023},"createResolver builds a Resolver that controls file naming and path resolution for a plugin, with auto-injected defaults under resolver.default and Resolver.merge for layering overrides.","md",{"layout":1225,"title":5,"description":1222,"outline":1226,"order":1218,"navigation":1227},"doc",[1215,1218],{"title":5,"icon":1228},"i-iconoir-label",{"layout":1225,"outline":1230},[1215,1218],{"title":5,"icon":1228},"\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fresolvers",{"title":5,"description":1222},{"loc":1232},"kubb-labs\u002Fkubb\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fresolvers.md","docs\u002F5.x\u002Freference\u002Fkit\u002Fresolvers","n_ExQT3dJxf-Vewjy85VFO4TYozD81ZI_FCn25PkQgA",true,1792317737158]