typescript 4.7.0-dev.20220301 → 4.7.0-dev.20220302
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 +5 -3
- package/lib/tsserver.js +19 -16
- package/lib/tsserverlibrary.js +19 -16
- package/lib/typescript.js +19 -16
- package/lib/typescriptServices.js +19 -16
- package/lib/typingsInstaller.js +5 -3
- package/package.json +1 -1
package/lib/tsc.js
CHANGED
|
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
69
69
|
var ts;
|
|
70
70
|
(function (ts) {
|
|
71
71
|
ts.versionMajorMinor = "4.7";
|
|
72
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
72
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20220302";
|
|
73
73
|
var NativeCollections;
|
|
74
74
|
(function (NativeCollections) {
|
|
75
75
|
var globals = typeof globalThis !== "undefined" ? globalThis :
|
|
@@ -45581,8 +45581,8 @@ var ts;
|
|
|
45581
45581
|
var memberDeclaration = root.kind === 163 ? root.parent : root;
|
|
45582
45582
|
return isPrivateWithinAmbient(memberDeclaration);
|
|
45583
45583
|
}
|
|
45584
|
-
function tryGetTypeFromEffectiveTypeNode(
|
|
45585
|
-
var typeNode = ts.getEffectiveTypeAnnotationNode(
|
|
45584
|
+
function tryGetTypeFromEffectiveTypeNode(node) {
|
|
45585
|
+
var typeNode = ts.getEffectiveTypeAnnotationNode(node);
|
|
45586
45586
|
if (typeNode) {
|
|
45587
45587
|
return getTypeFromTypeNode(typeNode);
|
|
45588
45588
|
}
|
|
@@ -59756,6 +59756,8 @@ var ts;
|
|
|
59756
59756
|
}
|
|
59757
59757
|
case 229:
|
|
59758
59758
|
return getContextualType(parent, contextFlags);
|
|
59759
|
+
case 270:
|
|
59760
|
+
return tryGetTypeFromEffectiveTypeNode(parent);
|
|
59759
59761
|
case 287:
|
|
59760
59762
|
return getContextualTypeForJsxExpression(parent);
|
|
59761
59763
|
case 284:
|
package/lib/tsserver.js
CHANGED
|
@@ -100,7 +100,7 @@ var ts;
|
|
|
100
100
|
// The following is baselined as a literal template type without intervention
|
|
101
101
|
/** The version of the TypeScript compiler release */
|
|
102
102
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
103
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
103
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20220302";
|
|
104
104
|
/* @internal */
|
|
105
105
|
var Comparison;
|
|
106
106
|
(function (Comparison) {
|
|
@@ -55255,8 +55255,8 @@ var ts;
|
|
|
55255
55255
|
var memberDeclaration = root.kind === 163 /* Parameter */ ? root.parent : root;
|
|
55256
55256
|
return isPrivateWithinAmbient(memberDeclaration);
|
|
55257
55257
|
}
|
|
55258
|
-
function tryGetTypeFromEffectiveTypeNode(
|
|
55259
|
-
var typeNode = ts.getEffectiveTypeAnnotationNode(
|
|
55258
|
+
function tryGetTypeFromEffectiveTypeNode(node) {
|
|
55259
|
+
var typeNode = ts.getEffectiveTypeAnnotationNode(node);
|
|
55260
55260
|
if (typeNode) {
|
|
55261
55261
|
return getTypeFromTypeNode(typeNode);
|
|
55262
55262
|
}
|
|
@@ -71580,6 +71580,8 @@ var ts;
|
|
|
71580
71580
|
}
|
|
71581
71581
|
case 229 /* NonNullExpression */:
|
|
71582
71582
|
return getContextualType(parent, contextFlags);
|
|
71583
|
+
case 270 /* ExportAssignment */:
|
|
71584
|
+
return tryGetTypeFromEffectiveTypeNode(parent);
|
|
71583
71585
|
case 287 /* JsxExpression */:
|
|
71584
71586
|
return getContextualTypeForJsxExpression(parent);
|
|
71585
71587
|
case 284 /* JsxAttribute */:
|
|
@@ -130111,7 +130113,7 @@ var ts;
|
|
|
130111
130113
|
completionKind === 3 /* MemberLike */ &&
|
|
130112
130114
|
isClassLikeMemberCompletion(symbol, location)) {
|
|
130113
130115
|
var importAdder = void 0;
|
|
130114
|
-
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder);
|
|
130116
|
+
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan);
|
|
130115
130117
|
if (importAdder === null || importAdder === void 0 ? void 0 : importAdder.hasFixes()) {
|
|
130116
130118
|
hasAction = true;
|
|
130117
130119
|
source = CompletionSource.ClassMemberSnippet;
|
|
@@ -130215,6 +130217,7 @@ var ts;
|
|
|
130215
130217
|
return { insertText: name };
|
|
130216
130218
|
}
|
|
130217
130219
|
var isSnippet;
|
|
130220
|
+
var replacementSpan;
|
|
130218
130221
|
var insertText = name;
|
|
130219
130222
|
var checker = program.getTypeChecker();
|
|
130220
130223
|
var sourceFile = location.getSourceFile();
|
|
@@ -130243,10 +130246,8 @@ var ts;
|
|
|
130243
130246
|
var modifiers = 0 /* None */;
|
|
130244
130247
|
// Whether the suggested member should be abstract.
|
|
130245
130248
|
// e.g. in `abstract class C { abstract | }`, we should offer abstract method signatures at position `|`.
|
|
130246
|
-
|
|
130247
|
-
|
|
130248
|
-
// However, that is not true for the e.g. `override` modifier, so this check has its limitations.
|
|
130249
|
-
var isAbstract = contextToken && isModifierLike(contextToken) === 126 /* AbstractKeyword */;
|
|
130249
|
+
var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span;
|
|
130250
|
+
var isAbstract = !!(presentModifiers & 128 /* Abstract */);
|
|
130250
130251
|
var completionNodes = [];
|
|
130251
130252
|
ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder,
|
|
130252
130253
|
// `addNewNodeForMemberSymbol` calls this callback function for each new member node
|
|
@@ -130265,22 +130266,18 @@ var ts;
|
|
|
130265
130266
|
&& checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) {
|
|
130266
130267
|
requiredModifiers |= 16384 /* Override */;
|
|
130267
130268
|
}
|
|
130268
|
-
var presentModifiers = 0 /* None */;
|
|
130269
130269
|
if (!completionNodes.length) {
|
|
130270
|
-
// Omit already present modifiers from the first completion node/signature.
|
|
130271
|
-
if (contextToken) {
|
|
130272
|
-
presentModifiers = getPresentModifiers(contextToken);
|
|
130273
|
-
}
|
|
130274
130270
|
// Keep track of added missing required modifiers and modifiers already present.
|
|
130275
130271
|
// This is needed when we have overloaded signatures,
|
|
130276
130272
|
// so this callback will be called for multiple nodes/signatures,
|
|
130277
130273
|
// and we need to make sure the modifiers are uniform for all nodes/signatures.
|
|
130278
130274
|
modifiers = node.modifierFlagsCache | requiredModifiers | presentModifiers;
|
|
130279
130275
|
}
|
|
130280
|
-
node = ts.factory.updateModifiers(node, modifiers
|
|
130276
|
+
node = ts.factory.updateModifiers(node, modifiers);
|
|
130281
130277
|
completionNodes.push(node);
|
|
130282
130278
|
}, body, 2 /* Property */, isAbstract);
|
|
130283
130279
|
if (completionNodes.length) {
|
|
130280
|
+
replacementSpan = modifiersSpan;
|
|
130284
130281
|
// If we have access to formatting settings, we print the nodes using the emitter,
|
|
130285
130282
|
// and then format the printed text.
|
|
130286
130283
|
if (formatContext) {
|
|
@@ -130303,10 +130300,14 @@ var ts;
|
|
|
130303
130300
|
insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
|
|
130304
130301
|
}
|
|
130305
130302
|
}
|
|
130306
|
-
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder };
|
|
130303
|
+
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder, replacementSpan: replacementSpan };
|
|
130307
130304
|
}
|
|
130308
130305
|
function getPresentModifiers(contextToken) {
|
|
130306
|
+
if (!contextToken) {
|
|
130307
|
+
return { modifiers: 0 /* None */ };
|
|
130308
|
+
}
|
|
130309
130309
|
var modifiers = 0 /* None */;
|
|
130310
|
+
var span;
|
|
130310
130311
|
var contextMod;
|
|
130311
130312
|
/*
|
|
130312
130313
|
Cases supported:
|
|
@@ -130329,11 +130330,13 @@ var ts;
|
|
|
130329
130330
|
*/
|
|
130330
130331
|
if (contextMod = isModifierLike(contextToken)) {
|
|
130331
130332
|
modifiers |= ts.modifierToFlag(contextMod);
|
|
130333
|
+
span = ts.createTextSpanFromNode(contextToken);
|
|
130332
130334
|
}
|
|
130333
130335
|
if (ts.isPropertyDeclaration(contextToken.parent)) {
|
|
130334
130336
|
modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers);
|
|
130337
|
+
span = ts.createTextSpanFromNode(contextToken.parent);
|
|
130335
130338
|
}
|
|
130336
|
-
return modifiers;
|
|
130339
|
+
return { modifiers: modifiers, span: span };
|
|
130337
130340
|
}
|
|
130338
130341
|
function isModifierLike(node) {
|
|
130339
130342
|
if (ts.isModifier(node)) {
|
package/lib/tsserverlibrary.js
CHANGED
|
@@ -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.20220302";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -55449,8 +55449,8 @@ var ts;
|
|
|
55449
55449
|
var memberDeclaration = root.kind === 163 /* Parameter */ ? root.parent : root;
|
|
55450
55450
|
return isPrivateWithinAmbient(memberDeclaration);
|
|
55451
55451
|
}
|
|
55452
|
-
function tryGetTypeFromEffectiveTypeNode(
|
|
55453
|
-
var typeNode = ts.getEffectiveTypeAnnotationNode(
|
|
55452
|
+
function tryGetTypeFromEffectiveTypeNode(node) {
|
|
55453
|
+
var typeNode = ts.getEffectiveTypeAnnotationNode(node);
|
|
55454
55454
|
if (typeNode) {
|
|
55455
55455
|
return getTypeFromTypeNode(typeNode);
|
|
55456
55456
|
}
|
|
@@ -71774,6 +71774,8 @@ var ts;
|
|
|
71774
71774
|
}
|
|
71775
71775
|
case 229 /* NonNullExpression */:
|
|
71776
71776
|
return getContextualType(parent, contextFlags);
|
|
71777
|
+
case 270 /* ExportAssignment */:
|
|
71778
|
+
return tryGetTypeFromEffectiveTypeNode(parent);
|
|
71777
71779
|
case 287 /* JsxExpression */:
|
|
71778
71780
|
return getContextualTypeForJsxExpression(parent);
|
|
71779
71781
|
case 284 /* JsxAttribute */:
|
|
@@ -130722,7 +130724,7 @@ var ts;
|
|
|
130722
130724
|
completionKind === 3 /* MemberLike */ &&
|
|
130723
130725
|
isClassLikeMemberCompletion(symbol, location)) {
|
|
130724
130726
|
var importAdder = void 0;
|
|
130725
|
-
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder);
|
|
130727
|
+
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan);
|
|
130726
130728
|
if (importAdder === null || importAdder === void 0 ? void 0 : importAdder.hasFixes()) {
|
|
130727
130729
|
hasAction = true;
|
|
130728
130730
|
source = CompletionSource.ClassMemberSnippet;
|
|
@@ -130826,6 +130828,7 @@ var ts;
|
|
|
130826
130828
|
return { insertText: name };
|
|
130827
130829
|
}
|
|
130828
130830
|
var isSnippet;
|
|
130831
|
+
var replacementSpan;
|
|
130829
130832
|
var insertText = name;
|
|
130830
130833
|
var checker = program.getTypeChecker();
|
|
130831
130834
|
var sourceFile = location.getSourceFile();
|
|
@@ -130854,10 +130857,8 @@ var ts;
|
|
|
130854
130857
|
var modifiers = 0 /* None */;
|
|
130855
130858
|
// Whether the suggested member should be abstract.
|
|
130856
130859
|
// e.g. in `abstract class C { abstract | }`, we should offer abstract method signatures at position `|`.
|
|
130857
|
-
|
|
130858
|
-
|
|
130859
|
-
// However, that is not true for the e.g. `override` modifier, so this check has its limitations.
|
|
130860
|
-
var isAbstract = contextToken && isModifierLike(contextToken) === 126 /* AbstractKeyword */;
|
|
130860
|
+
var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span;
|
|
130861
|
+
var isAbstract = !!(presentModifiers & 128 /* Abstract */);
|
|
130861
130862
|
var completionNodes = [];
|
|
130862
130863
|
ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder,
|
|
130863
130864
|
// `addNewNodeForMemberSymbol` calls this callback function for each new member node
|
|
@@ -130876,22 +130877,18 @@ var ts;
|
|
|
130876
130877
|
&& checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) {
|
|
130877
130878
|
requiredModifiers |= 16384 /* Override */;
|
|
130878
130879
|
}
|
|
130879
|
-
var presentModifiers = 0 /* None */;
|
|
130880
130880
|
if (!completionNodes.length) {
|
|
130881
|
-
// Omit already present modifiers from the first completion node/signature.
|
|
130882
|
-
if (contextToken) {
|
|
130883
|
-
presentModifiers = getPresentModifiers(contextToken);
|
|
130884
|
-
}
|
|
130885
130881
|
// Keep track of added missing required modifiers and modifiers already present.
|
|
130886
130882
|
// This is needed when we have overloaded signatures,
|
|
130887
130883
|
// so this callback will be called for multiple nodes/signatures,
|
|
130888
130884
|
// and we need to make sure the modifiers are uniform for all nodes/signatures.
|
|
130889
130885
|
modifiers = node.modifierFlagsCache | requiredModifiers | presentModifiers;
|
|
130890
130886
|
}
|
|
130891
|
-
node = ts.factory.updateModifiers(node, modifiers
|
|
130887
|
+
node = ts.factory.updateModifiers(node, modifiers);
|
|
130892
130888
|
completionNodes.push(node);
|
|
130893
130889
|
}, body, 2 /* Property */, isAbstract);
|
|
130894
130890
|
if (completionNodes.length) {
|
|
130891
|
+
replacementSpan = modifiersSpan;
|
|
130895
130892
|
// If we have access to formatting settings, we print the nodes using the emitter,
|
|
130896
130893
|
// and then format the printed text.
|
|
130897
130894
|
if (formatContext) {
|
|
@@ -130914,10 +130911,14 @@ var ts;
|
|
|
130914
130911
|
insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
|
|
130915
130912
|
}
|
|
130916
130913
|
}
|
|
130917
|
-
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder };
|
|
130914
|
+
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder, replacementSpan: replacementSpan };
|
|
130918
130915
|
}
|
|
130919
130916
|
function getPresentModifiers(contextToken) {
|
|
130917
|
+
if (!contextToken) {
|
|
130918
|
+
return { modifiers: 0 /* None */ };
|
|
130919
|
+
}
|
|
130920
130920
|
var modifiers = 0 /* None */;
|
|
130921
|
+
var span;
|
|
130921
130922
|
var contextMod;
|
|
130922
130923
|
/*
|
|
130923
130924
|
Cases supported:
|
|
@@ -130940,11 +130941,13 @@ var ts;
|
|
|
130940
130941
|
*/
|
|
130941
130942
|
if (contextMod = isModifierLike(contextToken)) {
|
|
130942
130943
|
modifiers |= ts.modifierToFlag(contextMod);
|
|
130944
|
+
span = ts.createTextSpanFromNode(contextToken);
|
|
130943
130945
|
}
|
|
130944
130946
|
if (ts.isPropertyDeclaration(contextToken.parent)) {
|
|
130945
130947
|
modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers);
|
|
130948
|
+
span = ts.createTextSpanFromNode(contextToken.parent);
|
|
130946
130949
|
}
|
|
130947
|
-
return modifiers;
|
|
130950
|
+
return { modifiers: modifiers, span: span };
|
|
130948
130951
|
}
|
|
130949
130952
|
function isModifierLike(node) {
|
|
130950
130953
|
if (ts.isModifier(node)) {
|
package/lib/typescript.js
CHANGED
|
@@ -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.20220302";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -55449,8 +55449,8 @@ var ts;
|
|
|
55449
55449
|
var memberDeclaration = root.kind === 163 /* Parameter */ ? root.parent : root;
|
|
55450
55450
|
return isPrivateWithinAmbient(memberDeclaration);
|
|
55451
55451
|
}
|
|
55452
|
-
function tryGetTypeFromEffectiveTypeNode(
|
|
55453
|
-
var typeNode = ts.getEffectiveTypeAnnotationNode(
|
|
55452
|
+
function tryGetTypeFromEffectiveTypeNode(node) {
|
|
55453
|
+
var typeNode = ts.getEffectiveTypeAnnotationNode(node);
|
|
55454
55454
|
if (typeNode) {
|
|
55455
55455
|
return getTypeFromTypeNode(typeNode);
|
|
55456
55456
|
}
|
|
@@ -71774,6 +71774,8 @@ var ts;
|
|
|
71774
71774
|
}
|
|
71775
71775
|
case 229 /* NonNullExpression */:
|
|
71776
71776
|
return getContextualType(parent, contextFlags);
|
|
71777
|
+
case 270 /* ExportAssignment */:
|
|
71778
|
+
return tryGetTypeFromEffectiveTypeNode(parent);
|
|
71777
71779
|
case 287 /* JsxExpression */:
|
|
71778
71780
|
return getContextualTypeForJsxExpression(parent);
|
|
71779
71781
|
case 284 /* JsxAttribute */:
|
|
@@ -130722,7 +130724,7 @@ var ts;
|
|
|
130722
130724
|
completionKind === 3 /* MemberLike */ &&
|
|
130723
130725
|
isClassLikeMemberCompletion(symbol, location)) {
|
|
130724
130726
|
var importAdder = void 0;
|
|
130725
|
-
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder);
|
|
130727
|
+
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan);
|
|
130726
130728
|
if (importAdder === null || importAdder === void 0 ? void 0 : importAdder.hasFixes()) {
|
|
130727
130729
|
hasAction = true;
|
|
130728
130730
|
source = CompletionSource.ClassMemberSnippet;
|
|
@@ -130826,6 +130828,7 @@ var ts;
|
|
|
130826
130828
|
return { insertText: name };
|
|
130827
130829
|
}
|
|
130828
130830
|
var isSnippet;
|
|
130831
|
+
var replacementSpan;
|
|
130829
130832
|
var insertText = name;
|
|
130830
130833
|
var checker = program.getTypeChecker();
|
|
130831
130834
|
var sourceFile = location.getSourceFile();
|
|
@@ -130854,10 +130857,8 @@ var ts;
|
|
|
130854
130857
|
var modifiers = 0 /* None */;
|
|
130855
130858
|
// Whether the suggested member should be abstract.
|
|
130856
130859
|
// e.g. in `abstract class C { abstract | }`, we should offer abstract method signatures at position `|`.
|
|
130857
|
-
|
|
130858
|
-
|
|
130859
|
-
// However, that is not true for the e.g. `override` modifier, so this check has its limitations.
|
|
130860
|
-
var isAbstract = contextToken && isModifierLike(contextToken) === 126 /* AbstractKeyword */;
|
|
130860
|
+
var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span;
|
|
130861
|
+
var isAbstract = !!(presentModifiers & 128 /* Abstract */);
|
|
130861
130862
|
var completionNodes = [];
|
|
130862
130863
|
ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder,
|
|
130863
130864
|
// `addNewNodeForMemberSymbol` calls this callback function for each new member node
|
|
@@ -130876,22 +130877,18 @@ var ts;
|
|
|
130876
130877
|
&& checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) {
|
|
130877
130878
|
requiredModifiers |= 16384 /* Override */;
|
|
130878
130879
|
}
|
|
130879
|
-
var presentModifiers = 0 /* None */;
|
|
130880
130880
|
if (!completionNodes.length) {
|
|
130881
|
-
// Omit already present modifiers from the first completion node/signature.
|
|
130882
|
-
if (contextToken) {
|
|
130883
|
-
presentModifiers = getPresentModifiers(contextToken);
|
|
130884
|
-
}
|
|
130885
130881
|
// Keep track of added missing required modifiers and modifiers already present.
|
|
130886
130882
|
// This is needed when we have overloaded signatures,
|
|
130887
130883
|
// so this callback will be called for multiple nodes/signatures,
|
|
130888
130884
|
// and we need to make sure the modifiers are uniform for all nodes/signatures.
|
|
130889
130885
|
modifiers = node.modifierFlagsCache | requiredModifiers | presentModifiers;
|
|
130890
130886
|
}
|
|
130891
|
-
node = ts.factory.updateModifiers(node, modifiers
|
|
130887
|
+
node = ts.factory.updateModifiers(node, modifiers);
|
|
130892
130888
|
completionNodes.push(node);
|
|
130893
130889
|
}, body, 2 /* Property */, isAbstract);
|
|
130894
130890
|
if (completionNodes.length) {
|
|
130891
|
+
replacementSpan = modifiersSpan;
|
|
130895
130892
|
// If we have access to formatting settings, we print the nodes using the emitter,
|
|
130896
130893
|
// and then format the printed text.
|
|
130897
130894
|
if (formatContext) {
|
|
@@ -130914,10 +130911,14 @@ var ts;
|
|
|
130914
130911
|
insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
|
|
130915
130912
|
}
|
|
130916
130913
|
}
|
|
130917
|
-
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder };
|
|
130914
|
+
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder, replacementSpan: replacementSpan };
|
|
130918
130915
|
}
|
|
130919
130916
|
function getPresentModifiers(contextToken) {
|
|
130917
|
+
if (!contextToken) {
|
|
130918
|
+
return { modifiers: 0 /* None */ };
|
|
130919
|
+
}
|
|
130920
130920
|
var modifiers = 0 /* None */;
|
|
130921
|
+
var span;
|
|
130921
130922
|
var contextMod;
|
|
130922
130923
|
/*
|
|
130923
130924
|
Cases supported:
|
|
@@ -130940,11 +130941,13 @@ var ts;
|
|
|
130940
130941
|
*/
|
|
130941
130942
|
if (contextMod = isModifierLike(contextToken)) {
|
|
130942
130943
|
modifiers |= ts.modifierToFlag(contextMod);
|
|
130944
|
+
span = ts.createTextSpanFromNode(contextToken);
|
|
130943
130945
|
}
|
|
130944
130946
|
if (ts.isPropertyDeclaration(contextToken.parent)) {
|
|
130945
130947
|
modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers);
|
|
130948
|
+
span = ts.createTextSpanFromNode(contextToken.parent);
|
|
130946
130949
|
}
|
|
130947
|
-
return modifiers;
|
|
130950
|
+
return { modifiers: modifiers, span: span };
|
|
130948
130951
|
}
|
|
130949
130952
|
function isModifierLike(node) {
|
|
130950
130953
|
if (ts.isModifier(node)) {
|
|
@@ -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.20220302";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -55449,8 +55449,8 @@ var ts;
|
|
|
55449
55449
|
var memberDeclaration = root.kind === 163 /* Parameter */ ? root.parent : root;
|
|
55450
55450
|
return isPrivateWithinAmbient(memberDeclaration);
|
|
55451
55451
|
}
|
|
55452
|
-
function tryGetTypeFromEffectiveTypeNode(
|
|
55453
|
-
var typeNode = ts.getEffectiveTypeAnnotationNode(
|
|
55452
|
+
function tryGetTypeFromEffectiveTypeNode(node) {
|
|
55453
|
+
var typeNode = ts.getEffectiveTypeAnnotationNode(node);
|
|
55454
55454
|
if (typeNode) {
|
|
55455
55455
|
return getTypeFromTypeNode(typeNode);
|
|
55456
55456
|
}
|
|
@@ -71774,6 +71774,8 @@ var ts;
|
|
|
71774
71774
|
}
|
|
71775
71775
|
case 229 /* NonNullExpression */:
|
|
71776
71776
|
return getContextualType(parent, contextFlags);
|
|
71777
|
+
case 270 /* ExportAssignment */:
|
|
71778
|
+
return tryGetTypeFromEffectiveTypeNode(parent);
|
|
71777
71779
|
case 287 /* JsxExpression */:
|
|
71778
71780
|
return getContextualTypeForJsxExpression(parent);
|
|
71779
71781
|
case 284 /* JsxAttribute */:
|
|
@@ -130722,7 +130724,7 @@ var ts;
|
|
|
130722
130724
|
completionKind === 3 /* MemberLike */ &&
|
|
130723
130725
|
isClassLikeMemberCompletion(symbol, location)) {
|
|
130724
130726
|
var importAdder = void 0;
|
|
130725
|
-
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder);
|
|
130727
|
+
(_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan);
|
|
130726
130728
|
if (importAdder === null || importAdder === void 0 ? void 0 : importAdder.hasFixes()) {
|
|
130727
130729
|
hasAction = true;
|
|
130728
130730
|
source = CompletionSource.ClassMemberSnippet;
|
|
@@ -130826,6 +130828,7 @@ var ts;
|
|
|
130826
130828
|
return { insertText: name };
|
|
130827
130829
|
}
|
|
130828
130830
|
var isSnippet;
|
|
130831
|
+
var replacementSpan;
|
|
130829
130832
|
var insertText = name;
|
|
130830
130833
|
var checker = program.getTypeChecker();
|
|
130831
130834
|
var sourceFile = location.getSourceFile();
|
|
@@ -130854,10 +130857,8 @@ var ts;
|
|
|
130854
130857
|
var modifiers = 0 /* None */;
|
|
130855
130858
|
// Whether the suggested member should be abstract.
|
|
130856
130859
|
// e.g. in `abstract class C { abstract | }`, we should offer abstract method signatures at position `|`.
|
|
130857
|
-
|
|
130858
|
-
|
|
130859
|
-
// However, that is not true for the e.g. `override` modifier, so this check has its limitations.
|
|
130860
|
-
var isAbstract = contextToken && isModifierLike(contextToken) === 126 /* AbstractKeyword */;
|
|
130860
|
+
var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span;
|
|
130861
|
+
var isAbstract = !!(presentModifiers & 128 /* Abstract */);
|
|
130861
130862
|
var completionNodes = [];
|
|
130862
130863
|
ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder,
|
|
130863
130864
|
// `addNewNodeForMemberSymbol` calls this callback function for each new member node
|
|
@@ -130876,22 +130877,18 @@ var ts;
|
|
|
130876
130877
|
&& checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) {
|
|
130877
130878
|
requiredModifiers |= 16384 /* Override */;
|
|
130878
130879
|
}
|
|
130879
|
-
var presentModifiers = 0 /* None */;
|
|
130880
130880
|
if (!completionNodes.length) {
|
|
130881
|
-
// Omit already present modifiers from the first completion node/signature.
|
|
130882
|
-
if (contextToken) {
|
|
130883
|
-
presentModifiers = getPresentModifiers(contextToken);
|
|
130884
|
-
}
|
|
130885
130881
|
// Keep track of added missing required modifiers and modifiers already present.
|
|
130886
130882
|
// This is needed when we have overloaded signatures,
|
|
130887
130883
|
// so this callback will be called for multiple nodes/signatures,
|
|
130888
130884
|
// and we need to make sure the modifiers are uniform for all nodes/signatures.
|
|
130889
130885
|
modifiers = node.modifierFlagsCache | requiredModifiers | presentModifiers;
|
|
130890
130886
|
}
|
|
130891
|
-
node = ts.factory.updateModifiers(node, modifiers
|
|
130887
|
+
node = ts.factory.updateModifiers(node, modifiers);
|
|
130892
130888
|
completionNodes.push(node);
|
|
130893
130889
|
}, body, 2 /* Property */, isAbstract);
|
|
130894
130890
|
if (completionNodes.length) {
|
|
130891
|
+
replacementSpan = modifiersSpan;
|
|
130895
130892
|
// If we have access to formatting settings, we print the nodes using the emitter,
|
|
130896
130893
|
// and then format the printed text.
|
|
130897
130894
|
if (formatContext) {
|
|
@@ -130914,10 +130911,14 @@ var ts;
|
|
|
130914
130911
|
insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
|
|
130915
130912
|
}
|
|
130916
130913
|
}
|
|
130917
|
-
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder };
|
|
130914
|
+
return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder, replacementSpan: replacementSpan };
|
|
130918
130915
|
}
|
|
130919
130916
|
function getPresentModifiers(contextToken) {
|
|
130917
|
+
if (!contextToken) {
|
|
130918
|
+
return { modifiers: 0 /* None */ };
|
|
130919
|
+
}
|
|
130920
130920
|
var modifiers = 0 /* None */;
|
|
130921
|
+
var span;
|
|
130921
130922
|
var contextMod;
|
|
130922
130923
|
/*
|
|
130923
130924
|
Cases supported:
|
|
@@ -130940,11 +130941,13 @@ var ts;
|
|
|
130940
130941
|
*/
|
|
130941
130942
|
if (contextMod = isModifierLike(contextToken)) {
|
|
130942
130943
|
modifiers |= ts.modifierToFlag(contextMod);
|
|
130944
|
+
span = ts.createTextSpanFromNode(contextToken);
|
|
130943
130945
|
}
|
|
130944
130946
|
if (ts.isPropertyDeclaration(contextToken.parent)) {
|
|
130945
130947
|
modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers);
|
|
130948
|
+
span = ts.createTextSpanFromNode(contextToken.parent);
|
|
130946
130949
|
}
|
|
130947
|
-
return modifiers;
|
|
130950
|
+
return { modifiers: modifiers, span: span };
|
|
130948
130951
|
}
|
|
130949
130952
|
function isModifierLike(node) {
|
|
130950
130953
|
if (ts.isModifier(node)) {
|
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.20220302";
|
|
93
93
|
/* @internal */
|
|
94
94
|
var Comparison;
|
|
95
95
|
(function (Comparison) {
|
|
@@ -55244,8 +55244,8 @@ var ts;
|
|
|
55244
55244
|
var memberDeclaration = root.kind === 163 /* Parameter */ ? root.parent : root;
|
|
55245
55245
|
return isPrivateWithinAmbient(memberDeclaration);
|
|
55246
55246
|
}
|
|
55247
|
-
function tryGetTypeFromEffectiveTypeNode(
|
|
55248
|
-
var typeNode = ts.getEffectiveTypeAnnotationNode(
|
|
55247
|
+
function tryGetTypeFromEffectiveTypeNode(node) {
|
|
55248
|
+
var typeNode = ts.getEffectiveTypeAnnotationNode(node);
|
|
55249
55249
|
if (typeNode) {
|
|
55250
55250
|
return getTypeFromTypeNode(typeNode);
|
|
55251
55251
|
}
|
|
@@ -71569,6 +71569,8 @@ var ts;
|
|
|
71569
71569
|
}
|
|
71570
71570
|
case 229 /* NonNullExpression */:
|
|
71571
71571
|
return getContextualType(parent, contextFlags);
|
|
71572
|
+
case 270 /* ExportAssignment */:
|
|
71573
|
+
return tryGetTypeFromEffectiveTypeNode(parent);
|
|
71572
71574
|
case 287 /* JsxExpression */:
|
|
71573
71575
|
return getContextualTypeForJsxExpression(parent);
|
|
71574
71576
|
case 284 /* JsxAttribute */:
|
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.20220302",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|