@typescript-deploys/pr-build 5.3.0-pr-55449-9 → 5.3.0-pr-55452-4
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 +36 -16
- package/lib/tsserver.js +39 -16
- package/lib/typescript.d.ts +4 -3
- package/lib/typescript.js +38 -16
- package/lib/typingsInstaller.js +17 -6
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -17484,6 +17484,9 @@ function getPropertyNameFromType(type) {
|
|
|
17484
17484
|
}
|
|
17485
17485
|
return Debug.fail();
|
|
17486
17486
|
}
|
|
17487
|
+
function isNamedTupleMemberName(node) {
|
|
17488
|
+
return node.kind === 80 /* Identifier */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 15 /* NoSubstitutionTemplateLiteral */;
|
|
17489
|
+
}
|
|
17487
17490
|
|
|
17488
17491
|
// src/compiler/factory/baseNodeFactory.ts
|
|
17489
17492
|
function createBaseNodeFactory() {
|
|
@@ -28657,21 +28660,29 @@ var Parser;
|
|
|
28657
28660
|
}
|
|
28658
28661
|
return type;
|
|
28659
28662
|
}
|
|
28660
|
-
function
|
|
28661
|
-
return
|
|
28663
|
+
function isTokenColonOrQuestionColon() {
|
|
28664
|
+
return token() === 59 /* ColonToken */ || token() === 58 /* QuestionToken */ && nextToken() === 59 /* ColonToken */;
|
|
28662
28665
|
}
|
|
28663
28666
|
function isTupleElementName() {
|
|
28664
28667
|
if (token() === 26 /* DotDotDotToken */) {
|
|
28665
|
-
|
|
28668
|
+
nextToken();
|
|
28669
|
+
}
|
|
28670
|
+
if (token() === 16 /* TemplateHead */) {
|
|
28671
|
+
parseTemplateType();
|
|
28672
|
+
return isTokenColonOrQuestionColon();
|
|
28666
28673
|
}
|
|
28667
|
-
|
|
28674
|
+
if (tokenIsIdentifierOrKeyword(token()) || token() === 15 /* NoSubstitutionTemplateLiteral */) {
|
|
28675
|
+
nextToken();
|
|
28676
|
+
return isTokenColonOrQuestionColon();
|
|
28677
|
+
}
|
|
28678
|
+
return false;
|
|
28668
28679
|
}
|
|
28669
28680
|
function parseTupleElementNameOrTupleElementType() {
|
|
28670
28681
|
if (lookAhead(isTupleElementName)) {
|
|
28671
28682
|
const pos = getNodePos();
|
|
28672
28683
|
const hasJSDoc = hasPrecedingJSDocComment();
|
|
28673
28684
|
const dotDotDotToken = parseOptionalToken(26 /* DotDotDotToken */);
|
|
28674
|
-
const name = parseIdentifierName();
|
|
28685
|
+
const name = token() === 15 /* NoSubstitutionTemplateLiteral */ ? parseLiteralLikeNode(token()) : token() === 16 /* TemplateHead */ ? parseTemplateType() : parseIdentifierName();
|
|
28675
28686
|
const questionToken = parseOptionalToken(58 /* QuestionToken */);
|
|
28676
28687
|
parseExpected(59 /* ColonToken */);
|
|
28677
28688
|
const type = parseTupleElementType();
|
|
@@ -48081,10 +48092,11 @@ function createTypeChecker(host) {
|
|
|
48081
48092
|
for (let i = 0; i < tupleConstituentNodes.length; i++) {
|
|
48082
48093
|
const flags = type2.target.elementFlags[i];
|
|
48083
48094
|
const labeledElementDeclaration = labeledElementDeclarations == null ? void 0 : labeledElementDeclarations[i];
|
|
48084
|
-
|
|
48095
|
+
const label = labeledElementDeclaration && getTupleElementLabel(type2, labeledElementDeclaration);
|
|
48096
|
+
if (label) {
|
|
48085
48097
|
tupleConstituentNodes[i] = factory.createNamedTupleMember(
|
|
48086
48098
|
flags & 12 /* Variable */ ? factory.createToken(26 /* DotDotDotToken */) : void 0,
|
|
48087
|
-
factory.createIdentifier(unescapeLeadingUnderscores(
|
|
48099
|
+
factory.createIdentifier(unescapeLeadingUnderscores(label)),
|
|
48088
48100
|
flags & 2 /* Optional */ ? factory.createToken(58 /* QuestionToken */) : void 0,
|
|
48089
48101
|
flags & 4 /* Rest */ ? factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]
|
|
48090
48102
|
);
|
|
@@ -53284,7 +53296,7 @@ function createTypeChecker(host) {
|
|
|
53284
53296
|
function getUniqAssociatedNamesFromTupleType(type, restName) {
|
|
53285
53297
|
const associatedNamesMap = /* @__PURE__ */ new Map();
|
|
53286
53298
|
return map(type.target.labeledElementDeclarations, (labeledElement, i) => {
|
|
53287
|
-
const name = getTupleElementLabel(labeledElement, i, restName);
|
|
53299
|
+
const name = getTupleElementLabel(type, labeledElement, i, restName);
|
|
53288
53300
|
const prevCounter = associatedNamesMap.get(name);
|
|
53289
53301
|
if (prevCounter === void 0) {
|
|
53290
53302
|
associatedNamesMap.set(name, 1);
|
|
@@ -72049,11 +72061,18 @@ function createTypeChecker(host) {
|
|
|
72049
72061
|
}
|
|
72050
72062
|
return type;
|
|
72051
72063
|
}
|
|
72052
|
-
function getTupleElementLabel(d, index, restParameterName = "arg") {
|
|
72064
|
+
function getTupleElementLabel(tupleType, d, index, restParameterName = "arg") {
|
|
72053
72065
|
if (!d) {
|
|
72054
72066
|
return `${restParameterName}_${index}`;
|
|
72055
72067
|
}
|
|
72056
|
-
Debug.assert(
|
|
72068
|
+
Debug.assert(!isBindingPattern(d.name));
|
|
72069
|
+
if (d.name.kind === 203 /* TemplateLiteralType */) {
|
|
72070
|
+
const label = instantiateType(getTypeFromTypeNode(d.name), tupleType.mapper);
|
|
72071
|
+
return label.flags & 128 /* StringLiteral */ ? escapeLeadingUnderscores(label.value) : typeof index === "number" ? `${restParameterName}_${index}` : void 0;
|
|
72072
|
+
}
|
|
72073
|
+
if (d.name.kind === 15 /* NoSubstitutionTemplateLiteral */) {
|
|
72074
|
+
return escapeLeadingUnderscores(d.name.text);
|
|
72075
|
+
}
|
|
72057
72076
|
return d.name.escapedText;
|
|
72058
72077
|
}
|
|
72059
72078
|
function getParameterNameAtPosition(signature, pos, overrideRestType) {
|
|
@@ -72066,7 +72085,7 @@ function createTypeChecker(host) {
|
|
|
72066
72085
|
if (isTupleType(restType)) {
|
|
72067
72086
|
const associatedNames = restType.target.labeledElementDeclarations;
|
|
72068
72087
|
const index = pos - paramCount;
|
|
72069
|
-
return getTupleElementLabel(associatedNames == null ? void 0 : associatedNames[index], index, restParameter.escapedName);
|
|
72088
|
+
return getTupleElementLabel(restType, associatedNames == null ? void 0 : associatedNames[index], index, restParameter.escapedName);
|
|
72070
72089
|
}
|
|
72071
72090
|
return restParameter.escapedName;
|
|
72072
72091
|
}
|
|
@@ -72096,8 +72115,7 @@ function createTypeChecker(host) {
|
|
|
72096
72115
|
const index = pos - paramCount;
|
|
72097
72116
|
const associatedName = associatedNames == null ? void 0 : associatedNames[index];
|
|
72098
72117
|
const isRestTupleElement = !!(associatedName == null ? void 0 : associatedName.dotDotDotToken);
|
|
72099
|
-
if (associatedName) {
|
|
72100
|
-
Debug.assert(isIdentifier(associatedName.name));
|
|
72118
|
+
if (associatedName && isIdentifier(associatedName.name)) {
|
|
72101
72119
|
return { parameter: associatedName.name, parameterName: associatedName.name.escapedText, isRestParameter: isRestTupleElement };
|
|
72102
72120
|
}
|
|
72103
72121
|
return void 0;
|
|
@@ -73158,9 +73176,8 @@ function createTypeChecker(host) {
|
|
|
73158
73176
|
if (symbol) {
|
|
73159
73177
|
if (isReadonlySymbol(symbol)) {
|
|
73160
73178
|
error(expr, Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property);
|
|
73161
|
-
} else {
|
|
73162
|
-
checkDeleteExpressionMustBeOptional(expr, symbol);
|
|
73163
73179
|
}
|
|
73180
|
+
checkDeleteExpressionMustBeOptional(expr, symbol);
|
|
73164
73181
|
}
|
|
73165
73182
|
return booleanType;
|
|
73166
73183
|
}
|
|
@@ -75596,6 +75613,9 @@ function createTypeChecker(host) {
|
|
|
75596
75613
|
if (node.type.kind === 191 /* RestType */) {
|
|
75597
75614
|
grammarErrorOnNode(node.type, Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type);
|
|
75598
75615
|
}
|
|
75616
|
+
if (node.name.kind === 203 /* TemplateLiteralType */) {
|
|
75617
|
+
checkSourceElement(node.name);
|
|
75618
|
+
}
|
|
75599
75619
|
checkSourceElement(node.type);
|
|
75600
75620
|
getTypeFromTypeNode(node);
|
|
75601
75621
|
}
|
|
@@ -84407,7 +84427,7 @@ var visitEachChildTable = {
|
|
|
84407
84427
|
return context.factory.updateNamedTupleMember(
|
|
84408
84428
|
node,
|
|
84409
84429
|
tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
|
|
84410
|
-
Debug.checkDefined(nodeVisitor(node.name, visitor,
|
|
84430
|
+
Debug.checkDefined(nodeVisitor(node.name, visitor, isNamedTupleMemberName)),
|
|
84411
84431
|
tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
|
|
84412
84432
|
Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
|
|
84413
84433
|
);
|
package/lib/tsserver.js
CHANGED
|
@@ -1587,6 +1587,7 @@ __export(server_exports, {
|
|
|
1587
1587
|
isNamedImports: () => isNamedImports,
|
|
1588
1588
|
isNamedImportsOrExports: () => isNamedImportsOrExports,
|
|
1589
1589
|
isNamedTupleMember: () => isNamedTupleMember,
|
|
1590
|
+
isNamedTupleMemberName: () => isNamedTupleMemberName,
|
|
1590
1591
|
isNamespaceBody: () => isNamespaceBody,
|
|
1591
1592
|
isNamespaceExport: () => isNamespaceExport,
|
|
1592
1593
|
isNamespaceExportDeclaration: () => isNamespaceExportDeclaration,
|
|
@@ -21685,6 +21686,9 @@ function getPropertyNameFromType(type) {
|
|
|
21685
21686
|
}
|
|
21686
21687
|
return Debug.fail();
|
|
21687
21688
|
}
|
|
21689
|
+
function isNamedTupleMemberName(node) {
|
|
21690
|
+
return node.kind === 80 /* Identifier */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 15 /* NoSubstitutionTemplateLiteral */;
|
|
21691
|
+
}
|
|
21688
21692
|
|
|
21689
21693
|
// src/compiler/factory/baseNodeFactory.ts
|
|
21690
21694
|
function createBaseNodeFactory() {
|
|
@@ -33059,21 +33063,29 @@ var Parser;
|
|
|
33059
33063
|
}
|
|
33060
33064
|
return type;
|
|
33061
33065
|
}
|
|
33062
|
-
function
|
|
33063
|
-
return
|
|
33066
|
+
function isTokenColonOrQuestionColon() {
|
|
33067
|
+
return token() === 59 /* ColonToken */ || token() === 58 /* QuestionToken */ && nextToken() === 59 /* ColonToken */;
|
|
33064
33068
|
}
|
|
33065
33069
|
function isTupleElementName() {
|
|
33066
33070
|
if (token() === 26 /* DotDotDotToken */) {
|
|
33067
|
-
|
|
33071
|
+
nextToken();
|
|
33072
|
+
}
|
|
33073
|
+
if (token() === 16 /* TemplateHead */) {
|
|
33074
|
+
parseTemplateType();
|
|
33075
|
+
return isTokenColonOrQuestionColon();
|
|
33068
33076
|
}
|
|
33069
|
-
|
|
33077
|
+
if (tokenIsIdentifierOrKeyword(token()) || token() === 15 /* NoSubstitutionTemplateLiteral */) {
|
|
33078
|
+
nextToken();
|
|
33079
|
+
return isTokenColonOrQuestionColon();
|
|
33080
|
+
}
|
|
33081
|
+
return false;
|
|
33070
33082
|
}
|
|
33071
33083
|
function parseTupleElementNameOrTupleElementType() {
|
|
33072
33084
|
if (lookAhead(isTupleElementName)) {
|
|
33073
33085
|
const pos = getNodePos();
|
|
33074
33086
|
const hasJSDoc = hasPrecedingJSDocComment();
|
|
33075
33087
|
const dotDotDotToken = parseOptionalToken(26 /* DotDotDotToken */);
|
|
33076
|
-
const name = parseIdentifierName();
|
|
33088
|
+
const name = token() === 15 /* NoSubstitutionTemplateLiteral */ ? parseLiteralLikeNode(token()) : token() === 16 /* TemplateHead */ ? parseTemplateType() : parseIdentifierName();
|
|
33077
33089
|
const questionToken = parseOptionalToken(58 /* QuestionToken */);
|
|
33078
33090
|
parseExpected(59 /* ColonToken */);
|
|
33079
33091
|
const type = parseTupleElementType();
|
|
@@ -52789,10 +52801,11 @@ function createTypeChecker(host) {
|
|
|
52789
52801
|
for (let i = 0; i < tupleConstituentNodes.length; i++) {
|
|
52790
52802
|
const flags = type2.target.elementFlags[i];
|
|
52791
52803
|
const labeledElementDeclaration = labeledElementDeclarations == null ? void 0 : labeledElementDeclarations[i];
|
|
52792
|
-
|
|
52804
|
+
const label = labeledElementDeclaration && getTupleElementLabel(type2, labeledElementDeclaration);
|
|
52805
|
+
if (label) {
|
|
52793
52806
|
tupleConstituentNodes[i] = factory.createNamedTupleMember(
|
|
52794
52807
|
flags & 12 /* Variable */ ? factory.createToken(26 /* DotDotDotToken */) : void 0,
|
|
52795
|
-
factory.createIdentifier(unescapeLeadingUnderscores(
|
|
52808
|
+
factory.createIdentifier(unescapeLeadingUnderscores(label)),
|
|
52796
52809
|
flags & 2 /* Optional */ ? factory.createToken(58 /* QuestionToken */) : void 0,
|
|
52797
52810
|
flags & 4 /* Rest */ ? factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]
|
|
52798
52811
|
);
|
|
@@ -57992,7 +58005,7 @@ function createTypeChecker(host) {
|
|
|
57992
58005
|
function getUniqAssociatedNamesFromTupleType(type, restName) {
|
|
57993
58006
|
const associatedNamesMap = /* @__PURE__ */ new Map();
|
|
57994
58007
|
return map(type.target.labeledElementDeclarations, (labeledElement, i) => {
|
|
57995
|
-
const name = getTupleElementLabel(labeledElement, i, restName);
|
|
58008
|
+
const name = getTupleElementLabel(type, labeledElement, i, restName);
|
|
57996
58009
|
const prevCounter = associatedNamesMap.get(name);
|
|
57997
58010
|
if (prevCounter === void 0) {
|
|
57998
58011
|
associatedNamesMap.set(name, 1);
|
|
@@ -76757,11 +76770,18 @@ function createTypeChecker(host) {
|
|
|
76757
76770
|
}
|
|
76758
76771
|
return type;
|
|
76759
76772
|
}
|
|
76760
|
-
function getTupleElementLabel(d, index, restParameterName = "arg") {
|
|
76773
|
+
function getTupleElementLabel(tupleType, d, index, restParameterName = "arg") {
|
|
76761
76774
|
if (!d) {
|
|
76762
76775
|
return `${restParameterName}_${index}`;
|
|
76763
76776
|
}
|
|
76764
|
-
Debug.assert(
|
|
76777
|
+
Debug.assert(!isBindingPattern(d.name));
|
|
76778
|
+
if (d.name.kind === 203 /* TemplateLiteralType */) {
|
|
76779
|
+
const label = instantiateType(getTypeFromTypeNode(d.name), tupleType.mapper);
|
|
76780
|
+
return label.flags & 128 /* StringLiteral */ ? escapeLeadingUnderscores(label.value) : typeof index === "number" ? `${restParameterName}_${index}` : void 0;
|
|
76781
|
+
}
|
|
76782
|
+
if (d.name.kind === 15 /* NoSubstitutionTemplateLiteral */) {
|
|
76783
|
+
return escapeLeadingUnderscores(d.name.text);
|
|
76784
|
+
}
|
|
76765
76785
|
return d.name.escapedText;
|
|
76766
76786
|
}
|
|
76767
76787
|
function getParameterNameAtPosition(signature, pos, overrideRestType) {
|
|
@@ -76774,7 +76794,7 @@ function createTypeChecker(host) {
|
|
|
76774
76794
|
if (isTupleType(restType)) {
|
|
76775
76795
|
const associatedNames = restType.target.labeledElementDeclarations;
|
|
76776
76796
|
const index = pos - paramCount;
|
|
76777
|
-
return getTupleElementLabel(associatedNames == null ? void 0 : associatedNames[index], index, restParameter.escapedName);
|
|
76797
|
+
return getTupleElementLabel(restType, associatedNames == null ? void 0 : associatedNames[index], index, restParameter.escapedName);
|
|
76778
76798
|
}
|
|
76779
76799
|
return restParameter.escapedName;
|
|
76780
76800
|
}
|
|
@@ -76804,8 +76824,7 @@ function createTypeChecker(host) {
|
|
|
76804
76824
|
const index = pos - paramCount;
|
|
76805
76825
|
const associatedName = associatedNames == null ? void 0 : associatedNames[index];
|
|
76806
76826
|
const isRestTupleElement = !!(associatedName == null ? void 0 : associatedName.dotDotDotToken);
|
|
76807
|
-
if (associatedName) {
|
|
76808
|
-
Debug.assert(isIdentifier(associatedName.name));
|
|
76827
|
+
if (associatedName && isIdentifier(associatedName.name)) {
|
|
76809
76828
|
return { parameter: associatedName.name, parameterName: associatedName.name.escapedText, isRestParameter: isRestTupleElement };
|
|
76810
76829
|
}
|
|
76811
76830
|
return void 0;
|
|
@@ -77866,9 +77885,8 @@ function createTypeChecker(host) {
|
|
|
77866
77885
|
if (symbol) {
|
|
77867
77886
|
if (isReadonlySymbol(symbol)) {
|
|
77868
77887
|
error2(expr, Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property);
|
|
77869
|
-
} else {
|
|
77870
|
-
checkDeleteExpressionMustBeOptional(expr, symbol);
|
|
77871
77888
|
}
|
|
77889
|
+
checkDeleteExpressionMustBeOptional(expr, symbol);
|
|
77872
77890
|
}
|
|
77873
77891
|
return booleanType;
|
|
77874
77892
|
}
|
|
@@ -80304,6 +80322,9 @@ function createTypeChecker(host) {
|
|
|
80304
80322
|
if (node.type.kind === 191 /* RestType */) {
|
|
80305
80323
|
grammarErrorOnNode(node.type, Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type);
|
|
80306
80324
|
}
|
|
80325
|
+
if (node.name.kind === 203 /* TemplateLiteralType */) {
|
|
80326
|
+
checkSourceElement(node.name);
|
|
80327
|
+
}
|
|
80307
80328
|
checkSourceElement(node.type);
|
|
80308
80329
|
getTypeFromTypeNode(node);
|
|
80309
80330
|
}
|
|
@@ -89115,7 +89136,7 @@ var visitEachChildTable = {
|
|
|
89115
89136
|
return context.factory.updateNamedTupleMember(
|
|
89116
89137
|
node,
|
|
89117
89138
|
tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
|
|
89118
|
-
Debug.checkDefined(nodeVisitor(node.name, visitor,
|
|
89139
|
+
Debug.checkDefined(nodeVisitor(node.name, visitor, isNamedTupleMemberName)),
|
|
89119
89140
|
tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
|
|
89120
89141
|
Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
|
|
89121
89142
|
);
|
|
@@ -173459,6 +173480,7 @@ __export(ts_exports2, {
|
|
|
173459
173480
|
isNamedImports: () => isNamedImports,
|
|
173460
173481
|
isNamedImportsOrExports: () => isNamedImportsOrExports,
|
|
173461
173482
|
isNamedTupleMember: () => isNamedTupleMember,
|
|
173483
|
+
isNamedTupleMemberName: () => isNamedTupleMemberName,
|
|
173462
173484
|
isNamespaceBody: () => isNamespaceBody,
|
|
173463
173485
|
isNamespaceExport: () => isNamespaceExport,
|
|
173464
173486
|
isNamespaceExportDeclaration: () => isNamespaceExportDeclaration,
|
|
@@ -188014,6 +188036,7 @@ start(initializeNodeSystem(), require("os").platform());
|
|
|
188014
188036
|
isNamedImports,
|
|
188015
188037
|
isNamedImportsOrExports,
|
|
188016
188038
|
isNamedTupleMember,
|
|
188039
|
+
isNamedTupleMemberName,
|
|
188017
188040
|
isNamespaceBody,
|
|
188018
188041
|
isNamespaceExport,
|
|
188019
188042
|
isNamespaceExportDeclaration,
|
package/lib/typescript.d.ts
CHANGED
|
@@ -5196,10 +5196,11 @@ declare namespace ts {
|
|
|
5196
5196
|
readonly kind: SyntaxKind.TupleType;
|
|
5197
5197
|
readonly elements: NodeArray<TypeNode | NamedTupleMember>;
|
|
5198
5198
|
}
|
|
5199
|
+
type NamedTupleMemberName = Identifier | NoSubstitutionTemplateLiteral | TemplateLiteralTypeNode;
|
|
5199
5200
|
interface NamedTupleMember extends TypeNode, Declaration, JSDocContainer {
|
|
5200
5201
|
readonly kind: SyntaxKind.NamedTupleMember;
|
|
5201
5202
|
readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;
|
|
5202
|
-
readonly name:
|
|
5203
|
+
readonly name: NamedTupleMemberName;
|
|
5203
5204
|
readonly questionToken?: Token<SyntaxKind.QuestionToken>;
|
|
5204
5205
|
readonly type: TypeNode;
|
|
5205
5206
|
}
|
|
@@ -7932,8 +7933,8 @@ declare namespace ts {
|
|
|
7932
7933
|
updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode;
|
|
7933
7934
|
createTupleTypeNode(elements: readonly (TypeNode | NamedTupleMember)[]): TupleTypeNode;
|
|
7934
7935
|
updateTupleTypeNode(node: TupleTypeNode, elements: readonly (TypeNode | NamedTupleMember)[]): TupleTypeNode;
|
|
7935
|
-
createNamedTupleMember(dotDotDotToken: DotDotDotToken | undefined, name:
|
|
7936
|
-
updateNamedTupleMember(node: NamedTupleMember, dotDotDotToken: DotDotDotToken | undefined, name:
|
|
7936
|
+
createNamedTupleMember(dotDotDotToken: DotDotDotToken | undefined, name: NamedTupleMemberName, questionToken: QuestionToken | undefined, type: TypeNode): NamedTupleMember;
|
|
7937
|
+
updateNamedTupleMember(node: NamedTupleMember, dotDotDotToken: DotDotDotToken | undefined, name: NamedTupleMemberName, questionToken: QuestionToken | undefined, type: TypeNode): NamedTupleMember;
|
|
7937
7938
|
createOptionalTypeNode(type: TypeNode): OptionalTypeNode;
|
|
7938
7939
|
updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode;
|
|
7939
7940
|
createRestTypeNode(type: TypeNode): RestTypeNode;
|
package/lib/typescript.js
CHANGED
|
@@ -19303,6 +19303,9 @@ ${lanes.join("\n")}
|
|
|
19303
19303
|
}
|
|
19304
19304
|
return Debug.fail();
|
|
19305
19305
|
}
|
|
19306
|
+
function isNamedTupleMemberName(node) {
|
|
19307
|
+
return node.kind === 80 /* Identifier */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 15 /* NoSubstitutionTemplateLiteral */;
|
|
19308
|
+
}
|
|
19306
19309
|
var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashLibReferenceRegEx, fullTripleSlashAMDReferencePathRegEx, fullTripleSlashAMDModuleRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsNotSupportingExtensionlessResolution, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
|
|
19307
19310
|
var init_utilities = __esm({
|
|
19308
19311
|
"src/compiler/utilities.ts"() {
|
|
@@ -31126,21 +31129,29 @@ ${lanes.join("\n")}
|
|
|
31126
31129
|
}
|
|
31127
31130
|
return type;
|
|
31128
31131
|
}
|
|
31129
|
-
function
|
|
31130
|
-
return
|
|
31132
|
+
function isTokenColonOrQuestionColon() {
|
|
31133
|
+
return token() === 59 /* ColonToken */ || token() === 58 /* QuestionToken */ && nextToken() === 59 /* ColonToken */;
|
|
31131
31134
|
}
|
|
31132
31135
|
function isTupleElementName() {
|
|
31133
31136
|
if (token() === 26 /* DotDotDotToken */) {
|
|
31134
|
-
|
|
31137
|
+
nextToken();
|
|
31138
|
+
}
|
|
31139
|
+
if (token() === 16 /* TemplateHead */) {
|
|
31140
|
+
parseTemplateType();
|
|
31141
|
+
return isTokenColonOrQuestionColon();
|
|
31135
31142
|
}
|
|
31136
|
-
|
|
31143
|
+
if (tokenIsIdentifierOrKeyword(token()) || token() === 15 /* NoSubstitutionTemplateLiteral */) {
|
|
31144
|
+
nextToken();
|
|
31145
|
+
return isTokenColonOrQuestionColon();
|
|
31146
|
+
}
|
|
31147
|
+
return false;
|
|
31137
31148
|
}
|
|
31138
31149
|
function parseTupleElementNameOrTupleElementType() {
|
|
31139
31150
|
if (lookAhead(isTupleElementName)) {
|
|
31140
31151
|
const pos = getNodePos();
|
|
31141
31152
|
const hasJSDoc = hasPrecedingJSDocComment();
|
|
31142
31153
|
const dotDotDotToken = parseOptionalToken(26 /* DotDotDotToken */);
|
|
31143
|
-
const name = parseIdentifierName();
|
|
31154
|
+
const name = token() === 15 /* NoSubstitutionTemplateLiteral */ ? parseLiteralLikeNode(token()) : token() === 16 /* TemplateHead */ ? parseTemplateType() : parseIdentifierName();
|
|
31144
31155
|
const questionToken = parseOptionalToken(58 /* QuestionToken */);
|
|
31145
31156
|
parseExpected(59 /* ColonToken */);
|
|
31146
31157
|
const type = parseTupleElementType();
|
|
@@ -50550,10 +50561,11 @@ ${lanes.join("\n")}
|
|
|
50550
50561
|
for (let i = 0; i < tupleConstituentNodes.length; i++) {
|
|
50551
50562
|
const flags = type2.target.elementFlags[i];
|
|
50552
50563
|
const labeledElementDeclaration = labeledElementDeclarations == null ? void 0 : labeledElementDeclarations[i];
|
|
50553
|
-
|
|
50564
|
+
const label = labeledElementDeclaration && getTupleElementLabel(type2, labeledElementDeclaration);
|
|
50565
|
+
if (label) {
|
|
50554
50566
|
tupleConstituentNodes[i] = factory.createNamedTupleMember(
|
|
50555
50567
|
flags & 12 /* Variable */ ? factory.createToken(26 /* DotDotDotToken */) : void 0,
|
|
50556
|
-
factory.createIdentifier(unescapeLeadingUnderscores(
|
|
50568
|
+
factory.createIdentifier(unescapeLeadingUnderscores(label)),
|
|
50557
50569
|
flags & 2 /* Optional */ ? factory.createToken(58 /* QuestionToken */) : void 0,
|
|
50558
50570
|
flags & 4 /* Rest */ ? factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]
|
|
50559
50571
|
);
|
|
@@ -55753,7 +55765,7 @@ ${lanes.join("\n")}
|
|
|
55753
55765
|
function getUniqAssociatedNamesFromTupleType(type, restName) {
|
|
55754
55766
|
const associatedNamesMap = /* @__PURE__ */ new Map();
|
|
55755
55767
|
return map(type.target.labeledElementDeclarations, (labeledElement, i) => {
|
|
55756
|
-
const name = getTupleElementLabel(labeledElement, i, restName);
|
|
55768
|
+
const name = getTupleElementLabel(type, labeledElement, i, restName);
|
|
55757
55769
|
const prevCounter = associatedNamesMap.get(name);
|
|
55758
55770
|
if (prevCounter === void 0) {
|
|
55759
55771
|
associatedNamesMap.set(name, 1);
|
|
@@ -74518,11 +74530,18 @@ ${lanes.join("\n")}
|
|
|
74518
74530
|
}
|
|
74519
74531
|
return type;
|
|
74520
74532
|
}
|
|
74521
|
-
function getTupleElementLabel(d, index, restParameterName = "arg") {
|
|
74533
|
+
function getTupleElementLabel(tupleType, d, index, restParameterName = "arg") {
|
|
74522
74534
|
if (!d) {
|
|
74523
74535
|
return `${restParameterName}_${index}`;
|
|
74524
74536
|
}
|
|
74525
|
-
Debug.assert(
|
|
74537
|
+
Debug.assert(!isBindingPattern(d.name));
|
|
74538
|
+
if (d.name.kind === 203 /* TemplateLiteralType */) {
|
|
74539
|
+
const label = instantiateType(getTypeFromTypeNode(d.name), tupleType.mapper);
|
|
74540
|
+
return label.flags & 128 /* StringLiteral */ ? escapeLeadingUnderscores(label.value) : typeof index === "number" ? `${restParameterName}_${index}` : void 0;
|
|
74541
|
+
}
|
|
74542
|
+
if (d.name.kind === 15 /* NoSubstitutionTemplateLiteral */) {
|
|
74543
|
+
return escapeLeadingUnderscores(d.name.text);
|
|
74544
|
+
}
|
|
74526
74545
|
return d.name.escapedText;
|
|
74527
74546
|
}
|
|
74528
74547
|
function getParameterNameAtPosition(signature, pos, overrideRestType) {
|
|
@@ -74535,7 +74554,7 @@ ${lanes.join("\n")}
|
|
|
74535
74554
|
if (isTupleType(restType)) {
|
|
74536
74555
|
const associatedNames = restType.target.labeledElementDeclarations;
|
|
74537
74556
|
const index = pos - paramCount;
|
|
74538
|
-
return getTupleElementLabel(associatedNames == null ? void 0 : associatedNames[index], index, restParameter.escapedName);
|
|
74557
|
+
return getTupleElementLabel(restType, associatedNames == null ? void 0 : associatedNames[index], index, restParameter.escapedName);
|
|
74539
74558
|
}
|
|
74540
74559
|
return restParameter.escapedName;
|
|
74541
74560
|
}
|
|
@@ -74565,8 +74584,7 @@ ${lanes.join("\n")}
|
|
|
74565
74584
|
const index = pos - paramCount;
|
|
74566
74585
|
const associatedName = associatedNames == null ? void 0 : associatedNames[index];
|
|
74567
74586
|
const isRestTupleElement = !!(associatedName == null ? void 0 : associatedName.dotDotDotToken);
|
|
74568
|
-
if (associatedName) {
|
|
74569
|
-
Debug.assert(isIdentifier(associatedName.name));
|
|
74587
|
+
if (associatedName && isIdentifier(associatedName.name)) {
|
|
74570
74588
|
return { parameter: associatedName.name, parameterName: associatedName.name.escapedText, isRestParameter: isRestTupleElement };
|
|
74571
74589
|
}
|
|
74572
74590
|
return void 0;
|
|
@@ -75627,9 +75645,8 @@ ${lanes.join("\n")}
|
|
|
75627
75645
|
if (symbol) {
|
|
75628
75646
|
if (isReadonlySymbol(symbol)) {
|
|
75629
75647
|
error2(expr, Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property);
|
|
75630
|
-
} else {
|
|
75631
|
-
checkDeleteExpressionMustBeOptional(expr, symbol);
|
|
75632
75648
|
}
|
|
75649
|
+
checkDeleteExpressionMustBeOptional(expr, symbol);
|
|
75633
75650
|
}
|
|
75634
75651
|
return booleanType;
|
|
75635
75652
|
}
|
|
@@ -78065,6 +78082,9 @@ ${lanes.join("\n")}
|
|
|
78065
78082
|
if (node.type.kind === 191 /* RestType */) {
|
|
78066
78083
|
grammarErrorOnNode(node.type, Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type);
|
|
78067
78084
|
}
|
|
78085
|
+
if (node.name.kind === 203 /* TemplateLiteralType */) {
|
|
78086
|
+
checkSourceElement(node.name);
|
|
78087
|
+
}
|
|
78068
78088
|
checkSourceElement(node.type);
|
|
78069
78089
|
getTypeFromTypeNode(node);
|
|
78070
78090
|
}
|
|
@@ -87019,7 +87039,7 @@ ${lanes.join("\n")}
|
|
|
87019
87039
|
return context.factory.updateNamedTupleMember(
|
|
87020
87040
|
node,
|
|
87021
87041
|
tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
|
|
87022
|
-
Debug.checkDefined(nodeVisitor(node.name, visitor,
|
|
87042
|
+
Debug.checkDefined(nodeVisitor(node.name, visitor, isNamedTupleMemberName)),
|
|
87023
87043
|
tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
|
|
87024
87044
|
Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
|
|
87025
87045
|
);
|
|
@@ -184629,6 +184649,7 @@ ${e.message}`;
|
|
|
184629
184649
|
isNamedImports: () => isNamedImports,
|
|
184630
184650
|
isNamedImportsOrExports: () => isNamedImportsOrExports,
|
|
184631
184651
|
isNamedTupleMember: () => isNamedTupleMember,
|
|
184652
|
+
isNamedTupleMemberName: () => isNamedTupleMemberName,
|
|
184632
184653
|
isNamespaceBody: () => isNamespaceBody,
|
|
184633
184654
|
isNamespaceExport: () => isNamespaceExport,
|
|
184634
184655
|
isNamespaceExportDeclaration: () => isNamespaceExportDeclaration,
|
|
@@ -187038,6 +187059,7 @@ ${e.message}`;
|
|
|
187038
187059
|
isNamedImports: () => isNamedImports,
|
|
187039
187060
|
isNamedImportsOrExports: () => isNamedImportsOrExports,
|
|
187040
187061
|
isNamedTupleMember: () => isNamedTupleMember,
|
|
187062
|
+
isNamedTupleMemberName: () => isNamedTupleMemberName,
|
|
187041
187063
|
isNamespaceBody: () => isNamespaceBody,
|
|
187042
187064
|
isNamespaceExport: () => isNamespaceExport,
|
|
187043
187065
|
isNamespaceExportDeclaration: () => isNamespaceExportDeclaration,
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -11742,6 +11742,9 @@ function getEscapedTextOfJsxNamespacedName(node) {
|
|
|
11742
11742
|
function getTextOfJsxNamespacedName(node) {
|
|
11743
11743
|
return `${idText(node.namespace)}:${idText(node.name)}`;
|
|
11744
11744
|
}
|
|
11745
|
+
function isNamedTupleMemberName(node) {
|
|
11746
|
+
return node.kind === 80 /* Identifier */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 15 /* NoSubstitutionTemplateLiteral */;
|
|
11747
|
+
}
|
|
11745
11748
|
|
|
11746
11749
|
// src/compiler/factory/baseNodeFactory.ts
|
|
11747
11750
|
function createBaseNodeFactory() {
|
|
@@ -20514,21 +20517,29 @@ var Parser;
|
|
|
20514
20517
|
}
|
|
20515
20518
|
return type;
|
|
20516
20519
|
}
|
|
20517
|
-
function
|
|
20518
|
-
return
|
|
20520
|
+
function isTokenColonOrQuestionColon() {
|
|
20521
|
+
return token() === 59 /* ColonToken */ || token() === 58 /* QuestionToken */ && nextToken() === 59 /* ColonToken */;
|
|
20519
20522
|
}
|
|
20520
20523
|
function isTupleElementName() {
|
|
20521
20524
|
if (token() === 26 /* DotDotDotToken */) {
|
|
20522
|
-
|
|
20525
|
+
nextToken();
|
|
20526
|
+
}
|
|
20527
|
+
if (token() === 16 /* TemplateHead */) {
|
|
20528
|
+
parseTemplateType();
|
|
20529
|
+
return isTokenColonOrQuestionColon();
|
|
20530
|
+
}
|
|
20531
|
+
if (tokenIsIdentifierOrKeyword(token()) || token() === 15 /* NoSubstitutionTemplateLiteral */) {
|
|
20532
|
+
nextToken();
|
|
20533
|
+
return isTokenColonOrQuestionColon();
|
|
20523
20534
|
}
|
|
20524
|
-
return
|
|
20535
|
+
return false;
|
|
20525
20536
|
}
|
|
20526
20537
|
function parseTupleElementNameOrTupleElementType() {
|
|
20527
20538
|
if (lookAhead(isTupleElementName)) {
|
|
20528
20539
|
const pos = getNodePos();
|
|
20529
20540
|
const hasJSDoc = hasPrecedingJSDocComment();
|
|
20530
20541
|
const dotDotDotToken = parseOptionalToken(26 /* DotDotDotToken */);
|
|
20531
|
-
const name = parseIdentifierName();
|
|
20542
|
+
const name = token() === 15 /* NoSubstitutionTemplateLiteral */ ? parseLiteralLikeNode(token()) : token() === 16 /* TemplateHead */ ? parseTemplateType() : parseIdentifierName();
|
|
20532
20543
|
const questionToken = parseOptionalToken(58 /* QuestionToken */);
|
|
20533
20544
|
parseExpected(59 /* ColonToken */);
|
|
20534
20545
|
const type = parseTupleElementType();
|
|
@@ -29681,7 +29692,7 @@ var visitEachChildTable = {
|
|
|
29681
29692
|
return context.factory.updateNamedTupleMember(
|
|
29682
29693
|
node,
|
|
29683
29694
|
tokenVisitor ? nodeVisitor(node.dotDotDotToken, tokenVisitor, isDotDotDotToken) : node.dotDotDotToken,
|
|
29684
|
-
Debug.checkDefined(nodeVisitor(node.name, visitor,
|
|
29695
|
+
Debug.checkDefined(nodeVisitor(node.name, visitor, isNamedTupleMemberName)),
|
|
29685
29696
|
tokenVisitor ? nodeVisitor(node.questionToken, tokenVisitor, isQuestionToken) : node.questionToken,
|
|
29686
29697
|
Debug.checkDefined(nodeVisitor(node.type, visitor, isTypeNode))
|
|
29687
29698
|
);
|
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-
|
|
5
|
+
"version": "5.3.0-pr-55452-4",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -116,5 +116,5 @@
|
|
|
116
116
|
"node": "20.1.0",
|
|
117
117
|
"npm": "8.19.4"
|
|
118
118
|
},
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "58d231b23ea90cb6256dc152cc6c4efcb41fc2af"
|
|
120
120
|
}
|