@povio/openapi-codegen-cli 2.0.0-rc.3 → 2.0.0

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/README.md CHANGED
@@ -1,9 +1,11 @@
1
1
  # OpenAPI code generation CLI
2
2
 
3
- **NOTE:** This CLI tool is primarily designed for use within our organization. The generated code output aligns with our internal template. If you are using this tool without our internal template, make sure to use it in **standalone** mode.
3
+ **NOTE:** This CLI tool is primarily designed for use within our organization. The generated code output aligns with our internal template.
4
4
 
5
5
  **NOTE:** Version 1+ requires zod v4 and is not compatible with zod v3.
6
6
 
7
+ **NOTE:** Version 2+ includes supporting classes/types/components for the generated code as well as auth, therefore it has peerDependencies for @casl/ability, @casl/react, @tanstack/react-query, axios, react and zod.
8
+
7
9
  Use this tool to generate code (Zod schemas, TypeScript types, API definitions, and React queries) from an OpenAPI v3 specification. API definitions are generated to use a REST client wrapper that utilizes Axios. React queries are generated in alignment with our code standards, without the need for explicit types.
8
10
 
9
11
  The tool partially leverages code from [openapi-zod-client](https://github.com/astahmer/openapi-zod-client) repository.
@@ -20,12 +22,6 @@ yarn add @povio/openapi-codegen-cli
20
22
  yarn openapi-codegen generate --input http://localhost:3001/docs-json
21
23
  ```
22
24
 
23
- #### Standalone mode
24
-
25
- ```bash
26
- yarn openapi-codegen generate --input http://localhost:3001/docs-json --standalone
27
- ```
28
-
29
25
  ## Configuration Files
30
26
 
31
27
  The CLI supports TypeScript configuration files to simplify command execution and provide consistent settings with full type safety. Configuration files are automatically discovered in your project root.
@@ -100,8 +96,7 @@ yarn openapi-codegen generate --config my-config.ts
100
96
 
101
97
  --builderConfigs Generate configs for builders (default: false)
102
98
 
103
- --standalone Generate any missing supporting classes/types, e.g., REST client class, React Query type extensions, etc. (default: false)
104
- --baseUrl (Requires `--standalone`) Base URL for the REST client; falls back to the OpenAPI spec if not provided
99
+ --baseUrl (Requires `--restClientImportPath` to NOT be set) Base URL for the generated REST client; falls back to the OpenAPI spec if not provided
105
100
  ```
106
101
 
107
102
  #### Check command (checks if OpenAPI spec is compliant)
@@ -145,6 +140,52 @@ yarn start:dist generate --input ./test/petstore.yaml --verbose
145
140
 
146
141
  ## Common Issues
147
142
 
143
+ ### App REST Client Interceptors
144
+
145
+ In order to add interceptors to the used REST client, you must create your own instance of a RestClient and pass your implemented interceptors into the constructor. Make sure to set `restClientImportPath` in your openapi generation configuration too.
146
+
147
+ ```ts
148
+ import { RestInterceptor } from "@povio/openapi-codegen-cli";
149
+
150
+ import { ACCESS_TOKEN_KEY } from "@/config/jwt.config";
151
+
152
+ export const AuthorizationHeaderInterceptor = new RestInterceptor((client) => {
153
+ return client.interceptors.request.use(async (config) => {
154
+ const accessToken = localStorage.getItem(ACCESS_TOKEN_KEY);
155
+ if (accessToken != null) {
156
+ config.headers.Authorization = `Bearer ${accessToken}`;
157
+ }
158
+
159
+ return config;
160
+ });
161
+ });
162
+ ```
163
+
164
+ ```ts
165
+ import { RestClient } from "@povio/openapi-codegen-cli";
166
+
167
+ import { AuthorizationHeaderInterceptor } from "@/clients/rest/interceptors/authorization-header.interceptor";
168
+ import { AppConfig } from "@/config/app.config";
169
+
170
+ export const AppRestClient = new RestClient({
171
+ config: {
172
+ baseURL: AppConfig.api.url,
173
+ },
174
+ interceptors: [AuthorizationHeaderInterceptor],
175
+ });
176
+ ```
177
+
178
+ ```ts
179
+ import type { OpenAPICodegenConfig } from "@povio/openapi-codegen-cli";
180
+
181
+ const config: OpenAPICodegenConfig = {
182
+ restClientImportPath: "@/clients/app-rest-client",
183
+ // ...
184
+ };
185
+
186
+ export default config;
187
+ ```
188
+
148
189
  ### Enums
149
190
 
150
191
  If you're using Enums in your backend DTOs with `@Expose()` and `@IsEnum`, they may still not appear correctly in the OpenAPI schema unless you also provide both `enum` **and** `enumName` to `@ApiProperty`.
package/dist/generator.js CHANGED
@@ -74,4 +74,4 @@ Expecting `+Dt.join(", ")+", got '"+(this.terminals_[P]||P)+"'":ls="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(QN({schema:e,meta:t,options:r}),r.withDefaultValues!==!1?WN(e):[]).filter(Boolean).join(".");return i?`.${i}`:""}o(kt,"getZodChain");function QN({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(QN,"getZodChainablePresence");function WN(e){return e.default!==void 0?`default(${$e(e.type).with("number","integer",()=>ob(e.default)).otherwise(()=>JSON.stringify(e.default))})`:""}o(WN,"getZodChainableDefault");function YN(e){let t=[];return 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(${JN(e.pattern)})`),t.join(".")}o(YN,"getZodChainableStringValidations");function JN(e){return e.startsWith("/")&&e.endsWith("/")&&(e=e.slice(1,-1)),e=sb(e),`/${e}/`}o(JN,"formatPatternIfNeeded");function XN(e){let t=[];return e.enum?"":(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(XN,"getZodChainableNumberValidations");function ek(e){let t=[];return e.minItems&&t.push(`min(${e.minItems})`),e.maxItems&&t.push(`max(${e.maxItems})`),t.join(".")}o(ek,"getZodChainableArrayValidations");var Sn=o(e=>e.reduce((t,r)=>t+r,0),"sum");function le(e,t){if(!t)return e;if(L(t))return e+2;if(Array.isArray(t.type))return t.type.length===1?Be("oneOf")+le(e,{...t,type:t.type[0]}):e+Be("oneOf")+Sn(t.type.map(r=>le(0,{...t,type:r})));if(t.oneOf)return t.oneOf.length===1?Be("oneOf")+le(e,t.oneOf[0]):e+Be("oneOf")+Sn(t.oneOf.map(r=>le(0,r)));if(t.anyOf)return t.anyOf.length===1?Be("anyOf")+le(e,t.anyOf[0]):e+Be("anyOf")+Sn(t.anyOf.map(r=>le(0,r)));if(t.allOf)return t.allOf.length===1?Be("allOf")+le(e,t.allOf[0]):e+Be("allOf")+Sn(t.allOf.map(r=>le(0,r)));if(!t.type)return e;if(zt(t.type))return t.enum?e+Fb(t)+Be("enum")+Sn(t.enum.map(r=>le(0,r))):e+Fb(t);if(t.type==="array")return t.items?Be("array")+le(e,t.items):Be("array")+le(e);if(t.type==="object"||t.properties||t.additionalProperties){if(t.properties){let r=Object.values(t.properties);e+=Be("object")+Sn(r.map(n=>le(0,n)))}else e+=Be("empty-object");t.additionalProperties&&(typeof t.additionalProperties=="object"?e+=le(0,t.additionalProperties):e+=le(1))}return e}o(le,"getOpenAPISchemaComplexity");function Fb(e){return $e(e.type).with("string","number","integer","boolean",()=>1).otherwise(()=>0)}o(Fb,"complexityByType");function Be(e){return $e(e).with("oneOf",()=>2).with("anyOf",()=>3).with("allOf",()=>2).with("enum","array","empty-object",()=>1).with("object",()=>2).otherwise(()=>0)}o(Be,"complexityByComposite");var Zf=class Zf{constructor(t,r,n={referencedBy:[]},i){this.schema=t;this.resolver=r;L(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?`${V({type:"models",tag:i,options:r})}.${n}`:n}get complexity(){return le(0,this.schema)}assign(t){return this.code=t,this}inherit(t){return t&&t.children.push(this),this}};o(Zf,"ZodSchema");var Zo=Zf;function Uf(e){var t,r;if(e)return(t=e.parent)!=null&&t.ref?e.parent.ref:Uf((r=e.parent)==null?void 0:r.meta)}o(Uf,"getParentRef");function Hb(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(Ha(n)).map(i=>e.getZodSchemaNameByRef(i)):[]}o(Hb,"getZodSchemaRefs");function Ha(e,{skipObjectSchema:t=!1}={}){return e.children.reduce((n,i)=>{let s=i.ref??i.enumRef;return s&&n.add(s),i.children.length>0&&(!t||!he(i.schema)||i.schema.type!=="object")&&Ha(i).forEach(a=>n.add(a)),n},new Set)}o(Ha,"getSchemaRefs");function X({schema:e,resolver:t,meta:r,tag:n}){var g;let i=new Zo(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(L(e))return tk({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});let c=nk({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(c)return c;let u=rk({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(u)return u;let l=ik({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(l)return l;let f=ok({schema:e,zodSchema:i,resolver:t,meta:s,tag:n});if(f)return f;let p=sk({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(${X({...a,schema:e.items}).getCodeString(n,t.options)}${kt({schema:e.items,meta:{...s,isRequired:!0},options:t.options})})${d}`):i.assign(`z.array(${fi})${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,S=t.options.withImplicitRequiredProps?!1:e.properties&&!((g=e.required)!=null&&g.length),v="{}";e.properties&&(v=`{ ${Object.entries(e.properties).map(([w,I])=>{var Dt;let Y={...s,isRequired:S?!0:y?(Dt=e.required)==null?void 0:Dt.includes(w):t.options.withImplicitRequiredProps,name:w,isParentPartial:S},Q=I;if(L(I)&&t&&(Q=t.getSchemaByRef(I.$ref),!Q))throw new Error(`Schema ${I.$ref} not found`);let j=X({...a,schema:I,meta:Y}),A=j.getCodeString(n,t.options)+kt({schema:Q,meta:Y,options:t.options}),ce=!1,Mt=Uf(r);return Mt&&(ce=[...L(I)?[I.$ref]:[],...Ha(j,{skipObjectSchema:!0})].some(Ze=>{var Qd;return(Qd=t.dependencyGraph.deepDependencyGraph[Ze])==null?void 0:Qd.has(Mt)})),[w,A,ce]}).map(([w,I,Y])=>Y?`get ${kf(w)}() { return ${I} }`:`${kf(w)}: ${I}`).join(", ")} }`);let b="";e.additionalProperties&&(b=`.catchall(${typeof e.additionalProperties=="object"&&Object.keys(e.additionalProperties).length>0?X({...a,schema:e.additionalProperties}).getCodeString(n,t.options)+kt({schema:e.additionalProperties,meta:{...s,isRequired:!0},options:t.options}):fi})`);let P=`z.object(${v})${S?".partial()":""}${b}${d}`;return i.assign(P)}if(m==="any")return i.assign(fi);if(!m)return i.assign("z.unknown()");throw new Error(`Unsupported schema type: ${m}`)}o(X,"getZodSchema");function tk({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!L(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=X({schema:u,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)}return r.getCodeByZodSchemaName(a)||r.setZodSchema(a,c,i),t}o(tk,"getReferenceZodSchema");function rk({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){var a;if(!he(e)||!e.oneOf)return;if(e.oneOf.length===1){let c=X({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=>he(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=>X({schema:u,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])
76
76
  `)}return t.assign(`z.union([${e.oneOf.map(c=>X({schema:c,resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(rk,"getOneOfZodSchema");function nk({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!(!he(e)||!Array.isArray(e.type)))return e.type.length===1?X({schema:{...e,type:e.type[0]},resolver:r,meta:n,tag:i}):t.assign(`z.union([${e.type.map(s=>X({schema:{...e,type:s},resolver:r,meta:n,tag:i}).getCodeString(i,r.options)).join(", ")}])`)}o(nk,"getArrayZodSchema");function ik({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!he(e)||!e.anyOf)return;if(e.anyOf.length===1){let a=X({schema:e.anyOf[0],resolver:r,meta:n,tag:i});return t.assign(a.getCodeString(i,r.options))}let s=e.anyOf.map(a=>X({schema:a,resolver:r,meta:n,tag:i})).map(a=>a.getCodeString(i,r.options)).join(", ");return t.assign(`z.union([${s}])`)}o(ik,"getAnyOfZodSchema");function ok({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!he(e)||!e.allOf)return;if(e.allOf.length===1){let p=X({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}=Jv(e),u=a.map(p=>{let d=X({schema:p,resolver:r,meta:n,tag:i});return r&&s(p,r.getSchemaByRef.bind(r)),d});c.required.length&&u.push(X({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(ok,"getAllOfZodSchema");function sk({schema:e,zodSchema:t,resolver:r,meta:n,tag:i}){if(!he(e))return;let s=e.type?e.type.toLowerCase():void 0;if(s&&zt(s)){if(e.enum){if(s==="string")return ak({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($e(s).with("integer",()=>$e(e.type).with("integer",()=>Rv).otherwise(()=>Nv)).with("string",()=>$e(e.format).with("binary",()=>ga).with("email",()=>kv).with("hostname","uri",()=>jv).with("uuid",()=>qv).with("date-time",()=>Mv).otherwise(()=>ya)).otherwise(a=>`z.${a}()`))}}o(sk,"getPrimitiveZodSchema");function ak({resolver:e,schema:t,zodSchema:r,meta:n,tag:i}){var l;if(!he(t))return;let s=Pi(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 Zo({$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?`${V({type:"models",tag:c.tag,options:e.options})}.`:"";return r.assign(`${u}${c.zodSchemaName}`)}o(ak,"getEnumZodSchema");function Pi(e){var t;return`${To}([${(t=e.enum)==null?void 0:t.map(r=>r===null?"null":`"${r}"`).join(", ")}])`}o(Pi,"getEnumZodSchemaCode");function Vb(e){return`${To}([${e.map(t=>`"${t}"`).join(", ")}])`}o(Vb,"getEnumZodSchemaCodeFromEnumNames");function Oi({schema:e,zodSchema:t,fallbackName:r,resolver:n,tag:i}){var c;let s=t.getCodeString();if((!ne(s)||t.ref===void 0)&&r){if(t.complexity<Cf)return s;let u=pn(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 le(0,n.getSchemaByRef(t.ref))<Cf?n.getCodeByZodSchemaName(s):s;if(t.ref)return n.getZodSchemaNameByRef(t.ref);throw new Error(`Invalid ref: ${t.ref}`)}o(Oi,"resolveZodSchemaName");function vn(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)&&(r[n]=e[n])}),r}o(vn,"pick");var zf=["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"];function $i(e,t){let r=e.deprecated&&!t.withDeprecatedEndpoints,n=Ar(e,t),i=ub(n,t);return r||i}o($i,"isOperationExcluded");function Kf({path:e,method:t,operation:r,options:n,tag:i,keepOperationTag:s,keepOperationPrefix:a}){let c=`${t}${ab(e)}`,u=r.operationId?wt(r.operationId):c;if(n.removeOperationPrefixEndingWith&&a)u=u.split(n.removeOperationPrefixEndingWith).map((f,p)=>p===0?f:B(f)).join("");else if(n.removeOperationPrefixEndingWith&&!a){let l=new RegExp(`^.*${n.removeOperationPrefixEndingWith}`);u=u.replace(l,"")}if(n.tsNamespaces&&!s){let l=Hv(u,i);l===""?u=t.toLowerCase():zf.includes(l)||(u=l)}return zf.includes(u)?c:u}o(Kf,"getOperationName");function zo({operationsByTag:e,...t}){let{operation:r,options:n}=t,i=n.splitByTags?Ar(r,n):n.defaultTag,s=o(a=>{let c=Kf({...t,tag:i,keepOperationTag:a});if(e[i].filter(l=>Kf({...t,operation:l,tag:i,keepOperationTag:a})===c).length===1)return c},"operationName");return s()??s(!0)??Kf({...t,tag:i,keepOperationTag:!0,keepOperationPrefix:!0})}o(zo,"getUniqueOperationName");function Bb(e,t,r){let n=[];for(let i in e.paths){if(ln(i,r))continue;let s=e.paths[i],a=vn(s,cn);for(let c in a){let u=a[c];if(!u||$i(u,r))continue;let l=zo({path:i,method:c,operation:u,operationsByTag:t,options:r});n.push(l)}}return n}o(Bb,"getUniqueOperationNamesWithoutSplitByTags");function Gb(e,t){let r={};for(let n in e.paths){if(ln(n,t))continue;let i=e.paths[n],s=vn(i,cn);for(let a in s){let c=s[a];if(!c||$i(c,t))continue;let u=t.splitByTags?Ar(c,t):t.defaultTag;r[u]||(r[u]=[]),r[u].push(c)}}return r}o(Gb,"getOperationsByTag");var Ub={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"};function Ko(e){return{type:"invalid-schema",message:e}}o(Ko,"getInvalidSchemaError");function Zb(e){return{type:"invalid-operation-id",message:`Operation ${e}`}}o(Zb,"getInvalidOperationIdError");function zb(e,t){return{type:"missing-path-parameter",message:`Path ${t} is missing [${e.map(({name:r})=>r).join(", ")}]`}}o(zb,"getMissingPathParameterError");function Kb(e){return{type:"not-allowed-inline-enum",message:`${e} is missing @IsEnum() and @ApiProperty(enum:, enumName:)`}}o(Kb,"getNotAllowedInlineEnumError");function Qb(e,t,r){return{type:"missing-acl-condition-property",message:`Condition property ${e} is not found in parameters or body in operation ${Ba(t,r)}`}}o(Qb,"getMissingAclConditionPropertyError");function Qf(e,t,r){return{type:"missing-status-code",message:`Missing HTTP status code ${Va(e)} in operation ${Ba(t,r)}`}}o(Qf,"getMissingStatusCodeError");function Wb(e,t,r){return{type:"invalid-status-code",message:`Operation ${Ba(t,r)} expected HTTP status code ${Va(e.expected)} but received ${Va(e.received)}`}}o(Wb,"getInvalidStatusCodeError");function Yb(e,t,r){return{type:"multiple-success-status-codes",message:`Operation ${Ba(t,r)} has multiple success HTTP status codes: ${e.map(Va).join(", ")}`}}o(Yb,"getMultipleSuccessStatusCodesError");function Ba(e,t){return e.operationId??`${t.method} ${t.path}`}o(Ba,"getOperationDescriptor");function Va(e){return`${e} (${Ub[e]})`}o(Va,"getStatusCodeDescription");function Jb({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=ck({resolver:e,endpoint:t,acl:n,name:c});return u?[...a,u]:(e.validationErrors.push(Qb(c,r,t)),a)},[]);return{...i,conditionsTypes:s}})}o(Jb,"getEndpointAcl");function ck({resolver:e,endpoint:t,acl:r,name:n}){var p,d,m,g,y,S,v,b,E,P;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} ${vr(f.type)} parameter`,l++;else{let _=t.parameters.find(({bodyObject:Y})=>!!Y),I=Object.keys(((y=_==null?void 0:_.bodyObject)==null?void 0:y.content)??{}).find(Xe);I&&(a=(b=(v=(S=_==null?void 0:_.bodyObject)==null?void 0:S.content)==null?void 0:v[I])==null?void 0:b.schema,u=`${Le(t)?"query":"mutation"} data`)}for(;a&&l<s.length;){let _=e.resolveObject(a);a=(E=Object.entries(_.properties??{}).find(([I])=>I===s[l]))==null?void 0:E[1],c=((P=_.required)==null?void 0:P.includes(s[l]))??!1,l++}if(a)return{name:n,type:L(a)?void 0:a.type,zodSchemaName:L(a)?e.getZodSchemaNameByRef(a.$ref):void 0,required:c,info:u}}o(ck,"getEndpointAclConditionPropertyType");function Xb({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(Xe);if(!c)return;let u=(g=(m=s.content)==null?void 0:m[c])==null?void 0:g.schema;if(!u)return;let l=X({schema:u,resolver:e,meta:{isRequired:s.required??!0},tag:i}),f=e.resolveObject(u),p=Oi({schema:f,zodSchema:l,fallbackName:Ma(fn(r,n,i)),resolver:e,tag:i}),d=kt({schema:f,meta:l.meta,options:e.options});return{endpointParameter:{name:_a,type:"Body",description:s.description,zodSchema:p+d,bodyObject:s},requestFormat:c}}o(Xb,"getEndpointBody");function e_({resolver:e,param:t,operationName:r,isUniqueOperationName:n,tag:i}){let s=e.resolveObject(t);if(!tb.includes(s.in))return;let a={};if(s.content){let m=Object.keys(s.content??{}),g=m.find(Xe);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=mb(fn(r,n,i),s.name),u;if(Aa(s)){let m=Ho(c,e.options.enumSuffix,e.options.schemaSuffix),g=Vb(s["x-enumNames"]);e.setZodSchema(m,g,i),u=m}let l=X({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=Oi({schema:f,zodSchema:l.assign(l.getCodeString(i)+p),fallbackName:c,resolver:e,tag:i});return{name:$e(s.in).with("path",()=>jf(s.name)).otherwise(()=>s.name),type:$e(s.in).with("header",()=>"Header").with("query",()=>"Query").with("path",()=>"Path").run(),zodSchema:d,parameterObject:s,parameterSortingEnumSchemaName:u}}o(e_,"getEndpointParameter");function r_(e){var r,n,i,s,a;let t=[];for(let c in e.openApiDoc.paths){if(ln(c,e.options))continue;let u=e.openApiDoc.paths[c],l=vn(u,cn),f=t_(u.parameters??[]);for(let p in l){let d=l[p];if(!d||$i(d,e.options))continue;let m=d.operationId&&d.operationId!==wt(d.operationId);d.operationId&&m&&e.validationErrors.push(Zb(d.operationId));let g=Object.entries({...f,...t_(d.parameters??[])}).map(([,_])=>_),y=zo({path:c,method:p,operation:d,operationsByTag:e.operationsByTag,options:e.options}),S=e.operationNames.filter(_=>_===y).length<=1,v=Ar(d,e.options),b={method:p,path:cb(c),operationName:y,description:d.description,summary:d.summary,tags:(r=d.tags)==null?void 0:r.map(Kt),requestFormat:an,parameters:[],response:"",errors:[],responseStatusCodes:[],mediaUpload:!!d["x-media-upload"],mediaDownload:!!d["x-media-download"]};if(d.requestBody){let _=Xb({resolver:e,operation:d,operationName:y,isUniqueOperationName:S,tag:v});_&&(b.parameters.push(_.endpointParameter),b.requestFormat=_.requestFormat)}for(let _ of g){let w=e_({resolver:e,param:_,operationName:y,isUniqueOperationName:S,tag:v});w&&b.parameters.push(w)}let E=uk(b);E.forEach(_=>{b.parameters.push(_)}),E.length>0&&e.validationErrors.push(zb(E,c));for(let _ in d.responses){b.responseStatusCodes.push(_);let w=e.resolveObject(d.responses[_]),Y=Object.keys(w.content??{}).find(gi),Q,j;if(Y?(b.responseFormat=Y,Q=(i=(n=w.content)==null?void 0:n[Y])==null?void 0:i.schema):(j=Io,_==="200"&&e.validationErrors.push(Wb({received:"200",expected:"204"},d,b))),Q){let A=X({schema:Q,resolver:e,meta:{isRequired:!0},tag:v}),ce=e.resolveObject(Q);j=Oi({schema:ce,zodSchema:A,fallbackName:A.ref?void 0:Da({statusCode:_,operationName:y,isUniqueOperationName:S,tag:v}),resolver:e,tag:v})+kt({schema:ce,meta:A.meta,options:e.options})}if(j){let A=Number(_);ko(A)&&!b.response?(b.response=j,b.responseObject=w,b.responseDescription=w.description):_!=="default"&&xa(A)&&b.errors.push({zodSchema:j,status:A,description:w.description})}}b.response||(b.response=Io);let P=Object.keys(d.responses).map(Number).filter(ko);P.length>1&&e.validationErrors.push(Yb(P.map(String),d,b)),b.acl=Jb({resolver:e,endpoint:b,operation:d}),(s=d.security)!=null&&s[0].Authorization&&!b.responseStatusCodes.includes("401")&&e.validationErrors.push(Qf("401",d,b)),(a=b.acl)!=null&&a[0]&&!b.responseStatusCodes.includes("403")&&e.validationErrors.push(Qf("403",d,b)),t.push(b)}}return t}o(r_,"getEndpointsFromOpenAPIDoc");function t_(e){return Object.fromEntries((e??[]).map(t=>[L(t)?t.$ref:t.name,t]))}o(t_,"getParameters");function uk(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=>lk(r))}o(uk,"getMissingPathParameters");function lk(e){return{name:e,type:"Path",zodSchema:ya,parameterObject:{name:e,required:!0,in:"path",schema:{type:"string"}}}}o(lk,"getPathParameterFromName");function n_(e,t){let r=pk(e,t),n=fk(e,r);return{refsDependencyGraph:r,deepDependencyGraph:n}}o(n_,"getOpenAPISchemaDependencyGraph");function pk(e,t){let r={},n={};return e.forEach(i=>dk({schema:t(i),fromRef:i,getSchemaByRef:t,visitedRefs:r,refsDependencyGraph:n})),n}o(pk,"getRefsDependencyGraph");function fk(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(fk,"getDeepRefsDependencyGraph");function dk({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,Te(r(c.$ref),{data:{fromRef:c.$ref},onSchema:s})},"onSchema");return Te(e,{data:{fromRef:t},onSchema:s}),{visitedRefs:n,refsDependencyGraph:i}}o(dk,"getSchemaRefsDependencyGraph");function Ga(e,t,r){let n=[];return Te(t,{onSchema:o(s=>{s.type==="reference"?n.push(s.schema):L(s.parentSchema)&&(s.type==="property"?e.validationErrors.push(Ko(`${r} has both reference and properties`)):s.type==="additionalProperties"?e.validationErrors.push(Ko(`${r} has both reference and additionalProperties`)):s.type==="array"?e.validationErrors.push(Ko(`${r} is both reference and array schema`)):s.type==="composite"&&e.validationErrors.push(Ko(`${r} has both reference and composite keyword`)))},"onSchema")}),n}o(Ga,"getSchemaRefObjs");function i_(e,t){return t.map(i=>un(i.$ref)).reduce((i,s)=>{let a=e.dependencyGraph.deepDependencyGraph[s];return[...i,s,...Array.from(a??[])]},[])}o(i_,"getDeepSchemaRefObjs");function o_(e){e.extractedEnumZodSchemaData.forEach(r=>{let n=r.meta.zodSchemaNameSegments.map(s=>s[s.length-1]).filter(Boolean),i=_f(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&&!Wf(e);)mk(e,t+2),t++;if(Wf(e)||e.extractedEnumZodSchemaData.filter(n=>!s_(e,n)).forEach(n=>{n.zodSchemaName=Ho(n.meta.zodSchemaNameSegments[0].map(i=>Yf(B(i))).join(""),e.options.enumSuffix,e.options.schemaSuffix)}),!Wf(e))throw new Error("Failed to resolve unique names for enum zod schemas")}o(o_,"resolveExtractedEnumZodSchemaNames");function Wf(e){return e.extractedEnumZodSchemaData.every(t=>s_(e,t))}o(Wf,"allExtractedEnumZodSchemaNamesAreUnique");function mk(e,t){e.extractedEnumZodSchemaData.forEach(r=>{let n=e.extractedEnumZodSchemaData.filter(({zodSchemaName:i})=>r.zodSchemaName===i);n.length!==1&&hk(n,t)})}o(mk,"additionalResolveExtractedEnumZodSchemaName");function hk(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=[Yf(B(n[0])),r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=i}else{let i=_f(n),s=[i?Yf(B(i)):"",r.zodSchemaName].filter(Boolean).join("");r.zodSchemaName=s}})}o(hk,"suffixWithPreviousSegmentName");function s_(e,t){return e.extractedEnumZodSchemaData.filter(({zodSchemaName:r})=>t.zodSchemaName===r).length===1}o(s_,"isUnique");function Yf(e){return e.replace(/(Dto|DTO|Response|Request)/g,"")}o(Yf,"sanitizeName");function a_(e){e.extractedEnumZodSchemaData.forEach(t=>{let r=Ve(t.meta.tags);t.tag=r.length===1?r[0]:e.options.defaultTag})}o(a_,"resolveExtractedEnumZodSchemaTags");function Qo({schema:e,nameSegments:t=[],includeSelf:r,...n}){r&&c_({schema:e,nameSegments:t,...n}),Te(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),c_({schema:s.schema,nameSegments:[...a],...n})},"onSchema")})}o(Qo,"updateExtractedEnumZodSchemaData");function c_({resolver:e,schema:t,schemaRef:r,schemaInfo:n,tags:i,nameSegments:s=[]}){if(!t||L(t)||!t.enum)return;let a=Pi(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(Kb(r?`${hi(r)}.${s[s.length-1]}`:n??s.join(".")))}o(c_,"handleExtractedEnumZodSchemaDataUpdate");function u_(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=pn(i,e.options.schemaSuffix);if(t[c])return;let u=e.getTagByZodSchemaName(c),l=e.resolveObject(s);l.enum?r[c]=Pi(l):t[c]=X({schema:s,resolver:e,tag:u}).getCodeString(u)}),{zodSchemas:t,enumZodSchemas:r}}o(u_,"getZodSchemasFromOpenAPIDoc");function l_(e){var r;let t=[];return Object.entries(((r=e.openApiDoc.components)==null?void 0:r.schemas)??{}).forEach(([n,i])=>{let s=pn(n,e.options.schemaSuffix),a=e.resolveObject(i);!t.find(c=>c.zodSchemaName===s)&&a.enum&&t.push({zodSchemaName:s,code:Pi(a)})}),t}o(l_,"getEnumZodSchemasFromOpenAPIDoc");var Jf=class Jf{constructor(t,r){this.openApiDoc=t;this.options=r;this.dependencyGraph=n_(this.schemaRefs,this.getSchemaByRef.bind(this)),this.enumZodSchemas=l_(this),this.operationsByTag=Gb(t,r),this.operationNames=Bb(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(ib)}getSchemaByRef(t){return this.docSchemas[hi(t)]}getSchemaDataByName(t){return this.schemaData.find(r=>r.name===t)}getZodSchemaNameByRef(t){var n,i;let r=((n=this.getSchemaDataByRef(un(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 Kt(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=Ve(i,s),c=a.length===1?a[0]:this.options.defaultTag;return Kt(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 L(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=un(a),u=hi(c),l=pn(u,this.options.schemaSuffix);this.schemaData.push({ref:c,name:u,zodSchemaName:l,tags:[],deepRefOperations:[]})});for(let a in this.openApiDoc.paths){if(ln(a,this.options))continue;let c=this.openApiDoc.paths[a],u=vn(c,cn);for(let l in u){let f=u[l];if(!f||$i(f,this.options))continue;let p=Ar(f,this.options),d=zo({path:a,method:l,operation:f,operationsByTag:this.operationsByTag,options:this.options}),m=this.operationNames.filter(v=>v===d).length<=1,g=me(fn(d,m,p)),y=[];if((t=f.parameters)==null||t.map(v=>{let b=v,E=b.schema,P=`Operation ${f.operationId??a} parameter ${b.name}`;y.push(...Ga(this,E,P)),this.options.extractEnums&&Qo({resolver:this,schema:E,schemaInfo:P,tags:[p],nameSegments:[g,b.name],includeSelf:!0})}),f.requestBody){let v=this.resolveObject(f.requestBody),E=Object.keys(v.content??{}).find(Xe);if(E){let P=(n=(r=v.content)==null?void 0:r[E])==null?void 0:n.schema,_=`Operation ${f.operationId} request body`;y.push(...Ga(this,P,_)),this.options.extractEnums&&Qo({resolver:this,schema:P,schemaInfo:_,tags:[p],nameSegments:[Ma(g)]})}}for(let v in f.responses){let b=this.resolveObject(f.responses[v]),P=Object.keys(b.content??{}).find(gi);if(P){let _=(s=(i=b.content)==null?void 0:i[P])==null?void 0:s.schema,w=`Operation ${f.operationId} response body`;y.push(...Ga(this,_,w)),this.options.extractEnums&&Qo({resolver:this,schema:_,schemaInfo:w,tags:[p],nameSegments:[Da({statusCode:v,operationName:d,isUniqueOperationName:m,tag:p})]})}}i_(this,y).forEach(v=>{let b=this.getSchemaDataByRef(v);b&&(b.tags.push(p),b.deepRefOperations.push(f))})}}this.options.extractEnums&&(this.schemaRefs.forEach(a=>{var u;let c=un(a);Qo({resolver:this,schema:this.getSchemaByRef(c),schemaRef:c,tags:((u=this.getSchemaDataByRef(c))==null?void 0:u.tags)??[],nameSegments:[hi(c)]})}),a_(this),this.handleDuplicateEnumZodSchemas(),o_(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(Jf,"SchemaResolver");var Ua=Jf;function p_(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(p_,"topologicalSort");function f_(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(f_,"sortObjKeysFromArray");function d_(e,t){let r=p_(e.dependencyGraph.deepDependencyGraph).map(i=>e.getZodSchemaNameByRef(i));return f_(t,r)}o(d_,"sortZodSchemasByTopology");function Za(e,t){let r=new Ua(e,t),n=r_(r),i=u_(r),s={...i.zodSchemas,...r.getZodSchemas(),...i.enumZodSchemas};return s=d_(r,s),s={...r.getExtractedEnumZodSchemas(),...s},{resolver:r,data:gk({resolver:r,endpoints:n,zodSchemas:s,options:t})}}o(Za,"getDataFromOpenAPIDoc");function gk({resolver:e,endpoints:t,zodSchemas:r,options:n}){let i=new Map;return n.splitByTags?(t.forEach(s=>{let a=De(s,n);m_(a,i).endpoints.push(s)}),Object.entries(r).forEach(([s,a])=>{let c=e.getTagByZodSchemaName(s);c&&(m_(c,i).zodSchemas[s]=a)}),i):(i.set(n.defaultTag,{endpoints:t,zodSchemas:r}),i)}o(gk,"splitDataByTags");function m_(e,t){return t.has(e)||t.set(e,{endpoints:[],zodSchemas:{}}),t.get(e)}o(m_,"getTagElement");async function h_(e,t){let{resolver:r,data:n}=await Za(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=_i({zodSchemaName:f,schema:d,resolver:r}),g;d&&(g=gn({schema:d,parentTypes:[m],resolver:r})),i.push({...m,metaType:"primitive",...g})}),c.forEach(f=>{let p="queries",d=Kt(l);s.push({name:mn(f),importPath:bi({type:p,tag:d,includeTagDir:!0,options:t}),namespace:t.tsNamespaces?V({type:p,tag:d,options:t}):void 0,isQuery:Le(f),isMutation:Nt(f),params:yk({resolver:r,endpoint:f}),response:Sk({resolver:r,endpoint:f})})})}),{openApiDoc:e,models:i,queries:s}}o(h_,"getMetadataFromOpenAPIDoc");function yk({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(Xe);p&&(n=e.resolveObject((u=(c=r.bodyObject.content)==null?void 0:c[p])==null?void 0:u.schema))}let i=_i({zodSchemaName:r.zodSchema,schema:n,resolver:e}),s;return n&&(s=gn({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(yk,"getQueryMetadataParams");function Sk({resolver:e,endpoint:t}){var a,c,u,l;let r,n=Object.keys(((a=t.responseObject)==null?void 0:a.content)??{}).find(gi);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=_i({zodSchemaName:t.response,schema:r,resolver:e}),s;return r&&(s=gn({schema:r,parentTypes:[i],resolver:e})),{...i,metaType:"primitive",...s}}o(Sk,"getQueryMetadataResponse");var Zd=Re(Xt());var Gd=Re(require("fs")),sP=Re(require("path"));function aP(e){return Gd.default.readFileSync(sP.default.join(__dirname,`../${e}`),"utf-8")}o(aP,"readFileSync");function Ud(e){let t=`src/generators/templates/${e}.hbs`;return aP(t)}o(Ud,"readHbsTemplateSync");function cP(e){let t=`src/assets/${e}`;return aP(t)}o(cP,"readAssetSync");function er({output:e,fileName:t}){return`${e}/${t}`}o(er,"getOutputFileName");var tr=Re(Xt());function uP(e){lq(),pq(e.options),fq(),dq(),mq(),hq(),gq(),yq()}o(uP,"registerAclHbsHelpers");function lq(){tr.default.registerHelper("abilityFunctionName",Do)}o(lq,"registerAbilityFunctionNameHelper");function pq(e){tr.default.registerHelper("importedAbilityFunctionName",t=>qa(t,e))}o(pq,"registerImportedAbilityFunctionNameHelper");function fq(){tr.default.registerHelper("ablityAction",Ff)}o(fq,"registerAbilityActionHelper");function dq(){tr.default.registerHelper("ablitySubject",Hf)}o(dq,"registerAbilitySubjectHelper");function mq(){tr.default.registerHelper("hasAbilityConditions",Lo)}o(mq,"registerHasAbilityConditionsHelper");function hq(){tr.default.registerHelper("abilityConditionsTypes",Si)}o(hq,"registerAbilityConditionsTypesHelper");function gq(){tr.default.registerHelper("abilityDescription",pb)}o(gq,"registerAbilityDescriptionHelper");function yq(){tr.default.registerHelper("abilitySubjectTypes",Vf)}o(yq,"registerAbilitySubjectTypesHelper");var xn=Re(Xt());function lP(){Sq(),vq(),bq(),_q(),Eq(),Pq()}o(lP,"registerCommonHbsHelpers");function Sq(){xn.default.registerHelper("isEqual",(e,t)=>e===t)}o(Sq,"registerIsEqualHelper");function vq(){xn.default.registerHelper("commaSeparated",e=>e.join(", "))}o(vq,"registerCommaSeparatedListHelper");function bq(){xn.default.registerHelper("union",e=>e.join(" | "))}o(bq,"registerUnionHelper");function _q(){xn.default.registerHelper("addAsteriskAfterNewLine",e=>e.replace(/\n/g,`
77
- *`))}o(_q,"registerAddAsteriskAfterNewLineHelper");function Eq(){xn.default.registerHelper("jsonStringify",e=>JSON.stringify(e,null,2))}o(Eq,"registerJsonStringifyHelper");function Pq(){xn.default.registerHelper("capitalize",B)}o(Pq,"registerCapitalizeHelper");var qr=Re(Xt());function pP(e){Oq(),$q(e.options),wq(e),xq(),Aq(),Iq(e),Tq()}o(pP,"registerEndpointsHbsHelpers");function Oq(){qr.default.registerHelper("endpointName",Go)}o(Oq,"registerEndpointNameHelper");function $q(e){qr.default.registerHelper("importedEndpointName",t=>Nb(t,e))}o($q,"registerImportedEndpointNameHelper");function xq(){qr.default.registerHelper("endpointPath",qb)}o(xq,"registerEndpointPathHelper");function Aq(){qr.default.registerHelper("endpointBody",Rr)}o(Aq,"registerEndpointBodyHelper");function wq(e){qr.default.registerHelper("endpointParams",(t,r)=>Nr(e,t,r.hash))}o(wq,"registerEndpointParamsHelper");function Iq(e){qr.default.registerHelper("endpointArgs",(t,r)=>Nr(e,t,r.hash).map(n=>n.name).join(", "))}o(Iq,"registerEndpointArgsHelper");function Tq(){qr.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&&he(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(Xe);p&&(i=e.bodyObject.content[p],i.schema&&he(i.schema)&&(n=i.schema))}if(n){let f=Vo(n);t.push(...f)}return i!=null&&i.example&&t.push(`Example: \`${i.example}\``),t.join(". ")})}o(Tq,"registerEndpointParamDescriptionHelper");var fP=Re(Xt());function dP(){Cq()}o(dP,"registerImportsHbsHelpers");function Cq(){fP.default.registerHelper("importNames",(e,t)=>[...t?[t]:[],...e?[`{ ${e.join(", ")} }`]:[]].join(", "))}o(Cq,"registerBindingsHelper");var pe=Re(Xt());var gt={query:"useQuery",infiniteQuery:"useInfiniteQuery",mutation:"useMutation"},mP={bindings:[gt.query,gt.infiniteQuery,gt.mutation],from:"@tanstack/react-query"},us="moduleName";function hP(e){Rq(),Nq(),kq(),jq(e),qq(e),Mq(),Dq(e),Lq(e),Fq(e),Hq(e),Vq(e),Bq(),Gq(),Uq(),Zq(),zq(),Kq()}o(hP,"registerPartialsHbsHelpers");function Rq(){pe.default.registerHelper("genModelJsDocs",(e,t,r)=>Se("model-js-docs")({name:e,zodSchema:t,tag:r}))}o(Rq,"registerGenerateModelJsDocsHelper");function Nq(){pe.default.registerHelper("genImport",e=>Se("import")({import:e}))}o(Nq,"registerImportHelper");function kq(){pe.default.registerHelper("genEndpointParams",(e,t)=>Se("endpoint-params")({endpoint:e,options:t}))}o(kq,"registerGenerateEndpointParamsHelper");function jq(e){pe.default.registerHelper("hasUndefinedEndpointBody",t=>kb(t)&&!Rr(t)&&jb(t,e))}o(jq,"registerHasUndefinedEndpointBodyHelper");function qq(e){pe.default.registerHelper("genEndpointConfig",t=>{let r=Gf(t),n=e.options.axiosRequestConfig;return Object.keys(r).length===0?n?_r:"":Se("endpoint-config")({endpointConfig:r,hasAxiosRequestConfig:n,hasBlobResponse:t.response===ga,hasFileDownload:t.mediaDownload,axiosRequestConfigName:_r,generateParse:e.options.parseRequestParams})})}o(qq,"registerGenerateEndpointConfigHelper");function Mq(){pe.default.registerHelper("genEndpointParamParse",(e,t)=>{var r;return Se("endpoint-param-parse")({param:e,paramName:t,isQuery:e.type==="Query",zodExtendedNamespace:et.namespace,parse:et.exports.parse,sortExp:et.exports.sortExp,addOptional:!((r=e.parameterObject??e.bodyObject)!=null&&r.required)&&(e.parameterSortingEnumSchemaName||ne(e.zodSchema))})})}o(Mq,"registerGenerateEndpointParamParseHelper");function Dq(e){pe.default.registerHelper("genQueryKeys",t=>t.length===0?"":Se("query-keys")({queryEndpoints:t,queriesModuleName:us,generateInfiniteQueries:e.options.infiniteQueries}))}o(Dq,"registerGenerateQueryKeysHelper");function Lq(e){pe.default.registerHelper("genQuery",t=>{if(!Le(t))return;let r=e.options.axiosRequestConfig,n=e.options.checkAcl&&t.acl;return Se("query-use-query")({endpoint:t,queryHook:gt.query,hasQueryFn:Nr(e,t).length>0||r||n,hasQueryFnBody:n,hasAxiosRequestConfig:r,axiosRequestConfigName:_r,axiosRequestConfigType:At,hasAclCheck:n,aclCheckHook:wr})})}o(Lq,"registerGenerateQueryHelper");function Fq(e){pe.default.registerHelper("genMutation",(t,r)=>{if(!Nt(t))return;let n=Mb(t,r),i=Db(e,t,n),s=e.options.checkAcl&&t.acl;return Se("query-use-mutation")({endpoint:t,queryHook:gt.mutation,queriesModuleName:us,hasAxiosRequestConfig:e.options.axiosRequestConfig,hasMutationFnBody:t.mediaUpload||s,axiosRequestConfigName:_r,axiosRequestConfigType:At,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:yi.optionsType,updateQueryEndpoints:n,destructuredVariables:i,hasAclCheck:s,aclCheckHook:wr})})}o(Fq,"registerGenerateMutationHelper");function Hq(e){pe.default.registerHelper("genInfiniteQuery",t=>{if(!e.options.infiniteQueries||!Ei(t,e.options))return;let r=e.options.checkAcl&&t.acl;return Se("query-use-infinite-query")({endpoint:t,infiniteQueryHook:gt.infiniteQuery,hasQueryFnBody:r,pageParamName:e.options.infiniteQueryResponseParamNames.page,totalItemsName:e.options.infiniteQueryResponseParamNames.totalItems,limitParamName:e.options.infiniteQueryResponseParamNames.limit,hasAxiosRequestConfig:e.options.axiosRequestConfig,axiosRequestConfigName:_r,axiosRequestConfigType:At,hasAclCheck:r,aclCheckHook:wr})})}o(Hq,"registerGenerateInfiniteQueryHelper");function Vq(e){pe.default.registerHelper("genQueryJsDocs",(t,r)=>Se("query-js-docs")({endpoint:t,query:r.hash.query,mutation:r.hash.mutation,infiniteQuery:r.hash.infiniteQuery,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:yi.optionsType}))}o(Vq,"registerGenerateQueryJsDocsHelper");function Bq(){pe.default.registerHelper("genCaslAbilityType",e=>Se("casl-ability-type")({endpoint:e,abilityTuple:ge.abilityTuple}))}o(Bq,"registerGenerateCaslAbilityTypeHelper");function Gq(){pe.default.registerHelper("genCaslAbilityFunction",e=>Se("casl-ability-function")({endpoint:e}))}o(Gq,"registerGenerateCaslAbilityFunctionHelper");function Uq(){pe.default.registerHelper("genCaslAbilityQuery",e=>Se("casl-ability-query")({endpoint:e}))}o(Uq,"registerGenerateCaslAbilityQueryHelper");function Zq(){pe.default.registerHelper("genAclCheckCall",e=>{var i;let t=(i=Si(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 Se("acl-check-call")({endpoint:e,generateAclCheckParams:Lo(e)&&n})})}o(Zq,"registerGenerateAclCheckCallHelper");function zq(){pe.default.registerHelper("genInputsConfig",e=>Se("inputs-config")({inputsConfig:e}))}o(zq,"registerGenerateInputsConfigHelper");function Kq(){pe.default.registerHelper("genColumnsConfig",e=>Se("columns-config")({columnsConfig:e}))}o(Kq,"registerGenerateColumnsConfigHelper");var ji=Re(Xt());function gP(e){Qq(),Yq(),Jq(),Wq(),Xq(e)}o(gP,"registerQueryHbsHelpers");function Qq(){ji.default.registerHelper("queryName",(e,t)=>mn(e,t.hash.mutation))}o(Qq,"registerQueryNameHelper");function Wq(){ji.default.registerHelper("infiniteQueryName",Uo)}o(Wq,"registerInfiniteQueryNameHelper");function Yq(){ji.default.registerHelper("isQuery",Le)}o(Yq,"registerIsQueryHelper");function Jq(){ji.default.registerHelper("isMutation",Nt)}o(Jq,"registerIsMutationHelper");function Xq(e){ji.default.registerHelper("isInfiniteQuery",t=>Ei(t,e.options))}o(Xq,"registerIsInfiniteQueryHelper");var An=Re(Xt());function yP(e){eM(e.options),tM(e),rM(e),nM(),iM(),oM(e)}o(yP,"registerZodHbsHelpers");function eM(e){An.default.registerHelper("zodInferedType",t=>Bo(t,e))}o(eM,"registerInferedTypeHelper");function tM(e){An.default.registerHelper("importedZodSchemaName",t=>dn(e,t))}o(tM,"registerImportedZodSchemaNameHelper");function rM(e){An.default.registerHelper("importedZodSchemaInferedType",t=>Tr(e,t))}o(rM,"registerImportedZodSchemaInferedTypeHelper");function nM(){An.default.registerHelper("zodSchemaType",e=>hb(e))}o(nM,"registerZodSchemaTypeHelper");function iM(){An.default.registerHelper("zodSchemaDescription",e=>gb(e))}o(iM,"registerZodSchemaDescriptionHelper");function oM(e){An.default.registerHelper("zodSchemaPropertyDescriptions",(t,r)=>Sb(e,t,r))}o(oM,"registerZodSchemaPropertyDescriptionsHelper");function ae(e,t){let r=Ud(t);return lP(),dP(),yP(e),pP(e),gP(e),uP(e),hP(e),Zd.default.compile(r)}o(ae,"getHbsTemplateDelegate");function Se(e){let t=Ud(`partials/${e}`);return Zd.default.compile(t)}o(Se,"getHbsPartialTemplateDelegate");function SP({resolver:e,data:t,tag:r}){let n=Bf({resolver:e,data:t,tag:r});if(!n)return;let{hasAdditionalAbilityImports:i,modelsImports:s,endpoints:a}=n,c={bindings:[ge.abilityTuple,...i?[ge.forcedSubject,ge.subject]:[]],from:qf.from};return ae(e,"acl")({caslAbilityTupleImport:c,modelsImports:s,includeNamespace:e.options.tsNamespaces,namespace:V({type:"acl",tag:r,options:e.options}),endpoints:a})}o(SP,"generateAcl");function vP({resolver:e,data:t}){let{appAbilitiesType:r,hasAdditionalAbilityImports:n,modelsImports:i}=fb({resolver:e,data:t}),s={bindings:[ge.pureAbility,ge.abilityTuple,...r?[]:[ge.subjectType],...n?[ge.forcedSubject]:[]],from:qf.from};return ae(e,"app-acl")({caslAbilityTupleImport:s,modelsImports:i,appAbilitiesType:r,appAbilities:jo,abilityTuple:ge.abilityTuple,subjectType:ge.subjectType})}o(vP,"generateAppAcl");var zd="config";function bP({data:e,tag:t,resolver:r}){var S;let n=(S=e.get(t))==null?void 0:S.endpoints;if(!n||n.length===0)return{configs:[]};let i=n.map(v=>({...v,pathSegments:Kv(v.path)})),s=i.filter(v=>Vv(v,r.options)),a=sM(s),c=!1,u=[],l=[],f=[],p=Object.entries(a).map(([v,b])=>{let E=aM(r,b);if(!E)return;l.push(b),f.push(b),E.zodSchema&&(ne(E.zodSchema)?u.push(E.zodSchema):c=!0),E.sortableEnumSchemaName&&u.push(E.sortableEnumSchemaName);let P=b.parameters.find(A=>A.name===r.options.filterParamName);P&&u.push(P.zodSchema);let _={name:v,title:B(Sa(v.replace(/config$/i,""))),readAll:{acl:qi(b,r.options),paginated:yn(b,r.options),infinite:r.options.infiniteQueries?Lb(b,r.options):void 0,filters:Ic(r,P),columns:E.columns}},w=i.find(A=>Bv(A,b));if(w){l.push(w);let A=w.response;ne(A)?(u.push(A),A=dn(r,A)):c=!0,_.read={acl:qi(w,r.options),schema:A,query:yn(w,r.options)}}let I=i.find(A=>Gv(A,b));if(I){l.push(I);let A=Rr(I);A&&u.push(A.zodSchema),_.create={acl:qi(I,r.options),mutation:yn(I,r.options),inputDefs:Ic(r,A)}}let Y=i.find(A=>Uv(A,b));if(Y){l.push(Y);let A=Rr(Y);A&&u.push(A.zodSchema),_.update={acl:qi(Y,r.options),mutation:yn(Y,r.options),inputDefs:Ic(r,A)}}let Q=i.find(A=>Zv(A,b));Q&&(l.push(Q),_.delete={acl:qi(Q,r.options),mutation:yn(Q,r.options)});let j=i.find(A=>zv(A,b));if(j){l.push(j);let A=Rr(j);A&&u.push(A.zodSchema),_.bulkDelete={acl:qi(j,r.options),mutation:yn(j,r.options),inputDefs:Ic(r,A)}}return _}),d=Rt({resolver:r,tag:t,zodSchemas:u}),m=bb({tag:t,endpoints:l,options:r.options}),g=r.options.infiniteQueries?_b({tag:t,endpoints:f,options:r.options}):[],y=La({tag:t,endpoints:l.filter(v=>v.acl),options:r.options});return{configs:p.filter(Boolean),hasZodImport:c,modelsImports:d,queriesImports:Fo(r.options,m,g),aclImports:y}}o(bP,"getBuilderConfigs");function sM(e){let t=e.map(n=>({...n,namePathSegments:n.pathSegments.filter(i=>!di(i))})).sort((n,i)=>n.namePathSegments.length-i.namePathSegments.length),r={};for(let n of t){let i=n.namePathSegments,s=i.length>0?`${Co(i.pop())}${B(zd)}`:zd;for(;r[s];){if(i.length===0)throw new Error(`Can't uniquely resolve builder config name: ${s}`);s=`${Co(i.pop())}${B(s)}`}r[s]=n}return r}o(sM,"resolveBuilderConfigNames");function qi(e,t){return t.acl&&e.acl?qa(e,t):void 0}o(qi,"getAclConfig");function Ic(e,t){var s,a,c;if(!t)return;let r;if(t.type==="Body"?r=(a=(s=t.bodyObject)==null?void 0:s.content[an])==null?void 0:a.schema:r=(c=t.parameterObject)==null?void 0:c.schema,!r)return;let n=e.resolveObject(r),i=Object.keys((n==null?void 0:n.properties)??{}).reduce((u,l)=>({...u,[l]:!0}),{});return{schema:dn(e,t.zodSchema),options:{inputs:i}}}o(Ic,"getInputsConfig");function aM(e,t){var m,g,y;let r=t.responseObject;if(!r)return;let n=(g=(m=r.content)==null?void 0:m[an])==null?void 0:g.schema;if(!n)return;let i=_P(e,n),s=Object.keys(i).filter(S=>e.resolveObject(i[S]).type==="array");s.sort((S,v)=>{let b=e.options.dataResponseParamNames.indexOf(S),E=e.options.dataResponseParamNames.indexOf(v);return b!==-1&&E!==-1?b-E:b!==-1?-1:E!==-1?1:S.localeCompare(v)});let a=s[0];if(!a)return;let c=e.resolveObject(i[a]);if(!c||c.type!=="array")return;let u=c.items,l=e.resolveObject(u);if(!l)return;let f=L(u)?e.getZodSchemaNameByRef(u.$ref):fi,p=Object.keys((l==null?void 0:l.properties)??{}).reduce((S,v)=>({...S,[v]:!0}),{}),d=(y=t.parameters.find(S=>S.parameterObject&&Aa(S.parameterObject)))==null?void 0:y.parameterSortingEnumSchemaName;return{columns:{schema:dn(e,f),options:{columns:p,sortable:d?dn(e,d):void 0}},zodSchema:f,sortableEnumSchemaName:d}}o(aM,"getColumnsConfig");function _P(e,t){let r=e.resolveObject(t);return r.properties?r.properties:"allOf"in r&&r.allOf?r.allOf.reduce((n,i)=>({...n,..._P(e,i)}),{}):{}}o(_P,"getSchemaProperties");function EP(e){let{configs:t,hasZodImport:r,modelsImports:n,queriesImports:i,aclImports:s}=bP(e);if(t.length===0)return;let{resolver:a,tag:c}=e,u=t.some(m=>{var g,y;return m.readAll.filters||((g=m.create)==null?void 0:g.inputDefs)||((y=m.update)==null?void 0:y.inputDefs)}),l={bindings:[Mo.dynamicInputs],from:a.options.dynamicInputsImportPath},f=t.some(m=>m.readAll.columns),p={bindings:[Mo.dynamicColumns],from:a.options.dynamicColumnsImportPath};return ae(a,"configs")({hasZodImport:r,zodImport:Sr,hasDynamicInputsImport:u,dynamicInputsImport:l,hasDynamicColumnsImport:f,dynamicColumnsImport:p,modelsImports:n,queriesImports:i,aclImports:s,includeNamespace:a.options.tsNamespaces,namespace:V({type:"configs",tag:c,options:a.options}),configs:t,dynamicInputs:Mo.dynamicInputs,dynamicColumns:Mo.dynamicColumns})}o(EP,"generateConfigs");function PP({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:[qo],from:Ob(e.options)},s=e.options.axiosRequestConfig,a=s,c={bindings:s?[At]:[],from:Ea.from},u=e.options.parseRequestParams,l=n.reduce((E,P)=>[...E,...P.parameters],[]),f=l.filter(E=>!["Path","Header"].includes(E.type)).map(E=>E.parameterSortingEnumSchemaName??E.zodSchema),p=n.map(E=>E.response),d=Ve([...p,...u?f:[]]),m=d.some(E=>!ne(E)),g=e.options.parseRequestParams&&f.length>0,y={bindings:[et.namespace],from:wb(e.options)},S=Rt({resolver:e,tag:r,zodSchemas:d.filter(ne),zodSchemasAsTypes:Ve(l.map(E=>E.zodSchema).filter(ne))});return ae(e,"endpoints")({appRestClientImport:i,hasAxiosImport:a,axiosImport:c,hasZodImport:m,zodImport:Sr,hasZodExtendedImport:g,zodExtendedImport:y,modelsImports:S,includeNamespace:e.options.tsNamespaces,namespace:V({type:"endpoints",tag:r,options:e.options}),restClientName:qo,hasAxiosRequestConfig:s,axiosRequestConfigName:_r,axiosRequestConfigType:At,endpoints:n,generateParse:u})}o(PP,"generateEndpoints");function OP({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,...Hb(e,f)],[]).filter(l=>!n[l]),s=Rt({resolver:e,tag:r,zodSchemas:i}),a=Object.entries(n).reduce((l,[f,p])=>{let d=e.getZodSchemaObj(f),m={code:p,isEnum:db(p),schemaObj:d};return{...l,[f]:m}},{});return ae(e,"models")({zodImport:Sr,modelsImports:s,includeNamespace:e.options.tsNamespaces,namespace:V({type:"models",tag:r,options:e.options}),tag:r,zodSchemasData:a})}o(OP,"generateModels");function $P({resolver:e,data:t,tag:r}){var Q;let n=(Q=t.get(r))==null?void 0:Q.endpoints;if(!n||n.length===0)return;let i=e.options.axiosRequestConfig,s=n.some(({mediaUpload:j})=>j),a=i||s,c={defaultImport:s?$f:void 0,bindings:i?[At]:[],from:Ea.from},u=n.filter(Le),l=u.filter(j=>Ei(j,e.options)),f=n.filter(Nt),p={bindings:[...u.length>0?[gt.query]:[],...e.options.infiniteQueries&&l.length>0?[gt.infiniteQuery]:[],...f.length>0?[gt.mutation]:[]],from:mP.from},d=e.options.mutationEffects,m={bindings:[Lf],from:$b(e.options)},g=d&&f.length>0,y={bindings:[...f.length>0?[yi.optionsType,yi.hookName]:[]],from:xb(e.options)},S=n.filter(j=>j.acl),v=e.options.checkAcl&&S.length>0,b={bindings:[wr],from:Ab(e.options)},E={bindings:[...u.length>0?[Ca.query]:[],...e.options.infiniteQueries&&l.length>0?[Ca.infiniteQuery]:[],...f.length>0?[Ca.mutation]:[]],from:e.options.queryTypesImportPath},P=n.reduce((j,A)=>[...j,...A.parameters],[]),_=Rt({resolver:e,tag:r,zodSchemasAsTypes:Ve(P.map(j=>j.zodSchema).filter(ne))}),w=vb({tag:r,endpoints:n,options:e.options}),I=La({tag:r,endpoints:S,options:e.options});return ae(e,"queries")({hasAxiosImport:a,axiosImport:c,queryImport:p,hasMutationEffects:d,queryModulesImport:m,hasMutationEffectsImport:g,mutationEffectsImport:y,hasAclCheck:v,aclCheckImport:b,queryTypesImport:E,modelsImports:_,endpointsImports:w,aclImports:I,includeNamespace:e.options.tsNamespaces,tag:r,namespace:V({type:"queries",tag:r,options:e.options}),queriesModuleName:us,queryModuleEnum:Lf,endpoints:n,queryEndpoints:u})}o($P,"generateQueries");function xP(e){return ae(e,"acl-check")({abilityContextImport:lb,appAbilitiesImport:{bindings:[jo],from:Ib(e.options)},errorHandlingImport:Ra,abilityContext:Df,appAbilities:jo,errorHandler:Ir.ErrorHandler,sharedErrorHandler:Ir.SharedErrorHandler,aclCheckHook:wr,hasGenericAppAbilities:e.options.abilityContextGenericAppAbilities})}o(xP,"generateAclCheck");function AP(e){return ae(e,"app-rest-client")({appRestClientName:qo,baseUrl:e.getBaseUrl(),packageImportPath:on})}o(AP,"generateAppRestClient");function wP({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:V({type:"queries",tag:s,options:e.options})})}),ae(e,"query-modules")({modules:r})}o(wP,"generateQueryModules");function IP(e){return ae(e,"zod-extended")({zodImport:Sr,zodExtendedNamespace:et.namespace,parse:et.exports.parse,sortExp:et.exports.sortExp,errorHandler:Ir.ErrorHandler,sharedErrorHandler:Ir.SharedErrorHandler,errorHandlingImport:Ra})}o(IP,"generateZodExtended");function TP(e,t){return t.options.acl?[{fileName:er({output:t.options.output,fileName:hn(wa)}),content:vP({resolver:t,data:e})},...t.options.checkAcl?[{fileName:er({output:t.options.output,fileName:hn(Ia)}),content:xP(t)}]:[]]:[]}o(TP,"getAclFiles");function CP(e,t){return t.options.mutationEffects?[...cM([ka],t),{fileName:er({output:t.options.output,fileName:hn(Na)}),content:wP({resolver:t,data:e})}]:[]}o(CP,"getMutationEffectsFiles");function RP(e,t){return t.options.parseRequestParams?[{fileName:er({output:t.options.output,fileName:hn(ja)}),content:IP(t)}]:[]}o(RP,"getZodExtendedFiles");function NP(e){return e.options.restClientImportPath!==sn.restClientImportPath?[]:[{fileName:er({output:e.options.output,fileName:hn(Ta)}),content:AP(e)}]}o(NP,"getAppRestClientFiles");function cM(e,t){return e.reduce((r,n)=>[...r,uM(n,t)],[])}o(cM,"getAssetFiles");function uM(e,t){let r=hn(e);return{fileName:er({output:t.options.output,fileName:r}),content:cP(r)}}o(uM,"getAssetFile");function kP(e,t){let{resolver:r,data:n}=Za(e,t),i=[],s=[],a=["models","endpoints","queries",...r.options.acl?["acl"]:[],...r.options.builderConfigs?["configs"]:[]],c={models:OP,endpoints:PP,queries:$P,acl:SP,configs:EP};return n.forEach((u,l)=>{a.forEach(f=>{let p=c[f]({resolver:r,data:n,tag:l});if(p){let d=er({output:t.output,fileName:Pb({tag:l,type:f,options:t})});i.push({fileName:d,content:p}),f==="acl"&&s.push(l)}})}),i.push(...TP(n,r),...CP(n,r),...RP(n,r),...NP(r)),i}o(kP,"generateCodeFromOpenAPIDoc");async function lM({input:e,options:t}){let r={...sn,...t},n=await Kd.default.bundle(e);return await h_(n,r)}o(lM,"getGenerateMetadata");async function pM({input:e,options:t}){let r={...sn,...t},n=await Kd.default.bundle(e);return kP(n,r)}o(pM,"getGenerateFilesData");0&&(module.exports={getGenerateFilesData,getGenerateMetadata});
77
+ *`))}o(_q,"registerAddAsteriskAfterNewLineHelper");function Eq(){xn.default.registerHelper("jsonStringify",e=>JSON.stringify(e,null,2))}o(Eq,"registerJsonStringifyHelper");function Pq(){xn.default.registerHelper("capitalize",B)}o(Pq,"registerCapitalizeHelper");var qr=Re(Xt());function pP(e){Oq(),$q(e.options),wq(e),xq(),Aq(),Iq(e),Tq()}o(pP,"registerEndpointsHbsHelpers");function Oq(){qr.default.registerHelper("endpointName",Go)}o(Oq,"registerEndpointNameHelper");function $q(e){qr.default.registerHelper("importedEndpointName",t=>Nb(t,e))}o($q,"registerImportedEndpointNameHelper");function xq(){qr.default.registerHelper("endpointPath",qb)}o(xq,"registerEndpointPathHelper");function Aq(){qr.default.registerHelper("endpointBody",Rr)}o(Aq,"registerEndpointBodyHelper");function wq(e){qr.default.registerHelper("endpointParams",(t,r)=>Nr(e,t,r.hash))}o(wq,"registerEndpointParamsHelper");function Iq(e){qr.default.registerHelper("endpointArgs",(t,r)=>Nr(e,t,r.hash).map(n=>n.name).join(", "))}o(Iq,"registerEndpointArgsHelper");function Tq(){qr.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&&he(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(Xe);p&&(i=e.bodyObject.content[p],i.schema&&he(i.schema)&&(n=i.schema))}if(n){let f=Vo(n);t.push(...f)}return i!=null&&i.example&&t.push(`Example: \`${i.example}\``),t.join(". ")})}o(Tq,"registerEndpointParamDescriptionHelper");var fP=Re(Xt());function dP(){Cq()}o(dP,"registerImportsHbsHelpers");function Cq(){fP.default.registerHelper("importNames",(e,t)=>[...t?[t]:[],...e?[`{ ${e.join(", ")} }`]:[]].join(", "))}o(Cq,"registerBindingsHelper");var pe=Re(Xt());var gt={query:"useQuery",infiniteQuery:"useInfiniteQuery",mutation:"useMutation"},mP={bindings:[gt.query,gt.infiniteQuery,gt.mutation],from:"@tanstack/react-query"},us="moduleName";function hP(e){Rq(),Nq(),kq(),jq(e),qq(e),Mq(),Dq(e),Lq(e),Fq(e),Hq(e),Vq(e),Bq(),Gq(),Uq(),Zq(),zq(),Kq()}o(hP,"registerPartialsHbsHelpers");function Rq(){pe.default.registerHelper("genModelJsDocs",(e,t,r)=>Se("model-js-docs")({name:e,zodSchema:t,tag:r}))}o(Rq,"registerGenerateModelJsDocsHelper");function Nq(){pe.default.registerHelper("genImport",e=>Se("import")({import:e}))}o(Nq,"registerImportHelper");function kq(){pe.default.registerHelper("genEndpointParams",(e,t)=>Se("endpoint-params")({endpoint:e,options:t}))}o(kq,"registerGenerateEndpointParamsHelper");function jq(e){pe.default.registerHelper("hasUndefinedEndpointBody",t=>kb(t)&&!Rr(t)&&jb(t,e))}o(jq,"registerHasUndefinedEndpointBodyHelper");function qq(e){pe.default.registerHelper("genEndpointConfig",t=>{let r=Gf(t),n=e.options.axiosRequestConfig;return Object.keys(r).length===0?n?_r:"":Se("endpoint-config")({endpointConfig:r,hasAxiosRequestConfig:n,hasBlobResponse:t.response===ga,hasFileDownload:t.mediaDownload,axiosRequestConfigName:_r,generateParse:e.options.parseRequestParams})})}o(qq,"registerGenerateEndpointConfigHelper");function Mq(){pe.default.registerHelper("genEndpointParamParse",(e,t)=>{var r;return Se("endpoint-param-parse")({param:e,paramName:t,isQuery:e.type==="Query",zodExtendedNamespace:et.namespace,parse:et.exports.parse,sortExp:et.exports.sortExp,addOptional:!((r=e.parameterObject??e.bodyObject)!=null&&r.required)&&(e.parameterSortingEnumSchemaName||ne(e.zodSchema))})})}o(Mq,"registerGenerateEndpointParamParseHelper");function Dq(e){pe.default.registerHelper("genQueryKeys",t=>t.length===0?"":Se("query-keys")({queryEndpoints:t,queriesModuleName:us,generateInfiniteQueries:e.options.infiniteQueries}))}o(Dq,"registerGenerateQueryKeysHelper");function Lq(e){pe.default.registerHelper("genQuery",t=>{if(!Le(t))return;let r=e.options.axiosRequestConfig,n=e.options.checkAcl&&t.acl;return Se("query-use-query")({endpoint:t,queryHook:gt.query,hasQueryFn:Nr(e,t).length>0||r||n,hasQueryFnBody:n,hasAxiosRequestConfig:r,axiosRequestConfigName:_r,axiosRequestConfigType:At,hasAclCheck:n,aclCheckHook:wr})})}o(Lq,"registerGenerateQueryHelper");function Fq(e){pe.default.registerHelper("genMutation",(t,r)=>{if(!Nt(t))return;let n=Mb(t,r),i=Db(e,t,n),s=e.options.checkAcl&&t.acl;return Se("query-use-mutation")({endpoint:t,queryHook:gt.mutation,queriesModuleName:us,hasAxiosRequestConfig:e.options.axiosRequestConfig,hasMutationFnBody:t.mediaUpload||s,axiosRequestConfigName:_r,axiosRequestConfigType:At,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:yi.optionsType,updateQueryEndpoints:n,destructuredVariables:i,hasAclCheck:s,aclCheckHook:wr})})}o(Fq,"registerGenerateMutationHelper");function Hq(e){pe.default.registerHelper("genInfiniteQuery",t=>{if(!e.options.infiniteQueries||!Ei(t,e.options))return;let r=e.options.checkAcl&&t.acl;return Se("query-use-infinite-query")({endpoint:t,infiniteQueryHook:gt.infiniteQuery,hasQueryFnBody:r,pageParamName:e.options.infiniteQueryResponseParamNames.page,totalItemsName:e.options.infiniteQueryResponseParamNames.totalItems,limitParamName:e.options.infiniteQueryResponseParamNames.limit,hasAxiosRequestConfig:e.options.axiosRequestConfig,axiosRequestConfigName:_r,axiosRequestConfigType:At,hasAclCheck:r,aclCheckHook:wr})})}o(Hq,"registerGenerateInfiniteQueryHelper");function Vq(e){pe.default.registerHelper("genQueryJsDocs",(t,r)=>Se("query-js-docs")({endpoint:t,query:r.hash.query,mutation:r.hash.mutation,infiniteQuery:r.hash.infiniteQuery,hasMutationEffects:e.options.mutationEffects,mutationEffectsType:yi.optionsType}))}o(Vq,"registerGenerateQueryJsDocsHelper");function Bq(){pe.default.registerHelper("genCaslAbilityType",e=>Se("casl-ability-type")({endpoint:e,abilityTuple:ge.abilityTuple}))}o(Bq,"registerGenerateCaslAbilityTypeHelper");function Gq(){pe.default.registerHelper("genCaslAbilityFunction",e=>Se("casl-ability-function")({endpoint:e}))}o(Gq,"registerGenerateCaslAbilityFunctionHelper");function Uq(){pe.default.registerHelper("genCaslAbilityQuery",e=>Se("casl-ability-query")({endpoint:e}))}o(Uq,"registerGenerateCaslAbilityQueryHelper");function Zq(){pe.default.registerHelper("genAclCheckCall",e=>{var i;let t=(i=Si(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 Se("acl-check-call")({endpoint:e,generateAclCheckParams:Lo(e)&&n})})}o(Zq,"registerGenerateAclCheckCallHelper");function zq(){pe.default.registerHelper("genInputsConfig",e=>Se("inputs-config")({inputsConfig:e}))}o(zq,"registerGenerateInputsConfigHelper");function Kq(){pe.default.registerHelper("genColumnsConfig",e=>Se("columns-config")({columnsConfig:e}))}o(Kq,"registerGenerateColumnsConfigHelper");var ji=Re(Xt());function gP(e){Qq(),Yq(),Jq(),Wq(),Xq(e)}o(gP,"registerQueryHbsHelpers");function Qq(){ji.default.registerHelper("queryName",(e,t)=>mn(e,t.hash.mutation))}o(Qq,"registerQueryNameHelper");function Wq(){ji.default.registerHelper("infiniteQueryName",Uo)}o(Wq,"registerInfiniteQueryNameHelper");function Yq(){ji.default.registerHelper("isQuery",Le)}o(Yq,"registerIsQueryHelper");function Jq(){ji.default.registerHelper("isMutation",Nt)}o(Jq,"registerIsMutationHelper");function Xq(e){ji.default.registerHelper("isInfiniteQuery",t=>Ei(t,e.options))}o(Xq,"registerIsInfiniteQueryHelper");var An=Re(Xt());function yP(e){eM(e.options),tM(e),rM(e),nM(),iM(),oM(e)}o(yP,"registerZodHbsHelpers");function eM(e){An.default.registerHelper("zodInferedType",t=>Bo(t,e))}o(eM,"registerInferedTypeHelper");function tM(e){An.default.registerHelper("importedZodSchemaName",t=>dn(e,t))}o(tM,"registerImportedZodSchemaNameHelper");function rM(e){An.default.registerHelper("importedZodSchemaInferedType",t=>Tr(e,t))}o(rM,"registerImportedZodSchemaInferedTypeHelper");function nM(){An.default.registerHelper("zodSchemaType",e=>hb(e))}o(nM,"registerZodSchemaTypeHelper");function iM(){An.default.registerHelper("zodSchemaDescription",e=>gb(e))}o(iM,"registerZodSchemaDescriptionHelper");function oM(e){An.default.registerHelper("zodSchemaPropertyDescriptions",(t,r)=>Sb(e,t,r))}o(oM,"registerZodSchemaPropertyDescriptionsHelper");function ae(e,t){let r=Ud(t);return lP(),dP(),yP(e),pP(e),gP(e),uP(e),hP(e),Zd.default.compile(r)}o(ae,"getHbsTemplateDelegate");function Se(e){let t=Ud(`partials/${e}`);return Zd.default.compile(t)}o(Se,"getHbsPartialTemplateDelegate");function SP({resolver:e,data:t,tag:r}){let n=Bf({resolver:e,data:t,tag:r});if(!n)return;let{hasAdditionalAbilityImports:i,modelsImports:s,endpoints:a}=n,c={bindings:[ge.abilityTuple,...i?[ge.forcedSubject,ge.subject]:[]],from:qf.from};return ae(e,"acl")({caslAbilityTupleImport:c,modelsImports:s,includeNamespace:e.options.tsNamespaces,namespace:V({type:"acl",tag:r,options:e.options}),endpoints:a})}o(SP,"generateAcl");function vP({resolver:e,data:t}){let{appAbilitiesType:r,hasAdditionalAbilityImports:n,modelsImports:i}=fb({resolver:e,data:t}),s={bindings:[ge.pureAbility,ge.abilityTuple,...r?[]:[ge.subjectType],...n?[ge.forcedSubject]:[]],from:qf.from};return ae(e,"app-acl")({caslAbilityTupleImport:s,modelsImports:i,appAbilitiesType:r,appAbilities:jo,abilityTuple:ge.abilityTuple,subjectType:ge.subjectType})}o(vP,"generateAppAcl");var zd="config";function bP({data:e,tag:t,resolver:r}){var S;let n=(S=e.get(t))==null?void 0:S.endpoints;if(!n||n.length===0)return{configs:[]};let i=n.map(v=>({...v,pathSegments:Kv(v.path)})),s=i.filter(v=>Vv(v,r.options)),a=sM(s),c=!1,u=[],l=[],f=[],p=Object.entries(a).map(([v,b])=>{let E=aM(r,b);if(!E)return;l.push(b),f.push(b),E.zodSchema&&(ne(E.zodSchema)?u.push(E.zodSchema):c=!0),E.sortableEnumSchemaName&&u.push(E.sortableEnumSchemaName);let P=b.parameters.find(A=>A.name===r.options.filterParamName);P&&u.push(P.zodSchema);let _={name:v,title:B(Sa(v.replace(/config$/i,""))),readAll:{acl:qi(b,r.options),paginated:yn(b,r.options),infinite:r.options.infiniteQueries?Lb(b,r.options):void 0,filters:Ic(r,P),columns:E.columns}},w=i.find(A=>Bv(A,b));if(w){l.push(w);let A=w.response;ne(A)?(u.push(A),A=dn(r,A)):c=!0,_.read={acl:qi(w,r.options),schema:A,query:yn(w,r.options)}}let I=i.find(A=>Gv(A,b));if(I){l.push(I);let A=Rr(I);A&&u.push(A.zodSchema),_.create={acl:qi(I,r.options),mutation:yn(I,r.options),inputDefs:Ic(r,A)}}let Y=i.find(A=>Uv(A,b));if(Y){l.push(Y);let A=Rr(Y);A&&u.push(A.zodSchema),_.update={acl:qi(Y,r.options),mutation:yn(Y,r.options),inputDefs:Ic(r,A)}}let Q=i.find(A=>Zv(A,b));Q&&(l.push(Q),_.delete={acl:qi(Q,r.options),mutation:yn(Q,r.options)});let j=i.find(A=>zv(A,b));if(j){l.push(j);let A=Rr(j);A&&u.push(A.zodSchema),_.bulkDelete={acl:qi(j,r.options),mutation:yn(j,r.options),inputDefs:Ic(r,A)}}return _}),d=Rt({resolver:r,tag:t,zodSchemas:u}),m=bb({tag:t,endpoints:l,options:r.options}),g=r.options.infiniteQueries?_b({tag:t,endpoints:f,options:r.options}):[],y=La({tag:t,endpoints:l.filter(v=>v.acl),options:r.options});return{configs:p.filter(Boolean),hasZodImport:c,modelsImports:d,queriesImports:Fo(r.options,m,g),aclImports:y}}o(bP,"getBuilderConfigs");function sM(e){let t=e.map(n=>({...n,namePathSegments:n.pathSegments.filter(i=>!di(i))})).sort((n,i)=>n.namePathSegments.length-i.namePathSegments.length),r={};for(let n of t){let i=n.namePathSegments,s=i.length>0?`${Co(i.pop())}${B(zd)}`:zd;for(;r[s];){if(i.length===0)throw new Error(`Can't uniquely resolve builder config name: ${s}`);s=`${Co(i.pop())}${B(s)}`}r[s]=n}return r}o(sM,"resolveBuilderConfigNames");function qi(e,t){return t.acl&&e.acl?qa(e,t):void 0}o(qi,"getAclConfig");function Ic(e,t){var s,a,c;if(!t)return;let r;if(t.type==="Body"?r=(a=(s=t.bodyObject)==null?void 0:s.content[an])==null?void 0:a.schema:r=(c=t.parameterObject)==null?void 0:c.schema,!r)return;let n=e.resolveObject(r),i=Object.keys((n==null?void 0:n.properties)??{}).reduce((u,l)=>({...u,[l]:!0}),{});return{schema:dn(e,t.zodSchema),options:{inputs:i}}}o(Ic,"getInputsConfig");function aM(e,t){var m,g,y;let r=t.responseObject;if(!r)return;let n=(g=(m=r.content)==null?void 0:m[an])==null?void 0:g.schema;if(!n)return;let i=_P(e,n),s=Object.keys(i).filter(S=>e.resolveObject(i[S]).type==="array");s.sort((S,v)=>{let b=e.options.dataResponseParamNames.indexOf(S),E=e.options.dataResponseParamNames.indexOf(v);return b!==-1&&E!==-1?b-E:b!==-1?-1:E!==-1?1:S.localeCompare(v)});let a=s[0];if(!a)return;let c=e.resolveObject(i[a]);if(!c||c.type!=="array")return;let u=c.items,l=e.resolveObject(u);if(!l)return;let f=L(u)?e.getZodSchemaNameByRef(u.$ref):fi,p=Object.keys((l==null?void 0:l.properties)??{}).reduce((S,v)=>({...S,[v]:!0}),{}),d=(y=t.parameters.find(S=>S.parameterObject&&Aa(S.parameterObject)))==null?void 0:y.parameterSortingEnumSchemaName;return{columns:{schema:dn(e,f),options:{columns:p,sortable:d?dn(e,d):void 0}},zodSchema:f,sortableEnumSchemaName:d}}o(aM,"getColumnsConfig");function _P(e,t){let r=e.resolveObject(t);return r.properties?r.properties:"allOf"in r&&r.allOf?r.allOf.reduce((n,i)=>({...n,..._P(e,i)}),{}):{}}o(_P,"getSchemaProperties");function EP(e){let{configs:t,hasZodImport:r,modelsImports:n,queriesImports:i,aclImports:s}=bP(e);if(t.length===0)return;let{resolver:a,tag:c}=e,u=t.some(m=>{var g,y;return m.readAll.filters||((g=m.create)==null?void 0:g.inputDefs)||((y=m.update)==null?void 0:y.inputDefs)}),l={bindings:[Mo.dynamicInputs],from:a.options.dynamicInputsImportPath},f=t.some(m=>m.readAll.columns),p={bindings:[Mo.dynamicColumns],from:a.options.dynamicColumnsImportPath};return ae(a,"configs")({hasZodImport:r,zodImport:Sr,hasDynamicInputsImport:u,dynamicInputsImport:l,hasDynamicColumnsImport:f,dynamicColumnsImport:p,modelsImports:n,queriesImports:i,aclImports:s,includeNamespace:a.options.tsNamespaces,namespace:V({type:"configs",tag:c,options:a.options}),configs:t,dynamicInputs:Mo.dynamicInputs,dynamicColumns:Mo.dynamicColumns})}o(EP,"generateConfigs");function PP({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:[qo],from:Ob(e.options)},s=e.options.axiosRequestConfig,a=s,c={bindings:s?[At]:[],from:Ea.from},u=e.options.parseRequestParams,l=n.reduce((E,P)=>[...E,...P.parameters],[]),f=l.filter(E=>!["Path","Header"].includes(E.type)).map(E=>E.parameterSortingEnumSchemaName??E.zodSchema),p=n.map(E=>E.response),d=Ve([...p,...u?f:[]]),m=d.some(E=>!ne(E)),g=e.options.parseRequestParams&&f.length>0,y={bindings:[et.namespace],from:wb(e.options)},S=Rt({resolver:e,tag:r,zodSchemas:d.filter(ne),zodSchemasAsTypes:Ve(l.map(E=>E.zodSchema).filter(ne))});return ae(e,"endpoints")({appRestClientImport:i,hasAxiosImport:a,axiosImport:c,hasZodImport:m,zodImport:Sr,hasZodExtendedImport:g,zodExtendedImport:y,modelsImports:S,includeNamespace:e.options.tsNamespaces,namespace:V({type:"endpoints",tag:r,options:e.options}),restClientName:qo,hasAxiosRequestConfig:s,axiosRequestConfigName:_r,axiosRequestConfigType:At,endpoints:n,generateParse:u})}o(PP,"generateEndpoints");function OP({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,...Hb(e,f)],[]).filter(l=>!n[l]),s=Rt({resolver:e,tag:r,zodSchemas:i}),a=Object.entries(n).reduce((l,[f,p])=>{let d=e.getZodSchemaObj(f),m={code:p,isEnum:db(p),schemaObj:d};return{...l,[f]:m}},{});return ae(e,"models")({zodImport:Sr,modelsImports:s,includeNamespace:e.options.tsNamespaces,namespace:V({type:"models",tag:r,options:e.options}),tag:r,zodSchemasData:a})}o(OP,"generateModels");function $P({resolver:e,data:t,tag:r}){var Q;let n=(Q=t.get(r))==null?void 0:Q.endpoints;if(!n||n.length===0)return;let i=e.options.axiosRequestConfig,s=n.some(({mediaUpload:j})=>j),a=i||s,c={defaultImport:s?$f:void 0,bindings:i?[At]:[],from:Ea.from},u=n.filter(Le),l=u.filter(j=>Ei(j,e.options)),f=n.filter(Nt),p={bindings:[...u.length>0?[gt.query]:[],...e.options.infiniteQueries&&l.length>0?[gt.infiniteQuery]:[],...f.length>0?[gt.mutation]:[]],from:mP.from},d=e.options.mutationEffects,m={bindings:[Lf],from:$b(e.options)},g=d&&f.length>0,y={bindings:[...f.length>0?[yi.optionsType,yi.hookName]:[]],from:xb(e.options)},S=n.filter(j=>j.acl),v=e.options.checkAcl&&S.length>0,b={bindings:[wr],from:Ab(e.options)},E={bindings:[...u.length>0?[Ca.query]:[],...e.options.infiniteQueries&&l.length>0?[Ca.infiniteQuery]:[],...f.length>0?[Ca.mutation]:[]],from:e.options.queryTypesImportPath},P=n.reduce((j,A)=>[...j,...A.parameters],[]),_=Rt({resolver:e,tag:r,zodSchemasAsTypes:Ve(P.map(j=>j.zodSchema).filter(ne))}),w=vb({tag:r,endpoints:n,options:e.options}),I=La({tag:r,endpoints:S,options:e.options});return ae(e,"queries")({hasAxiosImport:a,axiosImport:c,queryImport:p,hasMutationEffects:d,queryModulesImport:m,hasMutationEffectsImport:g,mutationEffectsImport:y,hasAclCheck:v,aclCheckImport:b,queryTypesImport:E,modelsImports:_,endpointsImports:w,aclImports:I,includeNamespace:e.options.tsNamespaces,tag:r,namespace:V({type:"queries",tag:r,options:e.options}),queriesModuleName:us,queryModuleEnum:Lf,endpoints:n,queryEndpoints:u})}o($P,"generateQueries");function xP(e){return ae(e,"acl-check")({abilityContextImport:lb,appAbilitiesImport:{bindings:[jo],from:Ib(e.options)},errorHandlingImport:Ra,abilityContext:Df,appAbilities:jo,errorHandler:Ir.ErrorHandler,sharedErrorHandler:Ir.SharedErrorHandler,aclCheckHook:wr,hasGenericAppAbilities:e.options.abilityContextGenericAppAbilities})}o(xP,"generateAclCheck");function AP(e){return ae(e,"app-rest-client")({appRestClientName:qo,baseUrl:e.getBaseUrl(),restClientImportPath:on})}o(AP,"generateAppRestClient");function wP({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:V({type:"queries",tag:s,options:e.options})})}),ae(e,"query-modules")({modules:r})}o(wP,"generateQueryModules");function IP(e){return ae(e,"zod-extended")({zodImport:Sr,zodExtendedNamespace:et.namespace,parse:et.exports.parse,sortExp:et.exports.sortExp,errorHandler:Ir.ErrorHandler,sharedErrorHandler:Ir.SharedErrorHandler,errorHandlingImport:Ra})}o(IP,"generateZodExtended");function TP(e,t){return t.options.acl?[{fileName:er({output:t.options.output,fileName:hn(wa)}),content:vP({resolver:t,data:e})},...t.options.checkAcl?[{fileName:er({output:t.options.output,fileName:hn(Ia)}),content:xP(t)}]:[]]:[]}o(TP,"getAclFiles");function CP(e,t){return t.options.mutationEffects?[...cM([ka],t),{fileName:er({output:t.options.output,fileName:hn(Na)}),content:wP({resolver:t,data:e})}]:[]}o(CP,"getMutationEffectsFiles");function RP(e,t){return t.options.parseRequestParams?[{fileName:er({output:t.options.output,fileName:hn(ja)}),content:IP(t)}]:[]}o(RP,"getZodExtendedFiles");function NP(e){return e.options.restClientImportPath!==sn.restClientImportPath?[]:[{fileName:er({output:e.options.output,fileName:hn(Ta)}),content:AP(e)}]}o(NP,"getAppRestClientFiles");function cM(e,t){return e.reduce((r,n)=>[...r,uM(n,t)],[])}o(cM,"getAssetFiles");function uM(e,t){let r=hn(e);return{fileName:er({output:t.options.output,fileName:r}),content:cP(r)}}o(uM,"getAssetFile");function kP(e,t){let{resolver:r,data:n}=Za(e,t),i=[],s=[],a=["models","endpoints","queries",...r.options.acl?["acl"]:[],...r.options.builderConfigs?["configs"]:[]],c={models:OP,endpoints:PP,queries:$P,acl:SP,configs:EP};return n.forEach((u,l)=>{a.forEach(f=>{let p=c[f]({resolver:r,data:n,tag:l});if(p){let d=er({output:t.output,fileName:Pb({tag:l,type:f,options:t})});i.push({fileName:d,content:p}),f==="acl"&&s.push(l)}})}),i.push(...TP(n,r),...CP(n,r),...RP(n,r),...NP(r)),i}o(kP,"generateCodeFromOpenAPIDoc");async function lM({input:e,options:t}){let r={...sn,...t},n=await Kd.default.bundle(e);return await h_(n,r)}o(lM,"getGenerateMetadata");async function pM({input:e,options:t}){let r={...sn,...t},n=await Kd.default.bundle(e);return kP(n,r)}o(pM,"getGenerateFilesData");0&&(module.exports={getGenerateFilesData,getGenerateMetadata});
package/dist/sh.js CHANGED
@@ -522,7 +522,7 @@ ${rr.join(`
522
522
  `:`
523
523
  `)+m,T=b+1,b=l.indexOf(`
524
524
  `,T)}while(b!==-1);return I+=l.slice(T),I}t(EQe,"stringEncaseCRLFWithFirstIndex");var{stdout:PQe,stderr:wQe}=kQe,DEe=Symbol("GENERATOR"),vM=Symbol("STYLER"),MU=Symbol("IS_EMPTY"),AQe=["ansi","ansi","ansi256","ansi16m"],bM=Object.create(null),R5t=t((l,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let m=PQe?PQe.level:0;l.level=u.level===void 0?m:u.level},"applyOptions"),OEe=class OEe{constructor(u){return DQe(u)}};t(OEe,"Chalk");var nce=OEe,DQe=t(l=>{let u=t((...m)=>m.join(" "),"chalk");return R5t(u,l),Object.setPrototypeOf(u,RU.prototype),u},"chalkFactory");function RU(l){return DQe(l)}t(RU,"createChalk");Object.setPrototypeOf(RU.prototype,Function.prototype);for(let[l,u]of Object.entries(Yx))bM[l]={get(){let m=ice(this,NEe(u.open,u.close,this[vM]),this[MU]);return Object.defineProperty(this,l,{value:m}),m}};bM.visible={get(){let l=ice(this,this[vM],!0);return Object.defineProperty(this,"visible",{value:l}),l}};var IEe=t((l,u,m,...b)=>l==="rgb"?u==="ansi16m"?Yx[m].ansi16m(...b):u==="ansi256"?Yx[m].ansi256(Yx.rgbToAnsi256(...b)):Yx[m].ansi(Yx.rgbToAnsi(...b)):l==="hex"?IEe("rgb",u,m,...Yx.hexToRgb(...b)):Yx[m][l](...b),"getModelAnsi"),L5t=["rgb","hex","ansi256"];for(let l of L5t){bM[l]={get(){let{level:m}=this;return function(...b){let T=NEe(IEe(l,AQe[m],"color",...b),Yx.color.close,this[vM]);return ice(this,T,this[MU])}}};let u="bg"+l[0].toUpperCase()+l.slice(1);bM[u]={get(){let{level:m}=this;return function(...b){let T=NEe(IEe(l,AQe[m],"bgColor",...b),Yx.bgColor.close,this[vM]);return ice(this,T,this[MU])}}}}var j5t=Object.defineProperties(()=>{},{...bM,level:{enumerable:!0,get(){return this[DEe].level},set(l){this[DEe].level=l}}}),NEe=t((l,u,m)=>{let b,T;return m===void 0?(b=l,T=u):(b=m.openAll+l,T=u+m.closeAll),{open:l,close:u,openAll:b,closeAll:T,parent:m}},"createStyler"),ice=t((l,u,m)=>{let b=t((...T)=>B5t(b,T.length===1?""+T[0]:T.join(" ")),"builder");return Object.setPrototypeOf(b,j5t),b[DEe]=l,b[vM]=u,b[MU]=m,b},"createBuilder"),B5t=t((l,u)=>{if(l.level<=0||!u)return l[MU]?"":u;let m=l[vM];if(m===void 0)return u;let{openAll:b,closeAll:T}=m;if(u.includes("\x1B"))for(;m!==void 0;)u=CQe(u,m.close,m.open),m=m.parent;let I=u.indexOf(`
525
- `);return I!==-1&&(u=EQe(u,T,b,I)),b+u+T},"applyStyle");Object.defineProperties(RU.prototype,bM);var VXt=RU(),UXt=RU({level:wQe?wQe.level:0});var CA=new nce;function FEe(l){console.log(l)}t(FEe,"log");function oS(l){console.log(`[INFO] ${l}`)}t(oS,"logInfo");function LU(l){console.log(CA.green(`[SUCCESS] ${l}`))}t(LU,"logSuccess");function HN(l,u){l instanceof Error?console.log(CA.red(`[ERROR] ${u||l.message}`)):console.log(CA.red(`[ERROR] ${l}`))}t(HN,"logError");function sce(l){console.log(CA.bgYellow(`==== ${l} ====`))}t(sce,"logBanner");var IQe=Vd(require("fs"));function SM(){return"2.0.0-rc.3"}t(SM,"getVersion");var iYt=Vd(OQe());var MEe=Symbol("options_key");function zu(l){return(u,m)=>{var b,T;if(l!=null){let I={...Reflect.getMetadata(MEe,u)||{},[m]:{...l,describe:l.envAlias?`${l.describe||""} [${l.envAlias}]`:l.describe,type:l.type||((T=(b=Reflect.getMetadata("design:type",u,m))==null?void 0:b.name)==null?void 0:T.toLowerCase())}};Reflect.defineMetadata(MEe,I,u)}}}t(zu,"YargOption");function FQe(l){let u=Reflect.getMetadata(MEe,l.prototype);if(!u)throw new Error(`Options for ${l.name} were not defined`);return u}t(FQe,"getYargsOption");function ace(l){return async u=>u.options($5t(l)).middleware(async m=>await J5t(l,m),!0)}t(ace,"getBuilder");function $5t(l){return Object.entries(FQe(l)).reduce((u,[m,b])=>(u[m]=Object.fromEntries(Object.entries(b).filter(([T])=>!["envAlias","default"].includes(T))),u),{})}t($5t,"getYargsOptions");async function J5t(l,u){let m=new l;for(let[b,T]of Object.entries(FQe(l)))m[b]=u[b]??T.default;return m}t(J5t,"loadYargsConfig");var cit=Vd(Cwe());var frt={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"},_rt={"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","multiple-success-status-codes":"Multiple Success HTTP Status Codes"};var u_=t(l=>l.charAt(0).toUpperCase()+l.slice(1),"capitalize"),qA=t(l=>l.charAt(0).toLowerCase()+l.slice(1),"decapitalize"),wW=t(l=>l.replace(/(-\w)/g,u=>u[1].toUpperCase()),"kebabToCamel"),ny=t(l=>l.replace(/(_\w)/g,u=>u[1].toUpperCase()),"snakeToCamel"),prt=t(l=>l.replace(/[\W_]+(\w)?/g,(u,m)=>(m==null?void 0:m.toUpperCase())??""),"nonWordCharactersToCamel"),Ewe=t((l,u="")=>l.endsWith(u)?l:`${l}${u}`,"suffixIfNeeded"),drt=t((l,u)=>l.replace(new RegExp(`${u}$`),""),"removeSuffix"),RVt=t(l=>{var b;let u=l.reduce((T,I)=>({...T,[I]:(T[I]??0)+1}),{});return(b=Object.entries(u).sort((T,I)=>T[1]===I[1]?I[0].length-T[0].length:I[1]-T[1])[0])==null?void 0:b[0]},"getLongestMostCommon"),Pwe=t(l=>{let u=l.map(u_).map(mrt).map(m=>LVt(m)).flat();return RVt(u)},"getMostCommonAdjacentCombinationSplit"),mrt=t(l=>l.split(/(?<![A-Z])(?=[A-Z])/).filter(Boolean),"splitByUppercase"),_le=t(l=>mrt(l).join(" "),"camelToSpaceSeparated"),LVt=t((l,u=["dto","by","for","of","in","to","and","with"])=>{var b;let m=[];for(let T=0;T<l.length;T++)if(!u.includes(l[T].toLowerCase()))for(let I=T+1;I<=l.length;I++)u.includes((b=l[I-1])==null?void 0:b.toLowerCase())||m.push(l.slice(T,I).join(""));return m},"getAdjacentStringCombinations"),hrt=t((l,u)=>{let m=u.replace(/es$|s$/g,""),b=new RegExp(`(${qA(m)}|${u_(m)})[a-z]*(?=$|[A-Z])`,"g");return l.replace(b,"")},"removeWord");function m8(l){return prt(l)}t(m8,"formatTag");function zA(l,u){var b;let m=(b=l.tags)==null?void 0:b[0];return m8(m??u.defaultTag)}t(zA,"getOperationTag");function Y1(l,u){var b;let m=u.splitByTags?(b=l.tags)==null?void 0:b[0]:u.defaultTag;return m8(m??u.defaultTag)}t(Y1,"getEndpointTag");function grt(l,u){return u.excludeTags.some(m=>m.toLowerCase()===l.toLowerCase())}t(grt,"isTagExcluded");var h8="application/json",wwe={"Content-Type":h8,Accept:h8},ple="data",Awe="axios",VA="config",DC="AxiosRequestConfig",dle={defaultImport:Awe,bindings:[DC],from:"axios"};var r6=Vd(mle()),Dwe=2,yrt=["application/octet-stream","multipart/form-data","application/x-www-form-urlencoded","*/*"],vrt=["query","header","path"],g8=[r6.OpenAPIV3.HttpMethods.GET,r6.OpenAPIV3.HttpMethods.PUT,r6.OpenAPIV3.HttpMethods.POST,r6.OpenAPIV3.HttpMethods.DELETE,r6.OpenAPIV3.HttpMethods.OPTIONS,r6.OpenAPIV3.HttpMethods.HEAD,r6.OpenAPIV3.HttpMethods.PATCH,r6.OpenAPIV3.HttpMethods.TRACE],brt=["string","number","integer","boolean"],AW=["allOf","anyOf","oneOf"];var Srt="Schema",xrt="Enum",Trt="Body",krt="Param",Crt="Response",Ert="ErrorResponse",DW="z.void()",aR="z.any()",hle="z.instanceof(Blob)",IW="z.enum",Prt="z.int()",wrt="z.number()",gle="z.string()",Art="z.email()",Drt="z.url()",Irt="z.uuid()",Nrt="z.iso.datetime({ offset: true })",WA={bindings:["z"],from:"zod"};var n6=Symbol.for("@ts-pattern/matcher"),$Vt=Symbol.for("@ts-pattern/isVariadic"),vle="@ts-pattern/anonymous-select-key",Iwe=t(l=>!!(l&&typeof l=="object"),"r"),yle=t(l=>l&&!!l[n6],"i"),OC=t((l,u,m)=>{if(yle(l)){let b=l[n6](),{matched:T,selections:I}=b.match(u);return T&&I&&Object.keys(I).forEach(L=>m(L,I[L])),T}if(Iwe(l)){if(!Iwe(u))return!1;if(Array.isArray(l)){if(!Array.isArray(u))return!1;let b=[],T=[],I=[];for(let L of l.keys()){let Q=l[L];yle(Q)&&Q[$Vt]?I.push(Q):I.length?T.push(Q):b.push(Q)}if(I.length){if(I.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(u.length<b.length+T.length)return!1;let L=u.slice(0,b.length),Q=T.length===0?[]:u.slice(-T.length),ae=u.slice(b.length,T.length===0?1/0:-T.length);return b.every((ee,pe)=>OC(ee,L[pe],m))&&T.every((ee,pe)=>OC(ee,Q[pe],m))&&(I.length===0||OC(I[0],ae,m))}return l.length===u.length&&l.every((L,Q)=>OC(L,u[Q],m))}return Reflect.ownKeys(l).every(b=>{let T=l[b];return(b in u||yle(I=T)&&I[n6]().matcherType==="optional")&&OC(T,u[b],m);var I})}return Object.is(u,l)},"s"),XA=t(l=>{var u,m,b;return Iwe(l)?yle(l)?(u=(m=(b=l[n6]()).getSelectionKeys)==null?void 0:m.call(b))!=null?u:[]:Array.isArray(l)?OW(l,XA):OW(Object.values(l),XA):[]},"o"),OW=t((l,u)=>l.reduce((m,b)=>m.concat(u(b)),[]),"c");function pS(l){return Object.assign(l,{optional:t(()=>JVt(l),"optional"),and:t(u=>Zp(l,u),"and"),or:t(u=>qVt(l,u),"or"),select:t(u=>u===void 0?Ort(l):Ort(u,l),"select")})}t(pS,"u");function JVt(l){return pS({[n6]:()=>({match:t(u=>{let m={},b=t((T,I)=>{m[T]=I},"r");return u===void 0?(XA(l).forEach(T=>b(T,void 0)),{matched:!0,selections:m}):{matched:OC(l,u,b),selections:m}},"match"),getSelectionKeys:t(()=>XA(l),"getSelectionKeys"),matcherType:"optional"})})}t(JVt,"h");function Zp(...l){return pS({[n6]:()=>({match:t(u=>{let m={},b=t((T,I)=>{m[T]=I},"r");return{matched:l.every(T=>OC(T,u,b)),selections:m}},"match"),getSelectionKeys:t(()=>OW(l,XA),"getSelectionKeys"),matcherType:"and"})})}t(Zp,"m");function qVt(...l){return pS({[n6]:()=>({match:t(u=>{let m={},b=t((T,I)=>{m[T]=I},"r");return OW(l,XA).forEach(T=>b(T,void 0)),{matched:l.some(T=>OC(T,u,b)),selections:m}},"match"),getSelectionKeys:t(()=>OW(l,XA),"getSelectionKeys"),matcherType:"or"})})}t(qVt,"d");function Df(l){return{[n6]:()=>({match:t(u=>({matched:!!l(u)}),"match")})}}t(Df,"p");function Ort(...l){let u=typeof l[0]=="string"?l[0]:void 0,m=l.length===2?l[1]:typeof l[0]=="string"?void 0:l[0];return pS({[n6]:()=>({match:t(b=>{let T={[u??vle]:b};return{matched:m===void 0||OC(m,b,(I,L)=>{T[I]=L}),selections:T}},"match"),getSelectionKeys:t(()=>[u??vle].concat(m===void 0?[]:XA(m)),"getSelectionKeys")})})}t(Ort,"y");function IC(l){return typeof l=="number"}t(IC,"v");function HA(l){return typeof l=="string"}t(HA,"b");function GA(l){return typeof l=="bigint"}t(GA,"w");var Cnr=pS(Df(function(l){return!0}));var QA=t(l=>Object.assign(pS(l),{startsWith:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&b.startsWith(m)))));var m},"startsWith"),endsWith:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&b.endsWith(m)))));var m},"endsWith"),minLength:t(u=>QA(Zp(l,(m=>Df(b=>HA(b)&&b.length>=m))(u))),"minLength"),length:t(u=>QA(Zp(l,(m=>Df(b=>HA(b)&&b.length===m))(u))),"length"),maxLength:t(u=>QA(Zp(l,(m=>Df(b=>HA(b)&&b.length<=m))(u))),"maxLength"),includes:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&b.includes(m)))));var m},"includes"),regex:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&!!b.match(m)))));var m},"regex")}),"j"),Enr=QA(Df(HA)),NC=t(l=>Object.assign(pS(l),{between:t((u,m)=>NC(Zp(l,((b,T)=>Df(I=>IC(I)&&b<=I&&T>=I))(u,m))),"between"),lt:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b<m))(u))),"lt"),gt:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b>m))(u))),"gt"),lte:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b<=m))(u))),"lte"),gte:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b>=m))(u))),"gte"),int:t(()=>NC(Zp(l,Df(u=>IC(u)&&Number.isInteger(u)))),"int"),finite:t(()=>NC(Zp(l,Df(u=>IC(u)&&Number.isFinite(u)))),"finite"),positive:t(()=>NC(Zp(l,Df(u=>IC(u)&&u>0))),"positive"),negative:t(()=>NC(Zp(l,Df(u=>IC(u)&&u<0))),"negative")}),"x"),Pnr=NC(Df(IC)),ZA=t(l=>Object.assign(pS(l),{between:t((u,m)=>ZA(Zp(l,((b,T)=>Df(I=>GA(I)&&b<=I&&T>=I))(u,m))),"between"),lt:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b<m))(u))),"lt"),gt:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b>m))(u))),"gt"),lte:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b<=m))(u))),"lte"),gte:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b>=m))(u))),"gte"),positive:t(()=>ZA(Zp(l,Df(u=>GA(u)&&u>0))),"positive"),negative:t(()=>ZA(Zp(l,Df(u=>GA(u)&&u<0))),"negative")}),"A"),wnr=ZA(Df(GA)),Anr=pS(Df(function(l){return typeof l=="boolean"})),Dnr=pS(Df(function(l){return typeof l=="symbol"})),Inr=pS(Df(function(l){return l==null})),Nnr=pS(Df(function(l){return l!=null}));var Mwe=class Mwe extends Error{constructor(u){let m;try{m=JSON.stringify(u)}catch{m=u}super(`Pattern matching error: no pattern matches value ${m}`),this.input=void 0,this.input=u}};t(Mwe,"W");var Nwe=Mwe,Owe={matched:!1,value:void 0};function Xy(l){return new Fwe(l,Owe)}t(Xy,"z");var NW=class NW{constructor(u,m){this.input=void 0,this.state=void 0,this.input=u,this.state=m}with(...u){if(this.state.matched)return this;let m=u[u.length-1],b=[u[0]],T;u.length===3&&typeof u[1]=="function"?T=u[1]:u.length>2&&b.push(...u.slice(1,u.length-1));let I=!1,L={},Q=t((ee,pe)=>{I=!0,L[ee]=pe},"a"),ae=!b.some(ee=>OC(ee,this.input,Q))||T&&!T(this.input)?Owe:{matched:!0,value:m(I?vle in L?L[vle]:L:this.input,this.input)};return new NW(this.input,ae)}when(u,m){if(this.state.matched)return this;let b=!!u(this.input);return new NW(this.input,b?{matched:!0,value:m(this.input,this.input)}:Owe)}otherwise(u){return this.state.matched?this.state.value:u(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new Nwe(this.input)}run(){return this.exhaustive()}returnType(){return this}};t(NW,"I");var Fwe=NW;function gf(l){return l!=null&&Object.prototype.hasOwnProperty.call(l,"$ref")}t(gf,"isReferenceObject");function iy(l){return!gf(l)}t(iy,"isSchemaObject");function ble(l){return l.type==="array"}t(ble,"isArraySchemaObject");function Frt(l){if(!l.allOf)throw new Error("Function inferRequiredSchema is specialized to handle item with required only in an allOf array.");let[u,m]=l.allOf.reduce((T,I)=>{if(zVt(I)){let L=I.required;T[0].push(...L??[])}else T[1].push(I);return T},[[],[]]),b={properties:u.reduce((T,I)=>(T[I]={},T),{}),type:"object",required:u};return{noRequiredOnlyAllof:m,composedRequiredSchema:b,patchRequiredSchemaInLoop:t((T,I)=>{if(gf(T)){let L=I(T.$ref);L&&b.required.forEach(Q=>{var ae;b.properties[Q]=((ae=L==null?void 0:L.properties)==null?void 0:ae[Q])??{}})}else{let L=T.properties??{};b.required.forEach(Q=>{L[Q]&&(b.properties[Q]=L[Q]??{})})}},"patchRequiredSchemaInLoop")}}t(Frt,"inferRequiredSchema");var zVt=t(l=>!gf(l)&&!!l.required&&!l.type&&!l.properties&&!(l!=null&&l.allOf)&&!(l!=null&&l.anyOf)&&!l.oneOf,"isBrokenAllOfItem");var Rrt=t(l=>`#/components/schemas/${l}`,"getSchemaRef"),y8=t(l=>l[1]==="/"?l:"#/"+l.slice(1),"autocorrectRef"),oR=t(l=>y8(l).split("/").at(-1),"getSchemaNameByRef");function Lwe(l){let u=VVt(l).normalize("NFKD").trim().replace(/\s+/g,"_").replace(/--+/g,"-").replace(/-+/g,"_").replace(/[^\w-]+/g,"_");return ny(u)}t(Lwe,"normalizeString");function jwe(l){return/^[a-zA-Z]\w*$/.test(l)?l:`"${l}"`}t(jwe,"wrapWithQuotesIfNeeded");function Lrt(l){return typeof l=="string"&&l.startsWith('"')&&l.endsWith('"')?l.slice(1,-1):l}t(Lrt,"unwrapQuotesIfNeeded");function VVt(l){let u=Number(l[0]);return typeof u=="number"&&!Number.isNaN(u)?"_"+l:l}t(VVt,"prefixStringStartingWithNumberIfNeeded");function Bwe(l){let u=l.replaceAll("_","#");return ny(u.replaceAll("-","_")).replaceAll("#","_")}t(Bwe,"pathParamToVariableName");var v8=t(l=>brt.includes(l),"isPrimitiveType");function jrt(l){return l.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/([\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F\uFFFE\uFFFF])/g,(u,m)=>{let b=m.codePointAt(),T=b.toString(16);return b<=255?`\\x${`00${T}`.slice(-2)}`:`\\u${`0000${T}`.slice(-4)}`}).replace(/\//g,"\\/")}t(jrt,"escapeControlCharacters");function FC(l){return l.includes("application/")&&l.includes("json")||yrt.includes(l)||l.includes("text/")}t(FC,"isParamMediaTypeAllowed");function FW(l){return l>=200&&l<300}t(FW,"isMainResponseStatus");function Sle(l){return!(l>=200&&l<300)}t(Sle,"isErrorStatus");function xle(l){return l.startsWith("application/")}t(xle,"isMediaTypeAllowed");var Mrt=/({\w+})/g,UVt=/[^\w\-]+/g;function Brt(l){l=u_(wW(l.replaceAll("/","-")).replaceAll("-",""));let u=[...l.matchAll(Mrt)];if(u.length>0){let m=u.sort((b,T)=>b.index-T.index)[u.length-1][0];l=`${l.replace(Mrt,"")}By${u_(m.slice(1,-1))}`}return l.replace(UVt,"_")}t(Brt,"pathToVariableName");var Rwe=/{(\b\w+(?:-\w+)*\b)}/g;function $rt(l){let u=l.match(Rwe);return u===null?l.replaceAll(Rwe,":$1"):(u.forEach(m=>{let b=Bwe(m.replaceAll(Rwe,":$1"));l=l.replaceAll(m,b)}),l)}t($rt,"replaceHyphenatedPath");var Tle=t(l=>{let u=l["x-enumNames"],m=Array.isArray(u)&&u.length>0,b=!!l.schema&&iy(l.schema)&&l.schema.type==="string";return m&&b},"isSortingParameterObject"),b8=t((l,u)=>u.excludePathRegex?new RegExp(u.excludePathRegex).test(l):!1,"isPathExcluded");function MC({schema:l,meta:u,options:m}){let b=[];Xy(l.type).with("string",()=>b.push(GVt(l))).with("number","integer",()=>b.push(ZVt(l))).with("array",()=>b.push(XVt(l))).otherwise(()=>{}),typeof l.description=="string"&&l.description!==""&&m.withDescription&&([`
525
+ `);return I!==-1&&(u=EQe(u,T,b,I)),b+u+T},"applyStyle");Object.defineProperties(RU.prototype,bM);var VXt=RU(),UXt=RU({level:wQe?wQe.level:0});var CA=new nce;function FEe(l){console.log(l)}t(FEe,"log");function oS(l){console.log(`[INFO] ${l}`)}t(oS,"logInfo");function LU(l){console.log(CA.green(`[SUCCESS] ${l}`))}t(LU,"logSuccess");function HN(l,u){l instanceof Error?console.log(CA.red(`[ERROR] ${u||l.message}`)):console.log(CA.red(`[ERROR] ${l}`))}t(HN,"logError");function sce(l){console.log(CA.bgYellow(`==== ${l} ====`))}t(sce,"logBanner");var IQe=Vd(require("fs"));function SM(){return"2.0.0"}t(SM,"getVersion");var iYt=Vd(OQe());var MEe=Symbol("options_key");function zu(l){return(u,m)=>{var b,T;if(l!=null){let I={...Reflect.getMetadata(MEe,u)||{},[m]:{...l,describe:l.envAlias?`${l.describe||""} [${l.envAlias}]`:l.describe,type:l.type||((T=(b=Reflect.getMetadata("design:type",u,m))==null?void 0:b.name)==null?void 0:T.toLowerCase())}};Reflect.defineMetadata(MEe,I,u)}}}t(zu,"YargOption");function FQe(l){let u=Reflect.getMetadata(MEe,l.prototype);if(!u)throw new Error(`Options for ${l.name} were not defined`);return u}t(FQe,"getYargsOption");function ace(l){return async u=>u.options($5t(l)).middleware(async m=>await J5t(l,m),!0)}t(ace,"getBuilder");function $5t(l){return Object.entries(FQe(l)).reduce((u,[m,b])=>(u[m]=Object.fromEntries(Object.entries(b).filter(([T])=>!["envAlias","default"].includes(T))),u),{})}t($5t,"getYargsOptions");async function J5t(l,u){let m=new l;for(let[b,T]of Object.entries(FQe(l)))m[b]=u[b]??T.default;return m}t(J5t,"loadYargsConfig");var cit=Vd(Cwe());var frt={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"},_rt={"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","multiple-success-status-codes":"Multiple Success HTTP Status Codes"};var u_=t(l=>l.charAt(0).toUpperCase()+l.slice(1),"capitalize"),qA=t(l=>l.charAt(0).toLowerCase()+l.slice(1),"decapitalize"),wW=t(l=>l.replace(/(-\w)/g,u=>u[1].toUpperCase()),"kebabToCamel"),ny=t(l=>l.replace(/(_\w)/g,u=>u[1].toUpperCase()),"snakeToCamel"),prt=t(l=>l.replace(/[\W_]+(\w)?/g,(u,m)=>(m==null?void 0:m.toUpperCase())??""),"nonWordCharactersToCamel"),Ewe=t((l,u="")=>l.endsWith(u)?l:`${l}${u}`,"suffixIfNeeded"),drt=t((l,u)=>l.replace(new RegExp(`${u}$`),""),"removeSuffix"),RVt=t(l=>{var b;let u=l.reduce((T,I)=>({...T,[I]:(T[I]??0)+1}),{});return(b=Object.entries(u).sort((T,I)=>T[1]===I[1]?I[0].length-T[0].length:I[1]-T[1])[0])==null?void 0:b[0]},"getLongestMostCommon"),Pwe=t(l=>{let u=l.map(u_).map(mrt).map(m=>LVt(m)).flat();return RVt(u)},"getMostCommonAdjacentCombinationSplit"),mrt=t(l=>l.split(/(?<![A-Z])(?=[A-Z])/).filter(Boolean),"splitByUppercase"),_le=t(l=>mrt(l).join(" "),"camelToSpaceSeparated"),LVt=t((l,u=["dto","by","for","of","in","to","and","with"])=>{var b;let m=[];for(let T=0;T<l.length;T++)if(!u.includes(l[T].toLowerCase()))for(let I=T+1;I<=l.length;I++)u.includes((b=l[I-1])==null?void 0:b.toLowerCase())||m.push(l.slice(T,I).join(""));return m},"getAdjacentStringCombinations"),hrt=t((l,u)=>{let m=u.replace(/es$|s$/g,""),b=new RegExp(`(${qA(m)}|${u_(m)})[a-z]*(?=$|[A-Z])`,"g");return l.replace(b,"")},"removeWord");function m8(l){return prt(l)}t(m8,"formatTag");function zA(l,u){var b;let m=(b=l.tags)==null?void 0:b[0];return m8(m??u.defaultTag)}t(zA,"getOperationTag");function Y1(l,u){var b;let m=u.splitByTags?(b=l.tags)==null?void 0:b[0]:u.defaultTag;return m8(m??u.defaultTag)}t(Y1,"getEndpointTag");function grt(l,u){return u.excludeTags.some(m=>m.toLowerCase()===l.toLowerCase())}t(grt,"isTagExcluded");var h8="application/json",wwe={"Content-Type":h8,Accept:h8},ple="data",Awe="axios",VA="config",DC="AxiosRequestConfig",dle={defaultImport:Awe,bindings:[DC],from:"axios"};var r6=Vd(mle()),Dwe=2,yrt=["application/octet-stream","multipart/form-data","application/x-www-form-urlencoded","*/*"],vrt=["query","header","path"],g8=[r6.OpenAPIV3.HttpMethods.GET,r6.OpenAPIV3.HttpMethods.PUT,r6.OpenAPIV3.HttpMethods.POST,r6.OpenAPIV3.HttpMethods.DELETE,r6.OpenAPIV3.HttpMethods.OPTIONS,r6.OpenAPIV3.HttpMethods.HEAD,r6.OpenAPIV3.HttpMethods.PATCH,r6.OpenAPIV3.HttpMethods.TRACE],brt=["string","number","integer","boolean"],AW=["allOf","anyOf","oneOf"];var Srt="Schema",xrt="Enum",Trt="Body",krt="Param",Crt="Response",Ert="ErrorResponse",DW="z.void()",aR="z.any()",hle="z.instanceof(Blob)",IW="z.enum",Prt="z.int()",wrt="z.number()",gle="z.string()",Art="z.email()",Drt="z.url()",Irt="z.uuid()",Nrt="z.iso.datetime({ offset: true })",WA={bindings:["z"],from:"zod"};var n6=Symbol.for("@ts-pattern/matcher"),$Vt=Symbol.for("@ts-pattern/isVariadic"),vle="@ts-pattern/anonymous-select-key",Iwe=t(l=>!!(l&&typeof l=="object"),"r"),yle=t(l=>l&&!!l[n6],"i"),OC=t((l,u,m)=>{if(yle(l)){let b=l[n6](),{matched:T,selections:I}=b.match(u);return T&&I&&Object.keys(I).forEach(L=>m(L,I[L])),T}if(Iwe(l)){if(!Iwe(u))return!1;if(Array.isArray(l)){if(!Array.isArray(u))return!1;let b=[],T=[],I=[];for(let L of l.keys()){let Q=l[L];yle(Q)&&Q[$Vt]?I.push(Q):I.length?T.push(Q):b.push(Q)}if(I.length){if(I.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(u.length<b.length+T.length)return!1;let L=u.slice(0,b.length),Q=T.length===0?[]:u.slice(-T.length),ae=u.slice(b.length,T.length===0?1/0:-T.length);return b.every((ee,pe)=>OC(ee,L[pe],m))&&T.every((ee,pe)=>OC(ee,Q[pe],m))&&(I.length===0||OC(I[0],ae,m))}return l.length===u.length&&l.every((L,Q)=>OC(L,u[Q],m))}return Reflect.ownKeys(l).every(b=>{let T=l[b];return(b in u||yle(I=T)&&I[n6]().matcherType==="optional")&&OC(T,u[b],m);var I})}return Object.is(u,l)},"s"),XA=t(l=>{var u,m,b;return Iwe(l)?yle(l)?(u=(m=(b=l[n6]()).getSelectionKeys)==null?void 0:m.call(b))!=null?u:[]:Array.isArray(l)?OW(l,XA):OW(Object.values(l),XA):[]},"o"),OW=t((l,u)=>l.reduce((m,b)=>m.concat(u(b)),[]),"c");function pS(l){return Object.assign(l,{optional:t(()=>JVt(l),"optional"),and:t(u=>Zp(l,u),"and"),or:t(u=>qVt(l,u),"or"),select:t(u=>u===void 0?Ort(l):Ort(u,l),"select")})}t(pS,"u");function JVt(l){return pS({[n6]:()=>({match:t(u=>{let m={},b=t((T,I)=>{m[T]=I},"r");return u===void 0?(XA(l).forEach(T=>b(T,void 0)),{matched:!0,selections:m}):{matched:OC(l,u,b),selections:m}},"match"),getSelectionKeys:t(()=>XA(l),"getSelectionKeys"),matcherType:"optional"})})}t(JVt,"h");function Zp(...l){return pS({[n6]:()=>({match:t(u=>{let m={},b=t((T,I)=>{m[T]=I},"r");return{matched:l.every(T=>OC(T,u,b)),selections:m}},"match"),getSelectionKeys:t(()=>OW(l,XA),"getSelectionKeys"),matcherType:"and"})})}t(Zp,"m");function qVt(...l){return pS({[n6]:()=>({match:t(u=>{let m={},b=t((T,I)=>{m[T]=I},"r");return OW(l,XA).forEach(T=>b(T,void 0)),{matched:l.some(T=>OC(T,u,b)),selections:m}},"match"),getSelectionKeys:t(()=>OW(l,XA),"getSelectionKeys"),matcherType:"or"})})}t(qVt,"d");function Df(l){return{[n6]:()=>({match:t(u=>({matched:!!l(u)}),"match")})}}t(Df,"p");function Ort(...l){let u=typeof l[0]=="string"?l[0]:void 0,m=l.length===2?l[1]:typeof l[0]=="string"?void 0:l[0];return pS({[n6]:()=>({match:t(b=>{let T={[u??vle]:b};return{matched:m===void 0||OC(m,b,(I,L)=>{T[I]=L}),selections:T}},"match"),getSelectionKeys:t(()=>[u??vle].concat(m===void 0?[]:XA(m)),"getSelectionKeys")})})}t(Ort,"y");function IC(l){return typeof l=="number"}t(IC,"v");function HA(l){return typeof l=="string"}t(HA,"b");function GA(l){return typeof l=="bigint"}t(GA,"w");var Cnr=pS(Df(function(l){return!0}));var QA=t(l=>Object.assign(pS(l),{startsWith:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&b.startsWith(m)))));var m},"startsWith"),endsWith:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&b.endsWith(m)))));var m},"endsWith"),minLength:t(u=>QA(Zp(l,(m=>Df(b=>HA(b)&&b.length>=m))(u))),"minLength"),length:t(u=>QA(Zp(l,(m=>Df(b=>HA(b)&&b.length===m))(u))),"length"),maxLength:t(u=>QA(Zp(l,(m=>Df(b=>HA(b)&&b.length<=m))(u))),"maxLength"),includes:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&b.includes(m)))));var m},"includes"),regex:t(u=>{return QA(Zp(l,(m=u,Df(b=>HA(b)&&!!b.match(m)))));var m},"regex")}),"j"),Enr=QA(Df(HA)),NC=t(l=>Object.assign(pS(l),{between:t((u,m)=>NC(Zp(l,((b,T)=>Df(I=>IC(I)&&b<=I&&T>=I))(u,m))),"between"),lt:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b<m))(u))),"lt"),gt:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b>m))(u))),"gt"),lte:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b<=m))(u))),"lte"),gte:t(u=>NC(Zp(l,(m=>Df(b=>IC(b)&&b>=m))(u))),"gte"),int:t(()=>NC(Zp(l,Df(u=>IC(u)&&Number.isInteger(u)))),"int"),finite:t(()=>NC(Zp(l,Df(u=>IC(u)&&Number.isFinite(u)))),"finite"),positive:t(()=>NC(Zp(l,Df(u=>IC(u)&&u>0))),"positive"),negative:t(()=>NC(Zp(l,Df(u=>IC(u)&&u<0))),"negative")}),"x"),Pnr=NC(Df(IC)),ZA=t(l=>Object.assign(pS(l),{between:t((u,m)=>ZA(Zp(l,((b,T)=>Df(I=>GA(I)&&b<=I&&T>=I))(u,m))),"between"),lt:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b<m))(u))),"lt"),gt:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b>m))(u))),"gt"),lte:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b<=m))(u))),"lte"),gte:t(u=>ZA(Zp(l,(m=>Df(b=>GA(b)&&b>=m))(u))),"gte"),positive:t(()=>ZA(Zp(l,Df(u=>GA(u)&&u>0))),"positive"),negative:t(()=>ZA(Zp(l,Df(u=>GA(u)&&u<0))),"negative")}),"A"),wnr=ZA(Df(GA)),Anr=pS(Df(function(l){return typeof l=="boolean"})),Dnr=pS(Df(function(l){return typeof l=="symbol"})),Inr=pS(Df(function(l){return l==null})),Nnr=pS(Df(function(l){return l!=null}));var Mwe=class Mwe extends Error{constructor(u){let m;try{m=JSON.stringify(u)}catch{m=u}super(`Pattern matching error: no pattern matches value ${m}`),this.input=void 0,this.input=u}};t(Mwe,"W");var Nwe=Mwe,Owe={matched:!1,value:void 0};function Xy(l){return new Fwe(l,Owe)}t(Xy,"z");var NW=class NW{constructor(u,m){this.input=void 0,this.state=void 0,this.input=u,this.state=m}with(...u){if(this.state.matched)return this;let m=u[u.length-1],b=[u[0]],T;u.length===3&&typeof u[1]=="function"?T=u[1]:u.length>2&&b.push(...u.slice(1,u.length-1));let I=!1,L={},Q=t((ee,pe)=>{I=!0,L[ee]=pe},"a"),ae=!b.some(ee=>OC(ee,this.input,Q))||T&&!T(this.input)?Owe:{matched:!0,value:m(I?vle in L?L[vle]:L:this.input,this.input)};return new NW(this.input,ae)}when(u,m){if(this.state.matched)return this;let b=!!u(this.input);return new NW(this.input,b?{matched:!0,value:m(this.input,this.input)}:Owe)}otherwise(u){return this.state.matched?this.state.value:u(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new Nwe(this.input)}run(){return this.exhaustive()}returnType(){return this}};t(NW,"I");var Fwe=NW;function gf(l){return l!=null&&Object.prototype.hasOwnProperty.call(l,"$ref")}t(gf,"isReferenceObject");function iy(l){return!gf(l)}t(iy,"isSchemaObject");function ble(l){return l.type==="array"}t(ble,"isArraySchemaObject");function Frt(l){if(!l.allOf)throw new Error("Function inferRequiredSchema is specialized to handle item with required only in an allOf array.");let[u,m]=l.allOf.reduce((T,I)=>{if(zVt(I)){let L=I.required;T[0].push(...L??[])}else T[1].push(I);return T},[[],[]]),b={properties:u.reduce((T,I)=>(T[I]={},T),{}),type:"object",required:u};return{noRequiredOnlyAllof:m,composedRequiredSchema:b,patchRequiredSchemaInLoop:t((T,I)=>{if(gf(T)){let L=I(T.$ref);L&&b.required.forEach(Q=>{var ae;b.properties[Q]=((ae=L==null?void 0:L.properties)==null?void 0:ae[Q])??{}})}else{let L=T.properties??{};b.required.forEach(Q=>{L[Q]&&(b.properties[Q]=L[Q]??{})})}},"patchRequiredSchemaInLoop")}}t(Frt,"inferRequiredSchema");var zVt=t(l=>!gf(l)&&!!l.required&&!l.type&&!l.properties&&!(l!=null&&l.allOf)&&!(l!=null&&l.anyOf)&&!l.oneOf,"isBrokenAllOfItem");var Rrt=t(l=>`#/components/schemas/${l}`,"getSchemaRef"),y8=t(l=>l[1]==="/"?l:"#/"+l.slice(1),"autocorrectRef"),oR=t(l=>y8(l).split("/").at(-1),"getSchemaNameByRef");function Lwe(l){let u=VVt(l).normalize("NFKD").trim().replace(/\s+/g,"_").replace(/--+/g,"-").replace(/-+/g,"_").replace(/[^\w-]+/g,"_");return ny(u)}t(Lwe,"normalizeString");function jwe(l){return/^[a-zA-Z]\w*$/.test(l)?l:`"${l}"`}t(jwe,"wrapWithQuotesIfNeeded");function Lrt(l){return typeof l=="string"&&l.startsWith('"')&&l.endsWith('"')?l.slice(1,-1):l}t(Lrt,"unwrapQuotesIfNeeded");function VVt(l){let u=Number(l[0]);return typeof u=="number"&&!Number.isNaN(u)?"_"+l:l}t(VVt,"prefixStringStartingWithNumberIfNeeded");function Bwe(l){let u=l.replaceAll("_","#");return ny(u.replaceAll("-","_")).replaceAll("#","_")}t(Bwe,"pathParamToVariableName");var v8=t(l=>brt.includes(l),"isPrimitiveType");function jrt(l){return l.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/([\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F\uFFFE\uFFFF])/g,(u,m)=>{let b=m.codePointAt(),T=b.toString(16);return b<=255?`\\x${`00${T}`.slice(-2)}`:`\\u${`0000${T}`.slice(-4)}`}).replace(/\//g,"\\/")}t(jrt,"escapeControlCharacters");function FC(l){return l.includes("application/")&&l.includes("json")||yrt.includes(l)||l.includes("text/")}t(FC,"isParamMediaTypeAllowed");function FW(l){return l>=200&&l<300}t(FW,"isMainResponseStatus");function Sle(l){return!(l>=200&&l<300)}t(Sle,"isErrorStatus");function xle(l){return l.startsWith("application/")}t(xle,"isMediaTypeAllowed");var Mrt=/({\w+})/g,UVt=/[^\w\-]+/g;function Brt(l){l=u_(wW(l.replaceAll("/","-")).replaceAll("-",""));let u=[...l.matchAll(Mrt)];if(u.length>0){let m=u.sort((b,T)=>b.index-T.index)[u.length-1][0];l=`${l.replace(Mrt,"")}By${u_(m.slice(1,-1))}`}return l.replace(UVt,"_")}t(Brt,"pathToVariableName");var Rwe=/{(\b\w+(?:-\w+)*\b)}/g;function $rt(l){let u=l.match(Rwe);return u===null?l.replaceAll(Rwe,":$1"):(u.forEach(m=>{let b=Bwe(m.replaceAll(Rwe,":$1"));l=l.replaceAll(m,b)}),l)}t($rt,"replaceHyphenatedPath");var Tle=t(l=>{let u=l["x-enumNames"],m=Array.isArray(u)&&u.length>0,b=!!l.schema&&iy(l.schema)&&l.schema.type==="string";return m&&b},"isSortingParameterObject"),b8=t((l,u)=>u.excludePathRegex?new RegExp(u.excludePathRegex).test(l):!1,"isPathExcluded");function MC({schema:l,meta:u,options:m}){let b=[];Xy(l.type).with("string",()=>b.push(GVt(l))).with("number","integer",()=>b.push(ZVt(l))).with("array",()=>b.push(XVt(l))).otherwise(()=>{}),typeof l.description=="string"&&l.description!==""&&m.withDescription&&([`
526
526
  `,"\r",`\r
527
527
  `].some(I=>String.prototype.includes.call(l.description,I))?b.push(`describe(\`${l.description}\`)`):b.push(`describe("${l.description}")`));let T=b.concat(WVt({schema:l,meta:u,options:m}),m.withDefaultValues!==!1?HVt(l):[]).filter(Boolean).join(".");return T?`.${T}`:""}t(MC,"getZodChain");function WVt({schema:l,meta:u,options:m}){return l.nullable&&!(u!=null&&u.isRequired)?"nullish()":l.nullable||m.replaceOptionalWithNullish&&(u!=null&&u.isParentPartial)?"nullable()":u!=null&&u.isRequired?"":m.replaceOptionalWithNullish?"nullish()":"optional()"}t(WVt,"getZodChainablePresence");function HVt(l){return l.default!==void 0?`default(${Xy(l.type).with("number","integer",()=>Lrt(l.default)).otherwise(()=>JSON.stringify(l.default))})`:""}t(HVt,"getZodChainableDefault");function GVt(l){let u=[];return l.enum||(l.minLength!==void 0&&u.push(`min(${l.minLength})`),l.maxLength!==void 0&&u.push(`max(${l.maxLength})`)),l.pattern&&u.push(`regex(${QVt(l.pattern)})`),u.join(".")}t(GVt,"getZodChainableStringValidations");function QVt(l){return l.startsWith("/")&&l.endsWith("/")&&(l=l.slice(1,-1)),l=jrt(l),`/${l}/`}t(QVt,"formatPatternIfNeeded");function ZVt(l){let u=[];return l.enum?"":(l.minimum!==void 0?l.exclusiveMinimum===!0?u.push(`gt(${l.minimum})`):u.push(`gte(${l.minimum})`):typeof l.exclusiveMinimum=="number"&&u.push(`gt(${l.exclusiveMinimum})`),l.maximum!==void 0?l.exclusiveMaximum===!0?u.push(`lt(${l.maximum})`):u.push(`lte(${l.maximum})`):typeof l.exclusiveMaximum=="number"&&u.push(`lt(${l.exclusiveMaximum})`),l.multipleOf&&u.push(`multipleOf(${l.multipleOf})`),u.join("."))}t(ZVt,"getZodChainableNumberValidations");function XVt(l){let u=[];return l.minItems&&u.push(`min(${l.minItems})`),l.maxItems&&u.push(`max(${l.maxItems})`),u.join(".")}t(XVt,"getZodChainableArrayValidations");var C_=t(({type:l,tag:u,options:m})=>`${u_(u)}${m.configs[l].namespaceSuffix}`,"getNamespaceName");var S8=t(l=>l.reduce((u,m)=>u+m,0),"sum");function hg(l,u){if(!u)return l;if(gf(u))return l+2;if(Array.isArray(u.type))return u.type.length===1?Db("oneOf")+hg(l,{...u,type:u.type[0]}):l+Db("oneOf")+S8(u.type.map(m=>hg(0,{...u,type:m})));if(u.oneOf)return u.oneOf.length===1?Db("oneOf")+hg(l,u.oneOf[0]):l+Db("oneOf")+S8(u.oneOf.map(m=>hg(0,m)));if(u.anyOf)return u.anyOf.length===1?Db("anyOf")+hg(l,u.anyOf[0]):l+Db("anyOf")+S8(u.anyOf.map(m=>hg(0,m)));if(u.allOf)return u.allOf.length===1?Db("allOf")+hg(l,u.allOf[0]):l+Db("allOf")+S8(u.allOf.map(m=>hg(0,m)));if(!u.type)return l;if(v8(u.type))return u.enum?l+Jrt(u)+Db("enum")+S8(u.enum.map(m=>hg(0,m))):l+Jrt(u);if(u.type==="array")return u.items?Db("array")+hg(l,u.items):Db("array")+hg(l);if(u.type==="object"||u.properties||u.additionalProperties){if(u.properties){let m=Object.values(u.properties);l+=Db("object")+S8(m.map(b=>hg(0,b)))}else l+=Db("empty-object");u.additionalProperties&&(typeof u.additionalProperties=="object"?l+=hg(0,u.additionalProperties):l+=hg(1))}return l}t(hg,"getOpenAPISchemaComplexity");function Jrt(l){return Xy(l.type).with("string","number","integer","boolean",()=>1).otherwise(()=>0)}t(Jrt,"complexityByType");function Db(l){return Xy(l).with("oneOf",()=>2).with("anyOf",()=>3).with("allOf",()=>2).with("enum","array","empty-object",()=>1).with("object",()=>2).otherwise(()=>0)}t(Db,"complexityByComposite");var Jwe=class Jwe{constructor(u,m,b={referencedBy:[]},T){this.schema=u;this.resolver=m;gf(u)&&(this.ref=u.$ref),T&&(this.enumRef=T),this.meta={...b,referencedBy:[...(b==null?void 0:b.referencedBy)??[]]},this.ref&&this.meta.referencedBy.push(this)}code;ref;enumRef;children=[];meta;getCodeString(u,m){var I,L;if(!this.ref&&this.code)return this.code;if(!this.ref)throw new Error("Zod schema is missing both ref and code");let b=(I=this.resolver)==null?void 0:I.getZodSchemaNameByRef(this.ref);if(!b)return this.ref;let T=(L=this.resolver)==null?void 0:L.getTagByZodSchemaName(b);return m!=null&&m.tsNamespaces&&T&&T!==u?`${C_({type:"models",tag:T,options:m})}.${b}`:b}get complexity(){return hg(0,this.schema)}assign(u){return this.code=u,this}inherit(u){return u&&u.children.push(this),this}};t(Jwe,"ZodSchema");var MW=Jwe;function $we(l){var u,m;if(l)return(u=l.parent)!=null&&u.ref?l.parent.ref:$we((m=l.parent)==null?void 0:m.meta)}t($we,"getParentRef");function qrt(l,u){let m=l.getRefByZodSchemaName(u);if(m){let T=Array.from(l.dependencyGraph.refsDependencyGraph[m]??[]).map(L=>l.getZodSchemaNameByRef(L)),I=l.getExtractedEnumZodSchemaNamesReferencedBySchemaRef(m);return[...T,...I]}let b=l.getCompositeZodSchemaByZodSchemaName(u);return b?Array.from(kle(b)).map(T=>l.getZodSchemaNameByRef(T)):[]}t(qrt,"getZodSchemaRefs");function kle(l,{skipObjectSchema:u=!1}={}){return l.children.reduce((b,T)=>{let I=T.ref??T.enumRef;return I&&b.add(I),T.children.length>0&&(!u||!iy(T.schema)||T.schema.type!=="object")&&kle(T).forEach(L=>b.add(L)),b},new Set)}t(kle,"getSchemaRefs");function Hd({schema:l,resolver:u,meta:m,tag:b}){var rr;let T=new MW(l,u,m),I={parent:T.inherit(m==null?void 0:m.parent),referencedBy:[...T.meta.referencedBy]},L={resolver:u,meta:I,tag:b};if(gf(l))return YVt({schema:l,zodSchema:T,resolver:u,meta:I,tag:b});let Q=eUt({schema:l,zodSchema:T,resolver:u,meta:I,tag:b});if(Q)return Q;let ae=KVt({schema:l,zodSchema:T,resolver:u,meta:I,tag:b});if(ae)return ae;let ee=tUt({schema:l,zodSchema:T,resolver:u,meta:I,tag:b});if(ee)return ee;let pe=rUt({schema:l,zodSchema:T,resolver:u,meta:I,tag:b});if(pe)return pe;let Te=nUt({schema:l,zodSchema:T,resolver:u,meta:I,tag:b});if(Te)return Te;let Ke=u.options.allReadonly?".readonly()":"";if(ble(l))return l.items?T.assign(`z.array(${Hd({...L,schema:l.items}).getCodeString(b,u.options)}${MC({schema:l.items,meta:{...I,isRequired:!0},options:u.options})})${Ke}`):T.assign(`z.array(${aR})${Ke}`);let Pt=l.type?l.type.toLowerCase():void 0;if(Pt==="object"||l.properties||l.additionalProperties){let or=l.required&&l.required.length>0,Lt=u.options.withImplicitRequiredProps?!1:l.properties&&!((rr=l.required)!=null&&rr.length),Xt="{}";l.properties&&(Xt=`{ ${Object.entries(l.properties).map(([vo,Vn])=>{var Ht;let ql={...I,isRequired:Lt?!0:or?(Ht=l.required)==null?void 0:Ht.includes(vo):u.options.withImplicitRequiredProps,name:vo,isParentPartial:Lt},zl=Vn;if(gf(Vn)&&u&&(zl=u.getSchemaByRef(Vn.$ref),!zl))throw new Error(`Schema ${Vn.$ref} not found`);let ia=Hd({...L,schema:Vn,meta:ql}),lr=ia.getCodeString(b,u.options)+MC({schema:zl,meta:ql,options:u.options}),xs=!1,Fs=$we(m);return Fs&&(xs=[...gf(Vn)?[Vn.$ref]:[],...kle(ia,{skipObjectSchema:!0})].some(wa=>{var Eo;return(Eo=u.dependencyGraph.deepDependencyGraph[wa])==null?void 0:Eo.has(Fs)})),[vo,lr,xs]}).map(([vo,Vn,ql])=>ql?`get ${jwe(vo)}() { return ${Vn} }`:`${jwe(vo)}: ${Vn}`).join(", ")} }`);let Vt="";l.additionalProperties&&(Vt=`.catchall(${typeof l.additionalProperties=="object"&&Object.keys(l.additionalProperties).length>0?Hd({...L,schema:l.additionalProperties}).getCodeString(b,u.options)+MC({schema:l.additionalProperties,meta:{...I,isRequired:!0},options:u.options}):aR})`);let zn=`z.object(${Xt})${Lt?".partial()":""}${Vt}${Ke}`;return T.assign(zn)}if(Pt==="any")return T.assign(aR);if(!Pt)return T.assign("z.unknown()");throw new Error(`Unsupported schema type: ${Pt}`)}t(Hd,"getZodSchema");function YVt({schema:l,zodSchema:u,resolver:m,meta:b,tag:T}){if(!gf(l))return;let I=u.meta.referencedBy.slice(0,-1).map(ae=>ae.ref?m.getZodSchemaNameByRef(ae.ref)??ae.ref:void 0).filter(Boolean),L=m.getZodSchemaNameByRef(l.$ref);if(I.length>1&&I.includes(L))return u.assign(m.getCodeByZodSchemaName(u.ref));let Q=m.getCodeByZodSchemaName(l.$ref);if(!Q){let ae=m.getSchemaByRef(l.$ref);if(!ae)throw new Error(`Schema ${l.$ref} not found`);Q=Hd({schema:ae,resolver:m,meta:b,tag:T}).getCodeString(T,m.options)}return m.getCodeByZodSchemaName(L)||m.setZodSchema(L,Q,T),u}t(YVt,"getReferenceZodSchema");function KVt({schema:l,zodSchema:u,resolver:m,meta:b,tag:T}){var L;if(!iy(l)||!l.oneOf)return;if(l.oneOf.length===1){let Q=Hd({schema:l.oneOf[0],resolver:m,meta:b,tag:T});return u.assign(Q.getCodeString(T,m.options))}let I=(L=l.oneOf)==null?void 0:L.some(Q=>iy(Q)&&((Q==null?void 0:Q.allOf)||[]).length>1);if(l.discriminator&&!I){let Q=l.discriminator.propertyName;return u.assign(`
528
528
  z.discriminatedUnion("${Q}", [${l.oneOf.map(ae=>Hd({schema:ae,resolver:m,meta:b,tag:T}).getCodeString(T,m.options)).join(", ")}])
@@ -534,7 +534,7 @@ ${T.map(I=>`- ${I}`).join(`
534
534
  `)}
535
535
  `)}return m.validationErrors}t(sit,"checkOpenAPIDoc");function yUt(l,u){return["models","endpoints","queries"].map(m=>uT({output:u.output,fileName:$le({tag:l,type:m,options:u})}))}t(yUt,"getOutputFileNames");function Vle({fileConfig:l={},params:{excludeTags:u,...m}}){let b=Grt(dR,l??{},{...m,excludeTags:u==null?void 0:u.split(",")});return b.checkAcl=b.acl&&b.checkAcl,b}t(Vle,"resolveConfig");var jC=Vd(require("fs")),KW=Vd(require("path"));var bUt=["openapi-codegen.config.ts"];async function Ule(l){try{if(l)return await oit(l);for(let u of bUt){let m=KW.default.resolve(process.cwd(),u);if(jC.default.existsSync(m))return await oit(m)}return null}catch(u){return HN(`Failed to load configuration: ${u instanceof Error?u.message:u}`),null}}t(Ule,"loadConfig");async function oit(l){let u=KW.default.resolve(process.cwd(),l);if(!jC.default.existsSync(u))throw new Error(`Configuration file not found: ${l}`);let m=KW.default.extname(u).toLowerCase();if(m!==".ts")throw new Error(`Only TypeScript configuration files are supported. Found: ${m}`);return xUt(u)}t(oit,"loadConfigFromPath");var cAe,SUt=t(function(u){return cAe===void 0&&(cAe=require("import-fresh")),cAe(u)},"loadJsSync"),LC;async function xUt(l){LC===void 0&&(LC=ait());let u=`${l.slice(0,-2)}cjs`;try{let m=TUt(KW.default.dirname(l))??{};m.compilerOptions={...m.compilerOptions,module:LC.ModuleKind.NodeNext,moduleResolution:LC.ModuleResolutionKind.NodeNext,target:LC.ScriptTarget.ES2022,noEmit:!1};let b=jC.default.readFileSync(l,"utf-8"),T=LC.transpileModule(b,m).outputText;return(0,jC.writeFileSync)(u,T),SUt(u).default}catch(m){throw m.message=`TypeScript Error in ${l}:
536
536
  ${m.message}`,m}finally{(0,jC.existsSync)(u)&&(0,jC.rmSync)(u)}}t(xUt,"loadTsConfig");function TUt(l){let u=LC.findConfigFile(l,T=>LC.sys.fileExists(T));if(u===void 0)return;let{config:m,error:b}=LC.readConfigFile(u,T=>LC.sys.readFile(T));if(b)throw new Error(`Error in ${u}: ${b.messageText.toString()}`);return m}t(TUt,"resolveTsConfig");async function lit({verbose:l,config:u,excludeTags:m,...b}){let T=Date.now();l&&oS("Resolving config...");let I=await Ule(u),L=Vle({fileConfig:I,params:b});l&&oS("Parsing OpenAPI spec...");let Q=await cit.default.bundle(L.input);l&&oS("Running check...");let ae=sit(Q,L);if(ae.length===0)LU(`Time: ${Date.now()-T}ms`);else throw new Error(`Found ${ae.length} issues. Time: ${Date.now()-T}ms`)}t(lit,"check");var fT=class fT{config;input;splitByTags;defaultTag;excludeTags;excludePathRegex;excludeRedundantZodSchemas;verbose};t(fT,"CheckOptions"),qu([zu({envAlias:"config"})],fT.prototype,"config",2),qu([zu({envAlias:"input"})],fT.prototype,"input",2),qu([zu({envAlias:"splitByTags",type:"boolean"})],fT.prototype,"splitByTags",2),qu([zu({envAlias:"defaultTag"})],fT.prototype,"defaultTag",2),qu([zu({envAlias:"excludeTags"})],fT.prototype,"excludeTags",2),qu([zu({envAlias:"excludePathRegex"})],fT.prototype,"excludePathRegex",2),qu([zu({envAlias:"excludeRedundantZodSchemas",type:"boolean"})],fT.prototype,"excludeRedundantZodSchemas",2),qu([zu({envAlias:"verbose",default:!1,type:"boolean"})],fT.prototype,"verbose",2);var lAe=fT,uit={command:"check",describe:"Check OpenAPI spec",builder:ace(lAe),handler:t(async l=>{let u=await l;return u.verbose&&sce(`OpenAPI CodeGen ${SM()}`),lit(u)},"handler")};var Pat=Vd(Cwe()),wat=require("child_process");var t3e=Vd(l6());var u6=Vd(l6());function tat(l){mGt(),hGt(l.options),gGt(),yGt(),vGt(),bGt(),SGt(),xGt()}t(tat,"registerAclHbsHelpers");function mGt(){u6.default.registerHelper("abilityFunctionName",zW)}t(mGt,"registerAbilityFunctionNameHelper");function hGt(l){u6.default.registerHelper("importedAbilityFunctionName",u=>jle(u,l))}t(hGt,"registerImportedAbilityFunctionNameHelper");function gGt(){u6.default.registerHelper("ablityAction",Xwe)}t(gGt,"registerAbilityActionHelper");function yGt(){u6.default.registerHelper("ablitySubject",Ywe)}t(yGt,"registerAbilitySubjectHelper");function vGt(){u6.default.registerHelper("hasAbilityConditions",VW)}t(vGt,"registerHasAbilityConditionsHelper");function bGt(){u6.default.registerHelper("abilityConditionsTypes",mR)}t(bGt,"registerAbilityConditionsTypesHelper");function SGt(){u6.default.registerHelper("abilityDescription",dnt)}t(SGt,"registerAbilityDescriptionHelper");function xGt(){u6.default.registerHelper("abilitySubjectTypes",Kwe)}t(xGt,"registerAbilitySubjectTypesHelper");var R8=Vd(l6());function rat(){TGt(),kGt(),CGt(),EGt(),PGt(),wGt()}t(rat,"registerCommonHbsHelpers");function TGt(){R8.default.registerHelper("isEqual",(l,u)=>l===u)}t(TGt,"registerIsEqualHelper");function kGt(){R8.default.registerHelper("commaSeparated",l=>l.join(", "))}t(kGt,"registerCommaSeparatedListHelper");function CGt(){R8.default.registerHelper("union",l=>l.join(" | "))}t(CGt,"registerUnionHelper");function EGt(){R8.default.registerHelper("addAsteriskAfterNewLine",l=>l.replace(/\n/g,`
537
- *`))}t(EGt,"registerAddAsteriskAfterNewLineHelper");function PGt(){R8.default.registerHelper("jsonStringify",l=>JSON.stringify(l,null,2))}t(PGt,"registerJsonStringifyHelper");function wGt(){R8.default.registerHelper("capitalize",u_)}t(wGt,"registerCapitalizeHelper");var o3=Vd(l6());function nat(l){AGt(),DGt(l.options),OGt(l),IGt(),NGt(),FGt(l),MGt()}t(nat,"registerEndpointsHbsHelpers");function AGt(){o3.default.registerHelper("endpointName",ZW)}t(AGt,"registerEndpointNameHelper");function DGt(l){o3.default.registerHelper("importedEndpointName",u=>Ont(u,l))}t(DGt,"registerImportedEndpointNameHelper");function IGt(){o3.default.registerHelper("endpointPath",Rnt)}t(IGt,"registerEndpointPathHelper");function NGt(){o3.default.registerHelper("endpointBody",n3)}t(NGt,"registerEndpointBodyHelper");function OGt(l){o3.default.registerHelper("endpointParams",(u,m)=>i3(l,u,m.hash))}t(OGt,"registerEndpointParamsHelper");function FGt(l){o3.default.registerHelper("endpointArgs",(u,m)=>i3(l,u,m.hash).map(b=>b.name).join(", "))}t(FGt,"registerEndpointArgsHelper");function MGt(){o3.default.registerHelper("endpointParamDescription",l=>{var I,L,Q,ae,ee;let u=[`${l.paramType} parameter`],m=((I=l.parameterObject)==null?void 0:I.description)||((L=l.bodyObject)==null?void 0:L.description);m&&u.push(m);let b,T;if((Q=l.parameterObject)!=null&&Q.schema&&iy(l.parameterObject.schema)&&(b=(ae=l.parameterObject)==null?void 0:ae.schema),(ee=l.bodyObject)!=null&&ee.content){let Te=Object.keys(l.bodyObject.content??{}).find(FC);Te&&(T=l.bodyObject.content[Te],T.schema&&iy(T.schema)&&(b=T.schema))}if(b){let pe=GW(b);u.push(...pe)}return T!=null&&T.example&&u.push(`Example: \`${T.example}\``),u.join(". ")})}t(MGt,"registerEndpointParamDescriptionHelper");var iat=Vd(l6());function sat(){RGt()}t(sat,"registerImportsHbsHelpers");function RGt(){iat.default.registerHelper("importNames",(l,u)=>[...u?[u]:[],...l?[`{ ${l.join(", ")} }`]:[]].join(", "))}t(RGt,"registerBindingsHelper");var gg=Vd(l6());var pT={query:"useQuery",infiniteQuery:"useInfiniteQuery",mutation:"useMutation"},aat={bindings:[pT.query,pT.infiniteQuery,pT.mutation],from:"@tanstack/react-query"},pH="moduleName";function oat(l){LGt(),jGt(),BGt(),$Gt(l),JGt(l),qGt(),zGt(l),VGt(l),UGt(l),WGt(l),HGt(l),GGt(),QGt(),ZGt(),XGt(),YGt(),KGt()}t(oat,"registerPartialsHbsHelpers");function LGt(){gg.default.registerHelper("genModelJsDocs",(l,u,m)=>oy("model-js-docs")({name:l,zodSchema:u,tag:m}))}t(LGt,"registerGenerateModelJsDocsHelper");function jGt(){gg.default.registerHelper("genImport",l=>oy("import")({import:l}))}t(jGt,"registerImportHelper");function BGt(){gg.default.registerHelper("genEndpointParams",(l,u)=>oy("endpoint-params")({endpoint:l,options:u}))}t(BGt,"registerGenerateEndpointParamsHelper");function $Gt(l){gg.default.registerHelper("hasUndefinedEndpointBody",u=>Fnt(u)&&!n3(u)&&Mnt(u,l))}t($Gt,"registerHasUndefinedEndpointBodyHelper");function JGt(l){gg.default.registerHelper("genEndpointConfig",u=>{let m=rAe(u),b=l.options.axiosRequestConfig;return Object.keys(m).length===0?b?VA:"":oy("endpoint-config")({endpointConfig:m,hasAxiosRequestConfig:b,hasBlobResponse:u.response===hle,hasFileDownload:u.mediaDownload,axiosRequestConfigName:VA,generateParse:l.options.parseRequestParams})})}t(JGt,"registerGenerateEndpointConfigHelper");function qGt(){gg.default.registerHelper("genEndpointParamParse",(l,u)=>{var m;return oy("endpoint-param-parse")({param:l,paramName:u,isQuery:l.type==="Query",zodExtendedNamespace:dS.namespace,parse:dS.exports.parse,sortExp:dS.exports.sortExp,addOptional:!((m=l.parameterObject??l.bodyObject)!=null&&m.required)&&(l.parameterSortingEnumSchemaName||wh(l.zodSchema))})})}t(qGt,"registerGenerateEndpointParamParseHelper");function zGt(l){gg.default.registerHelper("genQueryKeys",u=>u.length===0?"":oy("query-keys")({queryEndpoints:u,queriesModuleName:pH,generateInfiniteQueries:l.options.infiniteQueries}))}t(zGt,"registerGenerateQueryKeysHelper");function VGt(l){gg.default.registerHelper("genQuery",u=>{if(!mS(u))return;let m=l.options.axiosRequestConfig,b=l.options.checkAcl&&u.acl;return oy("query-use-query")({endpoint:u,queryHook:pT.query,hasQueryFn:i3(l,u).length>0||m||b,hasQueryFnBody:b,hasAxiosRequestConfig:m,axiosRequestConfigName:VA,axiosRequestConfigType:DC,hasAclCheck:b,aclCheckHook:e3})})}t(VGt,"registerGenerateQueryHelper");function UGt(l){gg.default.registerHelper("genMutation",(u,m)=>{if(!t3(u))return;let b=Lnt(u,m),T=jnt(l,u,b),I=l.options.checkAcl&&u.acl;return oy("query-use-mutation")({endpoint:u,queryHook:pT.mutation,queriesModuleName:pH,hasAxiosRequestConfig:l.options.axiosRequestConfig,hasMutationFnBody:u.mediaUpload||I,axiosRequestConfigName:VA,axiosRequestConfigType:DC,hasMutationEffects:l.options.mutationEffects,mutationEffectsType:lR.optionsType,updateQueryEndpoints:b,destructuredVariables:T,hasAclCheck:I,aclCheckHook:e3})})}t(UGt,"registerGenerateMutationHelper");function WGt(l){gg.default.registerHelper("genInfiniteQuery",u=>{if(!l.options.infiniteQueries||!gR(u,l.options))return;let m=l.options.checkAcl&&u.acl;return oy("query-use-infinite-query")({endpoint:u,infiniteQueryHook:pT.infiniteQuery,hasQueryFnBody:m,pageParamName:l.options.infiniteQueryResponseParamNames.page,totalItemsName:l.options.infiniteQueryResponseParamNames.totalItems,limitParamName:l.options.infiniteQueryResponseParamNames.limit,hasAxiosRequestConfig:l.options.axiosRequestConfig,axiosRequestConfigName:VA,axiosRequestConfigType:DC,hasAclCheck:m,aclCheckHook:e3})})}t(WGt,"registerGenerateInfiniteQueryHelper");function HGt(l){gg.default.registerHelper("genQueryJsDocs",(u,m)=>oy("query-js-docs")({endpoint:u,query:m.hash.query,mutation:m.hash.mutation,infiniteQuery:m.hash.infiniteQuery,hasMutationEffects:l.options.mutationEffects,mutationEffectsType:lR.optionsType}))}t(HGt,"registerGenerateQueryJsDocsHelper");function GGt(){gg.default.registerHelper("genCaslAbilityType",l=>oy("casl-ability-type")({endpoint:l,abilityTuple:sy.abilityTuple}))}t(GGt,"registerGenerateCaslAbilityTypeHelper");function QGt(){gg.default.registerHelper("genCaslAbilityFunction",l=>oy("casl-ability-function")({endpoint:l}))}t(QGt,"registerGenerateCaslAbilityFunctionHelper");function ZGt(){gg.default.registerHelper("genCaslAbilityQuery",l=>oy("casl-ability-query")({endpoint:l}))}t(ZGt,"registerGenerateCaslAbilityQueryHelper");function XGt(){gg.default.registerHelper("genAclCheckCall",l=>{var T;let u=(T=mR(l))==null?void 0:T.map(I=>I.name),m=l.parameters.map(I=>I.name),b=u==null?void 0:u.every(I=>m.includes(I));return oy("acl-check-call")({endpoint:l,generateAclCheckParams:VW(l)&&b})})}t(XGt,"registerGenerateAclCheckCallHelper");function YGt(){gg.default.registerHelper("genInputsConfig",l=>oy("inputs-config")({inputsConfig:l}))}t(YGt,"registerGenerateInputsConfigHelper");function KGt(){gg.default.registerHelper("genColumnsConfig",l=>oy("columns-config")({columnsConfig:l}))}t(KGt,"registerGenerateColumnsConfigHelper");var wR=Vd(l6());function cat(l){eQt(),rQt(),nQt(),tQt(),iQt(l)}t(cat,"registerQueryHbsHelpers");function eQt(){wR.default.registerHelper("queryName",(l,u)=>WW(l,u.hash.mutation))}t(eQt,"registerQueryNameHelper");function tQt(){wR.default.registerHelper("infiniteQueryName",HW)}t(tQt,"registerInfiniteQueryNameHelper");function rQt(){wR.default.registerHelper("isQuery",mS)}t(rQt,"registerIsQueryHelper");function nQt(){wR.default.registerHelper("isMutation",t3)}t(nQt,"registerIsMutationHelper");function iQt(l){wR.default.registerHelper("isInfiniteQuery",u=>gR(u,l.options))}t(iQt,"registerIsInfiniteQueryHelper");var L8=Vd(l6());function lat(l){sQt(l.options),aQt(l),oQt(l),cQt(),lQt(),uQt(l)}t(lat,"registerZodHbsHelpers");function sQt(l){L8.default.registerHelper("zodInferedType",u=>QW(u,l))}t(sQt,"registerInferedTypeHelper");function aQt(l){L8.default.registerHelper("importedZodSchemaName",u=>w8(l,u))}t(aQt,"registerImportedZodSchemaNameHelper");function oQt(l){L8.default.registerHelper("importedZodSchemaInferedType",u=>P8(l,u))}t(oQt,"registerImportedZodSchemaInferedTypeHelper");function cQt(){L8.default.registerHelper("zodSchemaType",l=>gnt(l))}t(cQt,"registerZodSchemaTypeHelper");function lQt(){L8.default.registerHelper("zodSchemaDescription",l=>ynt(l))}t(lQt,"registerZodSchemaDescriptionHelper");function uQt(l){L8.default.registerHelper("zodSchemaPropertyDescriptions",(u,m)=>bnt(l,u,m))}t(uQt,"registerZodSchemaPropertyDescriptionsHelper");function Ah(l,u){let m=oAe(u);return rat(),sat(),lat(l),nat(l),cat(l),tat(l),oat(l),t3e.default.compile(m)}t(Ah,"getHbsTemplateDelegate");function oy(l){let u=oAe(`partials/${l}`);return t3e.default.compile(u)}t(oy,"getHbsPartialTemplateDelegate");function uat({resolver:l,data:u,tag:m}){let b=eAe({resolver:l,data:u,tag:m});if(!b)return;let{hasAdditionalAbilityImports:T,modelsImports:I,endpoints:L}=b,Q={bindings:[sy.abilityTuple,...T?[sy.forcedSubject,sy.subject]:[]],from:Zwe.from};return Ah(l,"acl")({caslAbilityTupleImport:Q,modelsImports:I,includeNamespace:l.options.tsNamespaces,namespace:C_({type:"acl",tag:m,options:l.options}),endpoints:L})}t(uat,"generateAcl");function fat({resolver:l,data:u}){let{appAbilitiesType:m,hasAdditionalAbilityImports:b,modelsImports:T}=mnt({resolver:l,data:u}),I={bindings:[sy.pureAbility,sy.abilityTuple,...m?[]:[sy.subjectType],...b?[sy.forcedSubject]:[]],from:Zwe.from};return Ah(l,"app-acl")({caslAbilityTupleImport:I,modelsImports:T,appAbilitiesType:m,appAbilities:qW,abilityTuple:sy.abilityTuple,subjectType:sy.subjectType})}t(fat,"generateAppAcl");var r3e="config";function _at({data:l,tag:u,resolver:m}){var Lt;let b=(Lt=l.get(u))==null?void 0:Lt.endpoints;if(!b||b.length===0)return{configs:[]};let T=b.map(Xt=>({...Xt,pathSegments:fnt(Xt.path)})),I=T.filter(Xt=>snt(Xt,m.options)),L=fQt(I),Q=!1,ae=[],ee=[],pe=[],Te=Object.entries(L).map(([Xt,Vt])=>{let Ti=_Qt(m,Vt);if(!Ti)return;ee.push(Vt),pe.push(Vt),Ti.zodSchema&&(wh(Ti.zodSchema)?ae.push(Ti.zodSchema):Q=!0),Ti.sortableEnumSchemaName&&ae.push(Ti.sortableEnumSchemaName);let zn=Vt.parameters.find(lr=>lr.name===m.options.filterParamName);zn&&ae.push(zn.zodSchema);let _i={name:Xt,title:u_(_le(Xt.replace(/config$/i,""))),readAll:{acl:AR(Vt,m.options),paginated:E8(Vt,m.options),infinite:m.options.infiniteQueries?hnt(Vt,m.options):void 0,filters:wue(m,zn),columns:Ti.columns}},vo=T.find(lr=>ant(lr,Vt));if(vo){ee.push(vo);let lr=vo.response;wh(lr)?(ae.push(lr),lr=w8(m,lr)):Q=!0,_i.read={acl:AR(vo,m.options),schema:lr,query:E8(vo,m.options)}}let Vn=T.find(lr=>ont(lr,Vt));if(Vn){ee.push(Vn);let lr=n3(Vn);lr&&ae.push(lr.zodSchema),_i.create={acl:AR(Vn,m.options),mutation:E8(Vn,m.options),inputDefs:wue(m,lr)}}let ql=T.find(lr=>cnt(lr,Vt));if(ql){ee.push(ql);let lr=n3(ql);lr&&ae.push(lr.zodSchema),_i.update={acl:AR(ql,m.options),mutation:E8(ql,m.options),inputDefs:wue(m,lr)}}let zl=T.find(lr=>lnt(lr,Vt));zl&&(ee.push(zl),_i.delete={acl:AR(zl,m.options),mutation:E8(zl,m.options)});let ia=T.find(lr=>unt(lr,Vt));if(ia){ee.push(ia);let lr=n3(ia);lr&&ae.push(lr.zodSchema),_i.bulkDelete={acl:AR(ia,m.options),mutation:E8(ia,m.options),inputDefs:wue(m,lr)}}return _i}),Ke=RC({resolver:m,tag:u,zodSchemas:ae}),Pt=xnt({tag:u,endpoints:ee,options:m.options}),rr=m.options.infiniteQueries?Tnt({tag:u,endpoints:pe,options:m.options}):[],or=Ble({tag:u,endpoints:ee.filter(Xt=>Xt.acl),options:m.options});return{configs:Te.filter(Boolean),hasZodImport:Q,modelsImports:Ke,queriesImports:UW(m.options,Pt,rr),aclImports:or}}t(_at,"getBuilderConfigs");function fQt(l){let u=l.map(b=>({...b,namePathSegments:b.pathSegments.filter(T=>!pR(T))})).sort((b,T)=>b.namePathSegments.length-T.namePathSegments.length),m={};for(let b of u){let T=b.namePathSegments,I=T.length>0?`${wW(T.pop())}${u_(r3e)}`:r3e;for(;m[I];){if(T.length===0)throw new Error(`Can't uniquely resolve builder config name: ${I}`);I=`${wW(T.pop())}${u_(I)}`}m[I]=b}return m}t(fQt,"resolveBuilderConfigNames");function AR(l,u){return u.acl&&l.acl?jle(l,u):void 0}t(AR,"getAclConfig");function wue(l,u){var I,L,Q;if(!u)return;let m;if(u.type==="Body"?m=(L=(I=u.bodyObject)==null?void 0:I.content[h8])==null?void 0:L.schema:m=(Q=u.parameterObject)==null?void 0:Q.schema,!m)return;let b=l.resolveObject(m),T=Object.keys((b==null?void 0:b.properties)??{}).reduce((ae,ee)=>({...ae,[ee]:!0}),{});return{schema:w8(l,u.zodSchema),options:{inputs:T}}}t(wue,"getInputsConfig");function _Qt(l,u){var Pt,rr,or;let m=u.responseObject;if(!m)return;let b=(rr=(Pt=m.content)==null?void 0:Pt[h8])==null?void 0:rr.schema;if(!b)return;let T=pat(l,b),I=Object.keys(T).filter(Lt=>l.resolveObject(T[Lt]).type==="array");I.sort((Lt,Xt)=>{let Vt=l.options.dataResponseParamNames.indexOf(Lt),Ti=l.options.dataResponseParamNames.indexOf(Xt);return Vt!==-1&&Ti!==-1?Vt-Ti:Vt!==-1?-1:Ti!==-1?1:Lt.localeCompare(Xt)});let L=I[0];if(!L)return;let Q=l.resolveObject(T[L]);if(!Q||Q.type!=="array")return;let ae=Q.items,ee=l.resolveObject(ae);if(!ee)return;let pe=gf(ae)?l.getZodSchemaNameByRef(ae.$ref):aR,Te=Object.keys((ee==null?void 0:ee.properties)??{}).reduce((Lt,Xt)=>({...Lt,[Xt]:!0}),{}),Ke=(or=u.parameters.find(Lt=>Lt.parameterObject&&Tle(Lt.parameterObject)))==null?void 0:or.parameterSortingEnumSchemaName;return{columns:{schema:w8(l,pe),options:{columns:Te,sortable:Ke?w8(l,Ke):void 0}},zodSchema:pe,sortableEnumSchemaName:Ke}}t(_Qt,"getColumnsConfig");function pat(l,u){let m=l.resolveObject(u);return m.properties?m.properties:"allOf"in m&&m.allOf?m.allOf.reduce((b,T)=>({...b,...pat(l,T)}),{}):{}}t(pat,"getSchemaProperties");function dat(l){let{configs:u,hasZodImport:m,modelsImports:b,queriesImports:T,aclImports:I}=_at(l);if(u.length===0)return;let{resolver:L,tag:Q}=l,ae=u.some(Pt=>{var rr,or;return Pt.readAll.filters||((rr=Pt.create)==null?void 0:rr.inputDefs)||((or=Pt.update)==null?void 0:or.inputDefs)}),ee={bindings:[LW.dynamicInputs],from:L.options.dynamicInputsImportPath},pe=u.some(Pt=>Pt.readAll.columns),Te={bindings:[LW.dynamicColumns],from:L.options.dynamicColumnsImportPath};return Ah(L,"configs")({hasZodImport:m,zodImport:WA,hasDynamicInputsImport:ae,dynamicInputsImport:ee,hasDynamicColumnsImport:pe,dynamicColumnsImport:Te,modelsImports:b,queriesImports:T,aclImports:I,includeNamespace:L.options.tsNamespaces,namespace:C_({type:"configs",tag:Q,options:L.options}),configs:u,dynamicInputs:LW.dynamicInputs,dynamicColumns:LW.dynamicColumns})}t(dat,"generateConfigs");function mat({resolver:l,data:u,tag:m}){var Vt;let b=(Vt=u.get(m))==null?void 0:Vt.endpoints;if(!b||b.length===0)return;let T={bindings:[RW],from:Cnt(l.options)},I=l.options.axiosRequestConfig,L=I,Q={bindings:I?[DC]:[],from:dle.from},ae=l.options.parseRequestParams,ee=b.reduce((Ti,zn)=>[...Ti,...zn.parameters],[]),pe=ee.filter(Ti=>!["Path","Header"].includes(Ti.type)).map(Ti=>Ti.parameterSortingEnumSchemaName??Ti.zodSchema),Te=b.map(Ti=>Ti.response),Ke=Ib([...Te,...ae?pe:[]]),Pt=Ke.some(Ti=>!wh(Ti)),rr=l.options.parseRequestParams&&pe.length>0,or={bindings:[dS.namespace],from:Ant(l.options)},Lt=RC({resolver:l,tag:m,zodSchemas:Ke.filter(wh),zodSchemasAsTypes:Ib(ee.map(Ti=>Ti.zodSchema).filter(wh))});return Ah(l,"endpoints")({appRestClientImport:T,hasAxiosImport:L,axiosImport:Q,hasZodImport:Pt,zodImport:WA,hasZodExtendedImport:rr,zodExtendedImport:or,modelsImports:Lt,includeNamespace:l.options.tsNamespaces,namespace:C_({type:"endpoints",tag:m,options:l.options}),restClientName:RW,hasAxiosRequestConfig:I,axiosRequestConfigName:VA,axiosRequestConfigType:DC,endpoints:b,generateParse:ae})}t(mat,"generateEndpoints");function hat({resolver:l,data:u,tag:m}){var ae;let b=(ae=u.get(m))==null?void 0:ae.zodSchemas;if(!b||Object.keys(b).length===0)return;let T=Object.keys(b).reduce((ee,pe)=>[...ee,...qrt(l,pe)],[]).filter(ee=>!b[ee]),I=RC({resolver:l,tag:m,zodSchemas:T}),L=Object.entries(b).reduce((ee,[pe,Te])=>{let Ke=l.getZodSchemaObj(pe),Pt={code:Te,isEnum:Urt(Te),schemaObj:Ke};return{...ee,[pe]:Pt}},{});return Ah(l,"models")({zodImport:WA,modelsImports:I,includeNamespace:l.options.tsNamespaces,namespace:C_({type:"models",tag:m,options:l.options}),tag:m,zodSchemasData:L})}t(hat,"generateModels");function gat({resolver:l,data:u,tag:m}){var zl;let b=(zl=u.get(m))==null?void 0:zl.endpoints;if(!b||b.length===0)return;let T=l.options.axiosRequestConfig,I=b.some(({mediaUpload:ia})=>ia),L=T||I,Q={defaultImport:I?Awe:void 0,bindings:T?[DC]:[],from:dle.from},ae=b.filter(mS),ee=ae.filter(ia=>gR(ia,l.options)),pe=b.filter(t3),Te={bindings:[...ae.length>0?[pT.query]:[],...l.options.infiniteQueries&&ee.length>0?[pT.infiniteQuery]:[],...pe.length>0?[pT.mutation]:[]],from:aat.from},Ke=l.options.mutationEffects,Pt={bindings:[Vwe],from:Ent(l.options)},rr=Ke&&pe.length>0,or={bindings:[...pe.length>0?[lR.optionsType,lR.hookName]:[]],from:Pnt(l.options)},Lt=b.filter(ia=>ia.acl),Xt=l.options.checkAcl&&Lt.length>0,Vt={bindings:[e3],from:wnt(l.options)},Ti={bindings:[...ae.length>0?[Ele.query]:[],...l.options.infiniteQueries&&ee.length>0?[Ele.infiniteQuery]:[],...pe.length>0?[Ele.mutation]:[]],from:l.options.queryTypesImportPath},zn=b.reduce((ia,lr)=>[...ia,...lr.parameters],[]),_i=RC({resolver:l,tag:m,zodSchemasAsTypes:Ib(zn.map(ia=>ia.zodSchema).filter(wh))}),vo=Snt({tag:m,endpoints:b,options:l.options}),Vn=Ble({tag:m,endpoints:Lt,options:l.options});return Ah(l,"queries")({hasAxiosImport:L,axiosImport:Q,queryImport:Te,hasMutationEffects:Ke,queryModulesImport:Pt,hasMutationEffectsImport:rr,mutationEffectsImport:or,hasAclCheck:Xt,aclCheckImport:Vt,queryTypesImport:Ti,modelsImports:_i,endpointsImports:vo,aclImports:Vn,includeNamespace:l.options.tsNamespaces,tag:m,namespace:C_({type:"queries",tag:m,options:l.options}),queriesModuleName:pH,queryModuleEnum:Vwe,endpoints:b,queryEndpoints:ae})}t(gat,"generateQueries");function yat(l){return Ah(l,"acl-check")({abilityContextImport:Vrt,appAbilitiesImport:{bindings:[qW],from:Dnt(l.options)},errorHandlingImport:Ple,abilityContext:zwe,appAbilities:qW,errorHandler:YA.ErrorHandler,sharedErrorHandler:YA.SharedErrorHandler,aclCheckHook:e3,hasGenericAppAbilities:l.options.abilityContextGenericAppAbilities})}t(yat,"generateAclCheck");function vat(l){return Ah(l,"app-rest-client")({appRestClientName:RW,baseUrl:l.getBaseUrl(),packageImportPath:x8})}t(vat,"generateAppRestClient");function bat({resolver:l,data:u}){let m=[];return u.forEach((T,I)=>{var Q;let L=(Q=u.get(I))==null?void 0:Q.endpoints;!L||L.length===0||m.push({tag:I,namespace:C_({type:"queries",tag:I,options:l.options})})}),Ah(l,"query-modules")({modules:m})}t(bat,"generateQueryModules");function Sat(l){return Ah(l,"zod-extended")({zodImport:WA,zodExtendedNamespace:dS.namespace,parse:dS.exports.parse,sortExp:dS.exports.sortExp,errorHandler:YA.ErrorHandler,sharedErrorHandler:YA.SharedErrorHandler,errorHandlingImport:Ple})}t(Sat,"generateZodExtended");function xat(l,u){return u.options.acl?[{fileName:uT({output:u.options.output,fileName:A8(Rle)}),content:fat({resolver:u,data:l})},...u.options.checkAcl?[{fileName:uT({output:u.options.output,fileName:A8(Lle)}),content:yat(u)}]:[]]:[]}t(xat,"getAclFiles");function Tat(l,u){return u.options.mutationEffects?[...pQt([Ale],u),{fileName:uT({output:u.options.output,fileName:A8(wle)}),content:bat({resolver:u,data:l})}]:[]}t(Tat,"getMutationEffectsFiles");function kat(l,u){return u.options.parseRequestParams?[{fileName:uT({output:u.options.output,fileName:A8(Dle)}),content:Sat(u)}]:[]}t(kat,"getZodExtendedFiles");function Cat(l){return l.options.restClientImportPath!==dR.restClientImportPath?[]:[{fileName:uT({output:l.options.output,fileName:A8(Cle)}),content:vat(l)}]}t(Cat,"getAppRestClientFiles");function pQt(l,u){return l.reduce((m,b)=>[...m,dQt(b,u)],[])}t(pQt,"getAssetFiles");function dQt(l,u){let m=A8(l);return{fileName:uT({output:u.options.output,fileName:m}),content:nit(m)}}t(dQt,"getAssetFile");function Eat(l,u){let{resolver:m,data:b}=zle(l,u),T=[],I=[],L=["models","endpoints","queries",...m.options.acl?["acl"]:[],...m.options.builderConfigs?["configs"]:[]],Q={models:hat,endpoints:mat,queries:gat,acl:uat,configs:dat};return b.forEach((ae,ee)=>{L.forEach(pe=>{let Te=Q[pe]({resolver:m,data:b,tag:ee});if(Te){let Ke=uT({output:u.output,fileName:$le({tag:ee,type:pe,options:u})});T.push({fileName:Ke,content:Te}),pe==="acl"&&I.push(ee)}})}),T.push(...xat(b,m),...Tat(b,m),...kat(b,m),...Cat(m)),T}t(Eat,"generateCodeFromOpenAPIDoc");async function Aat({prettier:l,verbose:u,config:m,...b}){let T=Date.now();u&&oS("Resolving config...");let I=await Ule(m),L=Vle({fileConfig:I,params:b});u&&oS("Parsing OpenAPI spec...");let Q=await Pat.default.bundle(L.input);u&&oS("Generating code...");let ae=Eat(Q,L);u&&oS("Writing files..."),iit(ae),u&&LU(`Time: ${Date.now()-T}ms`),l&&mQt({output:L.output,verbose:u})}t(Aat,"generate");function mQt({output:l,verbose:u}){u&&oS("Running Prettier..."),(0,wat.exec)(`prettier --write ${l} `,b=>{u&&(b?HN(b,"Prettier error"):LU("Prettier finished."))})}t(mQt,"execPrettier");var q_=class q_{config;input;output;tsNamespaces;tsPath;splitByTags;defaultTag;excludeTags;excludePathRegex;excludeRedundantZodSchemas;importPath;extractEnums;removeOperationPrefixEndingWith;acl;checkAcl;baseUrl;replaceOptionalWithNullish;infiniteQueries;mutationEffects;parseRequestParams;axiosRequestConfig;builderConfigs;prettier;verbose};t(q_,"GenerateOptions"),qu([zu({envAlias:"config"})],q_.prototype,"config",2),qu([zu({envAlias:"input"})],q_.prototype,"input",2),qu([zu({envAlias:"output"})],q_.prototype,"output",2),qu([zu({envAlias:"tsNamespaces",type:"boolean"})],q_.prototype,"tsNamespaces",2),qu([zu({envAlias:"tsPath"})],q_.prototype,"tsPath",2),qu([zu({envAlias:"splitByTags",type:"boolean"})],q_.prototype,"splitByTags",2),qu([zu({envAlias:"defaultTag"})],q_.prototype,"defaultTag",2),qu([zu({envAlias:"excludeTags"})],q_.prototype,"excludeTags",2),qu([zu({envAlias:"excludePathRegex"})],q_.prototype,"excludePathRegex",2),qu([zu({envAlias:"excludeRedundantZodSchemas",type:"boolean"})],q_.prototype,"excludeRedundantZodSchemas",2),qu([zu({envAlias:"importPath"})],q_.prototype,"importPath",2),qu([zu({envAlias:"extractEnums",type:"boolean"})],q_.prototype,"extractEnums",2),qu([zu({envAlias:"removeOperationPrefixEndingWith"})],q_.prototype,"removeOperationPrefixEndingWith",2),qu([zu({envAlias:"acl",type:"boolean"})],q_.prototype,"acl",2),qu([zu({envAlias:"checkAcl",type:"boolean"})],q_.prototype,"checkAcl",2),qu([zu({envAlias:"baseUrl"})],q_.prototype,"baseUrl",2),qu([zu({envAlias:"replaceOptionalWithNullish",type:"boolean"})],q_.prototype,"replaceOptionalWithNullish",2),qu([zu({envAlias:"infiniteQueries",type:"boolean"})],q_.prototype,"infiniteQueries",2),qu([zu({envAlias:"mutationEffects",type:"boolean"})],q_.prototype,"mutationEffects",2),qu([zu({envAlias:"parseRequestParams",type:"boolean"})],q_.prototype,"parseRequestParams",2),qu([zu({envAlias:"axiosRequestConfig",type:"boolean"})],q_.prototype,"axiosRequestConfig",2),qu([zu({envAlias:"builderConfigs",type:"boolean"})],q_.prototype,"builderConfigs",2),qu([zu({envAlias:"prettier",default:!0,type:"boolean"})],q_.prototype,"prettier",2),qu([zu({envAlias:"verbose",default:!1,type:"boolean"})],q_.prototype,"verbose",2);var n3e=q_,Dat={command:"generate",describe:"Generate code from OpenAPI spec",builder:ace(n3e),handler:t(async l=>{let u=await l;return u.verbose&&sce(`OpenAPI CodeGen ${SM()}`),Aat(u)},"handler")};yQe(iEe(process.argv)).version(SM()||"unknown").scriptName("openapi-codegen").command(Dat).command(uit).help().demandCommand(1).strictCommands(!0).showHelpOnFail(!0).fail((l,u)=>{l&&HN(l),u&&HN(u),oS("Use '--help' for more info"),process.exit(1)}).parse();
537
+ *`))}t(EGt,"registerAddAsteriskAfterNewLineHelper");function PGt(){R8.default.registerHelper("jsonStringify",l=>JSON.stringify(l,null,2))}t(PGt,"registerJsonStringifyHelper");function wGt(){R8.default.registerHelper("capitalize",u_)}t(wGt,"registerCapitalizeHelper");var o3=Vd(l6());function nat(l){AGt(),DGt(l.options),OGt(l),IGt(),NGt(),FGt(l),MGt()}t(nat,"registerEndpointsHbsHelpers");function AGt(){o3.default.registerHelper("endpointName",ZW)}t(AGt,"registerEndpointNameHelper");function DGt(l){o3.default.registerHelper("importedEndpointName",u=>Ont(u,l))}t(DGt,"registerImportedEndpointNameHelper");function IGt(){o3.default.registerHelper("endpointPath",Rnt)}t(IGt,"registerEndpointPathHelper");function NGt(){o3.default.registerHelper("endpointBody",n3)}t(NGt,"registerEndpointBodyHelper");function OGt(l){o3.default.registerHelper("endpointParams",(u,m)=>i3(l,u,m.hash))}t(OGt,"registerEndpointParamsHelper");function FGt(l){o3.default.registerHelper("endpointArgs",(u,m)=>i3(l,u,m.hash).map(b=>b.name).join(", "))}t(FGt,"registerEndpointArgsHelper");function MGt(){o3.default.registerHelper("endpointParamDescription",l=>{var I,L,Q,ae,ee;let u=[`${l.paramType} parameter`],m=((I=l.parameterObject)==null?void 0:I.description)||((L=l.bodyObject)==null?void 0:L.description);m&&u.push(m);let b,T;if((Q=l.parameterObject)!=null&&Q.schema&&iy(l.parameterObject.schema)&&(b=(ae=l.parameterObject)==null?void 0:ae.schema),(ee=l.bodyObject)!=null&&ee.content){let Te=Object.keys(l.bodyObject.content??{}).find(FC);Te&&(T=l.bodyObject.content[Te],T.schema&&iy(T.schema)&&(b=T.schema))}if(b){let pe=GW(b);u.push(...pe)}return T!=null&&T.example&&u.push(`Example: \`${T.example}\``),u.join(". ")})}t(MGt,"registerEndpointParamDescriptionHelper");var iat=Vd(l6());function sat(){RGt()}t(sat,"registerImportsHbsHelpers");function RGt(){iat.default.registerHelper("importNames",(l,u)=>[...u?[u]:[],...l?[`{ ${l.join(", ")} }`]:[]].join(", "))}t(RGt,"registerBindingsHelper");var gg=Vd(l6());var pT={query:"useQuery",infiniteQuery:"useInfiniteQuery",mutation:"useMutation"},aat={bindings:[pT.query,pT.infiniteQuery,pT.mutation],from:"@tanstack/react-query"},pH="moduleName";function oat(l){LGt(),jGt(),BGt(),$Gt(l),JGt(l),qGt(),zGt(l),VGt(l),UGt(l),WGt(l),HGt(l),GGt(),QGt(),ZGt(),XGt(),YGt(),KGt()}t(oat,"registerPartialsHbsHelpers");function LGt(){gg.default.registerHelper("genModelJsDocs",(l,u,m)=>oy("model-js-docs")({name:l,zodSchema:u,tag:m}))}t(LGt,"registerGenerateModelJsDocsHelper");function jGt(){gg.default.registerHelper("genImport",l=>oy("import")({import:l}))}t(jGt,"registerImportHelper");function BGt(){gg.default.registerHelper("genEndpointParams",(l,u)=>oy("endpoint-params")({endpoint:l,options:u}))}t(BGt,"registerGenerateEndpointParamsHelper");function $Gt(l){gg.default.registerHelper("hasUndefinedEndpointBody",u=>Fnt(u)&&!n3(u)&&Mnt(u,l))}t($Gt,"registerHasUndefinedEndpointBodyHelper");function JGt(l){gg.default.registerHelper("genEndpointConfig",u=>{let m=rAe(u),b=l.options.axiosRequestConfig;return Object.keys(m).length===0?b?VA:"":oy("endpoint-config")({endpointConfig:m,hasAxiosRequestConfig:b,hasBlobResponse:u.response===hle,hasFileDownload:u.mediaDownload,axiosRequestConfigName:VA,generateParse:l.options.parseRequestParams})})}t(JGt,"registerGenerateEndpointConfigHelper");function qGt(){gg.default.registerHelper("genEndpointParamParse",(l,u)=>{var m;return oy("endpoint-param-parse")({param:l,paramName:u,isQuery:l.type==="Query",zodExtendedNamespace:dS.namespace,parse:dS.exports.parse,sortExp:dS.exports.sortExp,addOptional:!((m=l.parameterObject??l.bodyObject)!=null&&m.required)&&(l.parameterSortingEnumSchemaName||wh(l.zodSchema))})})}t(qGt,"registerGenerateEndpointParamParseHelper");function zGt(l){gg.default.registerHelper("genQueryKeys",u=>u.length===0?"":oy("query-keys")({queryEndpoints:u,queriesModuleName:pH,generateInfiniteQueries:l.options.infiniteQueries}))}t(zGt,"registerGenerateQueryKeysHelper");function VGt(l){gg.default.registerHelper("genQuery",u=>{if(!mS(u))return;let m=l.options.axiosRequestConfig,b=l.options.checkAcl&&u.acl;return oy("query-use-query")({endpoint:u,queryHook:pT.query,hasQueryFn:i3(l,u).length>0||m||b,hasQueryFnBody:b,hasAxiosRequestConfig:m,axiosRequestConfigName:VA,axiosRequestConfigType:DC,hasAclCheck:b,aclCheckHook:e3})})}t(VGt,"registerGenerateQueryHelper");function UGt(l){gg.default.registerHelper("genMutation",(u,m)=>{if(!t3(u))return;let b=Lnt(u,m),T=jnt(l,u,b),I=l.options.checkAcl&&u.acl;return oy("query-use-mutation")({endpoint:u,queryHook:pT.mutation,queriesModuleName:pH,hasAxiosRequestConfig:l.options.axiosRequestConfig,hasMutationFnBody:u.mediaUpload||I,axiosRequestConfigName:VA,axiosRequestConfigType:DC,hasMutationEffects:l.options.mutationEffects,mutationEffectsType:lR.optionsType,updateQueryEndpoints:b,destructuredVariables:T,hasAclCheck:I,aclCheckHook:e3})})}t(UGt,"registerGenerateMutationHelper");function WGt(l){gg.default.registerHelper("genInfiniteQuery",u=>{if(!l.options.infiniteQueries||!gR(u,l.options))return;let m=l.options.checkAcl&&u.acl;return oy("query-use-infinite-query")({endpoint:u,infiniteQueryHook:pT.infiniteQuery,hasQueryFnBody:m,pageParamName:l.options.infiniteQueryResponseParamNames.page,totalItemsName:l.options.infiniteQueryResponseParamNames.totalItems,limitParamName:l.options.infiniteQueryResponseParamNames.limit,hasAxiosRequestConfig:l.options.axiosRequestConfig,axiosRequestConfigName:VA,axiosRequestConfigType:DC,hasAclCheck:m,aclCheckHook:e3})})}t(WGt,"registerGenerateInfiniteQueryHelper");function HGt(l){gg.default.registerHelper("genQueryJsDocs",(u,m)=>oy("query-js-docs")({endpoint:u,query:m.hash.query,mutation:m.hash.mutation,infiniteQuery:m.hash.infiniteQuery,hasMutationEffects:l.options.mutationEffects,mutationEffectsType:lR.optionsType}))}t(HGt,"registerGenerateQueryJsDocsHelper");function GGt(){gg.default.registerHelper("genCaslAbilityType",l=>oy("casl-ability-type")({endpoint:l,abilityTuple:sy.abilityTuple}))}t(GGt,"registerGenerateCaslAbilityTypeHelper");function QGt(){gg.default.registerHelper("genCaslAbilityFunction",l=>oy("casl-ability-function")({endpoint:l}))}t(QGt,"registerGenerateCaslAbilityFunctionHelper");function ZGt(){gg.default.registerHelper("genCaslAbilityQuery",l=>oy("casl-ability-query")({endpoint:l}))}t(ZGt,"registerGenerateCaslAbilityQueryHelper");function XGt(){gg.default.registerHelper("genAclCheckCall",l=>{var T;let u=(T=mR(l))==null?void 0:T.map(I=>I.name),m=l.parameters.map(I=>I.name),b=u==null?void 0:u.every(I=>m.includes(I));return oy("acl-check-call")({endpoint:l,generateAclCheckParams:VW(l)&&b})})}t(XGt,"registerGenerateAclCheckCallHelper");function YGt(){gg.default.registerHelper("genInputsConfig",l=>oy("inputs-config")({inputsConfig:l}))}t(YGt,"registerGenerateInputsConfigHelper");function KGt(){gg.default.registerHelper("genColumnsConfig",l=>oy("columns-config")({columnsConfig:l}))}t(KGt,"registerGenerateColumnsConfigHelper");var wR=Vd(l6());function cat(l){eQt(),rQt(),nQt(),tQt(),iQt(l)}t(cat,"registerQueryHbsHelpers");function eQt(){wR.default.registerHelper("queryName",(l,u)=>WW(l,u.hash.mutation))}t(eQt,"registerQueryNameHelper");function tQt(){wR.default.registerHelper("infiniteQueryName",HW)}t(tQt,"registerInfiniteQueryNameHelper");function rQt(){wR.default.registerHelper("isQuery",mS)}t(rQt,"registerIsQueryHelper");function nQt(){wR.default.registerHelper("isMutation",t3)}t(nQt,"registerIsMutationHelper");function iQt(l){wR.default.registerHelper("isInfiniteQuery",u=>gR(u,l.options))}t(iQt,"registerIsInfiniteQueryHelper");var L8=Vd(l6());function lat(l){sQt(l.options),aQt(l),oQt(l),cQt(),lQt(),uQt(l)}t(lat,"registerZodHbsHelpers");function sQt(l){L8.default.registerHelper("zodInferedType",u=>QW(u,l))}t(sQt,"registerInferedTypeHelper");function aQt(l){L8.default.registerHelper("importedZodSchemaName",u=>w8(l,u))}t(aQt,"registerImportedZodSchemaNameHelper");function oQt(l){L8.default.registerHelper("importedZodSchemaInferedType",u=>P8(l,u))}t(oQt,"registerImportedZodSchemaInferedTypeHelper");function cQt(){L8.default.registerHelper("zodSchemaType",l=>gnt(l))}t(cQt,"registerZodSchemaTypeHelper");function lQt(){L8.default.registerHelper("zodSchemaDescription",l=>ynt(l))}t(lQt,"registerZodSchemaDescriptionHelper");function uQt(l){L8.default.registerHelper("zodSchemaPropertyDescriptions",(u,m)=>bnt(l,u,m))}t(uQt,"registerZodSchemaPropertyDescriptionsHelper");function Ah(l,u){let m=oAe(u);return rat(),sat(),lat(l),nat(l),cat(l),tat(l),oat(l),t3e.default.compile(m)}t(Ah,"getHbsTemplateDelegate");function oy(l){let u=oAe(`partials/${l}`);return t3e.default.compile(u)}t(oy,"getHbsPartialTemplateDelegate");function uat({resolver:l,data:u,tag:m}){let b=eAe({resolver:l,data:u,tag:m});if(!b)return;let{hasAdditionalAbilityImports:T,modelsImports:I,endpoints:L}=b,Q={bindings:[sy.abilityTuple,...T?[sy.forcedSubject,sy.subject]:[]],from:Zwe.from};return Ah(l,"acl")({caslAbilityTupleImport:Q,modelsImports:I,includeNamespace:l.options.tsNamespaces,namespace:C_({type:"acl",tag:m,options:l.options}),endpoints:L})}t(uat,"generateAcl");function fat({resolver:l,data:u}){let{appAbilitiesType:m,hasAdditionalAbilityImports:b,modelsImports:T}=mnt({resolver:l,data:u}),I={bindings:[sy.pureAbility,sy.abilityTuple,...m?[]:[sy.subjectType],...b?[sy.forcedSubject]:[]],from:Zwe.from};return Ah(l,"app-acl")({caslAbilityTupleImport:I,modelsImports:T,appAbilitiesType:m,appAbilities:qW,abilityTuple:sy.abilityTuple,subjectType:sy.subjectType})}t(fat,"generateAppAcl");var r3e="config";function _at({data:l,tag:u,resolver:m}){var Lt;let b=(Lt=l.get(u))==null?void 0:Lt.endpoints;if(!b||b.length===0)return{configs:[]};let T=b.map(Xt=>({...Xt,pathSegments:fnt(Xt.path)})),I=T.filter(Xt=>snt(Xt,m.options)),L=fQt(I),Q=!1,ae=[],ee=[],pe=[],Te=Object.entries(L).map(([Xt,Vt])=>{let Ti=_Qt(m,Vt);if(!Ti)return;ee.push(Vt),pe.push(Vt),Ti.zodSchema&&(wh(Ti.zodSchema)?ae.push(Ti.zodSchema):Q=!0),Ti.sortableEnumSchemaName&&ae.push(Ti.sortableEnumSchemaName);let zn=Vt.parameters.find(lr=>lr.name===m.options.filterParamName);zn&&ae.push(zn.zodSchema);let _i={name:Xt,title:u_(_le(Xt.replace(/config$/i,""))),readAll:{acl:AR(Vt,m.options),paginated:E8(Vt,m.options),infinite:m.options.infiniteQueries?hnt(Vt,m.options):void 0,filters:wue(m,zn),columns:Ti.columns}},vo=T.find(lr=>ant(lr,Vt));if(vo){ee.push(vo);let lr=vo.response;wh(lr)?(ae.push(lr),lr=w8(m,lr)):Q=!0,_i.read={acl:AR(vo,m.options),schema:lr,query:E8(vo,m.options)}}let Vn=T.find(lr=>ont(lr,Vt));if(Vn){ee.push(Vn);let lr=n3(Vn);lr&&ae.push(lr.zodSchema),_i.create={acl:AR(Vn,m.options),mutation:E8(Vn,m.options),inputDefs:wue(m,lr)}}let ql=T.find(lr=>cnt(lr,Vt));if(ql){ee.push(ql);let lr=n3(ql);lr&&ae.push(lr.zodSchema),_i.update={acl:AR(ql,m.options),mutation:E8(ql,m.options),inputDefs:wue(m,lr)}}let zl=T.find(lr=>lnt(lr,Vt));zl&&(ee.push(zl),_i.delete={acl:AR(zl,m.options),mutation:E8(zl,m.options)});let ia=T.find(lr=>unt(lr,Vt));if(ia){ee.push(ia);let lr=n3(ia);lr&&ae.push(lr.zodSchema),_i.bulkDelete={acl:AR(ia,m.options),mutation:E8(ia,m.options),inputDefs:wue(m,lr)}}return _i}),Ke=RC({resolver:m,tag:u,zodSchemas:ae}),Pt=xnt({tag:u,endpoints:ee,options:m.options}),rr=m.options.infiniteQueries?Tnt({tag:u,endpoints:pe,options:m.options}):[],or=Ble({tag:u,endpoints:ee.filter(Xt=>Xt.acl),options:m.options});return{configs:Te.filter(Boolean),hasZodImport:Q,modelsImports:Ke,queriesImports:UW(m.options,Pt,rr),aclImports:or}}t(_at,"getBuilderConfigs");function fQt(l){let u=l.map(b=>({...b,namePathSegments:b.pathSegments.filter(T=>!pR(T))})).sort((b,T)=>b.namePathSegments.length-T.namePathSegments.length),m={};for(let b of u){let T=b.namePathSegments,I=T.length>0?`${wW(T.pop())}${u_(r3e)}`:r3e;for(;m[I];){if(T.length===0)throw new Error(`Can't uniquely resolve builder config name: ${I}`);I=`${wW(T.pop())}${u_(I)}`}m[I]=b}return m}t(fQt,"resolveBuilderConfigNames");function AR(l,u){return u.acl&&l.acl?jle(l,u):void 0}t(AR,"getAclConfig");function wue(l,u){var I,L,Q;if(!u)return;let m;if(u.type==="Body"?m=(L=(I=u.bodyObject)==null?void 0:I.content[h8])==null?void 0:L.schema:m=(Q=u.parameterObject)==null?void 0:Q.schema,!m)return;let b=l.resolveObject(m),T=Object.keys((b==null?void 0:b.properties)??{}).reduce((ae,ee)=>({...ae,[ee]:!0}),{});return{schema:w8(l,u.zodSchema),options:{inputs:T}}}t(wue,"getInputsConfig");function _Qt(l,u){var Pt,rr,or;let m=u.responseObject;if(!m)return;let b=(rr=(Pt=m.content)==null?void 0:Pt[h8])==null?void 0:rr.schema;if(!b)return;let T=pat(l,b),I=Object.keys(T).filter(Lt=>l.resolveObject(T[Lt]).type==="array");I.sort((Lt,Xt)=>{let Vt=l.options.dataResponseParamNames.indexOf(Lt),Ti=l.options.dataResponseParamNames.indexOf(Xt);return Vt!==-1&&Ti!==-1?Vt-Ti:Vt!==-1?-1:Ti!==-1?1:Lt.localeCompare(Xt)});let L=I[0];if(!L)return;let Q=l.resolveObject(T[L]);if(!Q||Q.type!=="array")return;let ae=Q.items,ee=l.resolveObject(ae);if(!ee)return;let pe=gf(ae)?l.getZodSchemaNameByRef(ae.$ref):aR,Te=Object.keys((ee==null?void 0:ee.properties)??{}).reduce((Lt,Xt)=>({...Lt,[Xt]:!0}),{}),Ke=(or=u.parameters.find(Lt=>Lt.parameterObject&&Tle(Lt.parameterObject)))==null?void 0:or.parameterSortingEnumSchemaName;return{columns:{schema:w8(l,pe),options:{columns:Te,sortable:Ke?w8(l,Ke):void 0}},zodSchema:pe,sortableEnumSchemaName:Ke}}t(_Qt,"getColumnsConfig");function pat(l,u){let m=l.resolveObject(u);return m.properties?m.properties:"allOf"in m&&m.allOf?m.allOf.reduce((b,T)=>({...b,...pat(l,T)}),{}):{}}t(pat,"getSchemaProperties");function dat(l){let{configs:u,hasZodImport:m,modelsImports:b,queriesImports:T,aclImports:I}=_at(l);if(u.length===0)return;let{resolver:L,tag:Q}=l,ae=u.some(Pt=>{var rr,or;return Pt.readAll.filters||((rr=Pt.create)==null?void 0:rr.inputDefs)||((or=Pt.update)==null?void 0:or.inputDefs)}),ee={bindings:[LW.dynamicInputs],from:L.options.dynamicInputsImportPath},pe=u.some(Pt=>Pt.readAll.columns),Te={bindings:[LW.dynamicColumns],from:L.options.dynamicColumnsImportPath};return Ah(L,"configs")({hasZodImport:m,zodImport:WA,hasDynamicInputsImport:ae,dynamicInputsImport:ee,hasDynamicColumnsImport:pe,dynamicColumnsImport:Te,modelsImports:b,queriesImports:T,aclImports:I,includeNamespace:L.options.tsNamespaces,namespace:C_({type:"configs",tag:Q,options:L.options}),configs:u,dynamicInputs:LW.dynamicInputs,dynamicColumns:LW.dynamicColumns})}t(dat,"generateConfigs");function mat({resolver:l,data:u,tag:m}){var Vt;let b=(Vt=u.get(m))==null?void 0:Vt.endpoints;if(!b||b.length===0)return;let T={bindings:[RW],from:Cnt(l.options)},I=l.options.axiosRequestConfig,L=I,Q={bindings:I?[DC]:[],from:dle.from},ae=l.options.parseRequestParams,ee=b.reduce((Ti,zn)=>[...Ti,...zn.parameters],[]),pe=ee.filter(Ti=>!["Path","Header"].includes(Ti.type)).map(Ti=>Ti.parameterSortingEnumSchemaName??Ti.zodSchema),Te=b.map(Ti=>Ti.response),Ke=Ib([...Te,...ae?pe:[]]),Pt=Ke.some(Ti=>!wh(Ti)),rr=l.options.parseRequestParams&&pe.length>0,or={bindings:[dS.namespace],from:Ant(l.options)},Lt=RC({resolver:l,tag:m,zodSchemas:Ke.filter(wh),zodSchemasAsTypes:Ib(ee.map(Ti=>Ti.zodSchema).filter(wh))});return Ah(l,"endpoints")({appRestClientImport:T,hasAxiosImport:L,axiosImport:Q,hasZodImport:Pt,zodImport:WA,hasZodExtendedImport:rr,zodExtendedImport:or,modelsImports:Lt,includeNamespace:l.options.tsNamespaces,namespace:C_({type:"endpoints",tag:m,options:l.options}),restClientName:RW,hasAxiosRequestConfig:I,axiosRequestConfigName:VA,axiosRequestConfigType:DC,endpoints:b,generateParse:ae})}t(mat,"generateEndpoints");function hat({resolver:l,data:u,tag:m}){var ae;let b=(ae=u.get(m))==null?void 0:ae.zodSchemas;if(!b||Object.keys(b).length===0)return;let T=Object.keys(b).reduce((ee,pe)=>[...ee,...qrt(l,pe)],[]).filter(ee=>!b[ee]),I=RC({resolver:l,tag:m,zodSchemas:T}),L=Object.entries(b).reduce((ee,[pe,Te])=>{let Ke=l.getZodSchemaObj(pe),Pt={code:Te,isEnum:Urt(Te),schemaObj:Ke};return{...ee,[pe]:Pt}},{});return Ah(l,"models")({zodImport:WA,modelsImports:I,includeNamespace:l.options.tsNamespaces,namespace:C_({type:"models",tag:m,options:l.options}),tag:m,zodSchemasData:L})}t(hat,"generateModels");function gat({resolver:l,data:u,tag:m}){var zl;let b=(zl=u.get(m))==null?void 0:zl.endpoints;if(!b||b.length===0)return;let T=l.options.axiosRequestConfig,I=b.some(({mediaUpload:ia})=>ia),L=T||I,Q={defaultImport:I?Awe:void 0,bindings:T?[DC]:[],from:dle.from},ae=b.filter(mS),ee=ae.filter(ia=>gR(ia,l.options)),pe=b.filter(t3),Te={bindings:[...ae.length>0?[pT.query]:[],...l.options.infiniteQueries&&ee.length>0?[pT.infiniteQuery]:[],...pe.length>0?[pT.mutation]:[]],from:aat.from},Ke=l.options.mutationEffects,Pt={bindings:[Vwe],from:Ent(l.options)},rr=Ke&&pe.length>0,or={bindings:[...pe.length>0?[lR.optionsType,lR.hookName]:[]],from:Pnt(l.options)},Lt=b.filter(ia=>ia.acl),Xt=l.options.checkAcl&&Lt.length>0,Vt={bindings:[e3],from:wnt(l.options)},Ti={bindings:[...ae.length>0?[Ele.query]:[],...l.options.infiniteQueries&&ee.length>0?[Ele.infiniteQuery]:[],...pe.length>0?[Ele.mutation]:[]],from:l.options.queryTypesImportPath},zn=b.reduce((ia,lr)=>[...ia,...lr.parameters],[]),_i=RC({resolver:l,tag:m,zodSchemasAsTypes:Ib(zn.map(ia=>ia.zodSchema).filter(wh))}),vo=Snt({tag:m,endpoints:b,options:l.options}),Vn=Ble({tag:m,endpoints:Lt,options:l.options});return Ah(l,"queries")({hasAxiosImport:L,axiosImport:Q,queryImport:Te,hasMutationEffects:Ke,queryModulesImport:Pt,hasMutationEffectsImport:rr,mutationEffectsImport:or,hasAclCheck:Xt,aclCheckImport:Vt,queryTypesImport:Ti,modelsImports:_i,endpointsImports:vo,aclImports:Vn,includeNamespace:l.options.tsNamespaces,tag:m,namespace:C_({type:"queries",tag:m,options:l.options}),queriesModuleName:pH,queryModuleEnum:Vwe,endpoints:b,queryEndpoints:ae})}t(gat,"generateQueries");function yat(l){return Ah(l,"acl-check")({abilityContextImport:Vrt,appAbilitiesImport:{bindings:[qW],from:Dnt(l.options)},errorHandlingImport:Ple,abilityContext:zwe,appAbilities:qW,errorHandler:YA.ErrorHandler,sharedErrorHandler:YA.SharedErrorHandler,aclCheckHook:e3,hasGenericAppAbilities:l.options.abilityContextGenericAppAbilities})}t(yat,"generateAclCheck");function vat(l){return Ah(l,"app-rest-client")({appRestClientName:RW,baseUrl:l.getBaseUrl(),restClientImportPath:x8})}t(vat,"generateAppRestClient");function bat({resolver:l,data:u}){let m=[];return u.forEach((T,I)=>{var Q;let L=(Q=u.get(I))==null?void 0:Q.endpoints;!L||L.length===0||m.push({tag:I,namespace:C_({type:"queries",tag:I,options:l.options})})}),Ah(l,"query-modules")({modules:m})}t(bat,"generateQueryModules");function Sat(l){return Ah(l,"zod-extended")({zodImport:WA,zodExtendedNamespace:dS.namespace,parse:dS.exports.parse,sortExp:dS.exports.sortExp,errorHandler:YA.ErrorHandler,sharedErrorHandler:YA.SharedErrorHandler,errorHandlingImport:Ple})}t(Sat,"generateZodExtended");function xat(l,u){return u.options.acl?[{fileName:uT({output:u.options.output,fileName:A8(Rle)}),content:fat({resolver:u,data:l})},...u.options.checkAcl?[{fileName:uT({output:u.options.output,fileName:A8(Lle)}),content:yat(u)}]:[]]:[]}t(xat,"getAclFiles");function Tat(l,u){return u.options.mutationEffects?[...pQt([Ale],u),{fileName:uT({output:u.options.output,fileName:A8(wle)}),content:bat({resolver:u,data:l})}]:[]}t(Tat,"getMutationEffectsFiles");function kat(l,u){return u.options.parseRequestParams?[{fileName:uT({output:u.options.output,fileName:A8(Dle)}),content:Sat(u)}]:[]}t(kat,"getZodExtendedFiles");function Cat(l){return l.options.restClientImportPath!==dR.restClientImportPath?[]:[{fileName:uT({output:l.options.output,fileName:A8(Cle)}),content:vat(l)}]}t(Cat,"getAppRestClientFiles");function pQt(l,u){return l.reduce((m,b)=>[...m,dQt(b,u)],[])}t(pQt,"getAssetFiles");function dQt(l,u){let m=A8(l);return{fileName:uT({output:u.options.output,fileName:m}),content:nit(m)}}t(dQt,"getAssetFile");function Eat(l,u){let{resolver:m,data:b}=zle(l,u),T=[],I=[],L=["models","endpoints","queries",...m.options.acl?["acl"]:[],...m.options.builderConfigs?["configs"]:[]],Q={models:hat,endpoints:mat,queries:gat,acl:uat,configs:dat};return b.forEach((ae,ee)=>{L.forEach(pe=>{let Te=Q[pe]({resolver:m,data:b,tag:ee});if(Te){let Ke=uT({output:u.output,fileName:$le({tag:ee,type:pe,options:u})});T.push({fileName:Ke,content:Te}),pe==="acl"&&I.push(ee)}})}),T.push(...xat(b,m),...Tat(b,m),...kat(b,m),...Cat(m)),T}t(Eat,"generateCodeFromOpenAPIDoc");async function Aat({prettier:l,verbose:u,config:m,...b}){let T=Date.now();u&&oS("Resolving config...");let I=await Ule(m),L=Vle({fileConfig:I,params:b});u&&oS("Parsing OpenAPI spec...");let Q=await Pat.default.bundle(L.input);u&&oS("Generating code...");let ae=Eat(Q,L);u&&oS("Writing files..."),iit(ae),u&&LU(`Time: ${Date.now()-T}ms`),l&&mQt({output:L.output,verbose:u})}t(Aat,"generate");function mQt({output:l,verbose:u}){u&&oS("Running Prettier..."),(0,wat.exec)(`prettier --write ${l} `,b=>{u&&(b?HN(b,"Prettier error"):LU("Prettier finished."))})}t(mQt,"execPrettier");var q_=class q_{config;input;output;tsNamespaces;tsPath;splitByTags;defaultTag;excludeTags;excludePathRegex;excludeRedundantZodSchemas;importPath;extractEnums;removeOperationPrefixEndingWith;acl;checkAcl;baseUrl;replaceOptionalWithNullish;infiniteQueries;mutationEffects;parseRequestParams;axiosRequestConfig;builderConfigs;prettier;verbose};t(q_,"GenerateOptions"),qu([zu({envAlias:"config"})],q_.prototype,"config",2),qu([zu({envAlias:"input"})],q_.prototype,"input",2),qu([zu({envAlias:"output"})],q_.prototype,"output",2),qu([zu({envAlias:"tsNamespaces",type:"boolean"})],q_.prototype,"tsNamespaces",2),qu([zu({envAlias:"tsPath"})],q_.prototype,"tsPath",2),qu([zu({envAlias:"splitByTags",type:"boolean"})],q_.prototype,"splitByTags",2),qu([zu({envAlias:"defaultTag"})],q_.prototype,"defaultTag",2),qu([zu({envAlias:"excludeTags"})],q_.prototype,"excludeTags",2),qu([zu({envAlias:"excludePathRegex"})],q_.prototype,"excludePathRegex",2),qu([zu({envAlias:"excludeRedundantZodSchemas",type:"boolean"})],q_.prototype,"excludeRedundantZodSchemas",2),qu([zu({envAlias:"importPath"})],q_.prototype,"importPath",2),qu([zu({envAlias:"extractEnums",type:"boolean"})],q_.prototype,"extractEnums",2),qu([zu({envAlias:"removeOperationPrefixEndingWith"})],q_.prototype,"removeOperationPrefixEndingWith",2),qu([zu({envAlias:"acl",type:"boolean"})],q_.prototype,"acl",2),qu([zu({envAlias:"checkAcl",type:"boolean"})],q_.prototype,"checkAcl",2),qu([zu({envAlias:"baseUrl"})],q_.prototype,"baseUrl",2),qu([zu({envAlias:"replaceOptionalWithNullish",type:"boolean"})],q_.prototype,"replaceOptionalWithNullish",2),qu([zu({envAlias:"infiniteQueries",type:"boolean"})],q_.prototype,"infiniteQueries",2),qu([zu({envAlias:"mutationEffects",type:"boolean"})],q_.prototype,"mutationEffects",2),qu([zu({envAlias:"parseRequestParams",type:"boolean"})],q_.prototype,"parseRequestParams",2),qu([zu({envAlias:"axiosRequestConfig",type:"boolean"})],q_.prototype,"axiosRequestConfig",2),qu([zu({envAlias:"builderConfigs",type:"boolean"})],q_.prototype,"builderConfigs",2),qu([zu({envAlias:"prettier",default:!0,type:"boolean"})],q_.prototype,"prettier",2),qu([zu({envAlias:"verbose",default:!1,type:"boolean"})],q_.prototype,"verbose",2);var n3e=q_,Dat={command:"generate",describe:"Generate code from OpenAPI spec",builder:ace(n3e),handler:t(async l=>{let u=await l;return u.verbose&&sce(`OpenAPI CodeGen ${SM()}`),Aat(u)},"handler")};yQe(iEe(process.argv)).version(SM()||"unknown").scriptName("openapi-codegen").command(Dat).command(uit).help().demandCommand(1).strictCommands(!0).showHelpOnFail(!0).fail((l,u)=>{l&&HN(l),u&&HN(u),oS("Use '--help' for more info"),process.exit(1)}).parse();
538
538
  /*! Bundled license information:
539
539
 
540
540
  reflect-metadata/Reflect.js: