UNPKG

@hey-api/openapi-ts

Version:

🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.

32 lines (28 loc) • 458 kB
'use strict';var Ge=require('ansi-colors'),Yx=require('color-support'),we=require('fs'),K=require('path'),url=require('url'),O=require('typescript'),c12=require('c12'),os$1=require('os'),Zn=require('semver'),jsonSchemaRefParser=require('@hey-api/json-schema-ref-parser'),S=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 Ge__default=/*#__PURE__*/_interopDefault(Ge);var Yx__default=/*#__PURE__*/_interopDefault(Yx);var we__default=/*#__PURE__*/_interopDefault(we);var K__default=/*#__PURE__*/_interopDefault(K);var O__default=/*#__PURE__*/_interopDefault(O);var Zn__namespace=/*#__PURE__*/_interopNamespace(Zn);var S__default=/*#__PURE__*/_interopDefault(S);var Ff=Object.create;var Di=Object.defineProperty;var Df=Object.getOwnPropertyDescriptor;var Mf=Object.getOwnPropertyNames;var Lf=Object.getPrototypeOf,Bf=Object.prototype.hasOwnProperty;var Je=(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 Re=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hf=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Mf(t))!Bf.call(e,s)&&s!==r&&Di(e,s,{get:()=>t[s],enumerable:!(n=Df(t,s))||n.enumerable});return e};var _f=(e,t,r)=>(r=e!=null?Ff(Lf(e)):{},Hf(Di(r,"default",{value:e,enumerable:true}),e));var tl=Re((bM,el)=>{el.exports=Ym;Ym.sync=ux;var Gm=Je("fs");function fx(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 Jm(e,t,r){return !e.isSymbolicLink()&&!e.isFile()?false:fx(t,r)}function Ym(e,t,r){Gm.stat(e,function(n,s){r(n,n?false:Jm(s,e,t));});}function ux(e,t){return Jm(Gm.statSync(e),e,t)}});var il=Re((OM,ol)=>{ol.exports=nl;nl.sync=dx;var rl=Je("fs");function nl(e,t,r){rl.stat(e,function(n,s){r(n,n?false:sl(s,t));});}function dx(e,t){return sl(rl.statSync(e),t)}function sl(e,t){return e.isFile()&&yx(e,t)}function yx(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 pl=Re((RM,al)=>{Je("fs");var xo;process.platform==="win32"||global.TESTING_WINDOWS?xo=tl():xo=il();al.exports=Ti;Ti.sync=gx;function Ti(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){Ti(e,t||{},function(o,a){o?s(o):n(a);});})}xo(e,t||{},function(n,s){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,s=false),r(n,s);});}function gx(e,t){try{return xo.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return false;throw r}}});var yl=Re((TM,dl)=>{var Kr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",cl=Je("path"),hx=Kr?";":":",ml=pl(),ll=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),fl=(e,t)=>{let r=t.colon||hx,n=e.match(/\//)||Kr&&e.match(/\\/)?[""]:[...Kr?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],s=Kr?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Kr?s.split(r):[""];return Kr&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:n,pathExt:o,pathExtExe:s}},ul=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:s,pathExtExe:o}=fl(e,t),a=[],p=m=>new Promise((l,f)=>{if(m===n.length)return t.all&&a.length?l(a):f(ll(e));let u=n[m],y=/^".*"$/.test(u)?u.slice(1,-1):u,g=cl.join(y,e),h=!y&&/^\.[\\\/]/.test(e)?e.slice(0,2)+g:g;l(c(h,m,0));}),c=(m,l,f)=>new Promise((u,y)=>{if(f===s.length)return u(p(l+1));let g=s[f];ml(m+g,{pathExt:o},(h,b)=>{if(!h&&b)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)},xx=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:s}=fl(e,t),o=[];for(let a=0;a<r.length;a++){let p=r[a],c=/^".*"$/.test(p)?p.slice(1,-1):p,m=cl.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(ml.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 ll(e)};dl.exports=ul;ul.sync=xx;});var hl=Re((PM,Pi)=>{var gl=(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=gl;Pi.exports.default=gl;});var Sl=Re((AM,Ol)=>{var xl=Je("path"),bx=yl(),Ox=hl();function bl(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=bx.sync(e.command,{path:r[Ox({env:r})],pathExt:t?xl.delimiter:void 0});}catch{}finally{o&&process.chdir(n);}return a&&(a=xl.resolve(s?e.options.cwd:"",a)),a}function Sx(e){return bl(e)||bl(e,true)}Ol.exports=Sx;});var Rl=Re((EM,Ei)=>{var Ai=/([()\][%!^"`<>&|;, *?])/g;function Rx(e){return e=e.replace(Ai,"^$1"),e}function Tx(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Ai,"^$1"),t&&(e=e.replace(Ai,"^$1")),e}Ei.exports.command=Rx;Ei.exports.argument=Tx;});var Pl=Re((vM,Tl)=>{Tl.exports=/^#!(.*)/;});var El=Re((IM,Al)=>{var Px=Pl();Al.exports=(e="")=>{let t=e.match(Px);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?n:n?`${s} ${n}`:s};});var Il=Re((CM,vl)=>{var vi=Je("fs"),Ax=El();function Ex(e){let r=Buffer.alloc(150),n;try{n=vi.openSync(e,"r"),vi.readSync(n,r,0,150,0),vi.closeSync(n);}catch{}return Ax(r.toString())}vl.exports=Ex;});var Nl=Re((kM,jl)=>{var vx=Je("path"),Cl=Sl(),kl=Rl(),Ix=Il(),Cx=process.platform==="win32",kx=/\.(?:com|exe)$/i,jx=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Nx(e){e.file=Cl(e);let t=e.file&&Ix(e.file);return t?(e.args.unshift(e.file),e.command=t,Cl(e)):e.file}function wx(e){if(!Cx)return e;let t=Nx(e),r=!kx.test(t);if(e.options.forceShell||r){let n=jx.test(t);e.command=vx.normalize(e.command),e.command=kl.command(e.command),e.args=e.args.map(o=>kl.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 qx(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:wx(n)}jl.exports=qx;});var $l=Re((jM,ql)=>{var Ii=process.platform==="win32";function Ci(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 $x(e,t){if(!Ii)return;let r=e.emit;e.emit=function(n,s){if(n==="exit"){let o=wl(s,t);if(o)return r.call(e,"error",o)}return r.apply(e,arguments)};}function wl(e,t){return Ii&&e===1&&!t.file?Ci(t.original,"spawn"):null}function Fx(e,t){return Ii&&e===1&&!t.file?Ci(t.original,"spawnSync"):null}ql.exports={hookChildProcess:$x,verifyENOENT:wl,verifyENOENTSync:Fx,notFoundError:Ci};});var Ml=Re((NM,Ur)=>{var Fl=Je("child_process"),ki=Nl(),ji=$l();function Dl(e,t,r){let n=ki(e,t,r),s=Fl.spawn(n.command,n.args,n.options);return ji.hookChildProcess(s,n),s}function Dx(e,t,r){let n=ki(e,t,r),s=Fl.spawnSync(n.command,n.args,n.options);return s.error=s.error||ji.verifyENOENTSync(s.status,n),s}Ur.exports=Dl;Ur.exports.spawn=Dl;Ur.exports.sync=Dx;Ur.exports._parse=ki;Ur.exports._enoent=ji;});var Wf=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))),bo=K__default.default.dirname(Wf),Oo=()=>{let e=bo;for(;e!==K__default.default.dirname(e);){let r=we__default.default.readdirSync(e).filter(n=>n==="package.json");if(r[0]){let n=K__default.default.join(e,r[0]);return JSON.parse(we__default.default.readFileSync(n,{encoding:"utf8"}))}e=K__default.default.dirname(e);}},Cn=e=>{if(e==="off")return null;if(e){let r=K__default.default.isAbsolute(e)?e:K__default.default.resolve(bo,e);return we__default.default.existsSync(r)?r:null}let t=bo;for(;t!==K__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 K__default.default.join(t,n[0]);t=K__default.default.dirname(t);}return null},kn=e=>{if(!e)return null;let t=O__default.default.readConfigFile(e,O__default.default.sys.readFile);if(t.error)throw new Error(`Couldn't read tsconfig from path: ${e}`);return O__default.default.parseJsonConfigFileContent(t.config,O__default.default.sys,K__default.default.dirname(e))};var Be=e=>{we__default.default.existsSync(e)||we__default.default.mkdirSync(e,{recursive:true});},Nn=e=>{we__default.default.existsSync(e)&&we__default.default.rmSync(e,{force:true,recursive:true});},dr=({moduleOutput:e,sourceOutput:t})=>{let r=t.split("/");return `${Array.from({length:r.length}).fill("").join("../")||"./"}${e}`};var et=class extends Error{},yr=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;}},Li=(e,t)=>{if(e instanceof et)return;let r=`openapi-ts-error-${Date.now()}.log`,n=K__default.default.resolve(process.cwd(),t);Be(n);let s=K__default.default.resolve(n,r),o=`[${new Date().toISOString()}] `;e instanceof yr&&(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},Bi=async e=>{let t="";e instanceof yr&&(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=Oo(),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);}},Hi=({error:e,logPath:t})=>{let r=Oo(),n;r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"&&(n=r.name),process.stderr.write(` \u{1F6D1} ${Ge__default.default.cyan(n||"")} ${Ge__default.default.red("encountered an error.")} ${Ge__default.default.red("\u2757\uFE0F Error:")} ${Ge__default.default.white(typeof e=="string"?e:e instanceof Error?e.message:"Unknown error")}`+(t?` ${Ge__default.default.cyan("\u{1F4C4} Crash log saved to:")} ${Ge__default.default.gray(t)}`:"")+` `);},_i=async({error:e,isInteractive:t})=>!t||e instanceof et?false:new Promise(r=>{process.stdout.write(`${Ge__default.default.yellow(` \u{1F4E2} Open a GitHub issue with crash details?`)} ${Ge__default.default.yellow("(y/N):")}`),process.stdin.setEncoding("utf8"),process.stdin.once("data",n=>{r(n.trim().toLowerCase()==="y");});});var Vi=()=>{if(typeof Bun<"u"){let[e]=Bun.version.split(".").map(Number);if(e<1)throw new et(`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 et(`Unsupported Node version ${process.versions.node}. Please use Node 18 or newer.`)}};var Ie="client",He=e=>{let t=I(e);return t.name==="@hey-api/client-axios"||t.name==="@hey-api/client-nuxt"?"baseURL":"baseUrl"},I=e=>{for(let t of e.pluginOrder){let r=e.plugins[t];if(r?.tags?.includes("client"))return r}return {config:{name:""},name:""}};var Wi,P=()=>{let e=Wi,t=I(e);return e.client=t,e},zi=e=>(Wi=e,P()),H=e=>I(e).name.startsWith("legacy/"),Q=e=>{if(H(e))return e.name};var Kf=/^([\w-]+)\/([\w-]+)(?:\?([\w=&.-]*))?$/,wt="https://get.heyapi.dev",Uf=(e,t,r)=>`${wt}/${e}/${t}${r?`?${r}`:""}`,Zf=e=>{let t=e.organization,r=e.project,n;if(e.path){let o=e.path.match(Kf);if(!o)throw new Error(`Invalid Hey API shorthand format. Expected "organization/project?queryParams" or "organization/project", received: ${e.path}`);t=o[1],r=o[2],n=o[3];}if(!t)throw new Error("The Hey API organization cannot be empty.");if(!r)throw new Error("The Hey API project cannot be empty.");return {organization:t,project:r,queryParams:n}},So=e=>{let t=Zf(e);return Uf(t.organization,t.project,t.queryParams)};var Qf=/^(@([\w-]+)\/([\w\-.]+)#)?([\w-]+)$/,Xf=e=>`https://dash.readme.com/api/v1/api-registry/${e}`,wn="readme",Gf=e=>{let t=e.match(Qf);if(!t)throw new Error(`Invalid ReadMe shorthand format. Expected "${wn}:@organization/project#uuid" or "${wn}:uuid", received: ${wn}:${e}`);let[,,r,n,s]=t;if(!s)throw new Error("The ReadMe UUID cannot be empty.");return {organization:r,project:n,uuid:s}},Ki=e=>{let t=e.slice(`${wn}:`.length),r=Gf(t);return Xf(r.uuid)};var Jf=/^(@[\w-]+)\/([\w.-]+)$/,Yf=(e,t)=>`https://registry.scalar.com/${e}/apis/${t}/latest?format=json`,Ro="scalar",eu=e=>{let t=e.match(Jf);if(!t)throw new Error(`Invalid Scalar shorthand format. Expected "${Ro}:@organization/project", received: ${Ro}:${e}`);let[,r,n]=t;if(!r)throw new Error("The Scalar organization cannot be empty.");if(!n)throw new Error("The Scalar project cannot be empty.");return {organization:r,project:n}},Ui=e=>{let t=e.slice(`${Ro}:`.length),r=eu(t);return Yf(r.organization,r.project)};var Zi=e=>{if(e.path.startsWith("readme:")){e.path=Ki(e.path);return}if(e.path.startsWith("scalar:")){e.path=Ui(e.path);return}if(e.path.startsWith("."))return;if(e.path.startsWith(wt)){e.path=e.path.slice(wt.length+1),e.path=So(e);return}let t=e.path.split("/"),r=t.filter(Boolean);t.length===2&&r.length===2&&(e.path=So(e));};var Qr={enabled:false,interval:1e3,timeout:6e4},Qi=e=>{let t={...Qr};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},Xi=e=>{let t={path:"",watch:Qr};return typeof e.input=="string"?t.path=e.input:e.input&&(e.input.path!==void 0||e.input.organization!==void 0)?(t={...t,path:wt,...e.input},t.watch!==void 0&&(t.watch=Qi(t))):t={...t,path:e.input},typeof t.path=="string"&&Zi(t),e.watch!==void 0&&t.watch.enabled===Qr.enabled&&t.watch.interval===Qr.interval&&t.watch.timeout===Qr.timeout&&(t.watch=Qi({path:t.path,watch:e.watch})),t};var qn=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 tu=(e,t)=>({...e||{},...t||{}}),To=(e,t)=>{let r=e||{},n=t||{},s={...r,...n};return typeof s.logs=="object"&&(s.logs=tu(r.logs,n.logs)),s};var Gi=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 Yi=e=>{let t=e?K__default.default.dirname(e):process.cwd();for(;t!==K__default.default.dirname(t);){let r=K__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=K__default.default.dirname(t);if(n===t)break;t=n;}return {}};var ru=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&typeof e!="function",gr=(e,t)=>{for(let[r,n]of Object.entries(t))n!==void 0&&n!==""&&(e[r]=n);return e},Gt=({defaultValue:e,mappers:t,value:r})=>{let n={...e};switch(typeof r){case "boolean":if(t&&"boolean"in t){let s=t.boolean;n=gr(n,s(r));}break;case "function":if(t&&"function"in t){let s=t.function;n=gr(n,s(r));}break;case "number":if(t&&"number"in t){let s=t.number;n=gr(n,s(r));}break;case "string":if(t&&"string"in t){let s=t.string;n=gr(n,s(r));}break;case "object":if(ru(r))if(t&&"object"in t&&typeof t.object=="function"){let s=t.object;n=gr(n,s(r,e));}else n=gr(n,r);break}return n};var ea=["after","before","cursor","offset","page","start"],ta=e=>{let t={...e.parser,pagination:{keywords:ea},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=Gt({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=Gt({defaultValue:{...t.transforms.readWrite,enabled:!!e.parser.transforms.readWrite},mappers:{boolean:r=>({enabled:r}),object:r=>({...r,requests:Gt({defaultValue:t.transforms.readWrite.requests,mappers:{function:n=>({name:n}),string:n=>({name:n})},value:r.requests}),responses:Gt({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 A=e=>t=>({...e,config:{...e.config,...t}}),qt={boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})};var ra=/[\p{Lu}]/u,Po=/[\p{Ll}]/u,sa=/([\p{Alpha}\p{N}_]|$)/u,hr=/[_.\- `\\[\]{}\\/]+/,nu=new RegExp(`^${hr.source}`),Ao=new RegExp(`${hr.source}${sa.source}`,"gu"),na=new RegExp(`\\d+${sa.source}`,"gu"),su=({case:e,string:t})=>{let r=false,n=false,s=false,o=false,a=e==="snake_case"||e==="SCREAMING_SNAKE_CASE"?"_":"-";for(let p=0;p<t.length;p++){let c=t[p];o=p>2?t[p-3]===a:true;let m=p+1,l=t[m];for(hr.lastIndex=0;l&&hr.test(l);)m+=1,l=t[m];let f=m!==p+1;if(Po.lastIndex=0,ra.lastIndex=0,ra.test(c)&&(r||l&&!f&&l!=="s"&&Po.test(l)))t=`${t.slice(0,p)}${a}${t.slice(p)}`,p++,s=n,r=false,n=true;else if(n&&s&&Po.test(c)&&!o&&!(c==="s"&&(!l||l.toLocaleLowerCase()!==l)))t=`${t.slice(0,p-1)}${a}${t.slice(p-1)}`,s=n,r=true,n=false;else {let u=c.toLocaleLowerCase(),y=c.toLocaleUpperCase();s=n,r=u===c&&y!==c,n=y===c&&u!==c;}}return t},E=({case:e,stripLeadingSeparators:t=true,value:r})=>{let n=r.trim();return n.length?!e||e==="preserve"?n:n.length===1?(hr.lastIndex=0,hr.test(n)?"":e==="PascalCase"||e==="SCREAMING_SNAKE_CASE"?n.toLocaleUpperCase():n.toLocaleLowerCase()):(n!==n.toLocaleLowerCase()&&(n=su({case:e,string:n})),(t||n[0]!==r[0])&&(n=n.replace(nu,"")),n=e==="SCREAMING_SNAKE_CASE"?n.toLocaleUpperCase():n.toLocaleLowerCase(),e==="PascalCase"&&(n=`${n.charAt(0).toLocaleUpperCase()}${n.slice(1)}`),e==="snake_case"||e==="SCREAMING_SNAKE_CASE"?(n=n.replaceAll(Ao,(o,a,p)=>p===0&&!t?o:`_${a}`),n[n.length-1]==="_"&&(n=n.slice(0,n.length-1))):(Ao.lastIndex=0,na.lastIndex=0,n=n.replaceAll(na,(o,a,p)=>["_","-","."].includes(n.charAt(p+o.length))?o:o.toLocaleUpperCase()),n=n.replaceAll(Ao,(o,a,p)=>p===0&&!t&&o[0]&&r.startsWith(o[0])?o:a.toLocaleUpperCase())),n):""};var w=({config:e,name:t})=>{if(typeof e.name=="function")t=e.name(t);else if(e.name){let r=e.case==="preserve"?"":"-";t=e.name.replace("{{name}}",`${r}${t}${r}`);}return E({case:e.case,value:t})};var xr=/^[^$_\p{ID_Start}]+/u,ne=/^-?\d+(\.\d+)?$/,oa=/^(document|history|location|navigator|window)$/g,ia=/^(console|Array|Date|Error|Function|JSON|Map|Math|Object|Promise|RegExp|Set|WeakMap|WeakSet)$/g,he=/^(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,aa=/^(global|process|Buffer)$/g,pa=/^(any|as|bigint|boolean|namespace|never|null|number|string|symbol|type|undefined|unknown|void)$/g,_e=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;var Ce=e=>(e||e==="")&&(_e.lastIndex=0,!_e.test(e))?`'${e}'`:e,br=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,z=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,(t,r)=>os$1.EOL+r.trim());var iu=O__default.default.createPrinter({newLine:O__default.default.NewLineKind.LineFeed,removeComments:false}),au=e=>O__default.default.createSourceFile("",e,O__default.default.ScriptTarget.ESNext,false,O__default.default.ScriptKind.TS),pu=au(""),cu=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(Number.parseInt(r,16)));function tt({node:e,unescape:t=false}){let r=iu.printNode(O__default.default.EmitHint.Unspecified,e,pu);if(!t)return r;try{return cu(r)}catch{return P().logs.level==="debug"&&console.warn("Could not decode value:",r),r}}var v=({text:e})=>O__default.default.factory.createIdentifier(e),ca=()=>O__default.default.factory.createThis(),ee=({keyword:e})=>{let t=Eo({keyword:e});return O__default.default.factory.createModifier(t)},ma=({initializer:e,modifier:t,name:r,type:n})=>O__default.default.factory.createPropertyDeclaration(t?[ee({keyword:t})]:void 0,r,void 0,n,e),Te={boolean:e=>e?O__default.default.factory.createTrue():O__default.default.factory.createFalse(),export:({alias:e,asType:t=false,name:r})=>{let n=v({text:r});if(e){let s=v({text:e});return O__default.default.factory.createExportSpecifier(t,n,s)}return O__default.default.factory.createExportSpecifier(t,void 0,n)},import:({alias:e,asType:t=false,name:r})=>{let n=v({text:r});if(e){let s=v({text:e});return O__default.default.factory.createImportSpecifier(t,n,s)}return O__default.default.factory.createImportSpecifier(t,void 0,n)},number:e=>e<0?O__default.default.factory.createPrefixUnaryExpression(O__default.default.SyntaxKind.MinusToken,O__default.default.factory.createNumericLiteral(Math.abs(e))):O__default.default.factory.createNumericLiteral(e),string:(e,t=false)=>{let r=e;t&&(r=br(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("`")?v({text:r}):Yt({text:r})}},Jt=e=>e!==null&&typeof e=="object"&&typeof e.kind=="number"&&typeof e.flags=="number"&&typeof e.pos=="number"&&typeof e.end=="number",$t=e=>e!==void 0,mu=({commentObject:e,node:t})=>{let r=e.lines.filter(a=>!!a||a==="");if(!r.length)return;if(!e.jsdoc){for(let a of r)O__default.default.addSyntheticLeadingComment(t,O__default.default.SyntaxKind.SingleLineCommentTrivia,` ${a}`,true);return}let n=r.map((a,p)=>{let c=a;return p!==r.length&&(c=`${c} `),O__default.default.factory.createJSDocText(c)}),s=O__default.default.factory.createJSDocComment(O__default.default.factory.createNodeArray(n),void 0),o=tt({node:s,unescape:true}).replace("/*","").replace("* */","");O__default.default.addSyntheticLeadingComment(t,O__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)mu({commentObject:s,node:t});};var me=(e,t)=>O__default.default.isTypeNode(e)?e:typeof e=="number"?O__default.default.factory.createLiteralTypeNode(Te.number(e)):ke({typeArguments:t?.map(r=>me(r)),typeName:O__default.default.isIdentifier(e)?e.text:e}),vo=({expression:e,name:t})=>O__default.default.factory.createPropertyAccessChain(e,O__default.default.factory.createToken(O__default.default.SyntaxKind.QuestionDotToken),t),nt=({expression:e,isOptional:t,name:r})=>{let n=typeof e=="string"?v({text:e}):e;if(t&&typeof r!="number")return vo({expression:n,name:r});if(typeof r=="string"){if(_e.lastIndex=0,!_e.test(r)){!r.startsWith("'")&&!r.endsWith("'")&&(r=`'${r}'`);let o=v({text:r});return O__default.default.factory.createElementAccessExpression(n,o)}let s=v({text:r});return O__default.default.factory.createPropertyAccessExpression(n,s)}if(typeof r=="number"){let s=O__default.default.factory.createNumericLiteral(r);return O__default.default.factory.createElementAccessExpression(n,s)}return O__default.default.factory.createPropertyAccessExpression(n,r)},Io=()=>O__default.default.factory.createNull(),rt=({identifiers:e=[],isValueAccess:t,shorthand:r,unescape:n,value:s})=>{if(s===null)return Io();if(Array.isArray(s))return Co({elements:s});if(typeof s=="object")return Ln({identifiers:e,obj:s,shorthand:r});if(typeof s=="number")return Te.number(s);if(typeof s=="boolean")return Te.boolean(s);if(typeof s=="string"){if(t){let o=s.split(".");return nt({expression:o[0],name:o[1]})}return Te.string(s,n)}},Xr=e=>e.map(t=>{if("destructure"in t)return Or({name:O__default.default.factory.createObjectBindingPattern(t.destructure.map(n=>"destructure"in n?void 0:O__default.default.factory.createBindingElement(void 0,void 0,v({text:n.name}),void 0)).filter(Boolean)),type:t.type!==void 0?me(t.type):void 0});let r=t.accessLevel?[ee({keyword:t.accessLevel})]:[];return t.isReadOnly&&r.push(ee({keyword:"readonly"})),Or({initializer:t.default!==void 0?rt({value:t.default}):void 0,modifiers:r,name:v({text:t.name}),required:t.isRequired!==false,type:t.type!==void 0?me(t.type):void 0})}),Eo=({keyword:e})=>{switch(e){case "any":return O__default.default.SyntaxKind.AnyKeyword;case "async":return O__default.default.SyntaxKind.AsyncKeyword;case "boolean":return O__default.default.SyntaxKind.BooleanKeyword;case "export":return O__default.default.SyntaxKind.ExportKeyword;case "never":return O__default.default.SyntaxKind.NeverKeyword;case "number":return O__default.default.SyntaxKind.NumberKeyword;case "private":return O__default.default.SyntaxKind.PrivateKeyword;case "protected":return O__default.default.SyntaxKind.ProtectedKeyword;case "public":return O__default.default.SyntaxKind.PublicKeyword;case "readonly":return O__default.default.SyntaxKind.ReadonlyKeyword;case "static":return O__default.default.SyntaxKind.StaticKeyword;case "string":return O__default.default.SyntaxKind.StringKeyword;case "undefined":return O__default.default.SyntaxKind.UndefinedKeyword;case "unknown":return O__default.default.SyntaxKind.UnknownKeyword;case "void":return O__default.default.SyntaxKind.VoidKeyword;default:throw new Error(`unsupported syntax kind keyword "${e}"`)}},er=({keyword:e})=>{let t=Eo({keyword:e});return O__default.default.factory.createKeywordTypeNode(t)},Gr=e=>e.map(t=>O__default.default.isTypeParameterDeclaration(t)?t:Jr({constraint:t.extends?typeof t.extends=="string"?er({keyword:"boolean"}):t.extends:void 0,defaultType:t.default!==void 0?Jt(t.default)?t.default:O__default.default.factory.createLiteralTypeNode(t.default?O__default.default.factory.createTrue():O__default.default.factory.createFalse()):void 0,name:t.name})),la=({operator:e,type:t})=>{let r=e==="keyof"?O__default.default.SyntaxKind.KeyOfKeyword:e==="readonly"?O__default.default.SyntaxKind.ReadonlyKeyword:O__default.default.SyntaxKind.UniqueKeyword;return O__default.default.factory.createTypeOperatorNode(r,t)},Jr=({constraint:e,defaultType:t,modifiers:r,name:n})=>O__default.default.factory.createTypeParameterDeclaration(r,n,e,t),Dn=({members:e,nameType:t,questionToken:r,readonlyToken:n,type:s,typeParameter:o})=>O__default.default.factory.createMappedTypeNode(n,o,t,r,s,e),fa=({literal:e})=>O__default.default.factory.createLiteralTypeNode(e),Mn=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:s,statements:o=[],types:a=[]})=>{let p=O__default.default.factory.createArrowFunction(e?[ee({keyword:"async"})]:void 0,a?Gr(a):void 0,Xr(n),s?me(s):void 0,void 0,Array.isArray(o)?Pe({multiLine:r,statements:o}):o);return ce({comments:t,node:p}),p},ua=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:s,statements:o=[],types:a=[]})=>{let p=O__default.default.factory.createFunctionExpression(e?[ee({keyword:"async"})]:void 0,void 0,void 0,a?Gr(a):void 0,Xr(n),s?me(s):void 0,Pe({multiLine:r,statements:o}));return ce({comments:t,node:p}),p},Co=({elements:e,multiLine:t=false})=>O__default.default.factory.createArrayLiteralExpression(e.map(n=>Jt(n)?n:rt({value:n})).filter($t),t||!Array.isArray(e[0])&&typeof e[0]=="object"),da=({expression:e})=>O__default.default.factory.createAwaitExpression(e),ya=({parameters:e=[],returnType:t,typeParameters:r})=>O__default.default.factory.createFunctionTypeNode(r,e,t),Ln=({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=Jt(c.spread)?c.spread:v({text:c.spread});l=O__default.default.factory.createSpreadAssignment(c.assertion?en({expression:f,type:typeof c.assertion=="string"?er({keyword:c.assertion}):c.assertion}):f);}else if(c.shorthand||s&&m)l=O__default.default.factory.createShorthandPropertyAssignment(c.value);else {let f=Jt(c.value)?c.value:Array.isArray(c.value)&&(!c.value.length||typeof c.value[0]=="object")?Ln({multiLine:r,obj:c.value,shorthand:s,unescape:o}):rt({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)&&!O__default.default.isObjectLiteralExpression(f)&&(f=v({text:c.value})),l=Fn({initializer:f,name:c.key});}return ce({comments:c.comments,node:l}),l}).filter($t):Object.entries(n).map(([c,m])=>{let l=rt({identifiers:t.includes(c)?Object.keys(m):[],shorthand:s,unescape:o,value:m});if(!l)return;t.includes(c)&&!O__default.default.isObjectLiteralExpression(l)&&(l=v({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?O__default.default.factory.createShorthandPropertyAssignment(m):Fn({initializer:l,name:c})}).filter($t),p=O__default.default.factory.createObjectLiteralExpression(a,r);return ce({comments:e,node:p}),p},ga=({comments:e={},leadingComment:t,name:r,obj:n})=>{let s=Array.isArray(n)?n.map(a=>{let p=fu({initializer:rt({value:a.value}),name:a.key});return ce({comments:a.comments,node:p}),p}):Object.entries(n).map(([a,p])=>{let c=O__default.default.factory.createEnumMember(a,rt({unescape:true,value:p}));return ce({comments:e[a],node:c}),c}),o=O__default.default.factory.createEnumDeclaration([ee({keyword:"export"})],typeof r=="string"?v({text:r}):r,s);return ce({comments:t,node:o}),o},fu=({initializer:e,name:t})=>{let r=t;return typeof r=="string"&&(r.includes("'")?r=Yt({isSingleQuote:false,text:r}):r=Ce(r)),O__default.default.factory.createEnumMember(r,e)},ha=({name:e,statements:t})=>O__default.default.factory.createModuleDeclaration([ee({keyword:"export"})],v({text:e}),O__default.default.factory.createModuleBlock(t),O__default.default.NodeFlags.Namespace),xa=({indexType:e,objectType:t})=>O__default.default.factory.createIndexedAccessTypeNode(t,e),ba=({name:e,returnType:t,statements:r})=>O__default.default.factory.createGetAccessorDeclaration(void 0,e,[],t?ke({typeName:t}):void 0,Pe({statements:r})),Yt=({isSingleQuote:e,text:t})=>(e===void 0&&(e=!t.includes("'")),O__default.default.factory.createStringLiteral(t,e)),Oa=({condition:e,whenFalse:t,whenTrue:r})=>O__default.default.factory.createConditionalExpression(e,O__default.default.factory.createToken(O__default.default.SyntaxKind.QuestionToken),r,O__default.default.factory.createToken(O__default.default.SyntaxKind.ColonToken),t),Sa=({text:e})=>O__default.default.factory.createTypeOfExpression(typeof e=="string"?v({text:e}):e),Ra=({comment:e,exportType:t,name:r,type:n,typeParameters:s=[]})=>{let o=O__default.default.factory.createTypeAliasDeclaration(t?[ee({keyword:"export"})]:void 0,typeof r=="string"?v({text:r}):r,Gr(s),me(n));return ce({comments:e,node:o}),o},ke=({typeArguments:e,typeName:t})=>O__default.default.factory.createTypeReferenceNode(t,e),Ta=({type:e})=>O__default.default.factory.createParenthesizedType(e),Or=({initializer:e,modifiers:t,name:r,required:n=true,type:s})=>O__default.default.factory.createParameterDeclaration(t,void 0,r,n?void 0:O__default.default.factory.createToken(O__default.default.SyntaxKind.QuestionToken),s,e),Yr=({argumentsArray:e,expression:t,typeArguments:r})=>O__default.default.factory.createNewExpression(t,r,e),Pa=({awaitModifier:e,expression:t,initializer:r,statement:n})=>O__default.default.factory.createForOfStatement(e,r,t,n),Aa=({left:e,right:t})=>O__default.default.factory.createAssignment(e,t),Pe=({multiLine:e=true,statements:t})=>O__default.default.factory.createBlock(t,e),Fn=({initializer:e,name:t})=>O__default.default.factory.createPropertyAssignment(t,e),Ea=({flags:e=[],text:t})=>{let r=t.startsWith("/")&&t.endsWith("/")?t:`/${t}/`;return O__default.default.factory.createRegularExpressionLiteral(`${r}${e.join("")}`)},en=({expression:e,type:t})=>O__default.default.factory.createAsExpression(e,t),va=({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?O__default.default.factory.createTemplateMiddle(r):O__default.default.factory.createTemplateTail(r),a=O__default.default.factory.createTemplateLiteralTypeSpan(s,o);t.push(a),r="";}return O__default.default.factory.createTemplateLiteralType(O__default.default.factory.createTemplateHead(r),t.reverse())};var Ia=({module:e})=>O__default.default.factory.createExportDeclaration(void 0,false,void 0,Te.string(e)),st=({functionName:e,parameters:t=[],types:r})=>{let n=typeof e=="string"?v({text:e}):e,s=t.filter(a=>a!==void 0).map(a=>typeof a=="string"?v({text:a}):a);return O__default.default.factory.createCallExpression(n,r,s)},Ca=({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 Te.export({alias:m.alias,asType:n&&m.asType,name:m.name})}),o=O__default.default.factory.createNamedExports(s),a=Te.string(t);return O__default.default.factory.createExportDeclaration(void 0,!n,o,a)},ka=({assertion:e,comment:t,destructure:r,exportConst:n,expression:s,name:o,typeName:a})=>{let p=e?en({expression:s,type:typeof e=="string"?ke({typeName:e}):e}):s,c=typeof o=="string"?v({text:o}):o,m=O__default.default.factory.createVariableDeclaration(r?O__default.default.factory.createObjectBindingPattern([O__default.default.factory.createBindingElement(void 0,void 0,c,void 0)]):c,void 0,a?typeof a=="string"?ke({typeName:a}):a:void 0,p),l=O__default.default.factory.createVariableStatement(n?[ee({keyword:"export"})]:void 0,O__default.default.factory.createVariableDeclarationList([m],O__default.default.NodeFlags.Const));return ce({comments:t,node:l}),l},ja=({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(Te.import({alias:f.alias,asType:n&&f.asType,name:f.name}));});let a=s?O__default.default.factory.createNamespaceImport(v({text:s.alias})):O__default.default.factory.createNamedImports(o),p=O__default.default.factory.createImportClause(!n,void 0,a),c=Te.string(t);return O__default.default.factory.createImportDeclaration(void 0,p,c)};var Na=({accessLevel:e,comment:t,multiLine:r=true,parameters:n=[],statements:s=[]})=>{let o=e?[ee({keyword:e})]:void 0,a=O__default.default.factory.createConstructorDeclaration(o,Xr(n),Pe({multiLine:r,statements:s}));return ce({comments:t,node:a}),a},wa=({accessLevel:e,comment:t,isStatic:r=false,multiLine:n=true,name:s,parameters:o=[],returnType:a,statements:p=[],types:c=[]})=>{let m=e?[ee({keyword:e})]:[];r&&m.push(ee({keyword:"static"}));let l=O__default.default.factory.createMethodDeclaration(m,void 0,v({text:s}),void 0,c?Gr(c):void 0,Xr(o),a?me(a):void 0,Pe({multiLine:n,statements:p}));return ce({comments:t,node:l}),l},qa=({decorator:e,exportClass:t,extendedClasses:r,name:n,nodes:s})=>{let o=[];t&&o.push(ee({keyword:"export"})),e&&o.unshift(O__default.default.factory.createDecorator(st({functionName:e.name,parameters:e.args.map(p=>rt({value:p})).filter($t)})));let a=[];if(r)for(let p of r)a.push(O__default.default.factory.createHeritageClause(O__default.default.SyntaxKind.ExtendsKeyword,[O__default.default.factory.createExpressionWithTypeArguments(v({text:p}),void 0)]));return O__default.default.factory.createClassDeclaration(o,v({text:n}),void 0,a,s)};var rr=({expression:e})=>O__default.default.factory.createExpressionStatement(e);var Bn=({expression:e})=>O__default.default.factory.createReturnStatement(e),Fa=({args:e=[],name:t,types:r=[]})=>{let n=r.map(p=>ke({typeName:p})),s=e.map(p=>O__default.default.isExpression(p)?p:v({text:p})).filter($t),o=st({functionName:t,parameters:s,types:n});return Bn({expression:o})},Da=({expression:e})=>Bn({expression:typeof e=="string"?v({text:e}):e});var Sr=e=>e.slice(1).reduce((t,r)=>(_e.lastIndex=0,_e.test(r)?vo({expression:t,name:r}):O__default.default.factory.createElementAccessChain(t,O__default.default.factory.createToken(O__default.default.SyntaxKind.QuestionDotToken),v({text:r}))),v({text:e[0]})),Hn=e=>e.slice(1).reduce((t,r)=>nt({expression:t,name:r}),v({text:e[0]})),Ma=({expressions:e})=>e.reduce((r,n)=>nt({expression:r,name:n})),_n=({left:e,operator:t="=",right:r})=>O__default.default.factory.createBinaryExpression(e,t==="="?O__default.default.SyntaxKind.EqualsToken:t==="==="?O__default.default.SyntaxKind.EqualsEqualsEqualsToken:t==="??"?O__default.default.SyntaxKind.QuestionQuestionToken:O__default.default.SyntaxKind.InKeyword,typeof r=="string"?v({text:r}):r),Rr=({elseStatement:e,expression:t,thenStatement:r})=>O__default.default.factory.createIfStatement(t,r,e),La=({path:e})=>{let t=Sr(e),r=Hn(e),n=Pe({statements:[rr({expression:_n({left:r,right:Yr({argumentsArray:[r],expression:v({text:"Date"})})})})]});return Rr({expression:t,thenStatement:n})},Ba=({path:e,transformerName:t})=>{let r=Sr(e),n=Hn(e),s=Pe({statements:[rr({expression:st({functionName:t,parameters:[n]})})]});return [Rr({expression:r,thenStatement:s})]},Ha=({path:e,transformerName:t})=>{let r=Sr(e),n=Hn(e);return Rr({expression:st({functionName:nt({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:Pe({statements:[rr({expression:O__default.default.factory.createCallChain(nt({expression:n,name:"forEach"}),void 0,void 0,[v({text:t})])})]})})},_a=({parameterName:e})=>{let t=v({text:"Date"});return Yr({argumentsArray:[v({text:e})],expression:t})},Va=({path:e,transformExpression:t})=>{let r=Sr(e),n=Hn(e);return Rr({expression:st({functionName:nt({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:Pe({statements:[rr({expression:_n({left:n,right:O__default.default.factory.createCallChain(nt({expression:n,name:"map"}),void 0,void 0,[Mn({parameters:[{name:"item"}],statements:t})])})})]})})};var Ou=ke({typeName:"null"}),Tr=({isNullable:e,node:t})=>e?O__default.default.factory.createUnionTypeNode([t,Ou]):t,ko=({indexKey:e,indexProperty:t,isNullable:r,properties:n,useLegacyResolution:s})=>{let a=n.map(m=>{let l=m.isReadOnly?[ee({keyword:"readonly"})]:void 0,f=m.isRequired!==false?void 0:O__default.default.factory.createToken(O__default.default.SyntaxKind.QuestionToken),u=me(m.type);let y=O__default.default.factory.createPropertySignature(l,s||typeof m.name=="string"&&m.name.match(_e)||typeof m.name!="string"&&O__default.default.isPropertyName(m.name)?m.name:Yt({text:m.name}),f,u);return ce({comments:m.comment,node:y}),y}),p=false;if(t)if(!n.length&&e){let m=Dn({questionToken:O__default.default.factory.createToken(O__default.default.SyntaxKind.QuestionToken),type:t.type??er({keyword:"string"}),typeParameter:Jr({constraint:e,name:v({text:String(t.name)})})});a.push(m),p=true;}else {let m=t.isReadOnly?[ee({keyword:"readonly"})]:void 0,l=O__default.default.factory.createIndexSignature(m,[Or({name:v({text:String(t.name)}),type:er({keyword:"string"})})],me(t.type));a.push(l);}let c=p?a[0]:O__default.default.factory.createTypeLiteralNode(a);return Tr({isNullable:r,node:c})},tn=({isNullable:e,types:t})=>{let r=t.map(s=>me(s)),n=O__default.default.factory.createUnionTypeNode(r);return Tr({isNullable:e,node:n})},Wa=({isNullable:e,types:t})=>{let r=t.map(s=>me(s)),n=O__default.default.factory.createIntersectionTypeNode(r);return Tr({isNullable:e,node:n})},za=({isNullable:e=false,types:t})=>{let r=t.map(s=>me(s)),n=O__default.default.factory.createTupleTypeNode(r);return Tr({isNullable:e,node:n})},Ka=(e,t,r=false,n=true)=>{let s=tn({types:e}),o=tn({types:t}),a=ko({properties:[{name:`[key: ${tt({node:s,unescape:true})}]`,type:o}],useLegacyResolution:n});return Tr({isNullable:r,node:a})},Ua=(e,t=false)=>{let r=ke({typeArguments:[Array.isArray(e)?tn({types:e}):e],typeName:"Array"});return Tr({isNullable:t,node:r})};var i={anonymousFunction:ua,arrayLiteralExpression:Co,arrowFunction:Mn,asExpression:en,assignment:Aa,awaitExpression:da,binaryExpression:_n,block:Pe,callExpression:st,classDeclaration:qa,conditionalExpression:Oa,constVariable:ka,constructorDeclaration:Na,enumDeclaration:ga,exportAllDeclaration:Ia,exportNamedDeclaration:Ca,expressionToStatement:rr,forOfStatement:Pa,functionTypeNode:ya,getAccessorDeclaration:ba,identifier:v,ifStatement:Rr,indexedAccessTypeNode:xa,isTsNode:Jt,keywordTypeNode:er,literalTypeNode:fa,mappedTypeNode:Dn,methodDeclaration:wa,namedImportDeclarations:ja,namespaceDeclaration:ha,newExpression:Yr,nodeToString:tt,null:Io,objectExpression:Ln,ots:Te,parameterDeclaration:Or,propertyAccessExpression:nt,propertyAccessExpressions:Ma,propertyAssignment:Fn,propertyDeclaration:ma,regularExpressionLiteral:Ea,returnFunctionCall:Fa,returnStatement:Bn,returnVariable:Da,safeAccessExpression:Sr,stringLiteral:Yt,templateLiteralType:va,this:ca,transformArrayMap:Va,transformArrayMutation:Ha,transformDateMutation:La,transformFunctionMutation:Ba,transformNewDate:_a,typeAliasDeclaration:Ra,typeArrayNode:Ua,typeInterfaceNode:ko,typeIntersectionNode:Wa,typeNode:me,typeOfExpression:Sa,typeOperatorNode:la,typeParameterDeclaration:Jr,typeParenthesizedNode:Ta,typeRecordNode:Ka,typeReferenceNode:ke,typeTupleNode:za,typeUnionNode:tn,valueToExpression:rt},Ru=i;var Pr="TComposable",ot="DefaultT",jo="ResT",se="sdk";var Za=(e,t)=>e instanceof Set?e.has(t):e instanceof Array?e.includes(t):t in e,Ft=({base:e,components:t,extraComponents:r})=>{let n=2,s=e;for(;Za(t,s)||r&&Za(r,s);)s=`${e}${n}`,n+=1;return s},Vn=e=>e.length===3&&e[0]==="components"&&e[1]==="schemas"||e.length===2&&e[0]==="definitions",Ar=e=>{if(e&&typeof e=="object"){if("swagger"in e)return "#/definitions/";if("openapi"in e)return "#/components/schemas/"}return ""};var Tu=[he,pa,ia,aa,oa],Ne=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_");if(xr.lastIndex=0,xr.test(t))return `_${t}`;for(let r of Tu){if(t.startsWith("_"))return t;t=t.replace(r,"_$1");}return t};var be=class{_case;_exportFromIndex;_headers=[];_id;_imports=new Map;_items=[];_name;_path;identifiers={};names={};nodeReferences={};nodes={};constructor({case:t,dir:r,exportFromIndex:n=false,header:s=true,id:o,name:a}){this._case=t,this._exportFromIndex=n,this._id=o,this._name=this._setName(a),this._path=K__default.default.resolve(r,this._name),s&&this._headers.push("// This file is auto-generated by @hey-api/openapi-ts");}add(...t){this._items=this._items.concat(t);}addNodeReference(t,r){this.nodeReferences[t]||(this.nodeReferences[t]=[]);let n=r.factory(this.names[t]??"");return this.nodeReferences[t].push({factory:r.factory,node:n}),n}blockIdentifier({$ref:t,namespace:r}){let{name:n,ref:s}=Xa(t),o=this.identifiers[n.toLocaleLowerCase()]?.[r]?.[s];if(!o)throw new Error(`Identifier for $ref ${t} in namespace ${r} not found`);return o.name=false,{created:false,name:o.name}}get exportFromIndex(){return this._exportFromIndex}getName(t){let r=this.names[t];if(r)return r}getNode(t){return this.nodes[t]||(this.nodes[t]={node:i.typeReferenceNode({typeName:""})}),this.nodes[t]}get id(){return this._id}identifier(t){return No({case:t.case??this._case,identifiers:this.identifiers,...t})}import({module:t,...r}){if(!r.name)return {name:void 0};let n=this._imports.get(t);n||(n=new Map,this._imports.set(t,n));let s=n.get(r.name);return s?{...s,name:s.alias||s.name}:(n.set(r.name,r),{...r,name:r.alias||r.name})}isEmpty(){return !this._items.length}nameWithoutExtension(){let{name:t}=rn(this._name);return t}relativePathToFile({context:t,id:r}){let n="";if(r.startsWith(".")){let m=[];if(t.config.configFile){let l=t.config.configFile.split("/");m=l.slice(0,l.length-1);}n=K__default.default.resolve(process.cwd(),...m,r);}else {let m=t.file({id:r});if(!m)throw new Error(`File with id ${r} does not exist`);n=m._path;}let s=this._path.split(K__default.default.sep),o=n.split(K__default.default.sep),a=-1,p="";for(let m of s)if(a+=1,o[a]!==m){let l=Array.from({length:s.length-a}).fill(""),f=o.slice(a),u=f.slice(0,f.length-1);u.length&&u.push(""),p=(l.join("../")||"./")+u.join("/");break}let c=o[o.length-1];return `${p}${rn(c).name}`}remove(t){we__default.default.rmSync(this._path,t);}removeNode_LEGACY(){this._items=this._items.slice(0,this._items.length-1);}_setName(t){if(t.includes("index"))return t;let{extension:r,name:n}=rn(t);return [n,"gen",r].filter(Boolean).join(".")}_toString(t,r){let n=[];this._headers.length&&n.push(this._headers.join(` `));let s=r?.options.moduleResolution===O__default.default.ModuleResolutionKind.NodeNext,o=[];for(let[a,p]of this._imports.entries()){let c=Array.from(p.values()),m=a;s&&(m.startsWith("./")||m.startsWith("../"))&&(m==="./client"?m="./client/index.js":m=`${m}.js`);let l=i.namedImportDeclarations({imports:c,module:m});o.push(tt({node:l}));}return o.length&&n.push(o.join(` `)),n=n.concat(this._items.map(a=>typeof a=="string"?a:tt({node:a,unescape:true}))),n.join(t)}updateNode(t,r){let n=Ft({base:Ne(r.name),components:Object.values(this.names)});this.names[t]=n;let s=i.typeReferenceNode({typeName:n});return this.nodes[t]?Object.assign(this.nodes[t].node,s):this.nodes[t]={node:s},r.exported!==void 0&&(this.nodes[t].exported=r.exported),this.nodes[t]}updateNodeReferences(t,r){if(!this.nodeReferences[t])return;let n=Ft({base:Ne(r),components:Object.values(this.names)});this.names[t]=n;for(let s of this.nodeReferences[t]){let o=s.factory(n);Object.assign(s.node,o);}}write(t=` `,r=null){if(this.isEmpty()){this.remove({force:true});return}let n=this._path;if(typeof this._path=="string"){let s=this._path.split(K__default.default.sep);n=s.slice(0,s.length-1).join(K__default.default.sep);}Be(n),we__default.default.writeFileSync(this._path,this._toString(t,r));}},Xa=e=>{let t=e,r=[],n=t.split("/"),s=n[n.length-1]||"",o=n.indexOf("properties");if(o!==-1)for(t=n.slice(0,o).join("/"),s=n[o-1]||"";o+1<n.length;){let a=n[o+1];if(!a)throw new Error(`Invalid $ref: ${e}`);r.push(a),o+=2;}return {name:s,properties:r,ref:t}},Au=(e,t,r)=>{if(typeof t=="function")return t(e);let n=r==="preserve"?"":"-";return t.replace("{{name}}",`${n}${e}${n}`)},No=({$ref:e,case:t,count:r=1,create:n=false,identifiers:s,nameTransformer:o,namespace:a})=>{let{name:p,properties:c,ref:m}=Xa(e);if(!p)return {created:false,name:""};let l=E({case:t,value:o?Au(p,o,t):p});r>1&&(l=`${l}${r}`);let f=l.toLocaleLowerCase();s[f]||(s[f]={});let u=s[f];if(a==="enum"&&(u.type||u.value)||a!=="enum"&&u.enum)return No({$ref:m,case:t,count:r+1,create:n,identifiers:s,nameTransformer:o,namespace:a});u[a]||(u[a]={});let y=u[a],g=y[m];if(g){let b=g.name;return c.length&&(b+=c.map(R=>`['${R}']`).join("")),{created:false,name:b}}let h=y[l];return h?h.$ref===m?{created:false,name:h.name}:No({$ref:m,case:t,count:r+1,create:n,identifiers:s,nameTransformer:o,namespace:a}):n?(h={$ref:m,name:Ne(l)},y[l]=h,y[h.$ref]=h,{created:true,name:h.name}):(delete u[a],{created:false,name:""})},rn=e=>{let t=e.match(/\.[0-9a-z]+$/i),r=t?t[0].slice(1):"",n=e.slice(0,e.length-(r?r.length+1:0));return {extension:r,name:n}};var Iu=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))),Ga=K__default.default.dirname(Iu),Ya=e=>{let t=e.split(K__default.default.sep);return t.slice(0,t.length-1).join(K__default.default.sep)},te=({config:e,sourceOutput:t})=>{let r=I(e);if("bundle"in r.config&&r.config.bundle)return dr({moduleOutput:"client",sourceOutput:t});if(K__default.default.isAbsolute(r.name)){let n=Ya(r.name),s=K__default.default.resolve(e.output.path);return K__default.default.relative(s,n).replace(/\\/g,"/")}return r.name},X={Options:{asType:true,name:"Options"},OptionsLegacyParser:{asType:true,name:"OptionsLegacyParser"}},Wn=(e,t)=>{if(we__default.default.statSync(e).isDirectory()){we__default.default.existsSync(t)||we__default.default.mkdirSync(t,{recursive:true});let n=we__default.default.readdirSync(e);for(let s of n)Wn(K__default.def