UNPKG

@hey-api/openapi-ts

Version:

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

6 lines • 245 kB
'use strict';var jsonSchemaRefParser=require('@hey-api/json-schema-ref-parser'),Lt=require('path'),c12=require('c12'),h=require('typescript'),os$1=require('os'),Oi=require('fs'),url=require('url'),Vr=require('ansi-colors');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Lt__default=/*#__PURE__*/_interopDefault(Lt);var h__default=/*#__PURE__*/_interopDefault(h);var Oi__default=/*#__PURE__*/_interopDefault(Oi);var Vr__default=/*#__PURE__*/_interopDefault(Vr);var jr=(...e)=>{let t=new Headers;for(let r of e){if(!r||typeof r!="object")continue;let n=r instanceof Headers?r.entries():Object.entries(r);for(let[i,o]of n)if(o===null)t.delete(i);else if(Array.isArray(o))for(let p of o)t.append(i,p);else o!==void 0&&t.set(i,typeof o=="object"?JSON.stringify(o):o);}return t};var za=async({fetchOptions:e,inputPath:t,timeout:r,watch:n})=>{let i=new jsonSchemaRefParser.$RefParser,o=jsonSchemaRefParser.getResolvedInput({pathOrUrlOrSchema:t}),p,a,c;if(o.type==="url"){if(n.lastValue&&n.isHeadMethodSupported!==false){try{let f=await jsonSchemaRefParser.sendRequest({fetchOptions:{method:"HEAD",...e,headers:jr(e?.headers,n.headers)},timeout:r,url:o.path});if(f.response.status>=300)return {error:"not-ok",response:f.response};c=f.response;}catch(f){return {error:"not-ok",response:new Response(f.message)}}if(!c.ok&&n.isHeadMethodSupported)return {error:"not-ok",response:c};if(n.isHeadMethodSupported===void 0&&(n.isHeadMethodSupported=c.ok),c.status===304)return {error:"not-modified",response:c};if(a===void 0){let f=c.headers.get("ETag");f&&(a=f!==n.headers.get("If-None-Match"),a&&n.headers.set("If-None-Match",f));}if(a===void 0){let f=c.headers.get("Last-Modified");f&&(a=f!==n.headers.get("If-Modified-Since"),a&&n.headers.set("If-Modified-Since",f));}if(a===false)return {error:"not-modified",response:c}}try{let f=await jsonSchemaRefParser.sendRequest({fetchOptions:{method:"GET",...e},timeout:r,url:o.path});if(f.response.status>=300)return {error:"not-ok",response:f.response};c=f.response;}catch(f){return {error:"not-ok",response:new Response(f.message)}}if(!c.ok)return {error:"not-ok",response:c};if(p=c.body?await c.arrayBuffer():new ArrayBuffer(0),a===void 0){let f=new TextDecoder().decode(p);a=f!==n.lastValue,n.lastValue=f;}}else n.lastValue?a=false:n.lastValue=o.type;return a===false?{error:"not-modified",response:c}:{data:await i.bundle({arrayBuffer:p,pathOrUrlOrSchema:void 0,resolvedInput:o})}};var js=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 tt={_dependencies:["@hey-api/typescript"],_tags:["client"],baseUrl:true,bundle:true,exportFromIndex:false,output:"client"};var Re="client",ne=e=>{let t=j(e);return t.name==="@hey-api/client-axios"||t.name==="@hey-api/client-nuxt"?"baseURL":"baseUrl"},j=e=>{for(let t of e.pluginOrder){let r=e.plugins[t];if(r?._tags?.includes("client"))return r}return {name:""}};var vt=/^[^$_\p{ID_Start}]+/u,ae=/^-?\d+(\.\d+)?$/,As=/^(document|history|location|navigator|window)$/g,Es=/^(console|Array|Date|Error|Function|JSON|Map|Math|Object|Promise|RegExp|Set|WeakMap|WeakSet)$/g,pe=/^(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,Ns=/^(global|process|Buffer)$/g,ks=/^(any|as|bigint|boolean|namespace|never|null|number|string|symbol|type|undefined|unknown|void)$/g,xe=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;var Ke=e=>(e||e==="")&&(xe.lastIndex=0,!xe.test(e))?`'${e}'`:e,tr=e=>e&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,e.length-1):e,L=e=>e.replace(/\*\//g,"*").replace(/\/\*/g,"*").replace(/\r?\n(.*)/g,(t,r)=>os$1.EOL+r.trim());var vs,C=()=>{let e=vs,t=j(e);return e.client=t,e},ws=e=>(vs=e,C()),U=e=>j(e).name.startsWith("legacy/"),yt=e=>{if(U(e))return e.name};var Xa=h__default.default.createPrinter({newLine:h__default.default.NewLineKind.LineFeed,removeComments:false}),$s=e=>h__default.default.createSourceFile("",e,h__default.default.ScriptTarget.ESNext,false,h__default.default.ScriptKind.TS),Ha=$s(""),Ga=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(Number.parseInt(r,16)));function Ie({node:e,unescape:t=false}){let r=Xa.printNode(h__default.default.EmitHint.Unspecified,e,Ha);if(!t)return r;try{return Ga(r)}catch{return C().logs.level==="debug"&&console.warn("Could not decode value:",r),r}}function qs(e){return $s(e).statements[0]}var I=({text:e})=>h__default.default.factory.createIdentifier(e),Ms=()=>h__default.default.factory.createThis(),V=({keyword:e})=>{let t=ln({keyword:e});return h__default.default.factory.createModifier(t)},Fs=({initializer:e,modifier:t,name:r,type:n})=>h__default.default.factory.createPropertyDeclaration(t?[V({keyword:t})]:void 0,r,void 0,n,e),se={boolean:e=>e?h__default.default.factory.createTrue():h__default.default.factory.createFalse(),export:({alias:e,asType:t=false,name:r})=>{let n=I({text:r});if(e){let i=I({text:e});return h__default.default.factory.createExportSpecifier(t,n,i)}return h__default.default.factory.createExportSpecifier(t,void 0,n)},import:({alias:e,asType:t=false,name:r})=>{let n=I({text:r});if(e){let i=I({text:e});return h__default.default.factory.createImportSpecifier(t,n,i)}return h__default.default.factory.createImportSpecifier(t,void 0,n)},number:e=>e<0?h__default.default.factory.createPrefixUnaryExpression(h__default.default.SyntaxKind.MinusToken,h__default.default.factory.createNumericLiteral(Math.abs(e))):h__default.default.factory.createNumericLiteral(e),string:(e,t=false)=>{let r=e;t&&(r=tr(r));let n=r.includes("'")&&r.includes('"'),i=r.includes(` `),o=r.startsWith("`"),p=r.startsWith("\\`")&&r.endsWith("\\`");return (i||n||o)&&!p&&(r=`\`${r.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``),r.startsWith("`")?I({text:r}):gt({text:r})}},ht=e=>e!==null&&typeof e=="object"&&typeof e.kind=="number"&&typeof e.flags=="number"&&typeof e.pos=="number"&&typeof e.end=="number",rt=e=>e!==void 0,Ja=({commentObject:e,node:t})=>{let r=e.lines.filter(p=>!!p||p==="");if(!r.length)return;if(!e.jsdoc){for(let p of r)h__default.default.addSyntheticLeadingComment(t,h__default.default.SyntaxKind.SingleLineCommentTrivia,` ${p}`,true);return}let n=r.map((p,a)=>{let c=p;return a!==r.length&&(c=`${c} `),h__default.default.factory.createJSDocText(c)}),i=h__default.default.factory.createJSDocComment(h__default.default.factory.createNodeArray(n),void 0),o=Ie({node:i,unescape:true}).replace("/*","").replace("* */","");h__default.default.addSyntheticLeadingComment(t,h__default.default.SyntaxKind.MultiLineCommentTrivia,o,true);},G=({comments:e=[],node:t})=>{let r=!!e.find(i=>typeof i=="object"&&i),n=e;r||(n=[{jsdoc:true,lines:e}]);for(let i of n)Ja({commentObject:i,node:t});};var J=(e,t)=>h__default.default.isTypeNode(e)?e:typeof e=="number"?h__default.default.factory.createLiteralTypeNode(se.number(e)):ce({typeArguments:t?.map(r=>J(r)),typeName:e}),un=({expression:e,name:t})=>h__default.default.factory.createPropertyAccessChain(e,h__default.default.factory.createToken(h__default.default.SyntaxKind.QuestionDotToken),t),Te=({expression:e,isOptional:t,name:r})=>{let n=typeof e=="string"?I({text:e}):e;if(t&&typeof r!="number")return un({expression:n,name:r});if(typeof r=="string"){if(xe.lastIndex=0,!xe.test(r)){!r.startsWith("'")&&!r.endsWith("'")&&(r=`'${r}'`);let o=I({text:r});return h__default.default.factory.createElementAccessExpression(n,o)}let i=I({text:r});return h__default.default.factory.createPropertyAccessExpression(n,i)}if(typeof r=="number"){let i=h__default.default.factory.createNumericLiteral(r);return h__default.default.factory.createElementAccessExpression(n,i)}return h__default.default.factory.createPropertyAccessExpression(n,r)},dn=()=>h__default.default.factory.createNull(),Ce=({identifiers:e=[],isValueAccess:t,shorthand:r,unescape:n,value:i})=>{if(i===null)return dn();if(Array.isArray(i))return yn({elements:i});if(typeof i=="object")return kr({identifiers:e,obj:i,shorthand:r});if(typeof i=="number")return se.number(i);if(typeof i=="boolean")return se.boolean(i);if(typeof i=="string"){if(t){let o=i.split(".");return Te({expression:o[0],name:o[1]})}return se.string(i,n)}},rr=e=>e.map(t=>{if("destructure"in t)return wt({name:h__default.default.factory.createObjectBindingPattern(t.destructure.map(n=>"destructure"in n?void 0:h__default.default.factory.createBindingElement(void 0,void 0,I({text:n.name}),void 0)).filter(Boolean)),type:t.type!==void 0?J(t.type):void 0});let r=t.accessLevel?[V({keyword:t.accessLevel})]:[];return t.isReadOnly&&r.push(V({keyword:"readonly"})),wt({initializer:t.default!==void 0?Ce({value:t.default}):void 0,modifiers:r,name:I({text:t.name}),required:t.isRequired!==false,type:t.type!==void 0?J(t.type):void 0})}),ln=({keyword:e})=>{switch(e){case "any":return h__default.default.SyntaxKind.AnyKeyword;case "async":return h__default.default.SyntaxKind.AsyncKeyword;case "boolean":return h__default.default.SyntaxKind.BooleanKeyword;case "export":return h__default.default.SyntaxKind.ExportKeyword;case "never":return h__default.default.SyntaxKind.NeverKeyword;case "number":return h__default.default.SyntaxKind.NumberKeyword;case "private":return h__default.default.SyntaxKind.PrivateKeyword;case "protected":return h__default.default.SyntaxKind.ProtectedKeyword;case "public":return h__default.default.SyntaxKind.PublicKeyword;case "readonly":return h__default.default.SyntaxKind.ReadonlyKeyword;case "static":return h__default.default.SyntaxKind.StaticKeyword;case "string":return h__default.default.SyntaxKind.StringKeyword;case "undefined":return h__default.default.SyntaxKind.UndefinedKeyword;case "unknown":return h__default.default.SyntaxKind.UnknownKeyword;case "void":return h__default.default.SyntaxKind.VoidKeyword;default:throw new Error(`unsupported syntax kind keyword "${e}"`)}},xt=({keyword:e})=>{let t=ln({keyword:e});return h__default.default.factory.createKeywordTypeNode(t)},nr=e=>e.map(t=>h__default.default.isTypeParameterDeclaration(t)?t:sr({constraint:t.extends?typeof t.extends=="string"?xt({keyword:"boolean"}):t.extends:void 0,defaultType:t.default!==void 0?ht(t.default)?t.default:h__default.default.factory.createLiteralTypeNode(t.default?h__default.default.factory.createTrue():h__default.default.factory.createFalse()):void 0,name:t.name})),Ls=({operator:e,type:t})=>{let r=e==="keyof"?h__default.default.SyntaxKind.KeyOfKeyword:e==="readonly"?h__default.default.SyntaxKind.ReadonlyKeyword:h__default.default.SyntaxKind.UniqueKeyword;return h__default.default.factory.createTypeOperatorNode(r,t)},sr=({constraint:e,defaultType:t,modifiers:r,name:n})=>h__default.default.factory.createTypeParameterDeclaration(r,n,e,t),Er=({members:e,nameType:t,questionToken:r,readonlyToken:n,type:i,typeParameter:o})=>h__default.default.factory.createMappedTypeNode(n,o,t,r,i,e),Ds=({literal:e})=>h__default.default.factory.createLiteralTypeNode(e),Nr=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:i,statements:o=[],types:p=[]})=>{let a=h__default.default.factory.createArrowFunction(e?[V({keyword:"async"})]:void 0,p?nr(p):void 0,rr(n),i?J(i):void 0,void 0,Array.isArray(o)?me({multiLine:r,statements:o}):o);return G({comments:t,node:a}),a},_s=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:i,statements:o=[],types:p=[]})=>{let a=h__default.default.factory.createFunctionExpression(e?[V({keyword:"async"})]:void 0,void 0,void 0,p?nr(p):void 0,rr(n),i?J(i):void 0,me({multiLine:r,statements:o}));return G({comments:t,node:a}),a},yn=({elements:e,multiLine:t=false})=>h__default.default.factory.createArrayLiteralExpression(e.map(n=>ht(n)?n:Ce({value:n})).filter(rt),t||!Array.isArray(e[0])&&typeof e[0]=="object"),Bs=({expression:e})=>h__default.default.factory.createAwaitExpression(e),Ks=({parameters:e=[],returnType:t,typeParameters:r})=>h__default.default.factory.createFunctionTypeNode(r,e,t),kr=({comments:e,identifiers:t=[],multiLine:r=true,obj:n,shorthand:i,unescape:o=false})=>{let p=Array.isArray(n)?n.map(c=>{let m=false;if("key"in c){let{key:l}=c;m=l===c.value,(l.match(/^[0-9]/)&&l.match(/\D+/g)||l.match(/\W/g)||l==="")&&!l.startsWith("'")&&!l.endsWith("'")&&(c.key=`'${l}'`);}let f;if("spread"in c){let l=ht(c.spread)?c.spread:I({text:c.spread});f=h__default.default.factory.createSpreadAssignment(c.assertion?or({expression:l,type:typeof c.assertion=="string"?xt({keyword:c.assertion}):c.assertion}):l);}else if(c.shorthand||i&&m)f=h__default.default.factory.createShorthandPropertyAssignment(c.value);else {let l=ht(c.value)?c.value:Array.isArray(c.value)&&(!c.value.length||typeof c.value[0]=="object")?kr({multiLine:r,obj:c.value,shorthand:i,unescape:o}):Ce({identifiers:t.includes(c.key)?Object.keys(c.value):[],isValueAccess:c.isValueAccess,shorthand:i,unescape:o,value:c.value});if(!l)return;t.includes(c.key)&&!h__default.default.isObjectLiteralExpression(l)&&(l=I({text:c.value})),f=Ar({initializer:l,name:c.key});}return G({comments:c.comments,node:f}),f}).filter(rt):Object.entries(n).map(([c,m])=>{let f=Ce({identifiers:t.includes(c)?Object.keys(m):[],shorthand:i,unescape:o,value:m});if(!f)return;t.includes(c)&&!h__default.default.isObjectLiteralExpression(f)&&(f=I({text:m}));let l=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}'`),i&&l?h__default.default.factory.createShorthandPropertyAssignment(m):Ar({initializer:f,name:c})}).filter(rt),a=h__default.default.factory.createObjectLiteralExpression(p,r);return G({comments:e,node:a}),a},Vs=({comments:e={},leadingComment:t,name:r,obj:n})=>{let i=Array.isArray(n)?n.map(p=>{let a=Ya({initializer:Ce({value:p.value}),name:p.key});return G({comments:p.comments,node:a}),a}):Object.entries(n).map(([p,a])=>{let c=h__default.default.factory.createEnumMember(p,Ce({unescape:true,value:a}));return G({comments:e[p],node:c}),c}),o=h__default.default.factory.createEnumDeclaration([V({keyword:"export"})],I({text:r}),i);return G({comments:t,node:o}),o},Ya=({initializer:e,name:t})=>{let r=t;return typeof r=="string"&&(r.includes("'")?r=gt({isSingleQuote:false,text:r}):r=Ke(r)),h__default.default.factory.createEnumMember(r,e)},Ws=({name:e,statements:t})=>h__default.default.factory.createModuleDeclaration([V({keyword:"export"})],I({text:e}),h__default.default.factory.createModuleBlock(t),h__default.default.NodeFlags.Namespace),Us=({indexType:e,objectType:t})=>h__default.default.factory.createIndexedAccessTypeNode(t,e),gt=({isSingleQuote:e,text:t})=>(e===void 0&&(e=!t.includes("'")),h__default.default.factory.createStringLiteral(t,e)),zs=({condition:e,whenFalse:t,whenTrue:r})=>h__default.default.factory.createConditionalExpression(e,h__default.default.factory.createToken(h__default.default.SyntaxKind.QuestionToken),r,h__default.default.factory.createToken(h__default.default.SyntaxKind.ColonToken),t),Qs=({text:e})=>h__default.default.factory.createTypeOfExpression(I({text:e})),Xs=({comment:e,exportType:t,name:r,type:n,typeParameters:i=[]})=>{let o=h__default.default.factory.createTypeAliasDeclaration(t?[V({keyword:"export"})]:void 0,I({text:r}),nr(i),J(n));return G({comments:e,node:o}),o},ce=({typeArguments:e,typeName:t})=>h__default.default.factory.createTypeReferenceNode(t,e),Hs=({type:e})=>h__default.default.factory.createParenthesizedType(e),wt=({initializer:e,modifiers:t,name:r,required:n=true,type:i})=>h__default.default.factory.createParameterDeclaration(t,void 0,r,n?void 0:h__default.default.factory.createToken(h__default.default.SyntaxKind.QuestionToken),i,e),ir=({argumentsArray:e,expression:t,typeArguments:r})=>h__default.default.factory.createNewExpression(t,r,e),Gs=({awaitModifier:e,expression:t,initializer:r,statement:n})=>h__default.default.factory.createForOfStatement(e,r,t,n),Js=({left:e,right:t})=>h__default.default.factory.createAssignment(e,t),me=({multiLine:e=true,statements:t})=>h__default.default.factory.createBlock(t,e),Ar=({initializer:e,name:t})=>h__default.default.factory.createPropertyAssignment(t,e),Zs=({flags:e=[],text:t})=>{let r=t.startsWith("/")&&t.endsWith("/")?t:`/${t}/`;return h__default.default.factory.createRegularExpressionLiteral(`${r}${e.join("")}`)},or=({expression:e,type:t})=>h__default.default.factory.createAsExpression(e,t),Ys=({value:e})=>{let t=[],r="";for(let i of e.slice(0).reverse())if(typeof i=="string")r=`${i}${r}`;else {let o=t.length?h__default.default.factory.createTemplateMiddle(r):h__default.default.factory.createTemplateTail(r),p=h__default.default.factory.createTemplateLiteralTypeSpan(i,o);t.push(p),r="";}return h__default.default.factory.createTemplateLiteralType(h__default.default.factory.createTemplateHead(r),t.reverse())};var ei=({module:e})=>h__default.default.factory.createExportDeclaration(void 0,false,void 0,se.string(e)),Pe=({functionName:e,parameters:t=[],types:r})=>{let n=typeof e=="string"?I({text:e}):e,i=t.filter(p=>p!==void 0).map(p=>typeof p=="string"?I({text:p}):p);return h__default.default.factory.createCallExpression(n,r,i)},ti=({exports:e,module:t})=>{let r=Array.isArray(e)?e:[e],n=r.some(c=>typeof c!="object"||!c.asType),i=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=h__default.default.factory.createNamedExports(i),p=se.string(t);return h__default.default.factory.createExportDeclaration(void 0,!n,o,p)},ri=({assertion:e,comment:t,destructure:r,exportConst:n,expression:i,name:o,typeName:p})=>{let a=e?or({expression:i,type:typeof e=="string"?ce({typeName:e}):e}):i,c=I({text:o}),m=h__default.default.factory.createVariableDeclaration(r?h__default.default.factory.createObjectBindingPattern([h__default.default.factory.createBindingElement(void 0,void 0,c,void 0)]):c,void 0,p?typeof p=="string"?ce({typeName:p}):p:void 0,a),f=h__default.default.factory.createVariableStatement(n?[V({keyword:"export"})]:void 0,h__default.default.factory.createVariableDeclarationList([m],h__default.default.NodeFlags.Const));return G({comments:t,node:f}),f},ni=({imports:e,module:t})=>{let r=Array.isArray(e)?e:[e],n=r.some(f=>typeof f!="object"||!f.asType),i,o=[];r.forEach(f=>{let l=typeof f=="string"?{name:f}:f;l.name==="*"&&l.alias?i=l:o.push(se.import({alias:l.alias,asType:n&&l.asType,name:l.name}));});let p=i?h__default.default.factory.createNamespaceImport(I({text:i.alias})):h__default.default.factory.createNamedImports(o),a=h__default.default.factory.createImportClause(!n,void 0,p),c=se.string(t);return h__default.default.factory.createImportDeclaration(void 0,a,c)};var si=({accessLevel:e,comment:t,multiLine:r=true,parameters:n=[],statements:i=[]})=>{let o=e?[V({keyword:e})]:void 0,p=h__default.default.factory.createConstructorDeclaration(o,rr(n),me({multiLine:r,statements:i}));return G({comments:t,node:p}),p},ii=({accessLevel:e,comment:t,isStatic:r=false,multiLine:n=true,name:i,parameters:o=[],returnType:p,statements:a=[],types:c=[]})=>{let m=e?[V({keyword:e})]:[];r&&m.push(V({keyword:"static"}));let f=h__default.default.factory.createMethodDeclaration(m,void 0,I({text:i}),void 0,c?nr(c):void 0,rr(o),p?J(p):void 0,me({multiLine:n,statements:a}));return G({comments:t,node:f}),f},oi=({decorator:e,exportClass:t,extendedClasses:r,name:n,nodes:i})=>{let o=[];t&&o.push(V({keyword:"export"})),e&&o.unshift(h__default.default.factory.createDecorator(Pe({functionName:e.name,parameters:e.args.map(a=>Ce({value:a})).filter(rt)})));let p=[];if(r)for(let a of r)p.push(h__default.default.factory.createHeritageClause(h__default.default.SyntaxKind.ExtendsKeyword,[h__default.default.factory.createExpressionWithTypeArguments(I({text:a}),void 0)]));return h__default.default.factory.createClassDeclaration(o,I({text:n}),void 0,p,i)};var Ot=({expression:e})=>h__default.default.factory.createExpressionStatement(e);var vr=({expression:e})=>h__default.default.factory.createReturnStatement(e),pi=({args:e=[],name:t,types:r=[]})=>{let n=r.map(a=>ce({typeName:a})),i=e.map(a=>h__default.default.isExpression(a)?a:I({text:a})).filter(rt),o=Pe({functionName:t,parameters:i,types:n});return vr({expression:o})},ci=({expression:e})=>vr({expression:typeof e=="string"?I({text:e}):e});var $t=e=>e.slice(1).reduce((t,r)=>(xe.lastIndex=0,xe.test(r)?un({expression:t,name:r}):h__default.default.factory.createElementAccessChain(t,h__default.default.factory.createToken(h__default.default.SyntaxKind.QuestionDotToken),I({text:r}))),I({text:e[0]})),wr=e=>e.slice(1).reduce((t,r)=>Te({expression:t,name:r}),I({text:e[0]})),mi=({expressions:e})=>e.reduce((r,n)=>Te({expression:r,name:n})),$r=({left:e,operator:t="=",right:r})=>h__default.default.factory.createBinaryExpression(e,t==="="?h__default.default.SyntaxKind.EqualsToken:t==="==="?h__default.default.SyntaxKind.EqualsEqualsEqualsToken:t==="??"?h__default.default.SyntaxKind.QuestionQuestionToken:h__default.default.SyntaxKind.InKeyword,typeof r=="string"?I({text:r}):r),qt=({elseStatement:e,expression:t,thenStatement:r})=>h__default.default.factory.createIfStatement(t,r,e),fi=({path:e})=>{let t=$t(e),r=wr(e),n=me({statements:[Ot({expression:$r({left:r,right:ir({argumentsArray:[r],expression:I({text:"Date"})})})})]});return qt({expression:t,thenStatement:n})},li=({path:e,transformerName:t})=>{let r=$t(e),n=wr(e),i=me({statements:[Ot({expression:Pe({functionName:t,parameters:[n]})})]});return [qt({expression:r,thenStatement:i})]},ui=({path:e,transformerName:t})=>{let r=$t(e),n=wr(e);return qt({expression:Pe({functionName:Te({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:me({statements:[Ot({expression:h__default.default.factory.createCallChain(Te({expression:n,name:"forEach"}),void 0,void 0,[I({text:t})])})]})})},di=({parameterName:e})=>{let t=I({text:"Date"});return ir({argumentsArray:[I({text:e})],expression:t})},yi=({path:e,transformExpression:t})=>{let r=$t(e),n=wr(e);return qt({expression:Pe({functionName:Te({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:me({statements:[Ot({expression:$r({left:n,right:h__default.default.factory.createCallChain(Te({expression:n,name:"map"}),void 0,void 0,[Nr({parameters:[{name:"item"}],statements:t})])})})]})})};var ap=ce({typeName:"null"}),Mt=({isNullable:e,node:t})=>e?h__default.default.factory.createUnionTypeNode([t,ap]):t,hn=({indexKey:e,indexProperty:t,isNullable:r,properties:n,useLegacyResolution:i})=>{let p=n.map(m=>{let f=m.isReadOnly?[V({keyword:"readonly"})]:void 0,l=m.isRequired!==false?void 0:h__default.default.factory.createToken(h__default.default.SyntaxKind.QuestionToken),u=J(m.type);let d=h__default.default.factory.createPropertySignature(f,i||typeof m.name=="string"&&m.name.match(xe)||typeof m.name!="string"&&h__default.default.isPropertyName(m.name)?m.name:gt({text:m.name}),l,u);return G({comments:m.comment,node:d}),d}),a=false;if(t)if(!n.length&&e){let m=Er({questionToken:h__default.default.factory.createToken(h__default.default.SyntaxKind.QuestionToken),type:xt({keyword:"string"}),typeParameter:sr({constraint:ce({typeName:e}),name:I({text:String(t.name)})})});p.push(m),a=true;}else {let m=t.isReadOnly?[V({keyword:"readonly"})]:void 0,f=h__default.default.factory.createIndexSignature(m,[wt({name:I({text:String(t.name)}),type:xt({keyword:"string"})})],J(t.type));p.push(f);}let c=a?p[0]:h__default.default.factory.createTypeLiteralNode(p);return Mt({isNullable:r,node:c})},ar=({isNullable:e,types:t})=>{let r=t.map(i=>J(i)),n=h__default.default.factory.createUnionTypeNode(r);return Mt({isNullable:e,node:n})},hi=({isNullable:e,types:t})=>{let r=t.map(i=>J(i)),n=h__default.default.factory.createIntersectionTypeNode(r);return Mt({isNullable:e,node:n})},gi=({isNullable:e=false,types:t})=>{let r=t.map(i=>J(i)),n=h__default.default.factory.createTupleTypeNode(r);return Mt({isNullable:e,node:n})},xi=(e,t,r=false,n=true)=>{let i=ar({types:e}),o=ar({types:t}),p=hn({properties:[{name:`[key: ${Ie({node:i,unescape:true})}]`,type:o}],useLegacyResolution:n});return Mt({isNullable:r,node:p})},bi=(e,t=false)=>{let r=ce({typeArguments:[Array.isArray(e)?ar({types:e}):e],typeName:"Array"});return Mt({isNullable:t,node:r})};var s={anonymousFunction:_s,arrayLiteralExpression:yn,arrowFunction:Nr,asExpression:or,assignment:Js,awaitExpression:Bs,binaryExpression:$r,block:me,callExpression:Pe,classDeclaration:oi,conditionalExpression:zs,constVariable:ri,constructorDeclaration:si,enumDeclaration:Vs,exportAllDeclaration:ei,exportNamedDeclaration:ti,expressionToStatement:Ot,forOfStatement:Gs,functionTypeNode:Ks,identifier:I,ifStatement:qt,indexedAccessTypeNode:Us,isTsNode:ht,keywordTypeNode:xt,literalTypeNode:Ds,mappedTypeNode:Er,methodDeclaration:ii,namedImportDeclarations:ni,namespaceDeclaration:Ws,newExpression:ir,nodeToString:Ie,null:dn,objectExpression:kr,ots:se,parameterDeclaration:wt,propertyAccessExpression:Te,propertyAccessExpressions:mi,propertyAssignment:Ar,propertyDeclaration:Fs,regularExpressionLiteral:Zs,returnFunctionCall:pi,returnStatement:vr,returnVariable:ci,safeAccessExpression:$t,stringLiteral:gt,stringToTsNodes:qs,templateLiteralType:Ys,this:Ms,transformArrayMap:yi,transformArrayMutation:ui,transformDateMutation:fi,transformFunctionMutation:li,transformNewDate:di,typeAliasDeclaration:Xs,typeArrayNode:bi,typeInterfaceNode:hn,typeIntersectionNode:hi,typeNode:J,typeOfExpression:Qs,typeOperatorNode:Ls,typeParameterDeclaration:sr,typeParenthesizedNode:Hs,typeRecordNode:xi,typeReferenceNode:ce,typeTupleNode:gi,typeUnionNode:ar,valueToExpression:Ce};var qr=e=>{Oi__default.default.existsSync(e)||Oi__default.default.mkdirSync(e,{recursive:true});};var Ft=({moduleOutput:e,sourceOutput:t})=>{let r=t.split("/");return `${Array.from({length:r.length}).fill("").join("../")||"./"}${e}`};var mp=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('internal.cjs', document.baseURI).href)));Lt__default.default.dirname(mp);var fp=e=>{let t=e.split(Lt__default.default.sep);return t.slice(0,t.length-1).join(Lt__default.default.sep)},z=({config:e,sourceOutput:t})=>{let r=j(e);if("bundle"in r&&r.bundle)return Ft({moduleOutput:"client",sourceOutput:t});if(Lt__default.default.isAbsolute(r.name)){let n=fp(r.name),i=Lt__default.default.resolve(e.output.path);return Lt__default.default.relative(i,n).replace(/\\/g,"/")}return r.name},D={Options:{asType:true,name:"Options"},OptionsLegacyParser:{asType:true,name:"OptionsLegacyParser"}};var Si=/^(([^:/?#]+):)?((\/\/)?([^:/?#]*)(:?([^/?#]*)))?([^?#]*)(\?([^#]*))?(#(.*))?/,je=e=>{let t={host:"",path:"",port:"",protocol:""};Si.lastIndex=0;let r=e.match(Si);if(!r)return t;let n=r[5]||"";if(n==="."||n==="..")return t;let i=r[8]||"",o=r[2]||"";return o.length===1?t:{host:n,path:i==="/"?"":i,port:r[7]||"",protocol:o}};var Dt="#/ir/",Mr=e=>{let t=gn(e);return t.length===3&&t[0]==="components"},Q=e=>{let t=gn(e),r=t[t.length-1];return decodeURI(r)},gn=e=>e.replace(/^#\//,"").split("/"),xn=({$ref:e,spec:t})=>{let r=gn(decodeURI(e)),n=t;for(let i of r){let o=i;if(n[o]===void 0)throw new Error(`Reference not found: ${e}`);n=n[o];}return n};var Ri=/[\p{Lu}]/u,bn=/[\p{Ll}]/u,Ci=/([\p{Alpha}\p{N}_]|$)/u,_t=/[_.\- `\\[\]{}\\/]+/,lp=new RegExp(`^${_t.source}`),On=new RegExp(`${_t.source}${Ci.source}`,"gu"),Ii=new RegExp(`\\d+${Ci.source}`,"gu"),up=({case:e,string:t})=>{let r=false,n=false,i=false,o=false,p=e==="snake_case"||e==="SCREAMING_SNAKE_CASE"?"_":"-";for(let a=0;a<t.length;a++){let c=t[a];o=a>2?t[a-3]===p:true;let m=a+1,f=t[m];for(_t.lastIndex=0;f&&_t.test(f);)m+=1,f=t[m];let l=m!==a+1;if(bn.lastIndex=0,Ri.lastIndex=0,Ri.test(c)&&(r||f&&!l&&f!=="s"&&bn.test(f)))t=`${t.slice(0,a)}${p}${t.slice(a)}`,a++,i=n,r=false,n=true;else if(n&&i&&bn.test(c)&&!o&&!(c==="s"&&(!f||f.toLocaleLowerCase()!==f)))t=`${t.slice(0,a-1)}${p}${t.slice(a-1)}`,i=n,r=true,n=false;else {let u=c.toLocaleLowerCase(),d=c.toLocaleUpperCase();i=n,r=u===c&&d!==c,n=d===c&&u!==c;}}return t},P=({case:e,stripLeadingSeparators:t=true,value:r})=>{let n=r.trim();return n.length?!e||e==="preserve"?n:n.length===1?(_t.lastIndex=0,_t.test(n)?"":e==="PascalCase"||e==="SCREAMING_SNAKE_CASE"?n.toLocaleUpperCase():n.toLocaleLowerCase()):(n!==n.toLocaleLowerCase()&&(n=up({case:e,string:n})),(t||n[0]!==r[0])&&(n=n.replace(lp,"")),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(On,(o,p,a)=>a===0&&!t?o:`_${p}`),n[n.length-1]==="_"&&(n=n.slice(0,n.length-1))):(On.lastIndex=0,Ii.lastIndex=0,n=n.replaceAll(Ii,(o,p,a)=>["_","-","."].includes(n.charAt(a+o.length))?o:o.toLocaleUpperCase()),n=n.replaceAll(On,(o,p,a)=>a===0&&!t&&o[0]&&r.startsWith(o[0])?o:p.toLocaleUpperCase())),n):""};var v=({case:e="PascalCase",config:t,id:r,parameterId:n,type:i})=>{let o="";switch(i){case "data":case "error":case "errors":case "parameter":case "response":case "responses":o=`${(i[0]??"").toLocaleUpperCase()}${i.slice(1)}`;break}let p=true;t.plugins["@hey-api/typescript"]?.identifierCase==="preserve"&&(p=false);let a=p?"-":"",c=[Dt,P({case:e,value:r}),a,o];return n&&(c.push(a),c.push(P({case:e,value:n}))),c.join("")};var A="types";function dp(e,t){return {...e,get name(){return t?.(e),e.name}}}var Oe=({context:e,file:t,operation:r,type:n})=>{let i=e.file({id:A}).identifier({$ref:v({config:e.config,id:r.id,type:n}),namespace:"type"});return dp(i,o=>{o.name&&t.import({asType:true,module:t.relativePathToFile({context:e,id:A}),name:o.name});})};var yp=({context:e,plugin:t})=>{let{baseUrl:r}=t;if(r===false)return;if(typeof r=="string")return r;let{servers:n}=e.ir;if(n)return n[typeof r=="number"?r:0]?.url},Ti=({context:e,plugin:t})=>{let r=e.file({id:Re}),n=z({config:e.config,sourceOutput:r.nameWithoutExtension()}),i=r.import({module:n,name:"createClient"}),o=r.import({module:n,name:"createConfig"}),p=r.import({asType:true,module:r.relativePathToFile({context:e,id:A}),name:"ClientOptions"}),a=t.runtimeConfigPath?r.import({module:r.relativePathToFile({context:e,id:t.runtimeConfigPath}),name:"createClientConfig"}):void 0,c=[],m=yp({context:e,plugin:t});if(m){let u=je(m);if(u.protocol&&u.host&&!m.includes("{"))c.push({key:ne(e.config),value:m});else if(m!=="/"&&m.startsWith("/")){let d=m.endsWith("/")?m.slice(0,-1):m;c.push({key:ne(e.config),value:d});}}"throwOnError"in t&&t.throwOnError&&c.push({key:"throwOnError",value:true});let f=[s.callExpression({functionName:o.name,parameters:c.length?[s.objectExpression({obj:c})]:void 0,types:[s.typeReferenceNode({typeName:p.name})]})],l=s.constVariable({exportConst:true,expression:s.callExpression({functionName:i.name,parameters:a?[s.callExpression({functionName:a.name,parameters:f})]:f}),name:"client"});r.add(l);};var Pi=({context:e})=>{let t=e.file({id:Re}),r=z({config:e.config,sourceOutput:t.nameWithoutExtension()}),n=t.import({asType:true,module:t.relativePathToFile({context:e,id:A}),name:"ClientOptions"}),i=t.import({asType:true,module:r,name:"Config"}),o=t.import({alias:"DefaultClientOptions",asType:true,module:r,name:"ClientOptions"}),p=s.typeReferenceNode({typeName:o.name}),a=s.typeReferenceNode({typeName:"T"}),c=s.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:s.functionTypeNode({parameters:[s.parameterDeclaration({name:"override",required:false,type:s.typeReferenceNode({typeArguments:[s.typeIntersectionNode({types:[p,a]})],typeName:i.name})})],returnType:s.typeReferenceNode({typeArguments:[s.typeIntersectionNode({types:[s.typeReferenceNode({typeArguments:[p],typeName:"Required"}),a]})],typeName:i.name})}),typeParameters:[{default:s.typeReferenceNode({typeName:n.name}),extends:p,name:"T"}]});t.add(c);};var nt=({context:e,plugin:t})=>{e.createFile({exportFromIndex:t.exportFromIndex,id:Re,path:t.output}),Pi({context:e}),Ti({context:e,plugin:t});};var Sn={...tt,_handler:nt,_handlerLegacy:()=>{},name:"@hey-api/client-axios",throwOnError:false};var Rn={...tt,_handler:nt,_handlerLegacy:()=>{},name:"@hey-api/client-fetch",throwOnError:false};var In={...tt,_handler:nt,_handlerLegacy:()=>{},name:"@hey-api/client-next",throwOnError:false};var Cn={...tt,_handler:nt,_handlerLegacy:()=>{},name:"@hey-api/client-nuxt"};var Tn={_handler:()=>{},_handlerLegacy:()=>{},_tags:["client"],name:"legacy/angular",output:"client"};var Pn={_handler:()=>{},_handlerLegacy:()=>{},_tags:["client"],name:"legacy/axios",output:"client"};var jn={_handler:()=>{},_handlerLegacy:()=>{},_tags:["client"],name:"legacy/fetch",output:"client"};var An={_handler:()=>{},_handlerLegacy:()=>{},_tags:["client"],name:"legacy/node",output:"client"};var En={_handler:()=>{},_handlerLegacy:()=>{},_tags:["client"],name:"legacy/xhr",output:"client"};var hp=[pe,ks,Es,Ns,As],Fr=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_");if(vt.lastIndex=0,vt.test(t))return `_${t}`;for(let r of hp){if(t.startsWith("_"))return t;t=t.replace(r,"_$1");}return t};var Lr="schemas",Nn=({plugin:e,schema:t})=>{e.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);},Bt=({context:e,plugin:t,schema:r})=>{if(Array.isArray(r))return r.map(i=>Bt({context:e,plugin:t,schema:i}));let n=structuredClone(r);if(n.$ref)return n.$ref=decodeURI(n.$ref),n;if(Nn({plugin:t,schema:n}),n.additionalProperties&&typeof n.additionalProperties!="boolean"&&(n.additionalProperties=Bt({context:e,plugin:t,schema:n.additionalProperties})),n.allOf&&(n.allOf=n.allOf.map(i=>Bt({context:e,plugin:t,schema:i}))),n.items&&(n.items=Bt({context:e,plugin:t,schema:n.items})),n.properties)for(let i in n.properties){let o=n.properties[i];typeof o!="boolean"&&(n.properties[i]=Bt({context:e,plugin:t,schema:o}));}return n},st=({context:e,plugin:t,schema:r})=>{if(Array.isArray(r))return r.map(i=>st({context:e,plugin:t,schema:i}));let n=structuredClone(r);if("$ref"in n)return n.$ref=decodeURI(n.$ref),n;if(Nn({plugin:t,schema:n}),n.additionalProperties&&typeof n.additionalProperties!="boolean"&&(n.additionalProperties=st({context:e,plugin:t,schema:n.additionalProperties})),n.allOf&&(n.allOf=n.allOf.map(i=>st({context:e,plugin:t,schema:i}))),n.anyOf&&(n.anyOf=n.anyOf.map(i=>st({context:e,plugin:t,schema:i}))),n.items&&(n.items=st({context:e,plugin:t,schema:n.items})),n.oneOf&&(n.oneOf=n.oneOf.map(i=>st({context:e,plugin:t,schema:i}))),n.properties)for(let i in n.properties){let o=n.properties[i];typeof o!="boolean"&&(n.properties[i]=st({context:e,plugin:t,schema:o}));}return n},Ve=({context:e,plugin:t,schema:r})=>{if(Array.isArray(r))return r.map(i=>Ve({context:e,plugin:t,schema:i}));let n=structuredClone(r);if(Nn({plugin:t,schema:n}),n.$ref&&(n.$ref=decodeURI(n.$ref)),n.additionalProperties&&typeof n.additionalProperties!="boolean"&&(n.additionalProperties=Ve({context:e,plugin:t,schema:n.additionalProperties})),n.allOf&&(n.allOf=n.allOf.map(i=>Ve({context:e,plugin:t,schema:i}))),n.anyOf&&(n.anyOf=n.anyOf.map(i=>Ve({context:e,plugin:t,schema:i}))),n.items&&(n.items=Ve({context:e,plugin:t,schema:n.items})),n.oneOf&&(n.oneOf=n.oneOf.map(i=>Ve({context:e,plugin:t,schema:i}))),n.prefixItems&&(n.prefixItems=n.prefixItems.map(i=>Ve({context:e,plugin:t,schema:i}))),n.properties)for(let i in n.properties){let o=n.properties[i];typeof o!="boolean"&&(n.properties[i]=Ve({context:e,plugin:t,schema:o}));}return n},kn=({name:e,plugin:t,schema:r})=>{let n="";return t.nameBuilder&&(typeof t.nameBuilder=="function"?n=t.nameBuilder(e,r):n=t.nameBuilder.replace("{{name}}",e)),n||(n=`${e}Schema`),Fr(n)},gp=({context:e,plugin:t})=>{if(e.spec.definitions)for(let r in e.spec.definitions){let n=e.spec.definitions[r],i=Bt({context:e,plugin:t,schema:n}),o=s.constVariable({assertion:"const",exportConst:true,expression:s.objectExpression({obj:i}),name:kn({name:r,plugin:t,schema:n})});e.file({id:Lr}).add(o);}},xp=({context:e,plugin:t})=>{if(e.spec.components)for(let r in e.spec.components.schemas){let n=e.spec.components.schemas[r],i=st({context:e,plugin:t,schema:n}),o=s.constVariable({assertion:"const",exportConst:true,expression:s.objectExpression({obj:i}),name:kn({name:r,plugin:t,schema:n})});e.file({id:Lr}).add(o);}},bp=({context:e,plugin:t})=>{if(e.spec.components)for(let r in e.spec.components.schemas){let n=e.spec.components.schemas[r],i=Ve({context:e,plugin:t,schema:n}),o=s.constVariable({assertion:"const",exportConst:true,expression:s.objectExpression({obj:i}),name:kn({name:r,plugin:t,schema:n})});e.file({id:Lr}).add(o);}},ji=({context:e,plugin:t})=>{if(e.createFile({exportFromIndex:t.exportFromIndex,id:Lr,path:t.output}),"swagger"in e.spec){gp({context:e,plugin:t});return}switch(e.spec.openapi){case "3.0.0":case "3.0.1":case "3.0.2":case "3.0.3":case "3.0.4":xp({context:e,plugin:t});break;case "3.1.0":case "3.1.1":bp({context:e,plugin:t});break;default:throw new Error("Unsupported OpenAPI specification")}};var Ae=class{_exportFromIndex;_headers=[];_id;_identifierCase;_imports=new Map;_items=[];_name;_path;identifiers={};constructor({dir:t,exportFromIndex:r=false,header:n=true,id:i,identifierCase:o,name:p}){this._exportFromIndex=r,this._id=i,this._identifierCase=o,this._name=this._setName(p),this._path=Lt__default.default.resolve(t,this._name),n&&this._headers.push("// This file is auto-generated by @hey-api/openapi-ts");}add(...t){this._items=this._items.concat(t);}blockIdentifier({$ref:t,namespace:r}){let{name:n,ref:i}=Ei(t),o=this.identifiers[n.toLocaleLowerCase()]?.[r]?.[i];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}get id(){return this._id}identifier(t){return wn({case:this._identifierCase,identifiers:this.identifiers,...t})}import({module:t,...r}){let n=this._imports.get(t);n||(n=new Map,this._imports.set(t,n));let i=n.get(r.name);return i?{...i,name:i.alias||i.name}:(n.set(r.name,r),{...r,name:r.alias||r.name})}isEmpty(){return !this._items.length}nameWithoutExtension(){let{name:t}=vn(this._name);return t}relativePathToFile({context:t,id:r}){let n="";if(r.startsWith(".")){let m=[];if(t.config.configFile){let f=t.config.configFile.split("/");m=f.slice(0,f.length-1);}n=Lt__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 i=this._path.split(Lt__default.default.sep),o=n.split(Lt__default.default.sep),p=-1,a="";for(let m of i)if(p+=1,o[p]!==m){let f=Array.from({length:i.length-p}).fill(""),l=o.slice(p),u=l.slice(0,l.length-1);u.length&&u.push(""),a=(f.join("../")||"./")+u.join("/");break}let c=o[o.length-1];return `${a}${vn(c).name}`}remove(t){Oi__default.default.rmSync(this._path,t);}removeNode(){this._items=this._items.slice(0,this._items.length-1);}_setName(t){if(t.includes("index"))return t;let{extension:r,name:n}=vn(t);return [n,"gen",r].filter(Boolean).join(".")}_toString(t,r){let n=[];this._headers.length&&n.push(this._headers.join(` `));let i=r?.options.moduleResolution===h__default.default.ModuleResolutionKind.NodeNext,o=[];for(let[p,a]of this._imports.entries()){let c=Array.from(a.values()),m=p;i&&(m.startsWith("./")||m.startsWith("../"))&&(m==="./client"?m="./client/index.js":m=`${m}.js`);let f=s.namedImportDeclarations({imports:c,module:m});o.push(Ie({node:f}));}return o.length&&n.push(o.join(` `)),n=n.concat(this._items.map(p=>typeof p=="string"?p:Ie({node:p,unescape:true}))),n.join(t)}write(t=` `,r=null){if(this.isEmpty()){this.remove({force:true});return}let n=this._path;if(typeof this._path=="string"){let i=this._path.split(Lt__default.default.sep);n=i.slice(0,i.length-1).join(Lt__default.default.sep);}qr(n),Oi__default.default.writeFileSync(this._path,this._toString(t,r));}},Ei=e=>{let t=e,r=[],n=t.split("/"),i=n[n.length-1]||"",o=n.indexOf("properties");if(o!==-1)for(t=n.slice(0,o).join("/"),i=n[o-1]||"";o+1<n.length;){let p=n[o+1];if(!p)throw new Error(`Invalid $ref: ${e}`);r.push(p),o+=2;}return {name:i,properties:r,ref:t}},wn=({$ref:e,case:t,count:r=1,create:n=false,identifiers:i,nameTransformer:o,namespace:p})=>{let{name:a,properties:c,ref:m}=Ei(e);if(!a)return {created:false,name:""};let f=P({case:t,value:a});r>1&&(f=`${f}${r}`);let l=f.toLocaleLowerCase();i[l]||(i[l]={});let u=i[l];if(p==="enum"&&(u.type||u.value)||p!=="enum"&&u.enum)return wn({$ref:m,case:t,count:r+1,create:n,identifiers:i,nameTransformer:o,namespace:p});u[p]||(u[p]={});let d=u[p],x=d[m];if(x){let b=x.name;return c.length&&(b+=c.map(E=>`['${E}']`).join("")),{created:false,name:b}}let g=P({case:t,value:o?.(a)??a});r>1&&(g=`${g}${r}`);let O=d[g];return O?O.$ref===m?{created:false,name:O.name}:wn({$ref:m,case:t,count:r+1,create:n,identifiers:i,nameTransformer:o,namespace:p}):n?(O={$ref:m,name:Fr(g)},d[g]=O,d[O.$ref]=O,{created:true,name:O.name}):(delete u[p],{created:false,name:""})},vn=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 Ip=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('internal.cjs', document.baseURI).href)));Lt__default.default.dirname(Ip);process.stdin.isTTY&&process.stdout.isTTY;var Dr=class extends Error{args;event;pluginName;constructor({args:t,error:r,event:n,name:i,pluginName:o}){let p=r instanceof Error?r.message:"Unknown error";super(p),this.args=t,this.cause=r.cause,this.event=n,this.name=i||r.name,this.pluginName=o,this.stack=r.stack;}};var _r=class{config;files;ir;spec;listeners;constructor({config:t,spec:r}){this.config=t,this.files={},this.ir={},this.listeners={},this.spec=r;}async broadcast(t,...r){let n=this.listeners[t];if(n)for(let i of n)try{await i.callbackFn(...r);}catch(o){let p=o instanceof Error?o:new Error(String(o));throw new Dr({args:r,error:p,event:t,name:"BroadcastError",pluginName:i.pluginName})}}createFile(t){let r=t.path.split("/"),n=Lt__default.default.resolve(this.config.output.path,...r.slice(0,r.length-1)),i=new Ae({dir:n,exportFromIndex:t.exportFromIndex,id:t.id,identifierCase:t.identifierCase,name:`${r[r.length-1]}.ts`});return this.files[t.id]=i,i}dereference(t){let r=this.resolveRef(t.$ref),n={...t,...r};return delete n.$ref,n}file({id:t}){return this.files[t]}resolveIrRef(t){return xn({$ref:t,spec:this.ir})}resolveRef(t){return xn({$ref:t,spec:this.spec})}subscribe(t,r,n){this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push({callbackFn:r,pluginName:n??""});}};var Br=({context:e,parameter:t})=>{if(!t.pagination)return;if(t.pagination===true)return t.schema;let r=t.schema;return r.$ref&&(r=e.resolveIrRef(r.$ref)),r.properties[t.pagination]},it=e=>{for(let t in e)if(e[t].required)return true;return false},Ni=e=>e?!!(it(e.cookie)||it(e.header)||it(e.path)||it(e.query)):false,$n=({context:e,parameters:t})=>{if(t){for(let r in t.cookie){let n=t.cookie[r];if(n.pagination)return {in:n.location,name:n.pagination===true?r:`${r}.${n.pagination}`,schema:Br({context:e,parameter:n})}}for(let r in t.header){let n=t.header[r];if(n.pagination)return {in:n.location,name:n.pagination===true?r:`${r}.${n.pagination}`,schema:Br({context:e,parameter:n})}}for(let r in t.path){let n=t.path[r];if(n.pagination)return {in:n.location,name:n.pagination===true?r:`${r}.${n.pagination}`,schema:Br({context:e,parameter:n})}}for(let r in t.query){let n=t.query[r];if(n.pagination)return {in:n.location,name:n.pagination===true?r:`${r}.${n.pagination}`,schema:Br({context:e,parameter:n})}}}};var ie=({schema:e})=>{if(!e.items)return e;let t=[],r=[];for(let n of e.items){if(!n.type&&n.items||e.type==="tuple"){t.push(n);continue}if(!n.type||n.type==="boolean"||n.type==="integer"||n.type==="null"||n.type==="number"||n.type==="string"||n.type==="unknown"||n.type==="void"){let i=`${n.$ref??""}${n.type??""}${n.const!==void 0?`const-${n.const}`:""}`;r.includes(i)||(r.push(i),t.push(n));continue}t.push(n);}if(e.items=t,e.items.length<=1&&e.type!=="array"&&e.type!=="enum"&&e.type!=="tuple"){let n=e.items[0];delete e.logicalOperator,delete e.items,e={...e,...n};}return e.type==="unknown"?{}:e};var R=(e,t)=>{if(!e?.length)return t?.length?t:void 0;if(!t?.length)return e;let r=new Set(e);for(let n of t)r.add(n);return r.size>e.length?Array.from(r):e};var qn=({items:e,schema:t})=>{for(let r of e)t.accessScopes=R(t.accessScopes,r.accessScopes);t.items=e;},M=({items:e,logicalOperator:t="or",mutateSchemaOneItem:r=false,schema:n})=>e.length?n.type==="tuple"?(qn({items:e,schema:n}),n):e.length!==1?(qn({items:e,schema:n}),n.logicalOperator=t,n):r?(n={...n,...e[0]},n):(qn({items:e,schema:n}),n):n;var Kr=e=>!!(Ni(e.parameters)||e.body?.required),w=({method:e,path:t})=>`${e.toUpperCase()} ${t}`,ki=({context:e,operation:t})=>{let r=t.body;if(!r||!r.pagination)return $n({context:e,parameters:t.parameters});if(r.pagination===true)return {in:"body",name:"body",schema:r.schema};let n=r.schema,i=n.$ref?e.resolveIrRef(n.$ref):n,p=("schema"in i?i.schema:i)?.properties?.[r.pagination];return p?{in:"body",name:r.pagination,schema:p}:$n({context:e,parameters:t.parameters})},Mn=({statusCode:e})=>{switch(e){case "1XX":return "1XX";case "2XX":return "2XX";case "3XX":return "3XX";case "4XX":return "4XX";case "5XX":return "5XX";case "default":return "default";default:return `${e[0]}XX`}},Ee=e=>{let t={};if(!e.responses)return t;let r={properties:{},type:"object"},n={properties:{},type:"object"},i;for(let a in e.responses){let c=e.responses[a];switch(Mn({statusCode:a})){case "1XX":case "3XX":break;case "2XX":n.properties[a]=c.schema;break;case "4XX":case "5XX":r.properties[a]=c.schema;break;case "default":i=c;break}}if(i){let a=false;Object.keys(n.properties).length||(n.properties.default=i.schema,a=true);let c=(i.schema.description??"").toLocaleLowerCase(),m=(i.schema.$ref??"").toLocaleLowerCase();["success"].some(u=>c.includes(u)||m.includes(u))&&(n.properties.default=i.schema,a=true),["error","problem"].some(u=>c.includes(u)||m.includes(u))&&(r.properties.default=i.schema,a=true),a||(r.properties.default=i.schema);}let o=Object.keys(r.properties);if(o.length){r.required=o,t.errors=r;let a=M({items:Object.values(r.properties),mutateSchemaOneItem:true,schema:{}});a=ie({schema:a}),Object.keys(a).length&&a.type!=="unknown"&&(t.error=a);}let p=Object.keys(n.properties);if(p.length){n.required=p,t.responses=n;let a=M({items:Object.values(n.properties),mutateSchemaOneItem:true,schema:{}});a=ie({schema:a}),Object.keys(a).length&&a.type!=="unknown"&&(t.response=a);}return t};var Vt=e=>{switch(e){case "parameters":return "parameter";case "requestBodies":return "body";case "responses":return "response";case "definitions":case "schemas":return "schema";default:return "unknown"}},vi="/",S=(e,t="")=>`${e}${vi}${t}`,W=e=>{let t=e.indexOf(vi);return {name:e.slice(t+1),namespace:e.slice(0,t)}};var St=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_");return vt.lastIndex=0,vt.test(t)?`_${t}`:t},ot=e=>e.replace(/^[^\p{ID_Start}]+/u,"").replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"-").replace(/[$+]/g,"-"),Fn=e=>{let t=e.replace("[]","Array");return ot(t)};var ee=["delete","get","head","options","patch","post","put","trace"],Rt=({context:e,count:t=1,id:r,method:n,path:i,state:o})=>{let p;if(r&&(!e.config.plugins["@hey-api/sdk"]||e.config.plugins["@hey-api/sdk"].operationId))p=P({case:"camelCase",value:ot(r)});else {let a=i.replace(/{(.*?)}/g,"by-$1").replace(/[/:+]/g,"-");p=P({case:"camelCase",value:`${n}-${a}`});}return t>1&&(p=`${p}${t}`),o.ids.has(p)?Rt({context:e,count:t+1,id:r,method:n,path:i,state:o}):(o.ids.set(p,w({method:n,path:i})),p)};var Ne=(e,t)=>{let r=[],n=[];if(t)for(let i of t)i.startsWith("/")&&i.endsWith("/")?n.push(new RegExp(i.slice(1,i.length-1))):r.push(S(e,i));return {regexps:n,set:new Set(r)}},Tp=({excludeOperations:e,excludeSchemas:t,includeOperations:r,includeSchemas:n,spec:i})=>{if((e.regexps.length||r.regexps.length)&&i.paths)for(let o of Object.entries(i.paths)){let p=o[0],a=o[1];for(let c of ee){if(!a[c])continue;let f=w({method:c,path:p});e.regexps.some(l=>l.test(f))&&e.set.add(S("operation",f)),r.regexps.some(l=>l.test(f))&&r.set.add(S("operation",f));}}if(i.definitions&&(t.regexps.length||n.regexps.length))for(let o of Object.keys(i.definitions))t.regexps.some(p=>p.test(o))&&t.set.add(S("schema",o)),n.regexps.some(p=>p.test(o))&&n.set.add(S("schema",o));},Pp=({excludeOperations:e,excludeParameters:t,excludeRequestBodies:r,excludeResponses:n,excludeSchemas:i,includeOperations:o,includeParameters:p,includeRequestBodies:a,includeResponses:c,includeSchemas:m,spec:f})=>{if((e.regexps.length||o.regexps.length)&&f.paths)for(let l of Object.entries(f.paths)){let u=l[0],d=l[1];for(let x of ee){if(!d[x])continue;let O=w({method:x,path:u});e.regexps.some(b=>b.test(O))&&e.set.add(S("operation",O)),o.regexps.some(b=>b.test(O))&&o.set.add(S("operation",O));}}if(f.components){if((t.regexps.length||p.regexps.length)&&f.components.parameters)for(let l of Object.keys(f.components.parameters))t.regexps.some(u=>u.test(l))&&t.set.add(S("parameter",l)),p.regexps.some(u=>u.test(l))&&p.set.add(S("parameter",l));if((r.regexps.length||a.regexps.length)&&f.components.req