typescript 4.5.0-dev.20211008 → 4.5.0-dev.20211009
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 +1 -1
- package/lib/tsserver.js +88 -52
- package/lib/tsserverlibrary.d.ts +15 -10
- package/lib/tsserverlibrary.js +88 -52
- package/lib/typescript.d.ts +15 -10
- package/lib/typescript.js +88 -52
- package/lib/typescriptServices.d.ts +15 -10
- package/lib/typescriptServices.js +88 -52
- package/lib/typingsInstaller.js +1 -1
- 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.5";
|
|
72
|
-
ts.version = ts.versionMajorMinor + ".0-dev.
|
|
72
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20211009";
|
|
73
73
|
var NativeCollections;
|
|
74
74
|
(function (NativeCollections) {
|
|
75
75
|
function tryGetNativeMap() {
|
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.20211009";
|
|
104
104
|
/* @internal */
|
|
105
105
|
var Comparison;
|
|
106
106
|
(function (Comparison) {
|
|
@@ -125581,11 +125581,12 @@ var ts;
|
|
|
125581
125581
|
: ts.getNameForExportedSymbol(namedSymbol, scriptTarget);
|
|
125582
125582
|
var moduleName = ts.stripQuotes(moduleSymbol.name);
|
|
125583
125583
|
var id = exportInfoId++;
|
|
125584
|
+
var target = ts.skipAlias(symbol, checker);
|
|
125584
125585
|
var storedSymbol = symbol.flags & 33554432 /* Transient */ ? undefined : symbol;
|
|
125585
125586
|
var storedModuleSymbol = moduleSymbol.flags & 33554432 /* Transient */ ? undefined : moduleSymbol;
|
|
125586
125587
|
if (!storedSymbol || !storedModuleSymbol)
|
|
125587
125588
|
symbols.set(id, [symbol, moduleSymbol]);
|
|
125588
|
-
exportInfo.add(key(importedName, symbol, moduleName, checker), {
|
|
125589
|
+
exportInfo.add(key(importedName, symbol, ts.isExternalModuleNameRelative(moduleName) ? undefined : moduleName, checker), {
|
|
125589
125590
|
id: id,
|
|
125590
125591
|
symbolTableKey: symbolTableKey,
|
|
125591
125592
|
symbolName: importedName,
|
|
@@ -125593,16 +125594,16 @@ var ts;
|
|
|
125593
125594
|
moduleFile: moduleFile,
|
|
125594
125595
|
moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName,
|
|
125595
125596
|
exportKind: exportKind,
|
|
125596
|
-
targetFlags:
|
|
125597
|
+
targetFlags: target.flags,
|
|
125597
125598
|
isFromPackageJson: isFromPackageJson,
|
|
125598
125599
|
symbol: storedSymbol,
|
|
125599
125600
|
moduleSymbol: storedModuleSymbol,
|
|
125600
125601
|
});
|
|
125601
125602
|
},
|
|
125602
|
-
get: function (importingFile,
|
|
125603
|
+
get: function (importingFile, key) {
|
|
125603
125604
|
if (importingFile !== usableByFileName)
|
|
125604
125605
|
return;
|
|
125605
|
-
var result = exportInfo.get(key
|
|
125606
|
+
var result = exportInfo.get(key);
|
|
125606
125607
|
return result === null || result === void 0 ? void 0 : result.map(rehydrateCachedInfo);
|
|
125607
125608
|
},
|
|
125608
125609
|
forEach: function (importingFile, action) {
|
|
@@ -125610,7 +125611,7 @@ var ts;
|
|
|
125610
125611
|
return;
|
|
125611
125612
|
exportInfo.forEach(function (info, key) {
|
|
125612
125613
|
var _a = parseKey(key), symbolName = _a.symbolName, ambientModuleName = _a.ambientModuleName;
|
|
125613
|
-
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName);
|
|
125614
|
+
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName, key);
|
|
125614
125615
|
});
|
|
125615
125616
|
},
|
|
125616
125617
|
releaseSymbols: function () {
|
|
@@ -125675,26 +125676,16 @@ var ts;
|
|
|
125675
125676
|
isFromPackageJson: isFromPackageJson,
|
|
125676
125677
|
};
|
|
125677
125678
|
}
|
|
125678
|
-
function key(importedName, symbol,
|
|
125679
|
-
var
|
|
125680
|
-
|
|
125681
|
-
var target = ts.skipAlias(symbol, checker);
|
|
125682
|
-
return importedName + "|" + createSymbolKey(target) + "|" + moduleKey;
|
|
125679
|
+
function key(importedName, symbol, ambientModuleName, checker) {
|
|
125680
|
+
var moduleKey = ambientModuleName || "";
|
|
125681
|
+
return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey;
|
|
125683
125682
|
}
|
|
125684
125683
|
function parseKey(key) {
|
|
125685
125684
|
var symbolName = key.substring(0, key.indexOf("|"));
|
|
125686
125685
|
var moduleKey = key.substring(key.lastIndexOf("|") + 1);
|
|
125687
|
-
var ambientModuleName = moduleKey === "
|
|
125686
|
+
var ambientModuleName = moduleKey === "" ? undefined : moduleKey;
|
|
125688
125687
|
return { symbolName: symbolName, ambientModuleName: ambientModuleName };
|
|
125689
125688
|
}
|
|
125690
|
-
function createSymbolKey(symbol) {
|
|
125691
|
-
var key = symbol.name;
|
|
125692
|
-
while (symbol.parent) {
|
|
125693
|
-
key += "," + symbol.parent.name;
|
|
125694
|
-
symbol = symbol.parent;
|
|
125695
|
-
}
|
|
125696
|
-
return key;
|
|
125697
|
-
}
|
|
125698
125689
|
function fileIsGlobalOnly(file) {
|
|
125699
125690
|
return !file.commonJsModuleIndicator && !file.externalModuleIndicator && !file.moduleAugmentations && !file.ambientModuleNames;
|
|
125700
125691
|
}
|
|
@@ -128039,20 +128030,19 @@ var ts;
|
|
|
128039
128030
|
}
|
|
128040
128031
|
}
|
|
128041
128032
|
Completions.getCompletionsAtPosition = getCompletionsAtPosition;
|
|
128033
|
+
function completionEntryDataIsResolved(data) {
|
|
128034
|
+
return !!(data === null || data === void 0 ? void 0 : data.moduleSpecifier);
|
|
128035
|
+
}
|
|
128042
128036
|
function continuePreviousIncompleteResponse(cache, file, location, program, host, preferences, cancellationToken) {
|
|
128043
|
-
var _a;
|
|
128044
128037
|
var previousResponse = cache.get();
|
|
128045
128038
|
if (!previousResponse)
|
|
128046
128039
|
return undefined;
|
|
128047
128040
|
var lowerCaseTokenText = location.text.toLowerCase();
|
|
128048
128041
|
var exportMap = ts.getExportInfoMap(file, host, program, cancellationToken);
|
|
128049
|
-
var checker = program.getTypeChecker();
|
|
128050
|
-
var autoImportProvider = (_a = host.getPackageJsonAutoImportProvider) === null || _a === void 0 ? void 0 : _a.call(host);
|
|
128051
|
-
var autoImportProviderChecker = autoImportProvider === null || autoImportProvider === void 0 ? void 0 : autoImportProvider.getTypeChecker();
|
|
128052
128042
|
var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, program, file, preferences,
|
|
128053
128043
|
/*isForImportStatementCompletion*/ false, function (context) {
|
|
128054
128044
|
var entries = ts.mapDefined(previousResponse.entries, function (entry) {
|
|
128055
|
-
if (!entry.hasAction || !entry.source || !entry.data || entry.data
|
|
128045
|
+
if (!entry.hasAction || !entry.source || !entry.data || completionEntryDataIsResolved(entry.data)) {
|
|
128056
128046
|
// Not an auto import or already resolved; keep as is
|
|
128057
128047
|
return entry;
|
|
128058
128048
|
}
|
|
@@ -128060,8 +128050,8 @@ var ts;
|
|
|
128060
128050
|
// No longer matches typed characters; filter out
|
|
128061
128051
|
return undefined;
|
|
128062
128052
|
}
|
|
128063
|
-
var
|
|
128064
|
-
var info = exportMap.get(file.path, entry.
|
|
128053
|
+
var origin = ts.Debug.checkDefined(getAutoImportSymbolFromCompletionEntryData(entry.name, entry.data, program, host)).origin;
|
|
128054
|
+
var info = exportMap.get(file.path, entry.data.exportMapKey);
|
|
128065
128055
|
var result = info && context.tryResolve(info, !ts.isExternalModuleNameRelative(ts.stripQuotes(origin.moduleSymbol.name)));
|
|
128066
128056
|
if (!result)
|
|
128067
128057
|
return entry;
|
|
@@ -128362,13 +128352,54 @@ var ts;
|
|
|
128362
128352
|
return text.replace(/\$/gm, "\\$");
|
|
128363
128353
|
}
|
|
128364
128354
|
function originToCompletionEntryData(origin) {
|
|
128365
|
-
|
|
128355
|
+
var ambientModuleName = origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name);
|
|
128356
|
+
var isPackageJsonImport = origin.isFromPackageJson ? true : undefined;
|
|
128357
|
+
if (originIsResolvedExport(origin)) {
|
|
128358
|
+
var resolvedData = {
|
|
128359
|
+
exportName: origin.exportName,
|
|
128360
|
+
moduleSpecifier: origin.moduleSpecifier,
|
|
128361
|
+
ambientModuleName: ambientModuleName,
|
|
128362
|
+
fileName: origin.fileName,
|
|
128363
|
+
isPackageJsonImport: isPackageJsonImport,
|
|
128364
|
+
};
|
|
128365
|
+
return resolvedData;
|
|
128366
|
+
}
|
|
128367
|
+
var unresolvedData = {
|
|
128366
128368
|
exportName: origin.exportName,
|
|
128369
|
+
exportMapKey: origin.exportMapKey,
|
|
128367
128370
|
fileName: origin.fileName,
|
|
128368
128371
|
ambientModuleName: origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name),
|
|
128369
128372
|
isPackageJsonImport: origin.isFromPackageJson ? true : undefined,
|
|
128370
|
-
moduleSpecifier: originIsResolvedExport(origin) ? origin.moduleSpecifier : undefined,
|
|
128371
128373
|
};
|
|
128374
|
+
return unresolvedData;
|
|
128375
|
+
}
|
|
128376
|
+
function completionEntryDataToSymbolOriginInfo(data, completionName, moduleSymbol) {
|
|
128377
|
+
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
128378
|
+
var isFromPackageJson = !!data.isPackageJsonImport;
|
|
128379
|
+
if (completionEntryDataIsResolved(data)) {
|
|
128380
|
+
var resolvedOrigin = {
|
|
128381
|
+
kind: 32 /* ResolvedExport */,
|
|
128382
|
+
exportName: data.exportName,
|
|
128383
|
+
moduleSpecifier: data.moduleSpecifier,
|
|
128384
|
+
symbolName: completionName,
|
|
128385
|
+
fileName: data.fileName,
|
|
128386
|
+
moduleSymbol: moduleSymbol,
|
|
128387
|
+
isDefaultExport: isDefaultExport,
|
|
128388
|
+
isFromPackageJson: isFromPackageJson,
|
|
128389
|
+
};
|
|
128390
|
+
return resolvedOrigin;
|
|
128391
|
+
}
|
|
128392
|
+
var unresolvedOrigin = {
|
|
128393
|
+
kind: 4 /* Export */,
|
|
128394
|
+
exportName: data.exportName,
|
|
128395
|
+
exportMapKey: data.exportMapKey,
|
|
128396
|
+
symbolName: completionName,
|
|
128397
|
+
fileName: data.fileName,
|
|
128398
|
+
moduleSymbol: moduleSymbol,
|
|
128399
|
+
isDefaultExport: isDefaultExport,
|
|
128400
|
+
isFromPackageJson: isFromPackageJson,
|
|
128401
|
+
};
|
|
128402
|
+
return unresolvedOrigin;
|
|
128372
128403
|
}
|
|
128373
128404
|
function getInsertTextAndReplacementSpanForImportCompletion(name, importCompletionNode, contextToken, origin, useSemicolons, options, preferences) {
|
|
128374
128405
|
var _a, _b, _c;
|
|
@@ -129144,6 +129175,7 @@ var ts;
|
|
|
129144
129175
|
}
|
|
129145
129176
|
}
|
|
129146
129177
|
function addPropertySymbol(symbol, insertAwait, insertQuestionDot) {
|
|
129178
|
+
var _a;
|
|
129147
129179
|
// For a computed property with an accessible name like `Symbol.iterator`,
|
|
129148
129180
|
// we'll add a completion for the *name* `Symbol` instead of for the property.
|
|
129149
129181
|
// If this is e.g. [Symbol.iterator], add a completion for `Symbol`.
|
|
@@ -129157,19 +129189,33 @@ var ts;
|
|
|
129157
129189
|
var index = symbols.length;
|
|
129158
129190
|
symbols.push(firstAccessibleSymbol);
|
|
129159
129191
|
var moduleSymbol = firstAccessibleSymbol.parent;
|
|
129160
|
-
if (!moduleSymbol ||
|
|
129192
|
+
if (!moduleSymbol ||
|
|
129193
|
+
!ts.isExternalModuleSymbol(moduleSymbol) ||
|
|
129194
|
+
typeChecker.tryGetMemberInModuleExportsAndProperties(firstAccessibleSymbol.name, moduleSymbol) !== firstAccessibleSymbol) {
|
|
129161
129195
|
symbolToOriginInfoMap[index] = { kind: getNullableSymbolOriginInfoKind(2 /* SymbolMemberNoExport */) };
|
|
129162
129196
|
}
|
|
129163
129197
|
else {
|
|
129164
|
-
var
|
|
129165
|
-
|
|
129166
|
-
|
|
129167
|
-
|
|
129168
|
-
|
|
129169
|
-
|
|
129170
|
-
|
|
129171
|
-
|
|
129172
|
-
|
|
129198
|
+
var fileName = ts.isExternalModuleNameRelative(ts.stripQuotes(moduleSymbol.name)) ? (_a = ts.getSourceFileOfModule(moduleSymbol)) === null || _a === void 0 ? void 0 : _a.fileName : undefined;
|
|
129199
|
+
var moduleSpecifier = (ts.codefix.getModuleSpecifierForBestExportInfo([{
|
|
129200
|
+
exportKind: 0 /* Named */,
|
|
129201
|
+
moduleFileName: fileName,
|
|
129202
|
+
isFromPackageJson: false,
|
|
129203
|
+
moduleSymbol: moduleSymbol,
|
|
129204
|
+
symbol: firstAccessibleSymbol,
|
|
129205
|
+
targetFlags: ts.skipAlias(firstAccessibleSymbol, typeChecker).flags,
|
|
129206
|
+
}], sourceFile, program, host, preferences) || {}).moduleSpecifier;
|
|
129207
|
+
if (moduleSpecifier) {
|
|
129208
|
+
var origin = {
|
|
129209
|
+
kind: getNullableSymbolOriginInfoKind(6 /* SymbolMemberExport */),
|
|
129210
|
+
moduleSymbol: moduleSymbol,
|
|
129211
|
+
isDefaultExport: false,
|
|
129212
|
+
symbolName: firstAccessibleSymbol.name,
|
|
129213
|
+
exportName: firstAccessibleSymbol.name,
|
|
129214
|
+
fileName: fileName,
|
|
129215
|
+
moduleSpecifier: moduleSpecifier,
|
|
129216
|
+
};
|
|
129217
|
+
symbolToOriginInfoMap[index] = origin;
|
|
129218
|
+
}
|
|
129173
129219
|
}
|
|
129174
129220
|
}
|
|
129175
129221
|
else if (preferences.includeCompletionsWithInsertText) {
|
|
@@ -129405,7 +129451,7 @@ var ts;
|
|
|
129405
129451
|
var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host);
|
|
129406
129452
|
var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host);
|
|
129407
129453
|
resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, preferences, !!importCompletionNode, function (context) {
|
|
129408
|
-
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule) {
|
|
129454
|
+
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule, exportMapKey) {
|
|
129409
129455
|
if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings())))
|
|
129410
129456
|
return;
|
|
129411
129457
|
if (!detailsEntryId && ts.isStringANonContextualKeyword(symbolName))
|
|
@@ -129430,6 +129476,7 @@ var ts;
|
|
|
129430
129476
|
kind: moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
129431
129477
|
moduleSpecifier: moduleSpecifier,
|
|
129432
129478
|
symbolName: symbolName,
|
|
129479
|
+
exportMapKey: exportMapKey,
|
|
129433
129480
|
exportName: exportInfo_1.exportKind === 2 /* ExportEquals */ ? "export=" /* ExportEquals */ : exportInfo_1.symbol.name,
|
|
129434
129481
|
fileName: exportInfo_1.moduleFileName,
|
|
129435
129482
|
isDefaultExport: isDefaultExport,
|
|
@@ -130253,18 +130300,7 @@ var ts;
|
|
|
130253
130300
|
return undefined;
|
|
130254
130301
|
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
130255
130302
|
symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(symbol) || symbol;
|
|
130256
|
-
return {
|
|
130257
|
-
symbol: symbol,
|
|
130258
|
-
origin: {
|
|
130259
|
-
kind: data.moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
130260
|
-
moduleSymbol: moduleSymbol,
|
|
130261
|
-
symbolName: name,
|
|
130262
|
-
isDefaultExport: isDefaultExport,
|
|
130263
|
-
exportName: data.exportName,
|
|
130264
|
-
fileName: data.fileName,
|
|
130265
|
-
isFromPackageJson: !!data.isPackageJsonImport,
|
|
130266
|
-
}
|
|
130267
|
-
};
|
|
130303
|
+
return { symbol: symbol, origin: completionEntryDataToSymbolOriginInfo(data, name, moduleSymbol) };
|
|
130268
130304
|
}
|
|
130269
130305
|
function getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, jsxIdentifierExpected) {
|
|
130270
130306
|
var name = originIncludesSymbolName(origin) ? origin.symbolName : symbol.name;
|
package/lib/tsserverlibrary.d.ts
CHANGED
|
@@ -6367,23 +6367,28 @@ declare namespace ts {
|
|
|
6367
6367
|
isIncomplete?: true;
|
|
6368
6368
|
entries: CompletionEntry[];
|
|
6369
6369
|
}
|
|
6370
|
-
interface
|
|
6371
|
-
/** The file name declaring the export's module symbol, if it was an external module */
|
|
6372
|
-
fileName?: string;
|
|
6373
|
-
/** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */
|
|
6374
|
-
ambientModuleName?: string;
|
|
6375
|
-
/** True if the export was found in the package.json AutoImportProvider */
|
|
6376
|
-
isPackageJsonImport?: true;
|
|
6370
|
+
interface CompletionEntryDataAutoImport {
|
|
6377
6371
|
/**
|
|
6378
6372
|
* The name of the property or export in the module's symbol table. Differs from the completion name
|
|
6379
6373
|
* in the case of InternalSymbolName.ExportEquals and InternalSymbolName.Default.
|
|
6380
6374
|
*/
|
|
6381
6375
|
exportName: string;
|
|
6382
|
-
/**
|
|
6383
|
-
* Set for auto imports with eagerly resolved module specifiers.
|
|
6384
|
-
*/
|
|
6385
6376
|
moduleSpecifier?: string;
|
|
6377
|
+
/** The file name declaring the export's module symbol, if it was an external module */
|
|
6378
|
+
fileName?: string;
|
|
6379
|
+
/** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */
|
|
6380
|
+
ambientModuleName?: string;
|
|
6381
|
+
/** True if the export was found in the package.json AutoImportProvider */
|
|
6382
|
+
isPackageJsonImport?: true;
|
|
6383
|
+
}
|
|
6384
|
+
interface CompletionEntryDataUnresolved extends CompletionEntryDataAutoImport {
|
|
6385
|
+
/** The key in the `ExportMapCache` where the completion entry's `SymbolExportInfo[]` is found */
|
|
6386
|
+
exportMapKey: string;
|
|
6387
|
+
}
|
|
6388
|
+
interface CompletionEntryDataResolved extends CompletionEntryDataAutoImport {
|
|
6389
|
+
moduleSpecifier: string;
|
|
6386
6390
|
}
|
|
6391
|
+
type CompletionEntryData = CompletionEntryDataUnresolved | CompletionEntryDataResolved;
|
|
6387
6392
|
interface CompletionEntry {
|
|
6388
6393
|
name: string;
|
|
6389
6394
|
kind: ScriptElementKind;
|
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.20211009";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -126163,11 +126163,12 @@ var ts;
|
|
|
126163
126163
|
: ts.getNameForExportedSymbol(namedSymbol, scriptTarget);
|
|
126164
126164
|
var moduleName = ts.stripQuotes(moduleSymbol.name);
|
|
126165
126165
|
var id = exportInfoId++;
|
|
126166
|
+
var target = ts.skipAlias(symbol, checker);
|
|
126166
126167
|
var storedSymbol = symbol.flags & 33554432 /* Transient */ ? undefined : symbol;
|
|
126167
126168
|
var storedModuleSymbol = moduleSymbol.flags & 33554432 /* Transient */ ? undefined : moduleSymbol;
|
|
126168
126169
|
if (!storedSymbol || !storedModuleSymbol)
|
|
126169
126170
|
symbols.set(id, [symbol, moduleSymbol]);
|
|
126170
|
-
exportInfo.add(key(importedName, symbol, moduleName, checker), {
|
|
126171
|
+
exportInfo.add(key(importedName, symbol, ts.isExternalModuleNameRelative(moduleName) ? undefined : moduleName, checker), {
|
|
126171
126172
|
id: id,
|
|
126172
126173
|
symbolTableKey: symbolTableKey,
|
|
126173
126174
|
symbolName: importedName,
|
|
@@ -126175,16 +126176,16 @@ var ts;
|
|
|
126175
126176
|
moduleFile: moduleFile,
|
|
126176
126177
|
moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName,
|
|
126177
126178
|
exportKind: exportKind,
|
|
126178
|
-
targetFlags:
|
|
126179
|
+
targetFlags: target.flags,
|
|
126179
126180
|
isFromPackageJson: isFromPackageJson,
|
|
126180
126181
|
symbol: storedSymbol,
|
|
126181
126182
|
moduleSymbol: storedModuleSymbol,
|
|
126182
126183
|
});
|
|
126183
126184
|
},
|
|
126184
|
-
get: function (importingFile,
|
|
126185
|
+
get: function (importingFile, key) {
|
|
126185
126186
|
if (importingFile !== usableByFileName)
|
|
126186
126187
|
return;
|
|
126187
|
-
var result = exportInfo.get(key
|
|
126188
|
+
var result = exportInfo.get(key);
|
|
126188
126189
|
return result === null || result === void 0 ? void 0 : result.map(rehydrateCachedInfo);
|
|
126189
126190
|
},
|
|
126190
126191
|
forEach: function (importingFile, action) {
|
|
@@ -126192,7 +126193,7 @@ var ts;
|
|
|
126192
126193
|
return;
|
|
126193
126194
|
exportInfo.forEach(function (info, key) {
|
|
126194
126195
|
var _a = parseKey(key), symbolName = _a.symbolName, ambientModuleName = _a.ambientModuleName;
|
|
126195
|
-
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName);
|
|
126196
|
+
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName, key);
|
|
126196
126197
|
});
|
|
126197
126198
|
},
|
|
126198
126199
|
releaseSymbols: function () {
|
|
@@ -126257,26 +126258,16 @@ var ts;
|
|
|
126257
126258
|
isFromPackageJson: isFromPackageJson,
|
|
126258
126259
|
};
|
|
126259
126260
|
}
|
|
126260
|
-
function key(importedName, symbol,
|
|
126261
|
-
var
|
|
126262
|
-
|
|
126263
|
-
var target = ts.skipAlias(symbol, checker);
|
|
126264
|
-
return importedName + "|" + createSymbolKey(target) + "|" + moduleKey;
|
|
126261
|
+
function key(importedName, symbol, ambientModuleName, checker) {
|
|
126262
|
+
var moduleKey = ambientModuleName || "";
|
|
126263
|
+
return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey;
|
|
126265
126264
|
}
|
|
126266
126265
|
function parseKey(key) {
|
|
126267
126266
|
var symbolName = key.substring(0, key.indexOf("|"));
|
|
126268
126267
|
var moduleKey = key.substring(key.lastIndexOf("|") + 1);
|
|
126269
|
-
var ambientModuleName = moduleKey === "
|
|
126268
|
+
var ambientModuleName = moduleKey === "" ? undefined : moduleKey;
|
|
126270
126269
|
return { symbolName: symbolName, ambientModuleName: ambientModuleName };
|
|
126271
126270
|
}
|
|
126272
|
-
function createSymbolKey(symbol) {
|
|
126273
|
-
var key = symbol.name;
|
|
126274
|
-
while (symbol.parent) {
|
|
126275
|
-
key += "," + symbol.parent.name;
|
|
126276
|
-
symbol = symbol.parent;
|
|
126277
|
-
}
|
|
126278
|
-
return key;
|
|
126279
|
-
}
|
|
126280
126271
|
function fileIsGlobalOnly(file) {
|
|
126281
126272
|
return !file.commonJsModuleIndicator && !file.externalModuleIndicator && !file.moduleAugmentations && !file.ambientModuleNames;
|
|
126282
126273
|
}
|
|
@@ -128621,20 +128612,19 @@ var ts;
|
|
|
128621
128612
|
}
|
|
128622
128613
|
}
|
|
128623
128614
|
Completions.getCompletionsAtPosition = getCompletionsAtPosition;
|
|
128615
|
+
function completionEntryDataIsResolved(data) {
|
|
128616
|
+
return !!(data === null || data === void 0 ? void 0 : data.moduleSpecifier);
|
|
128617
|
+
}
|
|
128624
128618
|
function continuePreviousIncompleteResponse(cache, file, location, program, host, preferences, cancellationToken) {
|
|
128625
|
-
var _a;
|
|
128626
128619
|
var previousResponse = cache.get();
|
|
128627
128620
|
if (!previousResponse)
|
|
128628
128621
|
return undefined;
|
|
128629
128622
|
var lowerCaseTokenText = location.text.toLowerCase();
|
|
128630
128623
|
var exportMap = ts.getExportInfoMap(file, host, program, cancellationToken);
|
|
128631
|
-
var checker = program.getTypeChecker();
|
|
128632
|
-
var autoImportProvider = (_a = host.getPackageJsonAutoImportProvider) === null || _a === void 0 ? void 0 : _a.call(host);
|
|
128633
|
-
var autoImportProviderChecker = autoImportProvider === null || autoImportProvider === void 0 ? void 0 : autoImportProvider.getTypeChecker();
|
|
128634
128624
|
var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, program, file, preferences,
|
|
128635
128625
|
/*isForImportStatementCompletion*/ false, function (context) {
|
|
128636
128626
|
var entries = ts.mapDefined(previousResponse.entries, function (entry) {
|
|
128637
|
-
if (!entry.hasAction || !entry.source || !entry.data || entry.data
|
|
128627
|
+
if (!entry.hasAction || !entry.source || !entry.data || completionEntryDataIsResolved(entry.data)) {
|
|
128638
128628
|
// Not an auto import or already resolved; keep as is
|
|
128639
128629
|
return entry;
|
|
128640
128630
|
}
|
|
@@ -128642,8 +128632,8 @@ var ts;
|
|
|
128642
128632
|
// No longer matches typed characters; filter out
|
|
128643
128633
|
return undefined;
|
|
128644
128634
|
}
|
|
128645
|
-
var
|
|
128646
|
-
var info = exportMap.get(file.path, entry.
|
|
128635
|
+
var origin = ts.Debug.checkDefined(getAutoImportSymbolFromCompletionEntryData(entry.name, entry.data, program, host)).origin;
|
|
128636
|
+
var info = exportMap.get(file.path, entry.data.exportMapKey);
|
|
128647
128637
|
var result = info && context.tryResolve(info, !ts.isExternalModuleNameRelative(ts.stripQuotes(origin.moduleSymbol.name)));
|
|
128648
128638
|
if (!result)
|
|
128649
128639
|
return entry;
|
|
@@ -128944,13 +128934,54 @@ var ts;
|
|
|
128944
128934
|
return text.replace(/\$/gm, "\\$");
|
|
128945
128935
|
}
|
|
128946
128936
|
function originToCompletionEntryData(origin) {
|
|
128947
|
-
|
|
128937
|
+
var ambientModuleName = origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name);
|
|
128938
|
+
var isPackageJsonImport = origin.isFromPackageJson ? true : undefined;
|
|
128939
|
+
if (originIsResolvedExport(origin)) {
|
|
128940
|
+
var resolvedData = {
|
|
128941
|
+
exportName: origin.exportName,
|
|
128942
|
+
moduleSpecifier: origin.moduleSpecifier,
|
|
128943
|
+
ambientModuleName: ambientModuleName,
|
|
128944
|
+
fileName: origin.fileName,
|
|
128945
|
+
isPackageJsonImport: isPackageJsonImport,
|
|
128946
|
+
};
|
|
128947
|
+
return resolvedData;
|
|
128948
|
+
}
|
|
128949
|
+
var unresolvedData = {
|
|
128948
128950
|
exportName: origin.exportName,
|
|
128951
|
+
exportMapKey: origin.exportMapKey,
|
|
128949
128952
|
fileName: origin.fileName,
|
|
128950
128953
|
ambientModuleName: origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name),
|
|
128951
128954
|
isPackageJsonImport: origin.isFromPackageJson ? true : undefined,
|
|
128952
|
-
moduleSpecifier: originIsResolvedExport(origin) ? origin.moduleSpecifier : undefined,
|
|
128953
128955
|
};
|
|
128956
|
+
return unresolvedData;
|
|
128957
|
+
}
|
|
128958
|
+
function completionEntryDataToSymbolOriginInfo(data, completionName, moduleSymbol) {
|
|
128959
|
+
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
128960
|
+
var isFromPackageJson = !!data.isPackageJsonImport;
|
|
128961
|
+
if (completionEntryDataIsResolved(data)) {
|
|
128962
|
+
var resolvedOrigin = {
|
|
128963
|
+
kind: 32 /* ResolvedExport */,
|
|
128964
|
+
exportName: data.exportName,
|
|
128965
|
+
moduleSpecifier: data.moduleSpecifier,
|
|
128966
|
+
symbolName: completionName,
|
|
128967
|
+
fileName: data.fileName,
|
|
128968
|
+
moduleSymbol: moduleSymbol,
|
|
128969
|
+
isDefaultExport: isDefaultExport,
|
|
128970
|
+
isFromPackageJson: isFromPackageJson,
|
|
128971
|
+
};
|
|
128972
|
+
return resolvedOrigin;
|
|
128973
|
+
}
|
|
128974
|
+
var unresolvedOrigin = {
|
|
128975
|
+
kind: 4 /* Export */,
|
|
128976
|
+
exportName: data.exportName,
|
|
128977
|
+
exportMapKey: data.exportMapKey,
|
|
128978
|
+
symbolName: completionName,
|
|
128979
|
+
fileName: data.fileName,
|
|
128980
|
+
moduleSymbol: moduleSymbol,
|
|
128981
|
+
isDefaultExport: isDefaultExport,
|
|
128982
|
+
isFromPackageJson: isFromPackageJson,
|
|
128983
|
+
};
|
|
128984
|
+
return unresolvedOrigin;
|
|
128954
128985
|
}
|
|
128955
128986
|
function getInsertTextAndReplacementSpanForImportCompletion(name, importCompletionNode, contextToken, origin, useSemicolons, options, preferences) {
|
|
128956
128987
|
var _a, _b, _c;
|
|
@@ -129726,6 +129757,7 @@ var ts;
|
|
|
129726
129757
|
}
|
|
129727
129758
|
}
|
|
129728
129759
|
function addPropertySymbol(symbol, insertAwait, insertQuestionDot) {
|
|
129760
|
+
var _a;
|
|
129729
129761
|
// For a computed property with an accessible name like `Symbol.iterator`,
|
|
129730
129762
|
// we'll add a completion for the *name* `Symbol` instead of for the property.
|
|
129731
129763
|
// If this is e.g. [Symbol.iterator], add a completion for `Symbol`.
|
|
@@ -129739,19 +129771,33 @@ var ts;
|
|
|
129739
129771
|
var index = symbols.length;
|
|
129740
129772
|
symbols.push(firstAccessibleSymbol);
|
|
129741
129773
|
var moduleSymbol = firstAccessibleSymbol.parent;
|
|
129742
|
-
if (!moduleSymbol ||
|
|
129774
|
+
if (!moduleSymbol ||
|
|
129775
|
+
!ts.isExternalModuleSymbol(moduleSymbol) ||
|
|
129776
|
+
typeChecker.tryGetMemberInModuleExportsAndProperties(firstAccessibleSymbol.name, moduleSymbol) !== firstAccessibleSymbol) {
|
|
129743
129777
|
symbolToOriginInfoMap[index] = { kind: getNullableSymbolOriginInfoKind(2 /* SymbolMemberNoExport */) };
|
|
129744
129778
|
}
|
|
129745
129779
|
else {
|
|
129746
|
-
var
|
|
129747
|
-
|
|
129748
|
-
|
|
129749
|
-
|
|
129750
|
-
|
|
129751
|
-
|
|
129752
|
-
|
|
129753
|
-
|
|
129754
|
-
|
|
129780
|
+
var fileName = ts.isExternalModuleNameRelative(ts.stripQuotes(moduleSymbol.name)) ? (_a = ts.getSourceFileOfModule(moduleSymbol)) === null || _a === void 0 ? void 0 : _a.fileName : undefined;
|
|
129781
|
+
var moduleSpecifier = (ts.codefix.getModuleSpecifierForBestExportInfo([{
|
|
129782
|
+
exportKind: 0 /* Named */,
|
|
129783
|
+
moduleFileName: fileName,
|
|
129784
|
+
isFromPackageJson: false,
|
|
129785
|
+
moduleSymbol: moduleSymbol,
|
|
129786
|
+
symbol: firstAccessibleSymbol,
|
|
129787
|
+
targetFlags: ts.skipAlias(firstAccessibleSymbol, typeChecker).flags,
|
|
129788
|
+
}], sourceFile, program, host, preferences) || {}).moduleSpecifier;
|
|
129789
|
+
if (moduleSpecifier) {
|
|
129790
|
+
var origin = {
|
|
129791
|
+
kind: getNullableSymbolOriginInfoKind(6 /* SymbolMemberExport */),
|
|
129792
|
+
moduleSymbol: moduleSymbol,
|
|
129793
|
+
isDefaultExport: false,
|
|
129794
|
+
symbolName: firstAccessibleSymbol.name,
|
|
129795
|
+
exportName: firstAccessibleSymbol.name,
|
|
129796
|
+
fileName: fileName,
|
|
129797
|
+
moduleSpecifier: moduleSpecifier,
|
|
129798
|
+
};
|
|
129799
|
+
symbolToOriginInfoMap[index] = origin;
|
|
129800
|
+
}
|
|
129755
129801
|
}
|
|
129756
129802
|
}
|
|
129757
129803
|
else if (preferences.includeCompletionsWithInsertText) {
|
|
@@ -129987,7 +130033,7 @@ var ts;
|
|
|
129987
130033
|
var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host);
|
|
129988
130034
|
var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host);
|
|
129989
130035
|
resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, preferences, !!importCompletionNode, function (context) {
|
|
129990
|
-
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule) {
|
|
130036
|
+
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule, exportMapKey) {
|
|
129991
130037
|
if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings())))
|
|
129992
130038
|
return;
|
|
129993
130039
|
if (!detailsEntryId && ts.isStringANonContextualKeyword(symbolName))
|
|
@@ -130012,6 +130058,7 @@ var ts;
|
|
|
130012
130058
|
kind: moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
130013
130059
|
moduleSpecifier: moduleSpecifier,
|
|
130014
130060
|
symbolName: symbolName,
|
|
130061
|
+
exportMapKey: exportMapKey,
|
|
130015
130062
|
exportName: exportInfo_1.exportKind === 2 /* ExportEquals */ ? "export=" /* ExportEquals */ : exportInfo_1.symbol.name,
|
|
130016
130063
|
fileName: exportInfo_1.moduleFileName,
|
|
130017
130064
|
isDefaultExport: isDefaultExport,
|
|
@@ -130835,18 +130882,7 @@ var ts;
|
|
|
130835
130882
|
return undefined;
|
|
130836
130883
|
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
130837
130884
|
symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(symbol) || symbol;
|
|
130838
|
-
return {
|
|
130839
|
-
symbol: symbol,
|
|
130840
|
-
origin: {
|
|
130841
|
-
kind: data.moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
130842
|
-
moduleSymbol: moduleSymbol,
|
|
130843
|
-
symbolName: name,
|
|
130844
|
-
isDefaultExport: isDefaultExport,
|
|
130845
|
-
exportName: data.exportName,
|
|
130846
|
-
fileName: data.fileName,
|
|
130847
|
-
isFromPackageJson: !!data.isPackageJsonImport,
|
|
130848
|
-
}
|
|
130849
|
-
};
|
|
130885
|
+
return { symbol: symbol, origin: completionEntryDataToSymbolOriginInfo(data, name, moduleSymbol) };
|
|
130850
130886
|
}
|
|
130851
130887
|
function getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, jsxIdentifierExpected) {
|
|
130852
130888
|
var name = originIncludesSymbolName(origin) ? origin.symbolName : symbol.name;
|
package/lib/typescript.d.ts
CHANGED
|
@@ -6367,23 +6367,28 @@ declare namespace ts {
|
|
|
6367
6367
|
isIncomplete?: true;
|
|
6368
6368
|
entries: CompletionEntry[];
|
|
6369
6369
|
}
|
|
6370
|
-
interface
|
|
6371
|
-
/** The file name declaring the export's module symbol, if it was an external module */
|
|
6372
|
-
fileName?: string;
|
|
6373
|
-
/** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */
|
|
6374
|
-
ambientModuleName?: string;
|
|
6375
|
-
/** True if the export was found in the package.json AutoImportProvider */
|
|
6376
|
-
isPackageJsonImport?: true;
|
|
6370
|
+
interface CompletionEntryDataAutoImport {
|
|
6377
6371
|
/**
|
|
6378
6372
|
* The name of the property or export in the module's symbol table. Differs from the completion name
|
|
6379
6373
|
* in the case of InternalSymbolName.ExportEquals and InternalSymbolName.Default.
|
|
6380
6374
|
*/
|
|
6381
6375
|
exportName: string;
|
|
6382
|
-
/**
|
|
6383
|
-
* Set for auto imports with eagerly resolved module specifiers.
|
|
6384
|
-
*/
|
|
6385
6376
|
moduleSpecifier?: string;
|
|
6377
|
+
/** The file name declaring the export's module symbol, if it was an external module */
|
|
6378
|
+
fileName?: string;
|
|
6379
|
+
/** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */
|
|
6380
|
+
ambientModuleName?: string;
|
|
6381
|
+
/** True if the export was found in the package.json AutoImportProvider */
|
|
6382
|
+
isPackageJsonImport?: true;
|
|
6383
|
+
}
|
|
6384
|
+
interface CompletionEntryDataUnresolved extends CompletionEntryDataAutoImport {
|
|
6385
|
+
/** The key in the `ExportMapCache` where the completion entry's `SymbolExportInfo[]` is found */
|
|
6386
|
+
exportMapKey: string;
|
|
6387
|
+
}
|
|
6388
|
+
interface CompletionEntryDataResolved extends CompletionEntryDataAutoImport {
|
|
6389
|
+
moduleSpecifier: string;
|
|
6386
6390
|
}
|
|
6391
|
+
type CompletionEntryData = CompletionEntryDataUnresolved | CompletionEntryDataResolved;
|
|
6387
6392
|
interface CompletionEntry {
|
|
6388
6393
|
name: string;
|
|
6389
6394
|
kind: ScriptElementKind;
|
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.20211009";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -126163,11 +126163,12 @@ var ts;
|
|
|
126163
126163
|
: ts.getNameForExportedSymbol(namedSymbol, scriptTarget);
|
|
126164
126164
|
var moduleName = ts.stripQuotes(moduleSymbol.name);
|
|
126165
126165
|
var id = exportInfoId++;
|
|
126166
|
+
var target = ts.skipAlias(symbol, checker);
|
|
126166
126167
|
var storedSymbol = symbol.flags & 33554432 /* Transient */ ? undefined : symbol;
|
|
126167
126168
|
var storedModuleSymbol = moduleSymbol.flags & 33554432 /* Transient */ ? undefined : moduleSymbol;
|
|
126168
126169
|
if (!storedSymbol || !storedModuleSymbol)
|
|
126169
126170
|
symbols.set(id, [symbol, moduleSymbol]);
|
|
126170
|
-
exportInfo.add(key(importedName, symbol, moduleName, checker), {
|
|
126171
|
+
exportInfo.add(key(importedName, symbol, ts.isExternalModuleNameRelative(moduleName) ? undefined : moduleName, checker), {
|
|
126171
126172
|
id: id,
|
|
126172
126173
|
symbolTableKey: symbolTableKey,
|
|
126173
126174
|
symbolName: importedName,
|
|
@@ -126175,16 +126176,16 @@ var ts;
|
|
|
126175
126176
|
moduleFile: moduleFile,
|
|
126176
126177
|
moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName,
|
|
126177
126178
|
exportKind: exportKind,
|
|
126178
|
-
targetFlags:
|
|
126179
|
+
targetFlags: target.flags,
|
|
126179
126180
|
isFromPackageJson: isFromPackageJson,
|
|
126180
126181
|
symbol: storedSymbol,
|
|
126181
126182
|
moduleSymbol: storedModuleSymbol,
|
|
126182
126183
|
});
|
|
126183
126184
|
},
|
|
126184
|
-
get: function (importingFile,
|
|
126185
|
+
get: function (importingFile, key) {
|
|
126185
126186
|
if (importingFile !== usableByFileName)
|
|
126186
126187
|
return;
|
|
126187
|
-
var result = exportInfo.get(key
|
|
126188
|
+
var result = exportInfo.get(key);
|
|
126188
126189
|
return result === null || result === void 0 ? void 0 : result.map(rehydrateCachedInfo);
|
|
126189
126190
|
},
|
|
126190
126191
|
forEach: function (importingFile, action) {
|
|
@@ -126192,7 +126193,7 @@ var ts;
|
|
|
126192
126193
|
return;
|
|
126193
126194
|
exportInfo.forEach(function (info, key) {
|
|
126194
126195
|
var _a = parseKey(key), symbolName = _a.symbolName, ambientModuleName = _a.ambientModuleName;
|
|
126195
|
-
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName);
|
|
126196
|
+
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName, key);
|
|
126196
126197
|
});
|
|
126197
126198
|
},
|
|
126198
126199
|
releaseSymbols: function () {
|
|
@@ -126257,26 +126258,16 @@ var ts;
|
|
|
126257
126258
|
isFromPackageJson: isFromPackageJson,
|
|
126258
126259
|
};
|
|
126259
126260
|
}
|
|
126260
|
-
function key(importedName, symbol,
|
|
126261
|
-
var
|
|
126262
|
-
|
|
126263
|
-
var target = ts.skipAlias(symbol, checker);
|
|
126264
|
-
return importedName + "|" + createSymbolKey(target) + "|" + moduleKey;
|
|
126261
|
+
function key(importedName, symbol, ambientModuleName, checker) {
|
|
126262
|
+
var moduleKey = ambientModuleName || "";
|
|
126263
|
+
return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey;
|
|
126265
126264
|
}
|
|
126266
126265
|
function parseKey(key) {
|
|
126267
126266
|
var symbolName = key.substring(0, key.indexOf("|"));
|
|
126268
126267
|
var moduleKey = key.substring(key.lastIndexOf("|") + 1);
|
|
126269
|
-
var ambientModuleName = moduleKey === "
|
|
126268
|
+
var ambientModuleName = moduleKey === "" ? undefined : moduleKey;
|
|
126270
126269
|
return { symbolName: symbolName, ambientModuleName: ambientModuleName };
|
|
126271
126270
|
}
|
|
126272
|
-
function createSymbolKey(symbol) {
|
|
126273
|
-
var key = symbol.name;
|
|
126274
|
-
while (symbol.parent) {
|
|
126275
|
-
key += "," + symbol.parent.name;
|
|
126276
|
-
symbol = symbol.parent;
|
|
126277
|
-
}
|
|
126278
|
-
return key;
|
|
126279
|
-
}
|
|
126280
126271
|
function fileIsGlobalOnly(file) {
|
|
126281
126272
|
return !file.commonJsModuleIndicator && !file.externalModuleIndicator && !file.moduleAugmentations && !file.ambientModuleNames;
|
|
126282
126273
|
}
|
|
@@ -128621,20 +128612,19 @@ var ts;
|
|
|
128621
128612
|
}
|
|
128622
128613
|
}
|
|
128623
128614
|
Completions.getCompletionsAtPosition = getCompletionsAtPosition;
|
|
128615
|
+
function completionEntryDataIsResolved(data) {
|
|
128616
|
+
return !!(data === null || data === void 0 ? void 0 : data.moduleSpecifier);
|
|
128617
|
+
}
|
|
128624
128618
|
function continuePreviousIncompleteResponse(cache, file, location, program, host, preferences, cancellationToken) {
|
|
128625
|
-
var _a;
|
|
128626
128619
|
var previousResponse = cache.get();
|
|
128627
128620
|
if (!previousResponse)
|
|
128628
128621
|
return undefined;
|
|
128629
128622
|
var lowerCaseTokenText = location.text.toLowerCase();
|
|
128630
128623
|
var exportMap = ts.getExportInfoMap(file, host, program, cancellationToken);
|
|
128631
|
-
var checker = program.getTypeChecker();
|
|
128632
|
-
var autoImportProvider = (_a = host.getPackageJsonAutoImportProvider) === null || _a === void 0 ? void 0 : _a.call(host);
|
|
128633
|
-
var autoImportProviderChecker = autoImportProvider === null || autoImportProvider === void 0 ? void 0 : autoImportProvider.getTypeChecker();
|
|
128634
128624
|
var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, program, file, preferences,
|
|
128635
128625
|
/*isForImportStatementCompletion*/ false, function (context) {
|
|
128636
128626
|
var entries = ts.mapDefined(previousResponse.entries, function (entry) {
|
|
128637
|
-
if (!entry.hasAction || !entry.source || !entry.data || entry.data
|
|
128627
|
+
if (!entry.hasAction || !entry.source || !entry.data || completionEntryDataIsResolved(entry.data)) {
|
|
128638
128628
|
// Not an auto import or already resolved; keep as is
|
|
128639
128629
|
return entry;
|
|
128640
128630
|
}
|
|
@@ -128642,8 +128632,8 @@ var ts;
|
|
|
128642
128632
|
// No longer matches typed characters; filter out
|
|
128643
128633
|
return undefined;
|
|
128644
128634
|
}
|
|
128645
|
-
var
|
|
128646
|
-
var info = exportMap.get(file.path, entry.
|
|
128635
|
+
var origin = ts.Debug.checkDefined(getAutoImportSymbolFromCompletionEntryData(entry.name, entry.data, program, host)).origin;
|
|
128636
|
+
var info = exportMap.get(file.path, entry.data.exportMapKey);
|
|
128647
128637
|
var result = info && context.tryResolve(info, !ts.isExternalModuleNameRelative(ts.stripQuotes(origin.moduleSymbol.name)));
|
|
128648
128638
|
if (!result)
|
|
128649
128639
|
return entry;
|
|
@@ -128944,13 +128934,54 @@ var ts;
|
|
|
128944
128934
|
return text.replace(/\$/gm, "\\$");
|
|
128945
128935
|
}
|
|
128946
128936
|
function originToCompletionEntryData(origin) {
|
|
128947
|
-
|
|
128937
|
+
var ambientModuleName = origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name);
|
|
128938
|
+
var isPackageJsonImport = origin.isFromPackageJson ? true : undefined;
|
|
128939
|
+
if (originIsResolvedExport(origin)) {
|
|
128940
|
+
var resolvedData = {
|
|
128941
|
+
exportName: origin.exportName,
|
|
128942
|
+
moduleSpecifier: origin.moduleSpecifier,
|
|
128943
|
+
ambientModuleName: ambientModuleName,
|
|
128944
|
+
fileName: origin.fileName,
|
|
128945
|
+
isPackageJsonImport: isPackageJsonImport,
|
|
128946
|
+
};
|
|
128947
|
+
return resolvedData;
|
|
128948
|
+
}
|
|
128949
|
+
var unresolvedData = {
|
|
128948
128950
|
exportName: origin.exportName,
|
|
128951
|
+
exportMapKey: origin.exportMapKey,
|
|
128949
128952
|
fileName: origin.fileName,
|
|
128950
128953
|
ambientModuleName: origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name),
|
|
128951
128954
|
isPackageJsonImport: origin.isFromPackageJson ? true : undefined,
|
|
128952
|
-
moduleSpecifier: originIsResolvedExport(origin) ? origin.moduleSpecifier : undefined,
|
|
128953
128955
|
};
|
|
128956
|
+
return unresolvedData;
|
|
128957
|
+
}
|
|
128958
|
+
function completionEntryDataToSymbolOriginInfo(data, completionName, moduleSymbol) {
|
|
128959
|
+
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
128960
|
+
var isFromPackageJson = !!data.isPackageJsonImport;
|
|
128961
|
+
if (completionEntryDataIsResolved(data)) {
|
|
128962
|
+
var resolvedOrigin = {
|
|
128963
|
+
kind: 32 /* ResolvedExport */,
|
|
128964
|
+
exportName: data.exportName,
|
|
128965
|
+
moduleSpecifier: data.moduleSpecifier,
|
|
128966
|
+
symbolName: completionName,
|
|
128967
|
+
fileName: data.fileName,
|
|
128968
|
+
moduleSymbol: moduleSymbol,
|
|
128969
|
+
isDefaultExport: isDefaultExport,
|
|
128970
|
+
isFromPackageJson: isFromPackageJson,
|
|
128971
|
+
};
|
|
128972
|
+
return resolvedOrigin;
|
|
128973
|
+
}
|
|
128974
|
+
var unresolvedOrigin = {
|
|
128975
|
+
kind: 4 /* Export */,
|
|
128976
|
+
exportName: data.exportName,
|
|
128977
|
+
exportMapKey: data.exportMapKey,
|
|
128978
|
+
symbolName: completionName,
|
|
128979
|
+
fileName: data.fileName,
|
|
128980
|
+
moduleSymbol: moduleSymbol,
|
|
128981
|
+
isDefaultExport: isDefaultExport,
|
|
128982
|
+
isFromPackageJson: isFromPackageJson,
|
|
128983
|
+
};
|
|
128984
|
+
return unresolvedOrigin;
|
|
128954
128985
|
}
|
|
128955
128986
|
function getInsertTextAndReplacementSpanForImportCompletion(name, importCompletionNode, contextToken, origin, useSemicolons, options, preferences) {
|
|
128956
128987
|
var _a, _b, _c;
|
|
@@ -129726,6 +129757,7 @@ var ts;
|
|
|
129726
129757
|
}
|
|
129727
129758
|
}
|
|
129728
129759
|
function addPropertySymbol(symbol, insertAwait, insertQuestionDot) {
|
|
129760
|
+
var _a;
|
|
129729
129761
|
// For a computed property with an accessible name like `Symbol.iterator`,
|
|
129730
129762
|
// we'll add a completion for the *name* `Symbol` instead of for the property.
|
|
129731
129763
|
// If this is e.g. [Symbol.iterator], add a completion for `Symbol`.
|
|
@@ -129739,19 +129771,33 @@ var ts;
|
|
|
129739
129771
|
var index = symbols.length;
|
|
129740
129772
|
symbols.push(firstAccessibleSymbol);
|
|
129741
129773
|
var moduleSymbol = firstAccessibleSymbol.parent;
|
|
129742
|
-
if (!moduleSymbol ||
|
|
129774
|
+
if (!moduleSymbol ||
|
|
129775
|
+
!ts.isExternalModuleSymbol(moduleSymbol) ||
|
|
129776
|
+
typeChecker.tryGetMemberInModuleExportsAndProperties(firstAccessibleSymbol.name, moduleSymbol) !== firstAccessibleSymbol) {
|
|
129743
129777
|
symbolToOriginInfoMap[index] = { kind: getNullableSymbolOriginInfoKind(2 /* SymbolMemberNoExport */) };
|
|
129744
129778
|
}
|
|
129745
129779
|
else {
|
|
129746
|
-
var
|
|
129747
|
-
|
|
129748
|
-
|
|
129749
|
-
|
|
129750
|
-
|
|
129751
|
-
|
|
129752
|
-
|
|
129753
|
-
|
|
129754
|
-
|
|
129780
|
+
var fileName = ts.isExternalModuleNameRelative(ts.stripQuotes(moduleSymbol.name)) ? (_a = ts.getSourceFileOfModule(moduleSymbol)) === null || _a === void 0 ? void 0 : _a.fileName : undefined;
|
|
129781
|
+
var moduleSpecifier = (ts.codefix.getModuleSpecifierForBestExportInfo([{
|
|
129782
|
+
exportKind: 0 /* Named */,
|
|
129783
|
+
moduleFileName: fileName,
|
|
129784
|
+
isFromPackageJson: false,
|
|
129785
|
+
moduleSymbol: moduleSymbol,
|
|
129786
|
+
symbol: firstAccessibleSymbol,
|
|
129787
|
+
targetFlags: ts.skipAlias(firstAccessibleSymbol, typeChecker).flags,
|
|
129788
|
+
}], sourceFile, program, host, preferences) || {}).moduleSpecifier;
|
|
129789
|
+
if (moduleSpecifier) {
|
|
129790
|
+
var origin = {
|
|
129791
|
+
kind: getNullableSymbolOriginInfoKind(6 /* SymbolMemberExport */),
|
|
129792
|
+
moduleSymbol: moduleSymbol,
|
|
129793
|
+
isDefaultExport: false,
|
|
129794
|
+
symbolName: firstAccessibleSymbol.name,
|
|
129795
|
+
exportName: firstAccessibleSymbol.name,
|
|
129796
|
+
fileName: fileName,
|
|
129797
|
+
moduleSpecifier: moduleSpecifier,
|
|
129798
|
+
};
|
|
129799
|
+
symbolToOriginInfoMap[index] = origin;
|
|
129800
|
+
}
|
|
129755
129801
|
}
|
|
129756
129802
|
}
|
|
129757
129803
|
else if (preferences.includeCompletionsWithInsertText) {
|
|
@@ -129987,7 +130033,7 @@ var ts;
|
|
|
129987
130033
|
var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host);
|
|
129988
130034
|
var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host);
|
|
129989
130035
|
resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, preferences, !!importCompletionNode, function (context) {
|
|
129990
|
-
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule) {
|
|
130036
|
+
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule, exportMapKey) {
|
|
129991
130037
|
if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings())))
|
|
129992
130038
|
return;
|
|
129993
130039
|
if (!detailsEntryId && ts.isStringANonContextualKeyword(symbolName))
|
|
@@ -130012,6 +130058,7 @@ var ts;
|
|
|
130012
130058
|
kind: moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
130013
130059
|
moduleSpecifier: moduleSpecifier,
|
|
130014
130060
|
symbolName: symbolName,
|
|
130061
|
+
exportMapKey: exportMapKey,
|
|
130015
130062
|
exportName: exportInfo_1.exportKind === 2 /* ExportEquals */ ? "export=" /* ExportEquals */ : exportInfo_1.symbol.name,
|
|
130016
130063
|
fileName: exportInfo_1.moduleFileName,
|
|
130017
130064
|
isDefaultExport: isDefaultExport,
|
|
@@ -130835,18 +130882,7 @@ var ts;
|
|
|
130835
130882
|
return undefined;
|
|
130836
130883
|
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
130837
130884
|
symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(symbol) || symbol;
|
|
130838
|
-
return {
|
|
130839
|
-
symbol: symbol,
|
|
130840
|
-
origin: {
|
|
130841
|
-
kind: data.moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
130842
|
-
moduleSymbol: moduleSymbol,
|
|
130843
|
-
symbolName: name,
|
|
130844
|
-
isDefaultExport: isDefaultExport,
|
|
130845
|
-
exportName: data.exportName,
|
|
130846
|
-
fileName: data.fileName,
|
|
130847
|
-
isFromPackageJson: !!data.isPackageJsonImport,
|
|
130848
|
-
}
|
|
130849
|
-
};
|
|
130885
|
+
return { symbol: symbol, origin: completionEntryDataToSymbolOriginInfo(data, name, moduleSymbol) };
|
|
130850
130886
|
}
|
|
130851
130887
|
function getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, jsxIdentifierExpected) {
|
|
130852
130888
|
var name = originIncludesSymbolName(origin) ? origin.symbolName : symbol.name;
|
|
@@ -6367,23 +6367,28 @@ declare namespace ts {
|
|
|
6367
6367
|
isIncomplete?: true;
|
|
6368
6368
|
entries: CompletionEntry[];
|
|
6369
6369
|
}
|
|
6370
|
-
interface
|
|
6371
|
-
/** The file name declaring the export's module symbol, if it was an external module */
|
|
6372
|
-
fileName?: string;
|
|
6373
|
-
/** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */
|
|
6374
|
-
ambientModuleName?: string;
|
|
6375
|
-
/** True if the export was found in the package.json AutoImportProvider */
|
|
6376
|
-
isPackageJsonImport?: true;
|
|
6370
|
+
interface CompletionEntryDataAutoImport {
|
|
6377
6371
|
/**
|
|
6378
6372
|
* The name of the property or export in the module's symbol table. Differs from the completion name
|
|
6379
6373
|
* in the case of InternalSymbolName.ExportEquals and InternalSymbolName.Default.
|
|
6380
6374
|
*/
|
|
6381
6375
|
exportName: string;
|
|
6382
|
-
/**
|
|
6383
|
-
* Set for auto imports with eagerly resolved module specifiers.
|
|
6384
|
-
*/
|
|
6385
6376
|
moduleSpecifier?: string;
|
|
6377
|
+
/** The file name declaring the export's module symbol, if it was an external module */
|
|
6378
|
+
fileName?: string;
|
|
6379
|
+
/** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */
|
|
6380
|
+
ambientModuleName?: string;
|
|
6381
|
+
/** True if the export was found in the package.json AutoImportProvider */
|
|
6382
|
+
isPackageJsonImport?: true;
|
|
6383
|
+
}
|
|
6384
|
+
interface CompletionEntryDataUnresolved extends CompletionEntryDataAutoImport {
|
|
6385
|
+
/** The key in the `ExportMapCache` where the completion entry's `SymbolExportInfo[]` is found */
|
|
6386
|
+
exportMapKey: string;
|
|
6387
|
+
}
|
|
6388
|
+
interface CompletionEntryDataResolved extends CompletionEntryDataAutoImport {
|
|
6389
|
+
moduleSpecifier: string;
|
|
6386
6390
|
}
|
|
6391
|
+
type CompletionEntryData = CompletionEntryDataUnresolved | CompletionEntryDataResolved;
|
|
6387
6392
|
interface CompletionEntry {
|
|
6388
6393
|
name: string;
|
|
6389
6394
|
kind: ScriptElementKind;
|
|
@@ -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.20211009";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -126163,11 +126163,12 @@ var ts;
|
|
|
126163
126163
|
: ts.getNameForExportedSymbol(namedSymbol, scriptTarget);
|
|
126164
126164
|
var moduleName = ts.stripQuotes(moduleSymbol.name);
|
|
126165
126165
|
var id = exportInfoId++;
|
|
126166
|
+
var target = ts.skipAlias(symbol, checker);
|
|
126166
126167
|
var storedSymbol = symbol.flags & 33554432 /* Transient */ ? undefined : symbol;
|
|
126167
126168
|
var storedModuleSymbol = moduleSymbol.flags & 33554432 /* Transient */ ? undefined : moduleSymbol;
|
|
126168
126169
|
if (!storedSymbol || !storedModuleSymbol)
|
|
126169
126170
|
symbols.set(id, [symbol, moduleSymbol]);
|
|
126170
|
-
exportInfo.add(key(importedName, symbol, moduleName, checker), {
|
|
126171
|
+
exportInfo.add(key(importedName, symbol, ts.isExternalModuleNameRelative(moduleName) ? undefined : moduleName, checker), {
|
|
126171
126172
|
id: id,
|
|
126172
126173
|
symbolTableKey: symbolTableKey,
|
|
126173
126174
|
symbolName: importedName,
|
|
@@ -126175,16 +126176,16 @@ var ts;
|
|
|
126175
126176
|
moduleFile: moduleFile,
|
|
126176
126177
|
moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName,
|
|
126177
126178
|
exportKind: exportKind,
|
|
126178
|
-
targetFlags:
|
|
126179
|
+
targetFlags: target.flags,
|
|
126179
126180
|
isFromPackageJson: isFromPackageJson,
|
|
126180
126181
|
symbol: storedSymbol,
|
|
126181
126182
|
moduleSymbol: storedModuleSymbol,
|
|
126182
126183
|
});
|
|
126183
126184
|
},
|
|
126184
|
-
get: function (importingFile,
|
|
126185
|
+
get: function (importingFile, key) {
|
|
126185
126186
|
if (importingFile !== usableByFileName)
|
|
126186
126187
|
return;
|
|
126187
|
-
var result = exportInfo.get(key
|
|
126188
|
+
var result = exportInfo.get(key);
|
|
126188
126189
|
return result === null || result === void 0 ? void 0 : result.map(rehydrateCachedInfo);
|
|
126189
126190
|
},
|
|
126190
126191
|
forEach: function (importingFile, action) {
|
|
@@ -126192,7 +126193,7 @@ var ts;
|
|
|
126192
126193
|
return;
|
|
126193
126194
|
exportInfo.forEach(function (info, key) {
|
|
126194
126195
|
var _a = parseKey(key), symbolName = _a.symbolName, ambientModuleName = _a.ambientModuleName;
|
|
126195
|
-
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName);
|
|
126196
|
+
action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName, key);
|
|
126196
126197
|
});
|
|
126197
126198
|
},
|
|
126198
126199
|
releaseSymbols: function () {
|
|
@@ -126257,26 +126258,16 @@ var ts;
|
|
|
126257
126258
|
isFromPackageJson: isFromPackageJson,
|
|
126258
126259
|
};
|
|
126259
126260
|
}
|
|
126260
|
-
function key(importedName, symbol,
|
|
126261
|
-
var
|
|
126262
|
-
|
|
126263
|
-
var target = ts.skipAlias(symbol, checker);
|
|
126264
|
-
return importedName + "|" + createSymbolKey(target) + "|" + moduleKey;
|
|
126261
|
+
function key(importedName, symbol, ambientModuleName, checker) {
|
|
126262
|
+
var moduleKey = ambientModuleName || "";
|
|
126263
|
+
return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey;
|
|
126265
126264
|
}
|
|
126266
126265
|
function parseKey(key) {
|
|
126267
126266
|
var symbolName = key.substring(0, key.indexOf("|"));
|
|
126268
126267
|
var moduleKey = key.substring(key.lastIndexOf("|") + 1);
|
|
126269
|
-
var ambientModuleName = moduleKey === "
|
|
126268
|
+
var ambientModuleName = moduleKey === "" ? undefined : moduleKey;
|
|
126270
126269
|
return { symbolName: symbolName, ambientModuleName: ambientModuleName };
|
|
126271
126270
|
}
|
|
126272
|
-
function createSymbolKey(symbol) {
|
|
126273
|
-
var key = symbol.name;
|
|
126274
|
-
while (symbol.parent) {
|
|
126275
|
-
key += "," + symbol.parent.name;
|
|
126276
|
-
symbol = symbol.parent;
|
|
126277
|
-
}
|
|
126278
|
-
return key;
|
|
126279
|
-
}
|
|
126280
126271
|
function fileIsGlobalOnly(file) {
|
|
126281
126272
|
return !file.commonJsModuleIndicator && !file.externalModuleIndicator && !file.moduleAugmentations && !file.ambientModuleNames;
|
|
126282
126273
|
}
|
|
@@ -128621,20 +128612,19 @@ var ts;
|
|
|
128621
128612
|
}
|
|
128622
128613
|
}
|
|
128623
128614
|
Completions.getCompletionsAtPosition = getCompletionsAtPosition;
|
|
128615
|
+
function completionEntryDataIsResolved(data) {
|
|
128616
|
+
return !!(data === null || data === void 0 ? void 0 : data.moduleSpecifier);
|
|
128617
|
+
}
|
|
128624
128618
|
function continuePreviousIncompleteResponse(cache, file, location, program, host, preferences, cancellationToken) {
|
|
128625
|
-
var _a;
|
|
128626
128619
|
var previousResponse = cache.get();
|
|
128627
128620
|
if (!previousResponse)
|
|
128628
128621
|
return undefined;
|
|
128629
128622
|
var lowerCaseTokenText = location.text.toLowerCase();
|
|
128630
128623
|
var exportMap = ts.getExportInfoMap(file, host, program, cancellationToken);
|
|
128631
|
-
var checker = program.getTypeChecker();
|
|
128632
|
-
var autoImportProvider = (_a = host.getPackageJsonAutoImportProvider) === null || _a === void 0 ? void 0 : _a.call(host);
|
|
128633
|
-
var autoImportProviderChecker = autoImportProvider === null || autoImportProvider === void 0 ? void 0 : autoImportProvider.getTypeChecker();
|
|
128634
128624
|
var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, program, file, preferences,
|
|
128635
128625
|
/*isForImportStatementCompletion*/ false, function (context) {
|
|
128636
128626
|
var entries = ts.mapDefined(previousResponse.entries, function (entry) {
|
|
128637
|
-
if (!entry.hasAction || !entry.source || !entry.data || entry.data
|
|
128627
|
+
if (!entry.hasAction || !entry.source || !entry.data || completionEntryDataIsResolved(entry.data)) {
|
|
128638
128628
|
// Not an auto import or already resolved; keep as is
|
|
128639
128629
|
return entry;
|
|
128640
128630
|
}
|
|
@@ -128642,8 +128632,8 @@ var ts;
|
|
|
128642
128632
|
// No longer matches typed characters; filter out
|
|
128643
128633
|
return undefined;
|
|
128644
128634
|
}
|
|
128645
|
-
var
|
|
128646
|
-
var info = exportMap.get(file.path, entry.
|
|
128635
|
+
var origin = ts.Debug.checkDefined(getAutoImportSymbolFromCompletionEntryData(entry.name, entry.data, program, host)).origin;
|
|
128636
|
+
var info = exportMap.get(file.path, entry.data.exportMapKey);
|
|
128647
128637
|
var result = info && context.tryResolve(info, !ts.isExternalModuleNameRelative(ts.stripQuotes(origin.moduleSymbol.name)));
|
|
128648
128638
|
if (!result)
|
|
128649
128639
|
return entry;
|
|
@@ -128944,13 +128934,54 @@ var ts;
|
|
|
128944
128934
|
return text.replace(/\$/gm, "\\$");
|
|
128945
128935
|
}
|
|
128946
128936
|
function originToCompletionEntryData(origin) {
|
|
128947
|
-
|
|
128937
|
+
var ambientModuleName = origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name);
|
|
128938
|
+
var isPackageJsonImport = origin.isFromPackageJson ? true : undefined;
|
|
128939
|
+
if (originIsResolvedExport(origin)) {
|
|
128940
|
+
var resolvedData = {
|
|
128941
|
+
exportName: origin.exportName,
|
|
128942
|
+
moduleSpecifier: origin.moduleSpecifier,
|
|
128943
|
+
ambientModuleName: ambientModuleName,
|
|
128944
|
+
fileName: origin.fileName,
|
|
128945
|
+
isPackageJsonImport: isPackageJsonImport,
|
|
128946
|
+
};
|
|
128947
|
+
return resolvedData;
|
|
128948
|
+
}
|
|
128949
|
+
var unresolvedData = {
|
|
128948
128950
|
exportName: origin.exportName,
|
|
128951
|
+
exportMapKey: origin.exportMapKey,
|
|
128949
128952
|
fileName: origin.fileName,
|
|
128950
128953
|
ambientModuleName: origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name),
|
|
128951
128954
|
isPackageJsonImport: origin.isFromPackageJson ? true : undefined,
|
|
128952
|
-
moduleSpecifier: originIsResolvedExport(origin) ? origin.moduleSpecifier : undefined,
|
|
128953
128955
|
};
|
|
128956
|
+
return unresolvedData;
|
|
128957
|
+
}
|
|
128958
|
+
function completionEntryDataToSymbolOriginInfo(data, completionName, moduleSymbol) {
|
|
128959
|
+
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
128960
|
+
var isFromPackageJson = !!data.isPackageJsonImport;
|
|
128961
|
+
if (completionEntryDataIsResolved(data)) {
|
|
128962
|
+
var resolvedOrigin = {
|
|
128963
|
+
kind: 32 /* ResolvedExport */,
|
|
128964
|
+
exportName: data.exportName,
|
|
128965
|
+
moduleSpecifier: data.moduleSpecifier,
|
|
128966
|
+
symbolName: completionName,
|
|
128967
|
+
fileName: data.fileName,
|
|
128968
|
+
moduleSymbol: moduleSymbol,
|
|
128969
|
+
isDefaultExport: isDefaultExport,
|
|
128970
|
+
isFromPackageJson: isFromPackageJson,
|
|
128971
|
+
};
|
|
128972
|
+
return resolvedOrigin;
|
|
128973
|
+
}
|
|
128974
|
+
var unresolvedOrigin = {
|
|
128975
|
+
kind: 4 /* Export */,
|
|
128976
|
+
exportName: data.exportName,
|
|
128977
|
+
exportMapKey: data.exportMapKey,
|
|
128978
|
+
symbolName: completionName,
|
|
128979
|
+
fileName: data.fileName,
|
|
128980
|
+
moduleSymbol: moduleSymbol,
|
|
128981
|
+
isDefaultExport: isDefaultExport,
|
|
128982
|
+
isFromPackageJson: isFromPackageJson,
|
|
128983
|
+
};
|
|
128984
|
+
return unresolvedOrigin;
|
|
128954
128985
|
}
|
|
128955
128986
|
function getInsertTextAndReplacementSpanForImportCompletion(name, importCompletionNode, contextToken, origin, useSemicolons, options, preferences) {
|
|
128956
128987
|
var _a, _b, _c;
|
|
@@ -129726,6 +129757,7 @@ var ts;
|
|
|
129726
129757
|
}
|
|
129727
129758
|
}
|
|
129728
129759
|
function addPropertySymbol(symbol, insertAwait, insertQuestionDot) {
|
|
129760
|
+
var _a;
|
|
129729
129761
|
// For a computed property with an accessible name like `Symbol.iterator`,
|
|
129730
129762
|
// we'll add a completion for the *name* `Symbol` instead of for the property.
|
|
129731
129763
|
// If this is e.g. [Symbol.iterator], add a completion for `Symbol`.
|
|
@@ -129739,19 +129771,33 @@ var ts;
|
|
|
129739
129771
|
var index = symbols.length;
|
|
129740
129772
|
symbols.push(firstAccessibleSymbol);
|
|
129741
129773
|
var moduleSymbol = firstAccessibleSymbol.parent;
|
|
129742
|
-
if (!moduleSymbol ||
|
|
129774
|
+
if (!moduleSymbol ||
|
|
129775
|
+
!ts.isExternalModuleSymbol(moduleSymbol) ||
|
|
129776
|
+
typeChecker.tryGetMemberInModuleExportsAndProperties(firstAccessibleSymbol.name, moduleSymbol) !== firstAccessibleSymbol) {
|
|
129743
129777
|
symbolToOriginInfoMap[index] = { kind: getNullableSymbolOriginInfoKind(2 /* SymbolMemberNoExport */) };
|
|
129744
129778
|
}
|
|
129745
129779
|
else {
|
|
129746
|
-
var
|
|
129747
|
-
|
|
129748
|
-
|
|
129749
|
-
|
|
129750
|
-
|
|
129751
|
-
|
|
129752
|
-
|
|
129753
|
-
|
|
129754
|
-
|
|
129780
|
+
var fileName = ts.isExternalModuleNameRelative(ts.stripQuotes(moduleSymbol.name)) ? (_a = ts.getSourceFileOfModule(moduleSymbol)) === null || _a === void 0 ? void 0 : _a.fileName : undefined;
|
|
129781
|
+
var moduleSpecifier = (ts.codefix.getModuleSpecifierForBestExportInfo([{
|
|
129782
|
+
exportKind: 0 /* Named */,
|
|
129783
|
+
moduleFileName: fileName,
|
|
129784
|
+
isFromPackageJson: false,
|
|
129785
|
+
moduleSymbol: moduleSymbol,
|
|
129786
|
+
symbol: firstAccessibleSymbol,
|
|
129787
|
+
targetFlags: ts.skipAlias(firstAccessibleSymbol, typeChecker).flags,
|
|
129788
|
+
}], sourceFile, program, host, preferences) || {}).moduleSpecifier;
|
|
129789
|
+
if (moduleSpecifier) {
|
|
129790
|
+
var origin = {
|
|
129791
|
+
kind: getNullableSymbolOriginInfoKind(6 /* SymbolMemberExport */),
|
|
129792
|
+
moduleSymbol: moduleSymbol,
|
|
129793
|
+
isDefaultExport: false,
|
|
129794
|
+
symbolName: firstAccessibleSymbol.name,
|
|
129795
|
+
exportName: firstAccessibleSymbol.name,
|
|
129796
|
+
fileName: fileName,
|
|
129797
|
+
moduleSpecifier: moduleSpecifier,
|
|
129798
|
+
};
|
|
129799
|
+
symbolToOriginInfoMap[index] = origin;
|
|
129800
|
+
}
|
|
129755
129801
|
}
|
|
129756
129802
|
}
|
|
129757
129803
|
else if (preferences.includeCompletionsWithInsertText) {
|
|
@@ -129987,7 +130033,7 @@ var ts;
|
|
|
129987
130033
|
var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host);
|
|
129988
130034
|
var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host);
|
|
129989
130035
|
resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, preferences, !!importCompletionNode, function (context) {
|
|
129990
|
-
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule) {
|
|
130036
|
+
exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule, exportMapKey) {
|
|
129991
130037
|
if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings())))
|
|
129992
130038
|
return;
|
|
129993
130039
|
if (!detailsEntryId && ts.isStringANonContextualKeyword(symbolName))
|
|
@@ -130012,6 +130058,7 @@ var ts;
|
|
|
130012
130058
|
kind: moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
130013
130059
|
moduleSpecifier: moduleSpecifier,
|
|
130014
130060
|
symbolName: symbolName,
|
|
130061
|
+
exportMapKey: exportMapKey,
|
|
130015
130062
|
exportName: exportInfo_1.exportKind === 2 /* ExportEquals */ ? "export=" /* ExportEquals */ : exportInfo_1.symbol.name,
|
|
130016
130063
|
fileName: exportInfo_1.moduleFileName,
|
|
130017
130064
|
isDefaultExport: isDefaultExport,
|
|
@@ -130835,18 +130882,7 @@ var ts;
|
|
|
130835
130882
|
return undefined;
|
|
130836
130883
|
var isDefaultExport = data.exportName === "default" /* Default */;
|
|
130837
130884
|
symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(symbol) || symbol;
|
|
130838
|
-
return {
|
|
130839
|
-
symbol: symbol,
|
|
130840
|
-
origin: {
|
|
130841
|
-
kind: data.moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */,
|
|
130842
|
-
moduleSymbol: moduleSymbol,
|
|
130843
|
-
symbolName: name,
|
|
130844
|
-
isDefaultExport: isDefaultExport,
|
|
130845
|
-
exportName: data.exportName,
|
|
130846
|
-
fileName: data.fileName,
|
|
130847
|
-
isFromPackageJson: !!data.isPackageJsonImport,
|
|
130848
|
-
}
|
|
130849
|
-
};
|
|
130885
|
+
return { symbol: symbol, origin: completionEntryDataToSymbolOriginInfo(data, name, moduleSymbol) };
|
|
130850
130886
|
}
|
|
130851
130887
|
function getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, jsxIdentifierExpected) {
|
|
130852
130888
|
var name = originIncludesSymbolName(origin) ? origin.symbolName : symbol.name;
|
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.20211009";
|
|
93
93
|
/* @internal */
|
|
94
94
|
var Comparison;
|
|
95
95
|
(function (Comparison) {
|
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.5.0-dev.
|
|
5
|
+
"version": "4.5.0-dev.20211009",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|