@@ -62,11 +62,11 @@ test('完整的类型提示', async () => {
6262 await expect ( generateTemplate ( docs , { classMode : 'rest' } ) ) . resolves
6363 . toMatchInlineSnapshot ( `
6464 {
65- "": "/* eslint-disable */
65+ "": "/* Autogenerated file. Do not edit manually */
66+ /* eslint-disable */
6667 /* @ts-nocheck */
67- /* 自动生成的文件,请勿手动修改 */
6868
69- import { BaseOpenapiClient } from " foca-openapi" ;
69+ import { BaseOpenapiClient } from ' foca-openapi' ;
7070
7171 export namespace OpenapiClient {
7272 export type GetUsersQuery = { foo?: string; bar?: string };
@@ -78,28 +78,31 @@ test('完整的类型提示', async () => {
7878 export class OpenapiClient<T extends object = object> extends BaseOpenapiClient<T> {
7979 get<K extends keyof OpenapiClient_get_paths>(
8080 uri: K,
81- ...rest: K extends "/users/{id}"
82- ? [opts?: OpenapiClient_get_paths[K]["request"] & BaseOpenapiClient.UserInputOpts<T>]
83- : [opts: OpenapiClient_get_paths[K]["request"] & BaseOpenapiClient.UserInputOpts<T>]
84- ): Promise<OpenapiClient_get_paths[K]["response"]> {
85- return this.request(uri, "get", ...rest);
81+ ...rest: K extends '/users/{id}'
82+ ? [
83+ opts?: OpenapiClient_get_paths[K]['request'] &
84+ BaseOpenapiClient.UserInputOpts<T>,
85+ ]
86+ : [opts: OpenapiClient_get_paths[K]['request'] & BaseOpenapiClient.UserInputOpts<T>]
87+ ): Promise<OpenapiClient_get_paths[K]['response']> {
88+ return this.request(uri, 'get', ...rest);
8689 }
8790
8891 protected override pickContentTypes(uri: string, method: string) {
89- return contentTypes[method + " " + uri] || [void 0, void 0];
92+ return contentTypes[method + ' ' + uri] || [void 0, void 0];
9093 }
9194 }
9295
9396 interface OpenapiClient_get_paths {
94- " /users" : BaseOpenapiClient.Prettify<{
97+ ' /users' : BaseOpenapiClient.Prettify<{
9598 request: {
9699 query?: OpenapiClient.GetUsersQuery;
97100 params: OpenapiClient.GetUsersParams;
98101 body: OpenapiClient.GetUsersBody;
99102 };
100103 response: OpenapiClient.GetUsersResponse;
101104 }>;
102- " /users/{id}" : BaseOpenapiClient.Prettify<{
105+ ' /users/{id}' : BaseOpenapiClient.Prettify<{
103106 request: {
104107 query?: object;
105108 };
@@ -109,7 +112,10 @@ test('完整的类型提示', async () => {
109112
110113 const contentTypes: Record<
111114 string,
112- [BaseOpenapiClient.UserInputOpts["requestBodyType"], BaseOpenapiClient.UserInputOpts["responseType"]]
115+ [
116+ BaseOpenapiClient.UserInputOpts['requestBodyType'],
117+ BaseOpenapiClient.UserInputOpts['responseType'],
118+ ]
113119 > = {};
114120 ",
115121 }
@@ -118,11 +124,11 @@ test('完整的类型提示', async () => {
118124 await expect ( generateTemplate ( docs , { classMode : 'rpc-group' } ) ) . resolves
119125 . toMatchInlineSnapshot ( `
120126 {
121- "": "/* eslint-disable */
127+ "": "/* Autogenerated file. Do not edit manually */
128+ /* eslint-disable */
122129 /* @ts-nocheck */
123- /* 自动生成的文件,请勿手动修改 */
124130
125- import { BaseOpenapiClient } from " foca-openapi" ;
131+ import { BaseOpenapiClient } from ' foca-openapi' ;
126132
127133 export namespace OpenapiClient {
128134 export type GetUsersQuery = { foo?: string; bar?: string };
@@ -138,37 +144,39 @@ test('完整的类型提示', async () => {
138144 * @method GET
139145 */
140146 getUsers: (
141- opts: OpenapiClient_get_paths["/users"]["request"] & BaseOpenapiClient.UserInputOpts<T>,
142- ): Promise<OpenapiClient_get_paths["/users"]["response"]> => {
143- return this.request("/users", "get", opts);
147+ opts: OpenapiClient_get_paths['/users']['request'] &
148+ BaseOpenapiClient.UserInputOpts<T>,
149+ ): Promise<OpenapiClient_get_paths['/users']['response']> => {
150+ return this.request('/users', 'get', opts);
144151 },
145152
146153 /**
147154 * @uri /users/{id}
148155 * @method GET
149156 */
150157 getUsersById: (
151- opts?: OpenapiClient_get_paths["/users/{id}"]["request"] & BaseOpenapiClient.UserInputOpts<T>,
152- ): Promise<OpenapiClient_get_paths["/users/{id}"]["response"]> => {
153- return this.request("/users/{id}", "get", opts);
158+ opts?: OpenapiClient_get_paths['/users/{id}']['request'] &
159+ BaseOpenapiClient.UserInputOpts<T>,
160+ ): Promise<OpenapiClient_get_paths['/users/{id}']['response']> => {
161+ return this.request('/users/{id}', 'get', opts);
154162 },
155163 };
156164
157165 protected override pickContentTypes(uri: string, method: string) {
158- return contentTypes[method + " " + uri] || [void 0, void 0];
166+ return contentTypes[method + ' ' + uri] || [void 0, void 0];
159167 }
160168 }
161169
162170 interface OpenapiClient_get_paths {
163- " /users" : BaseOpenapiClient.Prettify<{
171+ ' /users' : BaseOpenapiClient.Prettify<{
164172 request: {
165173 query?: OpenapiClient.GetUsersQuery;
166174 params: OpenapiClient.GetUsersParams;
167175 body: OpenapiClient.GetUsersBody;
168176 };
169177 response: OpenapiClient.GetUsersResponse;
170178 }>;
171- " /users/{id}" : BaseOpenapiClient.Prettify<{
179+ ' /users/{id}' : BaseOpenapiClient.Prettify<{
172180 request: {
173181 query?: object;
174182 };
@@ -178,7 +186,10 @@ test('完整的类型提示', async () => {
178186
179187 const contentTypes: Record<
180188 string,
181- [BaseOpenapiClient.UserInputOpts["requestBodyType"], BaseOpenapiClient.UserInputOpts["responseType"]]
189+ [
190+ BaseOpenapiClient.UserInputOpts['requestBodyType'],
191+ BaseOpenapiClient.UserInputOpts['responseType'],
192+ ]
182193 > = {};
183194 ",
184195 }
@@ -187,11 +198,11 @@ test('完整的类型提示', async () => {
187198 await expect ( generateTemplate ( docs , { classMode : 'rpc' } ) ) . resolves
188199 . toMatchInlineSnapshot ( `
189200 {
190- "": "/* eslint-disable */
201+ "": "/* Autogenerated file. Do not edit manually */
202+ /* eslint-disable */
191203 /* @ts-nocheck */
192- /* 自动生成的文件,请勿手动修改 */
193204
194- import { BaseOpenapiClient } from " foca-openapi" ;
205+ import { BaseOpenapiClient } from ' foca-openapi' ;
195206
196207 export namespace OpenapiClient {
197208 export type GetUsersQuery = { foo?: string; bar?: string };
@@ -206,36 +217,38 @@ test('完整的类型提示', async () => {
206217 * @method GET
207218 */
208219 getUsers(
209- opts: OpenapiClient_get_paths["/users"]["request"] & BaseOpenapiClient.UserInputOpts<T>,
210- ): Promise<OpenapiClient_get_paths["/users"]["response"]> {
211- return this.request("/users", "get", opts);
220+ opts: OpenapiClient_get_paths['/users']['request'] &
221+ BaseOpenapiClient.UserInputOpts<T>,
222+ ): Promise<OpenapiClient_get_paths['/users']['response']> {
223+ return this.request('/users', 'get', opts);
212224 }
213225
214226 /**
215227 * @uri /users/{id}
216228 * @method GET
217229 */
218230 getUsersById(
219- opts?: OpenapiClient_get_paths["/users/{id}"]["request"] & BaseOpenapiClient.UserInputOpts<T>,
220- ): Promise<OpenapiClient_get_paths["/users/{id}"]["response"]> {
221- return this.request("/users/{id}", "get", opts);
231+ opts?: OpenapiClient_get_paths['/users/{id}']['request'] &
232+ BaseOpenapiClient.UserInputOpts<T>,
233+ ): Promise<OpenapiClient_get_paths['/users/{id}']['response']> {
234+ return this.request('/users/{id}', 'get', opts);
222235 }
223236
224237 protected override pickContentTypes(uri: string, method: string) {
225- return contentTypes[method + " " + uri] || [void 0, void 0];
238+ return contentTypes[method + ' ' + uri] || [void 0, void 0];
226239 }
227240 }
228241
229242 interface OpenapiClient_get_paths {
230- " /users" : BaseOpenapiClient.Prettify<{
243+ ' /users' : BaseOpenapiClient.Prettify<{
231244 request: {
232245 query?: OpenapiClient.GetUsersQuery;
233246 params: OpenapiClient.GetUsersParams;
234247 body: OpenapiClient.GetUsersBody;
235248 };
236249 response: OpenapiClient.GetUsersResponse;
237250 }>;
238- " /users/{id}" : BaseOpenapiClient.Prettify<{
251+ ' /users/{id}' : BaseOpenapiClient.Prettify<{
239252 request: {
240253 query?: object;
241254 };
@@ -245,7 +258,10 @@ test('完整的类型提示', async () => {
245258
246259 const contentTypes: Record<
247260 string,
248- [BaseOpenapiClient.UserInputOpts["requestBodyType"], BaseOpenapiClient.UserInputOpts["responseType"]]
261+ [
262+ BaseOpenapiClient.UserInputOpts['requestBodyType'],
263+ BaseOpenapiClient.UserInputOpts['responseType'],
264+ ]
249265 > = {};
250266 ",
251267 }
0 commit comments