{"version":3,"sources":["../src/generators/index.ts","../src/generators/typeGenerator.tsx","../src/index.ts","../src/plugin.ts","../src/generators/oasGenerator.tsx"],"names":["init_cjs_shims","createPlugin","transformers","pluginOasName","options","path","FileManager","camelCase","pascalCase","PluginManager","SchemaGenerator","OperationGenerator","factory","print","createReactGenerator","useApp","useOas","useOperationManager","useSchemaManager","type","Oas","jsx","File","Type","jsxs","getBanner","getFooter","OasType"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,gCAAA,EAAA;;;ACAAA,gCAAA,EAAA;;;ACAAA,gCAAA,EAAA;;;ACAAA,gCAAA,EAAA;AAWO,IAAM,YAAe,GAAA;AAEf,IAAA,QAAA,GAAWC,iBAAuB,CAAA,CAAC,OAAY,KAAA;AAC1D,EAAM,MAAA;AAAA,IACJ,MAAS,GAAA,EAAE,IAAM,EAAA,OAAA,EAAS,YAAY,OAAQ,EAAA;AAAA,IAC9C,KAAA;AAAA,IACA,UAAU,EAAC;AAAA,IACX,OAAA;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,QAAW,GAAA,SAAA;AAAA,IACX,UAAa,GAAA,MAAA;AAAA,IACb,QAAW,GAAA,QAAA;AAAA,IACX,WAAc,GAAA,KAAA;AAAA,IACd,YAAe,GAAA,eAAA;AAAA,IACf,UAAa,GAAA,MAAA;AAAA,IACb,YAAA,EAAAC,gBAAe,EAAC;AAAA,IAChB,OAAU,GAAA,KAAA;AAAA,IACV,SAAS,EAAC;AAAA,IACV,UAAA,GAAa,CAAC,aAAe,EAAA,OAAA,KAAY,UAAU,YAAe,GAAA,MAAS,CAAE,CAAA,MAAA,CAAO,OAAO,CAAA;AAAA,IAC3F;AAAA,GACE,GAAA,OAAA;AAEJ,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,YAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,MAAA;AAAA,MACA,YAAAA,EAAAA,aAAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA;AAAA,MAEA,eAAe,EAAC;AAAA,MAChB,WAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,GAAA,EAAK,CAACC,uBAAa,CAAA;AAAA,IACnB,WAAA,CAAY,QAAU,EAAA,QAAA,EAAUC,QAAS,EAAA;AACvC,MAAM,MAAA,IAAA,GAAOC,sBAAK,OAAQ,CAAA,IAAA,CAAK,OAAO,IAAM,EAAA,IAAA,CAAK,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA;AACnE,MAAM,MAAA,IAAA,GAAO,YAAYC,gBAAY,CAAA,OAAA,CAAQD,sBAAK,OAAQ,CAAA,IAAA,EAAM,MAAO,CAAA,IAAI,CAAC,CAAA;AAE5E,MAAA,IAAI,SAAS,QAAU,EAAA;AAKrB,QAAA,OAAOA,qBAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,MAAA,CAAO,IAAI,CAAA;AAAA;AAGvC,MAAA,IAAI,UAAUD,QAAS,EAAA,KAAA,EAAO,IAAQA,IAAAA,QAAAA,EAAS,OAAO,GAAM,CAAA,EAAA;AAC1D,QAAA,MAAM,YAA2B,KAAO,EAAA,IAAA,GACpC,KAAM,CAAA,IAAA,GACN,CAAC,GAAQ,KAAA;AACP,UAAI,IAAA,KAAA,EAAO,SAAS,MAAQ,EAAA;AAC1B,YAAA,OAAO,GAAG,GAAI,CAAA,KAAA,CAAM,MAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA;AAEnC,UAAA,OAAO,CAAG,EAAAG,sBAAA,CAAU,GAAI,CAAA,KAAK,CAAC,CAAA,UAAA,CAAA;AAAA,SAChC;AAEJ,QAAA,OAAOF,qBAAK,CAAA,OAAA;AAAA,UACV,IAAA;AAAA,UACA,MAAO,CAAA,IAAA;AAAA,UACP,SAAU,CAAA;AAAA,YACR,KAAA,EAAO,MAAM,IAAS,KAAA,MAAA,GAASD,SAAQ,KAAM,CAAA,IAAA,GAAQA,SAAQ,KAAM,CAAA;AAAA,WACpE,CAAA;AAAA,UACD;AAAA,SACF;AAAA;AAGF,MAAA,OAAOC,qBAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,MAAA,CAAO,MAAM,QAAQ,CAAA;AAAA,KACjD;AAAA,IACA,WAAA,CAAY,MAAM,IAAM,EAAA;AACtB,MAAA,MAAM,eAAeG,uBAAW,CAAA,IAAA,EAAM,EAAE,MAAQ,EAAA,IAAA,KAAS,QAAQ,CAAA;AAEjE,MAAA,IAAI,IAAM,EAAA;AACR,QAAA,OAAON,aAAc,EAAA,IAAA,GAAO,YAAc,EAAA,IAAI,CAAK,IAAA,YAAA;AAAA;AAGrD,MAAO,OAAA,YAAA;AAAA,KACT;AAAA,IACA,MAAM,UAAa,GAAA;AACjB,MAAM,MAAA,CAAC,aAAa,CAAoC,GAAAO,kBAAA,CAAc,mBAAyC,IAAK,CAAA,OAAA,EAAS,CAACN,uBAAa,CAAC,CAAA;AAE5I,MAAA,MAAM,GAAM,GAAA,MAAM,aAAc,CAAA,OAAA,CAAQ,MAAO,EAAA;AAC/C,MAAM,MAAA,IAAA,GAAOE,sBAAK,OAAQ,CAAA,IAAA,CAAK,OAAO,IAAM,EAAA,IAAA,CAAK,MAAO,CAAA,MAAA,CAAO,IAAI,CAAA;AACnE,MAAM,MAAA,IAAA,GAAOC,iBAAY,OAAQ,CAAAD,qBAAA,CAAK,QAAQ,IAAM,EAAA,MAAA,CAAO,IAAI,CAAC,CAAA;AAEhE,MAAA,MAAM,eAAkB,GAAA,IAAIK,yBAAgB,CAAA,IAAA,CAAK,OAAO,OAAS,EAAA;AAAA,QAC/D,GAAA;AAAA,QACA,eAAe,IAAK,CAAA,aAAA;AAAA,QACpB,QAAQ,IAAK,CAAA,MAAA;AAAA,QACb,WAAA;AAAA,QACA,OAAS,EAAA,MAAA;AAAA,QACT,QAAA;AAAA,QACA,IAAA;AAAA,QACA,QAAQ,MAAO,CAAA;AAAA,OAChB,CAAA;AAED,MAAA,MAAM,WAAc,GAAA,MAAM,eAAgB,CAAA,KAAA,CAAM,GAAG,UAAU,CAAA;AAC7D,MAAM,MAAA,IAAA,CAAK,OAAQ,CAAA,GAAG,WAAW,CAAA;AAEjC,MAAA,MAAM,kBAAqB,GAAA,IAAIC,4BAAmB,CAAA,IAAA,CAAK,OAAO,OAAS,EAAA;AAAA,QACrE,GAAA;AAAA,QACA,eAAe,IAAK,CAAA,aAAA;AAAA,QACpB,QAAQ,IAAK,CAAA,MAAA;AAAA,QACb,WAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACD,CAAA;AAED,MAAA,MAAM,cAAiB,GAAA,MAAM,kBAAmB,CAAA,KAAA,CAAM,GAAG,UAAU,CAAA;AACnE,MAAM,MAAA,IAAA,CAAK,OAAQ,CAAA,GAAG,cAAc,CAAA;AAEpC,MAAA,MAAM,WAAc,GAAA,MAAM,IAAK,CAAA,WAAA,CAAY,cAAe,CAAA;AAAA,QACxD,IAAA,EAAM,OAAO,UAAc,IAAA,OAAA;AAAA,QAC3B,IAAA;AAAA,QACA,MAAA;AAAA,QACA,KAAA,EAAO,KAAK,WAAY,CAAA,KAAA;AAAA,QACxB,IAAM,EAAA;AAAA,UACJ,SAAA,EAAW,KAAK,MAAO,CAAA;AAAA,SACzB;AAAA,QACA,QAAQ,IAAK,CAAA;AAAA,OACd,CAAA;AAED,MAAM,MAAA,IAAA,CAAK,OAAQ,CAAA,GAAG,WAAW,CAAA;AAAA;AACnC,GACF;AACF,CAAC;AFlID,SAAS,mBAAoB,CAAA,EAAE,IAAM,EAAA,OAAA,EAAS,eAAoG,EAAA;AAChJ,EAAA,MAAM,aAA0C,EAAC;AAEjD,EAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,IAAW,UAAA,CAAA,UAAU,IAAYC,kBAAuB,CAAA,sBAAA,CAAA;AAAA,MACtD,KAAO,EAAA,OAAA,CAAQ,SAAU,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA;AACpC,QAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,UAC3C,MAAM,GAAI,CAAA,IAAA;AAAA,UACV,SAAA,EAAW,CAAC,YAAY,CAAA;AAAA,UACxB,IAAM,EAAA;AAAA,SACP,CAAA;AAED,QAAA,OAAeA,kBAAgC,CAAA,uBAAA,CAAAA,kBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAA,EAAG,MAAS,CAAA;AAAA,OACvF;AAAA,KACF,CAAA;AAAA;AAGH,EAAA,IAAI,QAAQ,OAAS,EAAA;AACnB,IAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,MAC3C,IAAA,EAAM,QAAQ,OAAQ,CAAA,IAAA;AAAA,MACtB,SAAA,EAAW,CAAC,YAAY,CAAA;AAAA,MACxB,IAAM,EAAA;AAAA,KACP,CAAA;AACD,IAAA,UAAA,CAAW,SAAS,CAAY,GAAAA,kBAAA,CAAA,uBAAA,CAAgCA,kBAAiB,CAAA,gBAAA,CAAA,UAAU,GAAG,MAAS,CAAA;AAAA;AAGzG,EAAA,IAAI,QAAQ,UAAY,EAAA;AACtB,IAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,MAC3C,IAAA,EAAM,QAAQ,UAAW,CAAA,IAAA;AAAA,MACzB,SAAA,EAAW,CAAC,YAAY,CAAA;AAAA,MACxB,IAAM,EAAA;AAAA,KACP,CAAA;AACD,IAAA,UAAA,CAAW,YAAY,CAAY,GAAAA,kBAAA,CAAA,uBAAA,CAAgCA,kBAAiB,CAAA,gBAAA,CAAA,UAAU,GAAG,MAAS,CAAA;AAAA;AAG5G,EAAA,IAAI,QAAQ,WAAa,EAAA;AACvB,IAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,MAC3C,IAAA,EAAM,QAAQ,WAAY,CAAA,IAAA;AAAA,MAC1B,SAAA,EAAW,CAAC,YAAY,CAAA;AAAA,MACxB,IAAM,EAAA;AAAA,KACP,CAAA;AACD,IAAA,UAAA,CAAW,aAAa,CAAY,GAAAA,kBAAA,CAAA,uBAAA,CAAgCA,kBAAiB,CAAA,gBAAA,CAAA,UAAU,GAAG,MAAS,CAAA;AAAA;AAG7G,EAAA,IAAI,QAAQ,YAAc,EAAA;AACxB,IAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,MAC3C,IAAA,EAAM,QAAQ,YAAa,CAAA,IAAA;AAAA,MAC3B,SAAA,EAAW,CAAC,YAAY,CAAA;AAAA,MACxB,IAAM,EAAA;AAAA,KACP,CAAA;AACD,IAAA,UAAA,CAAW,cAAc,CAAY,GAAAA,kBAAA,CAAA,uBAAA,CAAgCA,kBAAiB,CAAA,gBAAA,CAAA,UAAU,GAAG,MAAS,CAAA;AAAA;AAG9G,EAAA,IAAI,QAAQ,MAAQ,EAAA;AAClB,IAAW,UAAA,CAAA,QAAQ,IAAYA,kBAAuB,CAAA,sBAAA,CAAA;AAAA,MACpD,KAAO,EAAA,OAAA,CAAQ,MAAO,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA;AACnC,QAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,UAC3C,MAAM,KAAM,CAAA,IAAA;AAAA,UACZ,SAAA,EAAW,CAAC,YAAY,CAAA;AAAA,UACxB,IAAM,EAAA;AAAA,SACP,CAAA;AAED,QAAA,OAAeA,kBAAgC,CAAA,uBAAA,CAAAA,kBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAA,EAAG,MAAS,CAAA;AAAA,OACvF;AAAA,KACF,CAAA;AAAA;AAGH,EAAA,MAAM,gBAAwBA,kBAA2B,CAAA,0BAAA,CAAA;AAAA,IACvD,IAAA;AAAA,IACA,IAAc,EAAAA,kBAAA,CAAA,qBAAA;AAAA,MACZ,OAAO,IAAK,CAAA,UAAU,CACnB,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA;AACZ,QAAM,MAAA,IAAA,GAAO,WAAW,GAAG,CAAA;AAC3B,QAAA,IAAI,CAAC,IAAM,EAAA;AACT,UAAO,OAAA,MAAA;AAAA;AAGT,QAAA,OAAeA,kBAAwB,CAAA,uBAAA,CAAA;AAAA,UACrC,IAAA,EAAMV,6BAAa,CAAA,UAAA,CAAW,GAAG,CAAA;AAAA,UACjC;AAAA,SACD,CAAA;AAAA,OACF,CACA,CAAA,MAAA,CAAO,OAAO;AAAA,KACnB;AAAA,IACA,SAAA,EAAW,CAASU,kBAAA,CAAA,SAAA,CAAU,MAAM;AAAA,GACrC,CAAA;AAED,EAAO,OAAAC,cAAA,CAAM,CAAC,aAAa,CAAC,CAAA;AAC9B;AAEO,IAAM,gBAAgBC,8BAA+B,CAAA;AAAA,EAC1D,IAAM,EAAA,YAAA;AAAA,EACN,SAAU,CAAA,EAAE,SAAW,EAAA,OAAA,EAAW,EAAA;AAChC,IAAA,MAAM,EAAE,MAAA,EAAQ,QAAU,EAAA,UAAA,EAAY,cAAiB,GAAA,OAAA;AAEvD,IAAA,MAAM,EAAE,MAAA,EAAQ,aAAe,EAAA,IAAA,KAASC,YAAiB,EAAA;AACzD,IAAA,MAAM,MAAMC,YAAO,EAAA;AACnB,IAAA,MAAM,EAAE,UAAY,EAAA,OAAA,EAAS,OAAS,EAAA,QAAA,KAAaC,yBAAoB,EAAA;AACvE,IAAA,MAAM,gBAAgBC,sBAAiB,EAAA;AAEvC,IAAM,MAAA,IAAA,GAAO,QAAQ,SAAS,CAAA;AAC9B,IAAM,MAAA,OAAA,GAAU,WAAW,SAAS,CAAA;AACpC,IAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,SAAA,EAAW,EAAE,IAAA,EAAM,YAAY,SAAW,EAAA,CAAC,YAAY,CAAA,EAAG,CAAA;AAC/E,IAAM,MAAA,kBAAA,GAAqB,UAAU,MAAW,KAAA,KAAA,GAAQ,GAAG,IAAI,CAAA,KAAA,CAAA,GAAU,GAAG,IAAI,CAAA,QAAA,CAAA;AAChF,IAAM,MAAA,eAAA,GAAkB,IAAIR,yBAAAA,CAAgB,OAAS,EAAA;AAAA,MACnD,GAAA;AAAA,MACA,MAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,UAAU,OAAQ,CAAA;AAAA,KACnB,CAAA;AAED,IAAA,MAAM,mBAAmB,CAAC,OAAA,CAAQ,YAAY,OAAQ,CAAA,WAAA,EAAa,QAAQ,YAAc,EAAA,OAAA,CAAQ,WAAa,EAAA,OAAA,CAAQ,SAAS,OAAQ,CAAA,QAAQ,EAC5I,IAAK,EAAA,CACL,OAAO,OAAO,CAAA;AAEjB,IAAM,MAAA,kBAAA,GAAqB,CAAC,EAAE,IAAM,EAAA,MAAA,EAAQ,aAAa,UAAY,EAAA,GAAGN,QAAQ,EAAA,EAAwB,CAAc,KAAA;AACpH,MAAA,MAAM,OAAO,eAAgB,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,MAAM,CAAA;AACnD,MAAM,MAAA,OAAA,GAAU,aAAc,CAAA,UAAA,CAAW,IAAI,CAAA;AAC7C,MAAA,MAAM,QAAQA,QAAQ,CAAA,SAAA,GAAY,QAASA,CAAAA,QAAAA,CAAQ,SAAS,CAAI,GAAA,MAAA;AAEhE,MAAA,MAAMe,KAAO,GAAA;AAAA,QACX,MAAM,aAAc,CAAA,OAAA,CAAQ,MAAM,EAAE,IAAA,EAAM,QAAQ,CAAA;AAAA,QAClD,WAAW,aAAc,CAAA,OAAA,CAAQ,MAAM,EAAE,IAAA,EAAM,QAAQ,CAAA;AAAA,QACvD,IAAA,EAAM,cAAc,OAAQf,CAAAA,QAAAA,CAAQ,iBAAiB,IAAM,EAAA,EAAE,OAAO;AAAA,OACtE;AAEA,MAAA,uCACGgB,cAAI,CAAA,MAAA,EAAJ,EAAmB,IAAY,EAAA,KAAA,EAAO,QAAQ,IAC5C,EAAA,QAAA,EAAA;AAAA,QAAS,IAAA,KAAA,OAAA,IAAW,QAAQ,GAAI,CAAA,CAAC,KAAK,KAAU,qBAAAC,cAAA,CAACC,UAAK,CAAA,MAAA,EAAL,EAAwB,IAAA,EAAM,KAAK,IAAM,EAAA,IAAA,EAAM,IAAI,IAAM,EAAA,IAAA,EAAM,IAAI,IAAM,EAAA,UAAA,EAAU,IAAlE,EAAA,EAAA,KAAmE,CAAE,CAAA;AAAA,wBACxID,cAAA;AAAA,UAACE,sBAAA;AAAA,UAAA;AAAA,YACC,MAAMJ,KAAK,CAAA,IAAA;AAAA,YACX,WAAWA,KAAK,CAAA,SAAA;AAAA,YAChB,WAAA;AAAA,YACA,IAAA;AAAA,YACA,MAAA;AAAA,YACA,MAAA;AAAA,YACA,QAAA;AAAA,YACA,YAAA;AAAA,YACA,UAAA;AAAA,YACA;AAAA;AAAA;AACF,OAAA,EAAA,EAbe,CAcjB,CAAA;AAAA,KAEJ;AAEA,IACE,uBAAAK,eAAA;AAAA,MAACF,UAAA;AAAA,MAAA;AAAA,QACC,UAAU,IAAK,CAAA,QAAA;AAAA,QACf,MAAM,IAAK,CAAA,IAAA;AAAA,QACX,MAAM,IAAK,CAAA,IAAA;AAAA,QACX,MAAA,EAAQG,eAAU,CAAA,EAAE,GAAK,EAAA,MAAA,EAAQ,MAAO,CAAA,OAAA,CAAQ,MAAQ,EAAA,MAAA,EAAQ,aAAc,CAAA,MAAA,EAAQ,CAAA;AAAA,QACtF,MAAA,EAAQC,gBAAU,EAAE,GAAA,EAAK,QAAQ,MAAO,CAAA,OAAA,CAAQ,QAAQ,CAAA;AAAA,QAEvD,QAAA,EAAA;AAAA,UAAA,gBAAA,CAAiB,IAAI,kBAAkB,CAAA;AAAA,yCAEvCJ,UAAK,CAAA,MAAA,EAAL,EAAY,IAAM,EAAA,kBAAA,EAAoB,cAAY,IAAC,EAAA,WAAA,EAAW,MAAC,UAAU,EAAA,IAAA,EACvE,8BAAoB,EAAE,IAAA,EAAM,oBAAoB,OAAS,EAAA,aAAA,EAAe,CAC3E,EAAA;AAAA;AAAA;AAAA,KACF;AAAA,GAEJ;AAAA,EACA,MAAO,CAAA,EAAE,MAAQ,EAAA,OAAA,EAAW,EAAA;AAC1B,IAAA,MAAM,EAAE,MAAA,EAAQ,QAAU,EAAA,UAAA,EAAY,cAAiB,GAAA,OAAA;AACvD,IAAM,MAAA;AAAA,MACJ,IAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,OAAA,EAAS,EAAE,MAAO;AAAA,OACpB;AAAA,MACA;AAAA,QACEP,YAAiB,EAAA;AACrB,IAAA,MAAM,MAAMC,YAAO,EAAA;AAEnB,IAAA,MAAM,EAAE,OAAA,EAAS,UAAY,EAAA,OAAA,KAAYE,sBAAiB,EAAA;AAC1D,IAAM,MAAA,OAAA,GAAU,UAAW,CAAA,MAAA,CAAO,IAAI,CAAA;AAEtC,IAAA,IAAI,aAAa,eAAiB,EAAA;AAChC,MAAQ,OAAA,CAAA,IAAA,CAAK,CAAa,UAAA,EAAA,QAAQ,CAAiB,eAAA,CAAA,CAAA;AAAA;AAGrD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,MAAM,OAAQ,CAAA,MAAA,CAAO,MAAM,EAAE,IAAA,EAAM,YAAY,CAAA;AAAA,MAC/C,WAAW,OAAQ,CAAA,MAAA,CAAO,MAAM,EAAE,IAAA,EAAM,QAAQ,CAAA;AAAA,MAChD,IAAA,EAAM,OAAQ,CAAA,MAAA,CAAO,IAAI;AAAA,KAC3B;AAEA,IACE,uBAAAM,eAAA;AAAA,MAACF,UAAA;AAAA,MAAA;AAAA,QACC,QAAA,EAAU,KAAK,IAAK,CAAA,QAAA;AAAA,QACpB,IAAA,EAAM,KAAK,IAAK,CAAA,IAAA;AAAA,QAChB,IAAA,EAAM,KAAK,IAAK,CAAA,IAAA;AAAA,QAChB,MAAA,EAAQG,gBAAU,EAAE,GAAA,EAAK,QAAQ,MAAQ,EAAA,aAAA,CAAc,QAAQ,CAAA;AAAA,QAC/D,MAAQ,EAAAC,eAAA,CAAU,EAAE,GAAA,EAAK,QAAQ,CAAA;AAAA,QAEhC,QAAA,EAAA;AAAA,UAAS,IAAA,KAAA,OAAA,IAAW,QAAQ,GAAI,CAAA,CAAC,KAAK,KAAU,qBAAAL,cAAA,CAACC,UAAK,CAAA,MAAA,EAAL,EAAwB,IAAA,EAAM,KAAK,IAAK,CAAA,IAAA,EAAM,IAAM,EAAA,GAAA,CAAI,IAAM,EAAA,IAAA,EAAM,IAAI,IAAM,EAAA,UAAA,EAAU,IAAvE,EAAA,EAAA,KAAwE,CAAE,CAAA;AAAA,0BAC7ID,cAAA;AAAA,YAACE,sBAAA;AAAA,YAAA;AAAA,cACC,MAAM,IAAK,CAAA,IAAA;AAAA,cACX,WAAW,IAAK,CAAA,SAAA;AAAA,cAChB,WAAA,EAAa,OAAO,KAAM,CAAA,WAAA;AAAA,cAC1B,MAAM,MAAO,CAAA,IAAA;AAAA,cACb,QAAQ,MAAO,CAAA,KAAA;AAAA,cACf,MAAA;AAAA,cACA,QAAA;AAAA,cACA,YAAA;AAAA,cACA;AAAA;AAAA;AACF;AAAA;AAAA,KACF;AAAA;AAGN,CAAC;;;AG/NDvB,gCAAA,EAAA;AAOO,IAAM,eAAec,8BAA+B,CAAA;AAAA,EACzD,IAAM,EAAA,KAAA;AAAA,EACN,UAAa,GAAA;AACX,IAAM,MAAA;AAAA,MACJ,aAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,OAAA,EAAS,EAAE,MAAO,EAAA;AAAA,QAClB,GAAK,EAAA;AAAA;AACP,QACEC,YAAiB,EAAA;AACrB,IAAA,MAAM,MAAMC,YAAO,EAAA;AAEnB,IAAM,MAAA,IAAA,GAAO,cAAc,OAAQ,CAAA,EAAE,MAAM,KAAO,EAAA,OAAA,EAAS,KAAO,EAAA,SAAA,EAAW,CAAA;AAE7E,IAAA,uBACEQ,eAAAA;AAAA,MAACF,UAAAA;AAAA,MAAA;AAAA,QACC,UAAU,IAAK,CAAA,QAAA;AAAA,QACf,MAAM,IAAK,CAAA,IAAA;AAAA,QACX,MAAM,IAAK,CAAA,IAAA;AAAA,QACX,MAAA,EAAQG,gBAAU,EAAE,GAAA,EAAK,QAAQ,MAAQ,EAAA,aAAA,CAAc,QAAQ,CAAA;AAAA,QAC/D,MAAQC,EAAAA,eAAAA,CAAU,EAAE,GAAA,EAAK,QAAQ,CAAA;AAAA,QAEjC,QAAA,EAAA;AAAA,0BAAAL,cAAAA,CAACC,UAAK,CAAA,MAAA,EAAL,EAAY,IAAA,EAAM,CAAC,OAAO,CAAG,EAAA,IAAA,EAAK,WAAY,EAAA,UAAA,EAAU,IAAC,EAAA,CAAA;AAAA,0BAE1DD,eAACM,yBAAQ,EAAA,EAAA,IAAA,EAAM,OAAO,QAAU,EAAA,KAAA,EAAO,GAAK,EAAA,GAAA,CAAI,GAAK,EAAA;AAAA;AAAA;AAAA,KACvD;AAAA;AAGN,CAAC","file":"chunk-LWIFDYGQ.cjs","sourcesContent":["export { typeGenerator } from './typeGenerator.tsx'\nexport { oasGenerator } from './oasGenerator.tsx'\n","import type { PluginManager } from '@kubb/core'\nimport transformers from '@kubb/core/transformers'\nimport { print } from '@kubb/parser-ts'\nimport * as factory from '@kubb/parser-ts/factory'\nimport { type OperationSchema as OperationSchemaType, type OperationSchemas, SchemaGenerator, createReactGenerator } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { useOas, useOperationManager, useSchemaManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File, useApp } from '@kubb/react'\nimport type ts from 'typescript'\nimport { Type } from '../components'\nimport type { PluginTs } from '../types'\n\nfunction printCombinedSchema({ name, schemas, pluginManager }: { name: string; schemas: OperationSchemas; pluginManager: PluginManager }): string {\n  const properties: Record<string, ts.TypeNode> = {}\n\n  if (schemas.response) {\n    properties['response'] = factory.createUnionDeclaration({\n      nodes: schemas.responses.map((res) => {\n        const identifier = pluginManager.resolveName({\n          name: res.name,\n          pluginKey: [pluginTsName],\n          type: 'function',\n        })\n\n        return factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n      }),\n    })!\n  }\n\n  if (schemas.request) {\n    const identifier = pluginManager.resolveName({\n      name: schemas.request.name,\n      pluginKey: [pluginTsName],\n      type: 'function',\n    })\n    properties['request'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n  }\n\n  if (schemas.pathParams) {\n    const identifier = pluginManager.resolveName({\n      name: schemas.pathParams.name,\n      pluginKey: [pluginTsName],\n      type: 'function',\n    })\n    properties['pathParams'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n  }\n\n  if (schemas.queryParams) {\n    const identifier = pluginManager.resolveName({\n      name: schemas.queryParams.name,\n      pluginKey: [pluginTsName],\n      type: 'function',\n    })\n    properties['queryParams'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n  }\n\n  if (schemas.headerParams) {\n    const identifier = pluginManager.resolveName({\n      name: schemas.headerParams.name,\n      pluginKey: [pluginTsName],\n      type: 'function',\n    })\n    properties['headerParams'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n  }\n\n  if (schemas.errors) {\n    properties['errors'] = factory.createUnionDeclaration({\n      nodes: schemas.errors.map((error) => {\n        const identifier = pluginManager.resolveName({\n          name: error.name,\n          pluginKey: [pluginTsName],\n          type: 'function',\n        })\n\n        return factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n      }),\n    })!\n  }\n\n  const namespaceNode = factory.createTypeAliasDeclaration({\n    name,\n    type: factory.createTypeLiteralNode(\n      Object.keys(properties)\n        .map((key) => {\n          const type = properties[key]\n          if (!type) {\n            return undefined\n          }\n\n          return factory.createPropertySignature({\n            name: transformers.pascalCase(key),\n            type,\n          })\n        })\n        .filter(Boolean),\n    ),\n    modifiers: [factory.modifiers.export],\n  })\n\n  return print([namespaceNode])\n}\n\nexport const typeGenerator = createReactGenerator<PluginTs>({\n  name: 'typescript',\n  Operation({ operation, options }) {\n    const { mapper, enumType, syntaxType, optionalType } = options\n\n    const { plugin, pluginManager, mode } = useApp<PluginTs>()\n    const oas = useOas()\n    const { getSchemas, getFile, getName, getGroup } = useOperationManager()\n    const schemaManager = useSchemaManager()\n\n    const file = getFile(operation)\n    const schemas = getSchemas(operation)\n    const type = getName(operation, { type: 'function', pluginKey: [pluginTsName] })\n    const combinedSchemaName = operation.method === 'get' ? `${type}Query` : `${type}Mutation`\n    const schemaGenerator = new SchemaGenerator(options, {\n      oas,\n      plugin,\n      pluginManager,\n      mode,\n      override: options.override,\n    })\n\n    const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response]\n      .flat()\n      .filter(Boolean)\n\n    const mapOperationSchema = ({ name, schema, description, keysToOmit, ...options }: OperationSchemaType, i: number) => {\n      const tree = schemaGenerator.parse({ schema, name })\n      const imports = schemaManager.getImports(tree)\n      const group = options.operation ? getGroup(options.operation) : undefined\n\n      const type = {\n        name: schemaManager.getName(name, { type: 'type' }),\n        typedName: schemaManager.getName(name, { type: 'type' }),\n        file: schemaManager.getFile(options.operationName || name, { group }),\n      }\n\n      return (\n        <Oas.Schema key={i} name={name} value={schema} tree={tree}>\n          {mode === 'split' && imports.map((imp, index) => <File.Import key={index} root={file.path} path={imp.path} name={imp.name} isTypeOnly />)}\n          <Type\n            name={type.name}\n            typedName={type.typedName}\n            description={description}\n            tree={tree}\n            schema={schema}\n            mapper={mapper}\n            enumType={enumType}\n            optionalType={optionalType}\n            keysToOmit={keysToOmit}\n            syntaxType={syntaxType}\n          />\n        </Oas.Schema>\n      )\n    }\n\n    return (\n      <File\n        baseName={file.baseName}\n        path={file.path}\n        meta={file.meta}\n        banner={getBanner({ oas, output: plugin.options.output, config: pluginManager.config })}\n        footer={getFooter({ oas, output: plugin.options.output })}\n      >\n        {operationSchemas.map(mapOperationSchema)}\n\n        <File.Source name={combinedSchemaName} isExportable isIndexable isTypeOnly>\n          {printCombinedSchema({ name: combinedSchemaName, schemas, pluginManager })}\n        </File.Source>\n      </File>\n    )\n  },\n  Schema({ schema, options }) {\n    const { mapper, enumType, syntaxType, optionalType } = options\n    const {\n      mode,\n      plugin: {\n        options: { output },\n      },\n      pluginManager,\n    } = useApp<PluginTs>()\n    const oas = useOas()\n\n    const { getName, getImports, getFile } = useSchemaManager()\n    const imports = getImports(schema.tree)\n\n    if (enumType === 'asPascalConst') {\n      console.warn(`enumType '${enumType}' is deprecated`)\n    }\n\n    const type = {\n      name: getName(schema.name, { type: 'function' }),\n      typedName: getName(schema.name, { type: 'type' }),\n      file: getFile(schema.name),\n    }\n\n    return (\n      <File\n        baseName={type.file.baseName}\n        path={type.file.path}\n        meta={type.file.meta}\n        banner={getBanner({ oas, output, config: pluginManager.config })}\n        footer={getFooter({ oas, output })}\n      >\n        {mode === 'split' && imports.map((imp, index) => <File.Import key={index} root={type.file.path} path={imp.path} name={imp.name} isTypeOnly />)}\n        <Type\n          name={type.name}\n          typedName={type.typedName}\n          description={schema.value.description}\n          tree={schema.tree}\n          schema={schema.value}\n          mapper={mapper}\n          enumType={enumType}\n          optionalType={optionalType}\n          syntaxType={syntaxType}\n        />\n      </File>\n    )\n  },\n})\n","export { pluginTs, pluginTsName } from './plugin.ts'\nexport type { PluginTs } from './types.ts'\n","import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { OperationGenerator, SchemaGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'\nimport { oasGenerator, typeGenerator } from './generators'\nimport type { PluginTs } from './types.ts'\n\nexport const pluginTsName = 'plugin-ts' satisfies PluginTs['name']\n\nexport const pluginTs = createPlugin<PluginTs>((options) => {\n  const {\n    output = { path: 'types', barrelType: 'named' },\n    group,\n    exclude = [],\n    include,\n    override = [],\n    enumType = 'asConst',\n    enumSuffix = 'enum',\n    dateType = 'string',\n    unknownType = 'any',\n    optionalType = 'questionToken',\n    syntaxType = 'type',\n    transformers = {},\n    oasType = false,\n    mapper = {},\n    generators = [typeGenerator, oasType === 'infer' ? oasGenerator : undefined].filter(Boolean),\n    contentType,\n  } = options\n\n  return {\n    name: pluginTsName,\n    options: {\n      output,\n      transformers,\n      dateType,\n      optionalType,\n      oasType,\n      enumType,\n      enumSuffix,\n      // keep the used enumnames between SchemaGenerator and OperationGenerator per plugin(pluginKey)\n      usedEnumNames: {},\n      unknownType,\n      syntaxType,\n      group,\n      override,\n      mapper,\n    },\n    pre: [pluginOasName],\n    resolvePath(baseName, pathMode, options) {\n      const root = path.resolve(this.config.root, this.config.output.path)\n      const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n      if (mode === 'single') {\n        /**\n         * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n         * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n         */\n        return path.resolve(root, output.path)\n      }\n\n      if (group && (options?.group?.path || options?.group?.tag)) {\n        const groupName: Group['name'] = group?.name\n          ? group.name\n          : (ctx) => {\n              if (group?.type === 'path') {\n                return `${ctx.group.split('/')[1]}`\n              }\n              return `${camelCase(ctx.group)}Controller`\n            }\n\n        return path.resolve(\n          root,\n          output.path,\n          groupName({\n            group: group.type === 'path' ? options.group.path! : options.group.tag!,\n          }),\n          baseName,\n        )\n      }\n\n      return path.resolve(root, output.path, baseName)\n    },\n    resolveName(name, type) {\n      const resolvedName = pascalCase(name, { isFile: type === 'file' })\n\n      if (type) {\n        return transformers?.name?.(resolvedName, type) || resolvedName\n      }\n\n      return resolvedName\n    },\n    async buildStart() {\n      const [swaggerPlugin]: [Plugin<SwaggerPluginOptions>] = PluginManager.getDependedPlugins<SwaggerPluginOptions>(this.plugins, [pluginOasName])\n\n      const oas = await swaggerPlugin.context.getOas()\n      const root = path.resolve(this.config.root, this.config.output.path)\n      const mode = FileManager.getMode(path.resolve(root, output.path))\n\n      const schemaGenerator = new SchemaGenerator(this.plugin.options, {\n        oas,\n        pluginManager: this.pluginManager,\n        plugin: this.plugin,\n        contentType,\n        include: undefined,\n        override,\n        mode,\n        output: output.path,\n      })\n\n      const schemaFiles = await schemaGenerator.build(...generators)\n      await this.addFile(...schemaFiles)\n\n      const operationGenerator = new OperationGenerator(this.plugin.options, {\n        oas,\n        pluginManager: this.pluginManager,\n        plugin: this.plugin,\n        contentType,\n        exclude,\n        include,\n        override,\n        mode,\n      })\n\n      const operationFiles = await operationGenerator.build(...generators)\n      await this.addFile(...operationFiles)\n\n      const barrelFiles = await this.fileManager.getBarrelFiles({\n        type: output.barrelType ?? 'named',\n        root,\n        output,\n        files: this.fileManager.files,\n        meta: {\n          pluginKey: this.plugin.key,\n        },\n        logger: this.logger,\n      })\n\n      await this.addFile(...barrelFiles)\n    },\n  }\n})\n","import { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { File, useApp } from '@kubb/react'\nimport { OasType } from '../components'\nimport type { PluginTs } from '../types.ts'\n\nexport const oasGenerator = createReactGenerator<PluginTs>({\n  name: 'oas',\n  Operations() {\n    const {\n      pluginManager,\n      plugin: {\n        options: { output },\n        key: pluginKey,\n      },\n    } = useApp<PluginTs>()\n    const oas = useOas()\n\n    const file = pluginManager.getFile({ name: 'oas', extname: '.ts', pluginKey })\n\n    return (\n      <File\n        baseName={file.baseName}\n        path={file.path}\n        meta={file.meta}\n        banner={getBanner({ oas, output, config: pluginManager.config })}\n        footer={getFooter({ oas, output })}\n      >\n        <File.Import name={['Infer']} path=\"@kubb/oas\" isTypeOnly />\n\n        <OasType name={'oas'} typeName={'Oas'} api={oas.api} />\n      </File>\n    )\n  },\n})\n"]}