[{"data":1,"prerenderedAt":2723},["ShallowReactive",2],{"page:\u002Fdocs\u002F5.x\u002Freference\u002Fplugin-options":3},{"id":4,"title":5,"body":6,"description":2707,"extension":2708,"frontmatter":2709,"heading":5,"meta":2714,"navigation":2716,"order":2690,"path":2717,"seo":2718,"sitemap":2719,"source":2720,"stem":2721,"__hash__":2722},"docs\u002Fdocs\u002F5.x\u002Freference\u002Fplugin-options.md","Shared plugin options",{"type":7,"value":8,"toc":2686},"minimark",[9,13,36,40,43,96,112,240,244,260,301,305,308,353,375,392,413,416,423,426,476,499,522,548,578,648,652,659,688,717,837,841,847,875,885,887,899,908,944,947,950,964,1011,1015,1022,1053,1069,1072,1078,1127,1225,1228,1231,1267,1324,1345,1486,1586,1589,1594,1632,1641,1668,1799,1802,1805,1842,1855,1915,1935,2068,2071,2074,2107,2140,2311,2330,2432,2435,2438,2475,2502,2526],[10,11,12],"p",{},"Every generator plugin accepts the options on this page. A plugin's own options page lists only the default it gives each one and links here for the behavior.",[10,14,15,19,20,27,28,31,32,35],{},[16,17,18],"code",{},"@kubb\u002Fplugin-barrel"," is the exception: it takes no arguments and is configured through ",[21,22,24],"a",{"href":23},"#output-barrel",[16,25,26],{},"output.barrel",". ",[16,29,30],{},"@kubb\u002Fplugin-redoc"," accepts only ",[16,33,34],{},"output.path",".",[37,38,39],"h2",{"id":39},"output",[10,41,42],{},"Where the plugin writes its files and how they are exported.",[44,45,46,57],"table",{},[47,48,49],"thead",{},[50,51,52,55],"tr",{},[53,54],"th",{},[53,56],{},[58,59,60,71,81],"tbody",{},[50,61,62,66],{},[63,64,65],"td",{},"Type",[63,67,68],{},[16,69,70],{},"Output",[50,72,73,76],{},[63,74,75],{},"Required",[63,77,78],{},[16,79,80],{},"false",[50,82,83,86],{},[63,84,85],{},"Default",[63,87,88,89,92,93],{},"Set by each plugin, for example ",[16,90,91],{},"{ path: 'types', barrel: { type: 'named' } }"," for ",[16,94,95],{},"@kubb\u002Fplugin-ts",[10,97,98,99,101,102,105,106,108,109,35],{},"An ",[16,100,39],{}," you pass replaces the plugin default as a whole. Repeat ",[16,103,104],{},"barrel"," when you set ",[16,107,39],{}," yourself, or the plugin falls back to ",[16,110,111],{},"config.output.barrel",[113,114,119],"pre",{"language":115,"filename":116,"code":117,"class":118},"typescript","kubb.config.ts","import { pluginTs } from '@kubb\u002Fplugin-ts'\n\npluginTs({\n  output: {\n    path: 'models',\n    barrel: { type: 'named' },\n    banner: '\u002F* eslint-disable *\u002F',\n  },\n})","highlights",[16,120,122,149,150,149,152,149,161,149,174,149,190,149,213,149,227,149,235],{"class":121},"language-typescript",[123,124,127,131,135,139,142,145],"span",{"class":125,"style":126},"line","display: inline",[123,128,130],{"style":129},"color:#d73a49;--hls-dark:#f97583","import ",[123,132,134],{"style":133},"color:#005cc5;--hls-dark:#79b8ff","{ ",[123,136,138],{"style":137},"color:#24292e;--hls-dark:#e1e4e8","pluginTs ",[123,140,141],{"style":133},"} ",[123,143,144],{"style":129},"from ",[123,146,148],{"style":147},"color:#032f62;--hls-dark:#9ecbff","'@kubb\u002Fplugin-ts'","\n",[123,151],{"class":125,"style":126},[123,153,154,158],{"class":125,"style":126},[123,155,157],{"style":156},"color:#6f42c1;--hls-dark:#b392f0","pluginTs",[123,159,160],{"style":133},"({",[123,162,163,166,168,171],{"class":125,"style":126},[123,164,165],{"style":133},"  ",[123,167,39],{"style":133},[123,169,170],{"style":129},": ",[123,172,173],{"style":133},"{",[123,175,176,179,182,184,187],{"class":125,"style":126},[123,177,178],{"style":133},"    ",[123,180,181],{"style":133},"path",[123,183,170],{"style":129},[123,185,186],{"style":147},"'models'",[123,188,189],{"style":129},",",[123,191,192,194,196,198,200,203,205,208,211],{"class":125,"style":126},[123,193,178],{"style":129},[123,195,104],{"style":133},[123,197,170],{"style":129},[123,199,134],{"style":133},[123,201,202],{"style":133},"type",[123,204,170],{"style":129},[123,206,207],{"style":147},"'named' ",[123,209,210],{"style":133},"}",[123,212,189],{"style":129},[123,214,215,217,220,222,225],{"class":125,"style":126},[123,216,178],{"style":129},[123,218,219],{"style":133},"banner",[123,221,170],{"style":129},[123,223,224],{"style":147},"'\u002F* eslint-disable *\u002F'",[123,226,189],{"style":129},[123,228,229,231,233],{"class":125,"style":126},[123,230,165],{"style":129},[123,232,210],{"style":133},[123,234,189],{"style":129},[123,236,237],{"class":125,"style":126},[123,238,239],{"style":133},"})",[241,242,34],"h3",{"id":243},"output-path",[10,245,246,247,249,250,253,254,256,257,35],{},"Folder where the plugin writes its files, resolved against the global ",[16,248,34],{}," on ",[16,251,252],{},"defineConfig",". For a single file, give ",[16,255,181],{}," a name with its extension, such as ",[16,258,259],{},"'types.ts'",[44,261,262,270],{},[47,263,264],{},[50,265,266,268],{},[53,267],{},[53,269],{},[58,271,272,281,294],{},[50,273,274,276],{},[63,275,65],{},[63,277,278],{},[16,279,280],{},"string",[50,282,283,285],{},[63,284,75],{},[63,286,287,290,291,293],{},[16,288,289],{},"true"," when ",[16,292,39],{}," is set",[50,295,296,298],{},[63,297,85],{},[63,299,300],{},"Set by each plugin",[241,302,304],{"id":303},"output-mode","output.mode",[10,306,307],{},"How generated code is consolidated into files.",[44,309,310,318],{},[47,311,312],{},[50,313,314,316],{},[53,315],{},[53,317],{},[58,319,320,329,337],{},[50,321,322,324],{},[63,323,65],{},[63,325,326],{},[16,327,328],{},"'directory' | 'file'",[50,330,331,333],{},[63,332,75],{},[63,334,335],{},[16,336,80],{},[50,338,339,341],{},[63,340,85],{},[63,342,343,290,346,348,349,352],{},[16,344,345],{},"'file'",[16,347,34],{}," has an extension, ",[16,350,351],{},"'directory'"," otherwise",[354,355,356,367],"field-group",{},[357,358,359,360,362,363,366],"field",{"name":351},"Writes one file per operation or schema under ",[16,361,34],{},". Use ",[16,364,365],{},"group"," to split those files into subfolders.",[357,368,369,370,372,373,35],{"name":345},"Writes everything into a single file. ",[16,371,34],{}," must include the file extension, such as ",[16,374,259],{},[10,376,377,378,381,382,384,385,388,389,35],{},"Leave ",[16,379,380],{},"mode"," unset and Kubb reads it from ",[16,383,34],{},". Set ",[16,386,387],{},"mode: 'directory'"," only to override that inference, for example for a directory name that carries a dot such as ",[16,390,391],{},"'clients.v2'",[393,394,396,397,399,400,402,403,406,407,35],"blockquote",{"as":395},"important","",[16,398,365],{}," needs directory output. Combining ",[16,401,365],{}," with ",[16,404,405],{},"mode: 'file'"," stops the build with ",[21,408,410],{"href":409},"\u002Fdocs\u002F5.x\u002Freference\u002Fdiagnostics#kubb-invalid-plugin-options",[16,411,412],{},"KUBB_INVALID_PLUGIN_OPTIONS",[241,414,26],{"id":415},"output-barrel",[10,417,418,419,422],{},"Controls how generated ",[16,420,421],{},"index.ts"," files re-export the plugin's output. Toggle the export style and depth to see the generated barrels.",[424,425],"barrel-tree",{},[44,427,428,436],{},[47,429,430],{},[50,431,432,434],{},[53,433],{},[53,435],{},[58,437,438,447,455],{},[50,439,440,442],{},[63,441,65],{},[63,443,444],{},[16,445,446],{},"{ type: 'all' | 'named', nested?: boolean, namespace?: boolean } | false",[50,448,449,451],{},[63,450,75],{},[63,452,453],{},[16,454,80],{},[50,456,457,459],{},[63,458,85],{},[63,460,461,464,465,467,468,470,471,473,474],{},[16,462,463],{},"{ type: 'named' }"," from the plugin's default ",[16,466,39],{},", ",[16,469,80],{}," once you pass your own ",[16,472,39],{}," without ",[16,475,104],{},[354,477,478,485,496],{},[357,479,481,482,484],{"name":480},"'named'","Re-exports each symbol by name. Use ",[16,483,463],{}," for explicit imports and tree-shaking.",[357,486,488,489,362,492,495],{"name":487},"'all'","Re-exports every symbol with ",[16,490,491],{},"export *",[16,493,494],{},"{ type: 'all' }"," for wildcard exports.",[357,497,498],{"name":80},"Skips barrel generation for this plugin and drops its files from the root barrel.",[10,500,501,502,505,506,509,510,512,513,249,515,517,518,521],{},"Add ",[16,503,504],{},"nested: true",", for example ",[16,507,508],{},"{ type: 'named', nested: true }",", to write an ",[16,511,421],{}," in every subdirectory that re-exports only what sits directly inside it. The root ",[16,514,26],{},[16,516,252],{}," has no ",[16,519,520],{},"nested"," field.",[10,523,501,524,527,528,531,532,535,536,539,540,543,544,35],{},[16,525,526],{},"namespace: true"," on a plugin's barrel to expose each immediate group as a named namespace, alongside the standalone exports. This enables nested barrels. For tag-grouped fetch clients, use ",[16,529,530],{},"group.name"," to produce names such as ",[16,533,534],{},"PetService",", then import ",[16,537,538],{},"{ PetService }"," from the client barrel. Leave fetch ",[16,541,542],{},"sdk"," unset when generating query hooks or options. See the ",[21,545,547],{"href":546},"\u002Fextensions\u002Fkubb-labs\u002Fplugin-barrel\u002Foptions#namespace","fetch + React Query example",[10,549,550,551,553,554,249,556,558,559,561,562,568,569,467,571,573,574,577],{},"Kubb reads the plugin's own ",[16,552,26],{}," first, falls back to ",[16,555,111],{},[16,557,252],{},", and finally to ",[16,560,80],{},". See ",[21,563,565,567],{"href":564},"\u002Fextensions\u002Fkubb-labs\u002Fplugin-barrel\u002Foptions",[16,566,18],{}," options"," for the ",[16,570,202],{},[16,572,520],{},", and ",[16,575,576],{},"namespace"," fields in detail.",[113,579,581],{"language":115,"filename":116,"code":580,"class":118},"import { pluginZod } from '@kubb\u002Fplugin-zod'\n\npluginZod({ output: { path: 'zod', barrel: { type: 'all', nested: true } } })",[16,582,583,149,599,149,601],{"class":121},[123,584,585,587,589,592,594,596],{"class":125,"style":126},[123,586,130],{"style":129},[123,588,134],{"style":133},[123,590,591],{"style":137},"pluginZod ",[123,593,141],{"style":133},[123,595,144],{"style":129},[123,597,598],{"style":147},"'@kubb\u002Fplugin-zod'",[123,600],{"class":125,"style":126},[123,602,603,606,609,611,613,615,617,619,622,624,626,628,630,632,634,636,638,640,642,645],{"class":125,"style":126},[123,604,605],{"style":156},"pluginZod",[123,607,608],{"style":133},"({ ",[123,610,39],{"style":133},[123,612,170],{"style":129},[123,614,134],{"style":133},[123,616,181],{"style":133},[123,618,170],{"style":129},[123,620,621],{"style":147},"'zod'",[123,623,467],{"style":129},[123,625,104],{"style":133},[123,627,170],{"style":129},[123,629,134],{"style":133},[123,631,202],{"style":133},[123,633,170],{"style":129},[123,635,487],{"style":147},[123,637,467],{"style":129},[123,639,520],{"style":133},[123,641,170],{"style":129},[123,643,644],{"style":133},"true ",[123,646,647],{"style":133},"} } })",[241,649,651],{"id":650},"output-banner","output.banner",[10,653,654,655,658],{},"Text added to the top of every generated file, such as a license header or a ",[16,656,657],{},"@ts-nocheck"," directive.",[44,660,661,669],{},[47,662,663],{},[50,664,665,667],{},[53,666],{},[53,668],{},[58,670,671,680],{},[50,672,673,675],{},[63,674,65],{},[63,676,677],{},[16,678,679],{},"string | ((meta: BannerMeta) => string)",[50,681,682,684],{},[63,683,75],{},[63,685,686],{},[16,687,80],{},[10,689,690,691,467,694,467,697,467,700,703,704,467,707,467,710,467,713,716],{},"A string is applied to every file, barrels included. A function receives the document info (",[16,692,693],{},"title",[16,695,696],{},"description",[16,698,699],{},"version",[16,701,702],{},"baseURL",") and per-file context (",[16,705,706],{},"filePath",[16,708,709],{},"baseName",[16,711,712],{},"isBarrel",[16,714,715],{},"isAggregation","), so a directive can skip barrel files.",[113,718,720],{"language":115,"filename":116,"code":719,"class":118},"import { pluginFetch } from '@kubb\u002Fplugin-fetch'\n\npluginFetch({\n  output: {\n    path: 'clients',\n    banner: (meta) => (meta.isBarrel || meta.isAggregation ? '' : \"'use server'\"),\n  },\n})",[16,721,722,149,738,149,740,149,747,149,757,149,770,149,825,149,833],{"class":121},[123,723,724,726,728,731,733,735],{"class":125,"style":126},[123,725,130],{"style":129},[123,727,134],{"style":133},[123,729,730],{"style":137},"pluginFetch ",[123,732,141],{"style":133},[123,734,144],{"style":129},[123,736,737],{"style":147},"'@kubb\u002Fplugin-fetch'",[123,739],{"class":125,"style":126},[123,741,742,745],{"class":125,"style":126},[123,743,744],{"style":156},"pluginFetch",[123,746,160],{"style":133},[123,748,749,751,753,755],{"class":125,"style":126},[123,750,165],{"style":133},[123,752,39],{"style":133},[123,754,170],{"style":129},[123,756,173],{"style":133},[123,758,759,761,763,765,768],{"class":125,"style":126},[123,760,178],{"style":133},[123,762,181],{"style":133},[123,764,170],{"style":129},[123,766,767],{"style":147},"'clients'",[123,769,189],{"style":129},[123,771,772,774,776,778,781,784,787,790,792,794,796,799,802,804,806,809,812,815,817,820,823],{"class":125,"style":126},[123,773,178],{"style":129},[123,775,219],{"style":133},[123,777,170],{"style":129},[123,779,780],{"style":133},"(",[123,782,783],{"style":137},"meta",[123,785,786],{"style":133},") ",[123,788,789],{"style":129},"=> ",[123,791,780],{"style":133},[123,793,783],{"style":137},[123,795,35],{"style":129},[123,797,798],{"style":133},"isBarrel ",[123,800,801],{"style":129},"|| ",[123,803,783],{"style":137},[123,805,35],{"style":129},[123,807,808],{"style":133},"isAggregation ",[123,810,811],{"style":129},"? ",[123,813,814],{"style":147},"'' ",[123,816,170],{"style":129},[123,818,819],{"style":147},"\"'use server'\"",[123,821,822],{"style":133},")",[123,824,189],{"style":129},[123,826,827,829,831],{"class":125,"style":126},[123,828,165],{"style":129},[123,830,210],{"style":133},[123,832,189],{"style":129},[123,834,835],{"class":125,"style":126},[123,836,239],{"style":133},[241,838,840],{"id":839},"output-footer","output.footer",[10,842,843,844,846],{},"Text added to the bottom of every generated file, like ",[16,845,219],{}," but for closing comments.",[44,848,849,857],{},[47,850,851],{},[50,852,853,855],{},[53,854],{},[53,856],{},[58,858,859,867],{},[50,860,861,863],{},[63,862,65],{},[63,864,865],{},[16,866,679],{},[50,868,869,871],{},[63,870,75],{},[63,872,873],{},[16,874,80],{},[10,876,877,878,402,881,884],{},"Pair ",[16,879,880],{},"banner: '\u002F* eslint-disable *\u002F'",[16,882,883],{},"footer: '\u002F* eslint-enable *\u002F'"," to scope a lint disable to the generated file.",[37,886,365],{"id":365},[10,888,889,890,893,894,896,897,35],{},"Splits generated files into subfolders by the operation's tag or URL path, each under ",[16,891,892],{},"{output.path}\u002F{groupName}\u002F",". Without ",[16,895,365],{},", every file lands directly in ",[16,898,34],{},[10,900,901,902,907],{},"Combine tag grouping with ",[21,903,904],{"href":23},[16,905,906],{},"output.barrel.namespace"," to expose each group as a named service while retaining standalone operation imports.",[44,909,910,918],{},[47,911,912],{},[50,913,914,916],{},[53,915],{},[53,917],{},[58,919,920,929,937],{},[50,921,922,924],{},[63,923,65],{},[63,925,926],{},[16,927,928],{},"{ type: 'tag' | 'path', name?: (context: { group: string }) => string }",[50,930,931,933],{},[63,932,75],{},[63,934,935],{},[16,936,80],{},[50,938,939,941],{},[63,940,85],{},[63,942,943],{},"No grouping",[10,945,946],{},"Switch the mode to see where these operations land on disk.",[948,949],"grouping-diagram",{},[10,951,952,954,955,958,959,406,962,35],{},[16,953,365],{}," applies only to ",[16,956,957],{},"output.mode: 'directory'",". Combining it with ",[16,960,961],{},"output.mode: 'file'",[16,963,412],{},[113,965,967],{"language":115,"filename":116,"code":966,"class":118},"import { pluginTs } from '@kubb\u002Fplugin-ts'\n\npluginTs({ group: { type: 'tag' } }) \u002F\u002F src\u002Fgen\u002Ftypes\u002Fpet\u002F, src\u002Fgen\u002Ftypes\u002Fstore\u002F, ...",[16,968,969,149,983,149,985],{"class":121},[123,970,971,973,975,977,979,981],{"class":125,"style":126},[123,972,130],{"style":129},[123,974,134],{"style":133},[123,976,138],{"style":137},[123,978,141],{"style":133},[123,980,144],{"style":129},[123,982,148],{"style":147},[123,984],{"class":125,"style":126},[123,986,987,989,991,993,995,997,999,1001,1004,1007],{"class":125,"style":126},[123,988,157],{"style":156},[123,990,608],{"style":133},[123,992,365],{"style":133},[123,994,170],{"style":129},[123,996,134],{"style":133},[123,998,202],{"style":133},[123,1000,170],{"style":129},[123,1002,1003],{"style":147},"'tag' ",[123,1005,1006],{"style":133},"} }) ",[123,1008,1010],{"style":1009},"color:#6a737d;--hls-dark:#6a737d","\u002F\u002F src\u002Fgen\u002Ftypes\u002Fpet\u002F, src\u002Fgen\u002Ftypes\u002Fstore\u002F, ...",[241,1012,1014],{"id":1013},"group-type","group.type",[10,1016,1017,1018,1021],{},"Property used to assign each operation to a group. An operation with no tag goes in the ",[16,1019,1020],{},"default"," group.",[44,1023,1024,1032],{},[47,1025,1026],{},[50,1027,1028,1030],{},[53,1029],{},[53,1031],{},[58,1033,1034,1043],{},[50,1035,1036,1038],{},[63,1037,65],{},[63,1039,1040],{},[16,1041,1042],{},"'tag' | 'path'",[50,1044,1045,1047],{},[63,1046,75],{},[63,1048,1049,290,1051,293],{},[16,1050,289],{},[16,1052,365],{},[354,1054,1055,1059],{},[357,1056,1058],{"name":1057},"'tag'","Uses the operation's first tag.",[357,1060,1062,1063,92,1066,35],{"name":1061},"'path'","Uses the first URL segment, such as ",[16,1064,1065],{},"pet",[16,1067,1068],{},"\u002Fpet\u002F{petId}",[241,1070,530],{"id":1071},"group-name",[10,1073,1074,1075,1077],{},"Turns the group key into the subfolder name, also used as the suffix on aggregate files. A ",[16,1076,530],{}," you pass always wins over the default.",[44,1079,1080,1088],{},[47,1081,1082],{},[50,1083,1084,1086],{},[53,1085],{},[53,1087],{},[58,1089,1090,1099,1107],{},[50,1091,1092,1094],{},[63,1093,65],{},[63,1095,1096],{},[16,1097,1098],{},"(context: { group: string }) => string",[50,1100,1101,1103],{},[63,1102,75],{},[63,1104,1105],{},[16,1106,80],{},[50,1108,1109,1111],{},[63,1110,85],{},[63,1112,1113,1115,1116,1119,1120,1123,1124,1126],{},[16,1114,1057],{}," groups camelCase the tag (",[16,1117,1118],{},"pet store"," becomes ",[16,1121,1122],{},"petStore","), ",[16,1125,1061],{}," groups keep the raw URL segment",[113,1128,1130],{"language":115,"filename":116,"code":1129,"class":118},"import { pluginTs } from '@kubb\u002Fplugin-ts'\n\npluginTs({\n  group: {\n    type: 'tag',\n    name: ({ group }) => `${group}Api`, \u002F\u002F src\u002Fgen\u002Ftypes\u002FpetApi\u002F\n  },\n})",[16,1131,1132,149,1146,149,1148,149,1154,149,1164,149,1176,149,1213,149,1221],{"class":121},[123,1133,1134,1136,1138,1140,1142,1144],{"class":125,"style":126},[123,1135,130],{"style":129},[123,1137,134],{"style":133},[123,1139,138],{"style":137},[123,1141,141],{"style":133},[123,1143,144],{"style":129},[123,1145,148],{"style":147},[123,1147],{"class":125,"style":126},[123,1149,1150,1152],{"class":125,"style":126},[123,1151,157],{"style":156},[123,1153,160],{"style":133},[123,1155,1156,1158,1160,1162],{"class":125,"style":126},[123,1157,165],{"style":133},[123,1159,365],{"style":133},[123,1161,170],{"style":129},[123,1163,173],{"style":133},[123,1165,1166,1168,1170,1172,1174],{"class":125,"style":126},[123,1167,178],{"style":133},[123,1169,202],{"style":133},[123,1171,170],{"style":129},[123,1173,1057],{"style":147},[123,1175,189],{"style":129},[123,1177,1178,1180,1183,1185,1187,1190,1193,1195,1198,1201,1203,1205,1208,1210],{"class":125,"style":126},[123,1179,178],{"style":129},[123,1181,1182],{"style":133},"name",[123,1184,170],{"style":129},[123,1186,608],{"style":133},[123,1188,1189],{"style":137},"group ",[123,1191,1192],{"style":133},"}) ",[123,1194,789],{"style":129},[123,1196,1197],{"style":147},"`",[123,1199,1200],{"style":137},"${",[123,1202,365],{"style":137},[123,1204,210],{"style":137},[123,1206,1207],{"style":147},"Api`",[123,1209,467],{"style":129},[123,1211,1212],{"style":1009},"\u002F\u002F src\u002Fgen\u002Ftypes\u002FpetApi\u002F",[123,1214,1215,1217,1219],{"class":125,"style":126},[123,1216,165],{"style":1009},[123,1218,210],{"style":133},[123,1220,189],{"style":129},[123,1222,1223],{"class":125,"style":126},[123,1224,239],{"style":133},[37,1226,1227],{"id":1227},"include",[10,1229,1230],{},"Generates only the operations and schemas that match at least one entry, and skips the rest.",[44,1232,1233,1241],{},[47,1234,1235],{},[50,1236,1237,1239],{},[53,1238],{},[53,1240],{},[58,1242,1243,1252,1260],{},[50,1244,1245,1247],{},[63,1246,65],{},[63,1248,1249],{},[16,1250,1251],{},"Array\u003CInclude>",[50,1253,1254,1256],{},[63,1255,75],{},[63,1257,1258],{},[16,1259,80],{},[50,1261,1262,1264],{},[63,1263,85],{},[63,1265,1266],{},"Everything is generated",[10,1268,1269,1270,467,1273,467,1276,467,1278,467,1281,1284,1285,1288,1289,1292,1293,1296,1297,1300,1301,1304,1305,1308,1309,1312,1313,1316,1317,1320,1321,35],{},"Each entry filters by ",[16,1271,1272],{},"tag",[16,1274,1275],{},"operationId",[16,1277,181],{},[16,1279,1280],{},"method",[16,1282,1283],{},"contentType",", or ",[16,1286,1287],{},"schemaName",", with a ",[16,1290,1291],{},"pattern"," that is a string or a ",[16,1294,1295],{},"RegExp",". A string is compiled with ",[16,1298,1299],{},"new RegExp(pattern)",", so it is not an exact match: ",[16,1302,1303],{},"pattern: 'pet'"," also matches ",[16,1306,1307],{},"'petType'"," and ",[16,1310,1311],{},"'superpet'",". Anchor it (",[16,1314,1315],{},"'^pet$'",") for an exact match. For ",[16,1318,1319],{},"type: 'method'",", a string pattern is an uppercase HTTP method such as ",[16,1322,1323],{},"'GET'",[10,1325,98,1326,1329,1330,1333,1334,1337,1338,1341,1342,1344],{},[16,1327,1328],{},"extension"," entry matches operations by a vendor extension on the source operation instead of a pattern: ",[16,1331,1332],{},"key"," is the ",[16,1335,1336],{},"x-*"," key, and the optional ",[16,1339,1340],{},"value"," must be strictly equal. Without ",[16,1343,1340],{},", the key being present is enough. It does not apply to schemas.",[113,1346,1349],{"language":115,"filename":1347,"code":1348,"class":118},"Type definition","export type Include =\n  | {\n      type: 'tag' | 'operationId' | 'path' | 'method' | 'contentType' | 'schemaName'\n      pattern: string | RegExp\n    }\n  | {\n      type: 'extension'\n      key: `x-${string}`\n      value?: unknown\n    }",[16,1350,1351,149,1365,149,1372,149,1409,149,1424,149,1430,149,1438,149,1449,149,1468,149,1480],{"class":121},[123,1352,1353,1356,1359,1362],{"class":125,"style":126},[123,1354,1355],{"style":129},"export ",[123,1357,1358],{"style":129},"type ",[123,1360,1361],{"style":156},"Include ",[123,1363,1364],{"style":129},"=",[123,1366,1367,1370],{"class":125,"style":126},[123,1368,1369],{"style":129},"  | ",[123,1371,173],{"style":133},[123,1373,1374,1377,1379,1381,1383,1386,1389,1391,1394,1396,1399,1401,1404,1406],{"class":125,"style":126},[123,1375,1376],{"style":133},"      ",[123,1378,202],{"style":133},[123,1380,170],{"style":129},[123,1382,1003],{"style":147},[123,1384,1385],{"style":129},"| ",[123,1387,1388],{"style":147},"'operationId' ",[123,1390,1385],{"style":129},[123,1392,1393],{"style":147},"'path' ",[123,1395,1385],{"style":129},[123,1397,1398],{"style":147},"'method' ",[123,1400,1385],{"style":129},[123,1402,1403],{"style":147},"'contentType' ",[123,1405,1385],{"style":129},[123,1407,1408],{"style":147},"'schemaName'",[123,1410,1411,1413,1415,1417,1420,1422],{"class":125,"style":126},[123,1412,1376],{"style":147},[123,1414,1291],{"style":137},[123,1416,170],{"style":137},[123,1418,1419],{"style":156},"string ",[123,1421,1385],{"style":129},[123,1423,1295],{"style":156},[123,1425,1426,1428],{"class":125,"style":126},[123,1427,178],{"style":156},[123,1429,210],{"style":133},[123,1431,1432,1434,1436],{"class":125,"style":126},[123,1433,165],{"style":133},[123,1435,1385],{"style":129},[123,1437,173],{"style":133},[123,1439,1440,1442,1444,1446],{"class":125,"style":126},[123,1441,1376],{"style":133},[123,1443,202],{"style":133},[123,1445,170],{"style":129},[123,1447,1448],{"style":147},"'extension'",[123,1450,1451,1453,1455,1457,1460,1462,1464,1466],{"class":125,"style":126},[123,1452,1376],{"style":147},[123,1454,1332],{"style":137},[123,1456,170],{"style":129},[123,1458,1459],{"style":147},"`x-",[123,1461,1200],{"style":137},[123,1463,280],{"style":137},[123,1465,210],{"style":137},[123,1467,1197],{"style":147},[123,1469,1470,1472,1474,1477],{"class":125,"style":126},[123,1471,1376],{"style":147},[123,1473,1340],{"style":137},[123,1475,1476],{"style":137},"?: ",[123,1478,1479],{"style":156},"unknown",[123,1481,1482,1484],{"class":125,"style":126},[123,1483,178],{"style":156},[123,1485,210],{"style":133},[113,1487,1489],{"language":115,"filename":116,"code":1488,"class":118},"import { pluginTs } from '@kubb\u002Fplugin-ts'\n\npluginTs({\n  include: [\n    { type: 'tag', pattern: 'pet' },\n    { type: 'path', pattern: \u002F^\\\u002Fstore\u002F },\n  ],\n})",[16,1490,1491,149,1505,149,1507,149,1513,149,1524,149,1548,149,1573,149,1582],{"class":121},[123,1492,1493,1495,1497,1499,1501,1503],{"class":125,"style":126},[123,1494,130],{"style":129},[123,1496,134],{"style":133},[123,1498,138],{"style":137},[123,1500,141],{"style":133},[123,1502,144],{"style":129},[123,1504,148],{"style":147},[123,1506],{"class":125,"style":126},[123,1508,1509,1511],{"class":125,"style":126},[123,1510,157],{"style":156},[123,1512,160],{"style":133},[123,1514,1515,1517,1519,1521],{"class":125,"style":126},[123,1516,165],{"style":133},[123,1518,1227],{"style":133},[123,1520,170],{"style":129},[123,1522,1523],{"style":133},"[",[123,1525,1526,1529,1531,1533,1535,1537,1539,1541,1544,1546],{"class":125,"style":126},[123,1527,1528],{"style":133},"    { ",[123,1530,202],{"style":133},[123,1532,170],{"style":129},[123,1534,1057],{"style":147},[123,1536,467],{"style":129},[123,1538,1291],{"style":133},[123,1540,170],{"style":129},[123,1542,1543],{"style":147},"'pet' ",[123,1545,210],{"style":133},[123,1547,189],{"style":129},[123,1549,1550,1552,1554,1556,1558,1560,1562,1564,1566,1569,1571],{"class":125,"style":126},[123,1551,178],{"style":129},[123,1553,134],{"style":133},[123,1555,202],{"style":133},[123,1557,170],{"style":129},[123,1559,1061],{"style":147},[123,1561,467],{"style":129},[123,1563,1291],{"style":133},[123,1565,170],{"style":129},[123,1567,1568],{"style":147},"\u002F^\\\u002Fstore\u002F ",[123,1570,210],{"style":133},[123,1572,189],{"style":129},[123,1574,1575,1577,1580],{"class":125,"style":126},[123,1576,165],{"style":129},[123,1578,1579],{"style":133},"]",[123,1581,189],{"style":129},[123,1583,1584],{"class":125,"style":126},[123,1585,239],{"style":133},[37,1587,1588],{"id":1588},"exclude",[10,1590,1591,1592,35],{},"Skips any operation or schema that matches at least one entry, the opposite of ",[16,1593,1227],{},[44,1595,1596,1604],{},[47,1597,1598],{},[50,1599,1600,1602],{},[53,1601],{},[53,1603],{},[58,1605,1606,1615,1623],{},[50,1607,1608,1610],{},[63,1609,65],{},[63,1611,1612],{},[16,1613,1614],{},"Array\u003CExclude>",[50,1616,1617,1619],{},[63,1618,75],{},[63,1620,1621],{},[16,1622,80],{},[50,1624,1625,1627],{},[63,1626,85],{},[63,1628,1629],{},[16,1630,1631],{},"[]",[10,1633,1634,1635,1637,1638,1640],{},"Entries use the same fields as ",[16,1636,1227],{},". When both options match an item, ",[16,1639,1588],{}," wins.",[10,1642,1643,1644,1647,1648,1651,1652,467,1655,467,1658,467,1661,1664,1665,1667],{},"When a client plugin (",[16,1645,1646],{},"@kubb\u002Fplugin-fetch"," or ",[16,1649,1650],{},"@kubb\u002Fplugin-axios",") excludes operations, the plugins that build on it (",[16,1653,1654],{},"@kubb\u002Fplugin-react-query",[16,1656,1657],{},"@kubb\u002Fplugin-vue-query",[16,1659,1660],{},"@kubb\u002Fplugin-swr",[16,1662,1663],{},"@kubb\u002Fplugin-mcp",") skip those operations too, so you do not repeat the ",[16,1666,1588],{}," list.",[113,1669,1671],{"language":115,"filename":116,"code":1670,"class":118},"import { pluginTs } from '@kubb\u002Fplugin-ts'\n\npluginTs({\n  exclude: [\n    { type: 'tag', pattern: 'internal' },\n    { type: 'operationId', pattern: \u002F^deprecated_\u002F },\n    { type: 'extension', key: 'x-internal', value: true },\n  ],\n})",[16,1672,1673,149,1687,149,1689,149,1695,149,1705,149,1728,149,1754,149,1787,149,1795],{"class":121},[123,1674,1675,1677,1679,1681,1683,1685],{"class":125,"style":126},[123,1676,130],{"style":129},[123,1678,134],{"style":133},[123,1680,138],{"style":137},[123,1682,141],{"style":133},[123,1684,144],{"style":129},[123,1686,148],{"style":147},[123,1688],{"class":125,"style":126},[123,1690,1691,1693],{"class":125,"style":126},[123,1692,157],{"style":156},[123,1694,160],{"style":133},[123,1696,1697,1699,1701,1703],{"class":125,"style":126},[123,1698,165],{"style":133},[123,1700,1588],{"style":133},[123,1702,170],{"style":129},[123,1704,1523],{"style":133},[123,1706,1707,1709,1711,1713,1715,1717,1719,1721,1724,1726],{"class":125,"style":126},[123,1708,1528],{"style":133},[123,1710,202],{"style":133},[123,1712,170],{"style":129},[123,1714,1057],{"style":147},[123,1716,467],{"style":129},[123,1718,1291],{"style":133},[123,1720,170],{"style":129},[123,1722,1723],{"style":147},"'internal' ",[123,1725,210],{"style":133},[123,1727,189],{"style":129},[123,1729,1730,1732,1734,1736,1738,1741,1743,1745,1747,1750,1752],{"class":125,"style":126},[123,1731,178],{"style":129},[123,1733,134],{"style":133},[123,1735,202],{"style":133},[123,1737,170],{"style":129},[123,1739,1740],{"style":147},"'operationId'",[123,1742,467],{"style":129},[123,1744,1291],{"style":133},[123,1746,170],{"style":129},[123,1748,1749],{"style":147},"\u002F^deprecated_\u002F ",[123,1751,210],{"style":133},[123,1753,189],{"style":129},[123,1755,1756,1758,1760,1762,1764,1766,1768,1770,1772,1775,1777,1779,1781,1783,1785],{"class":125,"style":126},[123,1757,178],{"style":129},[123,1759,134],{"style":133},[123,1761,202],{"style":133},[123,1763,170],{"style":129},[123,1765,1448],{"style":147},[123,1767,467],{"style":129},[123,1769,1332],{"style":133},[123,1771,170],{"style":129},[123,1773,1774],{"style":147},"'x-internal'",[123,1776,467],{"style":129},[123,1778,1340],{"style":133},[123,1780,170],{"style":129},[123,1782,644],{"style":133},[123,1784,210],{"style":133},[123,1786,189],{"style":129},[123,1788,1789,1791,1793],{"class":125,"style":126},[123,1790,165],{"style":129},[123,1792,1579],{"style":133},[123,1794,189],{"style":129},[123,1796,1797],{"class":125,"style":126},[123,1798,239],{"style":133},[37,1800,1801],{"id":1801},"override",[10,1803,1804],{},"Applies different plugin options to operations that match a pattern.",[44,1806,1807,1815],{},[47,1808,1809],{},[50,1810,1811,1813],{},[53,1812],{},[53,1814],{},[58,1816,1817,1826,1834],{},[50,1818,1819,1821],{},[63,1820,65],{},[63,1822,1823],{},[16,1824,1825],{},"Array\u003COverride>",[50,1827,1828,1830],{},[63,1829,75],{},[63,1831,1832],{},[16,1833,80],{},[50,1835,1836,1838],{},[63,1837,85],{},[63,1839,1840],{},[16,1841,1631],{},[10,1843,1844,1845,1847,1848,1851,1852,1854],{},"Each entry takes the same fields as an ",[16,1846,1227],{}," entry, plus an ",[16,1849,1850],{},"options"," object that accepts any plugin option except ",[16,1853,1801],{},", so rules cannot nest. Entries are checked top to bottom. The first match merges onto the plugin defaults, and later entries do not stack.",[113,1856,1858],{"language":115,"filename":1347,"code":1857,"class":118},"export type Override = Include & {\n  options: Omit\u003CPartial\u003COptions>, 'override'>\n}",[16,1859,1860,149,1879,149,1911],{"class":121},[123,1861,1862,1864,1866,1869,1872,1874,1877],{"class":125,"style":126},[123,1863,1355],{"style":129},[123,1865,1358],{"style":129},[123,1867,1868],{"style":156},"Override ",[123,1870,1871],{"style":129},"= ",[123,1873,1361],{"style":156},[123,1875,1876],{"style":129},"& ",[123,1878,173],{"style":133},[123,1880,1881,1883,1885,1887,1890,1893,1896,1898,1901,1904,1906,1909],{"class":125,"style":126},[123,1882,165],{"style":133},[123,1884,1850],{"style":133},[123,1886,170],{"style":137},[123,1888,1889],{"style":156},"Omit",[123,1891,1892],{"style":129},"\u003C",[123,1894,1895],{"style":156},"Partial",[123,1897,1892],{"style":129},[123,1899,1900],{"style":156},"Options",[123,1902,1903],{"style":129},">",[123,1905,467],{"style":129},[123,1907,1908],{"style":147},"'override'",[123,1910,1903],{"style":129},[123,1912,1913],{"class":125,"style":126},[123,1914,210],{"style":133},[10,1916,1917,1918,467,1921,1284,1923,1925,1926,467,1928,467,1930,467,1932,1934],{},"When a client plugin overrides ",[16,1919,1920],{},"returnType",[16,1922,39],{},[16,1924,365],{}," for an operation, the plugins that build on it (",[16,1927,1654],{},[16,1929,1657],{},[16,1931,1660],{},[16,1933,1663],{},") follow those per-operation options.",[113,1936,1938],{"language":115,"filename":116,"code":1937,"class":118},"import { pluginTs } from '@kubb\u002Fplugin-ts'\n\npluginTs({\n  override: [\n    {\n      type: 'tag',\n      pattern: 'admin',\n      options: { output: { path: 'admin' }, enum: { type: 'enum' } },\n    },\n  ],\n})",[16,1939,1940,149,1954,149,1956,149,1962,149,1972,149,1977,149,1989,149,2002,149,2048,149,2056,149,2064],{"class":121},[123,1941,1942,1944,1946,1948,1950,1952],{"class":125,"style":126},[123,1943,130],{"style":129},[123,1945,134],{"style":133},[123,1947,138],{"style":137},[123,1949,141],{"style":133},[123,1951,144],{"style":129},[123,1953,148],{"style":147},[123,1955],{"class":125,"style":126},[123,1957,1958,1960],{"class":125,"style":126},[123,1959,157],{"style":156},[123,1961,160],{"style":133},[123,1963,1964,1966,1968,1970],{"class":125,"style":126},[123,1965,165],{"style":133},[123,1967,1801],{"style":133},[123,1969,170],{"style":129},[123,1971,1523],{"style":133},[123,1973,1974],{"class":125,"style":126},[123,1975,1976],{"style":133},"    {",[123,1978,1979,1981,1983,1985,1987],{"class":125,"style":126},[123,1980,1376],{"style":133},[123,1982,202],{"style":133},[123,1984,170],{"style":129},[123,1986,1057],{"style":147},[123,1988,189],{"style":129},[123,1990,1991,1993,1995,1997,2000],{"class":125,"style":126},[123,1992,1376],{"style":129},[123,1994,1291],{"style":133},[123,1996,170],{"style":129},[123,1998,1999],{"style":147},"'admin'",[123,2001,189],{"style":129},[123,2003,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2025,2027,2029,2032,2034,2036,2038,2040,2043,2046],{"class":125,"style":126},[123,2005,1376],{"style":129},[123,2007,1850],{"style":133},[123,2009,170],{"style":129},[123,2011,134],{"style":133},[123,2013,39],{"style":133},[123,2015,170],{"style":129},[123,2017,134],{"style":133},[123,2019,181],{"style":133},[123,2021,170],{"style":129},[123,2023,2024],{"style":147},"'admin' ",[123,2026,210],{"style":133},[123,2028,467],{"style":129},[123,2030,2031],{"style":129},"enum",[123,2033,170],{"style":129},[123,2035,134],{"style":133},[123,2037,202],{"style":133},[123,2039,170],{"style":129},[123,2041,2042],{"style":147},"'enum' ",[123,2044,2045],{"style":133},"} }",[123,2047,189],{"style":129},[123,2049,2050,2052,2054],{"class":125,"style":126},[123,2051,178],{"style":129},[123,2053,210],{"style":133},[123,2055,189],{"style":129},[123,2057,2058,2060,2062],{"class":125,"style":126},[123,2059,165],{"style":129},[123,2061,1579],{"style":133},[123,2063,189],{"style":129},[123,2065,2066],{"class":125,"style":126},[123,2067,239],{"style":133},[37,2069,2070],{"id":2070},"resolver",[10,2072,2073],{},"Overrides how the plugin names generated files and symbols. Members you omit keep the plugin's own resolver.",[44,2075,2076,2084],{},[47,2077,2078],{},[50,2079,2080,2082],{},[53,2081],{},[53,2083],{},[58,2085,2086,2099],{},[50,2087,2088,2090],{},[63,2089,65],{},[63,2091,2092,2095,2096],{},[16,2093,2094],{},"ResolverPatch\u003CResolver>",", parameterized by each plugin with its own resolver type such as ",[16,2097,2098],{},"ResolverPatch\u003CResolverTs>",[50,2100,2101,2103],{},[63,2102,75],{},[63,2104,2105],{},[16,2106,80],{},[10,2108,2109,2110,1308,2113,249,2116,1647,2118,1308,2121,249,2124,2126,2127,2130,2131,2134,2135,2139],{},"Every resolver shares the members below. A plugin adds namespaces of its own, such as ",[16,2111,2112],{},"param",[16,2114,2115],{},"response",[16,2117,95],{},[16,2119,2120],{},"query",[16,2122,2123],{},"mutation",[16,2125,1654],{},", listed on that plugin's options page. Inside a method ",[16,2128,2129],{},"this"," is the full resolver, so ",[16,2132,2133],{},"this.default.name(name)"," reuses the built-in casing. See ",[21,2136,2138],{"href":2137},"\u002Fdocs\u002F5.x\u002Fhow-to\u002Fresolvers","Customize names and paths"," for how a patch layers over the default.",[113,2141,2144],{"language":115,"filename":2142,"code":2143,"class":118},"Shared members","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  imports?(options: ResolveImportsOptions): Array\u003CImportNode>\n}",[16,2145,2146,149,2157,149,2180,149,2193,149,2232,149,2269,149,2275,149,2307],{"class":121},[123,2147,2148,2150,2153,2155],{"class":125,"style":126},[123,2149,1358],{"style":129},[123,2151,2152],{"style":156},"ResolverPatch ",[123,2154,1871],{"style":129},[123,2156,173],{"style":133},[123,2158,2159,2161,2163,2166,2168,2170,2172,2174,2176,2178],{"class":125,"style":126},[123,2160,165],{"style":133},[123,2162,1182],{"style":137},[123,2164,2165],{"style":129},"?",[123,2167,780],{"style":133},[123,2169,1182],{"style":137},[123,2171,170],{"style":137},[123,2173,280],{"style":156},[123,2175,822],{"style":133},[123,2177,170],{"style":137},[123,2179,280],{"style":156},[123,2181,2182,2184,2187,2189,2191],{"class":125,"style":126},[123,2183,165],{"style":156},[123,2185,2186],{"style":137},"file",[123,2188,2165],{"style":137},[123,2190,170],{"style":129},[123,2192,173],{"style":133},[123,2194,2195,2197,2199,2201,2203,2206,2208,2210,2212,2214,2216,2219,2222,2224,2226,2228,2230],{"class":125,"style":126},[123,2196,178],{"style":133},[123,2198,709],{"style":137},[123,2200,2165],{"style":129},[123,2202,780],{"style":133},[123,2204,2205],{"style":137},"params",[123,2207,170],{"style":129},[123,2209,134],{"style":133},[123,2211,1182],{"style":133},[123,2213,170],{"style":137},[123,2215,280],{"style":156},[123,2217,2218],{"style":129},"; ",[123,2220,2221],{"style":133},"extname",[123,2223,170],{"style":137},[123,2225,1419],{"style":156},[123,2227,239],{"style":133},[123,2229,170],{"style":137},[123,2231,280],{"style":156},[123,2233,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2263,2265,2267],{"class":125,"style":126},[123,2235,178],{"style":156},[123,2237,181],{"style":137},[123,2239,2165],{"style":129},[123,2241,780],{"style":133},[123,2243,2205],{"style":137},[123,2245,170],{"style":129},[123,2247,134],{"style":133},[123,2249,709],{"style":133},[123,2251,170],{"style":137},[123,2253,280],{"style":156},[123,2255,2218],{"style":129},[123,2257,39],{"style":133},[123,2259,170],{"style":137},[123,2261,2262],{"style":156},"Output ",[123,2264,239],{"style":133},[123,2266,170],{"style":137},[123,2268,280],{"style":156},[123,2270,2271,2273],{"class":125,"style":126},[123,2272,165],{"style":156},[123,2274,210],{"style":133},[123,2276,2277,2279,2282,2284,2286,2288,2290,2293,2295,2297,2300,2302,2305],{"class":125,"style":126},[123,2278,165],{"style":133},[123,2280,2281],{"style":137},"imports",[123,2283,2165],{"style":129},[123,2285,780],{"style":133},[123,2287,1850],{"style":137},[123,2289,170],{"style":137},[123,2291,2292],{"style":156},"ResolveImportsOptions",[123,2294,822],{"style":133},[123,2296,170],{"style":137},[123,2298,2299],{"style":156},"Array",[123,2301,1892],{"style":129},[123,2303,2304],{"style":156},"ImportNode",[123,2306,1903],{"style":129},[123,2308,2309],{"class":125,"style":126},[123,2310,210],{"style":133},[10,2312,2313,2315,2316,1308,2319,2322,2323,2325,2326,2329],{},[16,2314,1182],{}," cases an identifier, ",[16,2317,2318],{},"file.baseName",[16,2320,2321],{},"file.path"," decide where a file lands, and ",[16,2324,2281],{}," builds the import statements for the ",[16,2327,2328],{},"$ref"," schemas a node uses.",[113,2331,2333],{"language":115,"filename":116,"code":2332,"class":118},"import { pluginTs } from '@kubb\u002Fplugin-ts'\n\npluginTs({\n  resolver: {\n    name(name) {\n      return `${this.default.name(name)}Model`\n    },\n  },\n})",[16,2334,2335,149,2349,149,2351,149,2357,149,2367,149,2380,149,2412,149,2420,149,2428],{"class":121},[123,2336,2337,2339,2341,2343,2345,2347],{"class":125,"style":126},[123,2338,130],{"style":129},[123,2340,134],{"style":133},[123,2342,138],{"style":137},[123,2344,141],{"style":133},[123,2346,144],{"style":129},[123,2348,148],{"style":147},[123,2350],{"class":125,"style":126},[123,2352,2353,2355],{"class":125,"style":126},[123,2354,157],{"style":156},[123,2356,160],{"style":133},[123,2358,2359,2361,2363,2365],{"class":125,"style":126},[123,2360,165],{"style":133},[123,2362,2070],{"style":133},[123,2364,170],{"style":129},[123,2366,173],{"style":133},[123,2368,2369,2371,2373,2375,2377],{"class":125,"style":126},[123,2370,178],{"style":133},[123,2372,1182],{"style":156},[123,2374,780],{"style":133},[123,2376,1182],{"style":137},[123,2378,2379],{"style":133},") {",[123,2381,2382,2384,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405,2407,2409],{"class":125,"style":126},[123,2383,1376],{"style":133},[123,2385,2386],{"style":129},"return ",[123,2388,1197],{"style":147},[123,2390,1200],{"style":137},[123,2392,2129],{"style":137},[123,2394,35],{"style":129},[123,2396,1020],{"style":133},[123,2398,35],{"style":129},[123,2400,1182],{"style":156},[123,2402,780],{"style":133},[123,2404,1182],{"style":137},[123,2406,822],{"style":133},[123,2408,210],{"style":137},[123,2410,2411],{"style":147},"Model`",[123,2413,2414,2416,2418],{"class":125,"style":126},[123,2415,178],{"style":147},[123,2417,210],{"style":133},[123,2419,189],{"style":129},[123,2421,2422,2424,2426],{"class":125,"style":126},[123,2423,165],{"style":129},[123,2425,210],{"style":133},[123,2427,189],{"style":129},[123,2429,2430],{"class":125,"style":126},[123,2431,239],{"style":133},[37,2433,2434],{"id":2434},"macros",[10,2436,2437],{},"Rewrites AST nodes before they are printed, without forking the generator.",[44,2439,2440,2448],{},[47,2441,2442],{},[50,2443,2444,2446],{},[53,2445],{},[53,2447],{},[58,2449,2450,2459,2467],{},[50,2451,2452,2454],{},[63,2453,65],{},[63,2455,2456],{},[16,2457,2458],{},"Array\u003CMacro>",[50,2460,2461,2463],{},[63,2462,75],{},[63,2464,2465],{},[16,2466,80],{},[50,2468,2469,2471],{},[63,2470,85],{},[63,2472,2473],{},[16,2474,1631],{},[10,2476,2477,2478,2482,2483,1647,2486,2489,2490,2493,2494,467,2496,467,2498,2501],{},"Each ",[21,2479,2481],{"href":2480},"\u002Fdocs\u002F5.x\u002Fhow-to\u002Fmacros","macro"," callback, such as ",[16,2484,2485],{},"schema",[16,2487,2488],{},"operation",", receives the node and a context object and returns a replacement or ",[16,2491,2492],{},"undefined"," to leave it as is. Macros run in order, so a later one sees the output of an earlier one. The client plugins (",[16,2495,1646],{},[16,2497,1650],{},[16,2499,2500],{},"@kubb\u002Fplugin-client",") run their built-in macros first and yours after them.",[10,2503,2504,2505,467,2508,1308,2511,2514,2515,561,2518,568,2522,2525],{},"The built-in macros ",[16,2506,2507],{},"macroDiscriminatorEnum",[16,2509,2510],{},"macroEnumName",[16,2512,2513],{},"macroSimplifyUnion"," are exported from ",[16,2516,2517],{},"kubb\u002Fkit",[21,2519,2521],{"href":2520},"\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fast#macros","Macros",[16,2523,2524],{},"Macro"," type and its callbacks.",[113,2527,2529],{"language":115,"filename":116,"code":2528,"class":118},"import { ast } from 'kubb\u002Fkit'\nimport { pluginTs } from '@kubb\u002Fplugin-ts'\n\nconst macroUntagged = ast.defineMacro({\n  name: 'untagged',\n  operation(node) {\n    return node.tags?.length ? undefined : { ...node, tags: ['untagged'] }\n  },\n})\n\npluginTs({ macros: [macroUntagged] })",[16,2530,2531,149,2547,149,2561,149,2563,149,2583,149,2596,149,2609,149,2655,149,2662,149,2666,149,2668],{"class":121},[123,2532,2533,2535,2537,2540,2542,2544],{"class":125,"style":126},[123,2534,130],{"style":129},[123,2536,134],{"style":133},[123,2538,2539],{"style":137},"ast ",[123,2541,141],{"style":133},[123,2543,144],{"style":129},[123,2545,2546],{"style":147},"'kubb\u002Fkit'",[123,2548,2549,2551,2553,2555,2557,2559],{"class":125,"style":126},[123,2550,130],{"style":129},[123,2552,134],{"style":133},[123,2554,138],{"style":137},[123,2556,141],{"style":133},[123,2558,144],{"style":129},[123,2560,148],{"style":147},[123,2562],{"class":125,"style":126},[123,2564,2565,2568,2571,2573,2576,2578,2581],{"class":125,"style":126},[123,2566,2567],{"style":129},"const ",[123,2569,2570],{"style":137},"macroUntagged ",[123,2572,1871],{"style":129},[123,2574,2575],{"style":137},"ast",[123,2577,35],{"style":129},[123,2579,2580],{"style":156},"defineMacro",[123,2582,160],{"style":133},[123,2584,2585,2587,2589,2591,2594],{"class":125,"style":126},[123,2586,165],{"style":133},[123,2588,1182],{"style":133},[123,2590,170],{"style":129},[123,2592,2593],{"style":147},"'untagged'",[123,2595,189],{"style":129},[123,2597,2598,2600,2602,2604,2607],{"class":125,"style":126},[123,2599,165],{"style":129},[123,2601,2488],{"style":156},[123,2603,780],{"style":133},[123,2605,2606],{"style":137},"node",[123,2608,2379],{"style":133},[123,2610,2611,2613,2615,2617,2619,2622,2625,2628,2630,2633,2635,2637,2640,2642,2644,2646,2648,2650,2652],{"class":125,"style":126},[123,2612,178],{"style":133},[123,2614,2386],{"style":129},[123,2616,2606],{"style":137},[123,2618,35],{"style":129},[123,2620,2621],{"style":133},"tags",[123,2623,2624],{"style":129},"?.",[123,2626,2627],{"style":133},"length ",[123,2629,811],{"style":129},[123,2631,2632],{"style":133},"undefined ",[123,2634,170],{"style":129},[123,2636,134],{"style":133},[123,2638,2639],{"style":129},"...",[123,2641,2606],{"style":137},[123,2643,467],{"style":129},[123,2645,2621],{"style":133},[123,2647,170],{"style":129},[123,2649,1523],{"style":133},[123,2651,2593],{"style":147},[123,2653,2654],{"style":133},"] }",[123,2656,2657,2660],{"class":125,"style":126},[123,2658,2659],{"style":133},"  }",[123,2661,189],{"style":129},[123,2663,2664],{"class":125,"style":126},[123,2665,239],{"style":133},[123,2667],{"class":125,"style":126},[123,2669,2670,2672,2674,2676,2678,2680,2683],{"class":125,"style":126},[123,2671,157],{"style":156},[123,2673,608],{"style":133},[123,2675,2434],{"style":133},[123,2677,170],{"style":129},[123,2679,1523],{"style":133},[123,2681,2682],{"style":137},"macroUntagged",[123,2684,2685],{"style":133},"] })",{"title":396,"searchDepth":2687,"depth":2687,"links":2688},5,[2689,2698,2702,2703,2704,2705,2706],{"id":39,"depth":2690,"text":39,"children":2691},2,[2692,2694,2695,2696,2697],{"id":243,"depth":2693,"text":34},3,{"id":303,"depth":2693,"text":304},{"id":415,"depth":2693,"text":26},{"id":650,"depth":2693,"text":651},{"id":839,"depth":2693,"text":840},{"id":365,"depth":2690,"text":365,"children":2699},[2700,2701],{"id":1013,"depth":2693,"text":1014},{"id":1071,"depth":2693,"text":530},{"id":1227,"depth":2690,"text":1227},{"id":1588,"depth":2690,"text":1588},{"id":1801,"depth":2690,"text":1801},{"id":2070,"depth":2690,"text":2070},{"id":2434,"depth":2690,"text":2434},"The output, group, include, exclude, override, resolver and macros options that every Kubb generator plugin accepts, with their types, defaults and behavior.","md",{"layout":2710,"title":5,"description":2707,"outline":2711,"order":2690,"navigation":2712},"doc",[2690,2693],{"title":5,"icon":2713},"i-iconoir-settings",{"layout":2710,"outline":2715},[2690,2693],{"title":5,"icon":2713},"\u002Fdocs\u002F5.x\u002Freference\u002Fplugin-options",{"title":5,"description":2707},{"loc":2717},"kubb-labs\u002Fkubb\u002Fdocs\u002F5.x\u002Freference\u002Fplugin-options.md","docs\u002F5.x\u002Freference\u002Fplugin-options","pBRhF1qcJqJ5MX6-CbV8KGtktz34q3d1TVguysmA8Ss",1793288239784]