1- import ts from 'typescript' ;
21import * as path from 'path' ;
3- import { camelCase } from 'lodash' ;
2+
43import ApiGenerator , {
54 getOperationName as _getOperationName ,
65 getReferenceName ,
76 isReference ,
87 supportDeepObjects ,
98} from 'oazapfts/lib/codegen/generate' ;
9+ import type { EndpointMatcher , EndpointOverrides , GenerationOptions , OperationDefinition , TextMatcher } from './types' ;
10+ import { capitalize , getOperationDefinitions , getV3Doc , removeUndefined , isQuery as testIsQuery } from './utils' ;
1011import {
11- createQuestionToken ,
12- keywordType ,
1312 createPropertyAssignment ,
13+ createQuestionToken ,
1414 isValidIdentifier ,
15+ keywordType ,
1516} from 'oazapfts/lib/codegen/tscodegen' ;
16- import type { OpenAPIV3 } from 'openapi-types' ;
17- import { generateReactHooks } from './generators/react-hooks' ;
18- import type { EndpointMatcher , EndpointOverrides , GenerationOptions , OperationDefinition , TextMatcher } from './types' ;
19- import { capitalize , getOperationDefinitions , getV3Doc , isQuery as testIsQuery , removeUndefined } from './utils' ;
20- import { generateTagTypes } from './codegen' ;
17+ import { generateCreateApiCall , generateEndpointDefinition , generateImportNode , generateTagTypes } from './codegen' ;
18+
2119import type { ObjectPropertyDefinitions } from './codegen' ;
22- import { generateCreateApiCall , generateEndpointDefinition , generateImportNode } from './codegen' ;
20+ import type { OpenAPIV3 } from 'openapi-types' ;
21+ import { camelCase } from 'lodash' ;
2322import { factory } from './utils/factory' ;
23+ import { generateReactHooks } from './generators/react-hooks' ;
24+ import ts from 'typescript' ;
2425
2526const generatedApiName = 'injectedRtkApi' ;
2627
@@ -133,7 +134,7 @@ export async function generateApi(
133134 }
134135 apiFile = apiFile . replace ( / \. [ j t ] s x ? $ / , '' ) ;
135136
136- const sourceCode = printer . printNode (
137+ return printer . printNode (
137138 ts . EmitHint . Unspecified ,
138139 factory . createSourceFile (
139140 [
@@ -152,7 +153,6 @@ export async function generateApi(
152153 ) ,
153154 } ) ,
154155 factory . createExportDeclaration (
155- undefined ,
156156 undefined ,
157157 false ,
158158 factory . createNamedExports ( [
@@ -183,8 +183,6 @@ export async function generateApi(
183183 resultFile
184184 ) ;
185185
186- return sourceCode ;
187-
188186 function extractAllTagTypes ( { operationDefinitions } : { operationDefinitions : OperationDefinition [ ] } ) {
189187 let allTagTypes = new Set < string > ( ) ;
190188
@@ -245,7 +243,6 @@ export async function generateApi(
245243 const ResponseTypeName = factory . createTypeReferenceNode (
246244 registerInterface (
247245 factory . createTypeAliasDeclaration (
248- undefined ,
249246 [ factory . createModifier ( ts . SyntaxKind . ExportKeyword ) ] ,
250247 capitalize ( operationName + responseSuffix ) ,
251248 undefined ,
@@ -262,7 +259,7 @@ export async function generateApi(
262259 const allNames = parameters . map ( ( p ) => p . name ) ;
263260 const queryArg : QueryArgDefinitions = { } ;
264261 for ( const param of parameters ) {
265- const isPureSnakeCase = / ^ [ a - z A - Z ] [ a - z A - Z 0 - 9 _ ] * $ / . test ( param . name ) ;
262+ const isPureSnakeCase = / ^ [ a - z A - Z ] [ \\ w ] * $ / . test ( param . name ) ;
266263 const camelCaseName = camelCase ( param . name ) ;
267264
268265 const name = isPureSnakeCase && ! allNames . includes ( camelCaseName ) ? camelCaseName : param . name ;
@@ -312,7 +309,6 @@ export async function generateApi(
312309 const QueryArg = factory . createTypeReferenceNode (
313310 registerInterface (
314311 factory . createTypeAliasDeclaration (
315- undefined ,
316312 [ factory . createModifier ( ts . SyntaxKind . ExportKeyword ) ] ,
317313 capitalize ( operationName + argSuffix ) ,
318314 undefined ,
@@ -394,17 +390,7 @@ export async function generateApi(
394390 undefined ,
395391 undefined ,
396392 Object . keys ( queryArg ) . length
397- ? [
398- factory . createParameterDeclaration (
399- undefined ,
400- undefined ,
401- undefined ,
402- rootObject ,
403- undefined ,
404- undefined ,
405- undefined
406- ) ,
407- ]
393+ ? [ factory . createParameterDeclaration ( undefined , undefined , rootObject , undefined , undefined , undefined ) ]
408394 : [ ] ,
409395 undefined ,
410396 factory . createToken ( ts . SyntaxKind . EqualsGreaterThanToken ) ,
@@ -464,7 +450,7 @@ function generatePathExpression(
464450) {
465451 const expressions : Array < [ string , string ] > = [ ] ;
466452
467- const head = path . replace ( / \{ ( .* ?) \ }( .* ?) (? = \{ | $ ) / g, ( _ , expression , literal ) => {
453+ const head = path . replace ( / \{ ( .* ?) } ( .* ?) (? = \{ | $ ) / g, ( _ , expression , literal ) => {
468454 const param = pathParameters . find ( ( p ) => p . originalName === expression ) ;
469455 if ( ! param ) {
470456 throw new Error ( `path parameter ${ expression } does not seem to be defined in '${ path } '!` ) ;
0 commit comments