@typescript-deploys/pr-build 5.3.0-pr-55991-5 → 5.3.0-pr-55991-17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/tsc.js +27 -5
- package/lib/tsserver.js +27 -5
- package/lib/typescript.js +27 -5
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -66257,18 +66257,40 @@ function createTypeChecker(host) {
|
|
|
66257
66257
|
return getUnionType(map(clauseWitnesses, (text) => text ? narrowTypeByTypeName(type, text) : neverType));
|
|
66258
66258
|
}
|
|
66259
66259
|
function narrowTypeBySwitchOnTrue(type, switchStatement, clauseStart, clauseEnd) {
|
|
66260
|
+
const clauses = switchStatement.caseBlock.clauses.slice(clauseStart, clauseEnd);
|
|
66260
66261
|
const defaultIndex = findIndex(switchStatement.caseBlock.clauses, (clause) => clause.kind === 297 /* DefaultClause */);
|
|
66261
66262
|
const hasDefaultClause = clauseStart === clauseEnd || defaultIndex >= clauseStart && defaultIndex < clauseEnd;
|
|
66262
66263
|
if (hasDefaultClause) {
|
|
66263
|
-
|
|
66264
|
+
const clausesBefore = switchStatement.caseBlock.clauses.slice(0, clauseStart);
|
|
66265
|
+
const before = narrowTypeForClauses(
|
|
66266
|
+
type,
|
|
66267
|
+
clausesBefore,
|
|
66268
|
+
/*assumeTrue*/
|
|
66269
|
+
false
|
|
66270
|
+
);
|
|
66271
|
+
const clausesAfter = switchStatement.caseBlock.clauses.slice(clauseEnd);
|
|
66272
|
+
const after = narrowTypeForClauses(
|
|
66273
|
+
type,
|
|
66274
|
+
clausesAfter,
|
|
66275
|
+
/*assumeTrue*/
|
|
66276
|
+
false
|
|
66277
|
+
);
|
|
66278
|
+
return getUnionType([narrowTypeForClauses(
|
|
66279
|
+
type,
|
|
66280
|
+
clauses,
|
|
66281
|
+
/*assumeTrue*/
|
|
66282
|
+
true
|
|
66283
|
+
), before, after]);
|
|
66264
66284
|
}
|
|
66265
|
-
|
|
66266
|
-
return getUnionType(map(clauses, (clause) => clause && clause.kind === 296 /* CaseClause */ ? narrowType(
|
|
66285
|
+
return narrowTypeForClauses(
|
|
66267
66286
|
type,
|
|
66268
|
-
|
|
66287
|
+
clauses,
|
|
66269
66288
|
/*assumeTrue*/
|
|
66270
66289
|
true
|
|
66271
|
-
)
|
|
66290
|
+
);
|
|
66291
|
+
}
|
|
66292
|
+
function narrowTypeForClauses(type, clauses, assumeTrue) {
|
|
66293
|
+
return getUnionType(map(clauses, (clause) => clause.kind === 296 /* CaseClause */ ? narrowType(type, clause.expression, assumeTrue) : neverType));
|
|
66272
66294
|
}
|
|
66273
66295
|
function isMatchingConstructorReference(expr) {
|
|
66274
66296
|
return (isPropertyAccessExpression(expr) && idText(expr.name) === "constructor" || isElementAccessExpression(expr) && isStringLiteralLike(expr.argumentExpression) && expr.argumentExpression.text === "constructor") && isMatchingReference(reference, expr.expression);
|
package/lib/tsserver.js
CHANGED
|
@@ -70969,18 +70969,40 @@ function createTypeChecker(host) {
|
|
|
70969
70969
|
return getUnionType(map(clauseWitnesses, (text) => text ? narrowTypeByTypeName(type, text) : neverType));
|
|
70970
70970
|
}
|
|
70971
70971
|
function narrowTypeBySwitchOnTrue(type, switchStatement, clauseStart, clauseEnd) {
|
|
70972
|
+
const clauses = switchStatement.caseBlock.clauses.slice(clauseStart, clauseEnd);
|
|
70972
70973
|
const defaultIndex = findIndex(switchStatement.caseBlock.clauses, (clause) => clause.kind === 297 /* DefaultClause */);
|
|
70973
70974
|
const hasDefaultClause = clauseStart === clauseEnd || defaultIndex >= clauseStart && defaultIndex < clauseEnd;
|
|
70974
70975
|
if (hasDefaultClause) {
|
|
70975
|
-
|
|
70976
|
+
const clausesBefore = switchStatement.caseBlock.clauses.slice(0, clauseStart);
|
|
70977
|
+
const before = narrowTypeForClauses(
|
|
70978
|
+
type,
|
|
70979
|
+
clausesBefore,
|
|
70980
|
+
/*assumeTrue*/
|
|
70981
|
+
false
|
|
70982
|
+
);
|
|
70983
|
+
const clausesAfter = switchStatement.caseBlock.clauses.slice(clauseEnd);
|
|
70984
|
+
const after = narrowTypeForClauses(
|
|
70985
|
+
type,
|
|
70986
|
+
clausesAfter,
|
|
70987
|
+
/*assumeTrue*/
|
|
70988
|
+
false
|
|
70989
|
+
);
|
|
70990
|
+
return getUnionType([narrowTypeForClauses(
|
|
70991
|
+
type,
|
|
70992
|
+
clauses,
|
|
70993
|
+
/*assumeTrue*/
|
|
70994
|
+
true
|
|
70995
|
+
), before, after]);
|
|
70976
70996
|
}
|
|
70977
|
-
|
|
70978
|
-
return getUnionType(map(clauses, (clause) => clause && clause.kind === 296 /* CaseClause */ ? narrowType(
|
|
70997
|
+
return narrowTypeForClauses(
|
|
70979
70998
|
type,
|
|
70980
|
-
|
|
70999
|
+
clauses,
|
|
70981
71000
|
/*assumeTrue*/
|
|
70982
71001
|
true
|
|
70983
|
-
)
|
|
71002
|
+
);
|
|
71003
|
+
}
|
|
71004
|
+
function narrowTypeForClauses(type, clauses, assumeTrue) {
|
|
71005
|
+
return getUnionType(map(clauses, (clause) => clause.kind === 296 /* CaseClause */ ? narrowType(type, clause.expression, assumeTrue) : neverType));
|
|
70984
71006
|
}
|
|
70985
71007
|
function isMatchingConstructorReference(expr) {
|
|
70986
71008
|
return (isPropertyAccessExpression(expr) && idText(expr.name) === "constructor" || isElementAccessExpression(expr) && isStringLiteralLike(expr.argumentExpression) && expr.argumentExpression.text === "constructor") && isMatchingReference(reference, expr.expression);
|
package/lib/typescript.js
CHANGED
|
@@ -68736,18 +68736,40 @@ ${lanes.join("\n")}
|
|
|
68736
68736
|
return getUnionType(map(clauseWitnesses, (text) => text ? narrowTypeByTypeName(type, text) : neverType));
|
|
68737
68737
|
}
|
|
68738
68738
|
function narrowTypeBySwitchOnTrue(type, switchStatement, clauseStart, clauseEnd) {
|
|
68739
|
+
const clauses = switchStatement.caseBlock.clauses.slice(clauseStart, clauseEnd);
|
|
68739
68740
|
const defaultIndex = findIndex(switchStatement.caseBlock.clauses, (clause) => clause.kind === 297 /* DefaultClause */);
|
|
68740
68741
|
const hasDefaultClause = clauseStart === clauseEnd || defaultIndex >= clauseStart && defaultIndex < clauseEnd;
|
|
68741
68742
|
if (hasDefaultClause) {
|
|
68742
|
-
|
|
68743
|
+
const clausesBefore = switchStatement.caseBlock.clauses.slice(0, clauseStart);
|
|
68744
|
+
const before = narrowTypeForClauses(
|
|
68745
|
+
type,
|
|
68746
|
+
clausesBefore,
|
|
68747
|
+
/*assumeTrue*/
|
|
68748
|
+
false
|
|
68749
|
+
);
|
|
68750
|
+
const clausesAfter = switchStatement.caseBlock.clauses.slice(clauseEnd);
|
|
68751
|
+
const after = narrowTypeForClauses(
|
|
68752
|
+
type,
|
|
68753
|
+
clausesAfter,
|
|
68754
|
+
/*assumeTrue*/
|
|
68755
|
+
false
|
|
68756
|
+
);
|
|
68757
|
+
return getUnionType([narrowTypeForClauses(
|
|
68758
|
+
type,
|
|
68759
|
+
clauses,
|
|
68760
|
+
/*assumeTrue*/
|
|
68761
|
+
true
|
|
68762
|
+
), before, after]);
|
|
68743
68763
|
}
|
|
68744
|
-
|
|
68745
|
-
return getUnionType(map(clauses, (clause) => clause && clause.kind === 296 /* CaseClause */ ? narrowType(
|
|
68764
|
+
return narrowTypeForClauses(
|
|
68746
68765
|
type,
|
|
68747
|
-
|
|
68766
|
+
clauses,
|
|
68748
68767
|
/*assumeTrue*/
|
|
68749
68768
|
true
|
|
68750
|
-
)
|
|
68769
|
+
);
|
|
68770
|
+
}
|
|
68771
|
+
function narrowTypeForClauses(type, clauses, assumeTrue) {
|
|
68772
|
+
return getUnionType(map(clauses, (clause) => clause.kind === 296 /* CaseClause */ ? narrowType(type, clause.expression, assumeTrue) : neverType));
|
|
68751
68773
|
}
|
|
68752
68774
|
function isMatchingConstructorReference(expr) {
|
|
68753
68775
|
return (isPropertyAccessExpression(expr) && idText(expr.name) === "constructor" || isElementAccessExpression(expr) && isStringLiteralLike(expr.argumentExpression) && expr.argumentExpression.text === "constructor") && isMatchingReference(reference, expr.expression);
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@typescript-deploys/pr-build",
|
|
3
3
|
"author": "Microsoft Corp.",
|
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
|
5
|
-
"version": "5.3.0-pr-55991-
|
|
5
|
+
"version": "5.3.0-pr-55991-17",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -114,5 +114,5 @@
|
|
|
114
114
|
"node": "20.1.0",
|
|
115
115
|
"npm": "8.19.4"
|
|
116
116
|
},
|
|
117
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "ede4ae5499d66a800949ef0f866fa6790c05ac54"
|
|
118
118
|
}
|