typescript 5.2.0-dev.20230720 → 5.2.0-dev.20230722
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 +52 -41
- package/lib/tsserver.js +208 -104
- package/lib/tsserverlibrary.d.ts +13 -2
- package/lib/tsserverlibrary.js +207 -105
- package/lib/typescript.d.ts +7 -1
- package/lib/typescript.js +189 -101
- package/lib/typingsInstaller.js +11 -4
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
|
18
18
|
|
|
19
19
|
// src/compiler/corePublic.ts
|
|
20
20
|
var versionMajorMinor = "5.2";
|
|
21
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
21
|
+
var version = `${versionMajorMinor}.0-dev.20230722`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -17404,6 +17404,18 @@ function getTextOfJsxNamespacedName(node) {
|
|
|
17404
17404
|
function intrinsicTagNameToString(node) {
|
|
17405
17405
|
return isIdentifier(node) ? idText(node) : getTextOfJsxNamespacedName(node);
|
|
17406
17406
|
}
|
|
17407
|
+
function isTypeUsableAsPropertyName(type) {
|
|
17408
|
+
return !!(type.flags & 8576 /* StringOrNumberLiteralOrUnique */);
|
|
17409
|
+
}
|
|
17410
|
+
function getPropertyNameFromType(type) {
|
|
17411
|
+
if (type.flags & 8192 /* UniqueESSymbol */) {
|
|
17412
|
+
return type.escapedName;
|
|
17413
|
+
}
|
|
17414
|
+
if (type.flags & (128 /* StringLiteral */ | 256 /* NumberLiteral */)) {
|
|
17415
|
+
return escapeLeadingUnderscores("" + type.value);
|
|
17416
|
+
}
|
|
17417
|
+
return Debug.fail();
|
|
17418
|
+
}
|
|
17407
17419
|
|
|
17408
17420
|
// src/compiler/factory/baseNodeFactory.ts
|
|
17409
17421
|
function createBaseNodeFactory() {
|
|
@@ -30711,10 +30723,14 @@ var Parser;
|
|
|
30711
30723
|
case 124 /* ProtectedKeyword */:
|
|
30712
30724
|
case 125 /* PublicKeyword */:
|
|
30713
30725
|
case 148 /* ReadonlyKeyword */:
|
|
30726
|
+
const previousToken = token();
|
|
30714
30727
|
nextToken();
|
|
30715
30728
|
if (scanner.hasPrecedingLineBreak()) {
|
|
30716
30729
|
return false;
|
|
30717
30730
|
}
|
|
30731
|
+
if (previousToken === 138 /* DeclareKeyword */ && token() === 156 /* TypeKeyword */) {
|
|
30732
|
+
return true;
|
|
30733
|
+
}
|
|
30718
30734
|
continue;
|
|
30719
30735
|
case 162 /* GlobalKeyword */:
|
|
30720
30736
|
nextToken();
|
|
@@ -31079,14 +31095,14 @@ var Parser;
|
|
|
31079
31095
|
function parseObjectBindingPattern() {
|
|
31080
31096
|
const pos = getNodePos();
|
|
31081
31097
|
parseExpected(19 /* OpenBraceToken */);
|
|
31082
|
-
const elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement);
|
|
31098
|
+
const elements = allowInAnd(() => parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement));
|
|
31083
31099
|
parseExpected(20 /* CloseBraceToken */);
|
|
31084
31100
|
return finishNode(factory2.createObjectBindingPattern(elements), pos);
|
|
31085
31101
|
}
|
|
31086
31102
|
function parseArrayBindingPattern() {
|
|
31087
31103
|
const pos = getNodePos();
|
|
31088
31104
|
parseExpected(23 /* OpenBracketToken */);
|
|
31089
|
-
const elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement);
|
|
31105
|
+
const elements = allowInAnd(() => parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement));
|
|
31090
31106
|
parseExpected(24 /* CloseBracketToken */);
|
|
31091
31107
|
return finishNode(factory2.createArrayBindingPattern(elements), pos);
|
|
31092
31108
|
}
|
|
@@ -31604,6 +31620,9 @@ var Parser;
|
|
|
31604
31620
|
}
|
|
31605
31621
|
function parseTypeAliasDeclaration(pos, hasJSDoc, modifiers) {
|
|
31606
31622
|
parseExpected(156 /* TypeKeyword */);
|
|
31623
|
+
if (scanner.hasPrecedingLineBreak()) {
|
|
31624
|
+
parseErrorAtCurrentToken(Diagnostics.Line_break_not_permitted_here);
|
|
31625
|
+
}
|
|
31607
31626
|
const name = parseIdentifier();
|
|
31608
31627
|
const typeParameters = parseTypeParameters();
|
|
31609
31628
|
parseExpected(64 /* EqualsToken */);
|
|
@@ -33505,7 +33524,7 @@ function getNamedArgRegEx(name) {
|
|
|
33505
33524
|
return result;
|
|
33506
33525
|
}
|
|
33507
33526
|
var tripleSlashXMLCommentStartRegEx = /^\/\/\/\s*<(\S+)\s.*?\/>/im;
|
|
33508
|
-
var singleLinePragmaRegEx = /^\/\/\/?\s*@(
|
|
33527
|
+
var singleLinePragmaRegEx = /^\/\/\/?\s*@([^\s:]+)(.*)\s*$/im;
|
|
33509
33528
|
function extractPragmas(pragmas, range, text) {
|
|
33510
33529
|
const tripleSlash = range.kind === 2 /* SingleLineCommentTrivia */ && tripleSlashXMLCommentStartRegEx.exec(text);
|
|
33511
33530
|
if (tripleSlash) {
|
|
@@ -43111,7 +43130,7 @@ function createTypeChecker(host) {
|
|
|
43111
43130
|
return node ? getTypeFromTypeNode(node) : errorType;
|
|
43112
43131
|
},
|
|
43113
43132
|
getParameterType: getTypeAtPosition,
|
|
43114
|
-
|
|
43133
|
+
getParameterIdentifierInfoAtPosition,
|
|
43115
43134
|
getPromisedTypeOfPromise,
|
|
43116
43135
|
getAwaitedType: (type) => getAwaitedType(type),
|
|
43117
43136
|
getReturnTypeOfSignature,
|
|
@@ -51574,7 +51593,7 @@ function createTypeChecker(host) {
|
|
|
51574
51593
|
false,
|
|
51575
51594
|
definedInMethod && !definedInConstructor
|
|
51576
51595
|
));
|
|
51577
|
-
if (symbol.valueDeclaration && filterType(widened, (t) => !!(t.flags & ~98304 /* Nullable */)) === neverType) {
|
|
51596
|
+
if (symbol.valueDeclaration && isInJSFile(symbol.valueDeclaration) && filterType(widened, (t) => !!(t.flags & ~98304 /* Nullable */)) === neverType) {
|
|
51578
51597
|
reportImplicitAny(symbol.valueDeclaration, anyType);
|
|
51579
51598
|
return anyType;
|
|
51580
51599
|
}
|
|
@@ -52853,9 +52872,6 @@ function createTypeChecker(host) {
|
|
|
52853
52872
|
}
|
|
52854
52873
|
return type;
|
|
52855
52874
|
}
|
|
52856
|
-
function isTypeUsableAsPropertyName(type) {
|
|
52857
|
-
return !!(type.flags & 8576 /* StringOrNumberLiteralOrUnique */);
|
|
52858
|
-
}
|
|
52859
52875
|
function isLateBindableName(node) {
|
|
52860
52876
|
if (!isComputedPropertyName(node) && !isElementAccessExpression(node)) {
|
|
52861
52877
|
return false;
|
|
@@ -52876,15 +52892,6 @@ function createTypeChecker(host) {
|
|
|
52876
52892
|
function isNonBindableDynamicName(node) {
|
|
52877
52893
|
return isDynamicName(node) && !isLateBindableName(node);
|
|
52878
52894
|
}
|
|
52879
|
-
function getPropertyNameFromType(type) {
|
|
52880
|
-
if (type.flags & 8192 /* UniqueESSymbol */) {
|
|
52881
|
-
return type.escapedName;
|
|
52882
|
-
}
|
|
52883
|
-
if (type.flags & (128 /* StringLiteral */ | 256 /* NumberLiteral */)) {
|
|
52884
|
-
return escapeLeadingUnderscores("" + type.value);
|
|
52885
|
-
}
|
|
52886
|
-
return Debug.fail();
|
|
52887
|
-
}
|
|
52888
52895
|
function addDeclarationToLateBoundSymbol(symbol, member, symbolFlags) {
|
|
52889
52896
|
Debug.assert(!!(getCheckFlags(symbol) & 4096 /* Late */), "Expected a late-bound symbol.");
|
|
52890
52897
|
symbol.flags |= symbolFlags;
|
|
@@ -53531,20 +53538,17 @@ function createTypeChecker(host) {
|
|
|
53531
53538
|
setStructuredTypeMembers(type, members2, callSignatures, constructSignatures, indexInfos2);
|
|
53532
53539
|
return;
|
|
53533
53540
|
}
|
|
53534
|
-
let members =
|
|
53541
|
+
let members = getExportsOfSymbol(symbol);
|
|
53535
53542
|
let indexInfos;
|
|
53536
|
-
if (symbol
|
|
53537
|
-
|
|
53538
|
-
|
|
53539
|
-
|
|
53540
|
-
|
|
53541
|
-
|
|
53542
|
-
|
|
53543
|
-
|
|
53544
|
-
|
|
53545
|
-
});
|
|
53546
|
-
members = varsOnly;
|
|
53547
|
-
}
|
|
53543
|
+
if (symbol === globalThisSymbol) {
|
|
53544
|
+
const varsOnly = /* @__PURE__ */ new Map();
|
|
53545
|
+
members.forEach((p) => {
|
|
53546
|
+
var _a;
|
|
53547
|
+
if (!(p.flags & 418 /* BlockScoped */) && !(p.flags & 512 /* ValueModule */ && ((_a = p.declarations) == null ? void 0 : _a.length) && every(p.declarations, isAmbientModule))) {
|
|
53548
|
+
varsOnly.set(p.escapedName, p);
|
|
53549
|
+
}
|
|
53550
|
+
});
|
|
53551
|
+
members = varsOnly;
|
|
53548
53552
|
}
|
|
53549
53553
|
let baseConstructorIndexInfo;
|
|
53550
53554
|
setStructuredTypeMembers(type, members, emptyArray, emptyArray, emptyArray);
|
|
@@ -72056,7 +72060,7 @@ function createTypeChecker(host) {
|
|
|
72056
72060
|
}
|
|
72057
72061
|
return restParameter.escapedName;
|
|
72058
72062
|
}
|
|
72059
|
-
function
|
|
72063
|
+
function getParameterIdentifierInfoAtPosition(signature, pos) {
|
|
72060
72064
|
var _a;
|
|
72061
72065
|
if (((_a = signature.declaration) == null ? void 0 : _a.kind) === 324 /* JSDocFunctionType */) {
|
|
72062
72066
|
return void 0;
|
|
@@ -72064,10 +72068,16 @@ function createTypeChecker(host) {
|
|
|
72064
72068
|
const paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0);
|
|
72065
72069
|
if (pos < paramCount) {
|
|
72066
72070
|
const param = signature.parameters[pos];
|
|
72067
|
-
|
|
72071
|
+
const paramIdent = getParameterDeclarationIdentifier(param);
|
|
72072
|
+
return paramIdent ? {
|
|
72073
|
+
parameter: paramIdent,
|
|
72074
|
+
parameterName: param.escapedName,
|
|
72075
|
+
isRestParameter: false
|
|
72076
|
+
} : void 0;
|
|
72068
72077
|
}
|
|
72069
72078
|
const restParameter = signature.parameters[paramCount] || unknownSymbol;
|
|
72070
|
-
|
|
72079
|
+
const restIdent = getParameterDeclarationIdentifier(restParameter);
|
|
72080
|
+
if (!restIdent) {
|
|
72071
72081
|
return void 0;
|
|
72072
72082
|
}
|
|
72073
72083
|
const restType = getTypeOfSymbol(restParameter);
|
|
@@ -72076,18 +72086,19 @@ function createTypeChecker(host) {
|
|
|
72076
72086
|
const index = pos - paramCount;
|
|
72077
72087
|
const associatedName = associatedNames == null ? void 0 : associatedNames[index];
|
|
72078
72088
|
const isRestTupleElement = !!(associatedName == null ? void 0 : associatedName.dotDotDotToken);
|
|
72079
|
-
|
|
72080
|
-
|
|
72081
|
-
isRestTupleElement
|
|
72082
|
-
|
|
72089
|
+
if (associatedName) {
|
|
72090
|
+
Debug.assert(isIdentifier(associatedName.name));
|
|
72091
|
+
return { parameter: associatedName.name, parameterName: associatedName.name.escapedText, isRestParameter: isRestTupleElement };
|
|
72092
|
+
}
|
|
72093
|
+
return void 0;
|
|
72083
72094
|
}
|
|
72084
72095
|
if (pos === paramCount) {
|
|
72085
|
-
return
|
|
72096
|
+
return { parameter: restIdent, parameterName: restParameter.escapedName, isRestParameter: true };
|
|
72086
72097
|
}
|
|
72087
72098
|
return void 0;
|
|
72088
72099
|
}
|
|
72089
|
-
function
|
|
72090
|
-
return symbol.valueDeclaration && isParameter(symbol.valueDeclaration) && isIdentifier(symbol.valueDeclaration.name);
|
|
72100
|
+
function getParameterDeclarationIdentifier(symbol) {
|
|
72101
|
+
return symbol.valueDeclaration && isParameter(symbol.valueDeclaration) && isIdentifier(symbol.valueDeclaration.name) && symbol.valueDeclaration.name;
|
|
72091
72102
|
}
|
|
72092
72103
|
function isValidDeclarationForTupleLabel(d) {
|
|
72093
72104
|
return d.kind === 202 /* NamedTupleMember */ || isParameter(d) && d.name && isIdentifier(d.name);
|