@acrool/rtk-query-codegen-openapi 1.4.0-alpha.1 → 1.4.0-alpha.3

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/lib/bin/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- var W=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ee=Object.prototype.hasOwnProperty;var H=(n,e)=>()=>(n&&(e=n(n=0)),e);var De=(n,e)=>{for(var t in e)W(n,t,{get:e[t],enumerable:!0})},Fe=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ne(e))!Ee.call(n,o)&&o!==t&&W(n,o,{get:()=>e[o],enumerable:!(r=we(e,o))||r.enumerable});return n};var Ie=n=>Fe(W({},"__esModule",{value:!0}),n);import{fileURLToPath as je}from"node:url";var qe,g,u=H(()=>{"use strict";qe=()=>je(import.meta.url),g=qe()});var ge={};De(ge,{argumentMatches:()=>Je,defaultIsDataResponse:()=>Ze,getOperationName:()=>G,getOverrides:()=>_,getTags:()=>Ye,operationMatches:()=>fe});import{getOperationName as He}from"oazapfts/generate";function Ze(n,e){if(e&&n==="default")return!0;let t=Number(n);return!Number.isNaN(t)&&t>=200&&t<300}function G({verb:n,path:e}){return He(n,e,void 0)}function Ye({verb:n,pathItem:e}){return n?e[n]?.tags||[]:[]}function le(n){let e=Array.isArray(n)?n:[n];return function(r){return n?e.some(o=>typeof o=="string"?o===r:o?.test(r)):!0}}function fe(n){let e=typeof n=="function"?n:le(n);return function(r){if(!n)return!0;let o=G(r);return e(o,r)}}function Je(n){let e=typeof n=="function"?n:le(n);return function(r){if(!n||r.in==="path")return!0;let o=r.name;return e(o,r)}}function _(n,e){return e?.find(t=>fe(t.pattern)(n))}var B=H(()=>{"use strict";u()});u();import U from"commander";import{createRequire as yt}from"node:module";u();import Ge from"commander";import{createRequire as Me}from"node:module";import{resolve as Z}from"node:path";import{existsSync as Q,rmSync as Ke,readdirSync as ke,statSync as Ve,mkdirSync as Ue}from"node:fs";import Y from"node:path";var $=Me(g);function We(n){let e=new Map;if(!Q(n))return e;function t(r){try{let o=ke(r);for(let i of o){let s=Y.join(r,i);if(Ve(s).isDirectory())t(s);else if(i==="enhanceEndpoints.ts"){let c=$("node:fs").readFileSync(s);e.set(s,c)}}}catch{}}return t(n),e}function Qe(n){for(let[e,t]of n)try{let r=Y.dirname(e);Q(r)||Ue(r,{recursive:!0}),$("node:fs").writeFileSync(e,t)}catch(r){console.warn(`Failed to restore ${e}:`,r)}}function J(n){let e=["/","/usr","/etc","/var","/home","/Users",".",".."],t=Z(n);if(e.some(r=>t===Z(r))&&(console.error(`Dangerous path detected: ${t}. Refusing to delete.`),process.exit(1)),Q(n)){console.log(`Cleaning output directory: ${n}`);let r=We(n);Ke(n,{recursive:!0,force:!0}),r.size>0&&(Qe(r),console.log(`Protected ${r.size} enhanceEndpoints.ts file(s) from deletion`)),console.log(`Directory cleaned: ${n}`)}}function X(){try{if($.resolve("esbuild")&&$.resolve("esbuild-runner"))return $("esbuild-runner/register"),!0}catch{}try{if($.resolve("typescript")&&$.resolve("ts-node"))return $("ts-node").register({transpileOnly:!0,compilerOptions:{target:"es6",module:"commonjs"}}),!0}catch{}return!1}function ee(n){(!n||!/\.([mc]?(jsx?|tsx?)|jsonc?)?$/.test(n))&&(console.error("Please provide a valid configuration file."),Ge.help())}function te(n,e){/\.[mc]?tsx?$/.test(n)&&!e&&(console.error("Encountered a TypeScript config file, but neither esbuild-runner nor ts-node are installed."),process.exit(1))}import{dirname as dt,resolve as ht}from"node:path";u();u();import E from"node:path";import Ae from"typescript";u();u();function F(n){return n.replace(n[0],n[0].toUpperCase())}u();import L from"node:fs";import Le from"node:path";u();function ne(n){try{new URL(n)}catch{return!1}return!0}async function re(n,e){if(!ne(n))throw new Error(`remoteFile must be a valid URL: ${n}`);try{let t=Le.dirname(e);L.existsSync(t)||await L.promises.mkdir(t,{recursive:!0});let r=await fetch(n);if(!r.ok)throw new Error(`Failed to download schema from ${n}: ${r.statusText}`);let o=await r.text();return await L.promises.writeFile(e,o,"utf-8"),console.log(`Schema downloaded from ${n} to ${e}`),e}catch(t){throw console.error(`Error downloading schema from ${n}:`,t),t}}u();u();var oe=["get","put","post","delete","options","head","patch","trace"];function ie(n){return Object.entries(n.paths).flatMap(([e,t])=>t?Object.entries(t).filter(r=>oe.includes(r[0])).map(([r,o])=>({path:e,verb:r,pathItem:t,operation:o})):[])}u();import _e from"@apidevtools/swagger-parser";import Be from"swagger2openapi";async function se(n,e){let t=await _e.bundle(n,{resolve:{http:e}});return"openapi"in t&&t.openapi.startsWith("3")?t:(await Be.convertObj(t,{})).openapi}u();function ae(n,e,t,r){return r?r(n,e):t?.type?t.type==="query":n==="get"}var I=class{docCache={};async getDocument(e,t){if(this.docCache[e])return this.docCache[e];let r=await se(e,t);return this.docCache[e]=r,r}async downloadSchema(e,t){return re(e,t)}getPaths(e){return Object.keys(e.paths||{})}clearCache(){this.docCache={}}};u();import pe from"lodash.camelcase";var j=class{groupPaths(e,t){let{groupKeyMatch:r,outputDir:o}=t,i=e.reduce((a,c)=>{let m=r(c),l=m?pe(m):"_common";return a[l]||(a[l]=[]),a[l].push(c),a},{}),s={};for(let[a,c]of Object.entries(i))s[a]={groupKey:a,paths:c,outputPath:`${o}/${a}/query.service.ts`};return s}createGroupFilter(e,t){return(r,o)=>{let i=o.path,s=pe(t.groupKeyMatch(i)||"");return s!==e&&(s||"_common")!==e?!1:t.filterEndpoint?t.filterEndpoint(r,i,e):!0}}};u();import me from"node:fs";import P from"node:path";u();import ze from"node:path";import ce from"node:fs";async function ue(n){let e=ze.dirname(n);ce.existsSync(e)||await ce.promises.mkdir(e,{recursive:!0})}var q=class{async writeFile(e,t){try{let r=P.resolve(process.cwd(),e);return P.basename(r)==="enhanceEndpoints.ts"&&me.existsSync(r)?{path:r,success:!0}:(await ue(r),me.writeFileSync(r,t),{path:r,success:!0})}catch(r){return{path:e,success:!1,error:r}}}async writeFiles(e){let t=[];for(let[r,o]of Object.entries(e)){let i=await this.writeFile(r,o);t.push(i)}return t}async writeGroupFiles(e,t){let r={};return t.types&&(r[P.join(e,"types.ts")]=t.types),t.queryService&&(r[P.join(e,"query.generated.ts")]=t.queryService),t.enhanceEndpoints&&(r[P.join(e,"enhanceEndpoints.ts")]=t.enhanceEndpoints),t.index&&(r[P.join(e,"index.ts")]=t.index),this.writeFiles(r)}async writeSharedFiles(e,t){let r={};return t.commonTypes&&(r[P.join(e,"common-types.ts")]=t.commonTypes),t.doNotModify&&(r[P.join(e,"DO_NOT_MODIFY.md")]=t.doNotModify),t.utils&&(r[P.join(e,"utils.ts")]=t.utils),this.writeFiles(r)}async writeSchemaFile(e,t){let r={};return r[P.join(e,"schema.ts")]=t,this.writeFiles(r)}};u();import Xe from"oazapfts/generate";var M=class{constructor(e,t){this.v3Doc=e;this.apiGen=new Xe(e,{unionUndefined:t.unionUndefined,mergeReadWriteOnly:t.mergeReadWriteOnly})}apiGen;initialize(){this.apiGen.spec.components?.schemas&&(Object.keys(this.apiGen.spec.components.schemas).forEach(e=>{let t=this.apiGen.spec.components.schemas[e];t&&typeof t=="object"&&"title"in t&&delete t.title}),this.apiGen.preprocessComponents(this.apiGen.spec.components.schemas),Object.keys(this.apiGen.spec.components.schemas).forEach(e=>{try{this.apiGen.getRefAlias({$ref:`#/components/schemas/${e}`})}catch{}}))}getOperationDefinitions(e){let{operationMatches:t}=(B(),Ie(ge));return ie(this.v3Doc).filter(t(e))}getApiGenerator(){return this.apiGen}getDocument(){return this.v3Doc}getSchemaTypeNames(){return new Set}};u();function ye(){return`/* eslint-disable */
2
+ var B=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var Ie=Object.prototype.hasOwnProperty;var ee=(r,e)=>()=>(r&&(e=r(r=0)),e);var qe=(r,e)=>{for(var t in e)B(r,t,{get:e[t],enumerable:!0})},Ge=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of je(e))!Ie.call(r,o)&&o!==t&&B(r,o,{get:()=>e[o],enumerable:!(n=Fe(e,o))||n.enumerable});return r};var ke=r=>Ge(B({},"__esModule",{value:!0}),r);import{fileURLToPath as Me}from"node:url";var Ke,y,u=ee(()=>{"use strict";Ke=()=>Me(import.meta.url),y=Ke()});var Te={};qe(Te,{argumentMatches:()=>rt,defaultIsDataResponse:()=>et,getOperationName:()=>K,getOverrides:()=>Z,getTags:()=>tt,operationMatches:()=>Oe});import{getOperationName as Xe}from"oazapfts/generate";function et(r,e){if(e&&r==="default")return!0;let t=Number(r);return!Number.isNaN(t)&&t>=200&&t<300}function K({verb:r,path:e}){return Xe(r,e,void 0)}function tt({verb:r,pathItem:e}){return r?e[r]?.tags||[]:[]}function he(r){let e=Array.isArray(r)?r:[r];return function(n){return r?e.some(o=>typeof o=="string"?o===n:o?.test(n)):!0}}function Oe(r){let e=typeof r=="function"?r:he(r);return function(n){if(!r)return!0;let o=K(n);return e(o,n)}}function rt(r){let e=typeof r=="function"?r:he(r);return function(n){if(!r||n.in==="path")return!0;let o=n.name;return e(o,n)}}function Z(r,e){return e?.find(t=>Oe(t.pattern)(r))}var Y=ee(()=>{"use strict";u()});u();import z from"commander";import{createRequire as Tt}from"node:module";u();import Qe from"commander";import{createRequire as Ve}from"node:module";import{resolve as te}from"node:path";import{existsSync as _,rmSync as Ue,readdirSync as We,statSync as Le,mkdirSync as ze}from"node:fs";import re from"node:path";var E=Ve(y);function Be(r){let e=new Map;if(!_(r))return e;function t(n){try{let o=We(n);for(let i of o){let s=re.join(n,i);if(Le(s).isDirectory())t(s);else if(i==="enhanceEndpoints.ts"){let p=E("node:fs").readFileSync(s);e.set(s,p)}}}catch{}}return t(r),e}function _e(r){for(let[e,t]of r)try{let n=re.dirname(e);_(n)||ze(n,{recursive:!0}),E("node:fs").writeFileSync(e,t)}catch(n){console.warn(`Failed to restore ${e}:`,n)}}function ne(r){let e=["/","/usr","/etc","/var","/home","/Users",".",".."],t=te(r);if(e.some(n=>t===te(n))&&(console.error(`Dangerous path detected: ${t}. Refusing to delete.`),process.exit(1)),_(r)){console.log(`Cleaning output directory: ${r}`);let n=Be(r);Ue(r,{recursive:!0,force:!0}),n.size>0&&(_e(n),console.log(`Protected ${n.size} enhanceEndpoints.ts file(s) from deletion`)),console.log(`Directory cleaned: ${r}`)}}function oe(){try{if(E.resolve("esbuild")&&E.resolve("esbuild-runner"))return E("esbuild-runner/register"),!0}catch{}try{if(E.resolve("typescript")&&E.resolve("ts-node"))return E("ts-node").register({transpileOnly:!0,compilerOptions:{target:"es6",module:"commonjs"}}),!0}catch{}return!1}function ie(r){(!r||!/\.([mc]?(jsx?|tsx?)|jsonc?)?$/.test(r))&&(console.error("Please provide a valid configuration file."),Qe.help())}function se(r,e){/\.[mc]?tsx?$/.test(r)&&!e&&(console.error("Encountered a TypeScript config file, but neither esbuild-runner nor ts-node are installed."),process.exit(1))}import{dirname as bt,resolve as St}from"node:path";u();u();import W from"node:path";import we from"typescript";u();u();function q(r){return r.replace(r[0],r[0].toUpperCase())}u();import H from"node:fs";import He from"node:path";u();function ae(r){try{new URL(r)}catch{return!1}return!0}async function pe(r,e){if(!ae(r))throw new Error(`remoteFile must be a valid URL: ${r}`);try{let t=He.dirname(e);H.existsSync(t)||await H.promises.mkdir(t,{recursive:!0});let n=await fetch(r);if(!n.ok)throw new Error(`Failed to download schema from ${r}: ${n.statusText}`);let o=await n.text();return await H.promises.writeFile(e,o,"utf-8"),console.log(`Schema downloaded from ${r} to ${e}`),e}catch(t){throw console.error(`Error downloading schema from ${r}:`,t),t}}u();u();var ce=["get","put","post","delete","options","head","patch","trace"];function ue(r){return Object.entries(r.paths).flatMap(([e,t])=>t?Object.entries(t).filter(n=>ce.includes(n[0])).map(([n,o])=>({path:e,verb:n,pathItem:t,operation:o})):[])}u();import Ze from"@apidevtools/swagger-parser";import Ye from"swagger2openapi";async function le(r,e){let t=await Ze.bundle(r,{resolve:{http:e}});return"openapi"in t&&t.openapi.startsWith("3")?t:(await Ye.convertObj(t,{})).openapi}u();function me(r,e,t,n){return n?n(r,e):t?.type?t.type==="query":r==="get"}var G=class{docCache={};async getDocument(e,t){if(this.docCache[e])return this.docCache[e];let n=await le(e,t);return this.docCache[e]=n,n}async downloadSchema(e,t){return pe(e,t)}getPaths(e){return Object.keys(e.paths||{})}clearCache(){this.docCache={}}};u();import fe from"lodash.camelcase";var k=class{groupPaths(e,t){let{groupKeyMatch:n,outputDir:o}=t,i=e.reduce((a,p)=>{let f=n(p),l=f?fe(f):"_common";return a[l]||(a[l]=[]),a[l].push(p),a},{}),s={};for(let[a,p]of Object.entries(i))s[a]={groupKey:a,paths:p,outputPath:`${o}/${a}/query.service.ts`};return s}createGroupFilter(e,t){return(n,o)=>{let i=o.path,s=fe(t.groupKeyMatch(i)||"");return s!==e&&(s||"_common")!==e?!1:t.filterEndpoint?t.filterEndpoint(n,i,e):!0}}};u();import de from"node:fs";import C from"node:path";u();import Je from"node:path";import ge from"node:fs";async function ye(r){let e=Je.dirname(r);ge.existsSync(e)||await ge.promises.mkdir(e,{recursive:!0})}var M=class{async writeFile(e,t){try{let n=C.resolve(process.cwd(),e);return C.basename(n)==="enhanceEndpoints.ts"&&de.existsSync(n)?{path:n,success:!0}:(await ye(n),de.writeFileSync(n,t),{path:n,success:!0})}catch(n){return{path:e,success:!1,error:n}}}async writeFiles(e){let t=[];for(let[n,o]of Object.entries(e)){let i=await this.writeFile(n,o);t.push(i)}return t}async writeGroupFiles(e,t){let n={};return t.types&&(n[C.join(e,"types.ts")]=t.types),t.queryService&&(n[C.join(e,"query.generated.ts")]=t.queryService),t.enhanceEndpoints&&(n[C.join(e,"enhanceEndpoints.ts")]=t.enhanceEndpoints),t.index&&(n[C.join(e,"index.ts")]=t.index),this.writeFiles(n)}async writeSharedFiles(e,t){let n={};return t.commonTypes&&(n[C.join(e,"common-types.ts")]=t.commonTypes),t.doNotModify&&(n[C.join(e,"DO_NOT_MODIFY.md")]=t.doNotModify),t.utils&&(n[C.join(e,"utils.ts")]=t.utils),this.writeFiles(n)}async writeSchemaFile(e,t){let n={};return n[C.join(e,"schema.ts")]=t,this.writeFiles(n)}};u();import nt from"oazapfts/generate";var Q=class{constructor(e,t){this.v3Doc=e;this.apiGen=new nt(e,{unionUndefined:t.unionUndefined,mergeReadWriteOnly:t.mergeReadWriteOnly})}apiGen;initialize(){this.apiGen.spec.components?.schemas&&(Object.keys(this.apiGen.spec.components.schemas).forEach(e=>{let t=this.apiGen.spec.components.schemas[e];t&&typeof t=="object"&&"title"in t&&delete t.title}),this.apiGen.preprocessComponents(this.apiGen.spec.components.schemas),Object.keys(this.apiGen.spec.components.schemas).forEach(e=>{try{this.apiGen.getRefAlias({$ref:`#/components/schemas/${e}`})}catch{}}))}getOperationDefinitions(e){let{operationMatches:t}=(Y(),ke(Te));return ue(this.v3Doc).filter(t(e))}getApiGenerator(){return this.apiGen}getDocument(){return this.v3Doc}getSchemaTypeNames(){return new Set}};u();function be(){return`/* eslint-disable */
3
3
  // [Warning] Generated automatically - do not edit manually
4
4
 
5
5
  export interface RequestOptions {
@@ -14,21 +14,68 @@ export interface IRequestConfig {
14
14
  timeout?: number;
15
15
  }
16
16
 
17
- export type IRestFulEndpointsQueryReturn<TVariables> = TVariables extends void ?
18
- void | {fetchOptions?: IRequestConfig;}:
17
+ export type IRestFulEndpointsQueryReturn<TVariables> = TVariables extends void ?
18
+ void | {fetchOptions?: IRequestConfig;}:
19
19
  {
20
20
  variables: TVariables;
21
21
  fetchOptions?: IRequestConfig;
22
22
  };
23
- `}u();import v from"typescript";function et(n){return n.charAt(0).toUpperCase()+n.slice(1)}function tt(n,e,t){return v.transform(n,[r=>o=>v.visitNode(o,function i(s){return v.isIdentifier(s)&&s.text===e?v.factory.createIdentifier(t):v.visitEachChild(s,i,r)})]).transformed[0]}function nt(n){if(!v.isUnionTypeNode(n.type))return null;let e=[];for(let t of n.type.types)if(v.isLiteralTypeNode(t)&&v.isStringLiteral(t.literal))e.push(t.literal.text);else return null;return e.length>0?e:null}function rt(n,e){let t=e.map(r=>` ${r.charAt(0).toUpperCase()+r.slice(1)} = "${r}"`);return`export enum ${n} {
23
+
24
+ export interface RtkQueryBaseOptions {
25
+ skip?: boolean;
26
+ pollingInterval?: number;
27
+ refetchOnMountOrArgChange?: boolean | number;
28
+ refetchOnFocus?: boolean;
29
+ refetchOnReconnect?: boolean;
30
+ }
31
+
32
+ export interface RtkQueryResult<TData> {
33
+ data: TData | undefined;
34
+ currentData: TData | undefined;
35
+ isLoading: boolean;
36
+ isFetching: boolean;
37
+ isSuccess: boolean;
38
+ isError: boolean;
39
+ isUninitialized: boolean;
40
+ error: unknown;
41
+ refetch: () => void;
42
+ }
43
+
44
+ export type SimpleQueryHook<TData, TArg> = (
45
+ arg: TArg,
46
+ options?: RtkQueryBaseOptions
47
+ ) => RtkQueryResult<TData>;
48
+
49
+ export type SimpleVoidQueryHook<TData> = (
50
+ options?: RtkQueryBaseOptions
51
+ ) => RtkQueryResult<TData>;
52
+
53
+ export type SimpleLazyQueryHook<TData, TArg> = () => readonly [
54
+ (arg: TArg) => void,
55
+ RtkQueryResult<TData>
56
+ ];
57
+
58
+ export type UseSimpleMutation<TRes, TArg = void> = () => readonly [
59
+ (arg: TArg) => Promise<TRes>,
60
+ {
61
+ data: TRes | undefined;
62
+ isLoading: boolean;
63
+ isSuccess: boolean;
64
+ isError: boolean;
65
+ isUninitialized: boolean;
66
+ error: unknown;
67
+ reset: () => void;
68
+ }
69
+ ];
70
+ `}u();import v from"typescript";function ot(r){return r.charAt(0).toUpperCase()+r.slice(1)}function it(r,e,t){return v.transform(r,[n=>o=>v.visitNode(o,function i(s){return v.isIdentifier(s)&&s.text===e?v.factory.createIdentifier(t):v.visitEachChild(s,i,n)})]).transformed[0]}function st(r){if(!v.isUnionTypeNode(r.type))return null;let e=[];for(let t of r.type.types)if(v.isLiteralTypeNode(t)&&v.isStringLiteral(t.literal))e.push(t.literal.text);else return null;return e.length>0?e:null}function at(r,e){let t=e.map(n=>` ${n.charAt(0).toUpperCase()+n.slice(1)} = "${n}"`);return`export enum ${r} {
24
71
  ${t.join(`,
25
72
  `)}
26
- }`}function de(n,e){let t=v.createPrinter({newLine:v.NewLineKind.LineFeed}),r=v.createSourceFile("component-schema.ts","",v.ScriptTarget.Latest,!1,v.ScriptKind.TS),o=[],i={};return Object.entries(n).forEach(([s,a])=>{let c=et(s);if(i[s]=c,e&&!e.has(s))return;if(v.isTypeAliasDeclaration(a)){let p=nt(a);if(p){o.push(rt(c,p));return}}let m=tt(a,s,c),l=t.printNode(v.EmitHint.Unspecified,m,r);o.push(l)}),`/* eslint-disable */
73
+ }`}function Se(r,e){let t=v.createPrinter({newLine:v.NewLineKind.LineFeed}),n=v.createSourceFile("component-schema.ts","",v.ScriptTarget.Latest,!1,v.ScriptKind.TS),o=[],i={};return Object.entries(r).forEach(([s,a])=>{let p=ot(s);if(i[s]=p,e&&!e.has(s))return;if(v.isTypeAliasDeclaration(a)){let m=st(a);if(m){o.push(at(p,m));return}}let f=it(a,s,p),l=t.printNode(v.EmitHint.Unspecified,f,n);o.push(l)}),`/* eslint-disable */
27
74
  // [Warning] Generated automatically - do not edit manually
28
75
 
29
76
  ${o.join(`
30
77
  `)}
31
- `}u();function he(){return`# \u8ACB\u52FF\u4FEE\u6539\u6B64\u8CC7\u6599\u593E
78
+ `}u();function ve(){return`# \u8ACB\u52FF\u4FEE\u6539\u6B64\u8CC7\u6599\u593E
32
79
 
33
80
  \u26A0\uFE0F **\u91CD\u8981\u63D0\u9192\uFF1A\u8ACB\u52FF\u4FEE\u6539\u6B64\u8CC7\u6599\u593E\u4E2D\u7684\u4EFB\u4F55\u6A94\u6848**
34
81
 
@@ -47,51 +94,54 @@ ${o.join(`
47
94
  \u9019\u4E9B\u6A94\u6848\u662F\u7531 @acrool/rtk-query-codegen-openapi \u7522\u751F\u5668\u6240\u5EFA\u7ACB\u3002
48
95
 
49
96
  \u5982\u6709\u7591\u554F\uFF0C\u8ACB\u53C3\u8003\u5C08\u6848\u6587\u4EF6\u6216\u806F\u7E6B\u958B\u767C\u5718\u968A\u3002
50
- `}u();import Se from"typescript";u();B();import{supportDeepObjects as ot}from"oazapfts/generate";var N=class{constructor(e){this.options=e}extractEndpointInfos(e){return e.map(t=>this.extractSingleEndpointInfo(t))}extractSingleEndpointInfo(e){let{verb:t,path:r,operation:o}=e,{operationNameSuffix:i="",argSuffix:s="Req",responseSuffix:a="Res",queryMatch:c,endpointOverrides:m}=this.options,l=G({verb:t,path:r}),p=i?F(l+i):l,f=F(l+i+s),h=F(l+i+a),y=ae(t,r,_(e,m),c),b=`${l.replace(/([A-Z])/g,"_$1").toUpperCase()}`,x=o.summary||`${t.toUpperCase()} ${r}`,{queryParams:S,pathParams:T,isVoidArg:R,hasRequestBody:w}=this.extractParameters(e),D=this.extractContentType(o),Re=Array.isArray(o.tags)?o.tags:[];return{operationName:p,argTypeName:f,responseTypeName:h,isQuery:y,verb:t.toUpperCase(),path:r,queryKeyName:b,queryParams:S,pathParams:T,isVoidArg:R,summary:x,contentType:D,hasRequestBody:w,tags:Re}}extractParameters(e){let{operation:t,pathItem:r}=e,o=this.resolveArray(t.parameters),i=this.resolveArray(r.parameters).filter(p=>!o.some(f=>f.name===p.name&&f.in===p.in)),s=ot([...i,...o]).filter(p=>p.in!=="header"),a=s.filter(p=>p.in==="query"),c=s.filter(p=>p.in==="path"),m=!!t.requestBody,l=a.length===0&&c.length===0&&!t.requestBody;return{queryParams:a,pathParams:c,isVoidArg:l,hasRequestBody:m}}resolveArray(e){return e?Array.isArray(e)?e:[e]:[]}extractContentType(e){if(!e.requestBody)return"application/json";let t=e.requestBody.content;if(!t||typeof t!="object")return"application/json";let r=Object.keys(t);return r.length===0?"application/json":r[0]}};u();import O from"typescript";var z=n=>n.charAt(0).toUpperCase()+n.slice(1);function it(n,e,t){return O.transform(n,[r=>o=>O.visitNode(o,function i(s){return O.isIdentifier(s)&&s.text===e?O.factory.createIdentifier(t):O.visitEachChild(s,i,r)})]).transformed[0]}function st(n,e,t,r){let o=new Set;for(let i of e)t.has(i)||o.add(z(i));return O.transform(n,[i=>s=>O.visitNode(s,function a(c){if(O.isTypeReferenceNode(c)&&O.isIdentifier(c.typeName)){let m=c.typeName.text;if(o.has(m)&&m!==r){let l=O.factory.createQualifiedName(O.factory.createIdentifier("Schema"),O.factory.createIdentifier(m));return O.factory.createTypeReferenceNode(l,c.typeArguments)}}return O.visitEachChild(c,a,i)})]).transformed[0]}function at(n){if(!O.isUnionTypeNode(n.type))return null;let e=[];for(let t of n.type.types)if(O.isLiteralTypeNode(t)&&O.isStringLiteral(t.literal))e.push(t.literal.text);else return null;return e.length>0?e:null}function pt(n,e){let t=e.map(r=>` ${r.charAt(0).toUpperCase()+r.slice(1)} = "${r}"`);return`export enum ${n} {
97
+ `}u();import Ce from"typescript";u();Y();import{supportDeepObjects as pt}from"oazapfts/generate";var j=class{constructor(e){this.options=e}extractEndpointInfos(e){return e.map(t=>this.extractSingleEndpointInfo(t))}extractSingleEndpointInfo(e){let{verb:t,path:n,operation:o}=e,{operationNameSuffix:i="",argSuffix:s="Req",responseSuffix:a="Res",queryMatch:p,endpointOverrides:f}=this.options,l=K({verb:t,path:n}),m=i?q(l+i):l,g=q(l+i+s),T=q(l+i+a),b=me(t,n,Z(e,f),p),O=`${l.replace(/([A-Z])/g,"_$1").toUpperCase()}`,P=o.summary||`${t.toUpperCase()} ${n}`,{queryParams:$,pathParams:c,isVoidArg:A,hasRequestBody:N}=this.extractParameters(e),S=this.extractContentType(o),x=Array.isArray(o.tags)?o.tags:[];return{operationName:m,argTypeName:g,responseTypeName:T,isQuery:b,verb:t.toUpperCase(),path:n,queryKeyName:O,queryParams:$,pathParams:c,isVoidArg:A,summary:P,contentType:S,hasRequestBody:N,tags:x}}extractParameters(e){let{operation:t,pathItem:n}=e,o=this.resolveArray(t.parameters),i=this.resolveArray(n.parameters).filter(m=>!o.some(g=>g.name===m.name&&g.in===m.in)),s=pt([...i,...o]).filter(m=>m.in!=="header"),a=s.filter(m=>m.in==="query"),p=s.filter(m=>m.in==="path"),f=!!t.requestBody,l=a.length===0&&p.length===0&&!t.requestBody;return{queryParams:a,pathParams:p,isVoidArg:l,hasRequestBody:f}}resolveArray(e){return e?Array.isArray(e)?e:[e]:[]}extractContentType(e){if(!e.requestBody)return"application/json";let t=e.requestBody.content;if(!t||typeof t!="object")return"application/json";let n=Object.keys(t);return n.length===0?"application/json":n[0]}};u();import h from"typescript";var J=r=>r.charAt(0).toUpperCase()+r.slice(1);function ct(r,e,t){return h.transform(r,[n=>o=>h.visitNode(o,function i(s){return h.isIdentifier(s)&&s.text===e?h.factory.createIdentifier(t):h.visitEachChild(s,i,n)})]).transformed[0]}function ut(r,e,t,n){let o=new Set;for(let i of e)t.has(i)||o.add(J(i));return h.transform(r,[i=>s=>h.visitNode(s,function a(p){if(h.isTypeReferenceNode(p)&&h.isIdentifier(p.typeName)){let f=p.typeName.text;if(o.has(f)&&f!==n){let l=h.factory.createQualifiedName(h.factory.createIdentifier("Schema"),h.factory.createIdentifier(f));return h.factory.createTypeReferenceNode(l,p.typeArguments)}}return h.visitEachChild(p,a,i)})]).transformed[0]}function lt(r){if(!h.isUnionTypeNode(r.type))return null;let e=[];for(let t of r.type.types)if(h.isLiteralTypeNode(t)&&h.isStringLiteral(t.literal))e.push(t.literal.text);else return null;return e.length>0?e:null}function mt(r,e){let t=e.map(n=>` ${n.charAt(0).toUpperCase()+n.slice(1)} = "${n}"`);return`export enum ${r} {
51
98
  ${t.join(`,
52
99
  `)}
53
- }`}function K(n,e,t,r,o){let i=o?.localSchemaNames??new Set,s=o?.localSchemaInterfaces??{},a={};t&&Object.keys(t).forEach(f=>{if(a[f]=f,f.endsWith("Vo")){let h=f.slice(0,-2)+"VO";a[h]=f}if(f.endsWith("Dto")){let h=f.slice(0,-3)+"DTO";a[h]=f}});let c=t&&Object.keys(t).some(f=>!i.has(f)),m=`/* eslint-disable */
100
+ }`}function V(r,e,t,n,o){let i=o?.localSchemaNames??new Set,s=o?.localSchemaInterfaces??{},a={};t&&Object.keys(t).forEach(g=>{if(a[g]=g,g.endsWith("Vo")){let T=g.slice(0,-2)+"VO";a[T]=g}if(g.endsWith("Dto")){let T=g.slice(0,-3)+"DTO";a[T]=g}});let p=t&&Object.keys(t).some(g=>!i.has(g)),f=`/* eslint-disable */
54
101
  // [Warning] Generated automatically - do not edit manually
55
102
 
56
- `;c&&(m+=`import * as Schema from "../schema";
57
- `),m+=`
58
- `;let l=[];if(Object.keys(s).length>0){let f=O.createPrinter({newLine:O.NewLineKind.LineFeed}),h=O.createSourceFile("types.ts","",O.ScriptTarget.Latest,!1,O.ScriptKind.TS),y=[],b=new Set(t?Object.keys(t):[]);for(let[x,S]of Object.entries(s)){let T=z(x);if(O.isTypeAliasDeclaration(S)){let D=at(S);if(D){y.push(pt(T,D));continue}}let R=it(S,x,T);R=st(R,b,i,T);let w=f.printNode(O.EmitHint.Unspecified,R,h);y.push(w)}y.length>0&&l.push(y.join(`
59
- `))}let p=[];return n.forEach(f=>{let h=f.argTypeName,y=f.responseTypeName;if(h){let b=ct(f,r,a,i);b.trim()===""?p.push(`export type ${h} = void;`,""):p.push(`export type ${h} = {`,b,"};","")}if(y){let b=ut(f,r,a,i);b.content.trim()===""?p.push(`export type ${y} = void;`,""):b.isDirectType?p.push(`export type ${y} = ${b.content};`,""):p.push(`export type ${y} = {`,b.content,"};","")}}),p.length>0&&l.push(p.join(`
60
- `)),l.length===0&&l.push("// \u6B64\u6A94\u6848\u7528\u65BC\u5B9A\u7FA9 API \u76F8\u95DC\u7684\u985E\u578B","// \u985E\u578B\u5B9A\u7FA9\u6703\u6839\u64DA OpenAPI Schema \u81EA\u52D5\u751F\u6210",""),m+l.join(`
103
+ `;p&&(f+=`import * as Schema from "../schema";
104
+ `),f+=`
105
+ `;let l=[];if(Object.keys(s).length>0){let g=h.createPrinter({newLine:h.NewLineKind.LineFeed}),T=h.createSourceFile("types.ts","",h.ScriptTarget.Latest,!1,h.ScriptKind.TS),b=[],O=new Set(t?Object.keys(t):[]);for(let[P,$]of Object.entries(s)){let c=J(P);if(h.isTypeAliasDeclaration($)){let S=lt($);if(S){b.push(mt(c,S));continue}}let A=ct($,P,c);A=ut(A,O,i,c);let N=g.printNode(h.EmitHint.Unspecified,A,T);b.push(N)}b.length>0&&l.push(b.join(`
106
+ `))}let m=[];return r.forEach(g=>{let T=g.argTypeName,b=g.responseTypeName;if(T){let O=ft(g,n,a,i);O.trim()===""?m.push(`export type ${T} = void;`,""):m.push(`export type ${T} = {`,O,"};","")}if(b){let O=gt(g,n,a,i);O.content.trim()===""?m.push(`export type ${b} = void;`,""):O.isDirectType?m.push(`export type ${b} = ${O.content};`,""):m.push(`export type ${b} = {`,O.content,"};","")}}),m.length>0&&l.push(m.join(`
107
+ `)),l.length===0&&l.push("// \u6B64\u6A94\u6848\u7528\u65BC\u5B9A\u7FA9 API \u76F8\u95DC\u7684\u985E\u578B","// \u985E\u578B\u5B9A\u7FA9\u6703\u6839\u64DA OpenAPI Schema \u81EA\u52D5\u751F\u6210",""),f+l.join(`
61
108
 
62
- `)}function ct(n,e,t={},r=new Set){let o=[];n.queryParams&&n.queryParams.length>0&&n.queryParams.forEach(s=>{let a=s.required?"":"?",c=Oe(s,t,r);o.push(` ${s.name}${a}: ${c};`)}),n.pathParams&&n.pathParams.length>0&&n.pathParams.forEach(s=>{let a=s.required?"":"?",c=Oe(s,t,r);o.push(` ${s.name}${a}: ${c};`)});let i=e?.find(s=>s.operation?.operationId===n.operationName||s.operation?.operationId===n.operationName.toLowerCase()||s.verb===n.verb.toLowerCase()&&s.path===n.path);if(i?.operation?.requestBody){let a=i.operation.requestBody.content,c=a["application/json"]||a["*/*"],m=a["multipart/form-data"]||a["application/x-www-form-urlencoded"];if(c?.schema){let l=A(c.schema,t,1,r);o.push(` body: ${l};`)}else if(m?.schema){let l=A(m.schema,t,1,r);o.push(` body: ${l};`)}else{let l=Object.values(a)[0];if(l?.schema){let p=A(l.schema,t,1,r);o.push(` body: ${p};`)}else o.push(" body?: any; // Request body from OpenAPI")}}return o.length===0?"":o.join(`
63
- `)}function ut(n,e,t={},r=new Set){let o=e?.find(i=>i.operation?.operationId===n.operationName||i.operation?.operationId===n.operationName.toLowerCase()||i.verb===n.verb.toLowerCase()&&i.path===n.path);if(o?.operation?.responses){let i=o.operation.responses[200]||o.operation.responses[201];if(i?.content){let s=i.content["application/json"]||i.content["*/*"]||Object.values(i.content)[0];if(s?.schema){let a=s.schema;if(a.$ref||a.type!=="object"||!a.properties){let m=A(a,t,0,r);if(m&&m!=="any")return{content:m,isDirectType:!0}}let c=mt(a,t,r);if(c.length>0)return{content:c.join(`
64
- `),isDirectType:!1}}}}return{content:"",isDirectType:!1}}function mt(n,e={},t=new Set){let r=[];if(n.type==="object"&&n.properties){let o=n.required||[];Object.entries(n.properties).forEach(([i,s])=>{let c=o.includes(i)?"":"?",m=A(s,e,1,t),p=/[^a-zA-Z0-9_$]/.test(i)?`"${i}"`:i;s.description&&r.push(` /** ${s.description} */`),r.push(` ${p}${c}: ${m};`)})}return r}function A(n,e={},t=0,r=new Set){if(!n)return"any";if(n.$ref){let i=n.$ref;if(i.startsWith("#/components/schemas/")){let s=i.replace("#/components/schemas/",""),a=e[s]||s,c=z(a),m=r.has(s)?c:`Schema.${c}`;return n.nullable?`${m} | null`:m}}let o;switch(n.type){case"string":n.enum?o=n.enum.map(a=>`"${a}"`).join(" | "):n.format==="binary"?o="Blob":o="string";break;case"number":case"integer":o="number";break;case"boolean":o="boolean";break;case"array":let i=n.items?A(n.items,e,t,r):"any";o=i.includes("|")?`(${i})[]`:`${i}[]`;break;case"object":if(n.properties){let a=Object.entries(n.properties);if(a.length===0)n.additionalProperties?o=`Record<string, ${n.additionalProperties===!0?"any":A(n.additionalProperties,e,t,r)}>`:o="{}";else{let c=" ".repeat(t+1),m=" ".repeat(t),l=[];a.forEach(([p,f])=>{let y=(n.required||[]).includes(p)?"":"?",b=A(f,e,t+1,r),S=/[^a-zA-Z0-9_$]/.test(p)?`"${p}"`:p;f.description&&l.push(`${c}/** ${f.description} */`),l.push(`${c}${S}${y}: ${b};`)}),o=`{
109
+ `)}function ft(r,e,t={},n=new Set){let o=[];r.queryParams&&r.queryParams.length>0&&r.queryParams.forEach(s=>{let a=s.required?"":"?",p=xe(s,t,n);o.push(` ${s.name}${a}: ${p};`)}),r.pathParams&&r.pathParams.length>0&&r.pathParams.forEach(s=>{let a=s.required?"":"?",p=xe(s,t,n);o.push(` ${s.name}${a}: ${p};`)});let i=e?.find(s=>s.operation?.operationId===r.operationName||s.operation?.operationId===r.operationName.toLowerCase()||s.verb===r.verb.toLowerCase()&&s.path===r.path);if(i?.operation?.requestBody){let a=i.operation.requestBody.content,p=a["application/json"]||a["*/*"],f=a["multipart/form-data"]||a["application/x-www-form-urlencoded"];if(p?.schema){let l=R(p.schema,t,1,n);o.push(` body: ${l};`)}else if(f?.schema){let l=R(f.schema,t,1,n);o.push(` body: ${l};`)}else{let l=Object.values(a)[0];if(l?.schema){let m=R(l.schema,t,1,n);o.push(` body: ${m};`)}else o.push(" body?: any; // Request body from OpenAPI")}}return o.length===0?"":o.join(`
110
+ `)}function gt(r,e,t={},n=new Set){let o=e?.find(i=>i.operation?.operationId===r.operationName||i.operation?.operationId===r.operationName.toLowerCase()||i.verb===r.verb.toLowerCase()&&i.path===r.path);if(o?.operation?.responses){let i=o.operation.responses[200]||o.operation.responses[201];if(i?.content){let s=i.content["application/json"]||i.content["*/*"]||Object.values(i.content)[0];if(s?.schema){let a=s.schema;if(a.$ref||a.type!=="object"||!a.properties){let f=R(a,t,0,n);if(f&&f!=="any")return{content:f,isDirectType:!0}}let p=yt(a,t,n);if(p.length>0)return{content:p.join(`
111
+ `),isDirectType:!1}}}}return{content:"",isDirectType:!1}}function yt(r,e={},t=new Set){let n=[];if(r.type==="object"&&r.properties){let o=r.required||[];Object.entries(r.properties).forEach(([i,s])=>{let p=o.includes(i)?"":"?",f=R(s,e,1,t),m=/[^a-zA-Z0-9_$]/.test(i)?`"${i}"`:i;s.description&&n.push(` /** ${s.description} */`),n.push(` ${m}${p}: ${f};`)})}return n}function R(r,e={},t=0,n=new Set){if(!r)return"any";if(r.$ref){let i=r.$ref;if(i.startsWith("#/components/schemas/")){let s=i.replace("#/components/schemas/",""),a=e[s]||s,p=J(a),f=n.has(s)?p:`Schema.${p}`;return r.nullable?`${f} | null`:f}}let o;switch(r.type){case"string":r.enum?o=r.enum.map(a=>`"${a}"`).join(" | "):r.format==="binary"?o="Blob":o="string";break;case"number":case"integer":o="number";break;case"boolean":o="boolean";break;case"array":let i=r.items?R(r.items,e,t,n):"any";o=i.includes("|")?`(${i})[]`:`${i}[]`;break;case"object":if(r.properties){let a=Object.entries(r.properties);if(a.length===0)r.additionalProperties?o=`Record<string, ${r.additionalProperties===!0?"any":R(r.additionalProperties,e,t,n)}>`:o="{}";else{let p=" ".repeat(t+1),f=" ".repeat(t),l=[];a.forEach(([m,g])=>{let b=(r.required||[]).includes(m)?"":"?",O=R(g,e,t+1,n),$=/[^a-zA-Z0-9_$]/.test(m)?`"${m}"`:m;g.description&&l.push(`${p}/** ${g.description} */`),l.push(`${p}${$}${b}: ${O};`)}),o=`{
65
112
  ${l.join(`
66
113
  `)}
67
- ${m}}`}}else n.additionalProperties?o=`Record<string, ${n.additionalProperties===!0?"any":A(n.additionalProperties,e,t,r)}>`:o="any";break;default:o="any";break}return n.nullable?`${o} | null`:o}function Oe(n,e={},t=new Set){return n.schema?A(n.schema,e,0,t):"any"}u();function be(n,e){let{groupKey:t}=e,r=e.httpClient?.importReturnTypeName||"IRestFulEndpointsQueryReturn",o=n.map(p=>{let f=p.isQuery?"query":"mutation",h=p.isVoidArg?"void":`${r}<${p.argTypeName}>`,y=p.path;p.pathParams&&p.pathParams.length>0?(p.pathParams.forEach(S=>{y=y.replace(`{${S.name}}`,`\${queryArg.variables.${S.name}}`)}),y="`"+y+"`"):y=`"${y}"`;let b="";p.queryParams&&p.queryParams.length>0&&(b=`
114
+ ${f}}`}}else r.additionalProperties?o=`Record<string, ${r.additionalProperties===!0?"any":R(r.additionalProperties,e,t,n)}>`:o="any";break;default:o="any";break}return r.nullable?`${o} | null`:o}function xe(r,e={},t=new Set){return r.schema?R(r.schema,e,0,t):"any"}u();function Ae(r,e){let{groupKey:t}=e,n=e.httpClient?.importReturnTypeName||"IRestFulEndpointsQueryReturn",o=r.map(c=>{let A=c.isQuery?"query":"mutation",N=c.isVoidArg?"void":`${n}<${c.argTypeName}>`,S=c.path;c.pathParams&&c.pathParams.length>0?(c.pathParams.forEach(F=>{S=S.replace(`{${F.name}}`,`\${queryArg.variables.${F.name}}`)}),S="`"+S+"`"):S=`"${S}"`;let x="";c.queryParams&&c.queryParams.length>0&&(x=`
68
115
  params: {
69
- ${p.queryParams.map(T=>` ${T.name}: queryArg.variables.${T.name},`).join(`
116
+ ${c.queryParams.map(I=>` ${I.name}: queryArg.variables.${I.name},`).join(`
70
117
  `)}
71
- },`);let x="";if(p.tags&&p.tags.length>0){let S=p.tags.map(T=>`ECacheTagTypes.${T.split(/\s+/).map(w=>w.charAt(0).toUpperCase()+w.slice(1)).join("")}`).join(", ");p.isQuery?x=`
72
- providesTags: [${S}],`:x=`
73
- invalidatesTags: (result, error) => error ? [] : [${S}],`}return` /** ${p.summary||p.operationName} */
74
- ${p.operationName}: build.${f}<
75
- ${p.responseTypeName},
76
- ${h}
77
- >({${x}
118
+ },`);let D="";if(c.tags&&c.tags.length>0){let F=c.tags.map(I=>`ECacheTagTypes.${I.split(/\s+/).map(X=>X.charAt(0).toUpperCase()+X.slice(1)).join("")}`).join(", ");c.isQuery?D=`
119
+ providesTags: [${F}],`:D=`
120
+ invalidatesTags: (result, error) => error ? [] : [${F}],`}return` /** ${c.summary||c.operationName} */
121
+ ${c.operationName}: build.${A}<
122
+ ${c.responseTypeName},
123
+ ${N}
124
+ >({${D}
78
125
  query: (queryArg) => ({
79
- url: ${y},
80
- method: "${p.verb.toUpperCase()}",
81
- contentType: "${p.contentType}",${b}${p.hasRequestBody?`
82
- body: queryArg.variables.body,`:""}${p.isVoidArg?"":`
126
+ url: ${S},
127
+ method: "${c.verb.toUpperCase()}",
128
+ contentType: "${c.contentType}",${x}${c.hasRequestBody?`
129
+ body: queryArg.variables.body,`:""}${c.isVoidArg?"":`
83
130
  fetchOptions: queryArg?.fetchOptions,`}
84
131
  }),
85
132
  }),`}).join(`
86
- `),i=[...new Set([...n.map(p=>p.argTypeName),...n.map(p=>p.responseTypeName)])].filter(p=>p!=="VoidApiArg"),s=i.length>0?`import type { ${i.join(", ")} } from "./types";`:"",a=e.apiConfiguration?`import {${e.apiConfiguration.importName} as api} from "${e.apiConfiguration.file.replace(/\.ts$/,"")}";
133
+ `),i=[...new Set([...r.map(c=>c.argTypeName),...r.map(c=>c.responseTypeName)])].filter(c=>c!=="VoidApiArg"),s=i.length>0?`import type { ${i.join(", ")} } from "./types";`:"",a=e.apiConfiguration?`import {${e.apiConfiguration.importName} as api} from "${e.apiConfiguration.file.replace(/\.ts$/,"")}";
87
134
  `:`import {baseApi as api} from "../../../library/redux/baseApi";
88
- `,c=e.httpClient?`import {${e.httpClient.importReturnTypeName}} from "${e.httpClient.file}";
135
+ `,p=e.httpClient?`import {${e.httpClient.importReturnTypeName}} from "${e.httpClient.file}";
89
136
  `:`import {IRestFulEndpointsQueryReturn} from "@acrool/react-fetcher";
90
- `,l=n.some(p=>p.tags&&p.tags.length>0)?`import {ECacheTagTypes} from "../tagTypes";
91
- `:"";return`/* eslint-disable */
137
+ `,l=r.some(c=>c.tags&&c.tags.length>0)?`import {ECacheTagTypes} from "../tagTypes";
138
+ `:"",m=r.some(c=>c.isQuery&&c.isVoidArg),g=r.some(c=>c.isQuery&&!c.isVoidArg),T=r.some(c=>c.isQuery)&&!!e.useLazyQueries,b=r.some(c=>!c.isQuery),O=[];g&&O.push("SimpleQueryHook"),m&&O.push("SimpleVoidQueryHook"),T&&O.push("SimpleLazyQueryHook"),b&&O.push("UseSimpleMutation");let P=O.length>0?`import type { ${O.join(", ")} } from "../common-types";
139
+ `:"",$=r.map(c=>{let A=c.operationName.charAt(0).toUpperCase()+c.operationName.slice(1),N=c.isVoidArg?"void":`${n}<${c.argTypeName}>`,S=[];if(c.isQuery){let x=`use${A}Query`;if(c.isVoidArg?S.push(`export const ${x} = injectedRtkApi.${x} as SimpleVoidQueryHook<${c.responseTypeName}>;`):S.push(`export const ${x} = injectedRtkApi.${x} as SimpleQueryHook<${c.responseTypeName}, ${N}>;`),e.useLazyQueries){let D=`useLazy${A}Query`;S.push(`export const ${D} = injectedRtkApi.${D} as unknown as SimpleLazyQueryHook<${c.responseTypeName}, ${N}>;`)}}else{let x=`use${A}Mutation`;S.push(`export const ${x} = injectedRtkApi.${x} as unknown as UseSimpleMutation<${c.responseTypeName}, ${N}>;`)}return S.join(`
140
+ `)}).join(`
141
+ `);return`/* eslint-disable */
92
142
  // [Warning] Generated automatically - do not edit manually
93
143
 
94
- ${a}${c}${l}
144
+ ${a}${p}${l}${P}
95
145
  ${s}
96
146
 
97
147
 
@@ -101,21 +151,17 @@ ${o}
101
151
  }),
102
152
  });
103
153
 
104
- export const {
105
- ${n.map(p=>{let f=p.operationName.charAt(0).toUpperCase()+p.operationName.slice(1);if(p.isQuery){let h=`use${f}Query`;if(e.useLazyQueries){let y=`useLazy${f}Query`;return` ${h},
106
- ${y},`}else return` ${h},`}else return` ${`use${f}Mutation`},`}).join(`
107
- `)}
108
- } = injectedRtkApi;
154
+ ${$}
109
155
 
110
156
  export default injectedRtkApi;
111
- `}u();function ve(n,e){return`/* eslint-disable */
157
+ `}u();function Pe(r,e){return`/* eslint-disable */
112
158
  // [Warning] Generated automatically - do not edit manually
113
159
 
114
160
  import api from "./query.generated";
115
161
 
116
162
  const enhancedApi = api.enhanceEndpoints({
117
163
  endpoints: {
118
- ${n.map(o=>o.isQuery?` ${o.operationName}: {
164
+ ${r.map(o=>o.isQuery?` ${o.operationName}: {
119
165
  providesTags: (result, error, arg) => [],
120
166
  },`:` ${o.operationName}: {
121
167
  invalidatesTags: (result, error, arg) => [],
@@ -125,13 +171,13 @@ ${n.map(o=>o.isQuery?` ${o.operationName}: {
125
171
  });
126
172
 
127
173
  export default enhancedApi;
128
- `}var k=class{constructor(e,t){this.parserService=e;this.options=t;this.infoExtractor=new N(t)}infoExtractor;async generate(){let e=this.parserService.getOperationDefinitions(this.options.filterEndpoints),t=this.infoExtractor.extractEndpointInfos(e);return this.generateRtkQueryCode(t)}generateRtkQueryCode(e){let t=this.generateTypes(e),r=be(e,this.options),o=ve(e,this.options),i=this.generateIndex(),s=e.map(c=>c.operationName),a=new Set;return e.forEach(c=>{c.tags&&Array.isArray(c.tags)&&c.tags.forEach(m=>a.add(m))}),{operationNames:s,tags:Array.from(a),files:{types:t,queryService:r,index:i,enhanceEndpoints:o}}}generateTypes(e){let t={...this.options,apiConfiguration:this.options.apiConfiguration||{file:"@/store/webapi",importName:"WebApiConfiguration"}},o=this.parserService.getApiGenerator().aliases.reduce((s,a)=>{if(Se.isInterfaceDeclaration(a)||Se.isTypeAliasDeclaration(a)){let c=a.name.text;return{...s,[c]:a}}return s},{}),i=this.parserService.getOperationDefinitions(this.options.filterEndpoints);return K(e,t,o,i)}generateIndex(){let e=this.options.groupKey||"";return`/* eslint-disable */
174
+ `}var U=class{constructor(e,t){this.parserService=e;this.options=t;this.infoExtractor=new j(t)}infoExtractor;async generate(){let e=this.parserService.getOperationDefinitions(this.options.filterEndpoints),t=this.infoExtractor.extractEndpointInfos(e);return this.generateRtkQueryCode(t)}generateRtkQueryCode(e){let t=this.generateTypes(e),n=Ae(e,this.options),o=Pe(e,this.options),i=this.generateIndex(),s=e.map(p=>p.operationName),a=new Set;return e.forEach(p=>{p.tags&&Array.isArray(p.tags)&&p.tags.forEach(f=>a.add(f))}),{operationNames:s,tags:Array.from(a),files:{types:t,queryService:n,index:i,enhanceEndpoints:o}}}generateTypes(e){let t={...this.options,apiConfiguration:this.options.apiConfiguration||{file:"@/store/webapi",importName:"WebApiConfiguration"}},o=this.parserService.getApiGenerator().aliases.reduce((s,a)=>{if(Ce.isInterfaceDeclaration(a)||Ce.isTypeAliasDeclaration(a)){let p=a.name.text;return{...s,[p]:a}}return s},{}),i=this.parserService.getOperationDefinitions(this.options.filterEndpoints);return V(e,t,o,i)}generateIndex(){let e=this.options.groupKey||"";return`/* eslint-disable */
129
175
  // [Warning] Generated automatically - do not edit manually
130
176
 
131
177
  export { default as ${e?`${e.charAt(0).toLowerCase()+e.slice(1)}Api`:"api"} } from "./enhanceEndpoints";
132
178
  export * from "./query.generated";
133
179
  export * from "./types";
134
- `}};u();function xe(){return`/* eslint-disable */
180
+ `}};u();function Re(){return`/* eslint-disable */
135
181
  // [Warning] Generated automatically - do not edit manually
136
182
 
137
183
  /**
@@ -144,7 +190,7 @@ export function withoutUndefined(obj?: Record<string, any>) {
144
190
  );
145
191
  }
146
192
 
147
- `}u();function lt(n){return n.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}function Te(n){return n.length===0?`/* eslint-disable */
193
+ `}u();function dt(r){return r.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}function $e(r){return r.length===0?`/* eslint-disable */
148
194
  // [Warning] Generated automatically - do not edit manually
149
195
 
150
196
  export enum ECacheTagTypes {
@@ -153,14 +199,14 @@ export enum ECacheTagTypes {
153
199
  // [Warning] Generated automatically - do not edit manually
154
200
 
155
201
  export enum ECacheTagTypes {
156
- ${n.sort().map(t=>` ${lt(t)} = '${t}',`).join(`
202
+ ${r.sort().map(t=>` ${dt(t)} = '${t}',`).join(`
157
203
  `)}
158
204
  }
159
- `}u();function C(n,e){if(!(!n||typeof n!="object")){if(n.$ref&&typeof n.$ref=="string"){let t=n.$ref.match(/^#\/components\/schemas\/(.+)$/);t&&e.add(t[1])}if(n.properties)for(let t of Object.values(n.properties))C(t,e);n.items&&C(n.items,e),n.additionalProperties&&typeof n.additionalProperties=="object"&&C(n.additionalProperties,e);for(let t of["allOf","oneOf","anyOf"])if(Array.isArray(n[t]))for(let r of n[t])C(r,e)}}function ft(n){let e=new Set;for(let t of n){let r=t.operation;if(r.parameters)for(let o of r.parameters){let i=o;i.schema&&C(i.schema,e)}if(r.requestBody){let o=r.requestBody;if(o.content)for(let i of Object.values(o.content))i.schema&&C(i.schema,e)}if(r.responses)for(let o of Object.values(r.responses)){let i=o;if(i.content)for(let s of Object.values(i.content))s.schema&&C(s.schema,e)}}return e}function gt(n,e){let t=new Set,r=[...n];for(;r.length>0;){let o=r.pop();if(t.has(o))continue;t.add(o);let i=e[o];if(!i)continue;let s=new Set;C(i,s);for(let a of s)t.has(a)||r.push(a)}return t}function Pe(n,e,t){let r=new Map;for(let[m,l]of n){let p=ft(l),f=gt(p,e);r.set(m,f)}let o=new Map;for(let[m,l]of r)for(let p of l)o.has(p)||o.set(p,new Set),o.get(p).add(m);let i=new Set,s=new Map,a=new Set;for(let m of t){let l=o.get(m);if(!l||l.size===0)a.add(m);else if(l.size===1){let p=[...l][0];s.has(p)||s.set(p,new Set),s.get(p).add(m)}else i.add(m)}let c=!0;for(;c;){c=!1;for(let[m,l]of s)for(let p of[...l]){let f=e[p];if(!f)continue;let h=new Set;C(f,h);for(let y of h)for(let[b,x]of s)b!==m&&x.has(y)&&(i.add(y),i.add(p),x.delete(y),l.delete(p),c=!0)}}return{sharedSchemas:i,groupLocalSchemas:s,unusedSchemas:a}}var V=class{_options;openApiService=new I;groupService=new j;fileWriterService=new q;openApiDoc=null;parserService=null;schemaInterfaces={};actualSchemaFile="";generatedContent={groups:[],commonTypes:"",componentSchema:"",doNotModify:"",utils:"",tagTypes:""};allTags=new Set;groupOperationDefs=new Map;groupGenerationOptions=new Map;constructor(e){this._options=e}async generateAll(){return await this.prepare(),await this.generateApi(),this.splitSchemaByUsage(),this.generateCommonTypesContent(),this.generateSchemaContent(),this.generateUtilsContent(),this.generateDoNotModifyContent(),this.generateTagTypesContent(),await this.release()}async prepare(){this.actualSchemaFile=this._options.schemaFile,this._options.remoteFile&&(this.actualSchemaFile=await this.openApiService.downloadSchema(this._options.remoteFile,this._options.schemaFile)),this.openApiDoc=await this.openApiService.getDocument(this.actualSchemaFile,this._options.httpResolverOptions),this.parserService=new M(this.openApiDoc,this._options),this.parserService.initialize();let e=this.parserService.getApiGenerator();this.schemaInterfaces=e.aliases.reduce((t,r)=>{if(Ae.isInterfaceDeclaration(r)||Ae.isTypeAliasDeclaration(r)){let o=r.name.text;return{...t,[o]:r}}return t},{})}async generateApi(){if(!this.openApiDoc||!this.parserService)throw new Error("\u8ACB\u5148\u8ABF\u7528 prepare() \u65B9\u6CD5");let e=this.openApiService.getPaths(this.openApiDoc),t=this.groupService.groupPaths(e,this._options.outputFiles);for(let r of Object.values(t))try{let o=await this.generateApiGroupContent(this._options,r);o.operationNames.length>0&&(this.generatedContent.groups.push({groupKey:r.groupKey,outputPath:r.outputPath,content:o}),o.tags&&Array.isArray(o.tags)&&o.tags.forEach(i=>this.allTags.add(i)))}catch(o){throw new Error(`\u7FA4\u7D44 ${r.groupKey} \u751F\u6210\u5931\u6557: ${o}`)}}splitSchemaByUsage(){if(!this.openApiDoc||this.groupOperationDefs.size===0)return;let e=this.openApiDoc.components?.schemas??{},t=Object.keys(this.schemaInterfaces),r=Pe(this.groupOperationDefs,e,t);this.sharedSchemaNames=r.sharedSchemas;for(let o of this.generatedContent.groups){let i=r.groupLocalSchemas.get(o.groupKey);if(!i||i.size===0)continue;let s=this.groupGenerationOptions.get(o.groupKey);if(!s||!this.parserService)continue;let a={};for(let h of i)this.schemaInterfaces[h]&&(a[h]=this.schemaInterfaces[h]);let c=new N(s),m=this.groupOperationDefs.get(o.groupKey)??[],l=c.extractEndpointInfos(m),p={...s,apiConfiguration:s.apiConfiguration||{file:"@/store/webapi",importName:"WebApiConfiguration"}},f=K(l,p,this.schemaInterfaces,m,{localSchemaInterfaces:a,localSchemaNames:i});o.content.files.types=f}}sharedSchemaNames=null;async generateCommonTypesContent(){this.generatedContent.commonTypes=ye()}async generateSchemaContent(){this.generatedContent.componentSchema=de(this.schemaInterfaces,this.sharedSchemaNames??void 0)}async generateDoNotModifyContent(){this.generatedContent.doNotModify=he()}async generateUtilsContent(){this.generatedContent.utils=xe()}async generateTagTypesContent(){let e=Array.from(this.allTags);this.generatedContent.tagTypes=Te(e)}async release(){let e=[],t=[],r=[];try{for(let a of this.generatedContent.groups)try{if(a.content?.files){let c=E.dirname(a.outputPath),m=await this.fileWriterService.writeGroupFiles(c,{types:a.content.files.types,queryService:a.content.files.queryService,enhanceEndpoints:a.content.files.enhanceEndpoints,index:a.content.files.index});e.push(...m),r.push(a.groupKey)}}catch(c){t.push(new Error(`\u5BEB\u5165\u7FA4\u7D44 ${a.groupKey} \u5931\u6557: ${c}`))}let o=this.generatedContent.groups[0]?E.dirname(E.dirname(this.generatedContent.groups[0].outputPath)):"./generated";if(this.generatedContent.commonTypes||this.generatedContent.doNotModify||this.generatedContent.utils){let a=await this.fileWriterService.writeSharedFiles(o,{commonTypes:this.generatedContent.commonTypes||void 0,doNotModify:this.generatedContent.doNotModify||void 0,utils:this.generatedContent.utils||void 0});e.push(...a)}if(this.generatedContent.tagTypes){let a=await this.fileWriterService.writeFile(E.join(o,"tagTypes.ts"),this.generatedContent.tagTypes);e.push(a)}if(this.generatedContent.componentSchema){let a=await this.fileWriterService.writeSchemaFile(o,this.generatedContent.componentSchema);e.push(...a)}let i=this.generateMainIndex(r),s=await this.fileWriterService.writeFile(E.join(o,"index.ts"),i);e.push(s)}catch(o){t.push(o)}return{success:t.length===0,writtenFiles:e,errors:t,generatedGroups:r}}async generateApiGroupContent(e,t){let{outputFiles:r,...o}=e,i={...o,schemaFile:this.actualSchemaFile,outputFile:t.outputPath,sharedTypesFile:`${r.outputDir}/common-types.ts`,filterEndpoints:this.groupService.createGroupFilter(t.groupKey,r),queryMatch:r.queryMatch,groupKey:t.groupKey};if(!this.openApiDoc||!this.parserService)throw new Error("OpenAPI \u6587\u6A94\u672A\u521D\u59CB\u5316\uFF0C\u8ACB\u5148\u8ABF\u7528 prepare()");let s=this.parserService.getOperationDefinitions(i.filterEndpoints);return this.groupOperationDefs.set(t.groupKey,s),this.groupGenerationOptions.set(t.groupKey,i),await new k(this.parserService,i).generate()}generateMainIndex(e){return`/* eslint-disable */
205
+ `}u();function w(r,e){if(!(!r||typeof r!="object")){if(r.$ref&&typeof r.$ref=="string"){let t=r.$ref.match(/^#\/components\/schemas\/(.+)$/);t&&e.add(t[1])}if(r.properties)for(let t of Object.values(r.properties))w(t,e);r.items&&w(r.items,e),r.additionalProperties&&typeof r.additionalProperties=="object"&&w(r.additionalProperties,e);for(let t of["allOf","oneOf","anyOf"])if(Array.isArray(r[t]))for(let n of r[t])w(n,e)}}function ht(r){let e=new Set;for(let t of r){let n=t.operation;if(n.parameters)for(let o of n.parameters){let i=o;i.schema&&w(i.schema,e)}if(n.requestBody){let o=n.requestBody;if(o.content)for(let i of Object.values(o.content))i.schema&&w(i.schema,e)}if(n.responses)for(let o of Object.values(n.responses)){let i=o;if(i.content)for(let s of Object.values(i.content))s.schema&&w(s.schema,e)}}return e}function Ot(r,e){let t=new Set,n=[...r];for(;n.length>0;){let o=n.pop();if(t.has(o))continue;t.add(o);let i=e[o];if(!i)continue;let s=new Set;w(i,s);for(let a of s)t.has(a)||n.push(a)}return t}function Ne(r,e,t){let n=new Map;for(let[f,l]of r){let m=ht(l),g=Ot(m,e);n.set(f,g)}let o=new Map;for(let[f,l]of n)for(let m of l)o.has(m)||o.set(m,new Set),o.get(m).add(f);let i=new Set,s=new Map,a=new Set;for(let f of t){let l=o.get(f);if(!l||l.size===0)a.add(f);else if(l.size===1){let m=[...l][0];s.has(m)||s.set(m,new Set),s.get(m).add(f)}else i.add(f)}let p=!0;for(;p;){p=!1;for(let[f,l]of s)for(let m of[...l]){let g=e[m];if(!g)continue;let T=new Set;w(g,T);for(let b of T)for(let[O,P]of s)O!==f&&P.has(b)&&(i.add(b),i.add(m),P.delete(b),l.delete(m),p=!0)}}return{sharedSchemas:i,groupLocalSchemas:s,unusedSchemas:a}}var L=class{_options;openApiService=new G;groupService=new k;fileWriterService=new M;openApiDoc=null;parserService=null;schemaInterfaces={};actualSchemaFile="";generatedContent={groups:[],commonTypes:"",componentSchema:"",doNotModify:"",utils:"",tagTypes:""};allTags=new Set;groupOperationDefs=new Map;groupGenerationOptions=new Map;constructor(e){this._options=e}async generateAll(){return await this.prepare(),await this.generateApi(),this.splitSchemaByUsage(),this.generateCommonTypesContent(),this.generateSchemaContent(),this.generateUtilsContent(),this.generateDoNotModifyContent(),this.generateTagTypesContent(),await this.release()}async prepare(){this.actualSchemaFile=this._options.schemaFile,this._options.remoteFile&&(this.actualSchemaFile=await this.openApiService.downloadSchema(this._options.remoteFile,this._options.schemaFile)),this.openApiDoc=await this.openApiService.getDocument(this.actualSchemaFile,this._options.httpResolverOptions),this.parserService=new Q(this.openApiDoc,this._options),this.parserService.initialize();let e=this.parserService.getApiGenerator();this.schemaInterfaces=e.aliases.reduce((t,n)=>{if(we.isInterfaceDeclaration(n)||we.isTypeAliasDeclaration(n)){let o=n.name.text;return{...t,[o]:n}}return t},{})}async generateApi(){if(!this.openApiDoc||!this.parserService)throw new Error("\u8ACB\u5148\u8ABF\u7528 prepare() \u65B9\u6CD5");let e=this.openApiService.getPaths(this.openApiDoc),t=this.groupService.groupPaths(e,this._options.outputFiles);for(let n of Object.values(t))try{let o=await this.generateApiGroupContent(this._options,n);o.operationNames.length>0&&(this.generatedContent.groups.push({groupKey:n.groupKey,outputPath:n.outputPath,content:o}),o.tags&&Array.isArray(o.tags)&&o.tags.forEach(i=>this.allTags.add(i)))}catch(o){throw new Error(`\u7FA4\u7D44 ${n.groupKey} \u751F\u6210\u5931\u6557: ${o}`)}}splitSchemaByUsage(){if(!this.openApiDoc||this.groupOperationDefs.size===0)return;let e=this.openApiDoc.components?.schemas??{},t=Object.keys(this.schemaInterfaces),n=Ne(this.groupOperationDefs,e,t);this.sharedSchemaNames=n.sharedSchemas;for(let o of this.generatedContent.groups){let i=n.groupLocalSchemas.get(o.groupKey);if(!i||i.size===0)continue;let s=this.groupGenerationOptions.get(o.groupKey);if(!s||!this.parserService)continue;let a={};for(let T of i)this.schemaInterfaces[T]&&(a[T]=this.schemaInterfaces[T]);let p=new j(s),f=this.groupOperationDefs.get(o.groupKey)??[],l=p.extractEndpointInfos(f),m={...s,apiConfiguration:s.apiConfiguration||{file:"@/store/webapi",importName:"WebApiConfiguration"}},g=V(l,m,this.schemaInterfaces,f,{localSchemaInterfaces:a,localSchemaNames:i});o.content.files.types=g}}sharedSchemaNames=null;async generateCommonTypesContent(){this.generatedContent.commonTypes=be()}async generateSchemaContent(){this.generatedContent.componentSchema=Se(this.schemaInterfaces,this.sharedSchemaNames??void 0)}async generateDoNotModifyContent(){this.generatedContent.doNotModify=ve()}async generateUtilsContent(){this.generatedContent.utils=Re()}async generateTagTypesContent(){let e=Array.from(this.allTags);this.generatedContent.tagTypes=$e(e)}async release(){let e=[],t=[],n=[];try{for(let i of this.generatedContent.groups)try{if(i.content?.files){let s=W.dirname(i.outputPath),a=await this.fileWriterService.writeGroupFiles(s,{types:i.content.files.types,queryService:i.content.files.queryService,enhanceEndpoints:i.content.files.enhanceEndpoints,index:i.content.files.index});e.push(...a),n.push(i.groupKey)}}catch(s){t.push(new Error(`\u5BEB\u5165\u7FA4\u7D44 ${i.groupKey} \u5931\u6557: ${s}`))}let o=this.generatedContent.groups[0]?W.dirname(W.dirname(this.generatedContent.groups[0].outputPath)):"./generated";if(this.generatedContent.commonTypes||this.generatedContent.doNotModify||this.generatedContent.utils){let i=await this.fileWriterService.writeSharedFiles(o,{commonTypes:this.generatedContent.commonTypes||void 0,doNotModify:this.generatedContent.doNotModify||void 0,utils:this.generatedContent.utils||void 0});e.push(...i)}if(this.generatedContent.tagTypes){let i=await this.fileWriterService.writeFile(W.join(o,"tagTypes.ts"),this.generatedContent.tagTypes);e.push(i)}if(this.generatedContent.componentSchema){let i=await this.fileWriterService.writeSchemaFile(o,this.generatedContent.componentSchema);e.push(...i)}}catch(o){t.push(o)}return{success:t.length===0,writtenFiles:e,errors:t,generatedGroups:n}}async generateApiGroupContent(e,t){let{outputFiles:n,...o}=e,i={...o,schemaFile:this.actualSchemaFile,outputFile:t.outputPath,sharedTypesFile:`${n.outputDir}/common-types.ts`,filterEndpoints:this.groupService.createGroupFilter(t.groupKey,n),queryMatch:n.queryMatch,groupKey:t.groupKey};if(!this.openApiDoc||!this.parserService)throw new Error("OpenAPI \u6587\u6A94\u672A\u521D\u59CB\u5316\uFF0C\u8ACB\u5148\u8ABF\u7528 prepare()");let s=this.parserService.getOperationDefinitions(i.filterEndpoints);return this.groupOperationDefs.set(t.groupKey,s),this.groupGenerationOptions.set(t.groupKey,i),await new U(this.parserService,i).generate()}generateMainIndex(e){return`/* eslint-disable */
160
206
  // [Warning] Generated automatically - do not edit manually
161
207
 
162
208
  export * from "./schema";
163
- ${e.map(r=>`export * from "./${r}";`).join(`
209
+ ${e.map(n=>`export * from "./${n}";`).join(`
164
210
  `)}
165
- `}};async function Ce(n){let t=await new V(n).generateAll();if(!t.success&&t.errors.length>0)throw t.errors[0]}var $e=yt(g);async function Ot(n){let e=ht(process.cwd(),n);process.chdir(dt(e));let t=$e(e),r=t.default??t;"outputFiles"in r||(console.error('Configuration must include "outputFiles" property. Single file output is no longer supported.'),process.exit(1)),r.outputFiles&&r.outputFiles.outputDir&&J(r.outputFiles.outputDir);try{console.log("Generating multiple outputs..."),await Ce(r),console.log("Done")}catch(o){console.error("Generation failed:",o),process.exit(1)}}async function bt(){let n=$e("../../package.json"),e=X();U.version(n.version).usage("<path/to/config.js>").parse(process.argv);let t=U.args[0];if(U.args.length===0){U.help();return}ee(t),te(t,e),await Ot(t)}bt().catch(n=>{console.error("CLI execution failed:",n),process.exit(1)});export{Ot as runGeneration};
211
+ `}};async function Ee(r){let t=await new L(r).generateAll();if(!t.success&&t.errors.length>0)throw t.errors[0]}var De=Tt(y);async function vt(r){let e=St(process.cwd(),r);process.chdir(bt(e));let t=De(e),n=t.default??t;"outputFiles"in n||(console.error('Configuration must include "outputFiles" property. Single file output is no longer supported.'),process.exit(1)),n.outputFiles&&n.outputFiles.outputDir&&ne(n.outputFiles.outputDir);try{console.log("Generating multiple outputs..."),await Ee(n),console.log("Done")}catch(o){console.error("Generation failed:",o),process.exit(1)}}async function xt(){let r=De("../../package.json"),e=oe();z.version(r.version).usage("<path/to/config.js>").parse(process.argv);let t=z.args[0];if(z.args.length===0){z.help();return}ie(t),se(t,e),await vt(t)}xt().catch(r=>{console.error("CLI execution failed:",r),process.exit(1)});export{vt as runGeneration};
166
212
  //# sourceMappingURL=cli.mjs.map