From 4ef712c17e0ac53cfc133e0a6bc0516e7c17f0af Mon Sep 17 00:00:00 2001 From: Tech-Savvy Builder Date: Mon, 18 May 2026 18:36:19 -0700 Subject: [PATCH 1/2] =?UTF-8?q?Fix=20grammar=20typo=20in=20Set#size=20JSDo?= =?UTF-8?q?c:=20'in=20Set'=20=E2=86=92=20'in=20the=20Set'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/es2015.collection.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/es2015.collection.d.ts b/src/lib/es2015.collection.d.ts index 43129531845e4..a01b21dded868 100644 --- a/src/lib/es2015.collection.d.ts +++ b/src/lib/es2015.collection.d.ts @@ -94,7 +94,7 @@ interface Set { */ has(value: T): boolean; /** - * @returns the number of (unique) elements in Set. + * @returns the number of (unique) elements in the Set. */ readonly size: number; } From d9953624965fdb6a3e2e213fd21568fac7220f75 Mon Sep 17 00:00:00 2001 From: driphtyio Date: Mon, 1 Jun 2026 22:47:57 -0700 Subject: [PATCH 2/2] fix(25083): allow element access on enum as computed property name in type literal --- src/compiler/checker.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0567712f11da3..82ec2c275f711 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13785,13 +13785,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { && isTypeUsableAsIndexSignature(isComputedPropertyName(node) ? checkComputedPropertyName(node) : checkExpressionCached((node as ElementAccessExpression).argumentExpression)); } - function isLateBindableAST(node: DeclarationName) { - if (!isComputedPropertyName(node) && !isElementAccessExpression(node)) { - return false; - } - const expr = isComputedPropertyName(node) ? node.expression : node.argumentExpression; - return isEntityNameExpression(expr); - } + function isLateBindableAST(node: DeclarationName) { + if (!isComputedPropertyName(node) && !isElementAccessExpression(node)) { + return false; + } + const expr = isComputedPropertyName(node) ? node.expression : node.argumentExpression; + return isEntityNameExpression(expr) || + isElementAccessExpression(expr) && isStringLiteral(expr.argumentExpression) && isEntityNameExpression(expr.expression); + } function isTypeUsableAsIndexSignature(type: Type): boolean { return isTypeAssignableTo(type, stringNumberSymbolType);