@povio/openapi-codegen-cli 0.9.1 → 0.9.2
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.
|
@@ -52,7 +52,7 @@ export declare class SchemaResolver {
|
|
|
52
52
|
getExtractedEnumZodSchemas(): {};
|
|
53
53
|
resolveObject<T>(obj: OpenAPIV3.ReferenceObject | T): T;
|
|
54
54
|
isSchemaCircular(ref: string): boolean;
|
|
55
|
-
getCircularSchemaChain(ref: string, currentRef?: string, chain?: never[]): string[];
|
|
55
|
+
getCircularSchemaChain(ref: string, currentRef?: string, chain?: never[], visited?: string[]): string[];
|
|
56
56
|
getBaseUrl(): string;
|
|
57
57
|
getZodSchemaObj(zodSchemaName: string): OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject | undefined;
|
|
58
58
|
private getSchemaDataByRef;
|
package/dist/index.js
CHANGED
|
@@ -73,5 +73,5 @@ Expecting `+un.join(", ")+", got '"+(this.terminals_[b]||b)+"'":Qa="Parse error
|
|
|
73
73
|
`,"\r",`\r
|
|
74
74
|
`].some(s=>String.prototype.includes.call(e.description,s))?n.push(`describe(\`${e.description}\`)`):n.push(`describe("${e.description}")`));let i=n.concat(UR({schema:e,meta:t,options:r}),r.withDefaultValues!==!1?GR(e):[]).filter(Boolean).join(".");return i?`.${i}`:""}o(Ct,"getZodChain");function UR({schema:e,meta:t,options:r}){return e.nullable&&!(t!=null&&t.isRequired)?"nullish()":e.nullable||r.replaceOptionalWithNullish&&(t!=null&&t.isParentPartial)?"nullable()":t!=null&&t.isRequired?"":r.replaceOptionalWithNullish?"nullish()":"optional()"}o(UR,"getZodChainablePresence");function GR(e){return e.default!==void 0?`default(${he(e.type).with("number","integer",()=>dS(e.default)).otherwise(()=>JSON.stringify(e.default))})`:""}o(GR,"getZodChainableDefault");function ZR(e){let t=[];if(e.enum||(e.minLength!==void 0&&t.push(`min(${e.minLength})`),e.maxLength!==void 0&&t.push(`max(${e.maxLength})`)),e.pattern&&t.push(`regex(${zR(e.pattern)})`),e.format){let r=he(e.format).with("email",()=>"email()").with("hostname","uri",()=>"url()").with("uuid",()=>"uuid()").with("date-time",()=>"datetime({ offset: true })").otherwise(()=>"");r&&t.push(r)}return t.join(".")}o(ZR,"getZodChainableStringValidations");function zR(e){return e.startsWith("/")&&e.endsWith("/")&&(e=e.slice(1,-1)),e=mS(e),`/${e}/`}o(zR,"formatPatternIfNeeded");function KR(e){let t=[];return e.enum?"":(e.type==="integer"&&t.push("int()"),e.minimum!==void 0?e.exclusiveMinimum===!0?t.push(`gt(${e.minimum})`):t.push(`gte(${e.minimum})`):typeof e.exclusiveMinimum=="number"&&t.push(`gt(${e.exclusiveMinimum})`),e.maximum!==void 0?e.exclusiveMaximum===!0?t.push(`lt(${e.maximum})`):t.push(`lte(${e.maximum})`):typeof e.exclusiveMaximum=="number"&&t.push(`lt(${e.exclusiveMaximum})`),e.multipleOf&&t.push(`multipleOf(${e.multipleOf})`),t.join("."))}o(KR,"getZodChainableNumberValidations");function QR(e){let t=[];return e.minItems&&t.push(`min(${e.minItems})`),e.maxItems&&t.push(`max(${e.maxItems})`),t.join(".")}o(QR,"getZodChainableArrayValidations");var Xr=o(e=>e.reduce((t,r)=>t+r,0),"sum");function oe(e,t){if(!t)return e;if(M(t))return e+2;if(Array.isArray(t.type))return t.type.length===1?Fe("oneOf")+oe(e,{...t,type:t.type[0]}):e+Fe("oneOf")+Xr(t.type.map(r=>oe(0,{...t,type:r})));if(t.oneOf)return t.oneOf.length===1?Fe("oneOf")+oe(e,t.oneOf[0]):e+Fe("oneOf")+Xr(t.oneOf.map(r=>oe(0,r)));if(t.anyOf)return t.anyOf.length===1?Fe("anyOf")+oe(e,t.anyOf[0]):e+Fe("anyOf")+Xr(t.anyOf.map(r=>oe(0,r)));if(t.allOf)return t.allOf.length===1?Fe("allOf")+oe(e,t.allOf[0]):e+Fe("allOf")+Xr(t.allOf.map(r=>oe(0,r)));if(!t.type)return e;if(Ht(t.type))return t.enum?e+GS(t)+Fe("enum")+Xr(t.enum.map(r=>oe(0,r))):e+GS(t);if(t.type==="array")return t.items?Fe("array")+oe(e,t.items):Fe("array")+oe(e);if(t.type==="object"||t.properties||t.additionalProperties){if(t.properties){let r=Object.values(t.properties);e+=Fe("object")+Xr(r.map(n=>oe(0,n)))}else e+=Fe("empty-object");t.additionalProperties&&(typeof t.additionalProperties=="object"?e+=oe(0,t.additionalProperties):e+=oe(1))}return e}o(oe,"getOpenAPISchemaComplexity");function GS(e){return he(e.type).with("string","number","integer","boolean",()=>1).otherwise(()=>0)}o(GS,"complexityByType");function Fe(e){return he(e).with("oneOf",()=>2).with("anyOf",()=>3).with("allOf",()=>2).with("enum","array","empty-object",()=>1).with("object",()=>2).otherwise(()=>0)}o(Fe,"complexityByComposite");var af=class af{constructor(t,r,n={referencedBy:[]},i){this.schema=t;this.resolver=r;M(t)&&(this.ref=t.$ref),i&&(this.enumRef=i),this.meta={...n,referencedBy:[...(n==null?void 0:n.referencedBy)??[]]},this.ref&&this.meta.referencedBy.push(this)}code;ref;enumRef;children=[];meta;getCodeString(t,r){var s,a;if(!this.ref&&this.code)return this.code;if(!this.ref)throw new Error("Zod schema is missing both ref and code");let n=(s=this.resolver)==null?void 0:s.getZodSchemaNameByRef(this.ref);if(!n)return this.ref;let i=(a=this.resolver)==null?void 0:a.getTagByZodSchemaName(n);return r!=null&&r.tsNamespaces&&i&&i!==t?`${U({type:"models",tag:i,options:r})}.${n}`:n}get complexity(){return oe(0,this.schema)}assign(t){return this.code=t,this}inherit(t){return t&&t.children.push(this),this}};o(af,"ZodSchema");var Po=af;function W({schema:e,resolver:t,meta:r,tag:n}){var g;let i=new Po(e,t,r),s={parent:i.inherit(r==null?void 0:r.parent),referencedBy:[...i.meta.referencedBy]},a={resolver:t,meta:s,tag:n};if(M(e))return WR({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});let c=JR({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(c)return c;let u=YR({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(u)return u;let l=XR({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(l)return l;let f=eC({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(f)return f;let p=tC({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(p)return p;let d=t.options.allReadonly?".readonly()":"";if(ta(e))return e.items?i.assign(`z.array(${W({...a,schema:e.items}).getCodeString(n,t.options)}${Ct({schema:e.items,meta:{...s,isRequired:!0},options:t.options})})${d}`):i.assign(`z.array(z.any())${d}`);let m=e.type?e.type.toLowerCase():void 0;if(m==="object"||e.properties||e.additionalProperties){let y=e.required&&e.required.length>0,v=t.options.withImplicitRequiredProps?!1:e.properties&&!((g=e.required)!=null&&g.length),S="{}";e.properties&&(S="{ "+Object.entries(e.properties).map(([L,T])=>{var Oe;let $e={...s,isRequired:v?!0:y?(Oe=e.required)==null?void 0:Oe.includes(L):t.options.withImplicitRequiredProps,name:L,isParentPartial:v},se=T;if(M(T)&&t&&(se=t.getSchemaByRef(T.$ref),!se))throw new Error(`Schema ${T.$ref} not found`);let K=W({...a,schema:T,meta:$e}).getCodeString(n,t.options)+Ct({schema:se,meta:$e,options:t.options});return[L,K]}).map(([L,T])=>`${fS(L)}: ${T}`).join(", ")+" }");let _="";e.additionalProperties&&(_=`.catchall(${typeof e.additionalProperties=="object"&&Object.keys(e.additionalProperties).length>0?W({...a,schema:e.additionalProperties}).getCodeString(n,t.options)+Ct({schema:e.additionalProperties,meta:{...s,isRequired:!0},options:t.options}):"z.any()"})`);let E=v?".partial()":"",b=t.options.strictObjects?".strict()":"";return i.assign(`z.object(${S})${E}${b}${_}${d}`)}if(m==="any")return i.assign("z.any()");if(!m)return i.assign("z.unknown()");throw new Error(`Unsupported schema type: ${m}`)}o(W,"getZodSchema");function WR({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!M(e))return;let s=t.meta.referencedBy.slice(0,-1).map(u=>u.ref?r.getZodSchemaNameByRef(u.ref)??u.ref:void 0).filter(Boolean),a=r.getZodSchemaNameByRef(e.$ref);if(s.length>1&&s.includes(a))return t.assign(r.getCodeByZodSchemaName(t.ref));let c=r.getCodeByZodSchemaName(e.$ref);if(!c){let u=r.getSchemaByRef(e.$ref);if(!u)throw new Error(`Schema ${e.$ref} not found`);c=W({schema:u,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)}return r.getCodeByZodSchemaName(a)||r.setZodSchema(a,c,i),t}o(WR,"getReferenceZodSchema");function YR({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){var a;if(!_e(e)||!e.oneOf)return;if(e.oneOf.length===1){let c=W({schema:e.oneOf[0],resolver:r,meta:n,tag:i});return t.assign(c.getCodeString(i,r.options))}let s=(a=e.oneOf)==null?void 0:a.some(c=>_e(c)&&((c==null?void 0:c.allOf)||[]).length>1);if(e.discriminator&&!s){let c=e.discriminator.propertyName;return t.assign(`
|
|
75
75
|
z.discriminatedUnion("${c}", [${e.oneOf.map(u=>W({schema:u,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])
|
|
76
|
-
`)}return t.assign(`z.union([${e.oneOf.map(c=>W({schema:c,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(YR,"getOneOfZodSchema");function JR({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!(!_e(e)||!Array.isArray(e.type)))return e.type.length===1?W({schema:{...e,type:e.type[0]},resolver:r,meta:n,tag:i}):t.assign(`z.union([${e.type.map(s=>W({schema:{...e,type:s},resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(JR,"getArrayZodSchema");function XR({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!_e(e)||!e.anyOf)return;if(e.anyOf.length===1){let a=W({schema:e.anyOf[0],resolver:r,meta:n,tag:i});return t.assign(a.getCodeString(i,r.options))}let s=e.anyOf.map(a=>W({schema:a,resolver:r,meta:n,tag:i})).map(a=>a.getCodeString(i,r.options)).join(", ");return t.assign(`z.union([${s}])`)}o(XR,"getAnyOfZodSchema");function eC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!_e(e)||!e.allOf)return;if(e.allOf.length===1){let p=W({schema:e.allOf[0],resolver:r,meta:n,tag:i});return t.assign(p.getCodeString(i,r.options))}let{patchRequiredSchemaInLoop:s,noRequiredOnlyAllof:a,composedRequiredSchema:c}=iS(e),u=a.map(p=>{let d=W({schema:p,resolver:r,meta:n,tag:i});return r&&s(p,r.getSchemaByRef.bind(r)),d});c.required.length&&u.push(W({schema:c,resolver:r,meta:n,tag:i}));let l=u.at(0),f=u.slice(1).map(p=>`merge(${p.getCodeString(i,r.options)})`).join(".");return t.assign(`${l.getCodeString(i,r.options)}.${f}`)}o(eC,"getAllOfZodSchema");function tC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!_e(e))return;let s=e.type?e.type.toLowerCase():void 0;if(s&&Ht(s)){if(e.enum){if(s==="string")return rC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i});if(e.enum.some(a=>typeof a=="string"))return t.assign("z.never()");if(e.enum.length===1){let a=e.enum[0];return t.assign(`z.literal(${a===null?"null":a})`)}return t.assign(`z.union([${e.enum.map(a=>`z.literal(${a===null?"null":a})`).join(", ")}])`)}return t.assign(he(s).with("integer",()=>"z.number()").with("string",()=>he(e.format).with("binary",()=>Us).otherwise(()=>Gs)).otherwise(a=>`z.${a}()`))}}o(tC,"getPrimitiveZodSchema");function rC({resolver:e,schema:t,zodSchema:r,meta:n,tag:i}){var l;if(!_e(t))return;let s=ei(t);if(!e.options.extractEnums)return r.assign(s);let a=e.getEnumZodSchemaDataByCode(s);if(a)return((l=r.meta.parent)==null?void 0:l.ref)===e.getRefByZodSchemaName(a.zodSchemaName)?r.assign(a.code):new Po({$ref:e.getRefByZodSchemaName(a.zodSchemaName)},e,n).inherit(r).assign(s);let c=e.getExtractedEnumZodSchemaDataByCode(s);if(!c)return r.assign(s);if(!c.zodSchemaName||!c.tag)throw new Error(`Enum zod schema name or tag not resolved for code: ${s}`);let u=e.options.tsNamespaces&&c.tag!==i?`${U({type:"models",tag:c.tag,options:e.options})}.`:"";return r.assign(`${u}${c.zodSchemaName}`)}o(rC,"getEnumZodSchema");function ei(e){var t;return`${oo}([${(t=e.enum)==null?void 0:t.map(r=>r===null?"null":`"${r}"`).join(", ")}])`}o(ei,"getEnumZodSchemaCode");function ZS(e){return`${oo}([${e.map(t=>`"${t}"`).join(", ")}])`}o(ZS,"getEnumZodSchemaCodeFromEnumNames");function ti({schema:e,zodSchema:t,fallbackName:r,resolver:n,tag:i}){var c;let s=t.getCodeString();if((!Pe(s)||t.ref===void 0)&&r){if(t.complexity<Yp)return s;let u=Rt(r,n.options.schemaSuffix);for(;n.getCodeByZodSchemaName(u);){if((c=n.getZodSchemaNamesByCompositeCode(s))!=null&&c.includes(u))return u;if(n.getCodeByZodSchemaName(u)===u)return u;throw new Error(`Can't uniquely resolve zod schema name: ${u}`)}return n.setZodSchema(u,s,i),n.addZodSchemaForCompositeCode(s,t,u,e),u}let a=n.getCodeByZodSchemaName(s);if(!a&&t.ref&&(a=n.getCodeByZodSchemaName(n.getZodSchemaNameByRef(t.ref))),t.ref&&a)return oe(0,n.getSchemaByRef(t.ref))<Yp?n.getCodeByZodSchemaName(s):s;throw new Error(`Invalid ref: ${t.ref}`)}o(ti,"resolveZodSchemaName");function zS({resolver:e,endpoint:t,operation:r}){let n=r["x-acl"];return n==null?void 0:n.map(i=>{let s=Object.keys(i.conditions??{}).reduce((a,c)=>{let u=nC({resolver:e,endpoint:t,acl:n,name:c});return u?[...a,u]:(e.validationErrors.push(BS(c,r,t)),a)},[]);return{...i,conditionsTypes:s}})}o(zS,"getEndpointAcl");function nC({resolver:e,endpoint:t,acl:r,name:n}){var p,d,m,g,y,v,S,_,E,b;let i=(d=(p=r[0])==null?void 0:p.conditions)==null?void 0:d[n];if(!i)return;let s=i.replace(/^\$[^.]*\./,"").split("."),a,c,u,l=0,f=t.parameters.find(({name:P})=>P===s[l]);if(f)c=(m=f.parameterObject)==null?void 0:m.required,a=(g=f.parameterObject)==null?void 0:g.schema,u=`${f.name} ${pr(f.type)} parameter`,l++;else{let P=t.parameters.find(({bodyObject:$e})=>!!$e),T=Object.keys(((y=P==null?void 0:P.bodyObject)==null?void 0:y.content)??{}).find(We);T&&(a=(_=(S=(v=P==null?void 0:P.bodyObject)==null?void 0:v.content)==null?void 0:S[T])==null?void 0:_.schema,u=`${De(t)?"query":"mutation"} data`)}for(;a&&l<s.length;){let P=e.resolveObject(a);a=(E=Object.entries(P.properties??{}).find(([T])=>T===s[l]))==null?void 0:E[1],c=((b=P.required)==null?void 0:b.includes(s[l]))??!1,l++}if(a)return{name:n,type:M(a)?void 0:a.type,zodSchemaName:M(a)?e.getZodSchemaNameByRef(a.$ref):void 0,required:c,info:u}}o(nC,"getEndpointAclConditionPropertyType");function KS({resolver:e,operation:t,operationName:r,isUniqueOperationName:n,tag:i}){var m,g;let s=e.resolveObject(t.requestBody);if(!s)return;let c=Object.keys(s.content??{}).find(We);if(!c)return;let u=(g=(m=s.content)==null?void 0:m[c])==null?void 0:g.schema;if(!u)return;let l=W({schema:u,resolver:e,meta:{isRequired:s.required??!0},tag:i}),f=e.resolveObject(u),p=ti({schema:f,zodSchema:l,fallbackName:sa(Qr(r,n,i)),resolver:e,tag:i}),d=Ct({schema:f,meta:l.meta,options:e.options});return{endpointParameter:{name:rS,type:"Body",description:s.description,zodSchema:p+d,bodyObject:s},requestFormat:c}}o(KS,"getEndpointBody");function QS({resolver:e,param:t,operationName:r,isUniqueOperationName:n,tag:i}){let s=e.resolveObject(t);if(!aS.includes(s.in))return;let a={};if(s.content){let m=Object.keys(s.content??{}),g=m.find(We);if(!g)throw new Error(`Unsupported media type for param ${s.name}: ${m.join(", ")}`);let y=s.content[g];if(!y)throw new Error(`No content with media type for param ${s.name}: ${g}`);a=(y==null?void 0:y.schema)??y}else s.schema&&(a=s.schema);e.options.withDescription&&a&&(a.description=(s.description??"").trim());let c=SS(Qr(r,n,i),s.name),u;if(yS(s)){let m=ho(c,e.options.enumSuffix,e.options.schemaSuffix),g=ZS(s["x-enumNames"]);e.setZodSchema(m,g,i),u=m}let l=W({schema:a,resolver:e,meta:{isRequired:s.in==="path"?!0:s.required??!1},tag:i}),f=e.resolveObject(a),p=Ct({schema:f,meta:l.meta,options:e.options}),d=ti({schema:f,zodSchema:l.assign(l.getCodeString(i)+p),fallbackName:c,resolver:e,tag:i});return{name:he(s.in).with("path",()=>tf(s.name)).otherwise(()=>s.name),type:he(s.in).with("header",()=>"Header").with("query",()=>"Query").with("path",()=>"Path").run(),zodSchema:d,parameterObject:s,parameterSortingEnumSchemaName:u}}o(QS,"getEndpointParameter");function YS(e){var r,n,i,s,a;let t=[];for(let c in e.openApiDoc.paths){let u=e.openApiDoc.paths[c],l=_r(u,Sr),f=WS(u.parameters??[]);for(let p in l){let d=l[p];if(!d||d.deprecated&&!e.options.withDeprecatedEndpoints)continue;let m=d.operationId&&d.operationId!==wt(d.operationId);d.operationId&&m&&e.validationErrors.push(LS(d.operationId));let g=Object.entries({...f,...WS(d.parameters??[])}).map(([,b])=>b),y=mo({path:c,method:p,operation:d,operationsByTag:e.operationsByTag,options:e.options}),v=e.operationNames.filter(b=>b===y).length<=1,S=zr(d,e.options),_={method:p,path:gS(c),operationName:y,description:d.description,summary:d.summary,tags:(r=d.tags)==null?void 0:r.map(Nt),requestFormat:"application/json",parameters:[],response:"",errors:[],responseStatusCodes:[],mediaUpload:!!d["x-media-upload"],mediaDownload:!!d["x-media-download"]};if(d.requestBody){let b=KS({resolver:e,operation:d,operationName:y,isUniqueOperationName:v,tag:S});b&&(_.parameters.push(b.endpointParameter),_.requestFormat=b.requestFormat)}for(let b of g){let P=QS({resolver:e,param:b,operationName:y,isUniqueOperationName:v,tag:S});P&&_.parameters.push(P)}let E=iC(_);E.forEach(b=>{_.parameters.push(b)}),E.length>0&&e.validationErrors.push(FS(E,c));for(let b in d.responses){_.responseStatusCodes.push(b);let P=e.resolveObject(d.responses[b]),T=Object.keys(P.content??{}).find(Yn),$e,se;if(T?(_.responseFormat=T,$e=(i=(n=P.content)==null?void 0:n[T])==null?void 0:i.schema):(se=io,b==="200"&&e.validationErrors.push(US({received:"200",expected:"204"},d,_))),$e){let K=W({schema:$e,resolver:e,meta:{isRequired:!0},tag:S}),Oe=e.resolveObject($e);se=ti({schema:Oe,zodSchema:K,fallbackName:K.ref?void 0:aa({statusCode:b,operationName:y,isUniqueOperationName:v,tag:S}),resolver:e,tag:S})+Ct({schema:Oe,meta:K.meta,options:e.options})}if(se){let K=Number(b);ia(K)?(_.response=se,_.responseObject=P,_.responseDescription=P.description):b!=="default"&&oa(K)&&_.errors.push({zodSchema:se,status:K,description:P.description})}}_.response||(_.response=io),_.acl=zS({resolver:e,endpoint:_,operation:d}),(s=d.security)!=null&&s[0].Authorization&&!_.responseStatusCodes.includes("401")&&e.validationErrors.push(of("401",d,_)),(a=_.acl)!=null&&a[0]&&!_.responseStatusCodes.includes("403")&&e.validationErrors.push(of("403",d,_)),t.push(_)}}return t}o(YS,"getEndpointsFromOpenAPIDoc");function WS(e){return Object.fromEntries((e??[]).map(t=>[M(t)?t.$ref:t.name,t]))}o(WS,"getParameters");function iC(e){return[...e.path.matchAll(/:([a-zA-Z0-9_]+)/g)].map(r=>r[1]).filter(r=>e.parameters.findIndex(({name:n})=>n===r)===-1).map(r=>oC(r))}o(iC,"getMissingPathParameters");function oC(e){return{name:e,type:"Path",zodSchema:Gs,parameterObject:{name:e,required:!0,in:"path",schema:{type:"string"}}}}o(oC,"getPathParameterFromName");function JS(e,t){let r=sC(e,t),n=aC(e,r);return{refsDependencyGraph:r,deepDependencyGraph:n}}o(JS,"getOpenAPISchemaDependencyGraph");function sC(e,t){let r={},n={};return e.forEach(i=>cC({schema:t(i),fromRef:i,getSchemaByRef:t,visitedRefs:r,refsDependencyGraph:n})),n}o(sC,"getRefsDependencyGraph");function aC(e,t){let r={},n={},i=o((s,a)=>{n[a].add(s),t[s]&&a!==s&&t[s].forEach(c=>{let u=`${a}__${c}`;r[u]||(r[u]=!0,i(c,a))})},"visit");return e.forEach(s=>{let a=t[s];a&&(n[s]||(n[s]=new Set),a.forEach(c=>i(c,s)))}),n}o(aC,"getDeepRefsDependencyGraph");function cC({schema:e,fromRef:t,getSchemaByRef:r,visitedRefs:n={},refsDependencyGraph:i={}}){let s=o(a=>{if(a.type!=="reference"||!a.data)return;let{schema:c,data:u}=a;if(i[u.fromRef]||(i[u.fromRef]=new Set),i[u.fromRef].add(c.$ref),n[c.$ref])return!0;n[u.fromRef]=!0,be(r(c.$ref),{data:{fromRef:c.$ref},onSchema:s})},"onSchema");return be(e,{data:{fromRef:t},onSchema:s}),{visitedRefs:n,refsDependencyGraph:i}}o(cC,"getSchemaRefsDependencyGraph");function ua(e,t,r){let n=[];return be(t,{onSchema:o(s=>{s.type==="reference"?n.push(s.schema):M(s.parentSchema)&&(s.type==="property"?e.validationErrors.push(bo(`${r} has both reference and properties`)):s.type==="additionalProperties"?e.validationErrors.push(bo(`${r} has both reference and additionalProperties`)):s.type==="array"?e.validationErrors.push(bo(`${r} is both reference and array schema`)):s.type==="composite"&&e.validationErrors.push(bo(`${r} has both reference and composite keyword`)))},"onSchema")}),n}o(ua,"getSchemaRefObjs");function XS(e,t){return t.map(i=>Kr(i.$ref)).reduce((i,s)=>{let a=e.dependencyGraph.deepDependencyGraph[s];return[...i,s,...Array.from(a??[])]},[])}o(XS,"getDeepSchemaRefObjs");function e_(e){var n;let t={},r={};return Object.entries(((n=e.openApiDoc.components)==null?void 0:n.schemas)??{}).forEach(([i,s])=>{let a=Rt(i,e.options.schemaSuffix);if(!t[a]){let c=e.getTagByZodSchemaName(a),u=e.resolveObject(s);u.enum?r[a]=ei(u):t[a]=W({schema:s,resolver:e,tag:c}).getCodeString(c)}}),{zodSchemas:t,enumZodSchemas:r}}o(e_,"getZodSchemasFromOpenAPIDoc");function t_(e){var r;let t=[];return Object.entries(((r=e.openApiDoc.components)==null?void 0:r.schemas)??{}).forEach(([n,i])=>{let s=Rt(n,e.options.schemaSuffix),a=e.resolveObject(i);!t.find(c=>c.zodSchemaName===s)&&a.enum&&t.push({zodSchemaName:s,code:ei(a)})}),t}o(t_,"getEnumZodSchemasFromOpenAPIDoc");function Eo({schema:e,nameSegments:t=[],includeSelf:r,...n}){r&&r_({schema:e,nameSegments:t,...n}),be(e,{data:{nameSegments:t},onSchema:o(s=>{var c;if(s.type==="reference")return!0;let a=[...((c=s.data)==null?void 0:c.nameSegments)??[]];s.type==="property"&&a.push(s.propertyName),r_({schema:s.schema,nameSegments:[...a],...n})},"onSchema")})}o(Eo,"updateExtractedEnumZodSchemaData");function r_({resolver:e,schema:t,schemaRef:r,schemaInfo:n,tags:i,nameSegments:s=[]}){if(!t||M(t)||!t.enum)return;let a=ei(t),c=e.extractedEnumZodSchemaData.find(u=>u.code===a);c?(c.meta.zodSchemaNameSegments.push(s),c.meta.tags.push(...i),c.meta.schemaRefs.push(...r?[r]:[]),c.meta.schemas.push(...t?[t]:[])):e.extractedEnumZodSchemaData.push({code:a,meta:{zodSchemaNameSegments:[s],tags:[...i],schemaRefs:r?[r]:[],schemas:t?[t]:[]}}),e.validationErrors.push(VS(r?`Schema ${Wn(r)} property ${s[s.length-1]}`:n??s.join("->")))}o(r_,"handleExtractedEnumZodSchemaDataUpdate");function n_(e){e.extractedEnumZodSchemaData.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(s=>s[s.length-1]).filter(Boolean),i=Fp(n);if(!i)throw new Error(`No common last segment found for enum: ${r.code}`);r.zodSchemaName=ho(i,e.options.enumSuffix,e.options.schemaSuffix)});let t=0;for(;t<5&&!cf(e);)uC(e,t+2),t++;if(cf(e)||e.extractedEnumZodSchemaData.filter(n=>!o_(e,n)).forEach(n=>{n.zodSchemaName=ho(n.meta.zodSchemaNameSegments[0].map(i=>uf(Z(i))).join(""),e.options.enumSuffix,e.options.schemaSuffix)}),!cf(e))throw new Error("Failed to resolve unique names for enum zod schemas")}o(n_,"resolveExtractedEnumZodSchemaNames");function cf(e){return e.extractedEnumZodSchemaData.every(t=>o_(e,t))}o(cf,"allExtractedEnumZodSchemaNamesAreUnique");function uC(e,t){e.extractedEnumZodSchemaData.forEach(r=>{let n=e.extractedEnumZodSchemaData.filter(({zodSchemaName:i})=>r.zodSchemaName===i);n.length!==1&&lC(n,t)})}o(uC,"additionalResolveExtractedEnumZodSchemaName");function lC(e,t=2){e.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(i=>i[i.length-t]).filter(Boolean);if(n.length===1){let i=[uf(Z(n[0])),r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=i}else{let i=Fp(n),s=[i?uf(Z(i)):"",r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=s}})}o(lC,"suffixWithPreviousSegmentName");function i_(e){e.extractedEnumZodSchemaData.forEach(t=>{let r=Le(t.meta.tags);t.tag=r.length===1?r[0]:e.options.defaultTag})}o(i_,"resolveExtractedEnumZodSchemaTags");function o_(e,t){return e.extractedEnumZodSchemaData.filter(({zodSchemaName:r})=>t.zodSchemaName===r).length===1}o(o_,"isUnique");function uf(e){return e.replace(/(Dto|DTO|Response|Request)/g,"")}o(uf,"sanitizeName");var lf=class lf{constructor(t,r){this.openApiDoc=t;this.options=r;this.dependencyGraph=JS(this.schemaRefs,this.getSchemaByRef.bind(this)),this.enumZodSchemas=t_(this),this.operationsByTag=uS(t,r),this.operationNames=hS(t,this.operationsByTag,r),this.initialize()}schemaData=[];zodSchemaData=[];compositeZodSchemaData=[];dependencyGraph;enumZodSchemas=[];extractedEnumZodSchemaData=[];operationsByTag={};operationNames=[];validationErrors=[];get docSchemas(){var t;return((t=this.openApiDoc.components)==null?void 0:t.schemas)??{}}get schemaRefs(){return Object.keys(this.docSchemas).map(pS)}getSchemaByRef(t){return this.docSchemas[Wn(t)]}getZodSchemaNameByRef(t){var n,i;let r=((n=this.getSchemaDataByRef(Kr(t)))==null?void 0:n.zodSchemaName)??((i=this.extractedEnumZodSchemaData.find(s=>s.zodSchemaName===t))==null?void 0:i.zodSchemaName);if(!r)throw new Error(`Zod schema not found for ref: ${t}`);return r}getRefByZodSchemaName(t){var r;return(r=this.schemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.ref}getTagByZodSchemaName(t){var u,l;if(!this.options.splitByTags)return this.options.defaultTag;let r=this.extractedEnumZodSchemaData.find(f=>f.zodSchemaName===t);if(r)return Nt(r.tag??this.options.defaultTag);let n=this.getRefByZodSchemaName(t),i=n?((u=this.getSchemaDataByRef(n))==null?void 0:u.tags)??[]:[],s=((l=this.zodSchemaData.find(f=>f.zodSchemaName===t))==null?void 0:l.tags)??[],a=Le(i,s),c=a.length===1?a[0]:this.options.defaultTag;return Nt(c??this.options.defaultTag)}getCodeByZodSchemaName(t){var r;return(r=this.zodSchemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.code}getZodSchemaNamesByCompositeCode(t){var r;return(r=this.compositeZodSchemaData.find(n=>n.code===t))==null?void 0:r.zodSchemas.map(n=>n.zodSchemaName)}setZodSchema(t,r,n){let i=this.zodSchemaData.find(s=>s.zodSchemaName===t);i?(i.code=r,i.tags=(i.tags??[]).concat(n)):this.zodSchemaData.push({zodSchemaName:t,code:r,tags:[n]})}addZodSchemaForCompositeCode(t,r,n,i){let s={zodSchemaName:n,zodSchema:r,schema:i},a=this.compositeZodSchemaData.find(c=>c.code===t);a?a.zodSchemas.push(s):this.compositeZodSchemaData.push({code:t,zodSchemas:[s]})}getCompositeZodSchemaByZodSchemaName(t){var n;let r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t));return(n=r==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.zodSchema}getSchemaByCompositeZodSchemaName(t){var r,n;return(n=(r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t)))==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.schema}getEnumZodSchemaDataByCode(t){return this.enumZodSchemas.find(r=>r.code===t)}getExtractedEnumZodSchemaDataByCode(t){return this.extractedEnumZodSchemaData.find(r=>r.code===t)}getExtractedEnumZodSchemaNamesReferencedBySchemaRef(t){return this.extractedEnumZodSchemaData.reduce((r,{zodSchemaName:n,meta:i})=>(n&&i.schemaRefs.includes(t)&&r.push(n),r),[])}getZodSchemas(){return this.zodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>({...t,[r]:n}),{})}getExtractedEnumZodSchemas(){return this.extractedEnumZodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>r?{...t,[r]:n}:t,{})}resolveObject(t){return M(t)?this.getSchemaByRef(t.$ref):t}isSchemaCircular(t){var r;return(r=this.dependencyGraph.deepDependencyGraph[t])==null?void 0:r.has(t)}getCircularSchemaChain(t,r=t,n=[]){var i,s;return(i=this.dependencyGraph.refsDependencyGraph[r])!=null&&i.has(t)?[...n,r,t]:Array.from(((s=this.dependencyGraph.refsDependencyGraph[r])==null?void 0:s.values())??[]).map(a=>{let c=this.getCircularSchemaChain(t,a,n);return c.length>0?[r,...c]:c}).flat()}getBaseUrl(){var r,n;let t=(n=(r=this.openApiDoc.servers)==null?void 0:r[0])==null?void 0:n.url;return this.options.baseUrl===""&&t?t:this.options.baseUrl}getZodSchemaObj(t){let r=this.getRefByZodSchemaName(t);if(r)return this.getSchemaByRef(r);let n=this.getSchemaByCompositeZodSchemaName(t);if(n)return n;let i=this.getExtractedEnumZodSchemaDataByName(t);if(i)return i.meta.schemas.reduce((s,a)=>({...s,...this.resolveObject(a)}),{})}getSchemaDataByRef(t){return this.schemaData.find(r=>r.ref===t)}getExtractedEnumZodSchemaDataByName(t){return this.extractedEnumZodSchemaData.find(({zodSchemaName:r})=>r===t)}initialize(){var t,r,n,i,s;this.schemaRefs.forEach(a=>{let c=Kr(a),u=Wn(c),l=Rt(u,this.options.schemaSuffix);this.schemaData.push({ref:c,name:u,zodSchemaName:l,tags:[]})});for(let a in this.openApiDoc.paths){let c=this.openApiDoc.paths[a],u=_r(c,Sr);for(let l in u){let f=u[l];if(!f||f.deprecated&&!this.options.withDeprecatedEndpoints)continue;let p=zr(f,this.options),d=mo({path:a,method:l,operation:f,operationsByTag:this.operationsByTag,options:this.options}),m=this.operationNames.filter(S=>S===d).length<=1,g=ie(Qr(d,m,p)),y=[];if((t=f.parameters)==null||t.map(S=>{let _=S,E=_.schema,b=`Operation ${f.operationId??a} parameter ${_.name}`;y.push(...ua(this,E,b)),this.options.extractEnums&&Eo({resolver:this,schema:E,schemaInfo:b,tags:[p],nameSegments:[g,_.name],includeSelf:!0})}),f.requestBody){let S=this.resolveObject(f.requestBody),E=Object.keys(S.content??{}).find(We);if(E){let b=(n=(r=S.content)==null?void 0:r[E])==null?void 0:n.schema,P=`Operation ${f.operationId} request body`;y.push(...ua(this,b,P)),this.options.extractEnums&&Eo({resolver:this,schema:b,schemaInfo:P,tags:[p],nameSegments:[sa(g)]})}}for(let S in f.responses){let _=this.resolveObject(f.responses[S]),b=Object.keys(_.content??{}).find(Yn);if(b){let P=(s=(i=_.content)==null?void 0:i[b])==null?void 0:s.schema,L=`Operation ${f.operationId} response body`;y.push(...ua(this,P,L)),this.options.extractEnums&&Eo({resolver:this,schema:P,schemaInfo:L,tags:[p],nameSegments:[aa({statusCode:S,operationName:d,isUniqueOperationName:m,tag:p})]})}}XS(this,y).forEach(S=>{let _=this.getSchemaDataByRef(S);_&&_.tags.push(p)})}}this.options.extractEnums&&(this.schemaRefs.forEach(a=>{var u;let c=Kr(a);Eo({resolver:this,schema:this.getSchemaByRef(c),schemaRef:c,tags:((u=this.getSchemaDataByRef(c))==null?void 0:u.tags)??[],nameSegments:[Wn(c)]})}),i_(this),this.handleDuplicateEnumZodSchemas(),n_(this))}handleDuplicateEnumZodSchemas(){let t=this.enumZodSchemas.map(({code:n})=>n),r=this.enumZodSchemas.filter(({code:n})=>t.includes(n));this.schemaData.forEach(n=>{var a;let i=(a=r.find(({zodSchemaName:c})=>c===n.zodSchemaName))==null?void 0:a.code;if(!i)return;let s=this.extractedEnumZodSchemaData.find(({code:c})=>c===i);s&&(n.tags.push(...s.meta.tags??[]),s.meta.schemaRefs.forEach(c=>{this.dependencyGraph.refsDependencyGraph[c]||(this.dependencyGraph.refsDependencyGraph[c]=new Set),this.dependencyGraph.refsDependencyGraph[c].add(n.ref),this.dependencyGraph.deepDependencyGraph[c]||(this.dependencyGraph.deepDependencyGraph[c]=new Set),this.dependencyGraph.deepDependencyGraph[c].add(n.ref)}))}),this.extractedEnumZodSchemaData.splice(0,this.extractedEnumZodSchemaData.length,...this.extractedEnumZodSchemaData.filter(({code:n})=>!t.includes(n)))}};o(lf,"SchemaResolver");var la=lf;function s_(e){let t=[],r={};function n(i,s){Array.isArray(s)||(s=[]),s.push(i),r[i]=!0,e[i]&&e[i].forEach(a=>{s.includes(a)||r[a]||n(a,s.slice(0))}),t.includes(i)||t.push(i)}return o(n,"visit"),Object.keys(e).forEach(i=>n(i,[])),t}o(s_,"topologicalSort");function a_(e,t){let r=Object.entries(e),n=r.filter(([i])=>t.includes(i)).sort(([i],[s])=>t.indexOf(i)-t.indexOf(s)).concat(r.filter(([i])=>!t.includes(i)));return Object.fromEntries(n)}o(a_,"sortObjKeysFromArray");function c_(e,t){let r=s_(e.dependencyGraph.deepDependencyGraph).map(i=>e.getZodSchemaNameByRef(i));return a_(t,r)}o(c_,"sortZodSchemasByTopology");function u_(e,t){let r={};return Object.entries(t).forEach(([n,i])=>{let s=e.getRefByZodSchemaName(n);s&&e.isSchemaCircular(s)?(e.validationErrors.push(HS(e.getCircularSchemaChain(s).join(" -> "))),r[Rt(n,e.options.schemaSuffix)]=`z.lazy(() => ${i})`):r[Rt(n,e.options.schemaSuffix)]=i}),r}o(u_,"wrapCircularZodSchemas");function pa(e,t){let r=new la(e,t),n=YS(r),i=e_(r),s={...i.zodSchemas,...r.getZodSchemas(),...i.enumZodSchemas};return s=u_(r,s),s=c_(r,s),s={...r.getExtractedEnumZodSchemas(),...s},{resolver:r,data:pC({resolver:r,endpoints:n,zodSchemas:s,options:t})}}o(pa,"getDataFromOpenAPIDoc");function pC({resolver:e,endpoints:t,zodSchemas:r,options:n}){let i=new Map;return n.splitByTags?(t.forEach(s=>{let a=So(s,n);l_(a,i).endpoints.push(s)}),Object.entries(r).forEach(([s,a])=>{let c=e.getTagByZodSchemaName(s);c&&(l_(c,i).zodSchemas[s]=a)}),i):(i.set(n.defaultTag,{endpoints:t,zodSchemas:r}),i)}o(pC,"splitDataByTags");function l_(e,t){return t.has(e)||t.set(e,{endpoints:[],zodSchemas:{}}),t.get(e)}o(l_,"getTagElement");async function p_(e,t){let{resolver:r,data:n}=await pa(e,t),i=[],s=[];return n.forEach(({endpoints:c,zodSchemas:u},l)=>{var d;((d=t.excludeTags)==null?void 0:d.findIndex(m=>m.toLowerCase()===l.toLowerCase()))===-1&&(Object.keys(u).forEach(m=>{let g=r.getRefByZodSchemaName(m),y=g?r.getSchemaByRef(g):r.getSchemaByCompositeZodSchemaName(m),v=Jn({zodSchemaName:m,schema:y,resolver:r}),S;y&&(S=Wr({schema:y,parentTypes:[v],resolver:r})),i.push({...v,metaType:"primitive",...S})}),c.forEach(m=>{let g="queries",y=Nt(l);s.push({name:Ks(m),importPath:Yr({type:g,tag:y,includeTagDir:!0,options:t}),namespace:t.tsNamespaces?U({type:g,tag:y,options:t}):void 0,isQuery:De(m),isMutation:Ot(m),params:fC({resolver:r,endpoint:m}),response:dC({resolver:r,endpoint:m})})}))}),{openApiDoc:e,models:i,queries:s}}o(p_,"getMetadataFromOpenAPIDoc");function fC({resolver:e,endpoint:t}){return t.parameters.map(r=>{var a,c,u,l;let n;if((a=r.parameterObject)!=null&&a.schema)n=e.resolveObject(r.parameterObject.schema);else if(r.bodyObject){let p=Object.keys(r.bodyObject.content??{}).find(We);p&&(n=e.resolveObject((u=(c=r.bodyObject.content)==null?void 0:c[p])==null?void 0:u.schema))}let i=Jn({zodSchemaName:r.zodSchema,schema:n,resolver:e}),s;return n&&(s=Wr({schema:n,parentTypes:[i],resolver:e})),{name:wt(r.name),isRequired:((l=r.parameterObject)==null?void 0:l.required)??!0,...i,...s,paramType:r.type}}).sort((r,n)=>{if(r.isRequired===n.isRequired){let i=["Path","Body","Query","Header"];return i.indexOf(r.paramType)-i.indexOf(n.paramType)}return r.isRequired?-1:1}).map(({paramType:r,...n})=>n)}o(fC,"getQueryMetadataParams");function dC({resolver:e,endpoint:t}){var a,c,u,l;let r,n=Object.keys(((a=t.responseObject)==null?void 0:a.content)??{}).find(Yn);n&&(r=e.resolveObject((l=(u=(c=t.responseObject)==null?void 0:c.content)==null?void 0:u[n])==null?void 0:l.schema));let i=Jn({zodSchemaName:t.response,schema:r,resolver:e}),s;return r&&(s=Wr({schema:r,parentTypes:[i],resolver:e})),{...i,metaType:"primitive",...s}}o(dC,"getQueryMetadataResponse");var f_={fileName:"acl/app.ability",extension:"ts"},$o="AllAbilities",ft={abilityTuple:"AbilityTuple",pureAbility:"PureAbility",forcedSubject:"ForcedSubject",subject:"subject"},pf={bindings:[ft.abilityTuple,ft.pureAbility,ft.forcedSubject,ft.subject],from:"@casl/ability"};var d_=o(e=>`Use${Z(ie(e.operationName))}Ability`,"getAbilityTypeName"),m_=o(e=>`canUse${Z(ie(e.operationName))}`,"getAbilityFunctionName"),h_=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].action},"getAbilityAction"),g_=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].subject},"getAbilitySubject"),y_=o(e=>{var t;return!!((t=ff(e))!=null&&t.length)},"hasAbilityConditions"),ff=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].conditionsTypes},"getAbilityConditionsTypes"),v_=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].description},"getAbilityDescription"),fa=o(e=>`${Z(e)}${$o}`,"getTagAllAbilitiesName");var ad=et(zt());var id=et(require("fs")),uP=et(require("path"));function lP(e){return id.default.readFileSync(uP.default.join(__dirname,`../${e}`),"utf-8")}o(lP,"readFileSync");function od(e){let t=`src/generators/templates/${e}.hbs`;return lP(t)}o(od,"readHbsTemplateSync");function sd(e){let t=`src/assets/${e}`;return lP(t)}o(sd,"readAssetSync");function an({output:e,fileName:t}){return`${e}/${t}`}o(an,"getOutputFileName");var Kt=et(zt());function pP(){oj(),sj(),aj(),cj(),uj(),lj(),pj(),fj()}o(pP,"registerAclHbsHelpers");function oj(){Kt.default.registerHelper("abilityTypeName",d_)}o(oj,"registerAbilityTypeNameHelper");function sj(){Kt.default.registerHelper("abilityFunctionName",m_)}o(sj,"registerAbilityFunctionNameHelper");function aj(){Kt.default.registerHelper("ablityAction",h_)}o(aj,"registerAbilityActionHelper");function cj(){Kt.default.registerHelper("ablitySubject",g_)}o(cj,"registerAbilitySubjectHelper");function uj(){Kt.default.registerHelper("hasAbilityConditions",y_)}o(uj,"registerHasAbilityConditionsHelper");function lj(){Kt.default.registerHelper("abilityConditionsTypes",ff)}o(lj,"registerAbilityConditionsTypesHelper");function pj(){Kt.default.registerHelper("abilityDescription",v_)}o(pj,"registerAbilityDescriptionHelper");function fj(){Kt.default.registerHelper("tagAllAbilitiesName",fa)}o(fj,"registerTagAllAbilitiesNameHelper");var Do=et(zt());function fP(){dj(),mj(),hj(),gj()}o(fP,"registerCommonHbsHelpers");function dj(){Do.default.registerHelper("isEqual",(e,t)=>e===t)}o(dj,"registerIsEqualHelper");function mj(){Do.default.registerHelper("commaSeparated",e=>e.join(", "))}o(mj,"registerCommaSeparatedListHelper");function hj(){Do.default.registerHelper("addAsteriskAfterNewLine",e=>e.replace(/\n/g,`
|
|
76
|
+
`)}return t.assign(`z.union([${e.oneOf.map(c=>W({schema:c,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(YR,"getOneOfZodSchema");function JR({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!(!_e(e)||!Array.isArray(e.type)))return e.type.length===1?W({schema:{...e,type:e.type[0]},resolver:r,meta:n,tag:i}):t.assign(`z.union([${e.type.map(s=>W({schema:{...e,type:s},resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(JR,"getArrayZodSchema");function XR({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!_e(e)||!e.anyOf)return;if(e.anyOf.length===1){let a=W({schema:e.anyOf[0],resolver:r,meta:n,tag:i});return t.assign(a.getCodeString(i,r.options))}let s=e.anyOf.map(a=>W({schema:a,resolver:r,meta:n,tag:i})).map(a=>a.getCodeString(i,r.options)).join(", ");return t.assign(`z.union([${s}])`)}o(XR,"getAnyOfZodSchema");function eC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!_e(e)||!e.allOf)return;if(e.allOf.length===1){let p=W({schema:e.allOf[0],resolver:r,meta:n,tag:i});return t.assign(p.getCodeString(i,r.options))}let{patchRequiredSchemaInLoop:s,noRequiredOnlyAllof:a,composedRequiredSchema:c}=iS(e),u=a.map(p=>{let d=W({schema:p,resolver:r,meta:n,tag:i});return r&&s(p,r.getSchemaByRef.bind(r)),d});c.required.length&&u.push(W({schema:c,resolver:r,meta:n,tag:i}));let l=u.at(0),f=u.slice(1).map(p=>`merge(${p.getCodeString(i,r.options)})`).join(".");return t.assign(`${l.getCodeString(i,r.options)}.${f}`)}o(eC,"getAllOfZodSchema");function tC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!_e(e))return;let s=e.type?e.type.toLowerCase():void 0;if(s&&Ht(s)){if(e.enum){if(s==="string")return rC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i});if(e.enum.some(a=>typeof a=="string"))return t.assign("z.never()");if(e.enum.length===1){let a=e.enum[0];return t.assign(`z.literal(${a===null?"null":a})`)}return t.assign(`z.union([${e.enum.map(a=>`z.literal(${a===null?"null":a})`).join(", ")}])`)}return t.assign(he(s).with("integer",()=>"z.number()").with("string",()=>he(e.format).with("binary",()=>Us).otherwise(()=>Gs)).otherwise(a=>`z.${a}()`))}}o(tC,"getPrimitiveZodSchema");function rC({resolver:e,schema:t,zodSchema:r,meta:n,tag:i}){var l;if(!_e(t))return;let s=ei(t);if(!e.options.extractEnums)return r.assign(s);let a=e.getEnumZodSchemaDataByCode(s);if(a)return((l=r.meta.parent)==null?void 0:l.ref)===e.getRefByZodSchemaName(a.zodSchemaName)?r.assign(a.code):new Po({$ref:e.getRefByZodSchemaName(a.zodSchemaName)},e,n).inherit(r).assign(s);let c=e.getExtractedEnumZodSchemaDataByCode(s);if(!c)return r.assign(s);if(!c.zodSchemaName||!c.tag)throw new Error(`Enum zod schema name or tag not resolved for code: ${s}`);let u=e.options.tsNamespaces&&c.tag!==i?`${U({type:"models",tag:c.tag,options:e.options})}.`:"";return r.assign(`${u}${c.zodSchemaName}`)}o(rC,"getEnumZodSchema");function ei(e){var t;return`${oo}([${(t=e.enum)==null?void 0:t.map(r=>r===null?"null":`"${r}"`).join(", ")}])`}o(ei,"getEnumZodSchemaCode");function ZS(e){return`${oo}([${e.map(t=>`"${t}"`).join(", ")}])`}o(ZS,"getEnumZodSchemaCodeFromEnumNames");function ti({schema:e,zodSchema:t,fallbackName:r,resolver:n,tag:i}){var c;let s=t.getCodeString();if((!Pe(s)||t.ref===void 0)&&r){if(t.complexity<Yp)return s;let u=Rt(r,n.options.schemaSuffix);for(;n.getCodeByZodSchemaName(u);){if((c=n.getZodSchemaNamesByCompositeCode(s))!=null&&c.includes(u))return u;if(n.getCodeByZodSchemaName(u)===u)return u;throw new Error(`Can't uniquely resolve zod schema name: ${u}`)}return n.setZodSchema(u,s,i),n.addZodSchemaForCompositeCode(s,t,u,e),u}let a=n.getCodeByZodSchemaName(s);if(!a&&t.ref&&(a=n.getCodeByZodSchemaName(n.getZodSchemaNameByRef(t.ref))),t.ref&&a)return oe(0,n.getSchemaByRef(t.ref))<Yp?n.getCodeByZodSchemaName(s):s;throw new Error(`Invalid ref: ${t.ref}`)}o(ti,"resolveZodSchemaName");function zS({resolver:e,endpoint:t,operation:r}){let n=r["x-acl"];return n==null?void 0:n.map(i=>{let s=Object.keys(i.conditions??{}).reduce((a,c)=>{let u=nC({resolver:e,endpoint:t,acl:n,name:c});return u?[...a,u]:(e.validationErrors.push(BS(c,r,t)),a)},[]);return{...i,conditionsTypes:s}})}o(zS,"getEndpointAcl");function nC({resolver:e,endpoint:t,acl:r,name:n}){var p,d,m,g,y,v,S,_,E,b;let i=(d=(p=r[0])==null?void 0:p.conditions)==null?void 0:d[n];if(!i)return;let s=i.replace(/^\$[^.]*\./,"").split("."),a,c,u,l=0,f=t.parameters.find(({name:P})=>P===s[l]);if(f)c=(m=f.parameterObject)==null?void 0:m.required,a=(g=f.parameterObject)==null?void 0:g.schema,u=`${f.name} ${pr(f.type)} parameter`,l++;else{let P=t.parameters.find(({bodyObject:$e})=>!!$e),T=Object.keys(((y=P==null?void 0:P.bodyObject)==null?void 0:y.content)??{}).find(We);T&&(a=(_=(S=(v=P==null?void 0:P.bodyObject)==null?void 0:v.content)==null?void 0:S[T])==null?void 0:_.schema,u=`${De(t)?"query":"mutation"} data`)}for(;a&&l<s.length;){let P=e.resolveObject(a);a=(E=Object.entries(P.properties??{}).find(([T])=>T===s[l]))==null?void 0:E[1],c=((b=P.required)==null?void 0:b.includes(s[l]))??!1,l++}if(a)return{name:n,type:M(a)?void 0:a.type,zodSchemaName:M(a)?e.getZodSchemaNameByRef(a.$ref):void 0,required:c,info:u}}o(nC,"getEndpointAclConditionPropertyType");function KS({resolver:e,operation:t,operationName:r,isUniqueOperationName:n,tag:i}){var m,g;let s=e.resolveObject(t.requestBody);if(!s)return;let c=Object.keys(s.content??{}).find(We);if(!c)return;let u=(g=(m=s.content)==null?void 0:m[c])==null?void 0:g.schema;if(!u)return;let l=W({schema:u,resolver:e,meta:{isRequired:s.required??!0},tag:i}),f=e.resolveObject(u),p=ti({schema:f,zodSchema:l,fallbackName:sa(Qr(r,n,i)),resolver:e,tag:i}),d=Ct({schema:f,meta:l.meta,options:e.options});return{endpointParameter:{name:rS,type:"Body",description:s.description,zodSchema:p+d,bodyObject:s},requestFormat:c}}o(KS,"getEndpointBody");function QS({resolver:e,param:t,operationName:r,isUniqueOperationName:n,tag:i}){let s=e.resolveObject(t);if(!aS.includes(s.in))return;let a={};if(s.content){let m=Object.keys(s.content??{}),g=m.find(We);if(!g)throw new Error(`Unsupported media type for param ${s.name}: ${m.join(", ")}`);let y=s.content[g];if(!y)throw new Error(`No content with media type for param ${s.name}: ${g}`);a=(y==null?void 0:y.schema)??y}else s.schema&&(a=s.schema);e.options.withDescription&&a&&(a.description=(s.description??"").trim());let c=SS(Qr(r,n,i),s.name),u;if(yS(s)){let m=ho(c,e.options.enumSuffix,e.options.schemaSuffix),g=ZS(s["x-enumNames"]);e.setZodSchema(m,g,i),u=m}let l=W({schema:a,resolver:e,meta:{isRequired:s.in==="path"?!0:s.required??!1},tag:i}),f=e.resolveObject(a),p=Ct({schema:f,meta:l.meta,options:e.options}),d=ti({schema:f,zodSchema:l.assign(l.getCodeString(i)+p),fallbackName:c,resolver:e,tag:i});return{name:he(s.in).with("path",()=>tf(s.name)).otherwise(()=>s.name),type:he(s.in).with("header",()=>"Header").with("query",()=>"Query").with("path",()=>"Path").run(),zodSchema:d,parameterObject:s,parameterSortingEnumSchemaName:u}}o(QS,"getEndpointParameter");function YS(e){var r,n,i,s,a;let t=[];for(let c in e.openApiDoc.paths){let u=e.openApiDoc.paths[c],l=_r(u,Sr),f=WS(u.parameters??[]);for(let p in l){let d=l[p];if(!d||d.deprecated&&!e.options.withDeprecatedEndpoints)continue;let m=d.operationId&&d.operationId!==wt(d.operationId);d.operationId&&m&&e.validationErrors.push(LS(d.operationId));let g=Object.entries({...f,...WS(d.parameters??[])}).map(([,b])=>b),y=mo({path:c,method:p,operation:d,operationsByTag:e.operationsByTag,options:e.options}),v=e.operationNames.filter(b=>b===y).length<=1,S=zr(d,e.options),_={method:p,path:gS(c),operationName:y,description:d.description,summary:d.summary,tags:(r=d.tags)==null?void 0:r.map(Nt),requestFormat:"application/json",parameters:[],response:"",errors:[],responseStatusCodes:[],mediaUpload:!!d["x-media-upload"],mediaDownload:!!d["x-media-download"]};if(d.requestBody){let b=KS({resolver:e,operation:d,operationName:y,isUniqueOperationName:v,tag:S});b&&(_.parameters.push(b.endpointParameter),_.requestFormat=b.requestFormat)}for(let b of g){let P=QS({resolver:e,param:b,operationName:y,isUniqueOperationName:v,tag:S});P&&_.parameters.push(P)}let E=iC(_);E.forEach(b=>{_.parameters.push(b)}),E.length>0&&e.validationErrors.push(FS(E,c));for(let b in d.responses){_.responseStatusCodes.push(b);let P=e.resolveObject(d.responses[b]),T=Object.keys(P.content??{}).find(Yn),$e,se;if(T?(_.responseFormat=T,$e=(i=(n=P.content)==null?void 0:n[T])==null?void 0:i.schema):(se=io,b==="200"&&e.validationErrors.push(US({received:"200",expected:"204"},d,_))),$e){let K=W({schema:$e,resolver:e,meta:{isRequired:!0},tag:S}),Oe=e.resolveObject($e);se=ti({schema:Oe,zodSchema:K,fallbackName:K.ref?void 0:aa({statusCode:b,operationName:y,isUniqueOperationName:v,tag:S}),resolver:e,tag:S})+Ct({schema:Oe,meta:K.meta,options:e.options})}if(se){let K=Number(b);ia(K)?(_.response=se,_.responseObject=P,_.responseDescription=P.description):b!=="default"&&oa(K)&&_.errors.push({zodSchema:se,status:K,description:P.description})}}_.response||(_.response=io),_.acl=zS({resolver:e,endpoint:_,operation:d}),(s=d.security)!=null&&s[0].Authorization&&!_.responseStatusCodes.includes("401")&&e.validationErrors.push(of("401",d,_)),(a=_.acl)!=null&&a[0]&&!_.responseStatusCodes.includes("403")&&e.validationErrors.push(of("403",d,_)),t.push(_)}}return t}o(YS,"getEndpointsFromOpenAPIDoc");function WS(e){return Object.fromEntries((e??[]).map(t=>[M(t)?t.$ref:t.name,t]))}o(WS,"getParameters");function iC(e){return[...e.path.matchAll(/:([a-zA-Z0-9_]+)/g)].map(r=>r[1]).filter(r=>e.parameters.findIndex(({name:n})=>n===r)===-1).map(r=>oC(r))}o(iC,"getMissingPathParameters");function oC(e){return{name:e,type:"Path",zodSchema:Gs,parameterObject:{name:e,required:!0,in:"path",schema:{type:"string"}}}}o(oC,"getPathParameterFromName");function JS(e,t){let r=sC(e,t),n=aC(e,r);return{refsDependencyGraph:r,deepDependencyGraph:n}}o(JS,"getOpenAPISchemaDependencyGraph");function sC(e,t){let r={},n={};return e.forEach(i=>cC({schema:t(i),fromRef:i,getSchemaByRef:t,visitedRefs:r,refsDependencyGraph:n})),n}o(sC,"getRefsDependencyGraph");function aC(e,t){let r={},n={},i=o((s,a)=>{n[a].add(s),t[s]&&a!==s&&t[s].forEach(c=>{let u=`${a}__${c}`;r[u]||(r[u]=!0,i(c,a))})},"visit");return e.forEach(s=>{let a=t[s];a&&(n[s]||(n[s]=new Set),a.forEach(c=>i(c,s)))}),n}o(aC,"getDeepRefsDependencyGraph");function cC({schema:e,fromRef:t,getSchemaByRef:r,visitedRefs:n={},refsDependencyGraph:i={}}){let s=o(a=>{if(a.type!=="reference"||!a.data)return;let{schema:c,data:u}=a;if(i[u.fromRef]||(i[u.fromRef]=new Set),i[u.fromRef].add(c.$ref),n[c.$ref])return!0;n[u.fromRef]=!0,be(r(c.$ref),{data:{fromRef:c.$ref},onSchema:s})},"onSchema");return be(e,{data:{fromRef:t},onSchema:s}),{visitedRefs:n,refsDependencyGraph:i}}o(cC,"getSchemaRefsDependencyGraph");function ua(e,t,r){let n=[];return be(t,{onSchema:o(s=>{s.type==="reference"?n.push(s.schema):M(s.parentSchema)&&(s.type==="property"?e.validationErrors.push(bo(`${r} has both reference and properties`)):s.type==="additionalProperties"?e.validationErrors.push(bo(`${r} has both reference and additionalProperties`)):s.type==="array"?e.validationErrors.push(bo(`${r} is both reference and array schema`)):s.type==="composite"&&e.validationErrors.push(bo(`${r} has both reference and composite keyword`)))},"onSchema")}),n}o(ua,"getSchemaRefObjs");function XS(e,t){return t.map(i=>Kr(i.$ref)).reduce((i,s)=>{let a=e.dependencyGraph.deepDependencyGraph[s];return[...i,s,...Array.from(a??[])]},[])}o(XS,"getDeepSchemaRefObjs");function e_(e){var n;let t={},r={};return Object.entries(((n=e.openApiDoc.components)==null?void 0:n.schemas)??{}).forEach(([i,s])=>{let a=Rt(i,e.options.schemaSuffix);if(!t[a]){let c=e.getTagByZodSchemaName(a),u=e.resolveObject(s);u.enum?r[a]=ei(u):t[a]=W({schema:s,resolver:e,tag:c}).getCodeString(c)}}),{zodSchemas:t,enumZodSchemas:r}}o(e_,"getZodSchemasFromOpenAPIDoc");function t_(e){var r;let t=[];return Object.entries(((r=e.openApiDoc.components)==null?void 0:r.schemas)??{}).forEach(([n,i])=>{let s=Rt(n,e.options.schemaSuffix),a=e.resolveObject(i);!t.find(c=>c.zodSchemaName===s)&&a.enum&&t.push({zodSchemaName:s,code:ei(a)})}),t}o(t_,"getEnumZodSchemasFromOpenAPIDoc");function Eo({schema:e,nameSegments:t=[],includeSelf:r,...n}){r&&r_({schema:e,nameSegments:t,...n}),be(e,{data:{nameSegments:t},onSchema:o(s=>{var c;if(s.type==="reference")return!0;let a=[...((c=s.data)==null?void 0:c.nameSegments)??[]];s.type==="property"&&a.push(s.propertyName),r_({schema:s.schema,nameSegments:[...a],...n})},"onSchema")})}o(Eo,"updateExtractedEnumZodSchemaData");function r_({resolver:e,schema:t,schemaRef:r,schemaInfo:n,tags:i,nameSegments:s=[]}){if(!t||M(t)||!t.enum)return;let a=ei(t),c=e.extractedEnumZodSchemaData.find(u=>u.code===a);c?(c.meta.zodSchemaNameSegments.push(s),c.meta.tags.push(...i),c.meta.schemaRefs.push(...r?[r]:[]),c.meta.schemas.push(...t?[t]:[])):e.extractedEnumZodSchemaData.push({code:a,meta:{zodSchemaNameSegments:[s],tags:[...i],schemaRefs:r?[r]:[],schemas:t?[t]:[]}}),e.validationErrors.push(VS(r?`Schema ${Wn(r)} property ${s[s.length-1]}`:n??s.join("->")))}o(r_,"handleExtractedEnumZodSchemaDataUpdate");function n_(e){e.extractedEnumZodSchemaData.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(s=>s[s.length-1]).filter(Boolean),i=Fp(n);if(!i)throw new Error(`No common last segment found for enum: ${r.code}`);r.zodSchemaName=ho(i,e.options.enumSuffix,e.options.schemaSuffix)});let t=0;for(;t<5&&!cf(e);)uC(e,t+2),t++;if(cf(e)||e.extractedEnumZodSchemaData.filter(n=>!o_(e,n)).forEach(n=>{n.zodSchemaName=ho(n.meta.zodSchemaNameSegments[0].map(i=>uf(Z(i))).join(""),e.options.enumSuffix,e.options.schemaSuffix)}),!cf(e))throw new Error("Failed to resolve unique names for enum zod schemas")}o(n_,"resolveExtractedEnumZodSchemaNames");function cf(e){return e.extractedEnumZodSchemaData.every(t=>o_(e,t))}o(cf,"allExtractedEnumZodSchemaNamesAreUnique");function uC(e,t){e.extractedEnumZodSchemaData.forEach(r=>{let n=e.extractedEnumZodSchemaData.filter(({zodSchemaName:i})=>r.zodSchemaName===i);n.length!==1&&lC(n,t)})}o(uC,"additionalResolveExtractedEnumZodSchemaName");function lC(e,t=2){e.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(i=>i[i.length-t]).filter(Boolean);if(n.length===1){let i=[uf(Z(n[0])),r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=i}else{let i=Fp(n),s=[i?uf(Z(i)):"",r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=s}})}o(lC,"suffixWithPreviousSegmentName");function i_(e){e.extractedEnumZodSchemaData.forEach(t=>{let r=Le(t.meta.tags);t.tag=r.length===1?r[0]:e.options.defaultTag})}o(i_,"resolveExtractedEnumZodSchemaTags");function o_(e,t){return e.extractedEnumZodSchemaData.filter(({zodSchemaName:r})=>t.zodSchemaName===r).length===1}o(o_,"isUnique");function uf(e){return e.replace(/(Dto|DTO|Response|Request)/g,"")}o(uf,"sanitizeName");var lf=class lf{constructor(t,r){this.openApiDoc=t;this.options=r;this.dependencyGraph=JS(this.schemaRefs,this.getSchemaByRef.bind(this)),this.enumZodSchemas=t_(this),this.operationsByTag=uS(t,r),this.operationNames=hS(t,this.operationsByTag,r),this.initialize()}schemaData=[];zodSchemaData=[];compositeZodSchemaData=[];dependencyGraph;enumZodSchemas=[];extractedEnumZodSchemaData=[];operationsByTag={};operationNames=[];validationErrors=[];get docSchemas(){var t;return((t=this.openApiDoc.components)==null?void 0:t.schemas)??{}}get schemaRefs(){return Object.keys(this.docSchemas).map(pS)}getSchemaByRef(t){return this.docSchemas[Wn(t)]}getZodSchemaNameByRef(t){var n,i;let r=((n=this.getSchemaDataByRef(Kr(t)))==null?void 0:n.zodSchemaName)??((i=this.extractedEnumZodSchemaData.find(s=>s.zodSchemaName===t))==null?void 0:i.zodSchemaName);if(!r)throw new Error(`Zod schema not found for ref: ${t}`);return r}getRefByZodSchemaName(t){var r;return(r=this.schemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.ref}getTagByZodSchemaName(t){var u,l;if(!this.options.splitByTags)return this.options.defaultTag;let r=this.extractedEnumZodSchemaData.find(f=>f.zodSchemaName===t);if(r)return Nt(r.tag??this.options.defaultTag);let n=this.getRefByZodSchemaName(t),i=n?((u=this.getSchemaDataByRef(n))==null?void 0:u.tags)??[]:[],s=((l=this.zodSchemaData.find(f=>f.zodSchemaName===t))==null?void 0:l.tags)??[],a=Le(i,s),c=a.length===1?a[0]:this.options.defaultTag;return Nt(c??this.options.defaultTag)}getCodeByZodSchemaName(t){var r;return(r=this.zodSchemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.code}getZodSchemaNamesByCompositeCode(t){var r;return(r=this.compositeZodSchemaData.find(n=>n.code===t))==null?void 0:r.zodSchemas.map(n=>n.zodSchemaName)}setZodSchema(t,r,n){let i=this.zodSchemaData.find(s=>s.zodSchemaName===t);i?(i.code=r,i.tags=(i.tags??[]).concat(n)):this.zodSchemaData.push({zodSchemaName:t,code:r,tags:[n]})}addZodSchemaForCompositeCode(t,r,n,i){let s={zodSchemaName:n,zodSchema:r,schema:i},a=this.compositeZodSchemaData.find(c=>c.code===t);a?a.zodSchemas.push(s):this.compositeZodSchemaData.push({code:t,zodSchemas:[s]})}getCompositeZodSchemaByZodSchemaName(t){var n;let r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t));return(n=r==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.zodSchema}getSchemaByCompositeZodSchemaName(t){var r,n;return(n=(r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t)))==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.schema}getEnumZodSchemaDataByCode(t){return this.enumZodSchemas.find(r=>r.code===t)}getExtractedEnumZodSchemaDataByCode(t){return this.extractedEnumZodSchemaData.find(r=>r.code===t)}getExtractedEnumZodSchemaNamesReferencedBySchemaRef(t){return this.extractedEnumZodSchemaData.reduce((r,{zodSchemaName:n,meta:i})=>(n&&i.schemaRefs.includes(t)&&r.push(n),r),[])}getZodSchemas(){return this.zodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>({...t,[r]:n}),{})}getExtractedEnumZodSchemas(){return this.extractedEnumZodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>r?{...t,[r]:n}:t,{})}resolveObject(t){return M(t)?this.getSchemaByRef(t.$ref):t}isSchemaCircular(t){var r;return(r=this.dependencyGraph.deepDependencyGraph[t])==null?void 0:r.has(t)}getCircularSchemaChain(t,r=t,n=[],i=[]){var s,a;return i.includes(r)?[]:(i.push(r),(s=this.dependencyGraph.refsDependencyGraph[r])!=null&&s.has(t)?[...n,r,t]:Array.from(((a=this.dependencyGraph.refsDependencyGraph[r])==null?void 0:a.values())??[]).map(c=>{let u=this.getCircularSchemaChain(t,c,n,i);return u.length>0?[r,...u]:u}).flat())}getBaseUrl(){var r,n;let t=(n=(r=this.openApiDoc.servers)==null?void 0:r[0])==null?void 0:n.url;return this.options.baseUrl===""&&t?t:this.options.baseUrl}getZodSchemaObj(t){let r=this.getRefByZodSchemaName(t);if(r)return this.getSchemaByRef(r);let n=this.getSchemaByCompositeZodSchemaName(t);if(n)return n;let i=this.getExtractedEnumZodSchemaDataByName(t);if(i)return i.meta.schemas.reduce((s,a)=>({...s,...this.resolveObject(a)}),{})}getSchemaDataByRef(t){return this.schemaData.find(r=>r.ref===t)}getExtractedEnumZodSchemaDataByName(t){return this.extractedEnumZodSchemaData.find(({zodSchemaName:r})=>r===t)}initialize(){var t,r,n,i,s;this.schemaRefs.forEach(a=>{let c=Kr(a),u=Wn(c),l=Rt(u,this.options.schemaSuffix);this.schemaData.push({ref:c,name:u,zodSchemaName:l,tags:[]})});for(let a in this.openApiDoc.paths){let c=this.openApiDoc.paths[a],u=_r(c,Sr);for(let l in u){let f=u[l];if(!f||f.deprecated&&!this.options.withDeprecatedEndpoints)continue;let p=zr(f,this.options),d=mo({path:a,method:l,operation:f,operationsByTag:this.operationsByTag,options:this.options}),m=this.operationNames.filter(S=>S===d).length<=1,g=ie(Qr(d,m,p)),y=[];if((t=f.parameters)==null||t.map(S=>{let _=S,E=_.schema,b=`Operation ${f.operationId??a} parameter ${_.name}`;y.push(...ua(this,E,b)),this.options.extractEnums&&Eo({resolver:this,schema:E,schemaInfo:b,tags:[p],nameSegments:[g,_.name],includeSelf:!0})}),f.requestBody){let S=this.resolveObject(f.requestBody),E=Object.keys(S.content??{}).find(We);if(E){let b=(n=(r=S.content)==null?void 0:r[E])==null?void 0:n.schema,P=`Operation ${f.operationId} request body`;y.push(...ua(this,b,P)),this.options.extractEnums&&Eo({resolver:this,schema:b,schemaInfo:P,tags:[p],nameSegments:[sa(g)]})}}for(let S in f.responses){let _=this.resolveObject(f.responses[S]),b=Object.keys(_.content??{}).find(Yn);if(b){let P=(s=(i=_.content)==null?void 0:i[b])==null?void 0:s.schema,L=`Operation ${f.operationId} response body`;y.push(...ua(this,P,L)),this.options.extractEnums&&Eo({resolver:this,schema:P,schemaInfo:L,tags:[p],nameSegments:[aa({statusCode:S,operationName:d,isUniqueOperationName:m,tag:p})]})}}XS(this,y).forEach(S=>{let _=this.getSchemaDataByRef(S);_&&_.tags.push(p)})}}this.options.extractEnums&&(this.schemaRefs.forEach(a=>{var u;let c=Kr(a);Eo({resolver:this,schema:this.getSchemaByRef(c),schemaRef:c,tags:((u=this.getSchemaDataByRef(c))==null?void 0:u.tags)??[],nameSegments:[Wn(c)]})}),i_(this),this.handleDuplicateEnumZodSchemas(),n_(this))}handleDuplicateEnumZodSchemas(){let t=this.enumZodSchemas.map(({code:n})=>n),r=this.enumZodSchemas.filter(({code:n})=>t.includes(n));this.schemaData.forEach(n=>{var a;let i=(a=r.find(({zodSchemaName:c})=>c===n.zodSchemaName))==null?void 0:a.code;if(!i)return;let s=this.extractedEnumZodSchemaData.find(({code:c})=>c===i);s&&(n.tags.push(...s.meta.tags??[]),s.meta.schemaRefs.forEach(c=>{this.dependencyGraph.refsDependencyGraph[c]||(this.dependencyGraph.refsDependencyGraph[c]=new Set),this.dependencyGraph.refsDependencyGraph[c].add(n.ref),this.dependencyGraph.deepDependencyGraph[c]||(this.dependencyGraph.deepDependencyGraph[c]=new Set),this.dependencyGraph.deepDependencyGraph[c].add(n.ref)}))}),this.extractedEnumZodSchemaData.splice(0,this.extractedEnumZodSchemaData.length,...this.extractedEnumZodSchemaData.filter(({code:n})=>!t.includes(n)))}};o(lf,"SchemaResolver");var la=lf;function s_(e){let t=[],r={};function n(i,s){Array.isArray(s)||(s=[]),s.push(i),r[i]=!0,e[i]&&e[i].forEach(a=>{s.includes(a)||r[a]||n(a,s.slice(0))}),t.includes(i)||t.push(i)}return o(n,"visit"),Object.keys(e).forEach(i=>n(i,[])),t}o(s_,"topologicalSort");function a_(e,t){let r=Object.entries(e),n=r.filter(([i])=>t.includes(i)).sort(([i],[s])=>t.indexOf(i)-t.indexOf(s)).concat(r.filter(([i])=>!t.includes(i)));return Object.fromEntries(n)}o(a_,"sortObjKeysFromArray");function c_(e,t){let r=s_(e.dependencyGraph.deepDependencyGraph).map(i=>e.getZodSchemaNameByRef(i));return a_(t,r)}o(c_,"sortZodSchemasByTopology");function u_(e,t){let r={};return Object.entries(t).forEach(([n,i])=>{let s=e.getRefByZodSchemaName(n);s&&e.isSchemaCircular(s)?(e.validationErrors.push(HS(e.getCircularSchemaChain(s).join(" -> "))),r[Rt(n,e.options.schemaSuffix)]=`z.lazy(() => ${i})`):r[Rt(n,e.options.schemaSuffix)]=i}),r}o(u_,"wrapCircularZodSchemas");function pa(e,t){let r=new la(e,t),n=YS(r),i=e_(r),s={...i.zodSchemas,...r.getZodSchemas(),...i.enumZodSchemas};return s=u_(r,s),s=c_(r,s),s={...r.getExtractedEnumZodSchemas(),...s},{resolver:r,data:pC({resolver:r,endpoints:n,zodSchemas:s,options:t})}}o(pa,"getDataFromOpenAPIDoc");function pC({resolver:e,endpoints:t,zodSchemas:r,options:n}){let i=new Map;return n.splitByTags?(t.forEach(s=>{let a=So(s,n);l_(a,i).endpoints.push(s)}),Object.entries(r).forEach(([s,a])=>{let c=e.getTagByZodSchemaName(s);c&&(l_(c,i).zodSchemas[s]=a)}),i):(i.set(n.defaultTag,{endpoints:t,zodSchemas:r}),i)}o(pC,"splitDataByTags");function l_(e,t){return t.has(e)||t.set(e,{endpoints:[],zodSchemas:{}}),t.get(e)}o(l_,"getTagElement");async function p_(e,t){let{resolver:r,data:n}=await pa(e,t),i=[],s=[];return n.forEach(({endpoints:c,zodSchemas:u},l)=>{var d;((d=t.excludeTags)==null?void 0:d.findIndex(m=>m.toLowerCase()===l.toLowerCase()))===-1&&(Object.keys(u).forEach(m=>{let g=r.getRefByZodSchemaName(m),y=g?r.getSchemaByRef(g):r.getSchemaByCompositeZodSchemaName(m),v=Jn({zodSchemaName:m,schema:y,resolver:r}),S;y&&(S=Wr({schema:y,parentTypes:[v],resolver:r})),i.push({...v,metaType:"primitive",...S})}),c.forEach(m=>{let g="queries",y=Nt(l);s.push({name:Ks(m),importPath:Yr({type:g,tag:y,includeTagDir:!0,options:t}),namespace:t.tsNamespaces?U({type:g,tag:y,options:t}):void 0,isQuery:De(m),isMutation:Ot(m),params:fC({resolver:r,endpoint:m}),response:dC({resolver:r,endpoint:m})})}))}),{openApiDoc:e,models:i,queries:s}}o(p_,"getMetadataFromOpenAPIDoc");function fC({resolver:e,endpoint:t}){return t.parameters.map(r=>{var a,c,u,l;let n;if((a=r.parameterObject)!=null&&a.schema)n=e.resolveObject(r.parameterObject.schema);else if(r.bodyObject){let p=Object.keys(r.bodyObject.content??{}).find(We);p&&(n=e.resolveObject((u=(c=r.bodyObject.content)==null?void 0:c[p])==null?void 0:u.schema))}let i=Jn({zodSchemaName:r.zodSchema,schema:n,resolver:e}),s;return n&&(s=Wr({schema:n,parentTypes:[i],resolver:e})),{name:wt(r.name),isRequired:((l=r.parameterObject)==null?void 0:l.required)??!0,...i,...s,paramType:r.type}}).sort((r,n)=>{if(r.isRequired===n.isRequired){let i=["Path","Body","Query","Header"];return i.indexOf(r.paramType)-i.indexOf(n.paramType)}return r.isRequired?-1:1}).map(({paramType:r,...n})=>n)}o(fC,"getQueryMetadataParams");function dC({resolver:e,endpoint:t}){var a,c,u,l;let r,n=Object.keys(((a=t.responseObject)==null?void 0:a.content)??{}).find(Yn);n&&(r=e.resolveObject((l=(u=(c=t.responseObject)==null?void 0:c.content)==null?void 0:u[n])==null?void 0:l.schema));let i=Jn({zodSchemaName:t.response,schema:r,resolver:e}),s;return r&&(s=Wr({schema:r,parentTypes:[i],resolver:e})),{...i,metaType:"primitive",...s}}o(dC,"getQueryMetadataResponse");var f_={fileName:"acl/app.ability",extension:"ts"},$o="AllAbilities",ft={abilityTuple:"AbilityTuple",pureAbility:"PureAbility",forcedSubject:"ForcedSubject",subject:"subject"},pf={bindings:[ft.abilityTuple,ft.pureAbility,ft.forcedSubject,ft.subject],from:"@casl/ability"};var d_=o(e=>`Use${Z(ie(e.operationName))}Ability`,"getAbilityTypeName"),m_=o(e=>`canUse${Z(ie(e.operationName))}`,"getAbilityFunctionName"),h_=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].action},"getAbilityAction"),g_=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].subject},"getAbilitySubject"),y_=o(e=>{var t;return!!((t=ff(e))!=null&&t.length)},"hasAbilityConditions"),ff=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].conditionsTypes},"getAbilityConditionsTypes"),v_=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].description},"getAbilityDescription"),fa=o(e=>`${Z(e)}${$o}`,"getTagAllAbilitiesName");var ad=et(zt());var id=et(require("fs")),uP=et(require("path"));function lP(e){return id.default.readFileSync(uP.default.join(__dirname,`../${e}`),"utf-8")}o(lP,"readFileSync");function od(e){let t=`src/generators/templates/${e}.hbs`;return lP(t)}o(od,"readHbsTemplateSync");function sd(e){let t=`src/assets/${e}`;return lP(t)}o(sd,"readAssetSync");function an({output:e,fileName:t}){return`${e}/${t}`}o(an,"getOutputFileName");var Kt=et(zt());function pP(){oj(),sj(),aj(),cj(),uj(),lj(),pj(),fj()}o(pP,"registerAclHbsHelpers");function oj(){Kt.default.registerHelper("abilityTypeName",d_)}o(oj,"registerAbilityTypeNameHelper");function sj(){Kt.default.registerHelper("abilityFunctionName",m_)}o(sj,"registerAbilityFunctionNameHelper");function aj(){Kt.default.registerHelper("ablityAction",h_)}o(aj,"registerAbilityActionHelper");function cj(){Kt.default.registerHelper("ablitySubject",g_)}o(cj,"registerAbilitySubjectHelper");function uj(){Kt.default.registerHelper("hasAbilityConditions",y_)}o(uj,"registerHasAbilityConditionsHelper");function lj(){Kt.default.registerHelper("abilityConditionsTypes",ff)}o(lj,"registerAbilityConditionsTypesHelper");function pj(){Kt.default.registerHelper("abilityDescription",v_)}o(pj,"registerAbilityDescriptionHelper");function fj(){Kt.default.registerHelper("tagAllAbilitiesName",fa)}o(fj,"registerTagAllAbilitiesNameHelper");var Do=et(zt());function fP(){dj(),mj(),hj(),gj()}o(fP,"registerCommonHbsHelpers");function dj(){Do.default.registerHelper("isEqual",(e,t)=>e===t)}o(dj,"registerIsEqualHelper");function mj(){Do.default.registerHelper("commaSeparated",e=>e.join(", "))}o(mj,"registerCommaSeparatedListHelper");function hj(){Do.default.registerHelper("addAsteriskAfterNewLine",e=>e.replace(/\n/g,`
|
|
77
77
|
*`))}o(hj,"registerAddAsteriskAfterNewLineHelper");function gj(){Do.default.registerHelper("jsonStringify",e=>JSON.stringify(e,null,2))}o(gj,"registerJsonStringifyHelper");var Or=et(zt());function dP(e){yj(),vj(e.options),bj(e),Sj(),_j(),Pj(e),Ej()}o(dP,"registerEndpointsHbsHelpers");function yj(){Or.default.registerHelper("endpointName",vo)}o(yj,"registerEndpointNameHelper");function vj(e){Or.default.registerHelper("importedEndpointName",t=>wS(t,e))}o(vj,"registerImportedEndpointNameHelper");function Sj(){Or.default.registerHelper("endpointPath",AS)}o(Sj,"registerEndpointPathHelper");function _j(){Or.default.registerHelper("endpointBody",e=>e.parameters.find(t=>t.type==="Body"))}o(_j,"registerEndpointBodyHelper");function bj(e){Or.default.registerHelper("endpointParams",(t,r)=>_o(e,t,r.hash))}o(bj,"registerEndpointParamsHelper");function Pj(e){Or.default.registerHelper("endpointArgs",(t,r)=>_o(e,t,r.hash).map(n=>n.name).join(", "))}o(Pj,"registerEndpointArgsHelper");function Ej(){Or.default.registerHelper("endpointParamDescription",e=>{var s,a,c,u,l;let t=[`${e.paramType} parameter`],r=((s=e.parameterObject)==null?void 0:s.description)||((a=e.bodyObject)==null?void 0:a.description);r&&t.push(r);let n,i;if((c=e.parameterObject)!=null&&c.schema&&_e(e.parameterObject.schema)&&(n=(u=e.parameterObject)==null?void 0:u.schema),(l=e.bodyObject)!=null&&l.content){let p=Object.keys(e.bodyObject.content??{}).find(We);p&&(i=e.bodyObject.content[p],i.schema&&_e(i.schema)&&(n=i.schema))}if(n){let f=go(n);t.push(...f)}return i!=null&&i.example&&t.push(`Example: \`${i.example}\``),t.join(". ")})}o(Ej,"registerEndpointParamDescriptionHelper");var Ne=et(zt());function mP(e){$j(),Oj(),xj(),wj(e),Aj(),Ij(e),Tj(e),Nj(e),Rj(e),Cj(e),kj(),jj(),qj()}o(mP,"registerPartialsHbsHelpers");function $j(){Ne.default.registerHelper("genModelJsDocs",(e,t,r)=>Re("model-js-docs")({name:e,zodSchema:t,tag:r}))}o($j,"registerGenerateModelJsDocsHelper");function Oj(){Ne.default.registerHelper("genImport",e=>Re("import")({import:e}))}o(Oj,"registerImportHelper");function xj(){Ne.default.registerHelper("genEndpointParams",(e,t)=>Re("endpoint-params")({endpoint:e,options:t}))}o(xj,"registerGenerateEndpointParamsHelper");function wj(e){Ne.default.registerHelper("genEndpointConfig",t=>{let r=IS(t),n=e.options.axiosRequestConfig;return Object.keys(r).length===0?n?dr:"":Re("endpoint-config")({endpointConfig:r,hasAxiosRequestConfig:n,hasBlobResponse:t.response===Us,hasFileDownload:t.mediaDownload,axiosRequestConfigName:dr})})}o(wj,"registerGenerateEndpointConfigHelper");function Aj(){Ne.default.registerHelper("genEndpointParamSorting",(e,t)=>Re("endpoint-param-sorting")({enumSchemaName:e,paramName:t,zodExtended:lo.name,sortingString:lo.properties.sortingString}))}o(Aj,"registerGenerateEndpointParamSortingHelper");function Ij(e){Ne.default.registerHelper("genQueryKeys",t=>t.length===0?"":Re("query-keys")({queryEndpoints:t,queriesModuleName:co,generateInfiniteQueries:e.options.infiniteQueries}))}o(Ij,"registerGenerateQueryKeysHelper");function Tj(e){Ne.default.registerHelper("genQuery",t=>{if(!De(t))return;let r=e.options.axiosRequestConfig;return Re("query-use-query")({endpoint:t,queryHook:Me.query,hasQueryFn:_o(e,t).length>0||r,hasAxiosRequestConfig:r,axiosRequestConfigName:dr,axiosRequestConfigType:xt})})}o(Tj,"registerGenerateQueryHelper");function Nj(e){Ne.default.registerHelper("genMutation",t=>{if(Ot(t))return Re("query-use-mutation")({endpoint:t,queryHook:Me.mutation,queriesModuleName:co,hasAxiosRequestConfig:e.options.axiosRequestConfig,axiosRequestConfigName:dr,axiosRequestConfigType:xt,hasInvalidateQueryOptions:e.options.invalidateQueryOptions,invalidateQueryOptionsType:fr.optionsType})})}o(Nj,"registerGenerateMutationHelper");function Rj(e){Ne.default.registerHelper("genInfiniteQuery",t=>{if(!(!e.options.infiniteQueries||!Kn(t)))return Re("query-use-infinite-query")({endpoint:t,infiniteQueryHook:Me.infiniteQuery,pageParamName:zs.pageParamName,totalItemsName:zs.totalItemsName,limitParamName:zs.limitParamName,hasAxiosRequestConfig:e.options.axiosRequestConfig,axiosRequestConfigName:dr,axiosRequestConfigType:xt})})}o(Rj,"registerGenerateInfiniteQueryHelper");function Cj(e){Ne.default.registerHelper("genQueryJsDocs",(t,r)=>Re("query-js-docs")({endpoint:t,query:r.hash.query,mutation:r.hash.mutation,infiniteQuery:r.hash.infiniteQuery,hasInvalidateQueryOptions:e.options.invalidateQueryOptions,invalidateQueryOptionsType:fr.optionsType}))}o(Cj,"registerGenerateQueryJsDocsHelper");function kj(){Ne.default.registerHelper("genCaslAbilityType",e=>Re("casl-ability-type")({endpoint:e,abilityTupleType:ft.abilityTuple}))}o(kj,"registerGenerateCaslAbilityTypeHelper");function jj(){Ne.default.registerHelper("genCaslAbilityFunction",e=>Re("casl-ability-function")({endpoint:e}))}o(jj,"registerGenerateCaslAbilityFunctionHelper");function qj(){Ne.default.registerHelper("genCaslAbilityQuery",e=>Re("casl-ability-query")({endpoint:e}))}o(qj,"registerGenerateCaslAbilityQueryHelper");var pi=et(zt());function hP(){Mj(),Lj(),Fj(),Dj(),Vj()}o(hP,"registerQueryHbsHelpers");function Mj(){pi.default.registerHelper("queryName",(e,t)=>Ks(e,t.hash.mutation))}o(Mj,"registerQueryNameHelper");function Dj(){pi.default.registerHelper("infiniteQueryName",Xv)}o(Dj,"registerInfiniteQueryNameHelper");function Lj(){pi.default.registerHelper("isQuery",De)}o(Lj,"registerIsQueryHelper");function Fj(){pi.default.registerHelper("isMutation",Ot)}o(Fj,"registerIsMutationHelper");function Vj(){pi.default.registerHelper("isInfiniteQuery",e=>Kn(e))}o(Vj,"registerIsInfiniteQueryHelper");var cn=et(zt());function gP(e){Hj(e.options),Bj(e),Uj(e),Gj(),Zj(),zj(e)}o(gP,"registerZodHbsHelpers");function Hj(e){cn.default.registerHelper("zodInferedType",t=>yo(t,e))}o(Hj,"registerInferedTypeHelper");function Bj(e){cn.default.registerHelper("importedZodSchemaName",t=>_S(e,t))}o(Bj,"registerImportedZodSchemaNameHelper");function Uj(e){cn.default.registerHelper("importedZodSchemaInferedType",t=>br(e,t))}o(Uj,"registerImportedZodSchemaInferedTypeHelper");function Gj(){cn.default.registerHelper("zodSchemaType",e=>bS(e))}o(Gj,"registerZodSchemaTypeHelper");function Zj(){cn.default.registerHelper("zodSchemaDescription",e=>PS(e))}o(Zj,"registerZodSchemaDescriptionHelper");function zj(e){cn.default.registerHelper("zodSchemaPropertyDescriptions",(t,r)=>$S(e,t,r))}o(zj,"registerZodSchemaPropertyDescriptionsHelper");var yP=et(zt());function vP(){Kj()}o(vP,"registerImportsHbsHelpers");function Kj(){yP.default.registerHelper("importNames",(e,t)=>[...t?[t]:[],...e?[`{ ${e.join(", ")} }`]:[]].join(", "))}o(Kj,"registerBindingsHelper");function Be(e,t){let r=od(t);return fP(),vP(),gP(e),dP(e),hP(),pP(),mP(e),ad.default.compile(r)}o(Be,"getHbsTemplateDelegate");function Re(e){let t=od(`partials/${e}`);return ad.default.compile(t)}o(Re,"getHbsPartialTemplateDelegate");function SP({resolver:e,data:t,tag:r=""}){var l;let n=(l=t.get(r))==null?void 0:l.endpoints.filter(({acl:f})=>f&&f.length>0);if(!n||n.length===0)return;let i=n.some(({acl:f})=>(f==null?void 0:f[0].conditions)&&Object.keys(f[0].conditions).length>0),s={bindings:[ft.abilityTuple,...i?[ft.forcedSubject,ft.subject]:[]],from:pf.from},a=n.reduce((f,p)=>{var m,g;let d=(g=(m=p.acl)==null?void 0:m[0].conditionsTypes)==null?void 0:g.reduce((y,v)=>[...y,...v!=null&&v.zodSchemaName?[v.zodSchemaName]:[]],[]);return[...f,...d??[]]},[]),c=Pr({resolver:e,tag:r,zodSchemasAsTypes:Le(a)});return Be(e,"acl")({caslAbilityTupleImport:s,modelsImports:c,includeNamespace:e.options.tsNamespaces,namespace:U({type:"acl",tag:r,options:e.options}),endpoints:n})}o(SP,"generateAcl");function _P(e,t){if(!t||t.length===0)return;let r={bindings:[ft.pureAbility],from:pf.from},n=NS({tags:t,entityName:$o,getAliasEntityName:fa,type:"acl",options:e.options}),i=t.map(a=>U({type:"acl",tag:a,options:e.options}));return Be(e,"app-acl")({caslAbilityTupleImport:r,imports:n,allAbilities:$o,includeNamespace:e.options.tsNamespaces,tags:t,namespaces:i})}o(_P,"generateAppAcl");function bP(e){return Be(e,"app-rest-client")({appRestClientName:uo,baseUrl:e.getBaseUrl()})}o(bP,"generateAppRestClient");function PP({resolver:e,data:t,tag:r=""}){var y;let n=(y=t.get(r))==null?void 0:y.endpoints;if(!n||n.length===0)return;let i={bindings:[uo],from:kS(e.options)},s=n.some(v=>v.parameters.some(S=>S.parameterSortingEnumSchemaName)),a={bindings:[lo.name],from:MS(e.options)},c=e.options.axiosRequestConfig,u=c,l={bindings:c?[xt]:[],from:ea.from},f=n.map(v=>v.response),p=f.some(v=>!Pe(v)),d=n.reduce((v,S)=>[...v,...S.parameters],[]),m=Pr({resolver:e,tag:r,zodSchemas:Le([...f.filter(Pe),...d.map(v=>v.parameterSortingEnumSchemaName).filter(Jv)]),zodSchemasAsTypes:Le(d.map(v=>v.zodSchema).filter(Pe))});return Be(e,"endpoints")({appRestClientImport:i,hasAxiosImport:u,axiosImport:l,hasZodImport:p,zodImport:Zs,hasZodExtendedImport:s,zodExtendedImport:a,modelsImports:m,includeNamespace:e.options.tsNamespaces,namespace:U({type:"endpoints",tag:r,options:e.options}),restClientName:uo,hasAxiosRequestConfig:c,axiosRequestConfigName:dr,axiosRequestConfigType:xt,endpoints:n})}o(PP,"generateEndpoints");function EP({resolver:e,data:t}){let r=[];return t.forEach((i,s)=>{var u;if(e.options.excludeTags.find(l=>l.toLowerCase()===s.toLowerCase()))return;let c=(u=t.get(s))==null?void 0:u.endpoints;!c||c.length===0||r.push({tag:s,namespace:U({type:"queries",tag:s,options:e.options})})}),Be(e,"invalidate-queries")({modules:r})}o(EP,"generateInvalidateQueries");function $P(e,t){let r=e.getRefByZodSchemaName(t);if(r){let i=Array.from(e.dependencyGraph.refsDependencyGraph[r]??[]).map(a=>e.getZodSchemaNameByRef(a)),s=e.getExtractedEnumZodSchemaNamesReferencedBySchemaRef(r);return[...i,...s]}let n=e.getCompositeZodSchemaByZodSchemaName(t);return n?Array.from(OP(n)).map(i=>e.getZodSchemaNameByRef(i)):[]}o($P,"getZodSchemaRefs");function OP(e){return e.children.reduce((r,n)=>{let i=n.ref??n.enumRef;return i&&r.add(i),n.children.length>0&&OP(n).forEach(s=>r.add(s)),r},new Set)}o(OP,"getSchemaRefs");function xP({resolver:e,data:t,tag:r=""}){var u;let n=(u=t.get(r))==null?void 0:u.zodSchemas;if(!n||Object.keys(n).length===0)return;let i=Object.keys(n).reduce((l,f)=>[...l,...$P(e,f)],[]).filter(l=>!n[l]),s=Pr({resolver:e,tag:r,zodSchemas:i}),a=Object.entries(n).reduce((l,[f,p])=>{let d=e.getRefByZodSchemaName(f);return{...l,[f]:{code:p,isCircular:!!d&&e.isSchemaCircular(d),isEnum:vS(p),schemaObj:e.getZodSchemaObj(f)}}},{});return Be(e,"models")({zodImport:Zs,modelsImports:s,includeNamespace:e.options.tsNamespaces,namespace:U({type:"models",tag:r,options:e.options}),tag:r,zodSchemasData:a})}o(xP,"generateModels");function wP({resolver:e,data:t,tag:r=""}){var _;let n=(_=t.get(r))==null?void 0:_.endpoints;if(!n||n.length===0)return;let i=e.options.axiosRequestConfig,s=n.some(({mediaUpload:E})=>E),a=i||s,c={defaultImport:s?Up:void 0,bindings:i?[xt]:[],from:ea.from},u=n.filter(De),l=u.filter(E=>Kn(E)),f=n.filter(Ot),p={bindings:[...u.length>0?[Me.query]:[],...e.options.infiniteQueries&&l.length>0?[Me.infiniteQuery]:[],...f.length>0?[Me.mutation,Me.queryClient]:[]],from:Gv.from},d={bindings:[fr.queryModuleEnum,...f.length>0?[fr.optionsType,fr.functionName]:[]],from:qS(e.options)},m={bindings:[...u.length>0?[Qs.query]:[],...e.options.infiniteQueries&&l.length>0?[Qs.infiniteQuery]:[],...f.length>0?[Qs.mutation]:[]],from:jS(e.options)},g=n.reduce((E,b)=>[...E,...b.parameters],[]),y=Pr({resolver:e,tag:r,zodSchemasAsTypes:Le(g.map(E=>E.zodSchema).filter(Pe))}),v=TS({tag:r,endpoints:n,options:e.options});return Be(e,"queries")({hasAxiosImport:a,axiosImport:c,queryImport:p,hasInvalidateQueryOptions:e.options.invalidateQueryOptions,invalidateQueriesImport:d,queryTypesImport:m,modelsImports:y,endpointsImports:v,includeNamespace:e.options.tsNamespaces,tag:r,namespace:U({type:"queries",tag:r,options:e.options}),queriesModuleName:co,queryModuleEnum:fr.queryModuleEnum,endpoints:n,queryEndpoints:u})}o(wP,"generateQueries");function AP(e,t){let r=t.standalone&&t.importPath==="ts"?"relative":t.importPath,n={...so,...t,importPath:r},{resolver:i,data:s}=pa(e,n),a=[],c=[],u=["models","endpoints","queries","acl"],l={models:xP,endpoints:PP,queries:wP,acl:SP};s.forEach((p,d)=>{n.excludeTags.find(g=>g.toLowerCase()===d.toLowerCase())||u.forEach(g=>{let y=l[g]({resolver:i,data:s,tag:d});if(y){let v=an({output:n.output,fileName:CS({tag:d,type:g,options:n})});a.push({fileName:v,content:y}),g==="acl"&&c.push(d)}})});let f=_P(i,c);if(f){let p=an({output:n.output,fileName:Xn(f_)});a.push({fileName:p,content:f})}if(n.invalidateQueryOptions&&a.push({fileName:an({output:i.options.output,fileName:Xn(Js)}),content:EP({resolver:i,data:s})}),n.standalone&&a.push(...Qj(i)),Wj(s)){let p=Xn(Xs);a.push({content:sd(p),fileName:an({output:i.options.output,fileName:p})})}return a}o(AP,"generateCodeFromOpenAPIDoc");function Qj(e){let t=[];return Object.values(Ws).forEach(r=>{let n=Xn(r);t.push({content:sd(n),fileName:an({output:e.options.output,fileName:n})})}),t.push({fileName:an({output:e.options.output,fileName:Xn(Ys)}),content:bP(e)}),t}o(Qj,"getStandaloneFiles");function Wj(e){return Array.from(e.values()).some(({endpoints:t})=>t.some(r=>r.parameters.some(n=>n.parameterSortingEnumSchemaName)))}o(Wj,"hasZodExtendedFile");async function Yj({input:e,options:t}){let r={...so,...t},n=await cd.default.bundle(e);return await p_(n,r)}o(Yj,"getGenerateMetadata");async function Jj({input:e,options:t}){let r={...so,...t},n=await cd.default.bundle(e);return AP(n,r)}o(Jj,"getGenerateFilesData");0&&(module.exports={getGenerateFilesData,getGenerateMetadata});
|
package/dist/sh.js
CHANGED
|
@@ -137,11 +137,11 @@ ${y.join(`
|
|
|
137
137
|
`:`
|
|
138
138
|
`)+r,i=n+1,n=e.indexOf(`
|
|
139
139
|
`,i)}while(n!==-1);return s+=e.slice(i),s}o(Qy,"stringEncaseCRLFWithFirstIndex");var{stdout:Jy,stderr:Xy}=Ky,vf=Symbol("GENERATOR"),lo=Symbol("STYLER"),Ss=Symbol("IS_EMPTY"),eb=["ansi","ansi","ansi256","ansi16m"],fo=Object.create(null),$$=o((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Jy?Jy.level:0;e.level=t.level===void 0?r:t.level},"applyOptions"),Of=class Of{constructor(t){return tb(t)}};o(Of,"Chalk");var vc=Of,tb=o(e=>{let t=o((...r)=>r.join(" "),"chalk");return $$(t,e),Object.setPrototypeOf(t,Os.prototype),t},"chalkFactory");function Os(e){return tb(e)}o(Os,"createChalk");Object.setPrototypeOf(Os.prototype,Function.prototype);for(let[e,t]of Object.entries(Or))fo[e]={get(){let r=_c(this,Sf(t.open,t.close,this[lo]),this[Ss]);return Object.defineProperty(this,e,{value:r}),r}};fo.visible={get(){let e=_c(this,this[lo],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var _f=o((e,t,r,...n)=>e==="rgb"?t==="ansi16m"?Or[r].ansi16m(...n):t==="ansi256"?Or[r].ansi256(Or.rgbToAnsi256(...n)):Or[r].ansi(Or.rgbToAnsi(...n)):e==="hex"?_f("rgb",t,r,...Or.hexToRgb(...n)):Or[r][e](...n),"getModelAnsi"),w$=["rgb","hex","ansi256"];for(let e of w$){fo[e]={get(){let{level:r}=this;return function(...n){let i=Sf(_f(e,eb[r],"color",...n),Or.color.close,this[lo]);return _c(this,i,this[Ss])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);fo[t]={get(){let{level:r}=this;return function(...n){let i=Sf(_f(e,eb[r],"bgColor",...n),Or.bgColor.close,this[lo]);return _c(this,i,this[Ss])}}}}var A$=Object.defineProperties(()=>{},{...fo,level:{enumerable:!0,get(){return this[vf].level},set(e){this[vf].level=e}}}),Sf=o((e,t,r)=>{let n,i;return r===void 0?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},"createStyler"),_c=o((e,t,r)=>{let n=o((...i)=>I$(n,i.length===1?""+i[0]:i.join(" ")),"builder");return Object.setPrototypeOf(n,A$),n[vf]=e,n[lo]=t,n[Ss]=r,n},"createBuilder"),I$=o((e,t)=>{if(e.level<=0||!t)return e[Ss]?"":t;let r=e[lo];if(r===void 0)return t;let{openAll:n,closeAll:i}=r;if(t.includes("\x1B"))for(;r!==void 0;)t=Yy(t,r.close,r.open),r=r.parent;let s=t.indexOf(`
|
|
140
|
-
`);return s!==-1&&(t=Qy(t,i,n,s)),n+t+i},"applyStyle");Object.defineProperties(Os.prototype,fo);var S6=Os(),O6=Os({level:Xy?Xy.level:0});var Fr=new vc;function Es(e,t,r){console.log(r!==void 0&&r!==t?`${Fr.yellow(`${e}:`.padEnd(20))}${Fr.magenta(t)}`:`${`${e}:`.padEnd(20)}${t}`)}o(Es,"logVariable");function ur(e){console.log(`[INFO] ${e}`)}o(ur,"logInfo");function wn(e){console.log(Fr.green(`[SUCCESS] ${e}`))}o(wn,"logSuccess");function Ps(e,t){e instanceof Error?(console.log(Fr.red(`[ERROR] ${t||e.message}`)),process.env.VERBOSE&&console.error(e)):console.log(Fr.red(`[ERROR] ${e}`))}o(Ps,"logError");function Sc(e){console.log(Fr.bgYellow(`==== ${e} ====`))}o(Sc,"logBanner");var rb=mt(require("fs"));function po(){return"0.9.1"}o(po,"getVersion");var M6=mt(ib());var Ef=Symbol("options_key");function Fe(e){return(t,r)=>{var n,i;if(e!=null){let s={...Reflect.getMetadata(Ef,t)||{},[r]:{...e,describe:e.envAlias?`${e.describe||""} [${e.envAlias}]`:e.describe,type:e.type||((i=(n=Reflect.getMetadata("design:type",t,r))==null?void 0:n.name)==null?void 0:i.toLowerCase())}};Reflect.defineMetadata(Ef,s,t)}}}o(Fe,"YargOption");function ob(e){let t=Reflect.getMetadata(Ef,e.prototype);if(!t)throw new Error(`Options for ${e.name} were not defined`);return t}o(ob,"getYargsOption");function Oc(e){return async t=>t.options(C$(e)).middleware(async r=>await T$(e,r),!0)}o(Oc,"getBuilder");function C$(e){return Object.entries(ob(e)).reduce((t,[r,n])=>(t[r]=Object.fromEntries(Object.entries(n).filter(([i])=>!["envAlias","default"].includes(i))),t),{})}o(C$,"getYargsOptions");async function T$(e,t){let r=new e;for(let[n,i]of Object.entries(ob(e)))r[n]=t[n]??i.default;return r}o(T$,"loadYargsConfig");var c1=mt(dm());var jE="Schema",ME="Enum",kE="Body",qE="Param",DE="Response",LE="ErrorResponse",ma="z.void()",Au="z.instanceof(Blob)",ga="z.enum",Iu="z.string()",Cu={bindings:["z"],from:"zod"};var ct={input:"",output:"output",splitByTags:!0,defaultTag:"Common",excludeTags:[],tsNamespaces:!0,importPath:"ts",configs:{models:{outputFileNameSuffix:"models",namespaceSuffix:"Models"},endpoints:{outputFileNameSuffix:"api",namespaceSuffix:"Api"},queries:{outputFileNameSuffix:"queries",namespaceSuffix:"Queries"},acl:{outputFileNameSuffix:"acl",namespaceSuffix:"Acl"}},standalone:!1,baseUrl:"",schemaSuffix:jE,enumSuffix:ME,withDefaultValues:!0,extractEnums:!0,replaceOptionalWithNullish:!1,removeOperationPrefixEndingWith:"Controller_",axiosRequestConfig:!1,infiniteQueries:!1,invalidateQueryOptions:!0};var FE={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",300:"Ambiguous",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",418:"I Am a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",424:"Failed Dependency",428:"Precondition Required",429:"Too Many Requests",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported"},VE={"invalid-schema":"Invalid OpenAPI Schemas","invalid-operation-id":"Invalid Operation IDs","missing-path-parameter":"Missing Path Parameters","not-allowed-inline-enum":"Not Allowed Inline Enums","not-allowed-circular-schema":"Not Allowed Circular Schemas","missing-acl-condition-property":"Missing x-acl Condition Properties","missing-status-code":"Missing HTTP Status Codes","invalid-status-code":"Invalid HTTP Status Codes"};var Yt={query:"useQuery",infiniteQuery:"useInfiniteQuery",mutation:"useMutation",queryClient:"useQueryClient"},HE={bindings:[Yt.query,Yt.infiniteQuery,Yt.mutation,Yt.queryClient],from:"@tanstack/react-query"},ya={pageParamName:"page"},Tu={pageParamName:"page",totalItemsName:"totalItems",limitParamName:"limit"},ba="moduleName";var hm={"Content-Type":"application/json",Accept:"application/json"},BE="data",mm="axios",Un="config",Qr="AxiosRequestConfig",Nu={defaultImport:mm,bindings:[Qr],from:"axios"};var UE=o(e=>/^(?:[a-zA-Z_$][a-zA-Z0-9_$]*|[0-9]+)$/.test(e),"isValidPropertyName"),Gn=o(e=>e.replace(/^[^a-zA-Z_$]*/g,"").replace(/[^a-zA-Z0-9_$]+(\w)?/g,(t,r)=>(r==null?void 0:r.toUpperCase())??""),"invalidVariableNameCharactersToCamel");function Ee(e){return e!=null&&Object.prototype.hasOwnProperty.call(e,"$ref")}o(Ee,"isReferenceObject");function Ct(e){return!Ee(e)}o(Ct,"isSchemaObject");function Ru(e){return e.type==="array"}o(Ru,"isArraySchemaObject");function GE(e){if(!e.allOf)throw new Error("Function inferRequiredSchema is specialized to handle item with required only in an allOf array.");let[t,r]=e.allOf.reduce((i,s)=>{if($q(s)){let a=s.required;i[0].push(...a??[])}else i[1].push(s);return i},[[],[]]),n={properties:t.reduce((i,s)=>(i[s]={},i),{}),type:"object",required:t};return{noRequiredOnlyAllof:r,composedRequiredSchema:n,patchRequiredSchemaInLoop:o((i,s)=>{if(Ee(i)){let a=s(i.$ref);a&&n.required.forEach(c=>{var u;n.properties[c]=((u=a==null?void 0:a.properties)==null?void 0:u[c])??{}})}else{let a=i.properties??{};n.required.forEach(c=>{a[c]&&(n.properties[c]=a[c]??{})})}},"patchRequiredSchemaInLoop")}}o(GE,"inferRequiredSchema");var $q=o(e=>!Ee(e)&&!!e.required&&!e.type&&!e.properties&&!(e!=null&&e.allOf)&&!(e!=null&&e.anyOf)&&!e.oneOf,"isBrokenAllOfItem");var dn=Symbol.for("@ts-pattern/matcher"),wq=Symbol.for("@ts-pattern/isVariadic"),Mu="@ts-pattern/anonymous-select-key",gm=o(e=>!!(e&&typeof e=="object"),"r"),ju=o(e=>e&&!!e[dn],"i"),en=o((e,t,r)=>{if(ju(e)){let n=e[dn](),{matched:i,selections:s}=n.match(t);return i&&s&&Object.keys(s).forEach(a=>r(a,s[a])),i}if(gm(e)){if(!gm(t))return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let n=[],i=[],s=[];for(let a of e.keys()){let c=e[a];ju(c)&&c[wq]?s.push(c):s.length?i.push(c):n.push(c)}if(s.length){if(s.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(t.length<n.length+i.length)return!1;let a=t.slice(0,n.length),c=i.length===0?[]:t.slice(-i.length),u=t.slice(n.length,i.length===0?1/0:-i.length);return n.every((l,p)=>en(l,a[p],r))&&i.every((l,p)=>en(l,c[p],r))&&(s.length===0||en(s[0],u,r))}return e.length===t.length&&e.every((a,c)=>en(a,t[c],r))}return Reflect.ownKeys(e).every(n=>{let i=e[n];return(n in t||ju(s=i)&&s[dn]().matcherType==="optional")&&en(i,t[n],r);var s})}return Object.is(t,e)},"s"),Yn=o(e=>{var t,r,n;return gm(e)?ju(e)?(t=(r=(n=e[dn]()).getSelectionKeys)==null?void 0:r.call(n))!=null?t:[]:Array.isArray(e)?_a(e,Yn):_a(Object.values(e),Yn):[]},"o"),_a=o((e,t)=>e.reduce((r,n)=>r.concat(t(n)),[]),"c");function mr(e){return Object.assign(e,{optional:o(()=>Aq(e),"optional"),and:o(t=>Ve(e,t),"and"),or:o(t=>Iq(e,t),"or"),select:o(t=>t===void 0?zE(e):zE(t,e),"select")})}o(mr,"u");function Aq(e){return mr({[dn]:()=>({match:o(t=>{let r={},n=o((i,s)=>{r[i]=s},"r");return t===void 0?(Yn(e).forEach(i=>n(i,void 0)),{matched:!0,selections:r}):{matched:en(e,t,n),selections:r}},"match"),getSelectionKeys:o(()=>Yn(e),"getSelectionKeys"),matcherType:"optional"})})}o(Aq,"h");function Ve(...e){return mr({[dn]:()=>({match:o(t=>{let r={},n=o((i,s)=>{r[i]=s},"r");return{matched:e.every(i=>en(i,t,n)),selections:r}},"match"),getSelectionKeys:o(()=>_a(e,Yn),"getSelectionKeys"),matcherType:"and"})})}o(Ve,"m");function Iq(...e){return mr({[dn]:()=>({match:o(t=>{let r={},n=o((i,s)=>{r[i]=s},"r");return _a(e,Yn).forEach(i=>n(i,void 0)),{matched:e.some(i=>en(i,t,n)),selections:r}},"match"),getSelectionKeys:o(()=>_a(e,Yn),"getSelectionKeys"),matcherType:"or"})})}o(Iq,"d");function Oe(e){return{[dn]:()=>({match:o(t=>({matched:!!e(t)}),"match")})}}o(Oe,"p");function zE(...e){let t=typeof e[0]=="string"?e[0]:void 0,r=e.length===2?e[1]:typeof e[0]=="string"?void 0:e[0];return mr({[dn]:()=>({match:o(n=>{let i={[t??Mu]:n};return{matched:r===void 0||en(r,n,(s,a)=>{i[s]=a}),selections:i}},"match"),getSelectionKeys:o(()=>[t??Mu].concat(r===void 0?[]:Yn(r)),"getSelectionKeys")})})}o(zE,"y");function Jr(e){return typeof e=="number"}o(Jr,"v");function zn(e){return typeof e=="string"}o(zn,"b");function Zn(e){return typeof e=="bigint"}o(Zn,"w");var iU=mr(Oe(function(e){return!0}));var Wn=o(e=>Object.assign(mr(e),{startsWith:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&n.startsWith(r)))));var r},"startsWith"),endsWith:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&n.endsWith(r)))));var r},"endsWith"),minLength:o(t=>Wn(Ve(e,(r=>Oe(n=>zn(n)&&n.length>=r))(t))),"minLength"),length:o(t=>Wn(Ve(e,(r=>Oe(n=>zn(n)&&n.length===r))(t))),"length"),maxLength:o(t=>Wn(Ve(e,(r=>Oe(n=>zn(n)&&n.length<=r))(t))),"maxLength"),includes:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&n.includes(r)))));var r},"includes"),regex:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&!!n.match(r)))));var r},"regex")}),"j"),oU=Wn(Oe(zn)),Xr=o(e=>Object.assign(mr(e),{between:o((t,r)=>Xr(Ve(e,((n,i)=>Oe(s=>Jr(s)&&n<=s&&i>=s))(t,r))),"between"),lt:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n<r))(t))),"lt"),gt:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n>r))(t))),"gt"),lte:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n<=r))(t))),"lte"),gte:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n>=r))(t))),"gte"),int:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&Number.isInteger(t)))),"int"),finite:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&Number.isFinite(t)))),"finite"),positive:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&t>0))),"positive"),negative:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&t<0))),"negative")}),"x"),sU=Xr(Oe(Jr)),Kn=o(e=>Object.assign(mr(e),{between:o((t,r)=>Kn(Ve(e,((n,i)=>Oe(s=>Zn(s)&&n<=s&&i>=s))(t,r))),"between"),lt:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n<r))(t))),"lt"),gt:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n>r))(t))),"gt"),lte:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n<=r))(t))),"lte"),gte:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n>=r))(t))),"gte"),positive:o(()=>Kn(Ve(e,Oe(t=>Zn(t)&&t>0))),"positive"),negative:o(()=>Kn(Ve(e,Oe(t=>Zn(t)&&t<0))),"negative")}),"A"),aU=Kn(Oe(Zn)),cU=mr(Oe(function(e){return typeof e=="boolean"})),uU=mr(Oe(function(e){return typeof e=="symbol"})),lU=mr(Oe(function(e){return e==null})),fU=mr(Oe(function(e){return e!=null}));var _m=class _m extends Error{constructor(t){let r;try{r=JSON.stringify(t)}catch{r=t}super(`Pattern matching error: no pattern matches value ${r}`),this.input=void 0,this.input=t}};o(_m,"W");var ym=_m,bm={matched:!1,value:void 0};function Pt(e){return new vm(e,bm)}o(Pt,"z");var va=class va{constructor(t,r){this.input=void 0,this.state=void 0,this.input=t,this.state=r}with(...t){if(this.state.matched)return this;let r=t[t.length-1],n=[t[0]],i;t.length===3&&typeof t[1]=="function"?i=t[1]:t.length>2&&n.push(...t.slice(1,t.length-1));let s=!1,a={},c=o((l,p)=>{s=!0,a[l]=p},"a"),u=!n.some(l=>en(l,this.input,c))||i&&!i(this.input)?bm:{matched:!0,value:r(s?Mu in a?a[Mu]:a:this.input,this.input)};return new va(this.input,u)}when(t,r){if(this.state.matched)return this;let n=!!t(this.input);return new va(this.input,n?{matched:!0,value:r(this.input,this.input)}:bm)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new ym(this.input)}run(){return this.exhaustive()}returnType(){return this}};o(va,"I");var vm=va;var Sm=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with"];var Om=2,ZE=["application/octet-stream","multipart/form-data","application/x-www-form-urlencoded","*/*"],WE=["query","header","path"],Qn=["get","put","post","delete","options","head","patch","trace"],KE=["string","number","integer","boolean"],Sa=["allOf","anyOf","oneOf"];function Jn(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)&&(r[n]=e[n])}),r}o(Jn,"pick");var He=o(e=>e.charAt(0).toUpperCase()+e.slice(1),"capitalize"),Xn=o(e=>e.charAt(0).toLowerCase()+e.slice(1),"decapitalize"),YE=o(e=>e.replace(/(-\w)/g,t=>t[1].toUpperCase()),"kebabToCamel"),pt=o(e=>e.replace(/(_\w)/g,t=>t[1].toUpperCase()),"snakeToCamel"),QE=o(e=>e.replace(/[\W_]+(\w)?/g,(t,r)=>(r==null?void 0:r.toUpperCase())??""),"nonWordCharactersToCamel"),Em=o((e,t="")=>e.endsWith(t)?e:`${e}${t}`,"suffixIfNeeded"),JE=o((e,t)=>e.replace(new RegExp(`${t}$`),""),"removeSuffix"),Cq=o(e=>{var n;let t=e.reduce((i,s)=>({...i,[s]:(i[s]??0)+1}),{});return(n=Object.entries(t).sort((i,s)=>i[1]===s[1]?s[0].length-i[0].length:s[1]-i[1])[0])==null?void 0:n[0]},"getLongestMostCommon"),Pm=o(e=>{let t=e.map(He).map(XE).map(r=>Tq(r)).flat();return Cq(t)},"getMostCommonAdjacentCombinationSplit"),XE=o(e=>e.split(/(?<![A-Z])(?=[A-Z])/).filter(Boolean),"splitByUppercase"),eP=o(e=>XE(e).join(" "),"camelToSpaceSeparated"),Tq=o((e,t=["dto","by","for","of","in","to","and","with"])=>{var n;let r=[];for(let i=0;i<e.length;i++)if(!t.includes(e[i].toLowerCase()))for(let s=i+1;s<=e.length;s++)t.includes((n=e[s-1])==null?void 0:n.toLowerCase())||r.push(e.slice(i,s).join(""));return r},"getAdjacentStringCombinations"),tP=o((e,t)=>{let r=t.replace(/es$|s$/g,""),n=new RegExp(`(${Xn(r)}|${He(r)})[a-z]*(?=$|[A-Z])`,"g");return e.replace(n,"")},"removeWord"),rP=o(e=>e!==void 0,"isString");function ei(e){return QE(e)}o(ei,"formatTag");function Hi(e,t){var n;let r=(n=e.tags)==null?void 0:n[0];return ei(r??t.defaultTag)}o(Hi,"getOperationTag");function nP(e,t){let r={};for(let n in e.paths){let i=e.paths[n],s=Jn(i,Qn);for(let a in s){let c=s[a];if(!c||c.deprecated&&!t.withDeprecatedEndpoints)continue;let u=t.splitByTags?Hi(c,t):t.defaultTag;r[u]||(r[u]=[]),r[u].push(c)}}return r}o(nP,"getOperationsByTag");var oP=o(e=>`#/components/schemas/${e}`,"getSchemaRef"),Bi=o(e=>e[1]==="/"?e:"#/"+e.slice(1),"autocorrectRef"),Jo=o(e=>Bi(e).split("/").at(-1),"getSchemaNameByRef");function wm(e){let t=Nq(e).normalize("NFKD").trim().replace(/\s+/g,"_").replace(/--+/g,"-").replace(/-+/g,"_").replace(/[^\w-]+/g,"_");return pt(t)}o(wm,"normalizeString");function sP(e){return/^[a-zA-Z]\w*$/.test(e)?e:`"${e}"`}o(sP,"wrapWithQuotesIfNeeded");function aP(e){return typeof e=="string"&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}o(aP,"unwrapQuotesIfNeeded");function Nq(e){let t=Number(e[0]);return typeof t=="number"&&!Number.isNaN(t)?"_"+e:e}o(Nq,"prefixStringStartingWithNumberIfNeeded");function Am(e){let t=e.replaceAll("_","#");return pt(t.replaceAll("-","_")).replaceAll("#","_")}o(Am,"pathParamToVariableName");var Ui=o(e=>KE.includes(e),"isPrimitiveType");function cP(e){return e.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/([\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F\uFFFE\uFFFF])/g,(t,r)=>{let n=r.codePointAt(),i=n.toString(16);return n<=255?`\\x${`00${i}`.slice(-2)}`:`\\u${`0000${i}`.slice(-4)}`}).replace(/\//g,"\\/")}o(cP,"escapeControlCharacters");function tn(e){return e.includes("application/")&&e.includes("json")||ZE.includes(e)||e.includes("text/")}o(tn,"isParamMediaTypeAllowed");function ku(e){return e>=200&&e<300}o(ku,"isMainResponseStatus");function qu(e){return!(e>=200&&e<300)}o(qu,"isErrorStatus");function Du(e){return["application/json","application/pdf"].includes(e)}o(Du,"isMediaTypeAllowed");function xm({path:e,method:t,operation:r,options:n,tag:i,keepOperationTag:s,keepOperationPrefix:a}){let c=`${t}${jq(e)}`,u=r.operationId?Gn(r.operationId):c;if(n.removeOperationPrefixEndingWith&&a)u=u.split(n.removeOperationPrefixEndingWith).map((p,f)=>f===0?p:He(p)).join("");else if(n.removeOperationPrefixEndingWith&&!a){let l=new RegExp(`^.*${n.removeOperationPrefixEndingWith}`);u=u.replace(l,"")}if(n.tsNamespaces&&!s){let l=tP(u,i);Sm.includes(l)||(u=l)}return Sm.includes(u)?c:u}o(xm,"getOperationName");function Oa({operationsByTag:e,...t}){let{operation:r,options:n}=t,i=n.splitByTags?Hi(r,n):n.defaultTag,s=o(a=>{let c=xm({...t,tag:i,keepOperationTag:a});if(e[i].filter(l=>xm({...t,operation:l,tag:i,keepOperationTag:a})===c).length===1)return c},"operationName");return s()??s(!0)??xm({...t,tag:i,keepOperationTag:!0,keepOperationPrefix:!0})}o(Oa,"getUniqueOperationName");function uP(e,t,r){let n=[];for(let i in e.paths){let s=e.paths[i],a=Jn(s,Qn);for(let c in a){let u=a[c];if(!u||u.deprecated&&!r.withDeprecatedEndpoints)continue;let l=Oa({path:i,method:c,operation:u,operationsByTag:t,options:r});n.push(l)}}return n}o(uP,"getUniqueOperationNamesWithoutSplitByTags");var iP=/({\w+})/g,Rq=/[^\w\-]+/g;function jq(e){e=He(YE(e.replaceAll("/","-")).replaceAll("-",""));let t=[...e.matchAll(iP)];if(t.length>0){let r=t.sort((n,i)=>n.index-i.index)[t.length-1][0];e=`${e.replace(iP,"")}By${He(r.slice(1,-1))}`}return e.replace(Rq,"_")}o(jq,"pathToVariableName");var $m=/{(\b\w+(?:-\w+)*\b)}/g;function lP(e){let t=e.match($m);return t===null?e.replaceAll($m,":$1"):(t.forEach(r=>{let n=Am(r.replaceAll($m,":$1"));e=e.replaceAll(r,n)}),e)}o(lP,"replaceHyphenatedPath");var fP=o(e=>{let t=e["x-enumNames"],r=Array.isArray(t)&&t.length>0,n=!!e.schema&&Ct(e.schema)&&e.schema.type==="string";return r&&n},"isSortingParameterObject");var Ea="AppRestClient",Lu={query:"AppQueryOptions",infiniteQuery:"AppInfiniteQueryOptions",mutation:"AppMutationOptions"},Im="src/data",Cm="@/data",pP="@/util/rest/clients/app-rest-client",dP="@/types/react-query";var Fu={reactQueryTypes:{fileName:"react-query.types",extension:"ts"},restClient:{fileName:"rest-client",extension:"ts"},restInterceptor:{fileName:"rest-interceptor",extension:"ts"}},Vu={fileName:"app-rest-client",extension:"ts"},Mq="QueryModule",ti={queryModuleEnum:Mq,optionsType:"InvalidateQueryOptions",functionName:"invalidateQueries"},Hu={fileName:"invalidateQueries",extension:"ts"},Pa={name:"zodExtended",properties:{sortingString:"sortingString"}},Bu={fileName:"zodExtended",extension:"ts"};var Qt=o((...e)=>[...new Set(e.flat())],"getUniqueArray");function Tt(e,t){if(!e)return;let{data:r,onSchema:n}=t;if(Ee(e)&&n({type:"reference",schema:e,data:r})===!0)return;let i=e;if(Sa.some(s=>s in i&&i[s])){let s=i.allOf??i.anyOf??i.oneOf??[];for(let a of s)(n==null?void 0:n({type:"composite",parentSchema:e,schema:a,data:r}))!==!0&&Tt(a,{data:r,onSchema:n})}if(i.properties)for(let[s,a]of Object.entries(i.properties))n({type:"property",parentSchema:e,schema:a,data:r,propertyName:s})!==!0&&Tt(a,t);if(i.additionalProperties&&typeof i.additionalProperties=="object"){if(n({type:"additionalProperties",parentSchema:e,schema:i.additionalProperties,data:r})===!0)return;Tt(i.additionalProperties,t)}if(i.type==="array"){let s=e.items;if(n({type:"array",parentSchema:e,schema:s,data:r})===!0)return;Tt(s,t)}}o(Tt,"iterateSchema");var rn=o((e,t)=>Em(He(wm(e)),t),"getZodSchemaName"),xa=o((e,t,r)=>Em(He(wm(e)),`${t}${r}`),"getEnumZodSchemaName"),Ft=o(e=>!e.startsWith("z."),"isNamedZodSchema"),hP=o(e=>e.startsWith(ga),"isEnumZodSchema"),Gi=o((e,t,r)=>t?e:`${r}_${e}`,"getZodSchemaOperationName"),Uu=o(e=>pt(`${e}_${kE}`),"getBodyZodSchemaName"),mP=o((e,t)=>pt(`${e}_${t}${qE}`),"getParamZodSchemaName"),kq=o(e=>pt(`${e}${DE}`),"getMainResponseZodSchemaName"),qq=o((e,t)=>pt(`${e}_${t}_${LE}`),"getErrorResponseZodSchemaName");function Gu({statusCode:e,operationName:t,isUniqueOperationName:r,tag:n}){let i=Number(e),s=Gi(t,r,n);return!ku(i)&&e!=="default"&&qu(i)?qq(s,e):kq(s)}o(Gu,"getResponseZodSchemaName");function $a(e){return["minimum","exclusiveMinimum","maximum","exclusiveMaximum","minItems","minLength","minProperties","maxItems","maxLength","maxProperties","default","example"].filter(n=>e[n]).reduce((n,i)=>[...n,`${He(eP(i))}: \`${e[i]}\``],[])}o($a,"getSchemaDescriptions");var wa=o((e,t)=>JE(e,t.schemaSuffix),"getZodSchemaInferedTypeName"),gP=o((e,t)=>Ft(t)?`${e.options.tsNamespaces?`${Ge({type:"models",tag:e.getTagByZodSchemaName(t),options:e.options})}.`:""}${t}`:t,"getImportedZodSchemaName"),zi=o((e,t,r)=>{if(!Ft(t))return t===ma?"void":t;let n=e.getTagByZodSchemaName(t);return`${e.options.tsNamespaces&&n!==r?`${Ge({type:"models",tag:n,options:e.options})}.`:""}${wa(t,e.options)}`},"getImportedZodSchemaInferedTypeName");function yP(e){var t;return e.isEnum?"enum":((t=e.schemaObj)==null?void 0:t.type)??"object"}o(yP,"getZodSchemaType");function bP(e){if(e.schemaObj)return[e.schemaObj.description,...$a(e.schemaObj).join(". ")].filter(Boolean)}o(bP,"getZodSchemaDescription");function vP(e,t,r){var n;if(Ee(t)){let i=e.getZodSchemaNameByRef(t.$ref);return i?zi(e,i,r):void 0}if(Ru(t)){if(!Ee(t.items))return`${((n=t.items)==null?void 0:n.type)??"unknown"}[]`;let i=e.getZodSchemaNameByRef(t.items.$ref);return i?`${zi(e,i,r)}[]`:void 0}if(Sa.some(i=>i in t&&t[i])){let i=t.allOf??t.anyOf??t.oneOf??[];if(i.length>0)return vP(e,i[0],r)}return t.type}o(vP,"getType");function _P(e,t,r){if(!t.schemaObj)return[];let n="[0]",i="[key]",s={},a=o(c=>{var l;if(c.type==="reference")return!0;if(c.type==="composite")return;let u=[...((l=c.data)==null?void 0:l.pathSegments)??[]];if(c.type==="array"?u.push(n):c.type==="property"?u.push(c.propertyName):c.type==="additionalProperties"&&u.push(i),c.schema&&u[u.length-1]!==n){let p=e.resolveObject(c.schema),f=[p.description,...$a(p)].filter(Boolean),d=u.join(".");s[d]&&"type"in c.schema&&c.schema.type==="object"||(delete s[d],s[d]={type:vP(e,c.schema,r)??"unknown",description:f.join(". ")})}return Tt(c.schema,{data:{pathSegments:[...u]},onSchema:a}),!0},"onSchema");return"allOf"in t.schemaObj&&t.schemaObj.allOf&&t.schemaObj.allOf.forEach(c=>{if(Ee(c)){let u=e.resolveObject(c);Tt(u,{data:{pathSegments:[]},onSchema:a})}}),Tt(t.schemaObj,{data:{pathSegments:[]},onSchema:a}),s}o(_P,"getZodSchemaPropertyDescriptions");function ri({resolver:e,tag:t,zodSchemas:r=[],zodSchemasAsTypes:n=[]}){let i="models",s=o(u=>e.getTagByZodSchemaName(u),"getTag"),a=Tm({type:i,tag:t,entities:r,getTag:s,getEntityName:o(u=>u,"getEntityName"),options:e.options}),c=Tm({type:i,tag:t,entities:n,getTag:s,getEntityName:o(u=>wa(u,e.options),"getEntityName"),options:e.options});return Dq(e.options,a,c)}o(ri,"getModelsImports");function SP({tag:e,endpoints:t,options:r}){return Tm({type:"endpoints",tag:e,entities:t,getTag:o(n=>Ia(n,r),"getTag"),getEntityName:Aa,options:r})}o(SP,"getEndpointsImports");function OP({tags:e,entityName:t,getAliasEntityName:r,type:n,options:i}){let s=new Map;return e.forEach(a=>{let c=`${t}${r?` as ${r(a)}`:""}`;s.has(a)?i.tsNamespaces||s.get(a).bindings.push(c):s.set(a,{bindings:[i.tsNamespaces?Ge({type:n,tag:a,options:i}):c],from:`${Zi(i)}${zu({type:n,tag:a,includeTagDir:!0,options:i})}`})}),Array.from(s.values())}o(OP,"getEntityImports");function Zi(e){let t=Cm;return e.importPath==="relative"?t="../":e.importPath==="absolute"?t=e.output:new RegExp(`${Im}`,"g").test(e.output)&&(t=e.output.replace(new RegExp(`.*${Im}`,"g"),Cm)),`${t}/`.replace(/\/\//g,"/")}o(Zi,"getImportPath");function Tm({type:e="models",tag:t,entities:r,getTag:n,getEntityName:i,options:s}){let a=new Map;return r.forEach(c=>{let u=n(c);if(a.has(u))s.tsNamespaces||a.get(u).bindings.push(i(c));else{let l=t===u;a.set(u,{bindings:[s.tsNamespaces?Ge({type:e,tag:u,options:s}):i(c)],from:`${l?"./":Zi(s)}${zu({type:e,tag:u,includeTagDir:!l,options:s})}`})}}),Array.from(a.values())}o(Tm,"getImports");function Dq(e,...t){let r=new Map;return t.forEach(n=>{n.forEach(i=>{r.has(i.from)?e.tsNamespaces||r.get(i.from).bindings.push(...i.bindings):r.set(i.from,i)})}),Array.from(r.values()).map(n=>({...n,bindings:Qt(n.bindings)}))}o(Dq,"mergeImports");function Xo({fileName:e,extension:t}){return`${e}.${t}`}o(Xo,"getFileNameWithExtension");function EP({type:e,tag:t,options:r,includeTagDir:n=!0}){let i=r.configs[e].outputFileNameSuffix;return t?`${n?`${Xn(t)}/`:""}${Xn(t)}.${i}`:i}o(EP,"getTagFileNameWithoutExtension");function zu(...e){return EP(...e)}o(zu,"getTagImportPath");function Zu(...e){return`${EP(...e)}.ts`}o(Zu,"getTagFileName");var Ge=o(({type:e,tag:t,options:r})=>`${He(t)}${r.configs[e].namespaceSuffix}`,"getNamespaceName");function PP(e){return e.standalone?`${Zi(e)}${Vu.fileName}`:pP}o(PP,"getAppRestClientImportPath");function xP(e){return e.standalone?`${Zi(e)}${Fu.reactQueryTypes.fileName}`:dP}o(xP,"getQueryTypesImportPath");function $P(e){return`${Zi(e)}${Hu.fileName}`}o($P,"getInvalidateQueriesImportPath");function wP(e){return`${Zi(e)}${Bu.fileName}`}o(wP,"getZodExtendedImportPath");function AP(e){return Pt(e).with("string",()=>"string").with("number",()=>"number").with("integer",()=>"number").with("boolean",()=>"boolean").exhaustive()}o(AP,"primitiveTypeToTsType");var Aa=o(e=>Xn(pt(e.operationName)),"getEndpointName");function IP(e,t){return`${t.tsNamespaces?`${Ge({type:"endpoints",tag:Ia(e,t),options:t})}.`:""}${Aa(e)}`}o(IP,"getImportedEndpointName");var CP=o(e=>e.path.replace(/:([a-zA-Z0-9_]+)/g,"${$1}"),"getEndpointPath");function Ia(e,t){var n;let r=t.splitByTags?(n=e.tags)==null?void 0:n[0]:t.defaultTag;return ei(r??t.defaultTag)}o(Ia,"getEndpointTag");function Ca(e,t,r){let n=t.parameters.map(i=>{var a,c,u,l;let s="string";if(Ft(i.zodSchema))s=zi(e,i.zodSchema);else if((a=i.parameterObject)!=null&&a.schema&&Ct(i.parameterObject.schema)){let p=(u=(c=i.parameterObject)==null?void 0:c.schema)==null?void 0:u.type;p&&Ui(p)&&(s=AP(p))}return{name:Gn(i.name),type:s,paramType:i.type,required:((l=i.parameterObject)==null?void 0:l.required)??!0,parameterObject:i.parameterObject,bodyObject:i.bodyObject}});return r!=null&&r.includeFileParam&&t.mediaUpload&&n.push({name:"file",type:"File",paramType:"Body",required:!0,parameterObject:void 0,bodyObject:void 0}),n.sort((i,s)=>{if(i.required===s.required){let a=["Path","Body","Query","Header"];return a.indexOf(i.paramType)-a.indexOf(s.paramType)}return i.required?-1:1}).filter(i=>!(r!=null&&r.removePageParam)||i.name!==ya.pageParamName).map(i=>({...i,name:r!=null&&r.replacePageParam&&i.name===ya.pageParamName?"pageParam":i.name}))}o(Ca,"mapEndpointParamsToFunctionParams");function TP(e){let t=e.parameters.filter(i=>i.type==="Query").map(i=>{let s=UE(i.name)?i.name:`"${i.name}"`,a=Gn(i.name);return{...i,name:s,value:a}}),r={};return e.requestFormat!==hm["Content-Type"]&&(r["Content-Type"]=`'${e.requestFormat}'`),e.responseFormat&&e.responseFormat!==hm.Accept&&(r.Accept=`'${e.responseFormat}'`),e.parameters.filter(i=>i.type==="Header").forEach(i=>{r[i.name]=Gn(i.name)}),{...t.length>0?{params:t}:{},...Object.keys(r).length?{headers:r}:{}}}o(TP,"getEndpointConfig");function Ta(e){return{type:"invalid-schema",message:e}}o(Ta,"getInvalidSchemaError");function NP(e){return{type:"invalid-operation-id",message:`Operation ${e}`}}o(NP,"getInvalidOperationIdError");function RP(e,t){return{type:"missing-path-parameter",message:`Path ${t} is missing [${e.map(({name:r})=>r).join(", ")}]`}}o(RP,"getMissingPathParameterError");function jP(e){return{type:"not-allowed-inline-enum",message:e}}o(jP,"getNotAllowedInlineEnumError");function MP(e){return{type:"not-allowed-circular-schema",message:e}}o(MP,"getNotAllowedCircularSchemaError");function kP(e,t,r){return{type:"missing-acl-condition-property",message:`Condition property ${e} is not found in parameters or body in operation ${jm(t,r)}`}}o(kP,"getMissingAclConditionPropertyError");function Rm(e,t,r){return{type:"missing-status-code",message:`Missing HTTP status code ${Nm(e)} in operation ${jm(t,r)}`}}o(Rm,"getMissingStatusCodeError");function qP(e,t,r){return{type:"invalid-status-code",message:`Operation ${jm(t,r)} expected HTTP status code ${Nm(e.expected)} but received ${Nm(e.received)}`}}o(qP,"getInvalidStatusCodeError");function jm(e,t){return e.operationId??`${t.method} ${t.path}`}o(jm,"getOperationDescriptor");function Nm(e){return`${e} (${FE[e]})`}o(Nm,"getStatusCodeDescription");function DP(e){return e.reduce((t,r)=>({...t,[r.type]:[...t[r.type]??[],r.message]}),{})}o(DP,"groupByType");function nn({schema:e,meta:t,options:r}){let n=[];Pt(e.type).with("string",()=>n.push(Vq(e))).with("number","integer",()=>n.push(Bq(e))).with("array",()=>n.push(Uq(e))).otherwise(()=>{}),typeof e.description=="string"&&e.description!==""&&r.withDescription&&([`
|
|
140
|
+
`);return s!==-1&&(t=Qy(t,i,n,s)),n+t+i},"applyStyle");Object.defineProperties(Os.prototype,fo);var S6=Os(),O6=Os({level:Xy?Xy.level:0});var Fr=new vc;function Es(e,t,r){console.log(r!==void 0&&r!==t?`${Fr.yellow(`${e}:`.padEnd(20))}${Fr.magenta(t)}`:`${`${e}:`.padEnd(20)}${t}`)}o(Es,"logVariable");function ur(e){console.log(`[INFO] ${e}`)}o(ur,"logInfo");function wn(e){console.log(Fr.green(`[SUCCESS] ${e}`))}o(wn,"logSuccess");function Ps(e,t){e instanceof Error?(console.log(Fr.red(`[ERROR] ${t||e.message}`)),process.env.VERBOSE&&console.error(e)):console.log(Fr.red(`[ERROR] ${e}`))}o(Ps,"logError");function Sc(e){console.log(Fr.bgYellow(`==== ${e} ====`))}o(Sc,"logBanner");var rb=mt(require("fs"));function po(){return"0.9.2"}o(po,"getVersion");var M6=mt(ib());var Ef=Symbol("options_key");function Fe(e){return(t,r)=>{var n,i;if(e!=null){let s={...Reflect.getMetadata(Ef,t)||{},[r]:{...e,describe:e.envAlias?`${e.describe||""} [${e.envAlias}]`:e.describe,type:e.type||((i=(n=Reflect.getMetadata("design:type",t,r))==null?void 0:n.name)==null?void 0:i.toLowerCase())}};Reflect.defineMetadata(Ef,s,t)}}}o(Fe,"YargOption");function ob(e){let t=Reflect.getMetadata(Ef,e.prototype);if(!t)throw new Error(`Options for ${e.name} were not defined`);return t}o(ob,"getYargsOption");function Oc(e){return async t=>t.options(C$(e)).middleware(async r=>await T$(e,r),!0)}o(Oc,"getBuilder");function C$(e){return Object.entries(ob(e)).reduce((t,[r,n])=>(t[r]=Object.fromEntries(Object.entries(n).filter(([i])=>!["envAlias","default"].includes(i))),t),{})}o(C$,"getYargsOptions");async function T$(e,t){let r=new e;for(let[n,i]of Object.entries(ob(e)))r[n]=t[n]??i.default;return r}o(T$,"loadYargsConfig");var c1=mt(dm());var jE="Schema",ME="Enum",kE="Body",qE="Param",DE="Response",LE="ErrorResponse",ma="z.void()",Au="z.instanceof(Blob)",ga="z.enum",Iu="z.string()",Cu={bindings:["z"],from:"zod"};var ct={input:"",output:"output",splitByTags:!0,defaultTag:"Common",excludeTags:[],tsNamespaces:!0,importPath:"ts",configs:{models:{outputFileNameSuffix:"models",namespaceSuffix:"Models"},endpoints:{outputFileNameSuffix:"api",namespaceSuffix:"Api"},queries:{outputFileNameSuffix:"queries",namespaceSuffix:"Queries"},acl:{outputFileNameSuffix:"acl",namespaceSuffix:"Acl"}},standalone:!1,baseUrl:"",schemaSuffix:jE,enumSuffix:ME,withDefaultValues:!0,extractEnums:!0,replaceOptionalWithNullish:!1,removeOperationPrefixEndingWith:"Controller_",axiosRequestConfig:!1,infiniteQueries:!1,invalidateQueryOptions:!0};var FE={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",300:"Ambiguous",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",418:"I Am a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",424:"Failed Dependency",428:"Precondition Required",429:"Too Many Requests",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported"},VE={"invalid-schema":"Invalid OpenAPI Schemas","invalid-operation-id":"Invalid Operation IDs","missing-path-parameter":"Missing Path Parameters","not-allowed-inline-enum":"Not Allowed Inline Enums","not-allowed-circular-schema":"Not Allowed Circular Schemas","missing-acl-condition-property":"Missing x-acl Condition Properties","missing-status-code":"Missing HTTP Status Codes","invalid-status-code":"Invalid HTTP Status Codes"};var Yt={query:"useQuery",infiniteQuery:"useInfiniteQuery",mutation:"useMutation",queryClient:"useQueryClient"},HE={bindings:[Yt.query,Yt.infiniteQuery,Yt.mutation,Yt.queryClient],from:"@tanstack/react-query"},ya={pageParamName:"page"},Tu={pageParamName:"page",totalItemsName:"totalItems",limitParamName:"limit"},ba="moduleName";var hm={"Content-Type":"application/json",Accept:"application/json"},BE="data",mm="axios",Un="config",Qr="AxiosRequestConfig",Nu={defaultImport:mm,bindings:[Qr],from:"axios"};var UE=o(e=>/^(?:[a-zA-Z_$][a-zA-Z0-9_$]*|[0-9]+)$/.test(e),"isValidPropertyName"),Gn=o(e=>e.replace(/^[^a-zA-Z_$]*/g,"").replace(/[^a-zA-Z0-9_$]+(\w)?/g,(t,r)=>(r==null?void 0:r.toUpperCase())??""),"invalidVariableNameCharactersToCamel");function Ee(e){return e!=null&&Object.prototype.hasOwnProperty.call(e,"$ref")}o(Ee,"isReferenceObject");function Ct(e){return!Ee(e)}o(Ct,"isSchemaObject");function Ru(e){return e.type==="array"}o(Ru,"isArraySchemaObject");function GE(e){if(!e.allOf)throw new Error("Function inferRequiredSchema is specialized to handle item with required only in an allOf array.");let[t,r]=e.allOf.reduce((i,s)=>{if($q(s)){let a=s.required;i[0].push(...a??[])}else i[1].push(s);return i},[[],[]]),n={properties:t.reduce((i,s)=>(i[s]={},i),{}),type:"object",required:t};return{noRequiredOnlyAllof:r,composedRequiredSchema:n,patchRequiredSchemaInLoop:o((i,s)=>{if(Ee(i)){let a=s(i.$ref);a&&n.required.forEach(c=>{var u;n.properties[c]=((u=a==null?void 0:a.properties)==null?void 0:u[c])??{}})}else{let a=i.properties??{};n.required.forEach(c=>{a[c]&&(n.properties[c]=a[c]??{})})}},"patchRequiredSchemaInLoop")}}o(GE,"inferRequiredSchema");var $q=o(e=>!Ee(e)&&!!e.required&&!e.type&&!e.properties&&!(e!=null&&e.allOf)&&!(e!=null&&e.anyOf)&&!e.oneOf,"isBrokenAllOfItem");var dn=Symbol.for("@ts-pattern/matcher"),wq=Symbol.for("@ts-pattern/isVariadic"),Mu="@ts-pattern/anonymous-select-key",gm=o(e=>!!(e&&typeof e=="object"),"r"),ju=o(e=>e&&!!e[dn],"i"),en=o((e,t,r)=>{if(ju(e)){let n=e[dn](),{matched:i,selections:s}=n.match(t);return i&&s&&Object.keys(s).forEach(a=>r(a,s[a])),i}if(gm(e)){if(!gm(t))return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let n=[],i=[],s=[];for(let a of e.keys()){let c=e[a];ju(c)&&c[wq]?s.push(c):s.length?i.push(c):n.push(c)}if(s.length){if(s.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(t.length<n.length+i.length)return!1;let a=t.slice(0,n.length),c=i.length===0?[]:t.slice(-i.length),u=t.slice(n.length,i.length===0?1/0:-i.length);return n.every((l,p)=>en(l,a[p],r))&&i.every((l,p)=>en(l,c[p],r))&&(s.length===0||en(s[0],u,r))}return e.length===t.length&&e.every((a,c)=>en(a,t[c],r))}return Reflect.ownKeys(e).every(n=>{let i=e[n];return(n in t||ju(s=i)&&s[dn]().matcherType==="optional")&&en(i,t[n],r);var s})}return Object.is(t,e)},"s"),Yn=o(e=>{var t,r,n;return gm(e)?ju(e)?(t=(r=(n=e[dn]()).getSelectionKeys)==null?void 0:r.call(n))!=null?t:[]:Array.isArray(e)?_a(e,Yn):_a(Object.values(e),Yn):[]},"o"),_a=o((e,t)=>e.reduce((r,n)=>r.concat(t(n)),[]),"c");function mr(e){return Object.assign(e,{optional:o(()=>Aq(e),"optional"),and:o(t=>Ve(e,t),"and"),or:o(t=>Iq(e,t),"or"),select:o(t=>t===void 0?zE(e):zE(t,e),"select")})}o(mr,"u");function Aq(e){return mr({[dn]:()=>({match:o(t=>{let r={},n=o((i,s)=>{r[i]=s},"r");return t===void 0?(Yn(e).forEach(i=>n(i,void 0)),{matched:!0,selections:r}):{matched:en(e,t,n),selections:r}},"match"),getSelectionKeys:o(()=>Yn(e),"getSelectionKeys"),matcherType:"optional"})})}o(Aq,"h");function Ve(...e){return mr({[dn]:()=>({match:o(t=>{let r={},n=o((i,s)=>{r[i]=s},"r");return{matched:e.every(i=>en(i,t,n)),selections:r}},"match"),getSelectionKeys:o(()=>_a(e,Yn),"getSelectionKeys"),matcherType:"and"})})}o(Ve,"m");function Iq(...e){return mr({[dn]:()=>({match:o(t=>{let r={},n=o((i,s)=>{r[i]=s},"r");return _a(e,Yn).forEach(i=>n(i,void 0)),{matched:e.some(i=>en(i,t,n)),selections:r}},"match"),getSelectionKeys:o(()=>_a(e,Yn),"getSelectionKeys"),matcherType:"or"})})}o(Iq,"d");function Oe(e){return{[dn]:()=>({match:o(t=>({matched:!!e(t)}),"match")})}}o(Oe,"p");function zE(...e){let t=typeof e[0]=="string"?e[0]:void 0,r=e.length===2?e[1]:typeof e[0]=="string"?void 0:e[0];return mr({[dn]:()=>({match:o(n=>{let i={[t??Mu]:n};return{matched:r===void 0||en(r,n,(s,a)=>{i[s]=a}),selections:i}},"match"),getSelectionKeys:o(()=>[t??Mu].concat(r===void 0?[]:Yn(r)),"getSelectionKeys")})})}o(zE,"y");function Jr(e){return typeof e=="number"}o(Jr,"v");function zn(e){return typeof e=="string"}o(zn,"b");function Zn(e){return typeof e=="bigint"}o(Zn,"w");var iU=mr(Oe(function(e){return!0}));var Wn=o(e=>Object.assign(mr(e),{startsWith:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&n.startsWith(r)))));var r},"startsWith"),endsWith:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&n.endsWith(r)))));var r},"endsWith"),minLength:o(t=>Wn(Ve(e,(r=>Oe(n=>zn(n)&&n.length>=r))(t))),"minLength"),length:o(t=>Wn(Ve(e,(r=>Oe(n=>zn(n)&&n.length===r))(t))),"length"),maxLength:o(t=>Wn(Ve(e,(r=>Oe(n=>zn(n)&&n.length<=r))(t))),"maxLength"),includes:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&n.includes(r)))));var r},"includes"),regex:o(t=>{return Wn(Ve(e,(r=t,Oe(n=>zn(n)&&!!n.match(r)))));var r},"regex")}),"j"),oU=Wn(Oe(zn)),Xr=o(e=>Object.assign(mr(e),{between:o((t,r)=>Xr(Ve(e,((n,i)=>Oe(s=>Jr(s)&&n<=s&&i>=s))(t,r))),"between"),lt:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n<r))(t))),"lt"),gt:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n>r))(t))),"gt"),lte:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n<=r))(t))),"lte"),gte:o(t=>Xr(Ve(e,(r=>Oe(n=>Jr(n)&&n>=r))(t))),"gte"),int:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&Number.isInteger(t)))),"int"),finite:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&Number.isFinite(t)))),"finite"),positive:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&t>0))),"positive"),negative:o(()=>Xr(Ve(e,Oe(t=>Jr(t)&&t<0))),"negative")}),"x"),sU=Xr(Oe(Jr)),Kn=o(e=>Object.assign(mr(e),{between:o((t,r)=>Kn(Ve(e,((n,i)=>Oe(s=>Zn(s)&&n<=s&&i>=s))(t,r))),"between"),lt:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n<r))(t))),"lt"),gt:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n>r))(t))),"gt"),lte:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n<=r))(t))),"lte"),gte:o(t=>Kn(Ve(e,(r=>Oe(n=>Zn(n)&&n>=r))(t))),"gte"),positive:o(()=>Kn(Ve(e,Oe(t=>Zn(t)&&t>0))),"positive"),negative:o(()=>Kn(Ve(e,Oe(t=>Zn(t)&&t<0))),"negative")}),"A"),aU=Kn(Oe(Zn)),cU=mr(Oe(function(e){return typeof e=="boolean"})),uU=mr(Oe(function(e){return typeof e=="symbol"})),lU=mr(Oe(function(e){return e==null})),fU=mr(Oe(function(e){return e!=null}));var _m=class _m extends Error{constructor(t){let r;try{r=JSON.stringify(t)}catch{r=t}super(`Pattern matching error: no pattern matches value ${r}`),this.input=void 0,this.input=t}};o(_m,"W");var ym=_m,bm={matched:!1,value:void 0};function Pt(e){return new vm(e,bm)}o(Pt,"z");var va=class va{constructor(t,r){this.input=void 0,this.state=void 0,this.input=t,this.state=r}with(...t){if(this.state.matched)return this;let r=t[t.length-1],n=[t[0]],i;t.length===3&&typeof t[1]=="function"?i=t[1]:t.length>2&&n.push(...t.slice(1,t.length-1));let s=!1,a={},c=o((l,p)=>{s=!0,a[l]=p},"a"),u=!n.some(l=>en(l,this.input,c))||i&&!i(this.input)?bm:{matched:!0,value:r(s?Mu in a?a[Mu]:a:this.input,this.input)};return new va(this.input,u)}when(t,r){if(this.state.matched)return this;let n=!!t(this.input);return new va(this.input,n?{matched:!0,value:r(this.input,this.input)}:bm)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new ym(this.input)}run(){return this.exhaustive()}returnType(){return this}};o(va,"I");var vm=va;var Sm=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with"];var Om=2,ZE=["application/octet-stream","multipart/form-data","application/x-www-form-urlencoded","*/*"],WE=["query","header","path"],Qn=["get","put","post","delete","options","head","patch","trace"],KE=["string","number","integer","boolean"],Sa=["allOf","anyOf","oneOf"];function Jn(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)&&(r[n]=e[n])}),r}o(Jn,"pick");var He=o(e=>e.charAt(0).toUpperCase()+e.slice(1),"capitalize"),Xn=o(e=>e.charAt(0).toLowerCase()+e.slice(1),"decapitalize"),YE=o(e=>e.replace(/(-\w)/g,t=>t[1].toUpperCase()),"kebabToCamel"),pt=o(e=>e.replace(/(_\w)/g,t=>t[1].toUpperCase()),"snakeToCamel"),QE=o(e=>e.replace(/[\W_]+(\w)?/g,(t,r)=>(r==null?void 0:r.toUpperCase())??""),"nonWordCharactersToCamel"),Em=o((e,t="")=>e.endsWith(t)?e:`${e}${t}`,"suffixIfNeeded"),JE=o((e,t)=>e.replace(new RegExp(`${t}$`),""),"removeSuffix"),Cq=o(e=>{var n;let t=e.reduce((i,s)=>({...i,[s]:(i[s]??0)+1}),{});return(n=Object.entries(t).sort((i,s)=>i[1]===s[1]?s[0].length-i[0].length:s[1]-i[1])[0])==null?void 0:n[0]},"getLongestMostCommon"),Pm=o(e=>{let t=e.map(He).map(XE).map(r=>Tq(r)).flat();return Cq(t)},"getMostCommonAdjacentCombinationSplit"),XE=o(e=>e.split(/(?<![A-Z])(?=[A-Z])/).filter(Boolean),"splitByUppercase"),eP=o(e=>XE(e).join(" "),"camelToSpaceSeparated"),Tq=o((e,t=["dto","by","for","of","in","to","and","with"])=>{var n;let r=[];for(let i=0;i<e.length;i++)if(!t.includes(e[i].toLowerCase()))for(let s=i+1;s<=e.length;s++)t.includes((n=e[s-1])==null?void 0:n.toLowerCase())||r.push(e.slice(i,s).join(""));return r},"getAdjacentStringCombinations"),tP=o((e,t)=>{let r=t.replace(/es$|s$/g,""),n=new RegExp(`(${Xn(r)}|${He(r)})[a-z]*(?=$|[A-Z])`,"g");return e.replace(n,"")},"removeWord"),rP=o(e=>e!==void 0,"isString");function ei(e){return QE(e)}o(ei,"formatTag");function Hi(e,t){var n;let r=(n=e.tags)==null?void 0:n[0];return ei(r??t.defaultTag)}o(Hi,"getOperationTag");function nP(e,t){let r={};for(let n in e.paths){let i=e.paths[n],s=Jn(i,Qn);for(let a in s){let c=s[a];if(!c||c.deprecated&&!t.withDeprecatedEndpoints)continue;let u=t.splitByTags?Hi(c,t):t.defaultTag;r[u]||(r[u]=[]),r[u].push(c)}}return r}o(nP,"getOperationsByTag");var oP=o(e=>`#/components/schemas/${e}`,"getSchemaRef"),Bi=o(e=>e[1]==="/"?e:"#/"+e.slice(1),"autocorrectRef"),Jo=o(e=>Bi(e).split("/").at(-1),"getSchemaNameByRef");function wm(e){let t=Nq(e).normalize("NFKD").trim().replace(/\s+/g,"_").replace(/--+/g,"-").replace(/-+/g,"_").replace(/[^\w-]+/g,"_");return pt(t)}o(wm,"normalizeString");function sP(e){return/^[a-zA-Z]\w*$/.test(e)?e:`"${e}"`}o(sP,"wrapWithQuotesIfNeeded");function aP(e){return typeof e=="string"&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}o(aP,"unwrapQuotesIfNeeded");function Nq(e){let t=Number(e[0]);return typeof t=="number"&&!Number.isNaN(t)?"_"+e:e}o(Nq,"prefixStringStartingWithNumberIfNeeded");function Am(e){let t=e.replaceAll("_","#");return pt(t.replaceAll("-","_")).replaceAll("#","_")}o(Am,"pathParamToVariableName");var Ui=o(e=>KE.includes(e),"isPrimitiveType");function cP(e){return e.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/([\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F\uFFFE\uFFFF])/g,(t,r)=>{let n=r.codePointAt(),i=n.toString(16);return n<=255?`\\x${`00${i}`.slice(-2)}`:`\\u${`0000${i}`.slice(-4)}`}).replace(/\//g,"\\/")}o(cP,"escapeControlCharacters");function tn(e){return e.includes("application/")&&e.includes("json")||ZE.includes(e)||e.includes("text/")}o(tn,"isParamMediaTypeAllowed");function ku(e){return e>=200&&e<300}o(ku,"isMainResponseStatus");function qu(e){return!(e>=200&&e<300)}o(qu,"isErrorStatus");function Du(e){return["application/json","application/pdf"].includes(e)}o(Du,"isMediaTypeAllowed");function xm({path:e,method:t,operation:r,options:n,tag:i,keepOperationTag:s,keepOperationPrefix:a}){let c=`${t}${jq(e)}`,u=r.operationId?Gn(r.operationId):c;if(n.removeOperationPrefixEndingWith&&a)u=u.split(n.removeOperationPrefixEndingWith).map((p,f)=>f===0?p:He(p)).join("");else if(n.removeOperationPrefixEndingWith&&!a){let l=new RegExp(`^.*${n.removeOperationPrefixEndingWith}`);u=u.replace(l,"")}if(n.tsNamespaces&&!s){let l=tP(u,i);Sm.includes(l)||(u=l)}return Sm.includes(u)?c:u}o(xm,"getOperationName");function Oa({operationsByTag:e,...t}){let{operation:r,options:n}=t,i=n.splitByTags?Hi(r,n):n.defaultTag,s=o(a=>{let c=xm({...t,tag:i,keepOperationTag:a});if(e[i].filter(l=>xm({...t,operation:l,tag:i,keepOperationTag:a})===c).length===1)return c},"operationName");return s()??s(!0)??xm({...t,tag:i,keepOperationTag:!0,keepOperationPrefix:!0})}o(Oa,"getUniqueOperationName");function uP(e,t,r){let n=[];for(let i in e.paths){let s=e.paths[i],a=Jn(s,Qn);for(let c in a){let u=a[c];if(!u||u.deprecated&&!r.withDeprecatedEndpoints)continue;let l=Oa({path:i,method:c,operation:u,operationsByTag:t,options:r});n.push(l)}}return n}o(uP,"getUniqueOperationNamesWithoutSplitByTags");var iP=/({\w+})/g,Rq=/[^\w\-]+/g;function jq(e){e=He(YE(e.replaceAll("/","-")).replaceAll("-",""));let t=[...e.matchAll(iP)];if(t.length>0){let r=t.sort((n,i)=>n.index-i.index)[t.length-1][0];e=`${e.replace(iP,"")}By${He(r.slice(1,-1))}`}return e.replace(Rq,"_")}o(jq,"pathToVariableName");var $m=/{(\b\w+(?:-\w+)*\b)}/g;function lP(e){let t=e.match($m);return t===null?e.replaceAll($m,":$1"):(t.forEach(r=>{let n=Am(r.replaceAll($m,":$1"));e=e.replaceAll(r,n)}),e)}o(lP,"replaceHyphenatedPath");var fP=o(e=>{let t=e["x-enumNames"],r=Array.isArray(t)&&t.length>0,n=!!e.schema&&Ct(e.schema)&&e.schema.type==="string";return r&&n},"isSortingParameterObject");var Ea="AppRestClient",Lu={query:"AppQueryOptions",infiniteQuery:"AppInfiniteQueryOptions",mutation:"AppMutationOptions"},Im="src/data",Cm="@/data",pP="@/util/rest/clients/app-rest-client",dP="@/types/react-query";var Fu={reactQueryTypes:{fileName:"react-query.types",extension:"ts"},restClient:{fileName:"rest-client",extension:"ts"},restInterceptor:{fileName:"rest-interceptor",extension:"ts"}},Vu={fileName:"app-rest-client",extension:"ts"},Mq="QueryModule",ti={queryModuleEnum:Mq,optionsType:"InvalidateQueryOptions",functionName:"invalidateQueries"},Hu={fileName:"invalidateQueries",extension:"ts"},Pa={name:"zodExtended",properties:{sortingString:"sortingString"}},Bu={fileName:"zodExtended",extension:"ts"};var Qt=o((...e)=>[...new Set(e.flat())],"getUniqueArray");function Tt(e,t){if(!e)return;let{data:r,onSchema:n}=t;if(Ee(e)&&n({type:"reference",schema:e,data:r})===!0)return;let i=e;if(Sa.some(s=>s in i&&i[s])){let s=i.allOf??i.anyOf??i.oneOf??[];for(let a of s)(n==null?void 0:n({type:"composite",parentSchema:e,schema:a,data:r}))!==!0&&Tt(a,{data:r,onSchema:n})}if(i.properties)for(let[s,a]of Object.entries(i.properties))n({type:"property",parentSchema:e,schema:a,data:r,propertyName:s})!==!0&&Tt(a,t);if(i.additionalProperties&&typeof i.additionalProperties=="object"){if(n({type:"additionalProperties",parentSchema:e,schema:i.additionalProperties,data:r})===!0)return;Tt(i.additionalProperties,t)}if(i.type==="array"){let s=e.items;if(n({type:"array",parentSchema:e,schema:s,data:r})===!0)return;Tt(s,t)}}o(Tt,"iterateSchema");var rn=o((e,t)=>Em(He(wm(e)),t),"getZodSchemaName"),xa=o((e,t,r)=>Em(He(wm(e)),`${t}${r}`),"getEnumZodSchemaName"),Ft=o(e=>!e.startsWith("z."),"isNamedZodSchema"),hP=o(e=>e.startsWith(ga),"isEnumZodSchema"),Gi=o((e,t,r)=>t?e:`${r}_${e}`,"getZodSchemaOperationName"),Uu=o(e=>pt(`${e}_${kE}`),"getBodyZodSchemaName"),mP=o((e,t)=>pt(`${e}_${t}${qE}`),"getParamZodSchemaName"),kq=o(e=>pt(`${e}${DE}`),"getMainResponseZodSchemaName"),qq=o((e,t)=>pt(`${e}_${t}_${LE}`),"getErrorResponseZodSchemaName");function Gu({statusCode:e,operationName:t,isUniqueOperationName:r,tag:n}){let i=Number(e),s=Gi(t,r,n);return!ku(i)&&e!=="default"&&qu(i)?qq(s,e):kq(s)}o(Gu,"getResponseZodSchemaName");function $a(e){return["minimum","exclusiveMinimum","maximum","exclusiveMaximum","minItems","minLength","minProperties","maxItems","maxLength","maxProperties","default","example"].filter(n=>e[n]).reduce((n,i)=>[...n,`${He(eP(i))}: \`${e[i]}\``],[])}o($a,"getSchemaDescriptions");var wa=o((e,t)=>JE(e,t.schemaSuffix),"getZodSchemaInferedTypeName"),gP=o((e,t)=>Ft(t)?`${e.options.tsNamespaces?`${Ge({type:"models",tag:e.getTagByZodSchemaName(t),options:e.options})}.`:""}${t}`:t,"getImportedZodSchemaName"),zi=o((e,t,r)=>{if(!Ft(t))return t===ma?"void":t;let n=e.getTagByZodSchemaName(t);return`${e.options.tsNamespaces&&n!==r?`${Ge({type:"models",tag:n,options:e.options})}.`:""}${wa(t,e.options)}`},"getImportedZodSchemaInferedTypeName");function yP(e){var t;return e.isEnum?"enum":((t=e.schemaObj)==null?void 0:t.type)??"object"}o(yP,"getZodSchemaType");function bP(e){if(e.schemaObj)return[e.schemaObj.description,...$a(e.schemaObj).join(". ")].filter(Boolean)}o(bP,"getZodSchemaDescription");function vP(e,t,r){var n;if(Ee(t)){let i=e.getZodSchemaNameByRef(t.$ref);return i?zi(e,i,r):void 0}if(Ru(t)){if(!Ee(t.items))return`${((n=t.items)==null?void 0:n.type)??"unknown"}[]`;let i=e.getZodSchemaNameByRef(t.items.$ref);return i?`${zi(e,i,r)}[]`:void 0}if(Sa.some(i=>i in t&&t[i])){let i=t.allOf??t.anyOf??t.oneOf??[];if(i.length>0)return vP(e,i[0],r)}return t.type}o(vP,"getType");function _P(e,t,r){if(!t.schemaObj)return[];let n="[0]",i="[key]",s={},a=o(c=>{var l;if(c.type==="reference")return!0;if(c.type==="composite")return;let u=[...((l=c.data)==null?void 0:l.pathSegments)??[]];if(c.type==="array"?u.push(n):c.type==="property"?u.push(c.propertyName):c.type==="additionalProperties"&&u.push(i),c.schema&&u[u.length-1]!==n){let p=e.resolveObject(c.schema),f=[p.description,...$a(p)].filter(Boolean),d=u.join(".");s[d]&&"type"in c.schema&&c.schema.type==="object"||(delete s[d],s[d]={type:vP(e,c.schema,r)??"unknown",description:f.join(". ")})}return Tt(c.schema,{data:{pathSegments:[...u]},onSchema:a}),!0},"onSchema");return"allOf"in t.schemaObj&&t.schemaObj.allOf&&t.schemaObj.allOf.forEach(c=>{if(Ee(c)){let u=e.resolveObject(c);Tt(u,{data:{pathSegments:[]},onSchema:a})}}),Tt(t.schemaObj,{data:{pathSegments:[]},onSchema:a}),s}o(_P,"getZodSchemaPropertyDescriptions");function ri({resolver:e,tag:t,zodSchemas:r=[],zodSchemasAsTypes:n=[]}){let i="models",s=o(u=>e.getTagByZodSchemaName(u),"getTag"),a=Tm({type:i,tag:t,entities:r,getTag:s,getEntityName:o(u=>u,"getEntityName"),options:e.options}),c=Tm({type:i,tag:t,entities:n,getTag:s,getEntityName:o(u=>wa(u,e.options),"getEntityName"),options:e.options});return Dq(e.options,a,c)}o(ri,"getModelsImports");function SP({tag:e,endpoints:t,options:r}){return Tm({type:"endpoints",tag:e,entities:t,getTag:o(n=>Ia(n,r),"getTag"),getEntityName:Aa,options:r})}o(SP,"getEndpointsImports");function OP({tags:e,entityName:t,getAliasEntityName:r,type:n,options:i}){let s=new Map;return e.forEach(a=>{let c=`${t}${r?` as ${r(a)}`:""}`;s.has(a)?i.tsNamespaces||s.get(a).bindings.push(c):s.set(a,{bindings:[i.tsNamespaces?Ge({type:n,tag:a,options:i}):c],from:`${Zi(i)}${zu({type:n,tag:a,includeTagDir:!0,options:i})}`})}),Array.from(s.values())}o(OP,"getEntityImports");function Zi(e){let t=Cm;return e.importPath==="relative"?t="../":e.importPath==="absolute"?t=e.output:new RegExp(`${Im}`,"g").test(e.output)&&(t=e.output.replace(new RegExp(`.*${Im}`,"g"),Cm)),`${t}/`.replace(/\/\//g,"/")}o(Zi,"getImportPath");function Tm({type:e="models",tag:t,entities:r,getTag:n,getEntityName:i,options:s}){let a=new Map;return r.forEach(c=>{let u=n(c);if(a.has(u))s.tsNamespaces||a.get(u).bindings.push(i(c));else{let l=t===u;a.set(u,{bindings:[s.tsNamespaces?Ge({type:e,tag:u,options:s}):i(c)],from:`${l?"./":Zi(s)}${zu({type:e,tag:u,includeTagDir:!l,options:s})}`})}}),Array.from(a.values())}o(Tm,"getImports");function Dq(e,...t){let r=new Map;return t.forEach(n=>{n.forEach(i=>{r.has(i.from)?e.tsNamespaces||r.get(i.from).bindings.push(...i.bindings):r.set(i.from,i)})}),Array.from(r.values()).map(n=>({...n,bindings:Qt(n.bindings)}))}o(Dq,"mergeImports");function Xo({fileName:e,extension:t}){return`${e}.${t}`}o(Xo,"getFileNameWithExtension");function EP({type:e,tag:t,options:r,includeTagDir:n=!0}){let i=r.configs[e].outputFileNameSuffix;return t?`${n?`${Xn(t)}/`:""}${Xn(t)}.${i}`:i}o(EP,"getTagFileNameWithoutExtension");function zu(...e){return EP(...e)}o(zu,"getTagImportPath");function Zu(...e){return`${EP(...e)}.ts`}o(Zu,"getTagFileName");var Ge=o(({type:e,tag:t,options:r})=>`${He(t)}${r.configs[e].namespaceSuffix}`,"getNamespaceName");function PP(e){return e.standalone?`${Zi(e)}${Vu.fileName}`:pP}o(PP,"getAppRestClientImportPath");function xP(e){return e.standalone?`${Zi(e)}${Fu.reactQueryTypes.fileName}`:dP}o(xP,"getQueryTypesImportPath");function $P(e){return`${Zi(e)}${Hu.fileName}`}o($P,"getInvalidateQueriesImportPath");function wP(e){return`${Zi(e)}${Bu.fileName}`}o(wP,"getZodExtendedImportPath");function AP(e){return Pt(e).with("string",()=>"string").with("number",()=>"number").with("integer",()=>"number").with("boolean",()=>"boolean").exhaustive()}o(AP,"primitiveTypeToTsType");var Aa=o(e=>Xn(pt(e.operationName)),"getEndpointName");function IP(e,t){return`${t.tsNamespaces?`${Ge({type:"endpoints",tag:Ia(e,t),options:t})}.`:""}${Aa(e)}`}o(IP,"getImportedEndpointName");var CP=o(e=>e.path.replace(/:([a-zA-Z0-9_]+)/g,"${$1}"),"getEndpointPath");function Ia(e,t){var n;let r=t.splitByTags?(n=e.tags)==null?void 0:n[0]:t.defaultTag;return ei(r??t.defaultTag)}o(Ia,"getEndpointTag");function Ca(e,t,r){let n=t.parameters.map(i=>{var a,c,u,l;let s="string";if(Ft(i.zodSchema))s=zi(e,i.zodSchema);else if((a=i.parameterObject)!=null&&a.schema&&Ct(i.parameterObject.schema)){let p=(u=(c=i.parameterObject)==null?void 0:c.schema)==null?void 0:u.type;p&&Ui(p)&&(s=AP(p))}return{name:Gn(i.name),type:s,paramType:i.type,required:((l=i.parameterObject)==null?void 0:l.required)??!0,parameterObject:i.parameterObject,bodyObject:i.bodyObject}});return r!=null&&r.includeFileParam&&t.mediaUpload&&n.push({name:"file",type:"File",paramType:"Body",required:!0,parameterObject:void 0,bodyObject:void 0}),n.sort((i,s)=>{if(i.required===s.required){let a=["Path","Body","Query","Header"];return a.indexOf(i.paramType)-a.indexOf(s.paramType)}return i.required?-1:1}).filter(i=>!(r!=null&&r.removePageParam)||i.name!==ya.pageParamName).map(i=>({...i,name:r!=null&&r.replacePageParam&&i.name===ya.pageParamName?"pageParam":i.name}))}o(Ca,"mapEndpointParamsToFunctionParams");function TP(e){let t=e.parameters.filter(i=>i.type==="Query").map(i=>{let s=UE(i.name)?i.name:`"${i.name}"`,a=Gn(i.name);return{...i,name:s,value:a}}),r={};return e.requestFormat!==hm["Content-Type"]&&(r["Content-Type"]=`'${e.requestFormat}'`),e.responseFormat&&e.responseFormat!==hm.Accept&&(r.Accept=`'${e.responseFormat}'`),e.parameters.filter(i=>i.type==="Header").forEach(i=>{r[i.name]=Gn(i.name)}),{...t.length>0?{params:t}:{},...Object.keys(r).length?{headers:r}:{}}}o(TP,"getEndpointConfig");function Ta(e){return{type:"invalid-schema",message:e}}o(Ta,"getInvalidSchemaError");function NP(e){return{type:"invalid-operation-id",message:`Operation ${e}`}}o(NP,"getInvalidOperationIdError");function RP(e,t){return{type:"missing-path-parameter",message:`Path ${t} is missing [${e.map(({name:r})=>r).join(", ")}]`}}o(RP,"getMissingPathParameterError");function jP(e){return{type:"not-allowed-inline-enum",message:e}}o(jP,"getNotAllowedInlineEnumError");function MP(e){return{type:"not-allowed-circular-schema",message:e}}o(MP,"getNotAllowedCircularSchemaError");function kP(e,t,r){return{type:"missing-acl-condition-property",message:`Condition property ${e} is not found in parameters or body in operation ${jm(t,r)}`}}o(kP,"getMissingAclConditionPropertyError");function Rm(e,t,r){return{type:"missing-status-code",message:`Missing HTTP status code ${Nm(e)} in operation ${jm(t,r)}`}}o(Rm,"getMissingStatusCodeError");function qP(e,t,r){return{type:"invalid-status-code",message:`Operation ${jm(t,r)} expected HTTP status code ${Nm(e.expected)} but received ${Nm(e.received)}`}}o(qP,"getInvalidStatusCodeError");function jm(e,t){return e.operationId??`${t.method} ${t.path}`}o(jm,"getOperationDescriptor");function Nm(e){return`${e} (${FE[e]})`}o(Nm,"getStatusCodeDescription");function DP(e){return e.reduce((t,r)=>({...t,[r.type]:[...t[r.type]??[],r.message]}),{})}o(DP,"groupByType");function nn({schema:e,meta:t,options:r}){let n=[];Pt(e.type).with("string",()=>n.push(Vq(e))).with("number","integer",()=>n.push(Bq(e))).with("array",()=>n.push(Uq(e))).otherwise(()=>{}),typeof e.description=="string"&&e.description!==""&&r.withDescription&&([`
|
|
141
141
|
`,"\r",`\r
|
|
142
142
|
`].some(s=>String.prototype.includes.call(e.description,s))?n.push(`describe(\`${e.description}\`)`):n.push(`describe("${e.description}")`));let i=n.concat(Lq({schema:e,meta:t,options:r}),r.withDefaultValues!==!1?Fq(e):[]).filter(Boolean).join(".");return i?`.${i}`:""}o(nn,"getZodChain");function Lq({schema:e,meta:t,options:r}){return e.nullable&&!(t!=null&&t.isRequired)?"nullish()":e.nullable||r.replaceOptionalWithNullish&&(t!=null&&t.isParentPartial)?"nullable()":t!=null&&t.isRequired?"":r.replaceOptionalWithNullish?"nullish()":"optional()"}o(Lq,"getZodChainablePresence");function Fq(e){return e.default!==void 0?`default(${Pt(e.type).with("number","integer",()=>aP(e.default)).otherwise(()=>JSON.stringify(e.default))})`:""}o(Fq,"getZodChainableDefault");function Vq(e){let t=[];if(e.enum||(e.minLength!==void 0&&t.push(`min(${e.minLength})`),e.maxLength!==void 0&&t.push(`max(${e.maxLength})`)),e.pattern&&t.push(`regex(${Hq(e.pattern)})`),e.format){let r=Pt(e.format).with("email",()=>"email()").with("hostname","uri",()=>"url()").with("uuid",()=>"uuid()").with("date-time",()=>"datetime({ offset: true })").otherwise(()=>"");r&&t.push(r)}return t.join(".")}o(Vq,"getZodChainableStringValidations");function Hq(e){return e.startsWith("/")&&e.endsWith("/")&&(e=e.slice(1,-1)),e=cP(e),`/${e}/`}o(Hq,"formatPatternIfNeeded");function Bq(e){let t=[];return e.enum?"":(e.type==="integer"&&t.push("int()"),e.minimum!==void 0?e.exclusiveMinimum===!0?t.push(`gt(${e.minimum})`):t.push(`gte(${e.minimum})`):typeof e.exclusiveMinimum=="number"&&t.push(`gt(${e.exclusiveMinimum})`),e.maximum!==void 0?e.exclusiveMaximum===!0?t.push(`lt(${e.maximum})`):t.push(`lte(${e.maximum})`):typeof e.exclusiveMaximum=="number"&&t.push(`lt(${e.exclusiveMaximum})`),e.multipleOf&&t.push(`multipleOf(${e.multipleOf})`),t.join("."))}o(Bq,"getZodChainableNumberValidations");function Uq(e){let t=[];return e.minItems&&t.push(`min(${e.minItems})`),e.maxItems&&t.push(`max(${e.maxItems})`),t.join(".")}o(Uq,"getZodChainableArrayValidations");var Wi=o(e=>e.reduce((t,r)=>t+r,0),"sum");function dt(e,t){if(!t)return e;if(Ee(t))return e+2;if(Array.isArray(t.type))return t.type.length===1?Jt("oneOf")+dt(e,{...t,type:t.type[0]}):e+Jt("oneOf")+Wi(t.type.map(r=>dt(0,{...t,type:r})));if(t.oneOf)return t.oneOf.length===1?Jt("oneOf")+dt(e,t.oneOf[0]):e+Jt("oneOf")+Wi(t.oneOf.map(r=>dt(0,r)));if(t.anyOf)return t.anyOf.length===1?Jt("anyOf")+dt(e,t.anyOf[0]):e+Jt("anyOf")+Wi(t.anyOf.map(r=>dt(0,r)));if(t.allOf)return t.allOf.length===1?Jt("allOf")+dt(e,t.allOf[0]):e+Jt("allOf")+Wi(t.allOf.map(r=>dt(0,r)));if(!t.type)return e;if(Ui(t.type))return t.enum?e+LP(t)+Jt("enum")+Wi(t.enum.map(r=>dt(0,r))):e+LP(t);if(t.type==="array")return t.items?Jt("array")+dt(e,t.items):Jt("array")+dt(e);if(t.type==="object"||t.properties||t.additionalProperties){if(t.properties){let r=Object.values(t.properties);e+=Jt("object")+Wi(r.map(n=>dt(0,n)))}else e+=Jt("empty-object");t.additionalProperties&&(typeof t.additionalProperties=="object"?e+=dt(0,t.additionalProperties):e+=dt(1))}return e}o(dt,"getOpenAPISchemaComplexity");function LP(e){return Pt(e.type).with("string","number","integer","boolean",()=>1).otherwise(()=>0)}o(LP,"complexityByType");function Jt(e){return Pt(e).with("oneOf",()=>2).with("anyOf",()=>3).with("allOf",()=>2).with("enum","array","empty-object",()=>1).with("object",()=>2).otherwise(()=>0)}o(Jt,"complexityByComposite");var Mm=class Mm{constructor(t,r,n={referencedBy:[]},i){this.schema=t;this.resolver=r;Ee(t)&&(this.ref=t.$ref),i&&(this.enumRef=i),this.meta={...n,referencedBy:[...(n==null?void 0:n.referencedBy)??[]]},this.ref&&this.meta.referencedBy.push(this)}code;ref;enumRef;children=[];meta;getCodeString(t,r){var s,a;if(!this.ref&&this.code)return this.code;if(!this.ref)throw new Error("Zod schema is missing both ref and code");let n=(s=this.resolver)==null?void 0:s.getZodSchemaNameByRef(this.ref);if(!n)return this.ref;let i=(a=this.resolver)==null?void 0:a.getTagByZodSchemaName(n);return r!=null&&r.tsNamespaces&&i&&i!==t?`${Ge({type:"models",tag:i,options:r})}.${n}`:n}get complexity(){return dt(0,this.schema)}assign(t){return this.code=t,this}inherit(t){return t&&t.children.push(this),this}};o(Mm,"ZodSchema");var Na=Mm;function Ke({schema:e,resolver:t,meta:r,tag:n}){var y;let i=new Na(e,t,r),s={parent:i.inherit(r==null?void 0:r.parent),referencedBy:[...i.meta.referencedBy]},a={resolver:t,meta:s,tag:n};if(Ee(e))return Gq({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});let c=Zq({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(c)return c;let u=zq({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(u)return u;let l=Wq({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(l)return l;let p=Kq({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(p)return p;let f=Yq({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(f)return f;let d=t.options.allReadonly?".readonly()":"";if(Ru(e))return e.items?i.assign(`z.array(${Ke({...a,schema:e.items}).getCodeString(n,t.options)}${nn({schema:e.items,meta:{...s,isRequired:!0},options:t.options})})${d}`):i.assign(`z.array(z.any())${d}`);let h=e.type?e.type.toLowerCase():void 0;if(h==="object"||e.properties||e.additionalProperties){let b=e.required&&e.required.length>0,m=t.options.withImplicitRequiredProps?!1:e.properties&&!((y=e.required)!=null&&y.length),P="{}";e.properties&&(P="{ "+Object.entries(e.properties).map(([ae,J])=>{var M;let Be={...s,isRequired:m?!0:b?(M=e.required)==null?void 0:M.includes(ae):t.options.withImplicitRequiredProps,name:ae,isParentPartial:m},xe=J;if(Ee(J)&&t&&(xe=t.getSchemaByRef(J.$ref),!xe))throw new Error(`Schema ${J.$ref} not found`);let X=Ke({...a,schema:J,meta:Be}).getCodeString(n,t.options)+nn({schema:xe,meta:Be,options:t.options});return[ae,X]}).map(([ae,J])=>`${sP(ae)}: ${J}`).join(", ")+" }");let $="";e.additionalProperties&&($=`.catchall(${typeof e.additionalProperties=="object"&&Object.keys(e.additionalProperties).length>0?Ke({...a,schema:e.additionalProperties}).getCodeString(n,t.options)+nn({schema:e.additionalProperties,meta:{...s,isRequired:!0},options:t.options}):"z.any()"})`);let T=m?".partial()":"",I=t.options.strictObjects?".strict()":"";return i.assign(`z.object(${P})${T}${I}${$}${d}`)}if(h==="any")return i.assign("z.any()");if(!h)return i.assign("z.unknown()");throw new Error(`Unsupported schema type: ${h}`)}o(Ke,"getZodSchema");function Gq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Ee(e))return;let s=t.meta.referencedBy.slice(0,-1).map(u=>u.ref?r.getZodSchemaNameByRef(u.ref)??u.ref:void 0).filter(Boolean),a=r.getZodSchemaNameByRef(e.$ref);if(s.length>1&&s.includes(a))return t.assign(r.getCodeByZodSchemaName(t.ref));let c=r.getCodeByZodSchemaName(e.$ref);if(!c){let u=r.getSchemaByRef(e.$ref);if(!u)throw new Error(`Schema ${e.$ref} not found`);c=Ke({schema:u,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)}return r.getCodeByZodSchemaName(a)||r.setZodSchema(a,c,i),t}o(Gq,"getReferenceZodSchema");function zq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){var a;if(!Ct(e)||!e.oneOf)return;if(e.oneOf.length===1){let c=Ke({schema:e.oneOf[0],resolver:r,meta:n,tag:i});return t.assign(c.getCodeString(i,r.options))}let s=(a=e.oneOf)==null?void 0:a.some(c=>Ct(c)&&((c==null?void 0:c.allOf)||[]).length>1);if(e.discriminator&&!s){let c=e.discriminator.propertyName;return t.assign(`
|
|
143
143
|
z.discriminatedUnion("${c}", [${e.oneOf.map(u=>Ke({schema:u,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])
|
|
144
|
-
`)}return t.assign(`z.union([${e.oneOf.map(c=>Ke({schema:c,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(zq,"getOneOfZodSchema");function Zq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!(!Ct(e)||!Array.isArray(e.type)))return e.type.length===1?Ke({schema:{...e,type:e.type[0]},resolver:r,meta:n,tag:i}):t.assign(`z.union([${e.type.map(s=>Ke({schema:{...e,type:s},resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(Zq,"getArrayZodSchema");function Wq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Ct(e)||!e.anyOf)return;if(e.anyOf.length===1){let a=Ke({schema:e.anyOf[0],resolver:r,meta:n,tag:i});return t.assign(a.getCodeString(i,r.options))}let s=e.anyOf.map(a=>Ke({schema:a,resolver:r,meta:n,tag:i})).map(a=>a.getCodeString(i,r.options)).join(", ");return t.assign(`z.union([${s}])`)}o(Wq,"getAnyOfZodSchema");function Kq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Ct(e)||!e.allOf)return;if(e.allOf.length===1){let f=Ke({schema:e.allOf[0],resolver:r,meta:n,tag:i});return t.assign(f.getCodeString(i,r.options))}let{patchRequiredSchemaInLoop:s,noRequiredOnlyAllof:a,composedRequiredSchema:c}=GE(e),u=a.map(f=>{let d=Ke({schema:f,resolver:r,meta:n,tag:i});return r&&s(f,r.getSchemaByRef.bind(r)),d});c.required.length&&u.push(Ke({schema:c,resolver:r,meta:n,tag:i}));let l=u.at(0),p=u.slice(1).map(f=>`merge(${f.getCodeString(i,r.options)})`).join(".");return t.assign(`${l.getCodeString(i,r.options)}.${p}`)}o(Kq,"getAllOfZodSchema");function Yq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Ct(e))return;let s=e.type?e.type.toLowerCase():void 0;if(s&&Ui(s)){if(e.enum){if(s==="string")return Qq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i});if(e.enum.some(a=>typeof a=="string"))return t.assign("z.never()");if(e.enum.length===1){let a=e.enum[0];return t.assign(`z.literal(${a===null?"null":a})`)}return t.assign(`z.union([${e.enum.map(a=>`z.literal(${a===null?"null":a})`).join(", ")}])`)}return t.assign(Pt(s).with("integer",()=>"z.number()").with("string",()=>Pt(e.format).with("binary",()=>Au).otherwise(()=>Iu)).otherwise(a=>`z.${a}()`))}}o(Yq,"getPrimitiveZodSchema");function Qq({resolver:e,schema:t,zodSchema:r,meta:n,tag:i}){var l;if(!Ct(t))return;let s=es(t);if(!e.options.extractEnums)return r.assign(s);let a=e.getEnumZodSchemaDataByCode(s);if(a)return((l=r.meta.parent)==null?void 0:l.ref)===e.getRefByZodSchemaName(a.zodSchemaName)?r.assign(a.code):new Na({$ref:e.getRefByZodSchemaName(a.zodSchemaName)},e,n).inherit(r).assign(s);let c=e.getExtractedEnumZodSchemaDataByCode(s);if(!c)return r.assign(s);if(!c.zodSchemaName||!c.tag)throw new Error(`Enum zod schema name or tag not resolved for code: ${s}`);let u=e.options.tsNamespaces&&c.tag!==i?`${Ge({type:"models",tag:c.tag,options:e.options})}.`:"";return r.assign(`${u}${c.zodSchemaName}`)}o(Qq,"getEnumZodSchema");function es(e){var t;return`${ga}([${(t=e.enum)==null?void 0:t.map(r=>r===null?"null":`"${r}"`).join(", ")}])`}o(es,"getEnumZodSchemaCode");function FP(e){return`${ga}([${e.map(t=>`"${t}"`).join(", ")}])`}o(FP,"getEnumZodSchemaCodeFromEnumNames");function ts({schema:e,zodSchema:t,fallbackName:r,resolver:n,tag:i}){var c;let s=t.getCodeString();if((!Ft(s)||t.ref===void 0)&&r){if(t.complexity<Om)return s;let u=rn(r,n.options.schemaSuffix);for(;n.getCodeByZodSchemaName(u);){if((c=n.getZodSchemaNamesByCompositeCode(s))!=null&&c.includes(u))return u;if(n.getCodeByZodSchemaName(u)===u)return u;throw new Error(`Can't uniquely resolve zod schema name: ${u}`)}return n.setZodSchema(u,s,i),n.addZodSchemaForCompositeCode(s,t,u,e),u}let a=n.getCodeByZodSchemaName(s);if(!a&&t.ref&&(a=n.getCodeByZodSchemaName(n.getZodSchemaNameByRef(t.ref))),t.ref&&a)return dt(0,n.getSchemaByRef(t.ref))<Om?n.getCodeByZodSchemaName(s):s;throw new Error(`Invalid ref: ${t.ref}`)}o(ts,"resolveZodSchemaName");var jr=o(e=>e.method==="get","isQuery"),ni=o(e=>e.method!=="get"||!!e.mediaDownload,"isMutation"),rs=o((e,t)=>jr(e)&&(t??Object.values(ya)).every(r=>e.parameters.some(n=>n.name===r&&n.type==="Query")),"isInfiniteQuery");function VP({resolver:e,endpoint:t,operation:r}){let n=r["x-acl"];return n==null?void 0:n.map(i=>{let s=Object.keys(i.conditions??{}).reduce((a,c)=>{let u=Jq({resolver:e,endpoint:t,acl:n,name:c});return u?[...a,u]:(e.validationErrors.push(kP(c,r,t)),a)},[]);return{...i,conditionsTypes:s}})}o(VP,"getEndpointAcl");function Jq({resolver:e,endpoint:t,acl:r,name:n}){var f,d,h,y,b,m,P,$,T,I;let i=(d=(f=r[0])==null?void 0:f.conditions)==null?void 0:d[n];if(!i)return;let s=i.replace(/^\$[^.]*\./,"").split("."),a,c,u,l=0,p=t.parameters.find(({name:C})=>C===s[l]);if(p)c=(h=p.parameterObject)==null?void 0:h.required,a=(y=p.parameterObject)==null?void 0:y.schema,u=`${p.name} ${Xn(p.type)} parameter`,l++;else{let C=t.parameters.find(({bodyObject:Be})=>!!Be),J=Object.keys(((b=C==null?void 0:C.bodyObject)==null?void 0:b.content)??{}).find(tn);J&&(a=($=(P=(m=C==null?void 0:C.bodyObject)==null?void 0:m.content)==null?void 0:P[J])==null?void 0:$.schema,u=`${jr(t)?"query":"mutation"} data`)}for(;a&&l<s.length;){let C=e.resolveObject(a);a=(T=Object.entries(C.properties??{}).find(([J])=>J===s[l]))==null?void 0:T[1],c=((I=C.required)==null?void 0:I.includes(s[l]))??!1,l++}if(a)return{name:n,type:Ee(a)?void 0:a.type,zodSchemaName:Ee(a)?e.getZodSchemaNameByRef(a.$ref):void 0,required:c,info:u}}o(Jq,"getEndpointAclConditionPropertyType");function HP({resolver:e,operation:t,operationName:r,isUniqueOperationName:n,tag:i}){var h,y;let s=e.resolveObject(t.requestBody);if(!s)return;let c=Object.keys(s.content??{}).find(tn);if(!c)return;let u=(y=(h=s.content)==null?void 0:h[c])==null?void 0:y.schema;if(!u)return;let l=Ke({schema:u,resolver:e,meta:{isRequired:s.required??!0},tag:i}),p=e.resolveObject(u),f=ts({schema:p,zodSchema:l,fallbackName:Uu(Gi(r,n,i)),resolver:e,tag:i}),d=nn({schema:p,meta:l.meta,options:e.options});return{endpointParameter:{name:BE,type:"Body",description:s.description,zodSchema:f+d,bodyObject:s},requestFormat:c}}o(HP,"getEndpointBody");function BP({resolver:e,param:t,operationName:r,isUniqueOperationName:n,tag:i}){let s=e.resolveObject(t);if(!WE.includes(s.in))return;let a={};if(s.content){let h=Object.keys(s.content??{}),y=h.find(tn);if(!y)throw new Error(`Unsupported media type for param ${s.name}: ${h.join(", ")}`);let b=s.content[y];if(!b)throw new Error(`No content with media type for param ${s.name}: ${y}`);a=(b==null?void 0:b.schema)??b}else s.schema&&(a=s.schema);e.options.withDescription&&a&&(a.description=(s.description??"").trim());let c=mP(Gi(r,n,i),s.name),u;if(fP(s)){let h=xa(c,e.options.enumSuffix,e.options.schemaSuffix),y=FP(s["x-enumNames"]);e.setZodSchema(h,y,i),u=h}let l=Ke({schema:a,resolver:e,meta:{isRequired:s.in==="path"?!0:s.required??!1},tag:i}),p=e.resolveObject(a),f=nn({schema:p,meta:l.meta,options:e.options}),d=ts({schema:p,zodSchema:l.assign(l.getCodeString(i)+f),fallbackName:c,resolver:e,tag:i});return{name:Pt(s.in).with("path",()=>Am(s.name)).otherwise(()=>s.name),type:Pt(s.in).with("header",()=>"Header").with("query",()=>"Query").with("path",()=>"Path").run(),zodSchema:d,parameterObject:s,parameterSortingEnumSchemaName:u}}o(BP,"getEndpointParameter");function GP(e){var r,n,i,s,a;let t=[];for(let c in e.openApiDoc.paths){let u=e.openApiDoc.paths[c],l=Jn(u,Qn),p=UP(u.parameters??[]);for(let f in l){let d=l[f];if(!d||d.deprecated&&!e.options.withDeprecatedEndpoints)continue;let h=d.operationId&&d.operationId!==Gn(d.operationId);d.operationId&&h&&e.validationErrors.push(NP(d.operationId));let y=Object.entries({...p,...UP(d.parameters??[])}).map(([,I])=>I),b=Oa({path:c,method:f,operation:d,operationsByTag:e.operationsByTag,options:e.options}),m=e.operationNames.filter(I=>I===b).length<=1,P=Hi(d,e.options),$={method:f,path:lP(c),operationName:b,description:d.description,summary:d.summary,tags:(r=d.tags)==null?void 0:r.map(ei),requestFormat:"application/json",parameters:[],response:"",errors:[],responseStatusCodes:[],mediaUpload:!!d["x-media-upload"],mediaDownload:!!d["x-media-download"]};if(d.requestBody){let I=HP({resolver:e,operation:d,operationName:b,isUniqueOperationName:m,tag:P});I&&($.parameters.push(I.endpointParameter),$.requestFormat=I.requestFormat)}for(let I of y){let C=BP({resolver:e,param:I,operationName:b,isUniqueOperationName:m,tag:P});C&&$.parameters.push(C)}let T=Xq($);T.forEach(I=>{$.parameters.push(I)}),T.length>0&&e.validationErrors.push(RP(T,c));for(let I in d.responses){$.responseStatusCodes.push(I);let C=e.resolveObject(d.responses[I]),J=Object.keys(C.content??{}).find(Du),Be,xe;if(J?($.responseFormat=J,Be=(i=(n=C.content)==null?void 0:n[J])==null?void 0:i.schema):(xe=ma,I==="200"&&e.validationErrors.push(qP({received:"200",expected:"204"},d,$))),Be){let X=Ke({schema:Be,resolver:e,meta:{isRequired:!0},tag:P}),M=e.resolveObject(Be);xe=ts({schema:M,zodSchema:X,fallbackName:X.ref?void 0:Gu({statusCode:I,operationName:b,isUniqueOperationName:m,tag:P}),resolver:e,tag:P})+nn({schema:M,meta:X.meta,options:e.options})}if(xe){let X=Number(I);ku(X)?($.response=xe,$.responseObject=C,$.responseDescription=C.description):I!=="default"&&qu(X)&&$.errors.push({zodSchema:xe,status:X,description:C.description})}}$.response||($.response=ma),$.acl=VP({resolver:e,endpoint:$,operation:d}),(s=d.security)!=null&&s[0].Authorization&&!$.responseStatusCodes.includes("401")&&e.validationErrors.push(Rm("401",d,$)),(a=$.acl)!=null&&a[0]&&!$.responseStatusCodes.includes("403")&&e.validationErrors.push(Rm("403",d,$)),t.push($)}}return t}o(GP,"getEndpointsFromOpenAPIDoc");function UP(e){return Object.fromEntries((e??[]).map(t=>[Ee(t)?t.$ref:t.name,t]))}o(UP,"getParameters");function Xq(e){return[...e.path.matchAll(/:([a-zA-Z0-9_]+)/g)].map(r=>r[1]).filter(r=>e.parameters.findIndex(({name:n})=>n===r)===-1).map(r=>eD(r))}o(Xq,"getMissingPathParameters");function eD(e){return{name:e,type:"Path",zodSchema:Iu,parameterObject:{name:e,required:!0,in:"path",schema:{type:"string"}}}}o(eD,"getPathParameterFromName");function zP(e,t){let r=tD(e,t),n=rD(e,r);return{refsDependencyGraph:r,deepDependencyGraph:n}}o(zP,"getOpenAPISchemaDependencyGraph");function tD(e,t){let r={},n={};return e.forEach(i=>nD({schema:t(i),fromRef:i,getSchemaByRef:t,visitedRefs:r,refsDependencyGraph:n})),n}o(tD,"getRefsDependencyGraph");function rD(e,t){let r={},n={},i=o((s,a)=>{n[a].add(s),t[s]&&a!==s&&t[s].forEach(c=>{let u=`${a}__${c}`;r[u]||(r[u]=!0,i(c,a))})},"visit");return e.forEach(s=>{let a=t[s];a&&(n[s]||(n[s]=new Set),a.forEach(c=>i(c,s)))}),n}o(rD,"getDeepRefsDependencyGraph");function nD({schema:e,fromRef:t,getSchemaByRef:r,visitedRefs:n={},refsDependencyGraph:i={}}){let s=o(a=>{if(a.type!=="reference"||!a.data)return;let{schema:c,data:u}=a;if(i[u.fromRef]||(i[u.fromRef]=new Set),i[u.fromRef].add(c.$ref),n[c.$ref])return!0;n[u.fromRef]=!0,Tt(r(c.$ref),{data:{fromRef:c.$ref},onSchema:s})},"onSchema");return Tt(e,{data:{fromRef:t},onSchema:s}),{visitedRefs:n,refsDependencyGraph:i}}o(nD,"getSchemaRefsDependencyGraph");function Wu(e,t,r){let n=[];return Tt(t,{onSchema:o(s=>{s.type==="reference"?n.push(s.schema):Ee(s.parentSchema)&&(s.type==="property"?e.validationErrors.push(Ta(`${r} has both reference and properties`)):s.type==="additionalProperties"?e.validationErrors.push(Ta(`${r} has both reference and additionalProperties`)):s.type==="array"?e.validationErrors.push(Ta(`${r} is both reference and array schema`)):s.type==="composite"&&e.validationErrors.push(Ta(`${r} has both reference and composite keyword`)))},"onSchema")}),n}o(Wu,"getSchemaRefObjs");function ZP(e,t){return t.map(i=>Bi(i.$ref)).reduce((i,s)=>{let a=e.dependencyGraph.deepDependencyGraph[s];return[...i,s,...Array.from(a??[])]},[])}o(ZP,"getDeepSchemaRefObjs");function WP(e){var n;let t={},r={};return Object.entries(((n=e.openApiDoc.components)==null?void 0:n.schemas)??{}).forEach(([i,s])=>{let a=rn(i,e.options.schemaSuffix);if(!t[a]){let c=e.getTagByZodSchemaName(a),u=e.resolveObject(s);u.enum?r[a]=es(u):t[a]=Ke({schema:s,resolver:e,tag:c}).getCodeString(c)}}),{zodSchemas:t,enumZodSchemas:r}}o(WP,"getZodSchemasFromOpenAPIDoc");function KP(e){var r;let t=[];return Object.entries(((r=e.openApiDoc.components)==null?void 0:r.schemas)??{}).forEach(([n,i])=>{let s=rn(n,e.options.schemaSuffix),a=e.resolveObject(i);!t.find(c=>c.zodSchemaName===s)&&a.enum&&t.push({zodSchemaName:s,code:es(a)})}),t}o(KP,"getEnumZodSchemasFromOpenAPIDoc");function Ra({schema:e,nameSegments:t=[],includeSelf:r,...n}){r&&YP({schema:e,nameSegments:t,...n}),Tt(e,{data:{nameSegments:t},onSchema:o(s=>{var c;if(s.type==="reference")return!0;let a=[...((c=s.data)==null?void 0:c.nameSegments)??[]];s.type==="property"&&a.push(s.propertyName),YP({schema:s.schema,nameSegments:[...a],...n})},"onSchema")})}o(Ra,"updateExtractedEnumZodSchemaData");function YP({resolver:e,schema:t,schemaRef:r,schemaInfo:n,tags:i,nameSegments:s=[]}){if(!t||Ee(t)||!t.enum)return;let a=es(t),c=e.extractedEnumZodSchemaData.find(u=>u.code===a);c?(c.meta.zodSchemaNameSegments.push(s),c.meta.tags.push(...i),c.meta.schemaRefs.push(...r?[r]:[]),c.meta.schemas.push(...t?[t]:[])):e.extractedEnumZodSchemaData.push({code:a,meta:{zodSchemaNameSegments:[s],tags:[...i],schemaRefs:r?[r]:[],schemas:t?[t]:[]}}),e.validationErrors.push(jP(r?`Schema ${Jo(r)} property ${s[s.length-1]}`:n??s.join("->")))}o(YP,"handleExtractedEnumZodSchemaDataUpdate");function QP(e){e.extractedEnumZodSchemaData.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(s=>s[s.length-1]).filter(Boolean),i=Pm(n);if(!i)throw new Error(`No common last segment found for enum: ${r.code}`);r.zodSchemaName=xa(i,e.options.enumSuffix,e.options.schemaSuffix)});let t=0;for(;t<5&&!km(e);)iD(e,t+2),t++;if(km(e)||e.extractedEnumZodSchemaData.filter(n=>!XP(e,n)).forEach(n=>{n.zodSchemaName=xa(n.meta.zodSchemaNameSegments[0].map(i=>qm(He(i))).join(""),e.options.enumSuffix,e.options.schemaSuffix)}),!km(e))throw new Error("Failed to resolve unique names for enum zod schemas")}o(QP,"resolveExtractedEnumZodSchemaNames");function km(e){return e.extractedEnumZodSchemaData.every(t=>XP(e,t))}o(km,"allExtractedEnumZodSchemaNamesAreUnique");function iD(e,t){e.extractedEnumZodSchemaData.forEach(r=>{let n=e.extractedEnumZodSchemaData.filter(({zodSchemaName:i})=>r.zodSchemaName===i);n.length!==1&&oD(n,t)})}o(iD,"additionalResolveExtractedEnumZodSchemaName");function oD(e,t=2){e.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(i=>i[i.length-t]).filter(Boolean);if(n.length===1){let i=[qm(He(n[0])),r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=i}else{let i=Pm(n),s=[i?qm(He(i)):"",r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=s}})}o(oD,"suffixWithPreviousSegmentName");function JP(e){e.extractedEnumZodSchemaData.forEach(t=>{let r=Qt(t.meta.tags);t.tag=r.length===1?r[0]:e.options.defaultTag})}o(JP,"resolveExtractedEnumZodSchemaTags");function XP(e,t){return e.extractedEnumZodSchemaData.filter(({zodSchemaName:r})=>t.zodSchemaName===r).length===1}o(XP,"isUnique");function qm(e){return e.replace(/(Dto|DTO|Response|Request)/g,"")}o(qm,"sanitizeName");var Dm=class Dm{constructor(t,r){this.openApiDoc=t;this.options=r;this.dependencyGraph=zP(this.schemaRefs,this.getSchemaByRef.bind(this)),this.enumZodSchemas=KP(this),this.operationsByTag=nP(t,r),this.operationNames=uP(t,this.operationsByTag,r),this.initialize()}schemaData=[];zodSchemaData=[];compositeZodSchemaData=[];dependencyGraph;enumZodSchemas=[];extractedEnumZodSchemaData=[];operationsByTag={};operationNames=[];validationErrors=[];get docSchemas(){var t;return((t=this.openApiDoc.components)==null?void 0:t.schemas)??{}}get schemaRefs(){return Object.keys(this.docSchemas).map(oP)}getSchemaByRef(t){return this.docSchemas[Jo(t)]}getZodSchemaNameByRef(t){var n,i;let r=((n=this.getSchemaDataByRef(Bi(t)))==null?void 0:n.zodSchemaName)??((i=this.extractedEnumZodSchemaData.find(s=>s.zodSchemaName===t))==null?void 0:i.zodSchemaName);if(!r)throw new Error(`Zod schema not found for ref: ${t}`);return r}getRefByZodSchemaName(t){var r;return(r=this.schemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.ref}getTagByZodSchemaName(t){var u,l;if(!this.options.splitByTags)return this.options.defaultTag;let r=this.extractedEnumZodSchemaData.find(p=>p.zodSchemaName===t);if(r)return ei(r.tag??this.options.defaultTag);let n=this.getRefByZodSchemaName(t),i=n?((u=this.getSchemaDataByRef(n))==null?void 0:u.tags)??[]:[],s=((l=this.zodSchemaData.find(p=>p.zodSchemaName===t))==null?void 0:l.tags)??[],a=Qt(i,s),c=a.length===1?a[0]:this.options.defaultTag;return ei(c??this.options.defaultTag)}getCodeByZodSchemaName(t){var r;return(r=this.zodSchemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.code}getZodSchemaNamesByCompositeCode(t){var r;return(r=this.compositeZodSchemaData.find(n=>n.code===t))==null?void 0:r.zodSchemas.map(n=>n.zodSchemaName)}setZodSchema(t,r,n){let i=this.zodSchemaData.find(s=>s.zodSchemaName===t);i?(i.code=r,i.tags=(i.tags??[]).concat(n)):this.zodSchemaData.push({zodSchemaName:t,code:r,tags:[n]})}addZodSchemaForCompositeCode(t,r,n,i){let s={zodSchemaName:n,zodSchema:r,schema:i},a=this.compositeZodSchemaData.find(c=>c.code===t);a?a.zodSchemas.push(s):this.compositeZodSchemaData.push({code:t,zodSchemas:[s]})}getCompositeZodSchemaByZodSchemaName(t){var n;let r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t));return(n=r==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.zodSchema}getSchemaByCompositeZodSchemaName(t){var r,n;return(n=(r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t)))==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.schema}getEnumZodSchemaDataByCode(t){return this.enumZodSchemas.find(r=>r.code===t)}getExtractedEnumZodSchemaDataByCode(t){return this.extractedEnumZodSchemaData.find(r=>r.code===t)}getExtractedEnumZodSchemaNamesReferencedBySchemaRef(t){return this.extractedEnumZodSchemaData.reduce((r,{zodSchemaName:n,meta:i})=>(n&&i.schemaRefs.includes(t)&&r.push(n),r),[])}getZodSchemas(){return this.zodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>({...t,[r]:n}),{})}getExtractedEnumZodSchemas(){return this.extractedEnumZodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>r?{...t,[r]:n}:t,{})}resolveObject(t){return Ee(t)?this.getSchemaByRef(t.$ref):t}isSchemaCircular(t){var r;return(r=this.dependencyGraph.deepDependencyGraph[t])==null?void 0:r.has(t)}getCircularSchemaChain(t,r=t,n=[]){var i,s;return(i=this.dependencyGraph.refsDependencyGraph[r])!=null&&i.has(t)?[...n,r,t]:Array.from(((s=this.dependencyGraph.refsDependencyGraph[r])==null?void 0:s.values())??[]).map(a=>{let c=this.getCircularSchemaChain(t,a,n);return c.length>0?[r,...c]:c}).flat()}getBaseUrl(){var r,n;let t=(n=(r=this.openApiDoc.servers)==null?void 0:r[0])==null?void 0:n.url;return this.options.baseUrl===""&&t?t:this.options.baseUrl}getZodSchemaObj(t){let r=this.getRefByZodSchemaName(t);if(r)return this.getSchemaByRef(r);let n=this.getSchemaByCompositeZodSchemaName(t);if(n)return n;let i=this.getExtractedEnumZodSchemaDataByName(t);if(i)return i.meta.schemas.reduce((s,a)=>({...s,...this.resolveObject(a)}),{})}getSchemaDataByRef(t){return this.schemaData.find(r=>r.ref===t)}getExtractedEnumZodSchemaDataByName(t){return this.extractedEnumZodSchemaData.find(({zodSchemaName:r})=>r===t)}initialize(){var t,r,n,i,s;this.schemaRefs.forEach(a=>{let c=Bi(a),u=Jo(c),l=rn(u,this.options.schemaSuffix);this.schemaData.push({ref:c,name:u,zodSchemaName:l,tags:[]})});for(let a in this.openApiDoc.paths){let c=this.openApiDoc.paths[a],u=Jn(c,Qn);for(let l in u){let p=u[l];if(!p||p.deprecated&&!this.options.withDeprecatedEndpoints)continue;let f=Hi(p,this.options),d=Oa({path:a,method:l,operation:p,operationsByTag:this.operationsByTag,options:this.options}),h=this.operationNames.filter(P=>P===d).length<=1,y=pt(Gi(d,h,f)),b=[];if((t=p.parameters)==null||t.map(P=>{let $=P,T=$.schema,I=`Operation ${p.operationId??a} parameter ${$.name}`;b.push(...Wu(this,T,I)),this.options.extractEnums&&Ra({resolver:this,schema:T,schemaInfo:I,tags:[f],nameSegments:[y,$.name],includeSelf:!0})}),p.requestBody){let P=this.resolveObject(p.requestBody),T=Object.keys(P.content??{}).find(tn);if(T){let I=(n=(r=P.content)==null?void 0:r[T])==null?void 0:n.schema,C=`Operation ${p.operationId} request body`;b.push(...Wu(this,I,C)),this.options.extractEnums&&Ra({resolver:this,schema:I,schemaInfo:C,tags:[f],nameSegments:[Uu(y)]})}}for(let P in p.responses){let $=this.resolveObject(p.responses[P]),I=Object.keys($.content??{}).find(Du);if(I){let C=(s=(i=$.content)==null?void 0:i[I])==null?void 0:s.schema,ae=`Operation ${p.operationId} response body`;b.push(...Wu(this,C,ae)),this.options.extractEnums&&Ra({resolver:this,schema:C,schemaInfo:ae,tags:[f],nameSegments:[Gu({statusCode:P,operationName:d,isUniqueOperationName:h,tag:f})]})}}ZP(this,b).forEach(P=>{let $=this.getSchemaDataByRef(P);$&&$.tags.push(f)})}}this.options.extractEnums&&(this.schemaRefs.forEach(a=>{var u;let c=Bi(a);Ra({resolver:this,schema:this.getSchemaByRef(c),schemaRef:c,tags:((u=this.getSchemaDataByRef(c))==null?void 0:u.tags)??[],nameSegments:[Jo(c)]})}),JP(this),this.handleDuplicateEnumZodSchemas(),QP(this))}handleDuplicateEnumZodSchemas(){let t=this.enumZodSchemas.map(({code:n})=>n),r=this.enumZodSchemas.filter(({code:n})=>t.includes(n));this.schemaData.forEach(n=>{var a;let i=(a=r.find(({zodSchemaName:c})=>c===n.zodSchemaName))==null?void 0:a.code;if(!i)return;let s=this.extractedEnumZodSchemaData.find(({code:c})=>c===i);s&&(n.tags.push(...s.meta.tags??[]),s.meta.schemaRefs.forEach(c=>{this.dependencyGraph.refsDependencyGraph[c]||(this.dependencyGraph.refsDependencyGraph[c]=new Set),this.dependencyGraph.refsDependencyGraph[c].add(n.ref),this.dependencyGraph.deepDependencyGraph[c]||(this.dependencyGraph.deepDependencyGraph[c]=new Set),this.dependencyGraph.deepDependencyGraph[c].add(n.ref)}))}),this.extractedEnumZodSchemaData.splice(0,this.extractedEnumZodSchemaData.length,...this.extractedEnumZodSchemaData.filter(({code:n})=>!t.includes(n)))}};o(Dm,"SchemaResolver");var Ku=Dm;function e1(e){let t=[],r={};function n(i,s){Array.isArray(s)||(s=[]),s.push(i),r[i]=!0,e[i]&&e[i].forEach(a=>{s.includes(a)||r[a]||n(a,s.slice(0))}),t.includes(i)||t.push(i)}return o(n,"visit"),Object.keys(e).forEach(i=>n(i,[])),t}o(e1,"topologicalSort");function t1(e,t){let r=Object.entries(e),n=r.filter(([i])=>t.includes(i)).sort(([i],[s])=>t.indexOf(i)-t.indexOf(s)).concat(r.filter(([i])=>!t.includes(i)));return Object.fromEntries(n)}o(t1,"sortObjKeysFromArray");function r1(e,t){let r=e1(e.dependencyGraph.deepDependencyGraph).map(i=>e.getZodSchemaNameByRef(i));return t1(t,r)}o(r1,"sortZodSchemasByTopology");function n1(e,t){let r={};return Object.entries(t).forEach(([n,i])=>{let s=e.getRefByZodSchemaName(n);s&&e.isSchemaCircular(s)?(e.validationErrors.push(MP(e.getCircularSchemaChain(s).join(" -> "))),r[rn(n,e.options.schemaSuffix)]=`z.lazy(() => ${i})`):r[rn(n,e.options.schemaSuffix)]=i}),r}o(n1,"wrapCircularZodSchemas");function Yu(e,t){let r=new Ku(e,t),n=GP(r),i=WP(r),s={...i.zodSchemas,...r.getZodSchemas(),...i.enumZodSchemas};return s=n1(r,s),s=r1(r,s),s={...r.getExtractedEnumZodSchemas(),...s},{resolver:r,data:sD({resolver:r,endpoints:n,zodSchemas:s,options:t})}}o(Yu,"getDataFromOpenAPIDoc");function sD({resolver:e,endpoints:t,zodSchemas:r,options:n}){let i=new Map;return n.splitByTags?(t.forEach(s=>{let a=Ia(s,n);i1(a,i).endpoints.push(s)}),Object.entries(r).forEach(([s,a])=>{let c=e.getTagByZodSchemaName(s);c&&(i1(c,i).zodSchemas[s]=a)}),i):(i.set(n.defaultTag,{endpoints:t,zodSchemas:r}),i)}o(sD,"splitDataByTags");function i1(e,t){return t.has(e)||t.set(e,{endpoints:[],zodSchemas:{}}),t.get(e)}o(i1,"getTagElement");var ns=mt(require("fs")),Lm=mt(require("path"));function o1(e){return ns.default.readFileSync(Lm.default.join(__dirname,`../${e}`),"utf-8")}o(o1,"readFileSync");function Fm(e){let t=`src/generators/templates/${e}.hbs`;return o1(t)}o(Fm,"readHbsTemplateSync");function Vm(e){let t=`src/assets/${e}`;return o1(t)}o(Vm,"readAssetSync");function hn({output:e,fileName:t}){return`${e}/${t}`}o(hn,"getOutputFileName");function aD(e,t){let r=Lm.default.dirname(e);ns.default.existsSync(r)||ns.default.mkdirSync(r,{recursive:!0}),ns.default.writeFileSync(e,t,"utf-8")}o(aD,"writeFileWithDirSync");function cD({fileName:e,content:t}){aD(e,t)}o(cD,"writeFileSync");function s1(e){e.forEach(cD)}o(s1,"writeGenerateFileData");function a1(e,t){let r={...ct,...t},{resolver:n,data:i}=Yu(e,r);if(n.validationErrors.length>0){let s=DP(n.validationErrors);Object.entries(s).forEach(([a,c])=>{console.log(`${Fr.red(`${VE[a]}:`)}
|
|
144
|
+
`)}return t.assign(`z.union([${e.oneOf.map(c=>Ke({schema:c,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(zq,"getOneOfZodSchema");function Zq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!(!Ct(e)||!Array.isArray(e.type)))return e.type.length===1?Ke({schema:{...e,type:e.type[0]},resolver:r,meta:n,tag:i}):t.assign(`z.union([${e.type.map(s=>Ke({schema:{...e,type:s},resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(Zq,"getArrayZodSchema");function Wq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Ct(e)||!e.anyOf)return;if(e.anyOf.length===1){let a=Ke({schema:e.anyOf[0],resolver:r,meta:n,tag:i});return t.assign(a.getCodeString(i,r.options))}let s=e.anyOf.map(a=>Ke({schema:a,resolver:r,meta:n,tag:i})).map(a=>a.getCodeString(i,r.options)).join(", ");return t.assign(`z.union([${s}])`)}o(Wq,"getAnyOfZodSchema");function Kq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Ct(e)||!e.allOf)return;if(e.allOf.length===1){let f=Ke({schema:e.allOf[0],resolver:r,meta:n,tag:i});return t.assign(f.getCodeString(i,r.options))}let{patchRequiredSchemaInLoop:s,noRequiredOnlyAllof:a,composedRequiredSchema:c}=GE(e),u=a.map(f=>{let d=Ke({schema:f,resolver:r,meta:n,tag:i});return r&&s(f,r.getSchemaByRef.bind(r)),d});c.required.length&&u.push(Ke({schema:c,resolver:r,meta:n,tag:i}));let l=u.at(0),p=u.slice(1).map(f=>`merge(${f.getCodeString(i,r.options)})`).join(".");return t.assign(`${l.getCodeString(i,r.options)}.${p}`)}o(Kq,"getAllOfZodSchema");function Yq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Ct(e))return;let s=e.type?e.type.toLowerCase():void 0;if(s&&Ui(s)){if(e.enum){if(s==="string")return Qq({schema:e,zodSchema:t,resolver:r,meta:n,tag:i});if(e.enum.some(a=>typeof a=="string"))return t.assign("z.never()");if(e.enum.length===1){let a=e.enum[0];return t.assign(`z.literal(${a===null?"null":a})`)}return t.assign(`z.union([${e.enum.map(a=>`z.literal(${a===null?"null":a})`).join(", ")}])`)}return t.assign(Pt(s).with("integer",()=>"z.number()").with("string",()=>Pt(e.format).with("binary",()=>Au).otherwise(()=>Iu)).otherwise(a=>`z.${a}()`))}}o(Yq,"getPrimitiveZodSchema");function Qq({resolver:e,schema:t,zodSchema:r,meta:n,tag:i}){var l;if(!Ct(t))return;let s=es(t);if(!e.options.extractEnums)return r.assign(s);let a=e.getEnumZodSchemaDataByCode(s);if(a)return((l=r.meta.parent)==null?void 0:l.ref)===e.getRefByZodSchemaName(a.zodSchemaName)?r.assign(a.code):new Na({$ref:e.getRefByZodSchemaName(a.zodSchemaName)},e,n).inherit(r).assign(s);let c=e.getExtractedEnumZodSchemaDataByCode(s);if(!c)return r.assign(s);if(!c.zodSchemaName||!c.tag)throw new Error(`Enum zod schema name or tag not resolved for code: ${s}`);let u=e.options.tsNamespaces&&c.tag!==i?`${Ge({type:"models",tag:c.tag,options:e.options})}.`:"";return r.assign(`${u}${c.zodSchemaName}`)}o(Qq,"getEnumZodSchema");function es(e){var t;return`${ga}([${(t=e.enum)==null?void 0:t.map(r=>r===null?"null":`"${r}"`).join(", ")}])`}o(es,"getEnumZodSchemaCode");function FP(e){return`${ga}([${e.map(t=>`"${t}"`).join(", ")}])`}o(FP,"getEnumZodSchemaCodeFromEnumNames");function ts({schema:e,zodSchema:t,fallbackName:r,resolver:n,tag:i}){var c;let s=t.getCodeString();if((!Ft(s)||t.ref===void 0)&&r){if(t.complexity<Om)return s;let u=rn(r,n.options.schemaSuffix);for(;n.getCodeByZodSchemaName(u);){if((c=n.getZodSchemaNamesByCompositeCode(s))!=null&&c.includes(u))return u;if(n.getCodeByZodSchemaName(u)===u)return u;throw new Error(`Can't uniquely resolve zod schema name: ${u}`)}return n.setZodSchema(u,s,i),n.addZodSchemaForCompositeCode(s,t,u,e),u}let a=n.getCodeByZodSchemaName(s);if(!a&&t.ref&&(a=n.getCodeByZodSchemaName(n.getZodSchemaNameByRef(t.ref))),t.ref&&a)return dt(0,n.getSchemaByRef(t.ref))<Om?n.getCodeByZodSchemaName(s):s;throw new Error(`Invalid ref: ${t.ref}`)}o(ts,"resolveZodSchemaName");var jr=o(e=>e.method==="get","isQuery"),ni=o(e=>e.method!=="get"||!!e.mediaDownload,"isMutation"),rs=o((e,t)=>jr(e)&&(t??Object.values(ya)).every(r=>e.parameters.some(n=>n.name===r&&n.type==="Query")),"isInfiniteQuery");function VP({resolver:e,endpoint:t,operation:r}){let n=r["x-acl"];return n==null?void 0:n.map(i=>{let s=Object.keys(i.conditions??{}).reduce((a,c)=>{let u=Jq({resolver:e,endpoint:t,acl:n,name:c});return u?[...a,u]:(e.validationErrors.push(kP(c,r,t)),a)},[]);return{...i,conditionsTypes:s}})}o(VP,"getEndpointAcl");function Jq({resolver:e,endpoint:t,acl:r,name:n}){var f,d,h,y,b,m,P,$,T,I;let i=(d=(f=r[0])==null?void 0:f.conditions)==null?void 0:d[n];if(!i)return;let s=i.replace(/^\$[^.]*\./,"").split("."),a,c,u,l=0,p=t.parameters.find(({name:C})=>C===s[l]);if(p)c=(h=p.parameterObject)==null?void 0:h.required,a=(y=p.parameterObject)==null?void 0:y.schema,u=`${p.name} ${Xn(p.type)} parameter`,l++;else{let C=t.parameters.find(({bodyObject:Be})=>!!Be),J=Object.keys(((b=C==null?void 0:C.bodyObject)==null?void 0:b.content)??{}).find(tn);J&&(a=($=(P=(m=C==null?void 0:C.bodyObject)==null?void 0:m.content)==null?void 0:P[J])==null?void 0:$.schema,u=`${jr(t)?"query":"mutation"} data`)}for(;a&&l<s.length;){let C=e.resolveObject(a);a=(T=Object.entries(C.properties??{}).find(([J])=>J===s[l]))==null?void 0:T[1],c=((I=C.required)==null?void 0:I.includes(s[l]))??!1,l++}if(a)return{name:n,type:Ee(a)?void 0:a.type,zodSchemaName:Ee(a)?e.getZodSchemaNameByRef(a.$ref):void 0,required:c,info:u}}o(Jq,"getEndpointAclConditionPropertyType");function HP({resolver:e,operation:t,operationName:r,isUniqueOperationName:n,tag:i}){var h,y;let s=e.resolveObject(t.requestBody);if(!s)return;let c=Object.keys(s.content??{}).find(tn);if(!c)return;let u=(y=(h=s.content)==null?void 0:h[c])==null?void 0:y.schema;if(!u)return;let l=Ke({schema:u,resolver:e,meta:{isRequired:s.required??!0},tag:i}),p=e.resolveObject(u),f=ts({schema:p,zodSchema:l,fallbackName:Uu(Gi(r,n,i)),resolver:e,tag:i}),d=nn({schema:p,meta:l.meta,options:e.options});return{endpointParameter:{name:BE,type:"Body",description:s.description,zodSchema:f+d,bodyObject:s},requestFormat:c}}o(HP,"getEndpointBody");function BP({resolver:e,param:t,operationName:r,isUniqueOperationName:n,tag:i}){let s=e.resolveObject(t);if(!WE.includes(s.in))return;let a={};if(s.content){let h=Object.keys(s.content??{}),y=h.find(tn);if(!y)throw new Error(`Unsupported media type for param ${s.name}: ${h.join(", ")}`);let b=s.content[y];if(!b)throw new Error(`No content with media type for param ${s.name}: ${y}`);a=(b==null?void 0:b.schema)??b}else s.schema&&(a=s.schema);e.options.withDescription&&a&&(a.description=(s.description??"").trim());let c=mP(Gi(r,n,i),s.name),u;if(fP(s)){let h=xa(c,e.options.enumSuffix,e.options.schemaSuffix),y=FP(s["x-enumNames"]);e.setZodSchema(h,y,i),u=h}let l=Ke({schema:a,resolver:e,meta:{isRequired:s.in==="path"?!0:s.required??!1},tag:i}),p=e.resolveObject(a),f=nn({schema:p,meta:l.meta,options:e.options}),d=ts({schema:p,zodSchema:l.assign(l.getCodeString(i)+f),fallbackName:c,resolver:e,tag:i});return{name:Pt(s.in).with("path",()=>Am(s.name)).otherwise(()=>s.name),type:Pt(s.in).with("header",()=>"Header").with("query",()=>"Query").with("path",()=>"Path").run(),zodSchema:d,parameterObject:s,parameterSortingEnumSchemaName:u}}o(BP,"getEndpointParameter");function GP(e){var r,n,i,s,a;let t=[];for(let c in e.openApiDoc.paths){let u=e.openApiDoc.paths[c],l=Jn(u,Qn),p=UP(u.parameters??[]);for(let f in l){let d=l[f];if(!d||d.deprecated&&!e.options.withDeprecatedEndpoints)continue;let h=d.operationId&&d.operationId!==Gn(d.operationId);d.operationId&&h&&e.validationErrors.push(NP(d.operationId));let y=Object.entries({...p,...UP(d.parameters??[])}).map(([,I])=>I),b=Oa({path:c,method:f,operation:d,operationsByTag:e.operationsByTag,options:e.options}),m=e.operationNames.filter(I=>I===b).length<=1,P=Hi(d,e.options),$={method:f,path:lP(c),operationName:b,description:d.description,summary:d.summary,tags:(r=d.tags)==null?void 0:r.map(ei),requestFormat:"application/json",parameters:[],response:"",errors:[],responseStatusCodes:[],mediaUpload:!!d["x-media-upload"],mediaDownload:!!d["x-media-download"]};if(d.requestBody){let I=HP({resolver:e,operation:d,operationName:b,isUniqueOperationName:m,tag:P});I&&($.parameters.push(I.endpointParameter),$.requestFormat=I.requestFormat)}for(let I of y){let C=BP({resolver:e,param:I,operationName:b,isUniqueOperationName:m,tag:P});C&&$.parameters.push(C)}let T=Xq($);T.forEach(I=>{$.parameters.push(I)}),T.length>0&&e.validationErrors.push(RP(T,c));for(let I in d.responses){$.responseStatusCodes.push(I);let C=e.resolveObject(d.responses[I]),J=Object.keys(C.content??{}).find(Du),Be,xe;if(J?($.responseFormat=J,Be=(i=(n=C.content)==null?void 0:n[J])==null?void 0:i.schema):(xe=ma,I==="200"&&e.validationErrors.push(qP({received:"200",expected:"204"},d,$))),Be){let X=Ke({schema:Be,resolver:e,meta:{isRequired:!0},tag:P}),M=e.resolveObject(Be);xe=ts({schema:M,zodSchema:X,fallbackName:X.ref?void 0:Gu({statusCode:I,operationName:b,isUniqueOperationName:m,tag:P}),resolver:e,tag:P})+nn({schema:M,meta:X.meta,options:e.options})}if(xe){let X=Number(I);ku(X)?($.response=xe,$.responseObject=C,$.responseDescription=C.description):I!=="default"&&qu(X)&&$.errors.push({zodSchema:xe,status:X,description:C.description})}}$.response||($.response=ma),$.acl=VP({resolver:e,endpoint:$,operation:d}),(s=d.security)!=null&&s[0].Authorization&&!$.responseStatusCodes.includes("401")&&e.validationErrors.push(Rm("401",d,$)),(a=$.acl)!=null&&a[0]&&!$.responseStatusCodes.includes("403")&&e.validationErrors.push(Rm("403",d,$)),t.push($)}}return t}o(GP,"getEndpointsFromOpenAPIDoc");function UP(e){return Object.fromEntries((e??[]).map(t=>[Ee(t)?t.$ref:t.name,t]))}o(UP,"getParameters");function Xq(e){return[...e.path.matchAll(/:([a-zA-Z0-9_]+)/g)].map(r=>r[1]).filter(r=>e.parameters.findIndex(({name:n})=>n===r)===-1).map(r=>eD(r))}o(Xq,"getMissingPathParameters");function eD(e){return{name:e,type:"Path",zodSchema:Iu,parameterObject:{name:e,required:!0,in:"path",schema:{type:"string"}}}}o(eD,"getPathParameterFromName");function zP(e,t){let r=tD(e,t),n=rD(e,r);return{refsDependencyGraph:r,deepDependencyGraph:n}}o(zP,"getOpenAPISchemaDependencyGraph");function tD(e,t){let r={},n={};return e.forEach(i=>nD({schema:t(i),fromRef:i,getSchemaByRef:t,visitedRefs:r,refsDependencyGraph:n})),n}o(tD,"getRefsDependencyGraph");function rD(e,t){let r={},n={},i=o((s,a)=>{n[a].add(s),t[s]&&a!==s&&t[s].forEach(c=>{let u=`${a}__${c}`;r[u]||(r[u]=!0,i(c,a))})},"visit");return e.forEach(s=>{let a=t[s];a&&(n[s]||(n[s]=new Set),a.forEach(c=>i(c,s)))}),n}o(rD,"getDeepRefsDependencyGraph");function nD({schema:e,fromRef:t,getSchemaByRef:r,visitedRefs:n={},refsDependencyGraph:i={}}){let s=o(a=>{if(a.type!=="reference"||!a.data)return;let{schema:c,data:u}=a;if(i[u.fromRef]||(i[u.fromRef]=new Set),i[u.fromRef].add(c.$ref),n[c.$ref])return!0;n[u.fromRef]=!0,Tt(r(c.$ref),{data:{fromRef:c.$ref},onSchema:s})},"onSchema");return Tt(e,{data:{fromRef:t},onSchema:s}),{visitedRefs:n,refsDependencyGraph:i}}o(nD,"getSchemaRefsDependencyGraph");function Wu(e,t,r){let n=[];return Tt(t,{onSchema:o(s=>{s.type==="reference"?n.push(s.schema):Ee(s.parentSchema)&&(s.type==="property"?e.validationErrors.push(Ta(`${r} has both reference and properties`)):s.type==="additionalProperties"?e.validationErrors.push(Ta(`${r} has both reference and additionalProperties`)):s.type==="array"?e.validationErrors.push(Ta(`${r} is both reference and array schema`)):s.type==="composite"&&e.validationErrors.push(Ta(`${r} has both reference and composite keyword`)))},"onSchema")}),n}o(Wu,"getSchemaRefObjs");function ZP(e,t){return t.map(i=>Bi(i.$ref)).reduce((i,s)=>{let a=e.dependencyGraph.deepDependencyGraph[s];return[...i,s,...Array.from(a??[])]},[])}o(ZP,"getDeepSchemaRefObjs");function WP(e){var n;let t={},r={};return Object.entries(((n=e.openApiDoc.components)==null?void 0:n.schemas)??{}).forEach(([i,s])=>{let a=rn(i,e.options.schemaSuffix);if(!t[a]){let c=e.getTagByZodSchemaName(a),u=e.resolveObject(s);u.enum?r[a]=es(u):t[a]=Ke({schema:s,resolver:e,tag:c}).getCodeString(c)}}),{zodSchemas:t,enumZodSchemas:r}}o(WP,"getZodSchemasFromOpenAPIDoc");function KP(e){var r;let t=[];return Object.entries(((r=e.openApiDoc.components)==null?void 0:r.schemas)??{}).forEach(([n,i])=>{let s=rn(n,e.options.schemaSuffix),a=e.resolveObject(i);!t.find(c=>c.zodSchemaName===s)&&a.enum&&t.push({zodSchemaName:s,code:es(a)})}),t}o(KP,"getEnumZodSchemasFromOpenAPIDoc");function Ra({schema:e,nameSegments:t=[],includeSelf:r,...n}){r&&YP({schema:e,nameSegments:t,...n}),Tt(e,{data:{nameSegments:t},onSchema:o(s=>{var c;if(s.type==="reference")return!0;let a=[...((c=s.data)==null?void 0:c.nameSegments)??[]];s.type==="property"&&a.push(s.propertyName),YP({schema:s.schema,nameSegments:[...a],...n})},"onSchema")})}o(Ra,"updateExtractedEnumZodSchemaData");function YP({resolver:e,schema:t,schemaRef:r,schemaInfo:n,tags:i,nameSegments:s=[]}){if(!t||Ee(t)||!t.enum)return;let a=es(t),c=e.extractedEnumZodSchemaData.find(u=>u.code===a);c?(c.meta.zodSchemaNameSegments.push(s),c.meta.tags.push(...i),c.meta.schemaRefs.push(...r?[r]:[]),c.meta.schemas.push(...t?[t]:[])):e.extractedEnumZodSchemaData.push({code:a,meta:{zodSchemaNameSegments:[s],tags:[...i],schemaRefs:r?[r]:[],schemas:t?[t]:[]}}),e.validationErrors.push(jP(r?`Schema ${Jo(r)} property ${s[s.length-1]}`:n??s.join("->")))}o(YP,"handleExtractedEnumZodSchemaDataUpdate");function QP(e){e.extractedEnumZodSchemaData.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(s=>s[s.length-1]).filter(Boolean),i=Pm(n);if(!i)throw new Error(`No common last segment found for enum: ${r.code}`);r.zodSchemaName=xa(i,e.options.enumSuffix,e.options.schemaSuffix)});let t=0;for(;t<5&&!km(e);)iD(e,t+2),t++;if(km(e)||e.extractedEnumZodSchemaData.filter(n=>!XP(e,n)).forEach(n=>{n.zodSchemaName=xa(n.meta.zodSchemaNameSegments[0].map(i=>qm(He(i))).join(""),e.options.enumSuffix,e.options.schemaSuffix)}),!km(e))throw new Error("Failed to resolve unique names for enum zod schemas")}o(QP,"resolveExtractedEnumZodSchemaNames");function km(e){return e.extractedEnumZodSchemaData.every(t=>XP(e,t))}o(km,"allExtractedEnumZodSchemaNamesAreUnique");function iD(e,t){e.extractedEnumZodSchemaData.forEach(r=>{let n=e.extractedEnumZodSchemaData.filter(({zodSchemaName:i})=>r.zodSchemaName===i);n.length!==1&&oD(n,t)})}o(iD,"additionalResolveExtractedEnumZodSchemaName");function oD(e,t=2){e.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(i=>i[i.length-t]).filter(Boolean);if(n.length===1){let i=[qm(He(n[0])),r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=i}else{let i=Pm(n),s=[i?qm(He(i)):"",r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=s}})}o(oD,"suffixWithPreviousSegmentName");function JP(e){e.extractedEnumZodSchemaData.forEach(t=>{let r=Qt(t.meta.tags);t.tag=r.length===1?r[0]:e.options.defaultTag})}o(JP,"resolveExtractedEnumZodSchemaTags");function XP(e,t){return e.extractedEnumZodSchemaData.filter(({zodSchemaName:r})=>t.zodSchemaName===r).length===1}o(XP,"isUnique");function qm(e){return e.replace(/(Dto|DTO|Response|Request)/g,"")}o(qm,"sanitizeName");var Dm=class Dm{constructor(t,r){this.openApiDoc=t;this.options=r;this.dependencyGraph=zP(this.schemaRefs,this.getSchemaByRef.bind(this)),this.enumZodSchemas=KP(this),this.operationsByTag=nP(t,r),this.operationNames=uP(t,this.operationsByTag,r),this.initialize()}schemaData=[];zodSchemaData=[];compositeZodSchemaData=[];dependencyGraph;enumZodSchemas=[];extractedEnumZodSchemaData=[];operationsByTag={};operationNames=[];validationErrors=[];get docSchemas(){var t;return((t=this.openApiDoc.components)==null?void 0:t.schemas)??{}}get schemaRefs(){return Object.keys(this.docSchemas).map(oP)}getSchemaByRef(t){return this.docSchemas[Jo(t)]}getZodSchemaNameByRef(t){var n,i;let r=((n=this.getSchemaDataByRef(Bi(t)))==null?void 0:n.zodSchemaName)??((i=this.extractedEnumZodSchemaData.find(s=>s.zodSchemaName===t))==null?void 0:i.zodSchemaName);if(!r)throw new Error(`Zod schema not found for ref: ${t}`);return r}getRefByZodSchemaName(t){var r;return(r=this.schemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.ref}getTagByZodSchemaName(t){var u,l;if(!this.options.splitByTags)return this.options.defaultTag;let r=this.extractedEnumZodSchemaData.find(p=>p.zodSchemaName===t);if(r)return ei(r.tag??this.options.defaultTag);let n=this.getRefByZodSchemaName(t),i=n?((u=this.getSchemaDataByRef(n))==null?void 0:u.tags)??[]:[],s=((l=this.zodSchemaData.find(p=>p.zodSchemaName===t))==null?void 0:l.tags)??[],a=Qt(i,s),c=a.length===1?a[0]:this.options.defaultTag;return ei(c??this.options.defaultTag)}getCodeByZodSchemaName(t){var r;return(r=this.zodSchemaData.find(n=>n.zodSchemaName===t))==null?void 0:r.code}getZodSchemaNamesByCompositeCode(t){var r;return(r=this.compositeZodSchemaData.find(n=>n.code===t))==null?void 0:r.zodSchemas.map(n=>n.zodSchemaName)}setZodSchema(t,r,n){let i=this.zodSchemaData.find(s=>s.zodSchemaName===t);i?(i.code=r,i.tags=(i.tags??[]).concat(n)):this.zodSchemaData.push({zodSchemaName:t,code:r,tags:[n]})}addZodSchemaForCompositeCode(t,r,n,i){let s={zodSchemaName:n,zodSchema:r,schema:i},a=this.compositeZodSchemaData.find(c=>c.code===t);a?a.zodSchemas.push(s):this.compositeZodSchemaData.push({code:t,zodSchemas:[s]})}getCompositeZodSchemaByZodSchemaName(t){var n;let r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t));return(n=r==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.zodSchema}getSchemaByCompositeZodSchemaName(t){var r,n;return(n=(r=this.compositeZodSchemaData.find(i=>i.zodSchemas.some(s=>s.zodSchemaName===t)))==null?void 0:r.zodSchemas.find(i=>i.zodSchemaName===t))==null?void 0:n.schema}getEnumZodSchemaDataByCode(t){return this.enumZodSchemas.find(r=>r.code===t)}getExtractedEnumZodSchemaDataByCode(t){return this.extractedEnumZodSchemaData.find(r=>r.code===t)}getExtractedEnumZodSchemaNamesReferencedBySchemaRef(t){return this.extractedEnumZodSchemaData.reduce((r,{zodSchemaName:n,meta:i})=>(n&&i.schemaRefs.includes(t)&&r.push(n),r),[])}getZodSchemas(){return this.zodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>({...t,[r]:n}),{})}getExtractedEnumZodSchemas(){return this.extractedEnumZodSchemaData.reduce((t,{zodSchemaName:r,code:n})=>r?{...t,[r]:n}:t,{})}resolveObject(t){return Ee(t)?this.getSchemaByRef(t.$ref):t}isSchemaCircular(t){var r;return(r=this.dependencyGraph.deepDependencyGraph[t])==null?void 0:r.has(t)}getCircularSchemaChain(t,r=t,n=[],i=[]){var s,a;return i.includes(r)?[]:(i.push(r),(s=this.dependencyGraph.refsDependencyGraph[r])!=null&&s.has(t)?[...n,r,t]:Array.from(((a=this.dependencyGraph.refsDependencyGraph[r])==null?void 0:a.values())??[]).map(c=>{let u=this.getCircularSchemaChain(t,c,n,i);return u.length>0?[r,...u]:u}).flat())}getBaseUrl(){var r,n;let t=(n=(r=this.openApiDoc.servers)==null?void 0:r[0])==null?void 0:n.url;return this.options.baseUrl===""&&t?t:this.options.baseUrl}getZodSchemaObj(t){let r=this.getRefByZodSchemaName(t);if(r)return this.getSchemaByRef(r);let n=this.getSchemaByCompositeZodSchemaName(t);if(n)return n;let i=this.getExtractedEnumZodSchemaDataByName(t);if(i)return i.meta.schemas.reduce((s,a)=>({...s,...this.resolveObject(a)}),{})}getSchemaDataByRef(t){return this.schemaData.find(r=>r.ref===t)}getExtractedEnumZodSchemaDataByName(t){return this.extractedEnumZodSchemaData.find(({zodSchemaName:r})=>r===t)}initialize(){var t,r,n,i,s;this.schemaRefs.forEach(a=>{let c=Bi(a),u=Jo(c),l=rn(u,this.options.schemaSuffix);this.schemaData.push({ref:c,name:u,zodSchemaName:l,tags:[]})});for(let a in this.openApiDoc.paths){let c=this.openApiDoc.paths[a],u=Jn(c,Qn);for(let l in u){let p=u[l];if(!p||p.deprecated&&!this.options.withDeprecatedEndpoints)continue;let f=Hi(p,this.options),d=Oa({path:a,method:l,operation:p,operationsByTag:this.operationsByTag,options:this.options}),h=this.operationNames.filter(P=>P===d).length<=1,y=pt(Gi(d,h,f)),b=[];if((t=p.parameters)==null||t.map(P=>{let $=P,T=$.schema,I=`Operation ${p.operationId??a} parameter ${$.name}`;b.push(...Wu(this,T,I)),this.options.extractEnums&&Ra({resolver:this,schema:T,schemaInfo:I,tags:[f],nameSegments:[y,$.name],includeSelf:!0})}),p.requestBody){let P=this.resolveObject(p.requestBody),T=Object.keys(P.content??{}).find(tn);if(T){let I=(n=(r=P.content)==null?void 0:r[T])==null?void 0:n.schema,C=`Operation ${p.operationId} request body`;b.push(...Wu(this,I,C)),this.options.extractEnums&&Ra({resolver:this,schema:I,schemaInfo:C,tags:[f],nameSegments:[Uu(y)]})}}for(let P in p.responses){let $=this.resolveObject(p.responses[P]),I=Object.keys($.content??{}).find(Du);if(I){let C=(s=(i=$.content)==null?void 0:i[I])==null?void 0:s.schema,ae=`Operation ${p.operationId} response body`;b.push(...Wu(this,C,ae)),this.options.extractEnums&&Ra({resolver:this,schema:C,schemaInfo:ae,tags:[f],nameSegments:[Gu({statusCode:P,operationName:d,isUniqueOperationName:h,tag:f})]})}}ZP(this,b).forEach(P=>{let $=this.getSchemaDataByRef(P);$&&$.tags.push(f)})}}this.options.extractEnums&&(this.schemaRefs.forEach(a=>{var u;let c=Bi(a);Ra({resolver:this,schema:this.getSchemaByRef(c),schemaRef:c,tags:((u=this.getSchemaDataByRef(c))==null?void 0:u.tags)??[],nameSegments:[Jo(c)]})}),JP(this),this.handleDuplicateEnumZodSchemas(),QP(this))}handleDuplicateEnumZodSchemas(){let t=this.enumZodSchemas.map(({code:n})=>n),r=this.enumZodSchemas.filter(({code:n})=>t.includes(n));this.schemaData.forEach(n=>{var a;let i=(a=r.find(({zodSchemaName:c})=>c===n.zodSchemaName))==null?void 0:a.code;if(!i)return;let s=this.extractedEnumZodSchemaData.find(({code:c})=>c===i);s&&(n.tags.push(...s.meta.tags??[]),s.meta.schemaRefs.forEach(c=>{this.dependencyGraph.refsDependencyGraph[c]||(this.dependencyGraph.refsDependencyGraph[c]=new Set),this.dependencyGraph.refsDependencyGraph[c].add(n.ref),this.dependencyGraph.deepDependencyGraph[c]||(this.dependencyGraph.deepDependencyGraph[c]=new Set),this.dependencyGraph.deepDependencyGraph[c].add(n.ref)}))}),this.extractedEnumZodSchemaData.splice(0,this.extractedEnumZodSchemaData.length,...this.extractedEnumZodSchemaData.filter(({code:n})=>!t.includes(n)))}};o(Dm,"SchemaResolver");var Ku=Dm;function e1(e){let t=[],r={};function n(i,s){Array.isArray(s)||(s=[]),s.push(i),r[i]=!0,e[i]&&e[i].forEach(a=>{s.includes(a)||r[a]||n(a,s.slice(0))}),t.includes(i)||t.push(i)}return o(n,"visit"),Object.keys(e).forEach(i=>n(i,[])),t}o(e1,"topologicalSort");function t1(e,t){let r=Object.entries(e),n=r.filter(([i])=>t.includes(i)).sort(([i],[s])=>t.indexOf(i)-t.indexOf(s)).concat(r.filter(([i])=>!t.includes(i)));return Object.fromEntries(n)}o(t1,"sortObjKeysFromArray");function r1(e,t){let r=e1(e.dependencyGraph.deepDependencyGraph).map(i=>e.getZodSchemaNameByRef(i));return t1(t,r)}o(r1,"sortZodSchemasByTopology");function n1(e,t){let r={};return Object.entries(t).forEach(([n,i])=>{let s=e.getRefByZodSchemaName(n);s&&e.isSchemaCircular(s)?(e.validationErrors.push(MP(e.getCircularSchemaChain(s).join(" -> "))),r[rn(n,e.options.schemaSuffix)]=`z.lazy(() => ${i})`):r[rn(n,e.options.schemaSuffix)]=i}),r}o(n1,"wrapCircularZodSchemas");function Yu(e,t){let r=new Ku(e,t),n=GP(r),i=WP(r),s={...i.zodSchemas,...r.getZodSchemas(),...i.enumZodSchemas};return s=n1(r,s),s=r1(r,s),s={...r.getExtractedEnumZodSchemas(),...s},{resolver:r,data:sD({resolver:r,endpoints:n,zodSchemas:s,options:t})}}o(Yu,"getDataFromOpenAPIDoc");function sD({resolver:e,endpoints:t,zodSchemas:r,options:n}){let i=new Map;return n.splitByTags?(t.forEach(s=>{let a=Ia(s,n);i1(a,i).endpoints.push(s)}),Object.entries(r).forEach(([s,a])=>{let c=e.getTagByZodSchemaName(s);c&&(i1(c,i).zodSchemas[s]=a)}),i):(i.set(n.defaultTag,{endpoints:t,zodSchemas:r}),i)}o(sD,"splitDataByTags");function i1(e,t){return t.has(e)||t.set(e,{endpoints:[],zodSchemas:{}}),t.get(e)}o(i1,"getTagElement");var ns=mt(require("fs")),Lm=mt(require("path"));function o1(e){return ns.default.readFileSync(Lm.default.join(__dirname,`../${e}`),"utf-8")}o(o1,"readFileSync");function Fm(e){let t=`src/generators/templates/${e}.hbs`;return o1(t)}o(Fm,"readHbsTemplateSync");function Vm(e){let t=`src/assets/${e}`;return o1(t)}o(Vm,"readAssetSync");function hn({output:e,fileName:t}){return`${e}/${t}`}o(hn,"getOutputFileName");function aD(e,t){let r=Lm.default.dirname(e);ns.default.existsSync(r)||ns.default.mkdirSync(r,{recursive:!0}),ns.default.writeFileSync(e,t,"utf-8")}o(aD,"writeFileWithDirSync");function cD({fileName:e,content:t}){aD(e,t)}o(cD,"writeFileSync");function s1(e){e.forEach(cD)}o(s1,"writeGenerateFileData");function a1(e,t){let r={...ct,...t},{resolver:n,data:i}=Yu(e,r);if(n.validationErrors.length>0){let s=DP(n.validationErrors);Object.entries(s).forEach(([a,c])=>{console.log(`${Fr.red(`${VE[a]}:`)}
|
|
145
145
|
${c.map(u=>`- ${u}`).join(`
|
|
146
146
|
`)}
|
|
147
147
|
`)})}else{let s=[...i.keys()].reduce((a,c)=>r.excludeTags.find(l=>l.toLowerCase()===c.toLowerCase())?a:[...a,...uD(c,r)],[]);console.log(`${Fr.green("Outputs:")}
|