From b9e390c665fbbd56e202f25c2cc2eddf6a5f237c Mon Sep 17 00:00:00 2001 From: mrazauskas Date: Thu, 10 Apr 2025 10:57:37 +0300 Subject: [PATCH 1/2] Add `.getObjectType()` method to the `TypeChecker` --- src/compiler/checker.ts | 1 + src/compiler/types.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 67a733cbbb811..c596c65df1060 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1836,6 +1836,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getNullType: () => nullType, getESSymbolType: () => esSymbolType, getNeverType: () => neverType, + getNonPrimitiveType: () => nonPrimitiveType, getOptionalType: () => optionalType, getPromiseType: () => getGlobalPromiseType(/*reportErrors*/ false), getPromiseLikeType: () => getGlobalPromiseLikeType(/*reportErrors*/ false), diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 342c0f2af7146..a4d054a40f33c 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5286,6 +5286,10 @@ export interface TypeChecker { * is `never`. Instead, use `type.flags & TypeFlags.Never`. */ getNeverType(): Type; + /** + * Gets the intrinsic `object` type. + */ + getNonPrimitiveType(): Type; /** @internal */ getOptionalType(): Type; /** @internal */ getUnionType(types: Type[], subtypeReduction?: UnionReduction): Type; /** @internal */ createArrayType(elementType: Type): Type; From caccb5a44e59173c3328dc0941dbc70ebbd59fcd Mon Sep 17 00:00:00 2001 From: mrazauskas Date: Thu, 10 Apr 2025 11:13:22 +0300 Subject: [PATCH 2/2] Update baseline --- tests/baselines/reference/api/typescript.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 2531c9ea0413d..098026010e385 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -6303,6 +6303,10 @@ declare namespace ts { * is `never`. Instead, use `type.flags & TypeFlags.Never`. */ getNeverType(): Type; + /** + * Gets the intrinsic `object` type. + */ + getNonPrimitiveType(): Type; /** * Returns true if the "source" type is assignable to the "target" type. *