@@ -16,15 +16,7 @@ import {
16
16
import type { OpenAPIV3 } from 'openapi-types' ;
17
17
import { generateReactHooks } from './generators/react-hooks' ;
18
18
import type { EndpointOverrides , GenerationOptions , OperationDefinition } from './types' ;
19
- import { OutputFileOptions } from './types' ;
20
- import {
21
- capitalize ,
22
- getOperationDefinitions ,
23
- getV3Doc ,
24
- isQuery as testIsQuery ,
25
- MESSAGES ,
26
- removeUndefined ,
27
- } from './utils' ;
19
+ import { capitalize , getOperationDefinitions , getV3Doc , isQuery as testIsQuery , removeUndefined } from './utils' ;
28
20
import type { ObjectPropertyDefinitions } from './codegen' ;
29
21
import { generateCreateApiCall , generateEndpointDefinition , generateImportNode } from './codegen' ;
30
22
@@ -45,7 +37,7 @@ function patternMatches(pattern?: string | RegExp | (string | RegExp)[]) {
45
37
if ( ! pattern ) return true ;
46
38
const operationName = getOperationName ( operationDefinition ) ;
47
39
return filters . some ( ( filter ) =>
48
- typeof filter === 'string' ? filter == operationName : filter ?. test ( operationName )
40
+ typeof filter === 'string' ? filter === operationName : filter ?. test ( operationName )
49
41
) ;
50
42
} ;
51
43
}
@@ -97,17 +89,20 @@ export async function generateApi(
97
89
return declaration ;
98
90
}
99
91
100
- if ( outputFile && outputFile !== '-' ) {
92
+ if ( outputFile ) {
101
93
outputFile = path . resolve ( process . cwd ( ) , outputFile ) ;
102
- apiFile = path . relative ( path . dirname ( outputFile ) , apiFile ) ;
94
+ if ( apiFile . startsWith ( '.' ) ) {
95
+ apiFile = path . relative ( path . dirname ( outputFile ) , apiFile ) ;
96
+ if ( ! apiFile . startsWith ( '.' ) ) apiFile = './' + apiFile ;
97
+ }
103
98
}
104
99
apiFile = apiFile . replace ( / \. [ j t ] s x ? $ / , '' ) ;
105
100
106
101
const sourceCode = printer . printNode (
107
102
ts . EmitHint . Unspecified ,
108
103
factory . createSourceFile (
109
104
[
110
- generateImportNode ( apiFile , { api : apiImport } ) ,
105
+ generateImportNode ( apiFile , { [ apiImport ] : 'api' } ) ,
111
106
generateCreateApiCall ( {
112
107
endpointDefinitions : factory . createObjectLiteralExpression (
113
108
operationDefinitions . map ( ( operationDefinition ) =>
@@ -350,25 +345,25 @@ export async function generateApi(
350
345
factory . createIdentifier ( 'method' ) ,
351
346
factory . createStringLiteral ( verb . toUpperCase ( ) )
352
347
) ,
353
- bodyParameter == undefined
348
+ bodyParameter === undefined
354
349
? undefined
355
350
: factory . createPropertyAssignment (
356
351
factory . createIdentifier ( 'body' ) ,
357
352
factory . createPropertyAccessExpression ( rootObject , factory . createIdentifier ( bodyParameter . name ) )
358
353
) ,
359
- cookieParameters . length == 0
354
+ cookieParameters . length === 0
360
355
? undefined
361
356
: factory . createPropertyAssignment (
362
357
factory . createIdentifier ( 'cookies' ) ,
363
358
generateQuerArgObjectLiteralExpression ( cookieParameters , rootObject )
364
359
) ,
365
- headerParameters . length == 0
360
+ headerParameters . length === 0
366
361
? undefined
367
362
: factory . createPropertyAssignment (
368
363
factory . createIdentifier ( 'headers' ) ,
369
364
generateQuerArgObjectLiteralExpression ( headerParameters , rootObject )
370
365
) ,
371
- queryParameters . length == 0
366
+ queryParameters . length === 0
372
367
? undefined
373
368
: factory . createPropertyAssignment (
374
369
factory . createIdentifier ( 'params' ) ,
@@ -381,10 +376,12 @@ export async function generateApi(
381
376
) ;
382
377
}
383
378
379
+ // eslint-disable-next-line no-empty-pattern
384
380
function generateQueryEndpointProps ( { } : { operationDefinition : OperationDefinition } ) : ObjectPropertyDefinitions {
385
381
return { } ; /* TODO needs implementation - skip for now */
386
382
}
387
383
384
+ // eslint-disable-next-line no-empty-pattern
388
385
function generateMutationEndpointProps ( { } : { operationDefinition : OperationDefinition } ) : ObjectPropertyDefinitions {
389
386
return { } ; /* TODO needs implementation - skip for now */
390
387
}
0 commit comments