diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-09-21 21:02:55 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-09-21 21:02:55 +0100 |
| commit | dc7d56121033af35bfdbe22e945884262b1d4410 (patch) | |
| tree | caa77408bf4c8389993deb13d9f56f53bd96bb1e /src/main/java | |
| parent | 2bf02785d9aef8b7b265d41cd45e2519a7e04bb4 (diff) | |
Update imports in typescript-types to work with example 14
Diffstat (limited to 'src/main/java')
2 files changed, 8 insertions, 5 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 dafb0d2..293143c 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 @@ -107,6 +107,12 @@ public class TypescriptTypesGenerator implements Generator { .map(requiredType -> { var exportName = this.typescriptGenerator.generateTypeName(requiredType.type().name()); + var moduleRoot = "./" + "../".repeat(namespace.namespaceName().parts().size() - 1); + var fromModule = moduleRoot + requiredType.type().namespaceName().parts().stream() + .map(part -> this.typescriptGenerator.generateModuleName(part).value()) + // TODO: handle extensions + .collect(Collectors.joining("/")) + ".ts"; + return new TypescriptImportDeclaration( List.of( new TypescriptNamedImport( @@ -114,11 +120,7 @@ public class TypescriptTypesGenerator implements Generator { requiredType.importName() ) ), - // TODO: handle imports from parent - "./" + requiredType.type().namespaceName().parts().stream() - .map(part -> this.typescriptGenerator.generateModuleName(part).value()) - // TODO: handle extensions - .collect(Collectors.joining("/")) + ".ts" + fromModule ); }) .toList(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/typescript/TypescriptWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/typescript/TypescriptWriter.java index 34a6d99..18a2475 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/typescript/TypescriptWriter.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/typescript/TypescriptWriter.java @@ -82,6 +82,7 @@ public class TypescriptWriter implements AutoCloseable { writeWithSeparator( importDeclaration.namedImports(), namedImport -> { + this.writer.write("type "); this.writeIdentifier(namedImport.exportName()); this.writer.write(" as "); this.writeIdentifier(namedImport.importName()); |
