From a7d5133ac7cc82e3826f90d2e5f1ca5cd3f08676 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 30 Aug 2026 11:17:45 +0100 Subject: Export generated TypeScript classes in typescript-types --- .../typescripttypes/TypescriptTypesGenerator.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/typescripttypes/TypescriptTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/typescripttypes/TypescriptTypesGenerator.java index c737d1c..68fe74d 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/typescripttypes/TypescriptTypesGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/typescripttypes/TypescriptTypesGenerator.java @@ -77,13 +77,13 @@ public class TypescriptTypesGenerator implements Generator { .toList(); var statements = namespace.body().stream() - .map(statement -> generateNamespaceStatement(statement)) + .flatMap(statement -> generateNamespaceStatement(statement).stream()) .toList(); return new TypescriptModule(typescriptModuleName, statements); } - private TypescriptStatement generateNamespaceStatement(TypedNamespaceStatementNode statement) { + private List generateNamespaceStatement(TypedNamespaceStatementNode statement) { switch (statement) { case TypedEnumDefinitionNode _ -> { throw new UnsupportedOperationException("TODO"); @@ -103,7 +103,7 @@ public class TypescriptTypesGenerator implements Generator { } } - private TypescriptStatement generateStructDefinition(TypedStructDefinitionNode structDefinition) { + private List generateStructDefinition(TypedStructDefinitionNode structDefinition) { var typescriptTypeName = this.typescriptGenerator.generateTypeName(structDefinition.name()); var body = new ArrayList(); @@ -135,10 +135,13 @@ public class TypescriptTypesGenerator implements Generator { .toList() )); - return new TypescriptClassDeclaration( - typescriptTypeName, - body, - structDefinition.docComment() + return List.of( + new TypescriptClassDeclaration( + typescriptTypeName, + body, + structDefinition.docComment() + ), + new TypescriptExportNamesStatement(List.of(typescriptTypeName)) ); } } -- cgit v1.2.3