TypeScript/src/services
Anders Hejlsberg 0e905be42b
Index signatures for symbols and template literal strings (#44512)
* Switch index signature storage to 'indexInfos: IndexInfo[]' property

* Accept new baselines

* Remove another usage of IndexKind enum

* Update getIndexedAccessType and resolveMappedTypeMembers

* Accept new baselines

* Update grammar checking for index signatures

* Accept new baselines

* Consider all index signatures in mapped types and union types

* Accept new baselines

* Update getIndexType

* Accept new baselines

* Intersect multiple applicable index signatures

* Use getApplicableIndexInfo instead of hardwired string/number handling

* Update index signature relationship checking

* Report type for which index signature is missing

* Report type for which index signature is missing

* Accept new baselines

* Make 'number' index signatures consistently apply to numeric strings

* Accept new baselines

* Update fourslash test

* Revise index constraint checking

* Accept new baselines

* Update error messages

* Accept new baselines

* Update type inference from index signatures

* Update isKnownProperty

* Update contextual typing based on index signatures

* Accept new baselines

* Support union types in index signature declarations

* Accept new baselines

* Check duplicate index signatures / remove redundant template literals from unions with string

* Accept new baselines

* Include key type in diagnostic / check symbol-named properties

* Accept new baselines

* Minor fix

* Add tests

* Accept new baselines

* Add optimized findApplicableIndexInfoForName

* Accept new baselines

* Another place we don't need to obtain literal type for property name

* Accept new baselines

* Don't create literal types that are going to be discarded

* Individual maps for string, number, bigint, and enum literal types

* Remove ineffective optimizations

* Accept new baselines

* Permit intersections as key types in index signatures

* Index expression in element access is template literal context

* Add tests

* Accept new baselines

* Symbol index signatures from object literals with computed symbol properties

* Accept new baselines

* Add more tests

* Accept new baselines

* Implement Go To Definition for all applicable index signatures

* Add fourslash test

* Accept new API baselines
2021-06-21 11:25:42 -07:00
..
codefixes Index signatures for symbols and template literal strings (#44512) 2021-06-21 11:25:42 -07:00
formatting fix(44637): add spaces between exports assignment equal token (#44655) 2021-06-18 16:37:41 -07:00
refactors Init (#44206) 2021-06-10 14:12:33 -07:00
breakpoints.ts feat(eslint): consistent-type-assertions (#43556) 2021-05-18 06:20:57 -07:00
callHierarchy.ts Add undefined to Symbol.declarations' type (#42975) 2021-03-01 14:32:28 -08:00
classifier.ts Simplify or optimize regexes with polynomial time worst cases (#44197) 2021-05-24 15:28:52 -07:00
classifier2020.ts feat(eslint): consistent-type-assertions (#43556) 2021-05-18 06:20:57 -07:00
codeFixProvider.ts --noImplicitOverride (#39669) 2021-03-26 16:29:22 -07:00
completions.ts Include actual generated module specifiers in module specifier cache (#44176) 2021-06-10 12:26:32 -05:00
documentHighlights.ts redirectsTarget is keyed with Path (#44278) 2021-05-26 16:50:14 -07:00
documentRegistry.ts Handle document Registry to distinguish between files with same name and document registry key(compiler options affecting source file) but different ScriptKind (#43474) 2021-04-05 13:27:34 -07:00
exportAsModule.ts Refactor: No more than 1 namespace declaration per file (#35373) 2019-11-27 13:44:31 -08:00
findAllReferences.ts Add jsdoc member names: Class#method (#44150) 2021-05-21 07:53:17 -07:00
getEditsForFileRename.ts getEditsForFileRename: fix updateTsconfigFiles w/ empty include 2021-06-21 13:38:54 -04:00
globalThisShim.ts Move codefix types into services/types.ts (#35506) 2019-12-05 10:51:31 -08:00
goToDefinition.ts Index signatures for symbols and template literal strings (#44512) 2021-06-21 11:25:42 -07:00
importTracker.ts Improve errors for incorrectly nested export default (#43967) 2021-05-07 08:09:38 -07:00
jsDoc.ts Add @linkcode and @linkplain tags (#44208) 2021-05-24 13:01:58 -07:00
navigateTo.ts feat(eslint): consistent-type-assertions (#43556) 2021-05-18 06:20:57 -07:00
navigationBar.ts feat(eslint): consistent-type-assertions (#43556) 2021-05-18 06:20:57 -07:00
organizeImports.ts Added skipDestructiveCodeActions argument to organize imports server command (#43184) 2021-04-20 09:04:17 -07:00
outliningElementsCollector.ts Simplify or optimize regexes with polynomial time worst cases (#44197) 2021-05-24 15:28:52 -07:00
patternMatcher.ts Merge branch 'master' into migrateMapsAndSets 2020-07-07 13:53:46 -07:00
preProcess.ts Handle import type and export type in preprocess (#37508) 2020-03-23 10:11:01 -07:00
refactorProvider.ts Hierarchical refactorings (#41975) 2020-12-23 12:50:03 -08:00
rename.ts fix(43559): allow renaming in files with no-default-lib enabled (#43579) 2021-04-23 16:56:33 -07:00
services.ts support JSDoc comments inherited for parameter properties (#44329) 2021-06-16 14:46:49 -07:00
shims.ts feat(eslint): consistent-type-assertions (#43556) 2021-05-18 06:20:57 -07:00
signatureHelp.ts Fix the code that checks for variadic signatures 2021-05-20 09:27:57 -04:00
smartSelection.ts feat(42735): add single line comments to selection ranges (#42763) 2021-02-11 17:14:55 -08:00
sourcemaps.ts Migrate more places to use Map/Set 2020-06-26 10:15:53 -07:00
stringCompletions.ts Cache parsed path mapping patterns (#44078) 2021-05-26 09:40:42 -07:00
suggestionDiagnostics.ts fix(44123): forbid convert to async for generator callbacks (#44147) 2021-05-28 14:42:09 -07:00
symbolDisplay.ts fix(43796): Sort @deprecated completions lower than others (#43880) 2021-05-18 13:55:00 -07:00
textChanges.ts fix(44465): remove only unused declarations instead of the entire line (#44490) 2021-06-18 16:20:34 -07:00
transform.ts Refactor node factory API, use node factory in parser (#35282) 2020-06-16 16:55:03 -07:00
transpile.ts feat(eslint): consistent-type-assertions (#43556) 2021-05-18 06:20:57 -07:00
tsconfig.json --noImplicitOverride (#39669) 2021-03-26 16:29:22 -07:00
types.ts Added skipDestructiveCodeActions argument to organize imports server command (#43184) 2021-04-20 09:04:17 -07:00
utilities.ts services/utilities/getMeaningFromLocation(): fix w/ export specifiers 2021-06-17 14:19:03 -04:00