diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-30 11:17:45 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-30 11:17:45 +0100 |
| commit | a7d5133ac7cc82e3826f90d2e5f1ca5cd3f08676 (patch) | |
| tree | da8fa4c132bef9bc34788c2dd817bf7b13c87767 /src/main/java | |
| parent | 9de4242330fe137133327533f24073613da8d201 (diff) | |
Export generated TypeScript classes in typescript-types
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/typescripttypes/TypescriptTypesGenerator.java | 17 |
1 files changed, 10 insertions, 7 deletions
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<TypescriptStatement> 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<TypescriptStatement> generateStructDefinition(TypedStructDefinitionNode structDefinition) { var typescriptTypeName = this.typescriptGenerator.generateTypeName(structDefinition.name()); var body = new ArrayList<TypescriptClassElement>(); @@ -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)) ); } } |
