@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 +50 -9
- package/dist/generator.js +1 -1
- package/dist/sh.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/generators/templates/app-rest-client.hbs +1 -1
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.
|
|
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
|
-
--
|
|
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:
|