@povio/openapi-codegen-cli 0.13.4 → 0.13.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -74,4 +74,4 @@ Expecting `+gn.join(", ")+", got '"+(this.terminals_[E]||E)+"'":lc="Parse error
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(dC({schema:e,meta:t,options:r}),r.withDefaultValues!==!1?mC(e):[]).filter(Boolean).join(".");return i?`.${i}`:""}o(kt,"getZodChain");function dC({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(dC,"getZodChainablePresence");function mC(e){return e.default!==void 0?`default(${Se(e.type).with("number","integer",()=>PS(e.default)).otherwise(()=>JSON.stringify(e.default))})`:""}o(mC,"getZodChainableDefault");function hC(e,t){let r=[];if(e.enum||(e.minLength!==void 0&&r.push(`min(${e.minLength})`),e.maxLength!==void 0&&r.push(`max(${e.maxLength})`)),e.pattern&&r.push(`regex(${gC(e.pattern)})`),e.format){let n=Se(e.format).with("email",()=>"email()").with("hostname","uri",()=>"url()").with("uuid",()=>"uuid()").with("date-time",()=>`datetime({ offset: true })${t.branded?".brand('datetime')":""}`).otherwise(()=>"");n&&r.push(n)}return r.join(".")}o(hC,"getZodChainableStringValidations");function gC(e){return e.startsWith("/")&&e.endsWith("/")&&(e=e.slice(1,-1)),e=ES(e),`/${e}/`}o(gC,"formatPatternIfNeeded");function yC(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(yC,"getZodChainableNumberValidations");function vC(e){let t=[];return e.minItems&&t.push(`min(${e.minItems})`),e.maxItems&&t.push(`max(${e.maxItems})`),t.join(".")}o(vC,"getZodChainableArrayValidations");var an=o(e=>e.reduce((t,r)=>t+r,0),"sum");function ce(e,t){if(!t)return e;if(D(t))return e+2;if(Array.isArray(t.type))return t.type.length===1?He("oneOf")+ce(e,{...t,type:t.type[0]}):e+He("oneOf")+an(t.type.map(r=>ce(0,{...t,type:r})));if(t.oneOf)return t.oneOf.length===1?He("oneOf")+ce(e,t.oneOf[0]):e+He("oneOf")+an(t.oneOf.map(r=>ce(0,r)));if(t.anyOf)return t.anyOf.length===1?He("anyOf")+ce(e,t.anyOf[0]):e+He("anyOf")+an(t.anyOf.map(r=>ce(0,r)));if(t.allOf)return t.allOf.length===1?He("allOf")+ce(e,t.allOf[0]):e+He("allOf")+an(t.allOf.map(r=>ce(0,r)));if(!t.type)return e;if(Bt(t.type))return t.enum?e+lb(t)+He("enum")+an(t.enum.map(r=>ce(0,r))):e+lb(t);if(t.type==="array")return t.items?He("array")+ce(e,t.items):He("array")+ce(e);if(t.type==="object"||t.properties||t.additionalProperties){if(t.properties){let r=Object.values(t.properties);e+=He("object")+an(r.map(n=>ce(0,n)))}else e+=He("empty-object");t.additionalProperties&&(typeof t.additionalProperties=="object"?e+=ce(0,t.additionalProperties):e+=ce(1))}return e}o(ce,"getOpenAPISchemaComplexity");function lb(e){return Se(e.type).with("string","number","integer","boolean",()=>1).otherwise(()=>0)}o(lb,"complexityByType");function He(e){return Se(e).with("oneOf",()=>2).with("anyOf",()=>3).with("allOf",()=>2).with("enum","array","empty-object",()=>1).with("object",()=>2).otherwise(()=>0)}o(He,"complexityByComposite");var Ef=class Ef{constructor(t,r,n={referencedBy:[]},i){this.schema=t;this.resolver=r;D(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?`${G({type:"models",tag:i,options:r})}.${n}`:n}get complexity(){return ce(0,this.schema)}assign(t){return this.code=t,this}inherit(t){return t&&t.children.push(this),this}};o(Ef,"ZodSchema");var Ro=Ef;function W({schema:e,resolver:t,meta:r,tag:n}){var g;let i=new Ro(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(D(e))return SC({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});let c=_C({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(c)return c;let u=bC({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(u)return u;let l=PC({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=$C({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(p)return p;let d=t.options.allReadonly?".readonly()":"";if(pa(e))return e.items?i.assign(`z.array(${W({...a,schema:e.items}).getCodeString(n,t.options)}${kt({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(([T,R])=>{var re;let K={...s,isRequired:v?!0:y?(re=e.required)==null?void 0:re.includes(T):t.options.withImplicitRequiredProps,name:T,isParentPartial:v},oe=R;if(D(R)&&t&&(oe=t.getSchemaByRef(R.$ref),!oe))throw new Error(`Schema ${R.$ref} not found`);let X=W({...a,schema:R,meta:K}).getCodeString(n,t.options)+kt({schema:oe,meta:K,options:t.options});return[T,X]}).map(([T,R])=>`${_S(T)}: ${R}`).join(", ")+" }");let b="";e.additionalProperties&&(b=`.catchall(${typeof e.additionalProperties=="object"&&Object.keys(e.additionalProperties).length>0?W({...a,schema:e.additionalProperties}).getCodeString(n,t.options)+kt({schema:e.additionalProperties,meta:{...s,isRequired:!0},options:t.options}):"z.any()"})`);let P=v?".partial()":"",E=t.options.strictObjects?".strict()":"";return i.assign(`z.object(${S})${P}${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 SC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!D(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(SC,"getReferenceZodSchema");function bC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){var a;if(!Oe(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=>Oe(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
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(bC,"getOneOfZodSchema");function _C({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!(!Oe(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(_C,"getArrayZodSchema");function PC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Oe(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(PC,"getAnyOfZodSchema");function EC({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Oe(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}=cS(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 $C({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!Oe(e))return;let s=e.type?e.type.toLowerCase():void 0;if(s&&Bt(s)){if(e.enum){if(s==="string")return OC({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(Se(s).with("integer",()=>"z.number()").with("string",()=>Se(e.format).with("binary",()=>sa).otherwise(()=>aa)).otherwise(a=>`z.${a}()`))}}o($C,"getPrimitiveZodSchema");function OC({resolver:e,schema:t,zodSchema:r,meta:n,tag:i}){var l;if(!Oe(t))return;let s=ui(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 Ro({$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?`${G({type:"models",tag:c.tag,options:e.options})}.`:"";return r.assign(`${u}${c.zodSchemaName}`)}o(OC,"getEnumZodSchema");function ui(e){var t;return`${ho}([${(t=e.enum)==null?void 0:t.map(r=>r===null?"null":`"${r}"`).join(", ")}])`}o(ui,"getEnumZodSchemaCode");function pb(e){return`${ho}([${e.map(t=>`"${t}"`).join(", ")}])`}o(pb,"getEnumZodSchemaCodeFromEnumNames");function li({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<ff)return s;let u=Nt(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 ce(0,n.getSchemaByRef(t.ref))<ff?n.getCodeByZodSchemaName(s):s;if(t.ref)return n.getZodSchemaNameByRef(t.ref);throw new Error(`Invalid ref: ${t.ref}`)}o(li,"resolveZodSchemaName");function fb({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=xC({resolver:e,endpoint:t,acl:n,name:c});return u?[...a,u]:(e.validationErrors.push(ab(c,r,t)),a)},[]);return{...i,conditionsTypes:s}})}o(fb,"getEndpointAcl");function xC({resolver:e,endpoint:t,acl:r,name:n}){var p,d,m,g,y,v,S,b,P,E;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:_})=>_===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} ${_r(f.type)} parameter`,l++;else{let _=t.parameters.find(({bodyObject:K})=>!!K),R=Object.keys(((y=_==null?void 0:_.bodyObject)==null?void 0:y.content)??{}).find(We);R&&(a=(b=(S=(v=_==null?void 0:_.bodyObject)==null?void 0:v.content)==null?void 0:S[R])==null?void 0:b.schema,u=`${we(t)?"query":"mutation"} data`)}for(;a&&l<s.length;){let _=e.resolveObject(a);a=(P=Object.entries(_.properties??{}).find(([R])=>R===s[l]))==null?void 0:P[1],c=((E=_.required)==null?void 0:E.includes(s[l]))??!1,l++}if(a)return{name:n,type:D(a)?void 0:a.type,zodSchemaName:D(a)?e.getZodSchemaNameByRef(a.$ref):void 0,required:c,info:u}}o(xC,"getEndpointAclConditionPropertyType");function db({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=li({schema:f,zodSchema:l,fallbackName:ya(tn(r,n,i)),resolver:e,tag:i}),d=kt({schema:f,meta:l.meta,options:e.options});return{endpointParameter:{name:ua,type:"Body",description:s.description,zodSchema:p+d,bodyObject:s},requestFormat:c}}o(db,"getEndpointBody");function mb({resolver:e,param:t,operationName:r,isUniqueOperationName:n,tag:i}){let s=e.resolveObject(t);if(!pS.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=IS(tn(r,n,i),s.name),u;if(xS(s)){let m=$o(c,e.options.enumSuffix,e.options.schemaSuffix),g=pb(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=kt({schema:f,meta:l.meta,options:e.options}),d=li({schema:f,zodSchema:l.assign(l.getCodeString(i)+p),fallbackName:c,resolver:e,tag:i});return{name:Se(s.in).with("path",()=>yf(s.name)).otherwise(()=>s.name),type:Se(s.in).with("header",()=>"Header").with("query",()=>"Query").with("path",()=>"Path").run(),zodSchema:d,parameterObject:s,parameterSortingEnumSchemaName:u}}o(mb,"getEndpointParameter");function gb(e){var r,n,i,s,a;let t=[];for(let c in e.openApiDoc.paths){if(en(c,e.options))continue;let u=e.openApiDoc.paths[c],l=sn(u,Jr),f=hb(u.parameters??[]);for(let p in l){let d=l[p];if(!d||ci(d,e.options))continue;let m=d.operationId&&d.operationId!==At(d.operationId);d.operationId&&m&&e.validationErrors.push(nb(d.operationId));let g=Object.entries({...f,...hb(d.parameters??[])}).map(([,_])=>_),y=Io({path:c,method:p,operation:d,operationsByTag:e.operationsByTag,options:e.options}),v=e.operationNames.filter(_=>_===y).length<=1,S=Pr(d,e.options),b={method:p,path:OS(c),operationName:y,description:d.description,summary:d.summary,tags:(r=d.tags)==null?void 0:r.map(Rt),requestFormat:"application/json",parameters:[],response:"",errors:[],responseStatusCodes:[],mediaUpload:!!d["x-media-upload"],mediaDownload:!!d["x-media-download"]};if(d.requestBody){let _=db({resolver:e,operation:d,operationName:y,isUniqueOperationName:v,tag:S});_&&(b.parameters.push(_.endpointParameter),b.requestFormat=_.requestFormat)}for(let _ of g){let T=mb({resolver:e,param:_,operationName:y,isUniqueOperationName:v,tag:S});T&&b.parameters.push(T)}let P=AC(b);P.forEach(_=>{b.parameters.push(_)}),P.length>0&&e.validationErrors.push(ib(P,c));for(let _ in d.responses){b.responseStatusCodes.push(_);let T=e.resolveObject(d.responses[_]),K=Object.keys(T.content??{}).find(oi),oe,X;if(K?(b.responseFormat=K,oe=(i=(n=T.content)==null?void 0:n[K])==null?void 0:i.schema):(X=mo,_==="200"&&e.validationErrors.push(cb({received:"200",expected:"204"},d,b))),oe){let re=W({schema:oe,resolver:e,meta:{isRequired:!0},tag:S}),_e=e.resolveObject(oe);X=li({schema:_e,zodSchema:re,fallbackName:re.ref?void 0:va({statusCode:_,operationName:y,isUniqueOperationName:v,tag:S}),resolver:e,tag:S})+kt({schema:_e,meta:re.meta,options:e.options})}if(X){let re=Number(_);_o(re)&&!b.response?(b.response=X,b.responseObject=T,b.responseDescription=T.description):_!=="default"&&ma(re)&&b.errors.push({zodSchema:X,status:re,description:T.description})}}b.response||(b.response=mo);let E=Object.keys(d.responses).map(Number).filter(_o);E.length>1&&e.validationErrors.push(ub(E.map(String),d,b)),b.acl=fb({resolver:e,endpoint:b,operation:d}),(s=d.security)!=null&&s[0].Authorization&&!b.responseStatusCodes.includes("401")&&e.validationErrors.push(Pf("401",d,b)),(a=b.acl)!=null&&a[0]&&!b.responseStatusCodes.includes("403")&&e.validationErrors.push(Pf("403",d,b)),t.push(b)}}return t}o(gb,"getEndpointsFromOpenAPIDoc");function hb(e){return Object.fromEntries((e??[]).map(t=>[D(t)?t.$ref:t.name,t]))}o(hb,"getParameters");function AC(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=>wC(r))}o(AC,"getMissingPathParameters");function wC(e){return{name:e,type:"Path",zodSchema:aa,parameterObject:{name:e,required:!0,in:"path",schema:{type:"string"}}}}o(wC,"getPathParameterFromName");function yb(e,t){let r=IC(e,t),n=TC(e,r);return{refsDependencyGraph:r,deepDependencyGraph:n}}o(yb,"getOpenAPISchemaDependencyGraph");function IC(e,t){let r={},n={};return e.forEach(i=>RC({schema:t(i),fromRef:i,getSchemaByRef:t,visitedRefs:r,refsDependencyGraph:n})),n}o(IC,"getRefsDependencyGraph");function TC(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(TC,"getDeepRefsDependencyGraph");function RC({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,Ae(r(c.$ref),{data:{fromRef:c.$ref},onSchema:s})},"onSchema");return Ae(e,{data:{fromRef:t},onSchema:s}),{visitedRefs:n,refsDependencyGraph:i}}o(RC,"getSchemaRefsDependencyGraph");function Ea(e,t,r){let n=[];return Ae(t,{onSchema:o(s=>{s.type==="reference"?n.push(s.schema):D(s.parentSchema)&&(s.type==="property"?e.validationErrors.push(To(`${r} has both reference and properties`)):s.type==="additionalProperties"?e.validationErrors.push(To(`${r} has both reference and additionalProperties`)):s.type==="array"?e.validationErrors.push(To(`${r} is both reference and array schema`)):s.type==="composite"&&e.validationErrors.push(To(`${r} has both reference and composite keyword`)))},"onSchema")}),n}o(Ea,"getSchemaRefObjs");function vb(e,t){return t.map(i=>Xr(i.$ref)).reduce((i,s)=>{let a=e.dependencyGraph.deepDependencyGraph[s];return[...i,s,...Array.from(a??[])]},[])}o(vb,"getDeepSchemaRefObjs");function Sb(e){e.extractedEnumZodSchemaData.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(s=>s[s.length-1]).filter(Boolean),i=mf(n);if(!i)throw new Error(`No common last segment found for enum: ${r.code}`);r.zodSchemaName=$o(i,e.options.enumSuffix,e.options.schemaSuffix)});let t=0;for(;t<5&&!$f(e);)NC(e,t+2),t++;if($f(e)||e.extractedEnumZodSchemaData.filter(n=>!bb(e,n)).forEach(n=>{n.zodSchemaName=$o(n.meta.zodSchemaNameSegments[0].map(i=>Of(U(i))).join(""),e.options.enumSuffix,e.options.schemaSuffix)}),!$f(e))throw new Error("Failed to resolve unique names for enum zod schemas")}o(Sb,"resolveExtractedEnumZodSchemaNames");function $f(e){return e.extractedEnumZodSchemaData.every(t=>bb(e,t))}o($f,"allExtractedEnumZodSchemaNamesAreUnique");function NC(e,t){e.extractedEnumZodSchemaData.forEach(r=>{let n=e.extractedEnumZodSchemaData.filter(({zodSchemaName:i})=>r.zodSchemaName===i);n.length!==1&&CC(n,t)})}o(NC,"additionalResolveExtractedEnumZodSchemaName");function CC(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=[Of(U(n[0])),r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=i}else{let i=mf(n),s=[i?Of(U(i)):"",r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=s}})}o(CC,"suffixWithPreviousSegmentName");function bb(e,t){return e.extractedEnumZodSchemaData.filter(({zodSchemaName:r})=>t.zodSchemaName===r).length===1}o(bb,"isUnique");function Of(e){return e.replace(/(Dto|DTO|Response|Request)/g,"")}o(Of,"sanitizeName");function _b(e){e.extractedEnumZodSchemaData.forEach(t=>{let r=Fe(t.meta.tags);t.tag=r.length===1?r[0]:e.options.defaultTag})}o(_b,"resolveExtractedEnumZodSchemaTags");function No({schema:e,nameSegments:t=[],includeSelf:r,...n}){r&&Pb({schema:e,nameSegments:t,...n}),Ae(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),Pb({schema:s.schema,nameSegments:[...a],...n})},"onSchema")})}o(No,"updateExtractedEnumZodSchemaData");function Pb({resolver:e,schema:t,schemaRef:r,schemaInfo:n,tags:i,nameSegments:s=[]}){if(!t||D(t)||!t.enum)return;let a=ui(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(ob(r?`${ii(r)}.${s[s.length-1]}`:n??s.join(".")))}o(Pb,"handleExtractedEnumZodSchemaDataUpdate");function Eb(e){var n;let t={},r={};return Object.entries(((n=e.openApiDoc.components)==null?void 0:n.schemas)??{}).forEach(([i,s])=>{let a=e.getSchemaDataByName(i);if(e.options.excludeRedundantZodSchemas&&(!a||a.deepRefOperations.length===0&&a.tags.length===0))return;let c=Nt(i,e.options.schemaSuffix);if(t[c])return;let u=e.getTagByZodSchemaName(c),l=e.resolveObject(s);l.enum?r[c]=ui(l):t[c]=W({schema:s,resolver:e,tag:u}).getCodeString(u)}),{zodSchemas:t,enumZodSchemas:r}}o(Eb,"getZodSchemasFromOpenAPIDoc");function $b(e){var r;let t=[];return Object.entries(((r=e.openApiDoc.components)==null?void 0:r.schemas)??{}).forEach(([n,i])=>{let s=Nt(n,e.options.schemaSuffix),a=e.resolveObject(i);!t.find(c=>c.zodSchemaName===s)&&a.enum&&t.push({zodSchemaName:s,code:ui(a)})}),t}o($b,"getEnumZodSchemasFromOpenAPIDoc");var xf=class xf{constructor(t,r){this.openApiDoc=t;this.options=r;this.dependencyGraph=yb(this.schemaRefs,this.getSchemaByRef.bind(this)),this.enumZodSchemas=$b(this),this.operationsByTag=tb(t,r),this.operationNames=eb(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(bS)}getSchemaByRef(t){return this.docSchemas[ii(t)]}getSchemaDataByName(t){return this.schemaData.find(r=>r.name===t)}getZodSchemaNameByRef(t){var n,i;let r=((n=this.getSchemaDataByRef(Xr(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 Rt(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=Fe(i,s),c=a.length===1?a[0]:this.options.defaultTag;return Rt(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 D(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=Xr(a),u=ii(c),l=Nt(u,this.options.schemaSuffix);this.schemaData.push({ref:c,name:u,zodSchemaName:l,tags:[],deepRefOperations:[]})});for(let a in this.openApiDoc.paths){if(en(a,this.options))continue;let c=this.openApiDoc.paths[a],u=sn(c,Jr);for(let l in u){let f=u[l];if(!f||ci(f,this.options))continue;let p=Pr(f,this.options),d=Io({path:a,method:l,operation:f,operationsByTag:this.operationsByTag,options:this.options}),m=this.operationNames.filter(S=>S===d).length<=1,g=ae(tn(d,m,p)),y=[];if((t=f.parameters)==null||t.map(S=>{let b=S,P=b.schema,E=`Operation ${f.operationId??a} parameter ${b.name}`;y.push(...Ea(this,P,E)),this.options.extractEnums&&No({resolver:this,schema:P,schemaInfo:E,tags:[p],nameSegments:[g,b.name],includeSelf:!0})}),f.requestBody){let S=this.resolveObject(f.requestBody),P=Object.keys(S.content??{}).find(We);if(P){let E=(n=(r=S.content)==null?void 0:r[P])==null?void 0:n.schema,_=`Operation ${f.operationId} request body`;y.push(...Ea(this,E,_)),this.options.extractEnums&&No({resolver:this,schema:E,schemaInfo:_,tags:[p],nameSegments:[ya(g)]})}}for(let S in f.responses){let b=this.resolveObject(f.responses[S]),E=Object.keys(b.content??{}).find(oi);if(E){let _=(s=(i=b.content)==null?void 0:i[E])==null?void 0:s.schema,T=`Operation ${f.operationId} response body`;y.push(...Ea(this,_,T)),this.options.extractEnums&&No({resolver:this,schema:_,schemaInfo:T,tags:[p],nameSegments:[va({statusCode:S,operationName:d,isUniqueOperationName:m,tag:p})]})}}vb(this,y).forEach(S=>{let b=this.getSchemaDataByRef(S);b&&(b.tags.push(p),b.deepRefOperations.push(f))})}}this.options.extractEnums&&(this.schemaRefs.forEach(a=>{var u;let c=Xr(a);No({resolver:this,schema:this.getSchemaByRef(c),schemaRef:c,tags:((u=this.getSchemaDataByRef(c))==null?void 0:u.tags)??[],nameSegments:[ii(c)]})}),_b(this),this.handleDuplicateEnumZodSchemas(),Sb(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,c;let i=(a=r.find(({zodSchemaName:u})=>u===n.zodSchemaName))==null?void 0:a.code;if(!i)return;let s=this.extractedEnumZodSchemaData.find(({code:u})=>u===i);!s||((c=this.getEnumZodSchemaDataByCode(s.code))==null?void 0:c.zodSchemaName)!==n.zodSchemaName||(n.tags.push(...s.meta.tags??[]),s.meta.schemaRefs.forEach(u=>{this.dependencyGraph.refsDependencyGraph[u]||(this.dependencyGraph.refsDependencyGraph[u]=new Set),this.dependencyGraph.refsDependencyGraph[u].add(n.ref),this.dependencyGraph.deepDependencyGraph[u]||(this.dependencyGraph.deepDependencyGraph[u]=new Set),this.dependencyGraph.deepDependencyGraph[u].add(n.ref)}))}),this.extractedEnumZodSchemaData.splice(0,this.extractedEnumZodSchemaData.length,...this.extractedEnumZodSchemaData.filter(({code:n})=>!t.includes(n)))}};o(xf,"SchemaResolver");var $a=xf;function Ob(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(Ob,"topologicalSort");function xb(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(xb,"sortObjKeysFromArray");function Ab(e,t){let r=Ob(e.dependencyGraph.deepDependencyGraph).map(i=>e.getZodSchemaNameByRef(i));return xb(t,r)}o(Ab,"sortZodSchemasByTopology");function wb(e,t){let r={};return Object.entries(t).forEach(([n,i])=>{let s=e.getRefByZodSchemaName(n);s&&e.isSchemaCircular(s)?(e.validationErrors.push(sb(e.getCircularSchemaChain(s).join(" -> "))),r[Nt(n,e.options.schemaSuffix)]=`z.lazy(() => ${i})`):r[Nt(n,e.options.schemaSuffix)]=i}),r}o(wb,"wrapCircularZodSchemas");function Oa(e,t){let r=new $a(e,t),n=gb(r),i=Eb(r),s={...i.zodSchemas,...r.getZodSchemas(),...i.enumZodSchemas};return s=wb(r,s),s=Ab(r,s),s={...r.getExtractedEnumZodSchemas(),...s},{resolver:r,data:kC({resolver:r,endpoints:n,zodSchemas:s,options:t})}}o(Oa,"getDataFromOpenAPIDoc");function kC({resolver:e,endpoints:t,zodSchemas:r,options:n}){let i=new Map;return n.splitByTags?(t.forEach(s=>{let a=wo(s,n);Ib(a,i).endpoints.push(s)}),Object.entries(r).forEach(([s,a])=>{let c=e.getTagByZodSchemaName(s);c&&(Ib(c,i).zodSchemas[s]=a)}),i):(i.set(n.defaultTag,{endpoints:t,zodSchemas:r}),i)}o(kC,"splitDataByTags");function Ib(e,t){return t.has(e)||t.set(e,{endpoints:[],zodSchemas:{}}),t.get(e)}o(Ib,"getTagElement");async function Tb(e,t){let{resolver:r,data:n}=await Oa(e,t),i=[],s=[];return n.forEach(({endpoints:c,zodSchemas:u},l)=>{Object.keys(u).forEach(f=>{let p=r.getRefByZodSchemaName(f),d=p?r.getSchemaByRef(p):r.getSchemaByCompositeZodSchemaName(f),m=si({zodSchemaName:f,schema:d,resolver:r}),g;d&&(g=on({schema:d,parentTypes:[m],resolver:r})),i.push({...m,metaType:"primitive",...g})}),c.forEach(f=>{let p="queries",d=Rt(l);s.push({name:ba(f),importPath:rn({type:p,tag:d,includeTagDir:!0,options:t}),namespace:t.tsNamespaces?G({type:p,tag:d,options:t}):void 0,isQuery:we(f),isMutation:Ct(f),params:jC({resolver:r,endpoint:f}),response:qC({resolver:r,endpoint:f})})})}),{openApiDoc:e,models:i,queries:s}}o(Tb,"getMetadataFromOpenAPIDoc");function jC({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=si({zodSchemaName:r.zodSchema,schema:n,resolver:e}),s;return n&&(s=on({schema:n,parentTypes:[i],resolver:e})),{name:At(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(jC,"getQueryMetadataParams");function qC({resolver:e,endpoint:t}){var a,c,u,l;let r,n=Object.keys(((a=t.responseObject)==null?void 0:a.content)??{}).find(oi);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=si({zodSchemaName:t.response,schema:r,resolver:e}),s;return r&&(s=on({schema:r,parentTypes:[i],resolver:e})),{...i,metaType:"primitive",...s}}o(qC,"getQueryMetadataResponse");var Rb=o(e=>`Use${U(ae(e.operationName))}Ability`,"getAbilityTypeName"),Nb=o(e=>`canUse${U(ae(e.operationName))}`,"getAbilityFunctionName"),Cb=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].action},"getAbilityAction"),kb=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].subject},"getAbilitySubject"),xa=o(e=>{var t;return!!((t=Co(e))!=null&&t.length)},"hasAbilityConditions"),Co=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].conditionsTypes},"getAbilityConditionsTypes"),jb=o(e=>{var t;return(t=e.acl)==null?void 0:t[0].description},"getAbilityDescription"),Aa=o(e=>`${U(e)}${Po}`,"getTagAllAbilitiesName");var bd=et(Qt());var vd=et(require("fs")),xP=et(require("path"));function AP(e){return vd.default.readFileSync(xP.default.join(__dirname,`../${e}`),"utf-8")}o(AP,"readFileSync");function Sd(e){let t=`src/generators/templates/${e}.hbs`;return AP(t)}o(Sd,"readHbsTemplateSync");function wP(e){let t=`src/assets/${e}`;return AP(t)}o(wP,"readAssetSync");function Wt({output:e,fileName:t}){return`${e}/${t}`}o(Wt,"getOutputFileName");var Yt=et(Qt());function IP(){wq(),Iq(),Tq(),Rq(),Nq(),Cq(),kq(),jq()}o(IP,"registerAclHbsHelpers");function wq(){Yt.default.registerHelper("abilityTypeName",Rb)}o(wq,"registerAbilityTypeNameHelper");function Iq(){Yt.default.registerHelper("abilityFunctionName",Nb)}o(Iq,"registerAbilityFunctionNameHelper");function Tq(){Yt.default.registerHelper("ablityAction",Cb)}o(Tq,"registerAbilityActionHelper");function Rq(){Yt.default.registerHelper("ablitySubject",kb)}o(Rq,"registerAbilitySubjectHelper");function Nq(){Yt.default.registerHelper("hasAbilityConditions",xa)}o(Nq,"registerHasAbilityConditionsHelper");function Cq(){Yt.default.registerHelper("abilityConditionsTypes",Co)}o(Cq,"registerAbilityConditionsTypesHelper");function kq(){Yt.default.registerHelper("abilityDescription",jb)}o(kq,"registerAbilityDescriptionHelper");function jq(){Yt.default.registerHelper("tagAllAbilitiesName",Aa)}o(jq,"registerTagAllAbilitiesNameHelper");var zo=et(Qt());function TP(){qq(),Mq(),Dq(),Lq()}o(TP,"registerCommonHbsHelpers");function qq(){zo.default.registerHelper("isEqual",(e,t)=>e===t)}o(qq,"registerIsEqualHelper");function Mq(){zo.default.registerHelper("commaSeparated",e=>e.join(", "))}o(Mq,"registerCommaSeparatedListHelper");function Dq(){zo.default.registerHelper("addAsteriskAfterNewLine",e=>e.replace(/\n/g,`
77
- *`))}o(Dq,"registerAddAsteriskAfterNewLineHelper");function Lq(){zo.default.registerHelper("jsonStringify",e=>JSON.stringify(e,null,2))}o(Lq,"registerJsonStringifyHelper");var Ir=et(Qt());function RP(e){Fq(),Hq(e.options),Uq(e),Vq(),Bq(),Gq(e),Zq()}o(RP,"registerEndpointsHbsHelpers");function Fq(){Ir.default.registerHelper("endpointName",Ao)}o(Fq,"registerEndpointNameHelper");function Hq(e){Ir.default.registerHelper("importedEndpointName",t=>KS(t,e))}o(Hq,"registerImportedEndpointNameHelper");function Vq(){Ir.default.registerHelper("endpointPath",QS)}o(Vq,"registerEndpointPathHelper");function Bq(){Ir.default.registerHelper("endpointBody",e=>e.parameters.find(t=>t.type==="Body"))}o(Bq,"registerEndpointBodyHelper");function Uq(e){Ir.default.registerHelper("endpointParams",(t,r)=>xr(e,t,r.hash))}o(Uq,"registerEndpointParamsHelper");function Gq(e){Ir.default.registerHelper("endpointArgs",(t,r)=>xr(e,t,r.hash).map(n=>n.name).join(", "))}o(Gq,"registerEndpointArgsHelper");function Zq(){Ir.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&&Oe(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&&Oe(i.schema)&&(n=i.schema))}if(n){let f=Oo(n);t.push(...f)}return i!=null&&i.example&&t.push(`Example: \`${i.example}\``),t.join(". ")})}o(Zq,"registerEndpointParamDescriptionHelper");var Te=et(Qt());function NP(e){zq(),Kq(),Qq(),Wq(e),Yq(),Jq(e),Xq(e),e3(e),t3(e),r3(e),n3(),i3(),o3(),s3()}o(NP,"registerPartialsHbsHelpers");function zq(){Te.default.registerHelper("genModelJsDocs",(e,t,r)=>Re("model-js-docs")({name:e,zodSchema:t,tag:r}))}o(zq,"registerGenerateModelJsDocsHelper");function Kq(){Te.default.registerHelper("genImport",e=>Re("import")({import:e}))}o(Kq,"registerImportHelper");function Qq(){Te.default.registerHelper("genEndpointParams",(e,t)=>Re("endpoint-params")({endpoint:e,options:t}))}o(Qq,"registerGenerateEndpointParamsHelper");function Wq(e){Te.default.registerHelper("genEndpointConfig",t=>{let r=WS(t),n=e.options.axiosRequestConfig;return Object.keys(r).length===0?n?hr:"":Re("endpoint-config")({endpointConfig:r,hasAxiosRequestConfig:n,hasBlobResponse:t.response===sa,hasFileDownload:t.mediaDownload,axiosRequestConfigName:hr,generateParse:e.options.parseRequestParams})})}o(Wq,"registerGenerateEndpointConfigHelper");function Yq(){Te.default.registerHelper("genEndpointParamParse",(e,t)=>{var r;return Re("endpoint-param-parse")({param:e,paramName:t,isQuery:e.type==="Query",zodExtended:Ot.name,sortingString:Ot.properties.sortingString,parse:Ot.properties.parse,addOptional:!((r=e.parameterObject??e.bodyObject)!=null&&r.required)&&(e.parameterSortingEnumSchemaName||pe(e.zodSchema))})})}o(Yq,"registerGenerateEndpointParamParseHelper");function Jq(e){Te.default.registerHelper("genQueryKeys",t=>t.length===0?"":Re("query-keys")({queryEndpoints:t,queriesModuleName:vo,generateInfiniteQueries:e.options.infiniteQueries}))}o(Jq,"registerGenerateQueryKeysHelper");function Xq(e){Te.default.registerHelper("genQuery",t=>{if(!we(t))return;let r=e.options.axiosRequestConfig,n=e.options.checkAcl&&t.acl;return Re("query-use-query")({endpoint:t,queryHook:ft.query,hasQueryFn:xr(e,t).length>0||r||n,hasQueryFnBody:n,hasAxiosRequestConfig:r,axiosRequestConfigName:hr,axiosRequestConfigType:xt,hasAclCheck:n,aclCheckHook:Er})})}o(Xq,"registerGenerateQueryHelper");function e3(e){Te.default.registerHelper("genMutation",(t,r)=>{if(!Ct(t))return;let n=YS(t,r),i=JS(e,t,n),s=e.options.checkAcl&&t.acl;return Re("query-use-mutation")({endpoint:t,queryHook:ft.mutation,queriesModuleName:vo,hasAxiosRequestConfig:e.options.axiosRequestConfig,hasMutationFnBody:t.mediaUpload||s,axiosRequestConfigName:hr,axiosRequestConfigType:xt,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:ti.optionsType,updateQueryEndpoints:n,destructuredVariables:i,hasAclCheck:s,aclCheckHook:Er})})}o(e3,"registerGenerateMutationHelper");function t3(e){Te.default.registerHelper("genInfiniteQuery",t=>{if(!e.options.infiniteQueries||!ai(t))return;let r=e.options.checkAcl&&t.acl;return Re("query-use-infinite-query")({endpoint:t,infiniteQueryHook:ft.infiniteQuery,hasQueryFnBody:r,pageParamName:ca.pageParamName,totalItemsName:ca.totalItemsName,limitParamName:ca.limitParamName,hasAxiosRequestConfig:e.options.axiosRequestConfig,axiosRequestConfigName:hr,axiosRequestConfigType:xt,hasAclCheck:r,aclCheckHook:Er})})}o(t3,"registerGenerateInfiniteQueryHelper");function r3(e){Te.default.registerHelper("genQueryJsDocs",(t,r)=>Re("query-js-docs")({endpoint:t,query:r.hash.query,mutation:r.hash.mutation,infiniteQuery:r.hash.infiniteQuery,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:ti.optionsType}))}o(r3,"registerGenerateQueryJsDocsHelper");function n3(){Te.default.registerHelper("genCaslAbilityType",e=>Re("casl-ability-type")({endpoint:e,abilityTupleType:xe.abilityTuple}))}o(n3,"registerGenerateCaslAbilityTypeHelper");function i3(){Te.default.registerHelper("genCaslAbilityFunction",e=>Re("casl-ability-function")({endpoint:e}))}o(i3,"registerGenerateCaslAbilityFunctionHelper");function o3(){Te.default.registerHelper("genCaslAbilityQuery",e=>Re("casl-ability-query")({endpoint:e}))}o(o3,"registerGenerateCaslAbilityQueryHelper");function s3(){Te.default.registerHelper("genAclCheckParams",e=>{var i;let t=(i=Co(e))==null?void 0:i.map(s=>s.name),r=e.parameters.map(s=>s.name),n=t==null?void 0:t.every(s=>r.includes(s));return Re("acl-check-params")({endpoint:e,generateAclCheckParams:xa(e)&&n})})}o(s3,"registerGenerateAclCheckParamsHelper");var bi=et(Qt());function CP(){a3(),u3(),l3(),c3(),p3()}o(CP,"registerQueryHbsHelpers");function a3(){bi.default.registerHelper("queryName",(e,t)=>ba(e,t.hash.mutation))}o(a3,"registerQueryNameHelper");function c3(){bi.default.registerHelper("infiniteQueryName",XS)}o(c3,"registerInfiniteQueryNameHelper");function u3(){bi.default.registerHelper("isQuery",we)}o(u3,"registerIsQueryHelper");function l3(){bi.default.registerHelper("isMutation",Ct)}o(l3,"registerIsMutationHelper");function p3(){bi.default.registerHelper("isInfiniteQuery",e=>ai(e))}o(p3,"registerIsInfiniteQueryHelper");var mn=et(Qt());function kP(e){f3(e.options),d3(e),m3(e),h3(),g3(),y3(e)}o(kP,"registerZodHbsHelpers");function f3(e){mn.default.registerHelper("zodInferedType",t=>xo(t,e))}o(f3,"registerInferedTypeHelper");function d3(e){mn.default.registerHelper("importedZodSchemaName",t=>TS(e,t))}o(d3,"registerImportedZodSchemaNameHelper");function m3(e){mn.default.registerHelper("importedZodSchemaInferedType",t=>$r(e,t))}o(m3,"registerImportedZodSchemaInferedTypeHelper");function h3(){mn.default.registerHelper("zodSchemaType",e=>RS(e))}o(h3,"registerZodSchemaTypeHelper");function g3(){mn.default.registerHelper("zodSchemaDescription",e=>NS(e))}o(g3,"registerZodSchemaDescriptionHelper");function y3(e){mn.default.registerHelper("zodSchemaPropertyDescriptions",(t,r)=>kS(e,t,r))}o(y3,"registerZodSchemaPropertyDescriptionsHelper");var jP=et(Qt());function qP(){v3()}o(qP,"registerImportsHbsHelpers");function v3(){jP.default.registerHelper("importNames",(e,t)=>[...t?[t]:[],...e?[`{ ${e.join(", ")} }`]:[]].join(", "))}o(v3,"registerBindingsHelper");function de(e,t){let r=Sd(t);return TP(),qP(),kP(e),RP(e),CP(),IP(),NP(e),bd.default.compile(r)}o(de,"getHbsTemplateDelegate");function Re(e){let t=Sd(`partials/${e}`);return bd.default.compile(t)}o(Re,"getHbsPartialTemplateDelegate");function MP({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:[xe.abilityTuple,...i?[xe.forcedSubject,xe.subject]:[]],from:vf.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=Or({resolver:e,tag:r,zodSchemasAsTypes:Fe(a)});return de(e,"acl")({caslAbilityTupleImport:s,modelsImports:c,includeNamespace:e.options.tsNamespaces,namespace:G({type:"acl",tag:r,options:e.options}),endpoints:n})}o(MP,"generateAcl");function DP(e,t){let r={bindings:[xe.pureAbility,...t.length===0?[xe.subject,xe.abilityTuple]:[]],from:vf.from},n=qS({tags:t,entityName:Po,getAliasEntityName:Aa,type:"acl",options:e.options}),i=t.map(a=>G({type:"acl",tag:a,options:e.options}));return de(e,"app-acl")({caslAbilityTupleImport:r,imports:n,allAbilities:Po,appAbilities:Eo,includeNamespace:e.options.tsNamespaces,tags:t,namespaces:i,abilityTuple:xe.abilityTuple,subject:xe.subject})}o(DP,"generateAppAcl");function LP({resolver:e,data:t,tag:r=""}){var b;let n=(b=t.get(r))==null?void 0:b.endpoints;if(!n||n.length===0)return;let i={bindings:[fo],from:LS(e.options)},s=e.options.axiosRequestConfig,a=s,c={bindings:s?[xt]:[],from:la.from},u=e.options.parseRequestParams,l=n.reduce((P,E)=>[...P,...E.parameters],[]),f=l.filter(P=>!["Path","Header"].includes(P.type)).map(P=>P.parameterSortingEnumSchemaName??P.zodSchema),p=n.map(P=>P.response),d=Fe([...p,...u?f:[]]),m=d.some(P=>!pe(P)),g=e.options.parseRequestParams&&f.length>0,y={bindings:[Ot.name],from:US(e.options)},v=Or({resolver:e,tag:r,zodSchemas:d.filter(pe),zodSchemasAsTypes:Fe(l.map(P=>P.zodSchema).filter(pe))});return de(e,"endpoints")({appRestClientImport:i,hasAxiosImport:a,axiosImport:c,hasZodImport:m,zodImport:ri,hasZodExtendedImport:g,zodExtendedImport:y,modelsImports:v,includeNamespace:e.options.tsNamespaces,namespace:G({type:"endpoints",tag:r,options:e.options}),restClientName:fo,hasAxiosRequestConfig:s,axiosRequestConfigName:hr,axiosRequestConfigType:xt,endpoints:n,generateParse:u})}o(LP,"generateEndpoints");function FP(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(HP(n)).map(i=>e.getZodSchemaNameByRef(i)):[]}o(FP,"getZodSchemaRefs");function HP(e){return e.children.reduce((r,n)=>{let i=n.ref??n.enumRef;return i&&r.add(i),n.children.length>0&&HP(n).forEach(s=>r.add(s)),r},new Set)}o(HP,"getSchemaRefs");function VP({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,...FP(e,f)],[]).filter(l=>!n[l]),s=Or({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:wS(p),schemaObj:e.getZodSchemaObj(f)}}},{});return de(e,"models")({zodImport:ri,modelsImports:s,includeNamespace:e.options.tsNamespaces,namespace:G({type:"models",tag:r,options:e.options}),tag:r,zodSchemasData:a})}o(VP,"generateModels");function BP({resolver:e,data:t,tag:r=""}){var R;let n=(R=t.get(r))==null?void 0:R.endpoints;if(!n||n.length===0)return;let i=e.options.axiosRequestConfig,s=n.some(({mediaUpload:K})=>K),a=i||s,c={defaultImport:s?sf:void 0,bindings:i?[xt]:[],from:la.from},u=n.filter(we),l=u.filter(K=>ai(K)),f=n.filter(Ct),p={bindings:[...u.length>0?[ft.query]:[],...e.options.infiniteQueries&&l.length>0?[ft.infiniteQuery]:[],...f.length>0?[ft.mutation]:[]],from:sS.from},d=e.options.mutationEffects,m={bindings:[nf],from:HS(e.options)},g=d&&f.length>0,y={bindings:[...f.length>0?[ti.optionsType,ti.hookName]:[]],from:VS(e.options)},v=e.options.checkAcl&&n.some(K=>K.acl),S={bindings:[Er],from:BS(e.options)},b={bindings:[...u.length>0?[Xs.query]:[],...e.options.infiniteQueries&&l.length>0?[Xs.infiniteQuery]:[],...f.length>0?[Xs.mutation]:[]],from:FS(e.options)},P=n.reduce((K,oe)=>[...K,...oe.parameters],[]),E=Or({resolver:e,tag:r,zodSchemasAsTypes:Fe(P.map(K=>K.zodSchema).filter(pe))}),_=jS({tag:r,endpoints:n,options:e.options});return de(e,"queries")({hasAxiosImport:a,axiosImport:c,queryImport:p,hasMutationEffects:d,queryModulesImport:m,hasMutationEffectsImport:g,mutationEffectsImport:y,hasAclCheck:v,aclCheckImport:S,queryTypesImport:b,modelsImports:E,endpointsImports:_,includeNamespace:e.options.tsNamespaces,tag:r,namespace:G({type:"queries",tag:r,options:e.options}),queriesModuleName:vo,queryModuleEnum:nf,endpoints:n,queryEndpoints:u})}o(BP,"generateQueries");function UP(e){return de(e,"acl-check")({abilityContextImport:{...Jv,from:e.options.abilityContextImportPath},appAbilitiesImport:{bindings:[Eo],from:GS()},errorHandlingImport:{...ea,from:e.options.errorHandlingImportPath},abilityContext:rf,appAbilities:Eo,errorHandler:mr.ErrorHandler,sharedErrorHandler:mr.SharedErrorHandler,aclCheckHook:Er})}o(UP,"generateAclCheck");function GP(e){return de(e,"app-rest-client")({appRestClientName:fo,baseUrl:e.getBaseUrl()})}o(GP,"generateAppRestClient");function ZP({resolver:e,data:t}){let r=[];return t.forEach((i,s)=>{var c;let a=(c=t.get(s))==null?void 0:c.endpoints;!a||a.length===0||r.push({tag:s,namespace:G({type:"queries",tag:s,options:e.options})})}),de(e,"query-modules")({modules:r})}o(ZP,"generateQueryModules");function zP(e){return de(e,"zod")({zodImport:ri,zodExtension:Ot.name,sortingString:Ot.properties.sortingString,parse:Ot.properties.parse,errorHandler:mr.ErrorHandler,sharedErrorHandler:mr.SharedErrorHandler,errorHandlingImport:{...ea,from:e.options.errorHandlingImportPath}})}o(zP,"generateZod");function KP(e,t){return t.options.acl?[{fileName:Wt({output:t.options.output,fileName:nn(ha)}),content:DP(t,e)},...t.options.checkAcl?[{fileName:Wt({output:t.options.output,fileName:nn(ga)}),content:UP(t)}]:[]]:[]}o(KP,"getAclFiles");function QP(e,t){return t.options.mutationEffects?[...JP([Xv,ia],t),{fileName:Wt({output:t.options.output,fileName:nn(na)}),content:ZP({resolver:t,data:e})}]:[]}o(QP,"getMutationEffectsFiles");function WP(e){return e.options.standalone?[...JP(Object.values(ta),e),{fileName:Wt({output:e.options.output,fileName:nn(ra)}),content:GP(e)}]:[]}o(WP,"getStandaloneFiles");function YP(e,t){if(!Array.from(e.values()).some(({endpoints:i})=>i.some(s=>s.parameters.some(a=>a.parameterSortingEnumSchemaName))))return[];let n=zP(t);return n?[{fileName:Wt({output:t.options.output,fileName:nn(oa)}),content:n}]:[]}o(YP,"getZodExtendedFiles");function JP(e,t){return e.reduce((r,n)=>[...r,S3(n,t)],[])}o(JP,"getAssetFiles");function S3(e,t){let r=nn(e);return{fileName:Wt({output:t.options.output,fileName:r}),content:wP(r)}}o(S3,"getAssetFile");function XP(e,t){let r=t.standalone&&t.importPath==="ts"?"relative":t.importPath,n={...go,...t,importPath:r},{resolver:i,data:s}=Oa(e,n),a=[],c=[],u=["models","endpoints","queries","acl"],l={models:VP,endpoints:LP,queries:BP,acl:MP};return s.forEach((f,p)=>{u.forEach(d=>{let m=l[d]({resolver:i,data:s,tag:p});if(m){let g=Wt({output:n.output,fileName:DS({tag:p,type:d,options:n})});a.push({fileName:g,content:m}),d==="acl"&&c.push(p)}})}),a.push(...KP(c,i),...QP(s,i),...YP(s,i),...WP(i)),a}o(XP,"generateCodeFromOpenAPIDoc");async function b3({input:e,options:t}){let r={...go,...t},n=await _d.default.bundle(e);return await Tb(n,r)}o(b3,"getGenerateMetadata");async function _3({input:e,options:t}){let r={...go,...t},n=await _d.default.bundle(e);return XP(n,r)}o(_3,"getGenerateFilesData");0&&(module.exports={getGenerateFilesData,getGenerateMetadata});
77
+ *`))}o(Dq,"registerAddAsteriskAfterNewLineHelper");function Lq(){zo.default.registerHelper("jsonStringify",e=>JSON.stringify(e,null,2))}o(Lq,"registerJsonStringifyHelper");var Ir=et(Qt());function RP(e){Fq(),Hq(e.options),Uq(e),Vq(),Bq(),Gq(e),Zq()}o(RP,"registerEndpointsHbsHelpers");function Fq(){Ir.default.registerHelper("endpointName",Ao)}o(Fq,"registerEndpointNameHelper");function Hq(e){Ir.default.registerHelper("importedEndpointName",t=>KS(t,e))}o(Hq,"registerImportedEndpointNameHelper");function Vq(){Ir.default.registerHelper("endpointPath",QS)}o(Vq,"registerEndpointPathHelper");function Bq(){Ir.default.registerHelper("endpointBody",e=>e.parameters.find(t=>t.type==="Body"))}o(Bq,"registerEndpointBodyHelper");function Uq(e){Ir.default.registerHelper("endpointParams",(t,r)=>xr(e,t,r.hash))}o(Uq,"registerEndpointParamsHelper");function Gq(e){Ir.default.registerHelper("endpointArgs",(t,r)=>xr(e,t,r.hash).map(n=>n.name).join(", "))}o(Gq,"registerEndpointArgsHelper");function Zq(){Ir.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&&Oe(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&&Oe(i.schema)&&(n=i.schema))}if(n){let f=Oo(n);t.push(...f)}return i!=null&&i.example&&t.push(`Example: \`${i.example}\``),t.join(". ")})}o(Zq,"registerEndpointParamDescriptionHelper");var Te=et(Qt());function NP(e){zq(),Kq(),Qq(),Wq(e),Yq(),Jq(e),Xq(e),e3(e),t3(e),r3(e),n3(),i3(),o3(),s3()}o(NP,"registerPartialsHbsHelpers");function zq(){Te.default.registerHelper("genModelJsDocs",(e,t,r)=>Re("model-js-docs")({name:e,zodSchema:t,tag:r}))}o(zq,"registerGenerateModelJsDocsHelper");function Kq(){Te.default.registerHelper("genImport",e=>Re("import")({import:e}))}o(Kq,"registerImportHelper");function Qq(){Te.default.registerHelper("genEndpointParams",(e,t)=>Re("endpoint-params")({endpoint:e,options:t}))}o(Qq,"registerGenerateEndpointParamsHelper");function Wq(e){Te.default.registerHelper("genEndpointConfig",t=>{let r=WS(t),n=e.options.axiosRequestConfig;return Object.keys(r).length===0?n?hr:"":Re("endpoint-config")({endpointConfig:r,hasAxiosRequestConfig:n,hasBlobResponse:t.response===sa,hasFileDownload:t.mediaDownload,axiosRequestConfigName:hr,generateParse:e.options.parseRequestParams})})}o(Wq,"registerGenerateEndpointConfigHelper");function Yq(){Te.default.registerHelper("genEndpointParamParse",(e,t)=>{var r;return Re("endpoint-param-parse")({param:e,paramName:t,isQuery:e.type==="Query",zodExtended:Ot.name,sortingString:Ot.properties.sortingString,parse:Ot.properties.parse,addOptional:!((r=e.parameterObject??e.bodyObject)!=null&&r.required)&&(e.parameterSortingEnumSchemaName||pe(e.zodSchema))})})}o(Yq,"registerGenerateEndpointParamParseHelper");function Jq(e){Te.default.registerHelper("genQueryKeys",t=>t.length===0?"":Re("query-keys")({queryEndpoints:t,queriesModuleName:vo,generateInfiniteQueries:e.options.infiniteQueries}))}o(Jq,"registerGenerateQueryKeysHelper");function Xq(e){Te.default.registerHelper("genQuery",t=>{if(!we(t))return;let r=e.options.axiosRequestConfig,n=e.options.checkAcl&&t.acl;return Re("query-use-query")({endpoint:t,queryHook:ft.query,hasQueryFn:xr(e,t).length>0||r||n,hasQueryFnBody:n,hasAxiosRequestConfig:r,axiosRequestConfigName:hr,axiosRequestConfigType:xt,hasAclCheck:n,aclCheckHook:Er})})}o(Xq,"registerGenerateQueryHelper");function e3(e){Te.default.registerHelper("genMutation",(t,r)=>{if(!Ct(t))return;let n=YS(t,r),i=JS(e,t,n),s=e.options.checkAcl&&t.acl;return Re("query-use-mutation")({endpoint:t,queryHook:ft.mutation,queriesModuleName:vo,hasAxiosRequestConfig:e.options.axiosRequestConfig,hasMutationFnBody:t.mediaUpload||s,axiosRequestConfigName:hr,axiosRequestConfigType:xt,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:ti.optionsType,updateQueryEndpoints:n,destructuredVariables:i,hasAclCheck:s,aclCheckHook:Er})})}o(e3,"registerGenerateMutationHelper");function t3(e){Te.default.registerHelper("genInfiniteQuery",t=>{if(!e.options.infiniteQueries||!ai(t))return;let r=e.options.checkAcl&&t.acl;return Re("query-use-infinite-query")({endpoint:t,infiniteQueryHook:ft.infiniteQuery,hasQueryFnBody:r,pageParamName:ca.pageParamName,totalItemsName:ca.totalItemsName,limitParamName:ca.limitParamName,hasAxiosRequestConfig:e.options.axiosRequestConfig,axiosRequestConfigName:hr,axiosRequestConfigType:xt,hasAclCheck:r,aclCheckHook:Er})})}o(t3,"registerGenerateInfiniteQueryHelper");function r3(e){Te.default.registerHelper("genQueryJsDocs",(t,r)=>Re("query-js-docs")({endpoint:t,query:r.hash.query,mutation:r.hash.mutation,infiniteQuery:r.hash.infiniteQuery,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:ti.optionsType}))}o(r3,"registerGenerateQueryJsDocsHelper");function n3(){Te.default.registerHelper("genCaslAbilityType",e=>Re("casl-ability-type")({endpoint:e,abilityTupleType:xe.abilityTuple}))}o(n3,"registerGenerateCaslAbilityTypeHelper");function i3(){Te.default.registerHelper("genCaslAbilityFunction",e=>Re("casl-ability-function")({endpoint:e}))}o(i3,"registerGenerateCaslAbilityFunctionHelper");function o3(){Te.default.registerHelper("genCaslAbilityQuery",e=>Re("casl-ability-query")({endpoint:e}))}o(o3,"registerGenerateCaslAbilityQueryHelper");function s3(){Te.default.registerHelper("genAclCheckParams",e=>{var i;let t=(i=Co(e))==null?void 0:i.map(s=>s.name),r=e.parameters.map(s=>s.name),n=t==null?void 0:t.every(s=>r.includes(s));return Re("acl-check-params")({endpoint:e,generateAclCheckParams:xa(e)&&n})})}o(s3,"registerGenerateAclCheckParamsHelper");var bi=et(Qt());function CP(){a3(),u3(),l3(),c3(),p3()}o(CP,"registerQueryHbsHelpers");function a3(){bi.default.registerHelper("queryName",(e,t)=>ba(e,t.hash.mutation))}o(a3,"registerQueryNameHelper");function c3(){bi.default.registerHelper("infiniteQueryName",XS)}o(c3,"registerInfiniteQueryNameHelper");function u3(){bi.default.registerHelper("isQuery",we)}o(u3,"registerIsQueryHelper");function l3(){bi.default.registerHelper("isMutation",Ct)}o(l3,"registerIsMutationHelper");function p3(){bi.default.registerHelper("isInfiniteQuery",e=>ai(e))}o(p3,"registerIsInfiniteQueryHelper");var mn=et(Qt());function kP(e){f3(e.options),d3(e),m3(e),h3(),g3(),y3(e)}o(kP,"registerZodHbsHelpers");function f3(e){mn.default.registerHelper("zodInferedType",t=>xo(t,e))}o(f3,"registerInferedTypeHelper");function d3(e){mn.default.registerHelper("importedZodSchemaName",t=>TS(e,t))}o(d3,"registerImportedZodSchemaNameHelper");function m3(e){mn.default.registerHelper("importedZodSchemaInferedType",t=>$r(e,t))}o(m3,"registerImportedZodSchemaInferedTypeHelper");function h3(){mn.default.registerHelper("zodSchemaType",e=>RS(e))}o(h3,"registerZodSchemaTypeHelper");function g3(){mn.default.registerHelper("zodSchemaDescription",e=>NS(e))}o(g3,"registerZodSchemaDescriptionHelper");function y3(e){mn.default.registerHelper("zodSchemaPropertyDescriptions",(t,r)=>kS(e,t,r))}o(y3,"registerZodSchemaPropertyDescriptionsHelper");var jP=et(Qt());function qP(){v3()}o(qP,"registerImportsHbsHelpers");function v3(){jP.default.registerHelper("importNames",(e,t)=>[...t?[t]:[],...e?[`{ ${e.join(", ")} }`]:[]].join(", "))}o(v3,"registerBindingsHelper");function de(e,t){let r=Sd(t);return TP(),qP(),kP(e),RP(e),CP(),IP(),NP(e),bd.default.compile(r)}o(de,"getHbsTemplateDelegate");function Re(e){let t=Sd(`partials/${e}`);return bd.default.compile(t)}o(Re,"getHbsPartialTemplateDelegate");function MP({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:[xe.abilityTuple,...i?[xe.forcedSubject,xe.subject]:[]],from:vf.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=Or({resolver:e,tag:r,zodSchemasAsTypes:Fe(a)});return de(e,"acl")({caslAbilityTupleImport:s,modelsImports:c,includeNamespace:e.options.tsNamespaces,namespace:G({type:"acl",tag:r,options:e.options}),endpoints:n})}o(MP,"generateAcl");function DP(e,t){let r={bindings:[xe.pureAbility,...t.length===0?[xe.subject,xe.abilityTuple]:[]],from:vf.from},n=qS({tags:t,entityName:Po,getAliasEntityName:Aa,type:"acl",options:e.options}),i=t.map(a=>G({type:"acl",tag:a,options:e.options}));return de(e,"app-acl")({caslAbilityTupleImport:r,imports:n,allAbilities:Po,appAbilities:Eo,includeNamespace:e.options.tsNamespaces,tags:t,namespaces:i,abilityTuple:xe.abilityTuple,subject:xe.subject})}o(DP,"generateAppAcl");function LP({resolver:e,data:t,tag:r=""}){var b;let n=(b=t.get(r))==null?void 0:b.endpoints;if(!n||n.length===0)return;let i={bindings:[fo],from:LS(e.options)},s=e.options.axiosRequestConfig,a=s,c={bindings:s?[xt]:[],from:la.from},u=e.options.parseRequestParams,l=n.reduce((P,E)=>[...P,...E.parameters],[]),f=l.filter(P=>!["Path","Header"].includes(P.type)).map(P=>P.parameterSortingEnumSchemaName??P.zodSchema),p=n.map(P=>P.response),d=Fe([...p,...u?f:[]]),m=d.some(P=>!pe(P)),g=e.options.parseRequestParams&&f.length>0,y={bindings:[Ot.name],from:US(e.options)},v=Or({resolver:e,tag:r,zodSchemas:d.filter(pe),zodSchemasAsTypes:Fe(l.map(P=>P.zodSchema).filter(pe))});return de(e,"endpoints")({appRestClientImport:i,hasAxiosImport:a,axiosImport:c,hasZodImport:m,zodImport:ri,hasZodExtendedImport:g,zodExtendedImport:y,modelsImports:v,includeNamespace:e.options.tsNamespaces,namespace:G({type:"endpoints",tag:r,options:e.options}),restClientName:fo,hasAxiosRequestConfig:s,axiosRequestConfigName:hr,axiosRequestConfigType:xt,endpoints:n,generateParse:u})}o(LP,"generateEndpoints");function FP(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(HP(n)).map(i=>e.getZodSchemaNameByRef(i)):[]}o(FP,"getZodSchemaRefs");function HP(e){return e.children.reduce((r,n)=>{let i=n.ref??n.enumRef;return i&&r.add(i),n.children.length>0&&HP(n).forEach(s=>r.add(s)),r},new Set)}o(HP,"getSchemaRefs");function VP({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,...FP(e,f)],[]).filter(l=>!n[l]),s=Or({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:wS(p),schemaObj:e.getZodSchemaObj(f)}}},{});return de(e,"models")({zodImport:ri,modelsImports:s,includeNamespace:e.options.tsNamespaces,namespace:G({type:"models",tag:r,options:e.options}),tag:r,zodSchemasData:a})}o(VP,"generateModels");function BP({resolver:e,data:t,tag:r=""}){var R;let n=(R=t.get(r))==null?void 0:R.endpoints;if(!n||n.length===0)return;let i=e.options.axiosRequestConfig,s=n.some(({mediaUpload:K})=>K),a=i||s,c={defaultImport:s?sf:void 0,bindings:i?[xt]:[],from:la.from},u=n.filter(we),l=u.filter(K=>ai(K)),f=n.filter(Ct),p={bindings:[...u.length>0?[ft.query]:[],...e.options.infiniteQueries&&l.length>0?[ft.infiniteQuery]:[],...f.length>0?[ft.mutation]:[]],from:sS.from},d=e.options.mutationEffects,m={bindings:[nf],from:HS(e.options)},g=d&&f.length>0,y={bindings:[...f.length>0?[ti.optionsType,ti.hookName]:[]],from:VS(e.options)},v=e.options.checkAcl&&n.some(K=>K.acl),S={bindings:[Er],from:BS(e.options)},b={bindings:[...u.length>0?[Xs.query]:[],...e.options.infiniteQueries&&l.length>0?[Xs.infiniteQuery]:[],...f.length>0?[Xs.mutation]:[]],from:FS(e.options)},P=n.reduce((K,oe)=>[...K,...oe.parameters],[]),E=Or({resolver:e,tag:r,zodSchemasAsTypes:Fe(P.map(K=>K.zodSchema).filter(pe))}),_=jS({tag:r,endpoints:n,options:e.options});return de(e,"queries")({hasAxiosImport:a,axiosImport:c,queryImport:p,hasMutationEffects:d,queryModulesImport:m,hasMutationEffectsImport:g,mutationEffectsImport:y,hasAclCheck:v,aclCheckImport:S,queryTypesImport:b,modelsImports:E,endpointsImports:_,includeNamespace:e.options.tsNamespaces,tag:r,namespace:G({type:"queries",tag:r,options:e.options}),queriesModuleName:vo,queryModuleEnum:nf,endpoints:n,queryEndpoints:u})}o(BP,"generateQueries");function UP(e){return de(e,"acl-check")({abilityContextImport:{...Jv,from:e.options.abilityContextImportPath},appAbilitiesImport:{bindings:[Eo],from:GS()},errorHandlingImport:{...ea,from:e.options.errorHandlingImportPath},abilityContext:rf,appAbilities:Eo,errorHandler:mr.ErrorHandler,sharedErrorHandler:mr.SharedErrorHandler,aclCheckHook:Er})}o(UP,"generateAclCheck");function GP(e){return de(e,"app-rest-client")({appRestClientName:fo,baseUrl:e.getBaseUrl()})}o(GP,"generateAppRestClient");function ZP({resolver:e,data:t}){let r=[];return t.forEach((i,s)=>{var c;let a=(c=t.get(s))==null?void 0:c.endpoints;!a||a.length===0||r.push({tag:s,namespace:G({type:"queries",tag:s,options:e.options})})}),de(e,"query-modules")({modules:r})}o(ZP,"generateQueryModules");function zP(e){return de(e,"zod")({zodImport:ri,zodExtension:Ot.name,sortingString:Ot.properties.sortingString,parse:Ot.properties.parse,errorHandler:mr.ErrorHandler,sharedErrorHandler:mr.SharedErrorHandler,errorHandlingImport:{...ea,from:e.options.errorHandlingImportPath}})}o(zP,"generateZod");function KP(e,t){return t.options.acl?[{fileName:Wt({output:t.options.output,fileName:nn(ha)}),content:DP(t,e)},...t.options.checkAcl?[{fileName:Wt({output:t.options.output,fileName:nn(ga)}),content:UP(t)}]:[]]:[]}o(KP,"getAclFiles");function QP(e,t){return t.options.mutationEffects?[...JP([Xv,ia],t),{fileName:Wt({output:t.options.output,fileName:nn(na)}),content:ZP({resolver:t,data:e})}]:[]}o(QP,"getMutationEffectsFiles");function WP(e){return e.options.standalone?[...JP(Object.values(ta),e),{fileName:Wt({output:e.options.output,fileName:nn(ra)}),content:GP(e)}]:[]}o(WP,"getStandaloneFiles");function YP(e,t){return t.options.parseRequestParams?[{fileName:Wt({output:t.options.output,fileName:nn(oa)}),content:zP(t)}]:[]}o(YP,"getZodExtendedFiles");function JP(e,t){return e.reduce((r,n)=>[...r,S3(n,t)],[])}o(JP,"getAssetFiles");function S3(e,t){let r=nn(e);return{fileName:Wt({output:t.options.output,fileName:r}),content:wP(r)}}o(S3,"getAssetFile");function XP(e,t){let r=t.standalone&&t.importPath==="ts"?"relative":t.importPath,n={...go,...t,importPath:r},{resolver:i,data:s}=Oa(e,n),a=[],c=[],u=["models","endpoints","queries","acl"],l={models:VP,endpoints:LP,queries:BP,acl:MP};return s.forEach((f,p)=>{u.forEach(d=>{let m=l[d]({resolver:i,data:s,tag:p});if(m){let g=Wt({output:n.output,fileName:DS({tag:p,type:d,options:n})});a.push({fileName:g,content:m}),d==="acl"&&c.push(p)}})}),a.push(...KP(c,i),...QP(s,i),...YP(s,i),...WP(i)),a}o(XP,"generateCodeFromOpenAPIDoc");async function b3({input:e,options:t}){let r={...go,...t},n=await _d.default.bundle(e);return await Tb(n,r)}o(b3,"getGenerateMetadata");async function _3({input:e,options:t}){let r={...go,...t},n=await _d.default.bundle(e);return XP(n,r)}o(_3,"getGenerateFilesData");0&&(module.exports={getGenerateFilesData,getGenerateMetadata});