File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -50,6 +50,25 @@ export const writeClient = async (
50
50
clientName ?: string ,
51
51
request ?: string
52
52
) : Promise < void > => {
53
+ // if there are any duplicates in the models, append a number
54
+ const modelNames = client . models . map ( ( model ) => model . name ) ;
55
+ const modelNamesSet = new Set ( modelNames ) ;
56
+ if ( modelNames . length !== modelNamesSet . size ) {
57
+ const modelNamesMap = new Map < string , number > ( ) ;
58
+ for ( const modelName of modelNames ) {
59
+ if ( modelNamesMap . has ( modelName ) ) {
60
+ modelNamesMap . set ( modelName , modelNamesMap . get ( modelName ) ! + 1 ) ;
61
+ } else {
62
+ modelNamesMap . set ( modelName , 1 ) ;
63
+ }
64
+ }
65
+ for ( const model of client . models ) {
66
+ if ( modelNamesMap . get ( model . name ) ! > 1 ) {
67
+ model . name = `${ model . name } ${ modelNamesMap . get ( model . name ) } ` ;
68
+ }
69
+ }
70
+ }
71
+
53
72
const outputPath = resolve ( process . cwd ( ) , output ) ;
54
73
const outputPathCore = resolve ( outputPath , 'core' ) ;
55
74
const outputPathModels = resolve ( outputPath , 'models' ) ;
You can’t perform that action at this time.
0 commit comments