@hey-api/openapi-ts 0.67.0 → 0.67.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -2,12 +2,12 @@
2
2
  `),s=r.startsWith("`"),i=r.startsWith("\\`")&&r.endsWith("\\`");return (o||n||s)&&!i&&(r=`\`${r.replace(/(?<!\\)`/g,"\\`").replace(/\${/g,"\\${")}\``),r.startsWith("`")?C({text:r}):bt({text:r})}},xt=e=>e!==null&&typeof e=="object"&&typeof e.kind=="number"&&typeof e.flags=="number"&&typeof e.pos=="number"&&typeof e.end=="number",ot=e=>e!==void 0,qm=({commentObject:e,node:t})=>{let r=e.lines.filter(i=>!!i||i==="");if(!r.length)return;if(!e.jsdoc){for(let i of r)y__default.default.addSyntheticLeadingComment(t,y__default.default.SyntaxKind.SingleLineCommentTrivia,` ${i}`,true);return}let n=r.map((i,a)=>{let p=i;return a!==r.length&&(p=`${p}
3
3
  `),y__default.default.factory.createJSDocText(p)}),o=y__default.default.factory.createJSDocComment(y__default.default.factory.createNodeArray(n),void 0),s=Pe({node:o,unescape:true}).replace("/*","").replace("* */","");y__default.default.addSyntheticLeadingComment(t,y__default.default.SyntaxKind.MultiLineCommentTrivia,s,true);},z=({comments:e=[],node:t})=>{let r=!!e.find(o=>typeof o=="object"&&o),n=e;r||(n=[{jsdoc:true,lines:e}]);for(let o of n)qm({commentObject:o,node:t});};var ee=(e,t)=>y__default.default.isTypeNode(e)?e:typeof e=="number"?y__default.default.factory.createLiteralTypeNode(ae.number(e)):Oe({typeArguments:t?.map(r=>ee(r)),typeName:e}),Fn=({expression:e,name:t})=>y__default.default.factory.createPropertyAccessChain(e,y__default.default.factory.createToken(y__default.default.SyntaxKind.QuestionDotToken),t),Ae=({expression:e,isOptional:t,name:r})=>{let n=typeof e=="string"?C({text:e}):e;if(t)return Fn({expression:n,name:r});if(typeof r=="string"&&(be.lastIndex=0,!be.test(r))){!r.startsWith("'")&&!r.endsWith("'")&&(r=`'${r}'`);let s=C({text:r});return y__default.default.factory.createElementAccessExpression(n,s)}let o=typeof r=="string"?C({text:r}):r;return y__default.default.factory.createPropertyAccessExpression(n,o)},Ln=()=>y__default.default.factory.createNull(),Ie=({identifiers:e=[],isValueAccess:t,shorthand:r,unescape:n,value:o})=>{if(o===null)return Ln();if(Array.isArray(o))return Bn({elements:o});if(typeof o=="object")return Er({identifiers:e,obj:o,shorthand:r});if(typeof o=="number")return ae.number(o);if(typeof o=="boolean")return ae.boolean(o);if(typeof o=="string"){if(t){let s=o.split(".");return Ae({expression:s[0],name:s[1]})}return ae.string(o,n)}},vr=e=>{let t=e==="public"?y__default.default.SyntaxKind.PublicKeyword:e==="protected"?y__default.default.SyntaxKind.ProtectedKeyword:e==="private"?y__default.default.SyntaxKind.PrivateKeyword:void 0,r=[];return t&&r.push(y__default.default.factory.createModifier(t)),r},nr=e=>e.map(t=>{if("destructure"in t)return $t({name:y__default.default.factory.createObjectBindingPattern(t.destructure.map(n=>"destructure"in n?void 0:y__default.default.factory.createBindingElement(void 0,void 0,C({text:n.name}),void 0)).filter(Boolean))});let r=vr(t.accessLevel);return t.isReadOnly&&(r=[...r,y__default.default.factory.createModifier(y__default.default.SyntaxKind.ReadonlyKeyword)]),$t({initializer:t.default!==void 0?Ie({value:t.default}):void 0,modifiers:r,name:C({text:t.name}),required:t.isRequired!==false,type:t.type!==void 0?ee(t.type):void 0})}),wt=({keyword:e})=>{let t=y__default.default.SyntaxKind.AnyKeyword;switch(e){case "boolean":t=y__default.default.SyntaxKind.BooleanKeyword;break;case "never":t=y__default.default.SyntaxKind.NeverKeyword;break;case "number":t=y__default.default.SyntaxKind.NumberKeyword;break;case "string":t=y__default.default.SyntaxKind.StringKeyword;break;case "undefined":t=y__default.default.SyntaxKind.UndefinedKeyword;break;case "unknown":t=y__default.default.SyntaxKind.UnknownKeyword;break;case "void":t=y__default.default.SyntaxKind.VoidKeyword;break}return y__default.default.factory.createKeywordTypeNode(t)},or=e=>e.map(t=>y__default.default.isTypeParameterDeclaration(t)?t:_n({constraint:t.extends?typeof t.extends=="string"?wt({keyword:"boolean"}):t.extends:void 0,defaultType:t.default!==void 0?xt(t.default)?t.default:y__default.default.factory.createLiteralTypeNode(t.default?y__default.default.factory.createTrue():y__default.default.factory.createFalse()):void 0,name:t.name})),ys=({operator:e,type:t})=>{let r=e==="keyof"?y__default.default.SyntaxKind.KeyOfKeyword:e==="readonly"?y__default.default.SyntaxKind.ReadonlyKeyword:y__default.default.SyntaxKind.UniqueKeyword;return y__default.default.factory.createTypeOperatorNode(r,t)},_n=({constraint:e,defaultType:t,modifiers:r,name:n})=>y__default.default.factory.createTypeParameterDeclaration(r,n,e,t),gs=({members:e,nameType:t,questionToken:r,readonlyToken:n,type:o,typeParameter:s})=>y__default.default.factory.createMappedTypeNode(n,s,t,r,o,e),hs=({literal:e})=>y__default.default.factory.createLiteralTypeNode(e),jr=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:o,statements:s=[],types:i=[]})=>{let a=y__default.default.factory.createArrowFunction(e?[y__default.default.factory.createModifier(y__default.default.SyntaxKind.AsyncKeyword)]:void 0,i?or(i):void 0,nr(n),o?ee(o):void 0,void 0,Array.isArray(s)?ue({multiLine:r,statements:s}):s);return z({comments:t,node:a}),a},xs=({async:e,comment:t,multiLine:r,parameters:n=[],returnType:o,statements:s=[],types:i=[]})=>{let a=y__default.default.factory.createFunctionExpression(e?[y__default.default.factory.createModifier(y__default.default.SyntaxKind.AsyncKeyword)]:void 0,void 0,void 0,i?or(i):void 0,nr(n),o?ee(o):void 0,ue({multiLine:r,statements:s}));return z({comments:t,node:a}),a},Bn=({elements:e,multiLine:t=false})=>y__default.default.factory.createArrayLiteralExpression(e.map(n=>xt(n)?n:Ie({value:n})).filter(ot),t||!Array.isArray(e[0])&&typeof e[0]=="object"),bs=({expression:e})=>y__default.default.factory.createAwaitExpression(e),Os=({parameters:e=[],returnType:t,typeParameters:r})=>y__default.default.factory.createFunctionTypeNode(r,e,t),Er=({comments:e,identifiers:t=[],multiLine:r=true,obj:n,shorthand:o,unescape:s=false})=>{let i=Array.isArray(n)?n.map(p=>{let m=false;if("key"in p){let{key:u}=p;m=u===p.value,(u.match(/^[0-9]/)&&u.match(/\D+/g)||u.match(/\W/g)||u==="")&&!u.startsWith("'")&&!u.endsWith("'")&&(p.key=`'${u}'`);}let l;if("spread"in p){let u=xt(p.spread)?p.spread:C({text:p.spread});l=y__default.default.factory.createSpreadAssignment(p.assertion?ir({expression:u,type:typeof p.assertion=="string"?wt({keyword:p.assertion}):p.assertion}):u);}else if(p.shorthand||o&&m)l=y__default.default.factory.createShorthandPropertyAssignment(p.value);else {let u=xt(p.value)?p.value:Array.isArray(p.value)?Er({multiLine:r,obj:p.value,shorthand:o,unescape:s}):Ie({identifiers:t.includes(p.key)?Object.keys(p.value):[],isValueAccess:p.isValueAccess,shorthand:o,unescape:s,value:p.value});if(!u)return;t.includes(p.key)&&!y__default.default.isObjectLiteralExpression(u)&&(u=C({text:p.value})),l=Ar({initializer:u,name:p.key});}return z({comments:p.comments,node:l}),l}).filter(ot):Object.entries(n).map(([p,m])=>{let l=Ie({identifiers:t.includes(p)?Object.keys(m):[],shorthand:o,unescape:s,value:m});if(!l)return;t.includes(p)&&!y__default.default.isObjectLiteralExpression(l)&&(l=C({text:m}));let u=p===m;return p.match(/^[0-9]/)&&p.match(/\D+/g)&&!p.startsWith("'")&&!p.endsWith("'")&&(p=`'${p}'`),p.match(/\W/g)&&!p.startsWith("'")&&!p.endsWith("'")&&(p=`'${p}'`),o&&u?y__default.default.factory.createShorthandPropertyAssignment(m):Ar({initializer:l,name:p})}).filter(ot),a=y__default.default.factory.createObjectLiteralExpression(i,r);return z({comments:e,node:a}),a},Rs=({comments:e={},leadingComment:t,name:r,obj:n})=>{let o=Array.isArray(n)?n.map(i=>{let a=Nm({initializer:Ie({value:i.value}),name:i.key});return z({comments:i.comments,node:a}),a}):Object.entries(n).map(([i,a])=>{let p=y__default.default.factory.createEnumMember(i,Ie({unescape:true,value:a}));return z({comments:e[i],node:p}),p}),s=y__default.default.factory.createEnumDeclaration([y__default.default.factory.createModifier(y__default.default.SyntaxKind.ExportKeyword)],C({text:r}),o);return z({comments:t,node:s}),s},Nm=({initializer:e,name:t})=>{let r=t;return typeof r=="string"&&(r.startsWith("'")&&r.endsWith("'")?r=bt({isSingleQuote:false,text:r}):r=me(r)),y__default.default.factory.createEnumMember(r,e)},Ss=({name:e,statements:t})=>y__default.default.factory.createModuleDeclaration([y__default.default.factory.createModifier(y__default.default.SyntaxKind.ExportKeyword)],C({text:e}),y__default.default.factory.createModuleBlock(t),y__default.default.NodeFlags.Namespace),Cs=({indexType:e,objectType:t})=>y__default.default.factory.createIndexedAccessTypeNode(t,e),bt=({isSingleQuote:e,text:t})=>(e===void 0&&(e=!t.includes("'")),y__default.default.factory.createStringLiteral(t,e)),Ts=({condition:e,whenFalse:t,whenTrue:r})=>y__default.default.factory.createConditionalExpression(e,y__default.default.factory.createToken(y__default.default.SyntaxKind.QuestionToken),r,y__default.default.factory.createToken(y__default.default.SyntaxKind.ColonToken),t),Ps=({text:e})=>y__default.default.factory.createTypeOfExpression(C({text:e})),Is=({comment:e,exportType:t,name:r,type:n,typeParameters:o=[]})=>{let s=y__default.default.factory.createTypeAliasDeclaration(t?[y__default.default.factory.createModifier(y__default.default.SyntaxKind.ExportKeyword)]:void 0,C({text:r}),or(o),ee(n));return z({comments:e,node:s}),s},Oe=({typeArguments:e,typeName:t})=>y__default.default.factory.createTypeReferenceNode(t,e),As=({type:e})=>y__default.default.factory.createParenthesizedType(e),$t=({initializer:e,modifiers:t,name:r,required:n=true,type:o})=>y__default.default.factory.createParameterDeclaration(t,void 0,r,n?void 0:y__default.default.factory.createToken(y__default.default.SyntaxKind.QuestionToken),o,e),sr=({argumentsArray:e,expression:t,typeArguments:r})=>y__default.default.factory.createNewExpression(t,r,e),vs=({awaitModifier:e,expression:t,initializer:r,statement:n})=>y__default.default.factory.createForOfStatement(e,r,t,n),js=({left:e,right:t})=>y__default.default.factory.createAssignment(e,t),ue=({multiLine:e=true,statements:t})=>y__default.default.factory.createBlock(t,e),Ar=({initializer:e,name:t})=>y__default.default.factory.createPropertyAssignment(t,e),Es=({flags:e=[],text:t})=>y__default.default.factory.createRegularExpressionLiteral(`/${t}/${e.join("")}`),ir=({expression:e,type:t})=>y__default.default.factory.createAsExpression(e,t),qs=({value:e})=>{let t=[],r="";for(let o of e.slice(0).reverse())if(typeof o=="string")r=`${o}${r}`;else {let s=t.length?y__default.default.factory.createTemplateMiddle(r):y__default.default.factory.createTemplateTail(r),i=y__default.default.factory.createTemplateLiteralTypeSpan(o,s);t.push(i),r="";}return y__default.default.factory.createTemplateLiteralType(y__default.default.factory.createTemplateHead(r),t.reverse())};var ks=({module:e})=>y__default.default.factory.createExportDeclaration(void 0,false,void 0,ae.string(e)),ve=({functionName:e,parameters:t=[],types:r})=>{let n=typeof e=="string"?C({text:e}):e,o=t.filter(i=>i!==void 0).map(i=>typeof i=="string"?C({text:i}):i);return y__default.default.factory.createCallExpression(n,r,o)},Ns=({exports:e,module:t})=>{let r=Array.isArray(e)?e:[e],n=r.some(p=>typeof p!="object"||!p.asType),o=r.map(p=>{let m=typeof p=="string"?{name:p}:p;return ae.export({alias:m.alias,asType:n&&m.asType,name:m.name})}),s=y__default.default.factory.createNamedExports(o),i=ae.string(t);return y__default.default.factory.createExportDeclaration(void 0,!n,s,i)},$s=({assertion:e,comment:t,destructure:r,exportConst:n,expression:o,name:s,typeName:i})=>{let a=e?ir({expression:o,type:typeof e=="string"?Oe({typeName:e}):e}):o,p=C({text:s}),m=y__default.default.factory.createVariableDeclaration(r?y__default.default.factory.createObjectBindingPattern([y__default.default.factory.createBindingElement(void 0,void 0,p,void 0)]):p,void 0,i?typeof i=="string"?Oe({typeName:i}):i:void 0,a),l=y__default.default.factory.createVariableStatement(n?[y__default.default.factory.createModifier(y__default.default.SyntaxKind.ExportKeyword)]:void 0,y__default.default.factory.createVariableDeclarationList([m],y__default.default.NodeFlags.Const));return z({comments:t,node:l}),l},ws=({imports:e,module:t})=>{let r=Array.isArray(e)?e:[e],n=r.some(m=>typeof m!="object"||!m.asType),o=r.map(m=>{let l=typeof m=="string"?{name:m}:m;return ae.import({alias:l.alias,asType:n&&l.asType,name:l.name})}),s=y__default.default.factory.createNamedImports(o),i=y__default.default.factory.createImportClause(!n,void 0,s),a=ae.string(t);return y__default.default.factory.createImportDeclaration(void 0,i,a)};var Ds=({accessLevel:e,comment:t,multiLine:r=true,parameters:n=[],statements:o=[]})=>{let s=y__default.default.factory.createConstructorDeclaration(vr(e),nr(n),ue({multiLine:r,statements:o}));return z({comments:t,node:s}),s},Ms=({accessLevel:e,comment:t,isStatic:r=false,multiLine:n=true,name:o,parameters:s=[],returnType:i,statements:a=[],types:p=[]})=>{let m=vr(e);r&&(m=[...m,y__default.default.factory.createModifier(y__default.default.SyntaxKind.StaticKeyword)]);let l=y__default.default.factory.createMethodDeclaration(m,void 0,C({text:o}),void 0,p?or(p):void 0,nr(s),i?ee(i):void 0,ue({multiLine:n,statements:a}));return z({comments:t,node:l}),l},Fs=({decorator:e,members:t=[],name:r})=>{let n=[y__default.default.factory.createModifier(y__default.default.SyntaxKind.ExportKeyword)];e&&(n=[y__default.default.factory.createDecorator(ve({functionName:e.name,parameters:e.args.map(s=>Ie({value:s})).filter(ot)})),...n]);let o=[];return t.forEach(s=>{o=[...o,s,C({text:`
4
4
  `})];}),y__default.default.factory.createClassDeclaration(n,C({text:r}),[],[],o)};var Ot=({expression:e})=>y__default.default.factory.createExpressionStatement(e);var qr=({expression:e})=>y__default.default.factory.createReturnStatement(e),_s=({args:e=[],name:t,types:r=[]})=>{let n=r.map(a=>Oe({typeName:a})),o=e.map(a=>y__default.default.isExpression(a)?a:C({text:a})).filter(ot),s=ve({functionName:t,parameters:o,types:n});return qr({expression:s})},Bs=({expression:e})=>qr({expression:typeof e=="string"?C({text:e}):e});var Dt=e=>e.slice(1).reduce((t,r)=>(be.lastIndex=0,be.test(r)?Fn({expression:t,name:r}):y__default.default.factory.createElementAccessChain(t,y__default.default.factory.createToken(y__default.default.SyntaxKind.QuestionDotToken),C({text:r}))),C({text:e[0]})),kr=e=>e.slice(1).reduce((t,r)=>Ae({expression:t,name:r}),C({text:e[0]})),Hs=({expressions:e})=>e.reduce((r,n)=>Ae({expression:r,name:n})),Nr=({left:e,operator:t="=",right:r})=>y__default.default.factory.createBinaryExpression(e,t==="="?y__default.default.SyntaxKind.EqualsToken:t==="==="?y__default.default.SyntaxKind.EqualsEqualsEqualsToken:t==="??"?y__default.default.SyntaxKind.QuestionQuestionToken:y__default.default.SyntaxKind.InKeyword,typeof r=="string"?C({text:r}):r),Mt=({elseStatement:e,expression:t,thenStatement:r})=>y__default.default.factory.createIfStatement(t,r,e),Ks=({path:e})=>{let t=Dt(e),r=kr(e),n=ue({statements:[Ot({expression:Nr({left:r,right:sr({argumentsArray:[r],expression:C({text:"Date"})})})})]});return Mt({expression:t,thenStatement:n})},Vs=({path:e,transformerName:t})=>{let r=Dt(e),n=kr(e),o=ue({statements:[Ot({expression:ve({functionName:t,parameters:[n]})})]});return [Mt({expression:r,thenStatement:o})]},Ws=({path:e,transformerName:t})=>{let r=Dt(e),n=kr(e);return Mt({expression:ve({functionName:Ae({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:ue({statements:[Ot({expression:y__default.default.factory.createCallChain(Ae({expression:n,name:"forEach"}),void 0,void 0,[C({text:t})])})]})})},Us=({parameterName:e})=>{let t=C({text:"Date"});return sr({argumentsArray:[C({text:e})],expression:t})},Qs=({path:e,transformExpression:t})=>{let r=Dt(e),n=kr(e);return Mt({expression:ve({functionName:Ae({expression:"Array",name:"isArray"}),parameters:[r]}),thenStatement:ue({statements:[Ot({expression:Nr({left:n,right:y__default.default.factory.createCallChain(Ae({expression:n,name:"map"}),void 0,void 0,[jr({parameters:[{name:"item"}],statements:t})])})})]})})};var Bm=Oe({typeName:"null"}),Ft=({isNullable:e,node:t})=>e?y__default.default.factory.createUnionTypeNode([t,Bm]):t,Hn=({indexProperty:e,isNullable:t,properties:r,useLegacyResolution:n})=>{let s=r.map(a=>{let p=a.isReadOnly?[y__default.default.factory.createModifier(y__default.default.SyntaxKind.ReadonlyKeyword)]:void 0,m=a.isRequired!==false?void 0:y__default.default.factory.createToken(y__default.default.SyntaxKind.QuestionToken),l=ee(a.type);let u=y__default.default.factory.createPropertySignature(p,n||typeof a.name=="string"&&a.name.match(be)||typeof a.name!="string"&&y__default.default.isPropertyName(a.name)?a.name:bt({text:a.name}),m,l);return z({comments:a.comment,node:u}),u});if(e){let a=e.isReadOnly?[y__default.default.factory.createModifier(y__default.default.SyntaxKind.ReadonlyKeyword)]:void 0,p=y__default.default.factory.createIndexSignature(a,[$t({name:C({text:String(e.name)}),type:wt({keyword:"string"})})],ee(e.type));s.push(p);}let i=y__default.default.factory.createTypeLiteralNode(s);return Ft({isNullable:t,node:i})},ar=({isNullable:e,types:t})=>{let r=t.map(o=>ee(o)),n=y__default.default.factory.createUnionTypeNode(r);return Ft({isNullable:e,node:n})},Xs=({isNullable:e,types:t})=>{let r=t.map(o=>ee(o)),n=y__default.default.factory.createIntersectionTypeNode(r);return Ft({isNullable:e,node:n})},zs=({isNullable:e=false,types:t})=>{let r=t.map(o=>ee(o)),n=y__default.default.factory.createTupleTypeNode(r);return Ft({isNullable:e,node:n})},Gs=(e,t,r=false,n=true)=>{let o=ar({types:e}),s=ar({types:t}),i=Hn({properties:[{name:`[key: ${Pe({node:o,unescape:true})}]`,type:s}],useLegacyResolution:n});return Ft({isNullable:r,node:i})},Js=(e,t=false)=>{let r=Oe({typeArguments:[Array.isArray(e)?ar({types:e}):e],typeName:"Array"});return Ft({isNullable:t,node:r})};var c={anonymousFunction:xs,arrayLiteralExpression:Bn,arrowFunction:jr,asExpression:ir,assignment:js,awaitExpression:bs,binaryExpression:Nr,block:ue,callExpression:ve,classDeclaration:Fs,conditionalExpression:Ts,constVariable:$s,constructorDeclaration:Ds,enumDeclaration:Rs,exportAllDeclaration:ks,exportNamedDeclaration:Ns,expressionToStatement:Ot,forOfStatement:vs,functionTypeNode:Os,identifier:C,ifStatement:Mt,indexedAccessTypeNode:Cs,isTsNode:xt,keywordTypeNode:wt,literalTypeNode:hs,mappedTypeNode:gs,methodDeclaration:Ms,namedImportDeclarations:ws,namespaceDeclaration:Ss,newExpression:sr,nodeToString:Pe,null:Ln,objectExpression:Er,ots:ae,parameterDeclaration:$t,propertyAccessExpression:Ae,propertyAccessExpressions:Hs,propertyAssignment:Ar,regularExpressionLiteral:Es,returnFunctionCall:_s,returnStatement:qr,returnVariable:Bs,safeAccessExpression:Dt,stringLiteral:bt,stringToTsNodes:ds,templateLiteralType:qs,transformArrayMap:Qs,transformArrayMutation:Ws,transformDateMutation:Ks,transformFunctionMutation:Vs,transformNewDate:Us,typeAliasDeclaration:Is,typeArrayNode:Js,typeInterfaceNode:Hn,typeIntersectionNode:Xs,typeNode:ee,typeOfExpression:Ps,typeOperatorNode:ys,typeParameterDeclaration:_n,typeParenthesizedNode:As,typeRecordNode:Gs,typeReferenceNode:Oe,typeTupleNode:zs,typeUnionNode:ar,valueToExpression:Ie};var Zs=async({context:e})=>{await e.broadcast("before");for(let t of e.ir.servers??[])await e.broadcast("server",{server:t});if(e.ir.components){for(let t in e.ir.components.schemas){let r=e.ir.components.schemas[t],n=`#/components/schemas/${t}`;await e.broadcast("schema",{$ref:n,name:t,schema:r});}for(let t in e.ir.components.parameters){let r=e.ir.components.parameters[t],n=`#/components/parameters/${t}`;await e.broadcast("parameter",{$ref:n,name:t,parameter:r});}for(let t in e.ir.components.requestBodies){let r=e.ir.components.requestBodies[t],n=`#/components/requestBodies/${t}`;await e.broadcast("requestBody",{$ref:n,name:t,requestBody:r});}}for(let t in e.ir.paths){let r=e.ir.paths[t];for(let n in r){let o=n,s=r[o];await e.broadcast("operation",{method:o,operation:s,path:t});}}await e.broadcast("after");};var $r=e=>{switch(e){case "legacy/angular":return "AngularHttpRequest";case "legacy/axios":return "AxiosHttpRequest";case "legacy/fetch":return "FetchHttpRequest";case "legacy/node":return "NodeHttpRequest";case "legacy/xhr":return "XHRHttpRequest";default:return ""}};function Lt(e,t){let r=e.toLocaleLowerCase(),n=t.toLocaleLowerCase();return r.localeCompare(n,"en")}var pr=(e,t)=>Lt(e.name,t.name);function cr(e){return e.sort(pr)}var it=e=>{fe__default.default.existsSync(e)||fe__default.default.mkdirSync(e,{recursive:true});},Kn=e=>{fe__default.default.existsSync(e)&&fe__default.default.rmSync(e,{force:true,recursive:true});},_t=({moduleOutput:e,sourceOutput:t})=>{let r=t.split("/");return `${Array.from({length:r.length}).fill("").join("../")||"./"}${e}`};var Ys=async(e,t,r,n)=>{let o=b(),s=P(o),i=n.client({$config:o,...r,httpRequest:$r(s.name),models:cr(r.models),services:cr(r.services)});D(o)&&(it(t),fe__default.default.writeFileSync(re__default.default.resolve(t,`${D(o)}.ts`),i));};var ti=e=>{let t=e.split(re__default.default.sep);return t.slice(0,t.length-1).join(re__default.default.sep)},U=({config:e,sourceOutput:t})=>{let r=P(e);if("bundle"in r&&r.bundle)return _t({moduleOutput:"client",sourceOutput:t});if(re__default.default.isAbsolute(r.name)){let n=ti(r.name),o=re__default.default.resolve(e.output.path);return re__default.default.relative(o,n).replace(/\\/g,"/")}return r.name},L={Options:{asType:true,name:"Options"},OptionsLegacyParser:{asType:true,name:"OptionsLegacyParser"}},Vn=({outputPath:e,plugin:t})=>{let r=re__default.default.resolve(e,"client");it(r);let n="";if(re__default.default.isAbsolute(t.name)&&(n=ti(t.name)),t.bundleSource_EXPERIMENTAL&&!n){let l=re__default.default.normalize(xe.resolve(t.name)).split(re__default.default.sep);n=[...l.slice(0,l.indexOf("dist")),"src"].join(re__default.default.sep);}if(n){fe__default.default.cpSync(n,r,{recursive:true});return}let s=re__default.default.normalize(xe.resolve(t.name)).split(re__default.default.sep),i=s.slice(0,s.indexOf("dist")+1).join(re__default.default.sep),p=[s[s.length-1],"index.d.ts"];t.name!=="@hey-api/client-nuxt"&&p.push("index.d.cts");for(let m of p)fe__default.default.copyFileSync(re__default.default.resolve(i,m),re__default.default.resolve(r,m));};var ri=async(e,t,r)=>{let n=b();if(n.exportCore){let o=P(n),s={httpRequest:$r(o.name),server:n.base!==void 0?n.base:t.server,version:t.version};if(fe__default.default.rmSync(re__default.default.resolve(e),{force:true,recursive:true}),fe__default.default.mkdirSync(re__default.default.resolve(e),{recursive:true}),await fe__default.default.writeFileSync(re__default.default.resolve(e,"OpenAPI.ts"),r.core.settings({$config:n,...s})),await fe__default.default.writeFileSync(re__default.default.resolve(e,"ApiError.ts"),r.core.apiError({$config:n,...s})),await fe__default.default.writeFileSync(re__default.default.resolve(e,"ApiRequestOptions.ts"),r.core.apiRequestOptions({$config:n,...s})),await fe__default.default.writeFileSync(re__default.default.resolve(e,"ApiResult.ts"),r.core.apiResult({$config:n,...s})),o.name!=="legacy/angular"&&await fe__default.default.writeFileSync(re__default.default.resolve(e,"CancelablePromise.ts"),r.core.cancelablePromise({$config:n,...s})),await fe__default.default.writeFileSync(re__default.default.resolve(e,"request.ts"),r.core.request({$config:n,...s})),D(n)&&(await fe__default.default.writeFileSync(re__default.default.resolve(e,"BaseHttpRequest.ts"),r.core.baseHttpRequest({$config:n,...s})),await fe__default.default.writeFileSync(re__default.default.resolve(e,`${s.httpRequest}.ts`),r.core.httpRequest({$config:n,...s}))),n.request){let i=re__default.default.resolve(process.cwd(),n.request);if(!await fe__default.default.existsSync(i))throw new Error(`Custom request file "${i}" does not exists`);await fe__default.default.copyFileSync(i,re__default.default.resolve(e,"request.ts"));}}};var Wm=[ce,ms,ps,cs,as],Dr=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,"_");if(kt.lastIndex=0,kt.test(t))return `_${t}`;for(let r of Wm){if(t.startsWith("_"))return t;t=t.replace(r,"_$1");}return t};var ni=/[\p{Lu}]/u,Wn=/[\p{Ll}]/u,si=/([\p{Alpha}\p{N}_]|$)/u,Bt=/[_.\- `\\[\]{}\\/]+/,Um=new RegExp(`^${Bt.source}`),Un=new RegExp(`${Bt.source}${si.source}`,"gu"),oi=new RegExp(`\\d+${si.source}`,"gu"),Qm=({case:e,string:t})=>{let r=false,n=false,o=false,s=false,i=e==="snake_case"||e==="SCREAMING_SNAKE_CASE"?"_":"-";for(let a=0;a<t.length;a++){let p=t[a];s=a>2?t[a-3]===i:true;let m=a+1,l=t[m];for(Bt.lastIndex=0;l&&Bt.test(l);)m+=1,l=t[m];let u=m!==a+1;if(Wn.lastIndex=0,ni.lastIndex=0,ni.test(p)&&(r||l&&!u&&l!=="s"&&Wn.test(l)))t=`${t.slice(0,a)}${i}${t.slice(a)}`,a++,o=n,r=false,n=true;else if(n&&o&&Wn.test(p)&&!s&&!(p==="s"&&(!l||l.toLocaleLowerCase()!==l)))t=`${t.slice(0,a-1)}${i}${t.slice(a-1)}`,o=n,r=true,n=false;else {let f=p.toLocaleLowerCase(),d=p.toLocaleUpperCase();o=n,r=f===p&&d!==p,n=d===p&&f!==p;}}return t},A=({case:e,stripLeadingSeparators:t=true,value:r})=>{let n=r.trim();return n.length?!e||e==="preserve"?n:n.length===1?(Bt.lastIndex=0,Bt.test(n)?"":e==="PascalCase"||e==="SCREAMING_SNAKE_CASE"?n.toLocaleUpperCase():n.toLocaleLowerCase()):(n!==n.toLocaleLowerCase()&&(n=Qm({case:e,string:n})),(t||n[0]!==r[0])&&(n=n.replace(Um,"")),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(Un,(s,i,a)=>a===0&&!t?s:`_${i}`),n[n.length-1]==="_"&&(n=n.slice(0,n.length-1))):(Un.lastIndex=0,oi.lastIndex=0,n=n.replaceAll(oi,(s,i,a)=>["_","-","."].includes(n.charAt(a+s.length))?s:s.toLocaleUpperCase()),n=n.replaceAll(Un,(s,i,a)=>a===0&&!t&&s[0]&&r.startsWith(s[0])?s:i.toLocaleUpperCase())),n):""};var se=class{_exportFromIndex;_headers=[];_id;_identifierCase;_imports=new Map;_items=[];_name;_path;namespaces={type:{},value:{}};constructor({dir:t,exportFromIndex:r=false,header:n=true,id:o,identifierCase:s,name:i}){this._exportFromIndex=r,this._id=o,this._identifierCase=s,this._name=this._setName(i),this._path=re__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 n=this.namespaces[r][t];if(!n)throw new Error(`Identifier for $ref ${t} in namespace ${r} not found`);return n.name=false,{created:false,name:n.name}}get exportFromIndex(){return this._exportFromIndex}get id(){return this._id}identifier({namespace:t,...r}){return ai({case:this._identifierCase,namespace:this.namespaces[t],...r})}import({module:t,...r}){let n=this._imports.get(t);n||(n=new Map,this._imports.set(t,n));let o=n.get(r.name);return o?{...o,name:o.alias||o.name}:(n.set(r.name,r),{...r,name:r.alias||r.name})}isEmpty(){return !this._items.length}nameWithoutExtension(){let{name:t}=Qn(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=re__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 o=this._path.split(re__default.default.sep),s=n.split(re__default.default.sep),i=-1,a="";for(let m of o)if(i+=1,s[i]!==m){let l=Array.from({length:o.length-i}).fill(""),u=s.slice(i),f=u.slice(0,u.length-1);f.length&&f.push(""),a=(l.join("../")||"./")+f.join("/");break}let p=s[s.length-1];return `${a}${Qn(p).name}`}remove(t){fe__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}=Qn(t);return [n,"gen",r].filter(Boolean).join(".")}_toString(t,r){let n=[];this._headers.length&&n.push(this._headers.join(`
5
- `));let o=r?.options.moduleResolution===y.ModuleResolutionKind.NodeNext,s=[];for(let[i,a]of this._imports.entries()){let p=Array.from(a.values()),m=i;o&&(m.startsWith("./")||m.startsWith("../"))&&(m=`${m}.js`);let l=c.namedImportDeclarations({imports:p,module:m});s.push(Pe({node:l}));}return s.length&&n.push(s.join(`
5
+ `));let o=r?.options.moduleResolution===y__default.default.ModuleResolutionKind.NodeNext,s=[];for(let[i,a]of this._imports.entries()){let p=Array.from(a.values()),m=i;o&&(m.startsWith("./")||m.startsWith("../"))&&(m=`${m}.js`);let l=c.namedImportDeclarations({imports:p,module:m});s.push(Pe({node:l}));}return s.length&&n.push(s.join(`
6
6
  `)),n=n.concat(this._items.map(i=>typeof i=="string"?i:Pe({node:i,unescape:true}))),n.join(t)}write(t=`
7
7
  `,r=null){if(this.isEmpty()){this.remove({force:true});return}let n=this._path;if(typeof this._path=="string"){let o=this._path.split(re__default.default.sep);n=o.slice(0,o.length-1).join(re__default.default.sep);}it(n),fe__default.default.writeFileSync(this._path,this._toString(t,r));}},ai=({$ref:e,case:t,count:r=1,create:n=false,nameTransformer:o,namespace:s})=>{let i=e.split("/"),a=i[i.length-1]||"";if(!a)return {created:false,name:""};let p=s[e];if(p)return {created:false,name:p.name};let m=o?.(a)??a,l=A({case:t,value:m});r>1&&(l=`${l}${r}`);let u=s[l];return u?u.$ref===e?{created:false,name:u.name}:ai({$ref:e,case:t,count:r+1,create:n,nameTransformer:o,namespace:s}):n?(u={$ref:e,name:Dr(l)},s[l]=u,s[u.$ref]=u,{created:true,name:u.name}):{created:false,name:""}},Qn=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 pi=({files:e})=>{let t=b();e.index=new se({dir:t.output.path,id:"index",name:"index.ts"}),D(t)&&e.index.add(c.exportNamedDeclaration({exports:D(t),module:`./${D(t)}`})),t.exportCore&&(e.index.add(c.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),t.plugins["@hey-api/sdk"]?.response==="response"&&e.index.add(c.exportNamedDeclaration({exports:{asType:true,name:"ApiResult"},module:"./core/ApiResult"})),D(t)&&e.index.add(c.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),P(t).name!=="legacy/angular"&&e.index.add(c.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e.index.add(c.exportNamedDeclaration({exports:["OpenAPI",{asType:true,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e).sort().forEach(r=>{let n=e[r];r==="index"||n.isEmpty()||["sdk","types"].includes(r)&&e.index.add(c.exportAllDeclaration({module:`./${n.nameWithoutExtension()}`}));});};var Gm=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))),mi=re__default.default.dirname(Gm),Xn=e=>{if(e==="off")return null;if(e){let r=re__default.default.isAbsolute(e)?e:re__default.default.resolve(mi,e);return fe__default.default.existsSync(r)?r:null}let t=mi;for(;t!==re__default.default.dirname(t);){let n=fe__default.default.readdirSync(t).filter(o=>o.startsWith("tsconfig")&&o.endsWith(".json")).sort(o=>o==="tsconfig.json"?-1:1);if(n[0])return re__default.default.join(t,n[0]);t=re__default.default.dirname(t);}return null},zn=e=>{if(!e)return null;let t=y__default.default.readConfigFile(e,y__default.default.sys.readFile);if(t.error)throw new Error(`Couldn't read tsconfig from path: ${e}`);return y__default.default.parseJsonConfigFileContent(t.config,y__default.default.sys,re__default.default.dirname(e))};var li=async({client:e,openApi:t,templates:r})=>{let n=b(),o=t;if(e){if(n.plugins["@hey-api/sdk"]?.include&&n.plugins["@hey-api/sdk"].asClass){let m=new RegExp(n.plugins["@hey-api/sdk"].include);e.services=e.services.filter(l=>m.test(l.name));}if(n.plugins["@hey-api/typescript"]?.include){let m=new RegExp(n.plugins["@hey-api/typescript"].include);e.models=e.models.filter(l=>m.test(l.name));}}let s=re__default.default.resolve(n.output.path);n.output.clean&&Kn(s);let i=P(n);!E(n)&&"bundle"in i&&i.bundle&&Vn({outputPath:s,plugin:i}),await Ys(o,s,e,r),await ri(re__default.default.resolve(n.output.path,"core"),e,r);let a={};for(let m of n.pluginOrder){let l=n.plugins[m],u=(l.output??"").split("/"),f=re__default.default.resolve(n.output.path,...u.slice(0,u.length-1));a[l.name]=new se({dir:f,id:`legacy-unused-${l.name}`,name:`${u[u.length-1]}.ts`}),l._handlerLegacy({client:e,files:a,openApi:o,plugin:l});}pi({files:a});let p=zn(Xn(n.output.tsConfigPath));Object.entries(a).forEach(([m,l])=>{n.dryRun||(m==="index"?l.write(`
8
8
  `,p):l.write(`
9
9
 
10
- `,p));});},ui=async({context:e})=>{let t=re__default.default.resolve(e.config.output.path);e.config.output.clean&&Kn(t);let r=P(e.config);"bundle"in r&&r.bundle&&Vn({outputPath:t,plugin:r});for(let n of e.config.pluginOrder){let o=e.config.plugins[n];o._handler({context:e,plugin:o});}if(await Zs({context:e}),!e.config.dryRun){let n=e.createFile({id:"_index",path:"index"}),o=zn(Xn(e.config.output.tsConfigPath)),s=o?.options.moduleResolution===y.ModuleResolutionKind.NodeNext;for(let i of Object.values(e.files))if(i.nameWithoutExtension()!==n.nameWithoutExtension()){if(!i.isEmpty()&&i.exportFromIndex&&e.config.output.indexFile){let p=n.relativePathToFile({context:e,id:i.id});s&&(p.startsWith("./")||p.startsWith("../"))&&(p=`${p}.js`),n.add(c.exportAllDeclaration({module:p}));}i.write(`
10
+ `,p));});},ui=async({context:e})=>{let t=re__default.default.resolve(e.config.output.path);e.config.output.clean&&Kn(t);let r=P(e.config);"bundle"in r&&r.bundle&&Vn({outputPath:t,plugin:r});for(let n of e.config.pluginOrder){let o=e.config.plugins[n];o._handler({context:e,plugin:o});}if(await Zs({context:e}),!e.config.dryRun){let n=e.createFile({id:"_index",path:"index"}),o=zn(Xn(e.config.output.tsConfigPath)),s=o?.options.moduleResolution===y__default.default.ModuleResolutionKind.NodeNext;for(let i of Object.values(e.files))if(i.nameWithoutExtension()!==n.nameWithoutExtension()){if(!i.isEmpty()&&i.exportFromIndex&&e.config.output.indexFile){let p=n.relativePathToFile({context:e,id:i.id});s&&(p.startsWith("./")||p.startsWith("../"))&&(p=`${p}.js`),n.add(c.exportAllDeclaration({module:p}));}i.write(`
11
11
 
12
12
  `,o);}e.config.output.indexFile&&n.write(`
13
13
  `,o);}};var fi=(...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[o,s]of n)if(s===null)t.delete(o);else if(Array.isArray(s))for(let i of s)t.append(o,i);else s!==void 0&&t.set(o,typeof s=="object"?JSON.stringify(s):s);}return t};var yi=async({fetchOptions:e,inputPath:t,timeout:r,watch:n})=>{let o=new jsonSchemaRefParser.$RefParser,s=jsonSchemaRefParser.getResolvedInput({pathOrUrlOrSchema:t}),i,a,p;if(s.type==="url"){if(n.lastValue&&n.isHeadMethodSupported!==false){try{let l=await jsonSchemaRefParser.sendRequest({fetchOptions:{method:"HEAD",...e,headers:fi(e?.headers,n.headers)},timeout:r,url:s.path});if(l.response.status>=300)return {error:"not-ok",response:l.response};p=l.response;}catch(l){return {error:"not-ok",response:new Response(l.message)}}if(!p.ok&&n.isHeadMethodSupported)return {error:"not-ok",response:p};if(n.isHeadMethodSupported===void 0&&(n.isHeadMethodSupported=p.ok),p.status===304)return {error:"not-modified",response:p};if(a===void 0){let l=p.headers.get("ETag");l&&(a=l!==n.headers.get("If-None-Match"),a&&n.headers.set("If-None-Match",l));}if(a===void 0){let l=p.headers.get("Last-Modified");l&&(a=l!==n.headers.get("If-Modified-Since"),a&&n.headers.set("If-Modified-Since",l));}if(a===false)return {error:"not-modified",response:p}}try{let l=await jsonSchemaRefParser.sendRequest({fetchOptions:{method:"GET",...e},timeout:r,url:s.path});if(l.response.status>=300)return {error:"not-ok",response:l.response};p=l.response;}catch(l){return {error:"not-ok",response:new Response(l.message)}}if(!p.ok)return {error:"not-ok",response:p};if(i=p.body?await p.arrayBuffer():new ArrayBuffer(0),a===void 0){let l=new TextDecoder().decode(i);a=l!==n.lastValue,n.lastValue=l;}}else n.lastValue?a=false:n.lastValue=s.type;return a===false?{error:"not-modified",response:p}:{data:await o.bundle({arrayBuffer:i,pathOrUrlOrSchema:void 0,resolvedInput:s})}};var Kt="#/ir/",Lr=e=>{let t=Gn(e);return t.length===3&&t[0]==="components"},G=e=>{let t=Gn(e),r=t[t.length-1];return decodeURI(r)},Gn=e=>e.replace(/^#\//,"").split("/"),Jn=({$ref:e,spec:t})=>{let r=Gn(decodeURI(e)),n=t;for(let o of r){let s=o;if(n[s]===void 0)throw new Error(`Reference not found: ${e}`);n=n[s];}return n};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){this.listeners[t]&&await Promise.all(this.listeners[t].map((n,o)=>{try{let s=n(...r);return Promise.resolve(s)}catch(s){throw console.error(`\u{1F525} Event broadcast: "${t}"