From 2f0be7421ed27440154ec41ad62012f111930256 Mon Sep 17 00:00:00 2001 From: Marco Beier Date: Mon, 13 Apr 2026 20:26:32 +0200 Subject: [PATCH] fix(ts-interface-generator): properly type getters So that a definition of `someFunc: { type: "function", group: "Behavior", defaultValue: null }` correctly generates : `getSomeFunc(): Function | null;` --- .../src/astGenerationHelper.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/ts-interface-generator/src/astGenerationHelper.ts b/packages/ts-interface-generator/src/astGenerationHelper.ts index 80dfa4c..504514e 100644 --- a/packages/ts-interface-generator/src/astGenerationHelper.ts +++ b/packages/ts-interface-generator/src/astGenerationHelper.ts @@ -1090,7 +1090,10 @@ function createTSTypeNode( ); case "object": - return factory.createKeywordTypeNode(ts.SyntaxKind.ObjectKeyword); + return factory.createUnionTypeNode([ + factory.createKeywordTypeNode(ts.SyntaxKind.ObjectKeyword), + factory.createLiteralTypeNode(factory.createNull()), + ]); case "object[]": return factory.createArrayTypeNode( @@ -1098,9 +1101,10 @@ function createTSTypeNode( ); case "function": - return factory.createTypeReferenceNode( - factory.createIdentifier("Function"), - ); + return factory.createUnionTypeNode([ + factory.createTypeReferenceNode(factory.createIdentifier("Function")), + factory.createLiteralTypeNode(factory.createNull()), + ]); case "function[]": return factory.createArrayTypeNode(