From 173885e357f8947207aa153fa30f66b102375681 Mon Sep 17 00:00:00 2001 From: Giuseppe La Torre Date: Thu, 30 Mar 2023 15:05:49 +0200 Subject: [PATCH 1/2] Add IsVoid method to Type --- packages/ts-morph/src/compiler/types/Type.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/ts-morph/src/compiler/types/Type.ts b/packages/ts-morph/src/compiler/types/Type.ts index d41b527ef..72c8e733a 100644 --- a/packages/ts-morph/src/compiler/types/Type.ts +++ b/packages/ts-morph/src/compiler/types/Type.ts @@ -578,6 +578,13 @@ export class Type { isUndefined() { return this._hasTypeFlag(TypeFlags.Undefined); } + + /** + * Gets if this is the void type. + */ + isVoid() { + return this._hasTypeFlag(TypeFlags.Void); + } /** * Gets the type flags. From 4cdca598e2ea99e0363dd87fdbbca703160d3a4f Mon Sep 17 00:00:00 2001 From: David Sherret Date: Sat, 10 Jun 2023 12:56:07 -0400 Subject: [PATCH 2/2] Add tests. --- .../ts-morph/src/tests/compiler/type/typeTests.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/ts-morph/src/tests/compiler/type/typeTests.ts b/packages/ts-morph/src/tests/compiler/type/typeTests.ts index 793b75c71..dbb947dae 100644 --- a/packages/ts-morph/src/tests/compiler/type/typeTests.ts +++ b/packages/ts-morph/src/tests/compiler/type/typeTests.ts @@ -57,6 +57,7 @@ let explicitReadonlyArrayType: ReadonlyArray; let neverType: never; let arrayTypeOfTuples: [string][]; let undefinedType: undefined; +let voidType: void; let classType: MyClass; let functionType: () => string; let constructorType: { new(): MyClass; }; @@ -518,6 +519,20 @@ let unknownType: unknown; }); }); + describe(nameof("isVoid"), () => { + function doTest(typeName: string, expected: boolean) { + expect(typesByName[typeName].isVoid()).to.equal(expected); + } + + it("should be when is", () => { + doTest("voidType", true); + }); + + it("should not be when not", () => { + doTest("stringType", false); + }); + }); + describe(nameof("getFlags"), () => { it("should get the type flags", () => { expect(typesByName["numberType"].getFlags()).to.equal(TypeFlags.Number);