typescript 4.7.0-dev.20220404 → 4.7.0-dev.20220405
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 +47 -30
- package/lib/tsserver.js +71 -41
- package/lib/tsserverlibrary.d.ts +1 -1
- package/lib/tsserverlibrary.js +71 -41
- package/lib/typescript.d.ts +1 -1
- package/lib/typescript.js +71 -41
- package/lib/typescriptServices.d.ts +1 -1
- package/lib/typescriptServices.js +71 -41
- package/lib/typingsInstaller.js +50 -31
- package/package.json +1 -1
|
@@ -294,7 +294,7 @@ var ts;
|
|
|
294
294
|
// The following is baselined as a literal template type without intervention
|
|
295
295
|
/** The version of the TypeScript compiler release */
|
|
296
296
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
297
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
297
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20220405";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -16991,7 +16991,11 @@ var ts;
|
|
|
16991
16991
|
ts.getEffectiveContainerForJSDocTemplateTag = getEffectiveContainerForJSDocTemplateTag;
|
|
16992
16992
|
function getHostSignatureFromJSDoc(node) {
|
|
16993
16993
|
var host = getEffectiveJSDocHost(node);
|
|
16994
|
-
|
|
16994
|
+
if (host) {
|
|
16995
|
+
return ts.isPropertySignature(host) && host.type && ts.isFunctionLike(host.type) ? host.type :
|
|
16996
|
+
ts.isFunctionLike(host) ? host : undefined;
|
|
16997
|
+
}
|
|
16998
|
+
return undefined;
|
|
16995
16999
|
}
|
|
16996
17000
|
ts.getHostSignatureFromJSDoc = getHostSignatureFromJSDoc;
|
|
16997
17001
|
function getEffectiveJSDocHost(node) {
|
|
@@ -32757,7 +32761,6 @@ var ts;
|
|
|
32757
32761
|
default: return [undefined]; // TODO: GH#18217 `default: Debug.assertNever(context);`
|
|
32758
32762
|
}
|
|
32759
32763
|
}
|
|
32760
|
-
// Parses a comma-delimited list of elements
|
|
32761
32764
|
function parseDelimitedList(kind, parseElement, considerSemicolonAsDelimiter) {
|
|
32762
32765
|
var saveParsingContext = parsingContext;
|
|
32763
32766
|
parsingContext |= 1 << kind;
|
|
@@ -32767,7 +32770,11 @@ var ts;
|
|
|
32767
32770
|
while (true) {
|
|
32768
32771
|
if (isListElement(kind, /*inErrorRecovery*/ false)) {
|
|
32769
32772
|
var startPos = scanner.getStartPos();
|
|
32770
|
-
|
|
32773
|
+
var result = parseListElement(kind, parseElement);
|
|
32774
|
+
if (!result) {
|
|
32775
|
+
return undefined;
|
|
32776
|
+
}
|
|
32777
|
+
list.push(result);
|
|
32771
32778
|
commaStart = scanner.getTokenPos();
|
|
32772
32779
|
if (parseOptional(27 /* CommaToken */)) {
|
|
32773
32780
|
// No need to check for a zero length node since we know we parsed a comma
|
|
@@ -33172,13 +33179,20 @@ var ts;
|
|
|
33172
33179
|
}
|
|
33173
33180
|
return name;
|
|
33174
33181
|
}
|
|
33175
|
-
function
|
|
33176
|
-
|
|
33182
|
+
function isParameterNameStart() {
|
|
33183
|
+
// Be permissive about await and yield by calling isBindingIdentifier instead of isIdentifier; disallowing
|
|
33184
|
+
// them during a speculative parse leads to many more follow-on errors than allowing the function to parse then later
|
|
33185
|
+
// complaining about the use of the keywords.
|
|
33186
|
+
return isBindingIdentifier() || token() === 22 /* OpenBracketToken */ || token() === 18 /* OpenBraceToken */;
|
|
33177
33187
|
}
|
|
33178
|
-
function parseParameter() {
|
|
33179
|
-
return parseParameterWorker(
|
|
33188
|
+
function parseParameter(inOuterAwaitContext) {
|
|
33189
|
+
return parseParameterWorker(inOuterAwaitContext);
|
|
33180
33190
|
}
|
|
33181
|
-
function
|
|
33191
|
+
function parseParameterForSpeculation(inOuterAwaitContext) {
|
|
33192
|
+
return parseParameterWorker(inOuterAwaitContext, /*allowAmbiguity*/ false);
|
|
33193
|
+
}
|
|
33194
|
+
function parseParameterWorker(inOuterAwaitContext, allowAmbiguity) {
|
|
33195
|
+
if (allowAmbiguity === void 0) { allowAmbiguity = true; }
|
|
33182
33196
|
var pos = getNodePos();
|
|
33183
33197
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
33184
33198
|
// FormalParameter [Yield,Await]:
|
|
@@ -33199,7 +33213,11 @@ var ts;
|
|
|
33199
33213
|
var savedTopLevel = topLevel;
|
|
33200
33214
|
topLevel = false;
|
|
33201
33215
|
var modifiers = parseModifiers();
|
|
33202
|
-
var
|
|
33216
|
+
var dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */);
|
|
33217
|
+
if (!allowAmbiguity && !isParameterNameStart()) {
|
|
33218
|
+
return undefined;
|
|
33219
|
+
}
|
|
33220
|
+
var node = withJSDoc(finishNode(factory.createParameterDeclaration(decorators, modifiers, dotDotDotToken, parseNameOfParameter(modifiers), parseOptionalToken(57 /* QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc);
|
|
33203
33221
|
topLevel = savedTopLevel;
|
|
33204
33222
|
return node;
|
|
33205
33223
|
}
|
|
@@ -33224,7 +33242,7 @@ var ts;
|
|
|
33224
33242
|
}
|
|
33225
33243
|
return false;
|
|
33226
33244
|
}
|
|
33227
|
-
function parseParametersWorker(flags) {
|
|
33245
|
+
function parseParametersWorker(flags, allowAmbiguity) {
|
|
33228
33246
|
// FormalParameters [Yield,Await]: (modified)
|
|
33229
33247
|
// [empty]
|
|
33230
33248
|
// FormalParameterList[?Yield,Await]
|
|
@@ -33244,7 +33262,7 @@ var ts;
|
|
|
33244
33262
|
setAwaitContext(!!(flags & 2 /* Await */));
|
|
33245
33263
|
var parameters = flags & 32 /* JSDoc */ ?
|
|
33246
33264
|
parseDelimitedList(17 /* JSDocParameters */, parseJSDocParameter) :
|
|
33247
|
-
parseDelimitedList(16 /* Parameters */,
|
|
33265
|
+
parseDelimitedList(16 /* Parameters */, function () { return allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext); });
|
|
33248
33266
|
setYieldContext(savedYieldContext);
|
|
33249
33267
|
setAwaitContext(savedAwaitContext);
|
|
33250
33268
|
return parameters;
|
|
@@ -33266,7 +33284,7 @@ var ts;
|
|
|
33266
33284
|
if (!parseExpected(20 /* OpenParenToken */)) {
|
|
33267
33285
|
return createMissingList();
|
|
33268
33286
|
}
|
|
33269
|
-
var parameters = parseParametersWorker(flags);
|
|
33287
|
+
var parameters = parseParametersWorker(flags, /*allowAmbiguity*/ true);
|
|
33270
33288
|
parseExpected(21 /* CloseParenToken */);
|
|
33271
33289
|
return parameters;
|
|
33272
33290
|
}
|
|
@@ -33348,7 +33366,7 @@ var ts;
|
|
|
33348
33366
|
return token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 23 /* CloseBracketToken */;
|
|
33349
33367
|
}
|
|
33350
33368
|
function parseIndexSignatureDeclaration(pos, hasJSDoc, decorators, modifiers) {
|
|
33351
|
-
var parameters = parseBracketedList(16 /* Parameters */, parseParameter, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */);
|
|
33369
|
+
var parameters = parseBracketedList(16 /* Parameters */, function () { return parseParameter(/*inOuterAwaitContext*/ false); }, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */);
|
|
33352
33370
|
var type = parseTypeAnnotation();
|
|
33353
33371
|
parseTypeMemberSemicolon();
|
|
33354
33372
|
var node = factory.createIndexSignature(decorators, modifiers, parameters, type);
|
|
@@ -34398,7 +34416,16 @@ var ts;
|
|
|
34398
34416
|
parameters = createMissingList();
|
|
34399
34417
|
}
|
|
34400
34418
|
else {
|
|
34401
|
-
|
|
34419
|
+
if (!allowAmbiguity) {
|
|
34420
|
+
var maybeParameters = parseParametersWorker(isAsync, allowAmbiguity);
|
|
34421
|
+
if (!maybeParameters) {
|
|
34422
|
+
return undefined;
|
|
34423
|
+
}
|
|
34424
|
+
parameters = maybeParameters;
|
|
34425
|
+
}
|
|
34426
|
+
else {
|
|
34427
|
+
parameters = parseParametersWorker(isAsync, allowAmbiguity);
|
|
34428
|
+
}
|
|
34402
34429
|
if (!parseExpected(21 /* CloseParenToken */) && !allowAmbiguity) {
|
|
34403
34430
|
return undefined;
|
|
34404
34431
|
}
|
|
@@ -61958,7 +61985,11 @@ var ts;
|
|
|
61958
61985
|
return !root.isDistributive && isSingletonTupleType(root.node.checkType) && isSingletonTupleType(root.node.extendsType);
|
|
61959
61986
|
}
|
|
61960
61987
|
function isSingletonTupleType(node) {
|
|
61961
|
-
return ts.isTupleTypeNode(node) &&
|
|
61988
|
+
return ts.isTupleTypeNode(node) &&
|
|
61989
|
+
ts.length(node.elements) === 1 &&
|
|
61990
|
+
!ts.isOptionalTypeNode(node.elements[0]) &&
|
|
61991
|
+
!ts.isRestTypeNode(node.elements[0]) &&
|
|
61992
|
+
!(ts.isNamedTupleMember(node.elements[0]) && (node.elements[0].questionToken || node.elements[0].dotDotDotToken));
|
|
61962
61993
|
}
|
|
61963
61994
|
/**
|
|
61964
61995
|
* We syntactually check for common nondistributive conditional shapes and unwrap them into
|
|
@@ -66478,6 +66509,9 @@ var ts;
|
|
|
66478
66509
|
function createMarkerType(symbol, source, target) {
|
|
66479
66510
|
var mapper = makeUnaryTypeMapper(source, target);
|
|
66480
66511
|
var type = getDeclaredTypeOfSymbol(symbol);
|
|
66512
|
+
if (isErrorType(type)) {
|
|
66513
|
+
return type;
|
|
66514
|
+
}
|
|
66481
66515
|
var result = symbol.flags & 524288 /* TypeAlias */ ?
|
|
66482
66516
|
getTypeAliasInstantiation(symbol, instantiateTypes(getSymbolLinks(symbol).typeParameters, mapper)) :
|
|
66483
66517
|
createTypeReference(type, instantiateTypes(type.typeParameters, mapper));
|
|
@@ -117873,21 +117907,6 @@ var ts;
|
|
|
117873
117907
|
return resolvedRef;
|
|
117874
117908
|
}
|
|
117875
117909
|
function verifyCompilerOptions() {
|
|
117876
|
-
var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders");
|
|
117877
|
-
if (!isNightly) {
|
|
117878
|
-
if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) {
|
|
117879
|
-
createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "node12");
|
|
117880
|
-
}
|
|
117881
|
-
else if (ts.getEmitModuleKind(options) === ts.ModuleKind.NodeNext) {
|
|
117882
|
-
createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "nodenext");
|
|
117883
|
-
}
|
|
117884
|
-
else if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12) {
|
|
117885
|
-
createOptionValueDiagnostic("moduleResolution", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "moduleResolution", "node12");
|
|
117886
|
-
}
|
|
117887
|
-
else if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
|
|
117888
|
-
createOptionValueDiagnostic("moduleResolution", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "moduleResolution", "nodenext");
|
|
117889
|
-
}
|
|
117890
|
-
}
|
|
117891
117910
|
if (options.strictPropertyInitialization && !ts.getStrictOptionValue(options, "strictNullChecks")) {
|
|
117892
117911
|
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks");
|
|
117893
117912
|
}
|
|
@@ -142895,10 +142914,13 @@ var ts;
|
|
|
142895
142914
|
var contextualType = info.contextualType, argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan;
|
|
142896
142915
|
// for optional function condition.
|
|
142897
142916
|
var nonNullableContextualType = contextualType.getNonNullableType();
|
|
142898
|
-
var
|
|
142899
|
-
if (
|
|
142917
|
+
var symbol = nonNullableContextualType.symbol;
|
|
142918
|
+
if (symbol === undefined)
|
|
142919
|
+
return undefined;
|
|
142920
|
+
var signature = ts.lastOrUndefined(nonNullableContextualType.getCallSignatures());
|
|
142921
|
+
if (signature === undefined)
|
|
142900
142922
|
return undefined;
|
|
142901
|
-
var invocation = { kind: 2 /* Contextual */, signature:
|
|
142923
|
+
var invocation = { kind: 2 /* Contextual */, signature: signature, node: startingToken, symbol: chooseBetterSymbol(symbol) };
|
|
142902
142924
|
return { isTypeParameterList: false, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount };
|
|
142903
142925
|
}
|
|
142904
142926
|
function getContextualSignatureLocationInfo(startingToken, sourceFile, position, checker) {
|
|
@@ -147068,9 +147090,9 @@ var ts;
|
|
|
147068
147090
|
// for block indentation, we should look for a line which contains something that's not
|
|
147069
147091
|
// whitespace.
|
|
147070
147092
|
var currentToken = ts.getTokenAtPosition(sourceFile, position);
|
|
147071
|
-
//
|
|
147072
|
-
//
|
|
147073
|
-
// the following indentation should treat { as
|
|
147093
|
+
// For object literals, we want indentation to work just like with blocks.
|
|
147094
|
+
// If the `{` starts in any position (even in the middle of a line), then
|
|
147095
|
+
// the following indentation should treat `{` as the start of that line (including leading whitespace).
|
|
147074
147096
|
// ```
|
|
147075
147097
|
// const a: { x: undefined, y: undefined } = {} // leading 4 whitespaces and { starts in the middle of line
|
|
147076
147098
|
// ->
|
|
@@ -147088,7 +147110,8 @@ var ts;
|
|
|
147088
147110
|
// y: undefined,
|
|
147089
147111
|
// }
|
|
147090
147112
|
// ```
|
|
147091
|
-
|
|
147113
|
+
var isObjectLiteral = currentToken.kind === 18 /* OpenBraceToken */ && currentToken.parent.kind === 205 /* ObjectLiteralExpression */;
|
|
147114
|
+
if (options.indentStyle === ts.IndentStyle.Block || isObjectLiteral) {
|
|
147092
147115
|
return getBlockIndent(sourceFile, position, options);
|
|
147093
147116
|
}
|
|
147094
147117
|
if (precedingToken.kind === 27 /* CommaToken */ && precedingToken.parent.kind !== 221 /* BinaryExpression */) {
|
|
@@ -147101,7 +147124,9 @@ var ts;
|
|
|
147101
147124
|
var containerList = getListByPosition(position, precedingToken.parent, sourceFile);
|
|
147102
147125
|
// use list position if the preceding token is before any list items
|
|
147103
147126
|
if (containerList && !ts.rangeContainsRange(containerList, precedingToken)) {
|
|
147104
|
-
|
|
147127
|
+
var useTheSameBaseIndentation = [213 /* FunctionExpression */, 214 /* ArrowFunction */].indexOf(currentToken.parent.kind) !== -1;
|
|
147128
|
+
var indentSize = useTheSameBaseIndentation ? 0 : options.indentSize;
|
|
147129
|
+
return getActualIndentationForListStartLine(containerList, sourceFile, options) + indentSize; // TODO: GH#18217
|
|
147105
147130
|
}
|
|
147106
147131
|
return getSmartIndent(sourceFile, position, precedingToken, lineAtPosition, assumeNewLineBeforeCloseBrace, options);
|
|
147107
147132
|
}
|
|
@@ -156675,7 +156700,11 @@ var ts;
|
|
|
156675
156700
|
var program = context.program;
|
|
156676
156701
|
var checker = program.getTypeChecker();
|
|
156677
156702
|
var scriptTarget = ts.getEmitScriptTarget(program.getCompilerOptions());
|
|
156678
|
-
var flags = 1 /* NoTruncation */
|
|
156703
|
+
var flags = 1 /* NoTruncation */
|
|
156704
|
+
| 1073741824 /* NoUndefinedOptionalParameterType */
|
|
156705
|
+
| 256 /* SuppressAnyReturnType */
|
|
156706
|
+
| 524288 /* AllowEmptyTuple */
|
|
156707
|
+
| (quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : 0 /* None */);
|
|
156679
156708
|
var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, kind, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context));
|
|
156680
156709
|
if (!signatureDeclaration) {
|
|
156681
156710
|
return undefined;
|
|
@@ -159409,7 +159438,8 @@ var ts;
|
|
|
159409
159438
|
return undefined;
|
|
159410
159439
|
}
|
|
159411
159440
|
function isScope(node) {
|
|
159412
|
-
return ts.
|
|
159441
|
+
return ts.isArrowFunction(node) ? ts.isFunctionBody(node.body) :
|
|
159442
|
+
ts.isFunctionLikeDeclaration(node) || ts.isSourceFile(node) || ts.isModuleBlock(node) || ts.isClassLike(node);
|
|
159413
159443
|
}
|
|
159414
159444
|
/**
|
|
159415
159445
|
* Computes possible places we could extract the function into. For example,
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -89,7 +89,7 @@ var ts;
|
|
|
89
89
|
// The following is baselined as a literal template type without intervention
|
|
90
90
|
/** The version of the TypeScript compiler release */
|
|
91
91
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
92
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
92
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20220405";
|
|
93
93
|
/* @internal */
|
|
94
94
|
var Comparison;
|
|
95
95
|
(function (Comparison) {
|
|
@@ -16786,7 +16786,11 @@ var ts;
|
|
|
16786
16786
|
ts.getEffectiveContainerForJSDocTemplateTag = getEffectiveContainerForJSDocTemplateTag;
|
|
16787
16787
|
function getHostSignatureFromJSDoc(node) {
|
|
16788
16788
|
var host = getEffectiveJSDocHost(node);
|
|
16789
|
-
|
|
16789
|
+
if (host) {
|
|
16790
|
+
return ts.isPropertySignature(host) && host.type && ts.isFunctionLike(host.type) ? host.type :
|
|
16791
|
+
ts.isFunctionLike(host) ? host : undefined;
|
|
16792
|
+
}
|
|
16793
|
+
return undefined;
|
|
16790
16794
|
}
|
|
16791
16795
|
ts.getHostSignatureFromJSDoc = getHostSignatureFromJSDoc;
|
|
16792
16796
|
function getEffectiveJSDocHost(node) {
|
|
@@ -32552,7 +32556,6 @@ var ts;
|
|
|
32552
32556
|
default: return [undefined]; // TODO: GH#18217 `default: Debug.assertNever(context);`
|
|
32553
32557
|
}
|
|
32554
32558
|
}
|
|
32555
|
-
// Parses a comma-delimited list of elements
|
|
32556
32559
|
function parseDelimitedList(kind, parseElement, considerSemicolonAsDelimiter) {
|
|
32557
32560
|
var saveParsingContext = parsingContext;
|
|
32558
32561
|
parsingContext |= 1 << kind;
|
|
@@ -32562,7 +32565,11 @@ var ts;
|
|
|
32562
32565
|
while (true) {
|
|
32563
32566
|
if (isListElement(kind, /*inErrorRecovery*/ false)) {
|
|
32564
32567
|
var startPos = scanner.getStartPos();
|
|
32565
|
-
|
|
32568
|
+
var result = parseListElement(kind, parseElement);
|
|
32569
|
+
if (!result) {
|
|
32570
|
+
return undefined;
|
|
32571
|
+
}
|
|
32572
|
+
list.push(result);
|
|
32566
32573
|
commaStart = scanner.getTokenPos();
|
|
32567
32574
|
if (parseOptional(27 /* CommaToken */)) {
|
|
32568
32575
|
// No need to check for a zero length node since we know we parsed a comma
|
|
@@ -32967,13 +32974,20 @@ var ts;
|
|
|
32967
32974
|
}
|
|
32968
32975
|
return name;
|
|
32969
32976
|
}
|
|
32970
|
-
function
|
|
32971
|
-
|
|
32977
|
+
function isParameterNameStart() {
|
|
32978
|
+
// Be permissive about await and yield by calling isBindingIdentifier instead of isIdentifier; disallowing
|
|
32979
|
+
// them during a speculative parse leads to many more follow-on errors than allowing the function to parse then later
|
|
32980
|
+
// complaining about the use of the keywords.
|
|
32981
|
+
return isBindingIdentifier() || token() === 22 /* OpenBracketToken */ || token() === 18 /* OpenBraceToken */;
|
|
32972
32982
|
}
|
|
32973
|
-
function parseParameter() {
|
|
32974
|
-
return parseParameterWorker(
|
|
32983
|
+
function parseParameter(inOuterAwaitContext) {
|
|
32984
|
+
return parseParameterWorker(inOuterAwaitContext);
|
|
32975
32985
|
}
|
|
32976
|
-
function
|
|
32986
|
+
function parseParameterForSpeculation(inOuterAwaitContext) {
|
|
32987
|
+
return parseParameterWorker(inOuterAwaitContext, /*allowAmbiguity*/ false);
|
|
32988
|
+
}
|
|
32989
|
+
function parseParameterWorker(inOuterAwaitContext, allowAmbiguity) {
|
|
32990
|
+
if (allowAmbiguity === void 0) { allowAmbiguity = true; }
|
|
32977
32991
|
var pos = getNodePos();
|
|
32978
32992
|
var hasJSDoc = hasPrecedingJSDocComment();
|
|
32979
32993
|
// FormalParameter [Yield,Await]:
|
|
@@ -32994,7 +33008,11 @@ var ts;
|
|
|
32994
33008
|
var savedTopLevel = topLevel;
|
|
32995
33009
|
topLevel = false;
|
|
32996
33010
|
var modifiers = parseModifiers();
|
|
32997
|
-
var
|
|
33011
|
+
var dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */);
|
|
33012
|
+
if (!allowAmbiguity && !isParameterNameStart()) {
|
|
33013
|
+
return undefined;
|
|
33014
|
+
}
|
|
33015
|
+
var node = withJSDoc(finishNode(factory.createParameterDeclaration(decorators, modifiers, dotDotDotToken, parseNameOfParameter(modifiers), parseOptionalToken(57 /* QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc);
|
|
32998
33016
|
topLevel = savedTopLevel;
|
|
32999
33017
|
return node;
|
|
33000
33018
|
}
|
|
@@ -33019,7 +33037,7 @@ var ts;
|
|
|
33019
33037
|
}
|
|
33020
33038
|
return false;
|
|
33021
33039
|
}
|
|
33022
|
-
function parseParametersWorker(flags) {
|
|
33040
|
+
function parseParametersWorker(flags, allowAmbiguity) {
|
|
33023
33041
|
// FormalParameters [Yield,Await]: (modified)
|
|
33024
33042
|
// [empty]
|
|
33025
33043
|
// FormalParameterList[?Yield,Await]
|
|
@@ -33039,7 +33057,7 @@ var ts;
|
|
|
33039
33057
|
setAwaitContext(!!(flags & 2 /* Await */));
|
|
33040
33058
|
var parameters = flags & 32 /* JSDoc */ ?
|
|
33041
33059
|
parseDelimitedList(17 /* JSDocParameters */, parseJSDocParameter) :
|
|
33042
|
-
parseDelimitedList(16 /* Parameters */,
|
|
33060
|
+
parseDelimitedList(16 /* Parameters */, function () { return allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext); });
|
|
33043
33061
|
setYieldContext(savedYieldContext);
|
|
33044
33062
|
setAwaitContext(savedAwaitContext);
|
|
33045
33063
|
return parameters;
|
|
@@ -33061,7 +33079,7 @@ var ts;
|
|
|
33061
33079
|
if (!parseExpected(20 /* OpenParenToken */)) {
|
|
33062
33080
|
return createMissingList();
|
|
33063
33081
|
}
|
|
33064
|
-
var parameters = parseParametersWorker(flags);
|
|
33082
|
+
var parameters = parseParametersWorker(flags, /*allowAmbiguity*/ true);
|
|
33065
33083
|
parseExpected(21 /* CloseParenToken */);
|
|
33066
33084
|
return parameters;
|
|
33067
33085
|
}
|
|
@@ -33143,7 +33161,7 @@ var ts;
|
|
|
33143
33161
|
return token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 23 /* CloseBracketToken */;
|
|
33144
33162
|
}
|
|
33145
33163
|
function parseIndexSignatureDeclaration(pos, hasJSDoc, decorators, modifiers) {
|
|
33146
|
-
var parameters = parseBracketedList(16 /* Parameters */, parseParameter, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */);
|
|
33164
|
+
var parameters = parseBracketedList(16 /* Parameters */, function () { return parseParameter(/*inOuterAwaitContext*/ false); }, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */);
|
|
33147
33165
|
var type = parseTypeAnnotation();
|
|
33148
33166
|
parseTypeMemberSemicolon();
|
|
33149
33167
|
var node = factory.createIndexSignature(decorators, modifiers, parameters, type);
|
|
@@ -34193,7 +34211,16 @@ var ts;
|
|
|
34193
34211
|
parameters = createMissingList();
|
|
34194
34212
|
}
|
|
34195
34213
|
else {
|
|
34196
|
-
|
|
34214
|
+
if (!allowAmbiguity) {
|
|
34215
|
+
var maybeParameters = parseParametersWorker(isAsync, allowAmbiguity);
|
|
34216
|
+
if (!maybeParameters) {
|
|
34217
|
+
return undefined;
|
|
34218
|
+
}
|
|
34219
|
+
parameters = maybeParameters;
|
|
34220
|
+
}
|
|
34221
|
+
else {
|
|
34222
|
+
parameters = parseParametersWorker(isAsync, allowAmbiguity);
|
|
34223
|
+
}
|
|
34197
34224
|
if (!parseExpected(21 /* CloseParenToken */) && !allowAmbiguity) {
|
|
34198
34225
|
return undefined;
|
|
34199
34226
|
}
|
|
@@ -61753,7 +61780,11 @@ var ts;
|
|
|
61753
61780
|
return !root.isDistributive && isSingletonTupleType(root.node.checkType) && isSingletonTupleType(root.node.extendsType);
|
|
61754
61781
|
}
|
|
61755
61782
|
function isSingletonTupleType(node) {
|
|
61756
|
-
return ts.isTupleTypeNode(node) &&
|
|
61783
|
+
return ts.isTupleTypeNode(node) &&
|
|
61784
|
+
ts.length(node.elements) === 1 &&
|
|
61785
|
+
!ts.isOptionalTypeNode(node.elements[0]) &&
|
|
61786
|
+
!ts.isRestTypeNode(node.elements[0]) &&
|
|
61787
|
+
!(ts.isNamedTupleMember(node.elements[0]) && (node.elements[0].questionToken || node.elements[0].dotDotDotToken));
|
|
61757
61788
|
}
|
|
61758
61789
|
/**
|
|
61759
61790
|
* We syntactually check for common nondistributive conditional shapes and unwrap them into
|
|
@@ -66273,6 +66304,9 @@ var ts;
|
|
|
66273
66304
|
function createMarkerType(symbol, source, target) {
|
|
66274
66305
|
var mapper = makeUnaryTypeMapper(source, target);
|
|
66275
66306
|
var type = getDeclaredTypeOfSymbol(symbol);
|
|
66307
|
+
if (isErrorType(type)) {
|
|
66308
|
+
return type;
|
|
66309
|
+
}
|
|
66276
66310
|
var result = symbol.flags & 524288 /* TypeAlias */ ?
|
|
66277
66311
|
getTypeAliasInstantiation(symbol, instantiateTypes(getSymbolLinks(symbol).typeParameters, mapper)) :
|
|
66278
66312
|
createTypeReference(type, instantiateTypes(type.typeParameters, mapper));
|
|
@@ -117668,21 +117702,6 @@ var ts;
|
|
|
117668
117702
|
return resolvedRef;
|
|
117669
117703
|
}
|
|
117670
117704
|
function verifyCompilerOptions() {
|
|
117671
|
-
var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders");
|
|
117672
|
-
if (!isNightly) {
|
|
117673
|
-
if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) {
|
|
117674
|
-
createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "node12");
|
|
117675
|
-
}
|
|
117676
|
-
else if (ts.getEmitModuleKind(options) === ts.ModuleKind.NodeNext) {
|
|
117677
|
-
createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "nodenext");
|
|
117678
|
-
}
|
|
117679
|
-
else if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12) {
|
|
117680
|
-
createOptionValueDiagnostic("moduleResolution", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "moduleResolution", "node12");
|
|
117681
|
-
}
|
|
117682
|
-
else if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
|
|
117683
|
-
createOptionValueDiagnostic("moduleResolution", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "moduleResolution", "nodenext");
|
|
117684
|
-
}
|
|
117685
|
-
}
|
|
117686
117705
|
if (options.strictPropertyInitialization && !ts.getStrictOptionValue(options, "strictNullChecks")) {
|
|
117687
117706
|
createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks");
|
|
117688
117707
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "typescript",
|
|
3
3
|
"author": "Microsoft Corp.",
|
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
|
5
|
-
"version": "4.7.0-dev.
|
|
5
|
+
"version": "4.7.0-dev.20220405",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|