Skip to content

Commit 8a069ab

Browse files
Add GenericBasicType to DirectoryEmitter
1 parent ce2f3d7 commit 8a069ab

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,4 @@ nbactions.xml
3939
# generated files
4040
typescript-generator-core/src/test/**/*.js
4141
typescript-generator-core/src/test/**/*.js.map
42+
/.metadata

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/emitter/DirectoryEmitter.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import cz.habarta.typescript.generator.TsType;
77
import cz.habarta.typescript.generator.TsType.BasicArrayType;
88
import cz.habarta.typescript.generator.TsType.FunctionType;
9+
import cz.habarta.typescript.generator.TsType.GenericBasicType;
910
import cz.habarta.typescript.generator.TsType.GenericReferenceType;
1011
import cz.habarta.typescript.generator.TsType.IndexedArrayType;
1112
import cz.habarta.typescript.generator.TsType.IntersectionType;
@@ -35,6 +36,10 @@ public DirectoryEmitter(Settings settings) {
3536
super(settings);
3637
}
3738

39+
public Output getOutput() {
40+
return output;
41+
}
42+
3843
@Override
3944
public void emit(TsModel model, Writer output, String outputName, boolean closeOutput, boolean forceExportKeyword, int initialIndentationLevel) {
4045
initSettings(output, forceExportKeyword, initialIndentationLevel);
@@ -150,6 +155,7 @@ private void emitDirectoryExtensions(TsModel model, TsDeclarationModel declarati
150155
for (EmitterExtension emitterExtension : settings.extensions) {
151156
if (emitterExtension instanceof DirectoryEmitterExtension) {
152157
DirectoryEmitterExtension directoryEmitter = (DirectoryEmitterExtension) emitterExtension;
158+
directoryEmitter.setOutput(output);
153159

154160
final List<String> extensionLines = new ArrayList<>();
155161
final EmitterExtension.Writer extensionWriter = line -> extensionLines.add(line);
@@ -190,12 +196,11 @@ private void collectType(Set<TsType> list, TsType type) {
190196
collectType(list, ((OptionalType) type).type);
191197
} else if (type instanceof FunctionType) {
192198
collectType(list, ((FunctionType) type).type);
199+
} else if (type instanceof GenericBasicType) {
200+
collectTypes(list, ((GenericBasicType) type).typeArguments);
193201
} else if (type instanceof GenericReferenceType) {
194202
list.add(type);
195-
List<TsType> typeArguments = ((GenericReferenceType) type).typeArguments;
196-
for (TsType tsType : typeArguments) {
197-
collectType(list, tsType);
198-
}
203+
collectTypes(list, ((GenericReferenceType) type).typeArguments);
199204
} else if (type instanceof UnionType) {
200205
List<TsType> types2 = ((UnionType) type).types;
201206
for (TsType tsType2 : types2) {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package cz.habarta.typescript.generator.emitter;
22

3+
import cz.habarta.typescript.generator.Output;
34
import cz.habarta.typescript.generator.Settings;
45
import cz.habarta.typescript.generator.emitter.EmitterExtension.Writer;
56

67
public interface DirectoryEmitterExtension {
78

89
void emitElement(Writer writer, Settings settings, boolean exportKeyword, TsModel model, TsDeclarationModel declaration);
910

11+
default void setOutput(Output output) {
12+
}
13+
1014
}

0 commit comments

Comments
 (0)