@typescript-deploys/pr-build 5.4.0-pr-56626-8 → 5.4.0-pr-56506-20
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 +32 -16
- package/lib/tsserver.js +83 -37
- package/lib/typescript.d.ts +1 -0
- package/lib/typescript.js +83 -37
- package/lib/typingsInstaller.js +3 -1
- 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.4";
|
|
21
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
21
|
+
var version = `${versionMajorMinor}.0-insiders.20231205`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -33128,6 +33128,8 @@ var Parser;
|
|
|
33128
33128
|
break;
|
|
33129
33129
|
case "template":
|
|
33130
33130
|
return parseTemplateTag(start2, tagName, indent2, indentText);
|
|
33131
|
+
case "this":
|
|
33132
|
+
return parseThisTag(start2, tagName, indent2, indentText);
|
|
33131
33133
|
default:
|
|
33132
33134
|
return false;
|
|
33133
33135
|
}
|
|
@@ -44707,7 +44709,7 @@ function createTypeChecker(host) {
|
|
|
44707
44709
|
return isBlockScopedNameDeclaredBeforeUse(getAncestor(declaration, 260 /* VariableDeclaration */), usage);
|
|
44708
44710
|
} else if (declaration.kind === 260 /* VariableDeclaration */) {
|
|
44709
44711
|
return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage);
|
|
44710
|
-
} else if (
|
|
44712
|
+
} else if (isClassLike(declaration)) {
|
|
44711
44713
|
return !findAncestor(usage, (n) => isComputedPropertyName(n) && n.parent.parent === declaration);
|
|
44712
44714
|
} else if (isPropertyDeclaration(declaration)) {
|
|
44713
44715
|
return !isPropertyImmediatelyReferencedWithinDeclaration(
|
|
@@ -53621,10 +53623,11 @@ function createTypeChecker(host) {
|
|
|
53621
53623
|
const baseTypes = getBaseTypes(source);
|
|
53622
53624
|
if (baseTypes.length) {
|
|
53623
53625
|
if (source.symbol && members === getMembersOfSymbol(source.symbol)) {
|
|
53624
|
-
const symbolTable = createSymbolTable(
|
|
53625
|
-
const
|
|
53626
|
-
|
|
53627
|
-
|
|
53626
|
+
const symbolTable = createSymbolTable();
|
|
53627
|
+
for (const symbol of members.values()) {
|
|
53628
|
+
if (!(symbol.flags & 262144 /* TypeParameter */)) {
|
|
53629
|
+
symbolTable.set(symbol.escapedName, symbol);
|
|
53630
|
+
}
|
|
53628
53631
|
}
|
|
53629
53632
|
members = symbolTable;
|
|
53630
53633
|
}
|
|
@@ -55324,6 +55327,7 @@ function createTypeChecker(host) {
|
|
|
55324
55327
|
let flags = 0 /* None */;
|
|
55325
55328
|
let minArgumentCount = 0;
|
|
55326
55329
|
let thisParameter;
|
|
55330
|
+
let thisTag = isInJSFile(declaration) ? getJSDocThisTag(declaration) : void 0;
|
|
55327
55331
|
let hasThisParameter = false;
|
|
55328
55332
|
const iife = getImmediatelyInvokedFunctionExpression(declaration);
|
|
55329
55333
|
const isJSConstructSignature = isJSDocConstructSignature(declaration);
|
|
@@ -55333,6 +55337,10 @@ function createTypeChecker(host) {
|
|
|
55333
55337
|
}
|
|
55334
55338
|
for (let i = isJSConstructSignature ? 1 : 0; i < declaration.parameters.length; i++) {
|
|
55335
55339
|
const param = declaration.parameters[i];
|
|
55340
|
+
if (isInJSFile(param) && isJSDocThisTag(param)) {
|
|
55341
|
+
thisTag = param;
|
|
55342
|
+
continue;
|
|
55343
|
+
}
|
|
55336
55344
|
let paramSymbol = param.symbol;
|
|
55337
55345
|
const type = isJSDocParameterTag(param) ? param.typeExpression && param.typeExpression.type : param.type;
|
|
55338
55346
|
if (paramSymbol && !!(paramSymbol.flags & 4 /* Property */) && !isBindingPattern(param.name)) {
|
|
@@ -55370,11 +55378,8 @@ function createTypeChecker(host) {
|
|
|
55370
55378
|
thisParameter = getAnnotatedAccessorThisParameter(other);
|
|
55371
55379
|
}
|
|
55372
55380
|
}
|
|
55373
|
-
if (
|
|
55374
|
-
|
|
55375
|
-
if (thisTag && thisTag.typeExpression) {
|
|
55376
|
-
thisParameter = createSymbolWithType(createSymbol(1 /* FunctionScopedVariable */, "this" /* This */), getTypeFromTypeNode(thisTag.typeExpression));
|
|
55377
|
-
}
|
|
55381
|
+
if (thisTag && thisTag.typeExpression) {
|
|
55382
|
+
thisParameter = createSymbolWithType(createSymbol(1 /* FunctionScopedVariable */, "this" /* This */), getTypeFromTypeNode(thisTag.typeExpression));
|
|
55378
55383
|
}
|
|
55379
55384
|
const hostDeclaration = isJSDocSignature(declaration) ? getEffectiveJSDocHost(declaration) : declaration;
|
|
55380
55385
|
const classType = hostDeclaration && isConstructorDeclaration(hostDeclaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(hostDeclaration.parent.symbol)) : void 0;
|
|
@@ -60173,8 +60178,8 @@ function createTypeChecker(host) {
|
|
|
60173
60178
|
const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
|
|
60174
60179
|
const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
|
|
60175
60180
|
if (sourceType && targetType) {
|
|
60176
|
-
const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
|
|
60177
|
-
const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
|
|
60181
|
+
const sourceSig = checkMode & 3 /* Callback */ || isInstantiatedGenericParameter(source, i) ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
|
|
60182
|
+
const targetSig = checkMode & 3 /* Callback */ || isInstantiatedGenericParameter(target, i) ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
|
|
60178
60183
|
const callbacks = sourceSig && targetSig && !getTypePredicateOfSignature(sourceSig) && !getTypePredicateOfSignature(targetSig) && getTypeFacts(sourceType, 50331648 /* IsUndefinedOrNull */) === getTypeFacts(targetType, 50331648 /* IsUndefinedOrNull */);
|
|
60179
60184
|
let related = callbacks ? compareSignaturesRelated(targetSig, sourceSig, checkMode & 8 /* StrictArity */ | (strictVariance ? 2 /* StrictCallback */ : 1 /* BivariantCallback */), reportErrors2, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) : !(checkMode & 3 /* Callback */) && !strictVariance && compareTypes(
|
|
60180
60185
|
sourceType,
|
|
@@ -70724,6 +70729,10 @@ function createTypeChecker(host) {
|
|
|
70724
70729
|
const minTypeArgumentCount = getMinTypeArgumentCount(signature.typeParameters);
|
|
70725
70730
|
return !some(typeArguments) || typeArguments.length >= minTypeArgumentCount && typeArguments.length <= numTypeParameters;
|
|
70726
70731
|
}
|
|
70732
|
+
function isInstantiatedGenericParameter(signature, pos) {
|
|
70733
|
+
let type;
|
|
70734
|
+
return !!(signature.target && (type = tryGetTypeAtPosition(signature.target, pos)) && isGenericType(type));
|
|
70735
|
+
}
|
|
70727
70736
|
function getSingleCallSignature(type) {
|
|
70728
70737
|
return getSingleSignature(
|
|
70729
70738
|
type,
|
|
@@ -73139,9 +73148,16 @@ function createTypeChecker(host) {
|
|
|
73139
73148
|
const len = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0);
|
|
73140
73149
|
for (let i = 0; i < len; i++) {
|
|
73141
73150
|
const parameter = signature.parameters[i];
|
|
73142
|
-
|
|
73143
|
-
|
|
73144
|
-
|
|
73151
|
+
const declaration = parameter.valueDeclaration;
|
|
73152
|
+
if (!getEffectiveTypeAnnotationNode(declaration)) {
|
|
73153
|
+
let type = tryGetTypeAtPosition(context, i);
|
|
73154
|
+
if (type && declaration.initializer) {
|
|
73155
|
+
let initializerType = checkDeclarationInitializer(declaration, 0 /* Normal */);
|
|
73156
|
+
if (!isTypeAssignableTo(initializerType, type) && isTypeAssignableTo(type, initializerType = widenTypeInferredFromInitializer(declaration, initializerType))) {
|
|
73157
|
+
type = initializerType;
|
|
73158
|
+
}
|
|
73159
|
+
}
|
|
73160
|
+
assignParameterType(parameter, type);
|
|
73145
73161
|
}
|
|
73146
73162
|
}
|
|
73147
73163
|
if (signatureHasRestParameter(signature)) {
|
package/lib/tsserver.js
CHANGED
|
@@ -2332,7 +2332,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
2332
2332
|
|
|
2333
2333
|
// src/compiler/corePublic.ts
|
|
2334
2334
|
var versionMajorMinor = "5.4";
|
|
2335
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
2335
|
+
var version = `${versionMajorMinor}.0-insiders.20231205`;
|
|
2336
2336
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2337
2337
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2338
2338
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -37555,6 +37555,8 @@ var Parser;
|
|
|
37555
37555
|
break;
|
|
37556
37556
|
case "template":
|
|
37557
37557
|
return parseTemplateTag(start3, tagName, indent3, indentText);
|
|
37558
|
+
case "this":
|
|
37559
|
+
return parseThisTag(start3, tagName, indent3, indentText);
|
|
37558
37560
|
default:
|
|
37559
37561
|
return false;
|
|
37560
37562
|
}
|
|
@@ -49434,7 +49436,7 @@ function createTypeChecker(host) {
|
|
|
49434
49436
|
return isBlockScopedNameDeclaredBeforeUse(getAncestor(declaration, 260 /* VariableDeclaration */), usage);
|
|
49435
49437
|
} else if (declaration.kind === 260 /* VariableDeclaration */) {
|
|
49436
49438
|
return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage);
|
|
49437
|
-
} else if (
|
|
49439
|
+
} else if (isClassLike(declaration)) {
|
|
49438
49440
|
return !findAncestor(usage, (n) => isComputedPropertyName(n) && n.parent.parent === declaration);
|
|
49439
49441
|
} else if (isPropertyDeclaration(declaration)) {
|
|
49440
49442
|
return !isPropertyImmediatelyReferencedWithinDeclaration(
|
|
@@ -58348,10 +58350,11 @@ function createTypeChecker(host) {
|
|
|
58348
58350
|
const baseTypes = getBaseTypes(source);
|
|
58349
58351
|
if (baseTypes.length) {
|
|
58350
58352
|
if (source.symbol && members === getMembersOfSymbol(source.symbol)) {
|
|
58351
|
-
const symbolTable = createSymbolTable(
|
|
58352
|
-
const
|
|
58353
|
-
|
|
58354
|
-
|
|
58353
|
+
const symbolTable = createSymbolTable();
|
|
58354
|
+
for (const symbol of members.values()) {
|
|
58355
|
+
if (!(symbol.flags & 262144 /* TypeParameter */)) {
|
|
58356
|
+
symbolTable.set(symbol.escapedName, symbol);
|
|
58357
|
+
}
|
|
58355
58358
|
}
|
|
58356
58359
|
members = symbolTable;
|
|
58357
58360
|
}
|
|
@@ -60051,6 +60054,7 @@ function createTypeChecker(host) {
|
|
|
60051
60054
|
let flags = 0 /* None */;
|
|
60052
60055
|
let minArgumentCount = 0;
|
|
60053
60056
|
let thisParameter;
|
|
60057
|
+
let thisTag = isInJSFile(declaration) ? getJSDocThisTag(declaration) : void 0;
|
|
60054
60058
|
let hasThisParameter2 = false;
|
|
60055
60059
|
const iife = getImmediatelyInvokedFunctionExpression(declaration);
|
|
60056
60060
|
const isJSConstructSignature = isJSDocConstructSignature(declaration);
|
|
@@ -60060,6 +60064,10 @@ function createTypeChecker(host) {
|
|
|
60060
60064
|
}
|
|
60061
60065
|
for (let i = isJSConstructSignature ? 1 : 0; i < declaration.parameters.length; i++) {
|
|
60062
60066
|
const param = declaration.parameters[i];
|
|
60067
|
+
if (isInJSFile(param) && isJSDocThisTag(param)) {
|
|
60068
|
+
thisTag = param;
|
|
60069
|
+
continue;
|
|
60070
|
+
}
|
|
60063
60071
|
let paramSymbol = param.symbol;
|
|
60064
60072
|
const type = isJSDocParameterTag(param) ? param.typeExpression && param.typeExpression.type : param.type;
|
|
60065
60073
|
if (paramSymbol && !!(paramSymbol.flags & 4 /* Property */) && !isBindingPattern(param.name)) {
|
|
@@ -60097,11 +60105,8 @@ function createTypeChecker(host) {
|
|
|
60097
60105
|
thisParameter = getAnnotatedAccessorThisParameter(other);
|
|
60098
60106
|
}
|
|
60099
60107
|
}
|
|
60100
|
-
if (
|
|
60101
|
-
|
|
60102
|
-
if (thisTag && thisTag.typeExpression) {
|
|
60103
|
-
thisParameter = createSymbolWithType(createSymbol(1 /* FunctionScopedVariable */, "this" /* This */), getTypeFromTypeNode(thisTag.typeExpression));
|
|
60104
|
-
}
|
|
60108
|
+
if (thisTag && thisTag.typeExpression) {
|
|
60109
|
+
thisParameter = createSymbolWithType(createSymbol(1 /* FunctionScopedVariable */, "this" /* This */), getTypeFromTypeNode(thisTag.typeExpression));
|
|
60105
60110
|
}
|
|
60106
60111
|
const hostDeclaration = isJSDocSignature(declaration) ? getEffectiveJSDocHost(declaration) : declaration;
|
|
60107
60112
|
const classType = hostDeclaration && isConstructorDeclaration(hostDeclaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(hostDeclaration.parent.symbol)) : void 0;
|
|
@@ -64900,8 +64905,8 @@ function createTypeChecker(host) {
|
|
|
64900
64905
|
const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
|
|
64901
64906
|
const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
|
|
64902
64907
|
if (sourceType && targetType) {
|
|
64903
|
-
const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
|
|
64904
|
-
const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
|
|
64908
|
+
const sourceSig = checkMode & 3 /* Callback */ || isInstantiatedGenericParameter(source, i) ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
|
|
64909
|
+
const targetSig = checkMode & 3 /* Callback */ || isInstantiatedGenericParameter(target, i) ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
|
|
64905
64910
|
const callbacks = sourceSig && targetSig && !getTypePredicateOfSignature(sourceSig) && !getTypePredicateOfSignature(targetSig) && getTypeFacts(sourceType, 50331648 /* IsUndefinedOrNull */) === getTypeFacts(targetType, 50331648 /* IsUndefinedOrNull */);
|
|
64906
64911
|
let related = callbacks ? compareSignaturesRelated(targetSig, sourceSig, checkMode & 8 /* StrictArity */ | (strictVariance ? 2 /* StrictCallback */ : 1 /* BivariantCallback */), reportErrors2, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) : !(checkMode & 3 /* Callback */) && !strictVariance && compareTypes(
|
|
64907
64912
|
sourceType,
|
|
@@ -75451,6 +75456,10 @@ function createTypeChecker(host) {
|
|
|
75451
75456
|
const minTypeArgumentCount = getMinTypeArgumentCount(signature.typeParameters);
|
|
75452
75457
|
return !some(typeArguments) || typeArguments.length >= minTypeArgumentCount && typeArguments.length <= numTypeParameters;
|
|
75453
75458
|
}
|
|
75459
|
+
function isInstantiatedGenericParameter(signature, pos) {
|
|
75460
|
+
let type;
|
|
75461
|
+
return !!(signature.target && (type = tryGetTypeAtPosition(signature.target, pos)) && isGenericType(type));
|
|
75462
|
+
}
|
|
75454
75463
|
function getSingleCallSignature(type) {
|
|
75455
75464
|
return getSingleSignature(
|
|
75456
75465
|
type,
|
|
@@ -77866,9 +77875,16 @@ function createTypeChecker(host) {
|
|
|
77866
77875
|
const len = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0);
|
|
77867
77876
|
for (let i = 0; i < len; i++) {
|
|
77868
77877
|
const parameter = signature.parameters[i];
|
|
77869
|
-
|
|
77870
|
-
|
|
77871
|
-
|
|
77878
|
+
const declaration = parameter.valueDeclaration;
|
|
77879
|
+
if (!getEffectiveTypeAnnotationNode(declaration)) {
|
|
77880
|
+
let type = tryGetTypeAtPosition(context, i);
|
|
77881
|
+
if (type && declaration.initializer) {
|
|
77882
|
+
let initializerType = checkDeclarationInitializer(declaration, 0 /* Normal */);
|
|
77883
|
+
if (!isTypeAssignableTo(initializerType, type) && isTypeAssignableTo(type, initializerType = widenTypeInferredFromInitializer(declaration, initializerType))) {
|
|
77884
|
+
type = initializerType;
|
|
77885
|
+
}
|
|
77886
|
+
}
|
|
77887
|
+
assignParameterType(parameter, type);
|
|
77872
77888
|
}
|
|
77873
77889
|
}
|
|
77874
77890
|
if (signatureHasRestParameter(signature)) {
|
|
@@ -137814,7 +137830,7 @@ function transpileModule(input, transpileOptions) {
|
|
|
137814
137830
|
options
|
|
137815
137831
|
),
|
|
137816
137832
|
setExternalModuleIndicator: getSetExternalModuleIndicator(options),
|
|
137817
|
-
jsDocParsingMode:
|
|
137833
|
+
jsDocParsingMode: transpileOptions.jsDocParsingMode ?? 0 /* ParseAll */
|
|
137818
137834
|
}
|
|
137819
137835
|
);
|
|
137820
137836
|
if (transpileOptions.moduleName) {
|
|
@@ -159544,7 +159560,7 @@ function getContextualType(previousToken, position, sourceFile, checker) {
|
|
|
159544
159560
|
case 19 /* OpenBraceToken */:
|
|
159545
159561
|
return isJsxExpression(parent2) && !isJsxElement(parent2.parent) && !isJsxFragment(parent2.parent) ? checker.getContextualTypeForJsxAttribute(parent2.parent) : void 0;
|
|
159546
159562
|
default:
|
|
159547
|
-
const argInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(previousToken, position, sourceFile);
|
|
159563
|
+
const argInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(previousToken, position, sourceFile, checker);
|
|
159548
159564
|
return argInfo ? (
|
|
159549
159565
|
// At `,`, treat this as the next argument after the comma.
|
|
159550
159566
|
checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (previousToken.kind === 28 /* CommaToken */ ? 1 : 0))
|
|
@@ -161671,7 +161687,7 @@ function getStringLiteralCompletionEntries(sourceFile, node, position, typeCheck
|
|
|
161671
161687
|
case 214 /* NewExpression */:
|
|
161672
161688
|
case 291 /* JsxAttribute */:
|
|
161673
161689
|
if (!isRequireCallArgument(node) && !isImportCall(parent2)) {
|
|
161674
|
-
const argumentInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(parent2.kind === 291 /* JsxAttribute */ ? parent2.parent : node, position, sourceFile);
|
|
161690
|
+
const argumentInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(parent2.kind === 291 /* JsxAttribute */ ? parent2.parent : node, position, sourceFile, typeChecker);
|
|
161675
161691
|
return argumentInfo && getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) || fromContextualType(0 /* None */);
|
|
161676
161692
|
}
|
|
161677
161693
|
case 272 /* ImportDeclaration */:
|
|
@@ -164567,7 +164583,7 @@ var Core;
|
|
|
164567
164583
|
if (isStringLiteralLike(ref) && ref.text === node.text) {
|
|
164568
164584
|
if (type) {
|
|
164569
164585
|
const refType = getContextualTypeFromParentOrAncestorTypeNode(ref, checker);
|
|
164570
|
-
if (type !== checker.getStringType() && type === refType) {
|
|
164586
|
+
if (type !== checker.getStringType() && (type === refType || isStringLiteralPropertyReference(ref, checker))) {
|
|
164571
164587
|
return nodeEntry(ref, 2 /* StringLiteral */);
|
|
164572
164588
|
}
|
|
164573
164589
|
} else {
|
|
@@ -164581,6 +164597,11 @@ var Core;
|
|
|
164581
164597
|
references
|
|
164582
164598
|
}];
|
|
164583
164599
|
}
|
|
164600
|
+
function isStringLiteralPropertyReference(node, checker) {
|
|
164601
|
+
if (isPropertySignature(node.parent)) {
|
|
164602
|
+
return checker.getPropertyOfType(checker.getTypeAtLocation(node.parent.parent), node.text);
|
|
164603
|
+
}
|
|
164604
|
+
}
|
|
164584
164605
|
function populateSearchSymbolSet(symbol, location, checker, isForRename, providePrefixAndSuffixText, implementations) {
|
|
164585
164606
|
const result = [];
|
|
164586
164607
|
forEachRelatedSymbol(
|
|
@@ -167774,19 +167795,20 @@ function containsPrecedingToken(startingToken, sourceFile, container) {
|
|
|
167774
167795
|
}
|
|
167775
167796
|
return Debug.fail("Could not find preceding token");
|
|
167776
167797
|
}
|
|
167777
|
-
function getArgumentInfoForCompletions(node, position, sourceFile) {
|
|
167778
|
-
const info = getImmediatelyContainingArgumentInfo(node, position, sourceFile);
|
|
167798
|
+
function getArgumentInfoForCompletions(node, position, sourceFile, checker) {
|
|
167799
|
+
const info = getImmediatelyContainingArgumentInfo(node, position, sourceFile, checker);
|
|
167779
167800
|
return !info || info.isTypeParameterList || info.invocation.kind !== 0 /* Call */ ? void 0 : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex };
|
|
167780
167801
|
}
|
|
167781
|
-
function getArgumentOrParameterListInfo(node, position, sourceFile) {
|
|
167782
|
-
const info = getArgumentOrParameterListAndIndex(node, sourceFile);
|
|
167802
|
+
function getArgumentOrParameterListInfo(node, position, sourceFile, checker) {
|
|
167803
|
+
const info = getArgumentOrParameterListAndIndex(node, sourceFile, checker);
|
|
167783
167804
|
if (!info)
|
|
167784
167805
|
return void 0;
|
|
167785
167806
|
const { list, argumentIndex } = info;
|
|
167786
167807
|
const argumentCount = getArgumentCount(
|
|
167787
167808
|
list,
|
|
167788
167809
|
/*ignoreTrailingComma*/
|
|
167789
|
-
isInString(sourceFile, position, node)
|
|
167810
|
+
isInString(sourceFile, position, node),
|
|
167811
|
+
checker
|
|
167790
167812
|
);
|
|
167791
167813
|
if (argumentIndex !== 0) {
|
|
167792
167814
|
Debug.assertLessThan(argumentIndex, argumentCount);
|
|
@@ -167794,19 +167816,19 @@ function getArgumentOrParameterListInfo(node, position, sourceFile) {
|
|
|
167794
167816
|
const argumentsSpan = getApplicableSpanForArguments(list, sourceFile);
|
|
167795
167817
|
return { list, argumentIndex, argumentCount, argumentsSpan };
|
|
167796
167818
|
}
|
|
167797
|
-
function getArgumentOrParameterListAndIndex(node, sourceFile) {
|
|
167819
|
+
function getArgumentOrParameterListAndIndex(node, sourceFile, checker) {
|
|
167798
167820
|
if (node.kind === 30 /* LessThanToken */ || node.kind === 21 /* OpenParenToken */) {
|
|
167799
167821
|
return { list: getChildListThatStartsWithOpenerToken(node.parent, node, sourceFile), argumentIndex: 0 };
|
|
167800
167822
|
} else {
|
|
167801
167823
|
const list = findContainingList(node);
|
|
167802
|
-
return list && { list, argumentIndex: getArgumentIndex(list, node) };
|
|
167824
|
+
return list && { list, argumentIndex: getArgumentIndex(list, node, checker) };
|
|
167803
167825
|
}
|
|
167804
167826
|
}
|
|
167805
|
-
function getImmediatelyContainingArgumentInfo(node, position, sourceFile) {
|
|
167827
|
+
function getImmediatelyContainingArgumentInfo(node, position, sourceFile, checker) {
|
|
167806
167828
|
const { parent: parent2 } = node;
|
|
167807
167829
|
if (isCallOrNewExpression(parent2)) {
|
|
167808
167830
|
const invocation = parent2;
|
|
167809
|
-
const info = getArgumentOrParameterListInfo(node, position, sourceFile);
|
|
167831
|
+
const info = getArgumentOrParameterListInfo(node, position, sourceFile, checker);
|
|
167810
167832
|
if (!info)
|
|
167811
167833
|
return void 0;
|
|
167812
167834
|
const { list, argumentIndex, argumentCount, argumentsSpan } = info;
|
|
@@ -167864,7 +167886,7 @@ function getImmediatelyContainingArgumentInfo(node, position, sourceFile) {
|
|
|
167864
167886
|
}
|
|
167865
167887
|
}
|
|
167866
167888
|
function getImmediatelyContainingArgumentOrContextualParameterInfo(node, position, sourceFile, checker) {
|
|
167867
|
-
return tryGetParameterInfo(node, position, sourceFile, checker) || getImmediatelyContainingArgumentInfo(node, position, sourceFile);
|
|
167889
|
+
return tryGetParameterInfo(node, position, sourceFile, checker) || getImmediatelyContainingArgumentInfo(node, position, sourceFile, checker);
|
|
167868
167890
|
}
|
|
167869
167891
|
function getHighestBinary(b) {
|
|
167870
167892
|
return isBinaryExpression(b.parent) ? getHighestBinary(b.parent) : b;
|
|
@@ -167906,7 +167928,7 @@ function getContextualSignatureLocationInfo(node, sourceFile, position, checker)
|
|
|
167906
167928
|
case 174 /* MethodDeclaration */:
|
|
167907
167929
|
case 218 /* FunctionExpression */:
|
|
167908
167930
|
case 219 /* ArrowFunction */:
|
|
167909
|
-
const info = getArgumentOrParameterListInfo(node, position, sourceFile);
|
|
167931
|
+
const info = getArgumentOrParameterListInfo(node, position, sourceFile, checker);
|
|
167910
167932
|
if (!info)
|
|
167911
167933
|
return void 0;
|
|
167912
167934
|
const { argumentIndex, argumentCount, argumentsSpan } = info;
|
|
@@ -167929,21 +167951,45 @@ function chooseBetterSymbol(s) {
|
|
|
167929
167951
|
return isFunctionTypeNode(d) ? (_a = tryCast(d.parent, canHaveSymbol)) == null ? void 0 : _a.symbol : void 0;
|
|
167930
167952
|
}) || s : s;
|
|
167931
167953
|
}
|
|
167932
|
-
function getArgumentIndex(argumentsList, node) {
|
|
167954
|
+
function getArgumentIndex(argumentsList, node, checker) {
|
|
167955
|
+
const args = argumentsList.getChildren();
|
|
167933
167956
|
let argumentIndex = 0;
|
|
167934
|
-
for (
|
|
167957
|
+
for (let pos = 0; pos < length(args); pos++) {
|
|
167958
|
+
const child = args[pos];
|
|
167935
167959
|
if (child === node) {
|
|
167936
167960
|
break;
|
|
167937
167961
|
}
|
|
167938
|
-
if (child
|
|
167939
|
-
argumentIndex
|
|
167962
|
+
if (isSpreadElement(child)) {
|
|
167963
|
+
argumentIndex = argumentIndex + getSpreadElementCount(child, checker) + (pos > 0 ? pos : 0);
|
|
167964
|
+
} else {
|
|
167965
|
+
if (child.kind !== 28 /* CommaToken */) {
|
|
167966
|
+
argumentIndex++;
|
|
167967
|
+
}
|
|
167940
167968
|
}
|
|
167941
167969
|
}
|
|
167942
167970
|
return argumentIndex;
|
|
167943
167971
|
}
|
|
167944
|
-
function
|
|
167972
|
+
function getSpreadElementCount(node, checker) {
|
|
167973
|
+
const spreadType = checker.getTypeAtLocation(node.expression);
|
|
167974
|
+
if (checker.isTupleType(spreadType)) {
|
|
167975
|
+
const { elementFlags, fixedLength } = spreadType.target;
|
|
167976
|
+
if (fixedLength === 0) {
|
|
167977
|
+
return 0;
|
|
167978
|
+
}
|
|
167979
|
+
const firstOptionalIndex = findIndex(elementFlags, (f) => !(f & 1 /* Required */));
|
|
167980
|
+
return firstOptionalIndex < 0 ? fixedLength : firstOptionalIndex;
|
|
167981
|
+
}
|
|
167982
|
+
return 0;
|
|
167983
|
+
}
|
|
167984
|
+
function getArgumentCount(argumentsList, ignoreTrailingComma, checker) {
|
|
167945
167985
|
const listChildren = argumentsList.getChildren();
|
|
167946
|
-
let argumentCount =
|
|
167986
|
+
let argumentCount = 0;
|
|
167987
|
+
for (const child of listChildren) {
|
|
167988
|
+
if (isSpreadElement(child)) {
|
|
167989
|
+
argumentCount = argumentCount + getSpreadElementCount(child, checker);
|
|
167990
|
+
}
|
|
167991
|
+
}
|
|
167992
|
+
argumentCount = argumentCount + countWhere(listChildren, (arg) => arg.kind !== 28 /* CommaToken */);
|
|
167947
167993
|
if (!ignoreTrailingComma && listChildren.length > 0 && last(listChildren).kind === 28 /* CommaToken */) {
|
|
167948
167994
|
argumentCount++;
|
|
167949
167995
|
}
|
package/lib/typescript.d.ts
CHANGED
|
@@ -11618,6 +11618,7 @@ declare namespace ts {
|
|
|
11618
11618
|
moduleName?: string;
|
|
11619
11619
|
renamedDependencies?: MapLike<string>;
|
|
11620
11620
|
transformers?: CustomTransformers;
|
|
11621
|
+
jsDocParsingMode?: JSDocParsingMode;
|
|
11621
11622
|
}
|
|
11622
11623
|
interface TranspileOutput {
|
|
11623
11624
|
outputText: string;
|
package/lib/typescript.js
CHANGED
|
@@ -35,7 +35,7 @@ var ts = (() => {
|
|
|
35
35
|
"src/compiler/corePublic.ts"() {
|
|
36
36
|
"use strict";
|
|
37
37
|
versionMajorMinor = "5.4";
|
|
38
|
-
version = `${versionMajorMinor}.0-insiders.
|
|
38
|
+
version = `${versionMajorMinor}.0-insiders.20231205`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -35623,6 +35623,8 @@ ${lanes.join("\n")}
|
|
|
35623
35623
|
break;
|
|
35624
35624
|
case "template":
|
|
35625
35625
|
return parseTemplateTag(start2, tagName, indent3, indentText);
|
|
35626
|
+
case "this":
|
|
35627
|
+
return parseThisTag(start2, tagName, indent3, indentText);
|
|
35626
35628
|
default:
|
|
35627
35629
|
return false;
|
|
35628
35630
|
}
|
|
@@ -47197,7 +47199,7 @@ ${lanes.join("\n")}
|
|
|
47197
47199
|
return isBlockScopedNameDeclaredBeforeUse(getAncestor(declaration, 260 /* VariableDeclaration */), usage);
|
|
47198
47200
|
} else if (declaration.kind === 260 /* VariableDeclaration */) {
|
|
47199
47201
|
return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage);
|
|
47200
|
-
} else if (
|
|
47202
|
+
} else if (isClassLike(declaration)) {
|
|
47201
47203
|
return !findAncestor(usage, (n) => isComputedPropertyName(n) && n.parent.parent === declaration);
|
|
47202
47204
|
} else if (isPropertyDeclaration(declaration)) {
|
|
47203
47205
|
return !isPropertyImmediatelyReferencedWithinDeclaration(
|
|
@@ -56111,10 +56113,11 @@ ${lanes.join("\n")}
|
|
|
56111
56113
|
const baseTypes = getBaseTypes(source);
|
|
56112
56114
|
if (baseTypes.length) {
|
|
56113
56115
|
if (source.symbol && members === getMembersOfSymbol(source.symbol)) {
|
|
56114
|
-
const symbolTable = createSymbolTable(
|
|
56115
|
-
const
|
|
56116
|
-
|
|
56117
|
-
|
|
56116
|
+
const symbolTable = createSymbolTable();
|
|
56117
|
+
for (const symbol of members.values()) {
|
|
56118
|
+
if (!(symbol.flags & 262144 /* TypeParameter */)) {
|
|
56119
|
+
symbolTable.set(symbol.escapedName, symbol);
|
|
56120
|
+
}
|
|
56118
56121
|
}
|
|
56119
56122
|
members = symbolTable;
|
|
56120
56123
|
}
|
|
@@ -57814,6 +57817,7 @@ ${lanes.join("\n")}
|
|
|
57814
57817
|
let flags = 0 /* None */;
|
|
57815
57818
|
let minArgumentCount = 0;
|
|
57816
57819
|
let thisParameter;
|
|
57820
|
+
let thisTag = isInJSFile(declaration) ? getJSDocThisTag(declaration) : void 0;
|
|
57817
57821
|
let hasThisParameter2 = false;
|
|
57818
57822
|
const iife = getImmediatelyInvokedFunctionExpression(declaration);
|
|
57819
57823
|
const isJSConstructSignature = isJSDocConstructSignature(declaration);
|
|
@@ -57823,6 +57827,10 @@ ${lanes.join("\n")}
|
|
|
57823
57827
|
}
|
|
57824
57828
|
for (let i = isJSConstructSignature ? 1 : 0; i < declaration.parameters.length; i++) {
|
|
57825
57829
|
const param = declaration.parameters[i];
|
|
57830
|
+
if (isInJSFile(param) && isJSDocThisTag(param)) {
|
|
57831
|
+
thisTag = param;
|
|
57832
|
+
continue;
|
|
57833
|
+
}
|
|
57826
57834
|
let paramSymbol = param.symbol;
|
|
57827
57835
|
const type = isJSDocParameterTag(param) ? param.typeExpression && param.typeExpression.type : param.type;
|
|
57828
57836
|
if (paramSymbol && !!(paramSymbol.flags & 4 /* Property */) && !isBindingPattern(param.name)) {
|
|
@@ -57860,11 +57868,8 @@ ${lanes.join("\n")}
|
|
|
57860
57868
|
thisParameter = getAnnotatedAccessorThisParameter(other);
|
|
57861
57869
|
}
|
|
57862
57870
|
}
|
|
57863
|
-
if (
|
|
57864
|
-
|
|
57865
|
-
if (thisTag && thisTag.typeExpression) {
|
|
57866
|
-
thisParameter = createSymbolWithType(createSymbol(1 /* FunctionScopedVariable */, "this" /* This */), getTypeFromTypeNode(thisTag.typeExpression));
|
|
57867
|
-
}
|
|
57871
|
+
if (thisTag && thisTag.typeExpression) {
|
|
57872
|
+
thisParameter = createSymbolWithType(createSymbol(1 /* FunctionScopedVariable */, "this" /* This */), getTypeFromTypeNode(thisTag.typeExpression));
|
|
57868
57873
|
}
|
|
57869
57874
|
const hostDeclaration = isJSDocSignature(declaration) ? getEffectiveJSDocHost(declaration) : declaration;
|
|
57870
57875
|
const classType = hostDeclaration && isConstructorDeclaration(hostDeclaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(hostDeclaration.parent.symbol)) : void 0;
|
|
@@ -62663,8 +62668,8 @@ ${lanes.join("\n")}
|
|
|
62663
62668
|
const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
|
|
62664
62669
|
const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
|
|
62665
62670
|
if (sourceType && targetType) {
|
|
62666
|
-
const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
|
|
62667
|
-
const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
|
|
62671
|
+
const sourceSig = checkMode & 3 /* Callback */ || isInstantiatedGenericParameter(source, i) ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
|
|
62672
|
+
const targetSig = checkMode & 3 /* Callback */ || isInstantiatedGenericParameter(target, i) ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
|
|
62668
62673
|
const callbacks = sourceSig && targetSig && !getTypePredicateOfSignature(sourceSig) && !getTypePredicateOfSignature(targetSig) && getTypeFacts(sourceType, 50331648 /* IsUndefinedOrNull */) === getTypeFacts(targetType, 50331648 /* IsUndefinedOrNull */);
|
|
62669
62674
|
let related = callbacks ? compareSignaturesRelated(targetSig, sourceSig, checkMode & 8 /* StrictArity */ | (strictVariance ? 2 /* StrictCallback */ : 1 /* BivariantCallback */), reportErrors2, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) : !(checkMode & 3 /* Callback */) && !strictVariance && compareTypes(
|
|
62670
62675
|
sourceType,
|
|
@@ -73214,6 +73219,10 @@ ${lanes.join("\n")}
|
|
|
73214
73219
|
const minTypeArgumentCount = getMinTypeArgumentCount(signature.typeParameters);
|
|
73215
73220
|
return !some(typeArguments) || typeArguments.length >= minTypeArgumentCount && typeArguments.length <= numTypeParameters;
|
|
73216
73221
|
}
|
|
73222
|
+
function isInstantiatedGenericParameter(signature, pos) {
|
|
73223
|
+
let type;
|
|
73224
|
+
return !!(signature.target && (type = tryGetTypeAtPosition(signature.target, pos)) && isGenericType(type));
|
|
73225
|
+
}
|
|
73217
73226
|
function getSingleCallSignature(type) {
|
|
73218
73227
|
return getSingleSignature(
|
|
73219
73228
|
type,
|
|
@@ -75629,9 +75638,16 @@ ${lanes.join("\n")}
|
|
|
75629
75638
|
const len = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0);
|
|
75630
75639
|
for (let i = 0; i < len; i++) {
|
|
75631
75640
|
const parameter = signature.parameters[i];
|
|
75632
|
-
|
|
75633
|
-
|
|
75634
|
-
|
|
75641
|
+
const declaration = parameter.valueDeclaration;
|
|
75642
|
+
if (!getEffectiveTypeAnnotationNode(declaration)) {
|
|
75643
|
+
let type = tryGetTypeAtPosition(context, i);
|
|
75644
|
+
if (type && declaration.initializer) {
|
|
75645
|
+
let initializerType = checkDeclarationInitializer(declaration, 0 /* Normal */);
|
|
75646
|
+
if (!isTypeAssignableTo(initializerType, type) && isTypeAssignableTo(type, initializerType = widenTypeInferredFromInitializer(declaration, initializerType))) {
|
|
75647
|
+
type = initializerType;
|
|
75648
|
+
}
|
|
75649
|
+
}
|
|
75650
|
+
assignParameterType(parameter, type);
|
|
75635
75651
|
}
|
|
75636
75652
|
}
|
|
75637
75653
|
if (signatureHasRestParameter(signature)) {
|
|
@@ -136179,7 +136195,7 @@ ${lanes.join("\n")}
|
|
|
136179
136195
|
options
|
|
136180
136196
|
),
|
|
136181
136197
|
setExternalModuleIndicator: getSetExternalModuleIndicator(options),
|
|
136182
|
-
jsDocParsingMode:
|
|
136198
|
+
jsDocParsingMode: transpileOptions.jsDocParsingMode ?? 0 /* ParseAll */
|
|
136183
136199
|
}
|
|
136184
136200
|
);
|
|
136185
136201
|
if (transpileOptions.moduleName) {
|
|
@@ -158756,7 +158772,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
158756
158772
|
case 19 /* OpenBraceToken */:
|
|
158757
158773
|
return isJsxExpression(parent2) && !isJsxElement(parent2.parent) && !isJsxFragment(parent2.parent) ? checker.getContextualTypeForJsxAttribute(parent2.parent) : void 0;
|
|
158758
158774
|
default:
|
|
158759
|
-
const argInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(previousToken, position, sourceFile);
|
|
158775
|
+
const argInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(previousToken, position, sourceFile, checker);
|
|
158760
158776
|
return argInfo ? (
|
|
158761
158777
|
// At `,`, treat this as the next argument after the comma.
|
|
158762
158778
|
checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (previousToken.kind === 28 /* CommaToken */ ? 1 : 0))
|
|
@@ -160936,7 +160952,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
160936
160952
|
case 214 /* NewExpression */:
|
|
160937
160953
|
case 291 /* JsxAttribute */:
|
|
160938
160954
|
if (!isRequireCallArgument(node) && !isImportCall(parent2)) {
|
|
160939
|
-
const argumentInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(parent2.kind === 291 /* JsxAttribute */ ? parent2.parent : node, position, sourceFile);
|
|
160955
|
+
const argumentInfo = ts_SignatureHelp_exports.getArgumentInfoForCompletions(parent2.kind === 291 /* JsxAttribute */ ? parent2.parent : node, position, sourceFile, typeChecker);
|
|
160940
160956
|
return argumentInfo && getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) || fromContextualType(0 /* None */);
|
|
160941
160957
|
}
|
|
160942
160958
|
case 272 /* ImportDeclaration */:
|
|
@@ -163867,7 +163883,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
163867
163883
|
if (isStringLiteralLike(ref) && ref.text === node.text) {
|
|
163868
163884
|
if (type) {
|
|
163869
163885
|
const refType = getContextualTypeFromParentOrAncestorTypeNode(ref, checker);
|
|
163870
|
-
if (type !== checker.getStringType() && type === refType) {
|
|
163886
|
+
if (type !== checker.getStringType() && (type === refType || isStringLiteralPropertyReference(ref, checker))) {
|
|
163871
163887
|
return nodeEntry(ref, 2 /* StringLiteral */);
|
|
163872
163888
|
}
|
|
163873
163889
|
} else {
|
|
@@ -163881,6 +163897,11 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
163881
163897
|
references
|
|
163882
163898
|
}];
|
|
163883
163899
|
}
|
|
163900
|
+
function isStringLiteralPropertyReference(node, checker) {
|
|
163901
|
+
if (isPropertySignature(node.parent)) {
|
|
163902
|
+
return checker.getPropertyOfType(checker.getTypeAtLocation(node.parent.parent), node.text);
|
|
163903
|
+
}
|
|
163904
|
+
}
|
|
163884
163905
|
function populateSearchSymbolSet(symbol, location, checker, isForRename, providePrefixAndSuffixText, implementations) {
|
|
163885
163906
|
const result = [];
|
|
163886
163907
|
forEachRelatedSymbol(
|
|
@@ -167180,19 +167201,20 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
167180
167201
|
}
|
|
167181
167202
|
return Debug.fail("Could not find preceding token");
|
|
167182
167203
|
}
|
|
167183
|
-
function getArgumentInfoForCompletions(node, position, sourceFile) {
|
|
167184
|
-
const info = getImmediatelyContainingArgumentInfo(node, position, sourceFile);
|
|
167204
|
+
function getArgumentInfoForCompletions(node, position, sourceFile, checker) {
|
|
167205
|
+
const info = getImmediatelyContainingArgumentInfo(node, position, sourceFile, checker);
|
|
167185
167206
|
return !info || info.isTypeParameterList || info.invocation.kind !== 0 /* Call */ ? void 0 : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex };
|
|
167186
167207
|
}
|
|
167187
|
-
function getArgumentOrParameterListInfo(node, position, sourceFile) {
|
|
167188
|
-
const info = getArgumentOrParameterListAndIndex(node, sourceFile);
|
|
167208
|
+
function getArgumentOrParameterListInfo(node, position, sourceFile, checker) {
|
|
167209
|
+
const info = getArgumentOrParameterListAndIndex(node, sourceFile, checker);
|
|
167189
167210
|
if (!info)
|
|
167190
167211
|
return void 0;
|
|
167191
167212
|
const { list, argumentIndex } = info;
|
|
167192
167213
|
const argumentCount = getArgumentCount(
|
|
167193
167214
|
list,
|
|
167194
167215
|
/*ignoreTrailingComma*/
|
|
167195
|
-
isInString(sourceFile, position, node)
|
|
167216
|
+
isInString(sourceFile, position, node),
|
|
167217
|
+
checker
|
|
167196
167218
|
);
|
|
167197
167219
|
if (argumentIndex !== 0) {
|
|
167198
167220
|
Debug.assertLessThan(argumentIndex, argumentCount);
|
|
@@ -167200,19 +167222,19 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
167200
167222
|
const argumentsSpan = getApplicableSpanForArguments(list, sourceFile);
|
|
167201
167223
|
return { list, argumentIndex, argumentCount, argumentsSpan };
|
|
167202
167224
|
}
|
|
167203
|
-
function getArgumentOrParameterListAndIndex(node, sourceFile) {
|
|
167225
|
+
function getArgumentOrParameterListAndIndex(node, sourceFile, checker) {
|
|
167204
167226
|
if (node.kind === 30 /* LessThanToken */ || node.kind === 21 /* OpenParenToken */) {
|
|
167205
167227
|
return { list: getChildListThatStartsWithOpenerToken(node.parent, node, sourceFile), argumentIndex: 0 };
|
|
167206
167228
|
} else {
|
|
167207
167229
|
const list = findContainingList(node);
|
|
167208
|
-
return list && { list, argumentIndex: getArgumentIndex(list, node) };
|
|
167230
|
+
return list && { list, argumentIndex: getArgumentIndex(list, node, checker) };
|
|
167209
167231
|
}
|
|
167210
167232
|
}
|
|
167211
|
-
function getImmediatelyContainingArgumentInfo(node, position, sourceFile) {
|
|
167233
|
+
function getImmediatelyContainingArgumentInfo(node, position, sourceFile, checker) {
|
|
167212
167234
|
const { parent: parent2 } = node;
|
|
167213
167235
|
if (isCallOrNewExpression(parent2)) {
|
|
167214
167236
|
const invocation = parent2;
|
|
167215
|
-
const info = getArgumentOrParameterListInfo(node, position, sourceFile);
|
|
167237
|
+
const info = getArgumentOrParameterListInfo(node, position, sourceFile, checker);
|
|
167216
167238
|
if (!info)
|
|
167217
167239
|
return void 0;
|
|
167218
167240
|
const { list, argumentIndex, argumentCount, argumentsSpan } = info;
|
|
@@ -167270,7 +167292,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
167270
167292
|
}
|
|
167271
167293
|
}
|
|
167272
167294
|
function getImmediatelyContainingArgumentOrContextualParameterInfo(node, position, sourceFile, checker) {
|
|
167273
|
-
return tryGetParameterInfo(node, position, sourceFile, checker) || getImmediatelyContainingArgumentInfo(node, position, sourceFile);
|
|
167295
|
+
return tryGetParameterInfo(node, position, sourceFile, checker) || getImmediatelyContainingArgumentInfo(node, position, sourceFile, checker);
|
|
167274
167296
|
}
|
|
167275
167297
|
function getHighestBinary(b) {
|
|
167276
167298
|
return isBinaryExpression(b.parent) ? getHighestBinary(b.parent) : b;
|
|
@@ -167312,7 +167334,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
167312
167334
|
case 174 /* MethodDeclaration */:
|
|
167313
167335
|
case 218 /* FunctionExpression */:
|
|
167314
167336
|
case 219 /* ArrowFunction */:
|
|
167315
|
-
const info = getArgumentOrParameterListInfo(node, position, sourceFile);
|
|
167337
|
+
const info = getArgumentOrParameterListInfo(node, position, sourceFile, checker);
|
|
167316
167338
|
if (!info)
|
|
167317
167339
|
return void 0;
|
|
167318
167340
|
const { argumentIndex, argumentCount, argumentsSpan } = info;
|
|
@@ -167335,21 +167357,45 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
167335
167357
|
return isFunctionTypeNode(d) ? (_a = tryCast(d.parent, canHaveSymbol)) == null ? void 0 : _a.symbol : void 0;
|
|
167336
167358
|
}) || s : s;
|
|
167337
167359
|
}
|
|
167338
|
-
function getArgumentIndex(argumentsList, node) {
|
|
167360
|
+
function getArgumentIndex(argumentsList, node, checker) {
|
|
167361
|
+
const args = argumentsList.getChildren();
|
|
167339
167362
|
let argumentIndex = 0;
|
|
167340
|
-
for (
|
|
167363
|
+
for (let pos = 0; pos < length(args); pos++) {
|
|
167364
|
+
const child = args[pos];
|
|
167341
167365
|
if (child === node) {
|
|
167342
167366
|
break;
|
|
167343
167367
|
}
|
|
167344
|
-
if (child
|
|
167345
|
-
argumentIndex
|
|
167368
|
+
if (isSpreadElement(child)) {
|
|
167369
|
+
argumentIndex = argumentIndex + getSpreadElementCount(child, checker) + (pos > 0 ? pos : 0);
|
|
167370
|
+
} else {
|
|
167371
|
+
if (child.kind !== 28 /* CommaToken */) {
|
|
167372
|
+
argumentIndex++;
|
|
167373
|
+
}
|
|
167346
167374
|
}
|
|
167347
167375
|
}
|
|
167348
167376
|
return argumentIndex;
|
|
167349
167377
|
}
|
|
167350
|
-
function
|
|
167378
|
+
function getSpreadElementCount(node, checker) {
|
|
167379
|
+
const spreadType = checker.getTypeAtLocation(node.expression);
|
|
167380
|
+
if (checker.isTupleType(spreadType)) {
|
|
167381
|
+
const { elementFlags, fixedLength } = spreadType.target;
|
|
167382
|
+
if (fixedLength === 0) {
|
|
167383
|
+
return 0;
|
|
167384
|
+
}
|
|
167385
|
+
const firstOptionalIndex = findIndex(elementFlags, (f) => !(f & 1 /* Required */));
|
|
167386
|
+
return firstOptionalIndex < 0 ? fixedLength : firstOptionalIndex;
|
|
167387
|
+
}
|
|
167388
|
+
return 0;
|
|
167389
|
+
}
|
|
167390
|
+
function getArgumentCount(argumentsList, ignoreTrailingComma, checker) {
|
|
167351
167391
|
const listChildren = argumentsList.getChildren();
|
|
167352
|
-
let argumentCount =
|
|
167392
|
+
let argumentCount = 0;
|
|
167393
|
+
for (const child of listChildren) {
|
|
167394
|
+
if (isSpreadElement(child)) {
|
|
167395
|
+
argumentCount = argumentCount + getSpreadElementCount(child, checker);
|
|
167396
|
+
}
|
|
167397
|
+
}
|
|
167398
|
+
argumentCount = argumentCount + countWhere(listChildren, (arg) => arg.kind !== 28 /* CommaToken */);
|
|
167353
167399
|
if (!ignoreTrailingComma && listChildren.length > 0 && last(listChildren).kind === 28 /* CommaToken */) {
|
|
167354
167400
|
argumentCount++;
|
|
167355
167401
|
}
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
|
|
|
54
54
|
|
|
55
55
|
// src/compiler/corePublic.ts
|
|
56
56
|
var versionMajorMinor = "5.4";
|
|
57
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
57
|
+
var version = `${versionMajorMinor}.0-insiders.20231205`;
|
|
58
58
|
|
|
59
59
|
// src/compiler/core.ts
|
|
60
60
|
var emptyArray = [];
|
|
@@ -24942,6 +24942,8 @@ var Parser;
|
|
|
24942
24942
|
break;
|
|
24943
24943
|
case "template":
|
|
24944
24944
|
return parseTemplateTag(start2, tagName, indent3, indentText);
|
|
24945
|
+
case "this":
|
|
24946
|
+
return parseThisTag(start2, tagName, indent3, indentText);
|
|
24945
24947
|
default:
|
|
24946
24948
|
return false;
|
|
24947
24949
|
}
|
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.4.0-pr-
|
|
5
|
+
"version": "5.4.0-pr-56506-20",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
"node": "20.1.0",
|
|
116
116
|
"npm": "8.19.4"
|
|
117
117
|
},
|
|
118
|
-
"gitHead": "
|
|
118
|
+
"gitHead": "b740dad4acd9ea1c57658474e00ea2b2495b7b5a"
|
|
119
119
|
}
|