@hey-api/openapi-ts
Version:
🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.
29 lines (25 loc) • 439 kB
JavaScript
'use strict';var We=require('ansi-colors'),mx=require('color-support'),we=require('fs'),J=require('path'),url=require('url'),b=require('typescript'),c12=require('c12'),os$1=require('os'),Wn=require('semver'),jsonSchemaRefParser=require('@hey-api/json-schema-ref-parser'),O=require('handlebars');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var We__default=/*#__PURE__*/_interopDefault(We);var mx__default=/*#__PURE__*/_interopDefault(mx);var we__default=/*#__PURE__*/_interopDefault(we);var J__default=/*#__PURE__*/_interopDefault(J);var b__default=/*#__PURE__*/_interopDefault(b);var Wn__namespace=/*#__PURE__*/_interopNamespace(Wn);var O__default=/*#__PURE__*/_interopDefault(O);var hf=Object.create;var Oi=Object.defineProperty;var xf=Object.getOwnPropertyDescriptor;var bf=Object.getOwnPropertyNames;var Of=Object.getPrototypeOf,Sf=Object.prototype.hasOwnProperty;var Ke=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Rf=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of bf(t))!Sf.call(e,s)&&s!==r&&Oi(e,s,{get:()=>t[s],enumerable:!(n=xf(t,s))||n.enumerable});return e};var Tf=(e,t,r)=>(r=e!=null?hf(Of(e)):{},Rf(Oi(r,"default",{value:e,enumerable:true}),e));var $m=Oe((IM,qm)=>{qm.exports=wm;wm.sync=Ih;var jm=Ke("fs");function Ah(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return true;for(var n=0;n<r.length;n++){var s=r[n].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return true}return false}function Nm(e,t,r){return !e.isSymbolicLink()&&!e.isFile()?false:Ah(t,r)}function wm(e,t,r){jm.stat(e,function(n,s){r(n,n?false:Nm(s,e,t));});}function Ih(e,t){return Nm(jm.statSync(e),e,t)}});var Bm=Oe((EM,Lm)=>{Lm.exports=Dm;Dm.sync=Eh;var Mm=Ke("fs");function Dm(e,t,r){Mm.stat(e,function(n,s){r(n,n?false:Fm(s,t));});}function Eh(e,t){return Fm(Mm.statSync(e),t)}function Fm(e,t){return e.isFile()&&vh(e,t)}function vh(e,t){var r=e.mode,n=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),a=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),p=parseInt("100",8),c=parseInt("010",8),m=parseInt("001",8),l=p|c,f=r&m||r&c&&s===a||r&p&&n===o||r&l&&o===0;return f}});var _m=Oe((CM,Hm)=>{Ke("fs");var oo;process.platform==="win32"||global.TESTING_WINDOWS?oo=$m():oo=Bm();Hm.exports=ai;ai.sync=Ch;function ai(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,s){ai(e,t||{},function(o,a){o?s(o):n(a);});})}oo(e,t||{},function(n,s){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,s=false),r(n,s);});}function Ch(e,t){try{return oo.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return false;throw r}}});var Qm=Oe((kM,Zm)=>{var _r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Vm=Ke("path"),kh=_r?";":":",Wm=_m(),zm=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Km=(e,t)=>{let r=t.colon||kh,n=e.match(/\//)||_r&&e.match(/\\/)?[""]:[..._r?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],s=_r?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=_r?s.split(r):[""];return _r&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:n,pathExt:o,pathExtExe:s}},Um=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:s,pathExtExe:o}=Km(e,t),a=[],p=m=>new Promise((l,f)=>{if(m===n.length)return t.all&&a.length?l(a):f(zm(e));let u=n[m],y=/^".*"$/.test(u)?u.slice(1,-1):u,g=Vm.join(y,e),x=!y&&/^\.[\\\/]/.test(e)?e.slice(0,2)+g:g;l(c(x,m,0));}),c=(m,l,f)=>new Promise((u,y)=>{if(f===s.length)return u(p(l+1));let g=s[f];Wm(m+g,{pathExt:o},(x,R)=>{if(!x&&R)if(t.all)a.push(m+g);else return u(m+g);return u(c(m,l,f+1))});});return r?p(0).then(m=>r(null,m),r):p(0)},jh=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:s}=Km(e,t),o=[];for(let a=0;a<r.length;a++){let p=r[a],c=/^".*"$/.test(p)?p.slice(1,-1):p,m=Vm.join(c,e),l=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;for(let f=0;f<n.length;f++){let u=l+n[f];try{if(Wm.sync(u,{pathExt:s}))if(t.all)o.push(u);else return u}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw zm(e)};Zm.exports=Um;Um.sync=jh;});var Gm=Oe((jM,pi)=>{var Xm=(e={})=>{let t=e.env||process.env;return (e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};pi.exports=Xm;pi.exports.default=Xm;});var tl=Oe((NM,el)=>{var Jm=Ke("path"),Nh=Qm(),wh=Gm();function Ym(e,t){let r=e.options.env||process.env,n=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd);}catch{}let a;try{a=Nh.sync(e.command,{path:r[wh({env:r})],pathExt:t?Jm.delimiter:void 0});}catch{}finally{o&&process.chdir(n);}return a&&(a=Jm.resolve(s?e.options.cwd:"",a)),a}function qh(e){return Ym(e)||Ym(e,true)}el.exports=qh;});var rl=Oe((wM,mi)=>{var ci=/([()\][%!^"`<>&|;, *?])/g;function $h(e){return e=e.replace(ci,"^$1"),e}function Mh(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(ci,"^$1"),t&&(e=e.replace(ci,"^$1")),e}mi.exports.command=$h;mi.exports.argument=Mh;});var sl=Oe((qM,nl)=>{nl.exports=/^#!(.*)/;});var il=Oe(($M,ol)=>{var Dh=sl();ol.exports=(e="")=>{let t=e.match(Dh);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?n:n?`${s} ${n}`:s};});var pl=Oe((MM,al)=>{var li=Ke("fs"),Fh=il();function Lh(e){let r=Buffer.alloc(150),n;try{n=li.openSync(e,"r"),li.readSync(n,r,0,150,0),li.closeSync(n);}catch{}return Fh(r.toString())}al.exports=Lh;});var fl=Oe((DM,ll)=>{var Bh=Ke("path"),cl=tl(),ml=rl(),Hh=pl(),_h=process.platform==="win32",Vh=/\.(?:com|exe)$/i,Wh=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function zh(e){e.file=cl(e);let t=e.file&&Hh(e.file);return t?(e.args.unshift(e.file),e.command=t,cl(e)):e.file}function Kh(e){if(!_h)return e;let t=zh(e),r=!Vh.test(t);if(e.options.forceShell||r){let n=Wh.test(t);e.command=Bh.normalize(e.command),e.command=ml.command(e.command),e.args=e.args.map(o=>ml.argument(o,n));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=true;}return e}function Uh(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:Kh(n)}ll.exports=Uh;});var yl=Oe((FM,dl)=>{var fi=process.platform==="win32";function ui(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Zh(e,t){if(!fi)return;let r=e.emit;e.emit=function(n,s){if(n==="exit"){let o=ul(s,t);if(o)return r.call(e,"error",o)}return r.apply(e,arguments)};}function ul(e,t){return fi&&e===1&&!t.file?ui(t.original,"spawn"):null}function Qh(e,t){return fi&&e===1&&!t.file?ui(t.original,"spawnSync"):null}dl.exports={hookChildProcess:Zh,verifyENOENT:ul,verifyENOENTSync:Qh,notFoundError:ui};});var xl=Oe((LM,Vr)=>{var gl=Ke("child_process"),di=fl(),yi=yl();function hl(e,t,r){let n=di(e,t,r),s=gl.spawn(n.command,n.args,n.options);return yi.hookChildProcess(s,n),s}function Xh(e,t,r){let n=di(e,t,r),s=gl.spawnSync(n.command,n.args,n.options);return s.error=s.error||yi.verifyENOENTSync(s.status,n),s}Vr.exports=hl;Vr.exports.spawn=hl;Vr.exports.sync=Xh;Vr.exports._parse=di;Vr.exports._enoent=yi;});var Af=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))),ao=J__default.default.dirname(Af),po=()=>{let e=ao;for(;e!==J__default.default.dirname(e);){let r=we__default.default.readdirSync(e).filter(n=>n==="package.json");if(r[0]){let n=J__default.default.join(e,r[0]);return JSON.parse(we__default.default.readFileSync(n,{encoding:"utf8"}))}e=J__default.default.dirname(e);}},bn=e=>{if(e==="off")return null;if(e){let r=J__default.default.isAbsolute(e)?e:J__default.default.resolve(ao,e);return we__default.default.existsSync(r)?r:null}let t=ao;for(;t!==J__default.default.dirname(t);){let n=we__default.default.readdirSync(t).filter(s=>s.startsWith("tsconfig")&&s.endsWith(".json")).sort(s=>s==="tsconfig.json"?-1:1);if(n[0])return J__default.default.join(t,n[0]);t=J__default.default.dirname(t);}return null},On=e=>{if(!e)return null;let t=b__default.default.readConfigFile(e,b__default.default.sys.readFile);if(t.error)throw new Error(`Couldn't read tsconfig from path: ${e}`);return b__default.default.parseJsonConfigFileContent(t.config,b__default.default.sys,J__default.default.dirname(e))};var Me=e=>{we__default.default.existsSync(e)||we__default.default.mkdirSync(e,{recursive:true});},Rn=e=>{we__default.default.existsSync(e)&&we__default.default.rmSync(e,{force:true,recursive:true});},lr=({moduleOutput:e,sourceOutput:t})=>{let r=t.split("/");return `${Array.from({length:r.length}).fill("").join("../")||"./"}${e}`};var Ze=class extends Error{},fr=class extends Error{args;event;pluginName;constructor({args:t,error:r,event:n,name:s,pluginName:o}){let a=r instanceof Error?r.message:"Unknown error";super(a),this.args=t,this.cause=r.cause,this.event=n,this.name=s||r.name,this.pluginName=o,this.stack=r.stack;}},Ri=(e,t)=>{if(e instanceof Ze)return;let r=`openapi-ts-error-${Date.now()}.log`,n=J__default.default.resolve(process.cwd(),t);Me(n);let s=J__default.default.resolve(n,r),o=`[${new Date().toISOString()}] `;e instanceof fr&&(o+=`${e.name} during event "${e.event}"
`,e.pluginName&&(o+=`Plugin: ${e.pluginName}
`),o+=`Arguments: ${JSON.stringify(e.args,null,2)}
`);let a=e instanceof Error?e.message:String(e),p=e instanceof Error?e.stack:void 0;return o+=`Error: ${a}
`,p&&(o+=`Stack:
${p}
`),we__default.default.writeFileSync(s,o),s},Ti=async e=>{let t="";e instanceof fr&&(e.pluginName&&(t+=`**Plugin**: \`${e.pluginName}\`
`),t+=`**Event**: \`${e.event}\`
`,t+=`**Arguments**:
\`\`\`ts
${JSON.stringify(e.args,null,2)}
\`\`\`
`);let r=e instanceof Error?e.message:String(e),n=e instanceof Error?e.stack:void 0;t+=`**Error**: \`${r}\`
`,n&&(t+=`
**Stack Trace**:
\`\`\`
${n}
\`\`\``);let s=new URLSearchParams({body:t,labels:"bug \u{1F525}",title:"Crash Report"}),o=po(),a;if(o&&typeof o=="object"&&"bugs"in o&&o.bugs&&typeof o.bugs=="object"&&"url"in o.bugs&&typeof o.bugs.url=="string"&&(a=o.bugs.url,a&&!a.endsWith("/")&&(a+="/")),a){let p=`${a}new?${s.toString()}`,c=(await import('open')).default;await c(p);}},Pi=({error:e,logPath:t})=>{let r=po(),n;r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"&&(n=r.name),process.stderr.write(`
\u{1F6D1} ${We__default.default.cyan(n||"")} ${We__default.default.red("encountered an error.")}
${We__default.default.red("\u2757\uFE0F Error:")} ${We__default.default.white(typeof e=="string"?e:e instanceof Error?e.message:"Unknown error")}`+(t?`
${We__default.default.cyan("\u{1F4C4} Crash log saved to:")} ${We__default.default.gray(t)}`:"")+`
`);},Ai=async({error:e,isInteractive:t})=>!t||e instanceof Ze?false:new Promise(r=>{process.stdout.write(`${We__default.default.yellow(`
\u{1F4E2} Open a GitHub issue with crash details?`)} ${We__default.default.yellow("(y/N):")}`),process.stdin.setEncoding("utf8"),process.stdin.once("data",n=>{r(n.trim().toLowerCase()==="y");});});var Ii=()=>{if(typeof Bun<"u"){let[e]=Bun.version.split(".").map(Number);if(e<1)throw new Ze(`Unsupported Bun version ${Bun.version}. Please use Bun 1.0.0 or newer.`)}else if(typeof process<"u"&&process.versions?.node){let[e]=process.versions.node.split(".").map(Number);if(e<18)throw new Ze(`Unsupported Node version ${process.versions.node}. Please use Node 18 or newer.`)}};var Qe="client",De=e=>{let t=E(e);return t.name==="@hey-api/client-axios"||t.name==="@hey-api/client-nuxt"?"baseURL":"baseUrl"},E=e=>{for(let t of e.pluginOrder){let r=e.plugins[t];if(r?.tags?.includes("client"))return r}return {config:{name:""},name:""}};var Ei,T=()=>{let e=Ei,t=E(e);return e.client=t,e},vi=e=>(Ei=e,T()),_=e=>E(e).name.startsWith("legacy/"),Q=e=>{if(_(e))return e.name};var Wr={enabled:false,interval:1e3,timeout:6e4},Ci=e=>{let t={...Wr};return typeof e.path!="string"||(typeof e.watch=="boolean"?t.enabled=e.watch:typeof e.watch=="number"?(t.enabled=true,t.interval=e.watch):e.watch&&(t={...t,...e.watch})),t},ki=e=>{let t={path:"",watch:Wr};return typeof e.input=="string"?t.path=e.input:e.input&&(e.input.path!==void 0||e.input.organization!==void 0)?(t={...t,path:"https://get.heyapi.dev",...e.input},t.watch!==void 0&&(t.watch=Ci(t))):t={...t,path:e.input},e.watch!==void 0&&t.watch.enabled===Wr.enabled&&t.watch.interval===Wr.interval&&t.watch.timeout===Wr.timeout&&(t.watch=Ci({path:t.path,watch:e.watch})),t};var Tn=e=>{let t={file:true,level:"info",path:process.cwd()};return typeof e?.logs=="string"?t.path=e.logs:t={...t,...e?.logs},t};var Ef=(e,t)=>({...e||{},...t||{}}),co=(e,t)=>{let r=e||{},n=t||{},s={...r,...n};return typeof s.logs=="object"&&(s.logs=Ef(r.logs,n.logs)),s};var ji=e=>{let t={clean:true,format:false,indexFile:true,lint:false,path:"",tsConfigPath:""};return typeof e.output=="string"?t.path=e.output:t={...t,...e.output},t};var wi=e=>{let t=e?J__default.default.dirname(e):process.cwd();for(;t!==J__default.default.dirname(t);){let r=J__default.default.join(t,"package.json");if(we__default.default.existsSync(r))try{let s=JSON.parse(we__default.default.readFileSync(r,"utf8"));return {...s.dependencies,...s.devDependencies,...s.peerDependencies,...s.optionalDependencies}}catch{}let n=J__default.default.dirname(t);if(n===t)break;t=n;}return {}};var vf=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&typeof e!="function",ur=(e,t)=>{for(let[r,n]of Object.entries(t))n!==void 0&&n!==""&&(e[r]=n);return e},Zt=({defaultValue:e,mappers:t,value:r})=>{let n={...e};switch(typeof r){case "boolean":if(t&&"boolean"in t){let s=t.boolean;n=ur(n,s(r));}break;case "function":if(t&&"function"in t){let s=t.function;n=ur(n,s(r));}break;case "number":if(t&&"number"in t){let s=t.number;n=ur(n,s(r));}break;case "string":if(t&&"string"in t){let s=t.string;n=ur(n,s(r));}break;case "object":if(vf(r))if(t&&"object"in t&&typeof t.object=="function"){let s=t.object;n=ur(n,s(r,e));}else n=ur(n,r);break}return n};var qi=["after","before","cursor","offset","page","start"],$i=e=>{let t={...e.parser,pagination:{keywords:qi},transforms:{enums:{case:"PascalCase",enabled:false,mode:"root",name:"{{name}}Enum"},readWrite:{enabled:true,requests:{case:"preserve",name:"{{name}}Writable"},responses:{case:"preserve",name:"{{name}}"}}},validate_EXPERIMENTAL:false};return e.parser&&(e.parser.pagination?.keywords&&(t.pagination.keywords=e.parser.pagination.keywords),e.parser.transforms&&(e.parser.transforms.enums!==void 0&&(t.transforms.enums=Zt({defaultValue:{...t.transforms.enums,enabled:!!e.parser.transforms.enums},mappers:{boolean:r=>({enabled:r}),string:r=>({mode:r})},value:e.parser.transforms.enums})),e.parser.transforms.readWrite!==void 0&&(t.transforms.readWrite=Zt({defaultValue:{...t.transforms.readWrite,enabled:!!e.parser.transforms.readWrite},mappers:{boolean:r=>({enabled:r}),object:r=>({...r,requests:Zt({defaultValue:t.transforms.readWrite.requests,mappers:{function:n=>({name:n}),string:n=>({name:n})},value:r.requests}),responses:Zt({defaultValue:t.transforms.readWrite.responses,mappers:{function:n=>({name:n}),string:n=>({name:n})},value:r.responses})})},value:e.parser.transforms.readWrite}))),e.parser.validate_EXPERIMENTAL&&(t.validate_EXPERIMENTAL=e.parser.validate_EXPERIMENTAL===true?"warn":e.parser.validate_EXPERIMENTAL)),t};var I=e=>t=>({...e,config:{...e.config,...t}}),kt={boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})};var yt={baseUrl:true,bundle:true,exportFromIndex:false},gt={dependencies:["@hey-api/typescript"],output:"client",tags:["client"]};var dr=/^[^$_\p{ID_Start}]+/u,oe=/^-?\d+(\.\d+)?$/,Mi=/^(document|history|location|navigator|window)$/g,Di=/^(console|Array|Date|Error|Function|JSON|Map|Math|Object|Promise|RegExp|Set|WeakMap|WeakSet)$/g,ge=/^(arguments|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|from|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,Fi=/^(global|process|Buffer)$/g,Li=/^(any|as|bigint|boolean|namespace|never|null|number|string|symbol|type|undefined|unknown|void)$/g,Fe=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;var Ae=e=>(e||e==="")&&(Fe.lastIndex=0,!Fe.test(e))?`'${e}'`:e,yr=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,K=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,(t,r)=>os$1.EOL+r.trim());var kf=b__default.default.createPrinter({newLine:b__default.default.NewLineKind.LineFeed,removeComments:false}),Bi=e=>b__default.default.createSourceFile("",e,b__default.default.ScriptTarget.ESNext,false,b__default.default.ScriptKind.TS),jf=Bi(""),Nf=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(Number.parseInt(r,16)));function Xe({node:e,unescape:t=false}){let r=kf.printNode(b__default.default.EmitHint.Unspecified,e,jf);if(!t)return r;try{return Nf(r)}catch{return T().logs.level==="debug"&&console.warn("Could not decode value:",r),r}}function Hi(e){return Bi(e).statements[0]}var A=({text:e})=>b__default.default.factory.createIdentifier(e),_i=()=>b__default.default.factory.createThis(),re=({keyword:e})=>{let t=mo({keyword:e});return b__default.default.factory.createModifier(t)},Vi=({initializer:e,modifier:t,name:r,type:n})=>b__default.default.factory.createPropertyDeclaration(t?[re({keyword:t})]:void 0,r,void 0,n,e),Se={boolean:e=>e?b__default.default.factory.createTrue():b__default.default.factory.createFalse(),export:({alias:e,asType:t=false,name:r})=>{let n=A({text:r});if(e){let s=A({text:e});return b__default.default.factory.createExportSpecifier(t,n,s)}return b__default.default.factory.createExportSpecifier(t,void 0,n)},import:({alias:e,asType:t=false,name:r})=>{let n=A({text:r});if(e){let s=A({text:e});return b__default.default.factory.createImportSpecifier(t,n,s)}return b__default.default.factory.createImportSpecifier(t,void 0,n)},number:e=>e<0?b__default.default.factory.createPrefixUnaryExpression(b__default.default.SyntaxKind.MinusToken,b__default.default.factory.createNumericLiteral(Math.abs(e))):b__default.default.factory.createNumericLiteral(e),string:(e,t=false)=>{let r=e;t&&(r=yr(r));let n=r.includes("'")&&r.includes('"'),s=r.includes(`
`),o=r.startsWith("`"),a=r.startsWith("\\`")&&r.endsWith("\\`");return (s||n||o)&&!a&&(r=`\`${r.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``),r.startsWith("`")?A({text:r}):Xt({text:r})}},Qt=e=>e!==null&&typeof e=="object"&&typeof e.kind=="number"&&typeof e.flags=="number"&&typeof e.pos=="number"&&typeof e.end=="number",jt=e=>e!==void 0,wf=({commentObject:e,node:t})=>{let r=e.lines.filter(a=>!!a||a==="");if(!r.length)return;if(!e.jsdoc){for(let a of r)b__default.default.addSyntheticLeadingComment(t,b__default.default.SyntaxKind.SingleLineCommentTrivia,` ${a}`,true);return}let n=r.map((a,p)=>{let c=a;return p!==r.length&&(c=`${c}
`),b__default.default.factory.createJSDocText(c)}),s=b__default.default.factory.createJSDocComment(b__default.default.factory.createNodeArray(n),void 0),o=Xe({node:s,unescape:true}).replace("/*","").replace("* */","");b__default.default.addSyntheticLeadingComment(t,b__default.default.SyntaxKind.MultiLineCommentTrivia,o,true);},ce=({comments:e=[],node:t})=>{let r=!!e.find(s=>typeof s=="object"&&s),n=e;r||(n=[{jsdoc:true,lines:e}]);for(let s of n)wf({commentObject:s,node:t});};var me=(e,t)=>b__default.default.isTypeNode(e)?e:typeof e=="number"?b__default.default.factory.createLiteralTypeNode(Se.number(e)):Ie({typeArguments:t?.map(r=>me(r)),typeName:b__default.default.isIdentifier(e)?e.text:e}),lo=({expression:e,name:t})=>b__default.default.factory.createPropertyAccessChain(e,b__default.default.factory.createToken(b__default.default.SyntaxKind.QuestionDotToken),t),Je=({expression:e,isOptional:t,name:r})=>{let n=typeof e=="string"?A({text:e}):e;if(t&&typeof r!="number")return lo({expression:n,name:r});if(typeof r=="string"){if(Fe.lastIndex=0,!Fe.test(r)){!r.startsWith("'")&&!r.endsWith("'")&&(r=`'${r}'`);let o=A({text:r});return b__default.default.factory.createElementAccessExpression(n,o)}let s=A({text:r});return b__default.default.factory.createPropertyAccessExpression(n,s)}if(typeof r=="number"){let s=b__default.default.factory.createNumericLiteral(r);return b__default.default.factory.createElementAccessExpression(n,s)}return b__default.default.factory.createPropertyAccessExpression(n,r)},fo=()=>b__default.default.factory.createNull(),Ge=({identifiers:e=[],isValueAccess:t,shorthand:r,unescape:n,value:s})=>{if(s===null)return fo();if(Array.isArray(s))return uo({elements:s});if(typeof s=="object")return vn({identifiers:e,obj:s,shorthand:r});if(typeof s=="number")return Se.number(s);if(typeof s=="boolean")return Se.boolean(s);if(typeof s=="string"){if(t){let o=s.split(".");return Je({expression:o[0],name:o[1]})}return Se.string(s,n)}},zr=e=>e.map(t=>{if("destructure"in t)return gr({name:b__default.default.factory.createObjectBindingPattern(t.destructure.map(n=>"destructure"in n?void 0:b__default.default.factory.createBindingElement(void 0,void 0,A({text:n.name}),void 0)).filter(Boolean)),type:t.type!==void 0?me(t.type):void 0});let r=t.accessLevel?[re({keyword:t.accessLevel})]:[];return t.isReadOnly&&r.push(re({keyword:"readonly"})),gr({initializer:t.default!==void 0?Ge({value:t.default}):void 0,modifiers:r,name:A({text:t.name}),required:t.isRequired!==false,type:t.type!==void 0?me(t.type):void 0})}),mo=({keyword:e})=>{switch(e){case "any":return b__default.default.SyntaxKind.AnyKeyword;case "async":return b__default.default.SyntaxKind.AsyncKeyword;case "boolean":return b__default.default.SyntaxKind.BooleanKeyword;case "export":return b__default.default.SyntaxKind.ExportKeyword;case "never":return b__default.default.SyntaxKind.NeverKeyword;case "number":return b__default.default.SyntaxKind.NumberKeyword;case "private":return b__default.default.SyntaxKind.PrivateKeyword;case "protected":return b__default.default.SyntaxKind.ProtectedKeyword;case "public":return b__default.default.SyntaxKind.PublicKeyword;case "readonly":return b__default.default.SyntaxKind.ReadonlyKeyword;case "static":return b__default.default.SyntaxKind.StaticKeyword;case "string":return b__default.default.SyntaxKind.StringKeyword;case "undefined":return b__default.default.SyntaxKind.UndefinedKeyword;case "unknown":return b__default.default.SyntaxKind.UnknownKeyword;case "void":return b__default.default.SyntaxKind.VoidKeyword;default:throw new Error(`unsupported syntax kind keyword "${e}"`)}},Gt=({keyword:e})=>{let t=mo({keyword:e});return b__default.default.factory.createKeywordTypeNode(t)},Kr=e=>e.map(t=>b__default.default.isTypeParameterDeclaration(t)?t:Ur({constraint:t.extends?typeof t.extends=="string"?Gt({keyword:"boolean"}):t.extends:void 0,defaultType:t.default!==void 0?Qt(t.default)?t.default:b__default.default.factory.createLiteralTypeNode(t.default?b__default.default.factory.createTrue():b__default.default.factory.createFalse()):void 0,name:t.name})),Wi=({operator:e,type:t})=>{let r=e==="keyof"?b__default.default.SyntaxKind.KeyOfKeyword:e==="readonly"?b__default.default.SyntaxKind.ReadonlyKeyword:b__default.default.SyntaxKind.UniqueKeyword;return b__default.default.factory.createTypeOperatorNode(r,t)},Ur=({constraint:e,defaultType:t,modifiers:r,name:n})=>b__default.default.factory.createTypeParameterDeclaration(r,n,e,t),In=({members:e,nameType:t,questionToken:r,readonlyToken:n,type:s,typeParameter:o})=>b__default.default.factory.createMappedTypeNode(n,o,t,r,s,e),zi=({literal:e})=>b__default.default.factory.createLiteralTypeNode(e),En=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:s,statements:o=[],types:a=[]})=>{let p=b__default.default.factory.createArrowFunction(e?[re({keyword:"async"})]:void 0,a?Kr(a):void 0,zr(n),s?me(s):void 0,void 0,Array.isArray(o)?Re({multiLine:r,statements:o}):o);return ce({comments:t,node:p}),p},Ki=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:s,statements:o=[],types:a=[]})=>{let p=b__default.default.factory.createFunctionExpression(e?[re({keyword:"async"})]:void 0,void 0,void 0,a?Kr(a):void 0,zr(n),s?me(s):void 0,Re({multiLine:r,statements:o}));return ce({comments:t,node:p}),p},uo=({elements:e,multiLine:t=false})=>b__default.default.factory.createArrayLiteralExpression(e.map(n=>Qt(n)?n:Ge({value:n})).filter(jt),t||!Array.isArray(e[0])&&typeof e[0]=="object"),Ui=({expression:e})=>b__default.default.factory.createAwaitExpression(e),Zi=({parameters:e=[],returnType:t,typeParameters:r})=>b__default.default.factory.createFunctionTypeNode(r,e,t),vn=({comments:e,identifiers:t=[],multiLine:r=true,obj:n,shorthand:s,unescape:o=false})=>{let a=Array.isArray(n)?n.map(c=>{let m=false;if("key"in c){let{key:f}=c;m=f===c.value,(f.match(/^[0-9]/)&&f.match(/\D+/g)||f.match(/\W/g)||f==="")&&!f.startsWith("'")&&!f.endsWith("'")&&(c.key=`'${f}'`);}let l;if("spread"in c){let f=Qt(c.spread)?c.spread:A({text:c.spread});l=b__default.default.factory.createSpreadAssignment(c.assertion?Qr({expression:f,type:typeof c.assertion=="string"?Gt({keyword:c.assertion}):c.assertion}):f);}else if(c.shorthand||s&&m)l=b__default.default.factory.createShorthandPropertyAssignment(c.value);else {let f=Qt(c.value)?c.value:Array.isArray(c.value)&&(!c.value.length||typeof c.value[0]=="object")?vn({multiLine:r,obj:c.value,shorthand:s,unescape:o}):Ge({identifiers:t.includes(c.key)?Object.keys(c.value):[],isValueAccess:c.isValueAccess,shorthand:s,unescape:o,value:c.value});if(!f)return;t.includes(c.key)&&!b__default.default.isObjectLiteralExpression(f)&&(f=A({text:c.value})),l=An({initializer:f,name:c.key});}return ce({comments:c.comments,node:l}),l}).filter(jt):Object.entries(n).map(([c,m])=>{let l=Ge({identifiers:t.includes(c)?Object.keys(m):[],shorthand:s,unescape:o,value:m});if(!l)return;t.includes(c)&&!b__default.default.isObjectLiteralExpression(l)&&(l=A({text:m}));let f=c===m;return c.match(/^[0-9]/)&&c.match(/\D+/g)&&!c.startsWith("'")&&!c.endsWith("'")&&(c=`'${c}'`),c.match(/\W/g)&&!c.startsWith("'")&&!c.endsWith("'")&&(c=`'${c}'`),s&&f?b__default.default.factory.createShorthandPropertyAssignment(m):An({initializer:l,name:c})}).filter(jt),p=b__default.default.factory.createObjectLiteralExpression(a,r);return ce({comments:e,node:p}),p},Qi=({comments:e={},leadingComment:t,name:r,obj:n})=>{let s=Array.isArray(n)?n.map(a=>{let p=$f({initializer:Ge({value:a.value}),name:a.key});return ce({comments:a.comments,node:p}),p}):Object.entries(n).map(([a,p])=>{let c=b__default.default.factory.createEnumMember(a,Ge({unescape:true,value:p}));return ce({comments:e[a],node:c}),c}),o=b__default.default.factory.createEnumDeclaration([re({keyword:"export"})],typeof r=="string"?A({text:r}):r,s);return ce({comments:t,node:o}),o},$f=({initializer:e,name:t})=>{let r=t;return typeof r=="string"&&(r.includes("'")?r=Xt({isSingleQuote:false,text:r}):r=Ae(r)),b__default.default.factory.createEnumMember(r,e)},Xi=({name:e,statements:t})=>b__default.default.factory.createModuleDeclaration([re({keyword:"export"})],A({text:e}),b__default.default.factory.createModuleBlock(t),b__default.default.NodeFlags.Namespace),Gi=({indexType:e,objectType:t})=>b__default.default.factory.createIndexedAccessTypeNode(t,e),Ji=({name:e,returnType:t,statements:r})=>b__default.default.factory.createGetAccessorDeclaration(void 0,e,[],t?Ie({typeName:t}):void 0,Re({statements:r})),Xt=({isSingleQuote:e,text:t})=>(e===void 0&&(e=!t.includes("'")),b__default.default.factory.createStringLiteral(t,e)),Yi=({condition:e,whenFalse:t,whenTrue:r})=>b__default.default.factory.createConditionalExpression(e,b__default.default.factory.createToken(b__default.default.SyntaxKind.QuestionToken),r,b__default.default.factory.createToken(b__default.default.SyntaxKind.ColonToken),t),ea=({text:e})=>b__default.default.factory.createTypeOfExpression(typeof e=="string"?A({text:e}):e),ta=({comment:e,exportType:t,name:r,type:n,typeParameters:s=[]})=>{let o=b__default.default.factory.createTypeAliasDeclaration(t?[re({keyword:"export"})]:void 0,typeof r=="string"?A({text:r}):r,Kr(s),me(n));return ce({comments:e,node:o}),o},Ie=({typeArguments:e,typeName:t})=>b__default.default.factory.createTypeReferenceNode(t,e),ra=({type:e})=>b__default.default.factory.createParenthesizedType(e),gr=({initializer:e,modifiers:t,name:r,required:n=true,type:s})=>b__default.default.factory.createParameterDeclaration(t,void 0,r,n?void 0:b__default.default.factory.createToken(b__default.default.SyntaxKind.QuestionToken),s,e),Zr=({argumentsArray:e,expression:t,typeArguments:r})=>b__default.default.factory.createNewExpression(t,r,e),na=({awaitModifier:e,expression:t,initializer:r,statement:n})=>b__default.default.factory.createForOfStatement(e,r,t,n),sa=({left:e,right:t})=>b__default.default.factory.createAssignment(e,t),Re=({multiLine:e=true,statements:t})=>b__default.default.factory.createBlock(t,e),An=({initializer:e,name:t})=>b__default.default.factory.createPropertyAssignment(t,e),oa=({flags:e=[],text:t})=>{let r=t.startsWith("/")&&t.endsWith("/")?t:`/${t}/`;return b__default.default.factory.createRegularExpressionLiteral(`${r}${e.join("")}`)},Qr=({expression:e,type:t})=>b__default.default.factory.createAsExpression(e,t),ia=({value:e})=>{let t=[],r="";for(let s of e.slice(0).reverse())if(typeof s=="string")r=`${s}${r}`;else {let o=t.length?b__default.default.factory.createTemplateMiddle(r):b__default.default.factory.createTemplateTail(r),a=b__default.default.factory.createTemplateLiteralTypeSpan(s,o);t.push(a),r="";}return b__default.default.factory.createTemplateLiteralType(b__default.default.factory.createTemplateHead(r),t.reverse())};var aa=({module:e})=>b__default.default.factory.createExportDeclaration(void 0,false,void 0,Se.string(e)),Ye=({functionName:e,parameters:t=[],types:r})=>{let n=typeof e=="string"?A({text:e}):e,s=t.filter(a=>a!==void 0).map(a=>typeof a=="string"?A({text:a}):a);return b__default.default.factory.createCallExpression(n,r,s)},pa=({exports:e,module:t})=>{let r=Array.isArray(e)?e:[e],n=r.some(c=>typeof c!="object"||!c.asType),s=r.map(c=>{let m=typeof c=="string"?{name:c}:c;return Se.export({alias:m.alias,asType:n&&m.asType,name:m.name})}),o=b__default.default.factory.createNamedExports(s),a=Se.string(t);return b__default.default.factory.createExportDeclaration(void 0,!n,o,a)},ca=({assertion:e,comment:t,destructure:r,exportConst:n,expression:s,name:o,typeName:a})=>{let p=e?Qr({expression:s,type:typeof e=="string"?Ie({typeName:e}):e}):s,c=typeof o=="string"?A({text:o}):o,m=b__default.default.factory.createVariableDeclaration(r?b__default.default.factory.createObjectBindingPattern([b__default.default.factory.createBindingElement(void 0,void 0,c,void 0)]):c,void 0,a?typeof a=="string"?Ie({typeName:a}):a:void 0,p),l=b__default.default.factory.createVariableStatement(n?[re({keyword:"export"})]:void 0,b__default.default.factory.createVariableDeclarationList([m],b__default.default.NodeFlags.Const));return ce({comments:t,node:l}),l},ma=({imports:e,module:t})=>{let r=Array.isArray(e)?e:[e],n=r.some(l=>typeof l!="object"||!l.asType),s,o=[];r.forEach(l=>{let f=typeof l=="string"?{name:l}:l;f.name==="*"&&f.alias?s=f:o.push(Se.import({alias:f.alias,asType:n&&f.asType,name:f.name}));});let a=s?b__default.default.factory.createNamespaceImport(A({text:s.alias})):b__default.default.factory.createNamedImports(o),p=b__default.default.factory.createImportClause(!n,void 0,a),c=Se.string(t);return b__default.default.factory.createImportDeclaration(void 0,p,c)};var la=({accessLevel:e,comment:t,multiLine:r=true,parameters:n=[],statements:s=[]})=>{let o=e?[re({keyword:e})]:void 0,a=b__default.default.factory.createConstructorDeclaration(o,zr(n),Re({multiLine:r,statements:s}));return ce({comments:t,node:a}),a},fa=({accessLevel:e,comment:t,isStatic:r=false,multiLine:n=true,name:s,parameters:o=[],returnType:a,statements:p=[],types:c=[]})=>{let m=e?[re({keyword:e})]:[];r&&m.push(re({keyword:"static"}));let l=b__default.default.factory.createMethodDeclaration(m,void 0,A({text:s}),void 0,c?Kr(c):void 0,zr(o),a?me(a):void 0,Re({multiLine:n,statements:p}));return ce({comments:t,node:l}),l},ua=({decorator:e,exportClass:t,extendedClasses:r,name:n,nodes:s})=>{let o=[];t&&o.push(re({keyword:"export"})),e&&o.unshift(b__default.default.factory.createDecorator(Ye({functionName:e.name,parameters:e.args.map(p=>Ge({value:p})).filter(jt)})));let a=[];if(r)for(let p of r)a.push(b__default.default.factory.createHeritageClause(b__default.default.SyntaxKind.ExtendsKeyword,[b__default.default.factory.createExpressionWithTypeArguments(A({text:p}),void 0)]));return b__default.default.factory.createClassDeclaration(o,A({text:n}),void 0,a,s)};var Yt=({expression:e})=>b__default.default.factory.createExpressionStatement(e);var Cn=({expression:e})=>b__default.default.factory.createReturnStatement(e),ya=({args:e=[],name:t,types:r=[]})=>{let n=r.map(p=>Ie({typeName:p})),s=e.map(p=>b__default.default.isExpression(p)?p:A({text:p})).filter(jt),o=Ye({functionName:t,parameters:s,types:n});return Cn({expression:o})},ga=({expression:e})=>Cn({expression:typeof e=="string"?A({text:e}):e});var hr=e=>e.slice(1).reduce((t,r)=>(Fe.lastIndex=0,Fe.test(r)?lo({expression:t,name:r}):b__default.default.factory.createElementAccessChain(t,b__default.default.factory.createToken(b__default.default.SyntaxKind.QuestionDotToken),A({text:r}))),A({text:e[0]})),kn=e=>e.slice(1).reduce((t,r)=>Je({expression:t,name:r}),A({text:e[0]})),ha=({expressions:e})=>e.reduce((r,n)=>Je({expression:r,name:n})),jn=({left:e,operator:t="=",right:r})=>b__default.default.factory.createBinaryExpression(e,t==="="?b__default.default.SyntaxKind.EqualsToken:t==="==="?b__default.default.SyntaxKind.EqualsEqualsEqualsToken:t==="??"?b__default.default.SyntaxKind.QuestionQuestionToken:b__default.default.SyntaxKind.InKeyword,typeof r=="string"?A({text:r}):r),xr=({elseStatement:e,expression:t,thenStatement:r})=>b__default.default.factory.createIfStatement(t,r,e),xa=({path:e})=>{let t=hr(e),r=kn(e),n=Re({statements:[Yt({expression:jn({left:r,right:Zr({argumentsArray:[r],expression:A({text:"Date"})})})})]});return xr({expression:t,thenStatement:n})},ba=({path:e,transformerName:t})=>{let r=hr(e),n=kn(e),s=Re({statements:[Yt({expression:Ye({functionName:t,parameters:[n]})})]});return [xr({expression:r,thenStatement:s})]},Oa=({path:e,transformerName:t})=>{let r=hr(e),n=kn(e);return xr({expression:Ye({functionName:Je({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:Re({statements:[Yt({expression:b__default.default.factory.createCallChain(Je({expression:n,name:"forEach"}),void 0,void 0,[A({text:t})])})]})})},Sa=({parameterName:e})=>{let t=A({text:"Date"});return Zr({argumentsArray:[A({text:e})],expression:t})},Ra=({path:e,transformExpression:t})=>{let r=hr(e),n=kn(e);return xr({expression:Ye({functionName:Je({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:Re({statements:[Yt({expression:jn({left:n,right:b__default.default.factory.createCallChain(Je({expression:n,name:"map"}),void 0,void 0,[En({parameters:[{name:"item"}],statements:t})])})})]})})};var Vf=Ie({typeName:"null"}),br=({isNullable:e,node:t})=>e?b__default.default.factory.createUnionTypeNode([t,Vf]):t,yo=({indexKey:e,indexProperty:t,isNullable:r,properties:n,useLegacyResolution:s})=>{let a=n.map(m=>{let l=m.isReadOnly?[re({keyword:"readonly"})]:void 0,f=m.isRequired!==false?void 0:b__default.default.factory.createToken(b__default.default.SyntaxKind.QuestionToken),u=me(m.type);let y=b__default.default.factory.createPropertySignature(l,s||typeof m.name=="string"&&m.name.match(Fe)||typeof m.name!="string"&&b__default.default.isPropertyName(m.name)?m.name:Xt({text:m.name}),f,u);return ce({comments:m.comment,node:y}),y}),p=false;if(t)if(!n.length&&e){let m=In({questionToken:b__default.default.factory.createToken(b__default.default.SyntaxKind.QuestionToken),type:t.type??Gt({keyword:"string"}),typeParameter:Ur({constraint:e,name:A({text:String(t.name)})})});a.push(m),p=true;}else {let m=t.isReadOnly?[re({keyword:"readonly"})]:void 0,l=b__default.default.factory.createIndexSignature(m,[gr({name:A({text:String(t.name)}),type:Gt({keyword:"string"})})],me(t.type));a.push(l);}let c=p?a[0]:b__default.default.factory.createTypeLiteralNode(a);return br({isNullable:r,node:c})},Xr=({isNullable:e,types:t})=>{let r=t.map(s=>me(s)),n=b__default.default.factory.createUnionTypeNode(r);return br({isNullable:e,node:n})},Ta=({isNullable:e,types:t})=>{let r=t.map(s=>me(s)),n=b__default.default.factory.createIntersectionTypeNode(r);return br({isNullable:e,node:n})},Pa=({isNullable:e=false,types:t})=>{let r=t.map(s=>me(s)),n=b__default.default.factory.createTupleTypeNode(r);return br({isNullable:e,node:n})},Aa=(e,t,r=false,n=true)=>{let s=Xr({types:e}),o=Xr({types:t}),a=yo({properties:[{name:`[key: ${Xe({node:s,unescape:true})}]`,type:o}],useLegacyResolution:n});return br({isNullable:r,node:a})},Ia=(e,t=false)=>{let r=Ie({typeArguments:[Array.isArray(e)?Xr({types:e}):e],typeName:"Array"});return br({isNullable:t,node:r})};var i={anonymousFunction:Ki,arrayLiteralExpression:uo,arrowFunction:En,asExpression:Qr,assignment:sa,awaitExpression:Ui,binaryExpression:jn,block:Re,callExpression:Ye,classDeclaration:ua,conditionalExpression:Yi,constVariable:ca,constructorDeclaration:la,enumDeclaration:Qi,exportAllDeclaration:aa,exportNamedDeclaration:pa,expressionToStatement:Yt,forOfStatement:na,functionTypeNode:Zi,getAccessorDeclaration:Ji,identifier:A,ifStatement:xr,indexedAccessTypeNode:Gi,isTsNode:Qt,keywordTypeNode:Gt,literalTypeNode:zi,mappedTypeNode:In,methodDeclaration:fa,namedImportDeclarations:ma,namespaceDeclaration:Xi,newExpression:Zr,nodeToString:Xe,null:fo,objectExpression:vn,ots:Se,parameterDeclaration:gr,propertyAccessExpression:Je,propertyAccessExpressions:ha,propertyAssignment:An,propertyDeclaration:Vi,regularExpressionLiteral:oa,returnFunctionCall:ya,returnStatement:Cn,returnVariable:ga,safeAccessExpression:hr,stringLiteral:Xt,stringToTsNodes:Hi,templateLiteralType:ia,this:_i,transformArrayMap:Ra,transformArrayMutation:Oa,transformDateMutation:xa,transformFunctionMutation:ba,transformNewDate:Sa,typeAliasDeclaration:ta,typeArrayNode:Ia,typeInterfaceNode:yo,typeIntersectionNode:Ta,typeNode:me,typeOfExpression:ea,typeOperatorNode:Wi,typeParameterDeclaration:Ur,typeParenthesizedNode:ra,typeRecordNode:Aa,typeReferenceNode:Ie,typeTupleNode:Pa,typeUnionNode:Xr,valueToExpression:Ge};var Uf=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))),Ea=J__default.default.dirname(Uf),Ca=e=>{let t=e.split(J__default.default.sep);return t.slice(0,t.length-1).join(J__default.default.sep)},ne=({config:e,sourceOutput:t})=>{let r=E(e);if("bundle"in r.config&&r.config.bundle)return lr({moduleOutput:"client",sourceOutput:t});if(J__default.default.isAbsolute(r.name)){let n=Ca(r.name),s=J__default.default.resolve(e.output.path);return J__default.default.relative(s,n).replace(/\\/g,"/")}return r.name},X={Options:{asType:true,name:"Options"},OptionsLegacyParser:{asType:true,name:"OptionsLegacyParser"}},va=e=>{let t=we__default.default.readFileSync(e,"utf8");t=t.replace(/from\s+['"](\.\.?\/[^'"]*?)['"]/g,(r,n)=>{let s=n.lastIndexOf("/");return (s>=0?n.slice(s+1):n).includes(".")?r:`from '${n}.js'`}),we__default.default.writeFileSync(e,t,"utf8");},Nn=({outputPath:e,plugin:t,tsConfig:r})=>{if(t.name.startsWith("@hey-api/client-")){let f=r?.options.moduleResolution===b__default.default.ModuleResolutionKind.NodeNext,u=J__default.default.resolve(e,"core");Me(u);let y=J__default.default.resolve(Ea,"clients","core");if(we__default.default.cpSync(y,u,{recursive:true}),f){let S=we__default.default.readdirSync(u);for(let N of S)va(J__default.default.resolve(u,N));}let g=J__default.default.resolve(e,"client");Me(g);let x=t.name.slice(16),R=J__default.default.resolve(Ea,"clients",x);if(we__default.default.cpSync(R,g,{recursive:true}),f){let S=we__default.default.readdirSync(g);for(let N of S)va(J__default.default.resolve(g,N));}return}let s="";if(J__default.default.isAbsolute(t.name)&&(s=Ca(t.name)),s){let f=J__default.default.resolve(e,"client");Me(f),we__default.default.cpSync(s,f,{recursive:true});return}let a=J__default.default.normalize(Ke.resolve(t.name)).split(J__default.default.sep),p=a.slice(0,a.indexOf("dist")+1).join(J__default.default.sep),m=[a[a.length-1],"index.d.ts","index.d.cts"],l=J__default.default.resolve(e,"client");Me(l);for(let f of m)we__default.default.copyFileSync(J__default.default.resolve(p,f),J__default.default.resolve(l,f));};var ka=/^(([^:/?#]+):)?((\/\/)?([^:/?#]*)(:?([^/?#]*)))?([^?#]*)(\?([^#]*))?(#(.*))?/,et=e=>{let t={host:"",path:"",port:"",protocol:""};ka.lastIndex=0;let r=e.match(ka);if(!r)return t;let n=r[5]||"";if(n==="."||n==="..")return t;let s=r[8]||"",o=r[2]||"";return o.length===1?t:{host:n,path:s==="/"?"":s,port:r[7]||"",protocol:o}};var P="types";var Zf=({plugin:e})=>{let{baseUrl:t}=e.config;if(t===false)return;if(typeof t=="string")return t;let{servers:r}=e.context.ir;if(r)return r[typeof t=="number"?t:0]?.url},ja=({plugin:e})=>{let t=e.context.file({id:Qe}),r=ne({config:e.context.config,sourceOutput:t.nameWithoutExtension()}),n=t.import({module:r,name:"createClient"}),s=t.import({module:r,name:"createConfig"}),o=e.getPlugin("@hey-api/typescript"),a=e.context.file({id:P}),p=t.import({asType:true,module:t.relativePathToFile({context:e.context,id:P}),name:a.getName(o.api.getId({type:"ClientOptions"}))}),c=e.config.runtimeConfigPath?t.import({module:t.relativePathToFile({context:e.context,id:e.config.runtimeConfigPath}),name:"createClientConfig"}):void 0,m=[],l=Zf({plugin:e});if(l){let y=et(l);if(y.protocol&&y.host&&!l.includes("{"))m.push({key:De(e.context.config),value:l});else if(l!=="/"&&l.startsWith("/")){let g=l.endsWith("/")?l.slice(0,-1):l;m.push({key:De(e.context.config),value:g});}}"throwOnError"in e.config&&e.config.throwOnError&&m.push({key:"throwOnError",value:true});let f=[i.callExpression({functionName:s.name,parameters:m.length?[i.objectExpression({obj:m})]:void 0,types:p.name?[i.typeReferenceNode({typeName:p.name})]:void 0})],u=i.constVariable({exportConst:true,expression:i.callExpression({functionName:n.name,parameters:c?[i.callExpression({functionName:c.name,parameters:f})]:f}),name:"client"});t.add(u);};var Na=({plugin:e})=>{let t=e.context.file({id:Qe}),r=ne({config:e.context.config,sourceOutput:t.nameWithoutExtension()}),n=e.getPlugin("@hey-api/typescript"),s=e.context.file({id:P}),o=t.import({asType:true,module:t.relativePathToFile({context:e.context,id:P}),name:s.getName(n.api.getId({type:"ClientOptions"}))}),a=t.import({asType:true,module:r,name:"Config"}),p=t.import({alias:"DefaultClientOptions",asType:true,module:r,name:"ClientOptions"}),c=i.typeReferenceNode({typeName:p.name}),m=i.typeReferenceNode({typeName:"T"}),l=i.typeAliasDeclaration({comment:["The `createClientConfig()` function will be called on client initialization","and the returned object will become the client's initial configuration.","","You may want to initialize your client this way instead of calling","`setConfig()`. This is useful for example if you're using Next.js","to ensure your client always has the correct values."],exportType:true,name:"CreateClientConfig",type:i.functionTypeNode({parameters:[i.parameterDeclaration({name:"override",required:false,type:i.typeReferenceNode({typeArguments:[i.typeIntersectionNode({types:[c,m]})],typeName:a.name})})],returnType:i.typeReferenceNode({typeArguments:[i.typeIntersectionNode({types:[i.typeReferenceNode({typeArguments:[c],typeName:"Required"}),m]})],typeName:a.name})}),typeParameters:[{default:o.name?i.typeReferenceNode({typeName:o.name}):void 0,extends:c,name:"T"}]});t.add(l);};var ht=({plugin:e})=>{e.createFile({id:Qe,path:e.output}),Na({plugin:e}),ja({plugin:e});};var wn={...gt,config:{...yt,throwOnError:false},handler:ht,name:"@hey-api/client-axios"};var qn={...gt,config:{...yt,throwOnError:false},handler:ht,name:"@hey-api/client-fetch"};var $n={...gt,config:{...yt,throwOnError:false},handler:ht,name:"@hey-api/client-next"};var Mn={...gt,config:yt,handler:ht,name:"@hey-api/client-nuxt"};var Dn={config:{},handler:()=>{},name:"legacy/angular",output:"client",tags:["client"]};var Fn={config:{},handler:()=>{},name:"legacy/axios",output:"client",tags:["client"]};var Ln={config:{},handler:()=>{},name:"legacy/fetch",output:"client",tags:["client"]};var Bn={config:{},handler:()=>{},name:"legacy/node",output:"client",tags:["client"]};var Hn={config:{},handler:()=>{},name:"legacy/xhr",output:"client",tags:["client"]};var su=[ge,Li,Di,Fi,Mi],ve=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_");if(dr.lastIndex=0,dr.test(t))return `_${t}`;for(let r of su){if(t.startsWith("_"))return t;t=t.replace(r,"_$1");}return t};var _n="schemas",go=({plugin:e,schema:t})=>{e.config.type==="form"&&(t.description&&delete t.description,t["x-enum-descriptions"]&&delete t["x-enum-descriptions"],t["x-enum-varnames"]&&delete t["x-enum-varnames"],t["x-enumNames"]&&delete t["x-enumNames"],t.title&&delete t.title);},Or=({context:e,plugin:t,schema:r})=>{if(Array.isArray(r))return r.map(s=>Or({context:e,plugin:t,schema:s}));let n=structuredClone(r);if(n.$ref)return n.$ref=decodeURI(n.$ref),n;if(go({plugin:t,schema:n}),n.additionalProperties&&typeof n.additionalProperties!="boolean"&&(n.additionalProperties=Or({context:e,plugin:t,schema:n.additionalProperties})),n.allOf&&(n.allOf=n.allOf.map(s=>Or({context:e,plugin:t,schema:s}))),n.items&&(n.items=Or({context:e,plugin:t,schema:n.items})),n.properties)for(let s in n.properties){let o=n.properties[s];typeof o!="boolean"&&(n.properties[s]=Or({context:e,plugin:t,schema:o}));}return n},wt=({context:e,plugin:t,schema:r})=>{if(Array.isArray(r))return r.map(s=>wt({context:e,plugin:t,schema:s}));let n=structuredClone(r);if("$ref"in n)return n.$ref=decodeURI(n.$ref),n;if(go({plugin:t,schema:n}),n.additionalProperties&&typeof n.additionalProperties!="boolean"&&(n.additionalProperties=wt({context:e,plugin:t,schema:n.additionalProperties})),n.allOf&&(n.allOf=n.allOf.map(s=>wt({context:e,plugin:t,schema:s}))),n.anyOf&&(n.anyOf=n.anyOf.map(s=>wt({context:e,plugin:t,schema:s}))),n.items&&(n.items=wt({context:e,plugin:t,schema:n.items})),n.oneOf&&(n.oneOf=n.oneOf.map(s=>wt({context:e,plugin:t,schema:s}))),n.properties)for(let s in n.properties){let o=n.properties[s];typeof o!="boolean"&&(n.properties[s]=wt({context:e,plugin:t,schema:o}));}return n},xt=({context:e,plugin:t,schema:r})=>{if(Array.isArray(r))return r.map(s=>xt({context:e,plugin:t,schema:s}));let n=structuredClone(r);if(go({plugin:t,schema:n}),n.$ref&&(n.$ref=decodeURI(n.$ref)),n.additionalProperties&&typeof n.additionalProperties!="boolean"&&(n.additionalProperties=xt({context:e,plugin:t,schema:n.additionalProperties})),n.allOf&&(n.allOf=n.allOf.map(s=>xt({context:e,plugin:t,schema:s}))),n.anyOf&&(n.anyOf=n.anyOf.map(s=>xt({context:e,plugin:t,schema:s}))),n.items&&(n.items=xt({context:e,plugin:t,schema:n.items})),n.oneOf&&(n.oneOf=n.oneOf.map(s=>xt({context:e,plugin:t,schema:s}))),n.prefixItems&&(n.prefixItems=n.prefixItems.map(s=>xt({context:e,plugin:t,schema:s}))),n.properties)for(let s in n.properties){let o=n.properties[s];typeof o!="boolean"&&(n.properties[s]=xt({context:e,plugin:t,schema:o}));}return n},ho=({name:e,plugin:t,schema:r})=>{let n="";return t.config.nameBuilder&&(typeof t.config.nameBuilder=="function"?n=t.config.nameBuilder(e,r):n=t.config.nameBuilder.replace("{{name}}",e)),n||(n=`${e}Schema`),ve(n)},ou=({context:e,plugin:t})=>{if(e.spec.definitions)for(let r in e.spec.definitions){let n=e.spec.definitions[r],s=Or({context:e,plugin:t,schema:n}),o=i.constVariable({assertion:"const",exportConst:true,expression:i.objectExpression({obj:s}),name:ho({name:r,plugin:t,schema:n})});e.file({id:_n}).add(o);}},iu=({context:e,plugin:t})=>{if(e.spec.components)for(let r in e.spec.components.schemas){let n=e.spec.components.schemas[r],s=wt({context:e,plugin:t,schema:n}),o=i.constVariable({assertion:"const",exportConst:true,expression:i.objectExpression({obj:s}),name:ho({name:r,plugin:t,schema:n})});e.file({id:_n}).add(o);}},au=({context:e,plugin:t})=>{if(e.spec.components)for(let r in e.spec.components.schemas){let n=e.spec.components.schemas[r],s=xt({context:e,plugin:t,schema:n}),o=i.constVariable({assertion:"const",exportConst:true,expression:i.objectExpression({obj:s}),name:ho({name:r,plugin:t,schema:n})});e.file({id:_n}).add(o);}},wa=({plugin:e})=>{if(e.createFile({id:_n,path:e.output}),"swagger"in e.context.spec){ou({context:e.context,plugin:e});return}switch(e.context.spec.openapi){case "3.0.0":case "3.0.1":case "3.0.2":case "3.0