summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-09-21 21:02:55 +0100
committerMichael Williamson <mike@zwobble.org>2026-09-21 21:02:55 +0100
commitdc7d56121033af35bfdbe22e945884262b1d4410 (patch)
treecaa77408bf4c8389993deb13d9f56f53bd96bb1e /src/main/java
parent2bf02785d9aef8b7b265d41cd45e2519a7e04bb4 (diff)
Update imports in typescript-types to work with example 14
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/typescripttypes/TypescriptTypesGenerator.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/typescript/TypescriptWriter.java1
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());