@@ -715,12 +715,12 @@ function generateDefinitionImports(formatter: TextFormatter, namespace: Protobuf
715
715
}
716
716
}
717
717
718
- function generateServiceImports ( formatter : TextFormatter , namespace : Protobuf . NamespaceBase , options : GeneratorOptions ) {
718
+ function generateDynamicImports ( formatter : TextFormatter , namespace : Protobuf . NamespaceBase , options : GeneratorOptions ) {
719
719
for ( const nested of namespace . nestedArray . sort ( compareName ) ) {
720
- if ( nested instanceof Protobuf . Service ) {
720
+ if ( nested instanceof Protobuf . Service || nested instanceof Protobuf . Type ) {
721
721
formatter . writeLine ( getImportLine ( nested , undefined , options ) ) ;
722
- } else if (isNamespaceBase(nested) && ! ( nested instanceof Protobuf . Type ) && ! ( nested instanceof Protobuf . Enum ) ) {
723
- generateServiceImports ( formatter , nested , options ) ;
722
+ } else if (isNamespaceBase(nested) && ! ( nested instanceof Protobuf . Enum ) ) {
723
+ generateDynamicImports ( formatter , nested , options ) ;
724
724
}
725
725
}
726
726
}
@@ -735,7 +735,9 @@ function generateSingleLoadedDefinitionType(formatter: TextFormatter, nested: Pr
735
735
} else if ( nested instanceof Protobuf . Enum ) {
736
736
formatter . writeLine ( `${ nested . name } : EnumTypeDefinition` ) ;
737
737
} else if (nested instanceof Protobuf.Type) {
738
- formatter . writeLine ( `${ nested . name } : MessageTypeDefinition` ) ;
738
+ const typeInterfaceName = getTypeInterfaceName ( nested ) ;
739
+ const { inputName, outputName} = useNameFmter ( options ) ;
740
+ formatter . writeLine ( `${ nested . name } : MessageTypeDefinition<${ inputName ( typeInterfaceName ) } , ${ outputName ( typeInterfaceName ) } >` ) ;
739
741
} else if (isNamespaceBase(nested)) {
740
742
generateLoadedDefinitionTypes ( formatter , nested , options ) ;
741
743
}
@@ -759,7 +761,7 @@ function generateRootFile(formatter: TextFormatter, root: Protobuf.Root, options
759
761
generateDefinitionImports(formatter, root, options);
760
762
formatter.writeLine('');
761
763
762
- generateServiceImports (formatter, root, options);
764
+ generateDynamicImports (formatter, root, options);
763
765
formatter.writeLine('');
764
766
765
767
formatter.writeLine('type SubtypeConstructor< Constructor extends new ( ...args : any ) => any , Subtype > = { ');
0 commit comments