3174 Commits

Author SHA1 Message Date
Anders Hejlsberg
4ae3a54ba6
Merge pull request #31784 from microsoft/numericEnumMappedType
Numeric enums as key types in mapped types
2019-06-06 15:00:19 -07:00
Anders Hejlsberg
7e07669885 Generate declaration file from tests 2019-06-06 09:41:44 -07:00
Anders Hejlsberg
f8aaccdd1d Add tests 2019-06-05 16:55:08 -07:00
Wesley Wigham
38da682de7
Unify contextual signature type parameter assignment (#31574)
* Unify conditional signature type assignment

* Moonomorphism
2019-06-05 14:35:00 -07:00
Anders Hejlsberg
a5281ada54
Merge pull request #31687 from microsoft/enumImplicitIndexSignatures
Implicit index signatures for enum object types
2019-06-02 07:42:58 -07:00
Anders Hejlsberg
d6c323a21b
Merge pull request #31711 from microsoft/fixDestructuringWithFallback
Fix destructuring with fallback
2019-06-01 17:30:07 -07:00
Anders Hejlsberg
86040e0699 Add more tests 2019-06-01 10:36:53 -07:00
Anders Hejlsberg
d0795afb48 Add regression tests 2019-05-31 16:53:46 -07:00
Wesley Wigham
41ce98b440
Propagate saved variance flags from cached comparisons (#31688)
* Propegate saved variance flags from cached comparisons

* Propegate variance a bit more selectively

* Add test

* Remove now-redundant code

* Fix misspelling and remove unneeded branch
2019-05-31 16:11:08 -07:00
Anders Hejlsberg
cf1bceb9e4 Add tests 2019-05-30 17:35:10 -07:00
Anders Hejlsberg
7dc1f40dc1
Merge pull request #31680 from microsoft/fixGenericReturnTypeInference
Fix generic return type inference
2019-05-30 16:33:22 -07:00
Anders Hejlsberg
2b36fdd08b Add regression tests 2019-05-30 14:40:03 -07:00
Anders Hejlsberg
22475e8958 Add regression tests 2019-05-29 13:09:51 -07:00
Wesley Wigham
cd09cbbd5e
Cache widened types (#31586)
* Cache widened types

* Fix lint
2019-05-28 13:13:46 -07:00
Wesley Wigham
e70f2af25d
Defer union or intersection property type normalization (#31486)
* Defer union or intersection property type normalization

* Accept moved span
2019-05-28 10:51:47 -07:00
Anders Hejlsberg
7ff97d1393
Merge pull request #31572 from microsoft/normalizedIntersectionLimiter
Limit size of union types resulting from intersection type normalization
2019-05-23 17:57:33 -07:00
Wesley Wigham
bb4080c175
Collect _all_ symlinks a file may have witnessed when attempting to generate specifiers (#31571) 2019-05-23 17:17:24 -07:00
Anders Hejlsberg
53f37cfec3 Add test 2019-05-23 17:09:17 -07:00
Titian Cernicova-Dragomir
8ab0a25211 Improve error messages when indexing into a type (#31379)
* Improved error messages when indexing an object type with a literal string, a literal string union or a string.

* Added more specific message when using the indexing operator with an incompatible index argument.

* Fixed spelling and error message.
2019-05-23 15:27:50 -07:00
Nathan Shively-Sanders
4d27361680
Allow JS with isolated modules (#31483)
* Allow JS with isolated modules

Previously legacy JS code was not allowed; it was required to use ES6
module syntax. Unfortunately, the check happens after parsing but before
binding, and the commonjs module indicator isn't set until binding
because it's not syntactically simple like the ES6 module indicator,
which is set during parsing.

So I decided that JS should be allowed during isolatedModules
unconditionally. We're not going to be transforming it anyway.

* Update baselines

* Switch test to outDir instead of noEmit
2019-05-23 11:09:28 -07:00
Sheetal Nandi
431f0d6d8c Add test case for #30429 2019-05-22 11:22:07 -07:00
Nathan Shively-Sanders
b36c8a0690
Make anyArray.filter(Boolean) return any[], not unknown[] (#31515)
* Add this-parameter workaround to Array.filter

Allows anys.filter(Boolean) to once again return any[], not unknown[].

* Add any constraint to Boolean factory function

I want to test how well this works.

* Remove Boolean factory type guard

* Remove typeGuardBoolean test
2019-05-22 09:45:41 -07:00
Wesley Wigham
3885e3fcda
Fix error message regressed by #30916 (#31276) 2019-05-14 16:58:06 -07:00
Wesley Wigham
f140dfc30b
Chain RHS narrowing and truthiness narrowing in assignment expression narrowing (#31348) 2019-05-13 14:41:33 -07:00
Wesley Wigham
b7fe99a88c
Instantiate constraint with default upon comparison (#31240) 2019-05-11 16:40:23 -07:00
Anders Hejlsberg
ae3d1d45c1
Merge pull request #31221 from microsoft/improveReverseMappedTypes
Improve reverse mapped types
2019-05-10 13:42:22 -07:00
Wesley Wigham
d8f2702a5d
Cache control flow results across invocations (#31003)
* Modify flow loop cache key to include all inputs

* Add test case, cache similarly to loop cache, reuse loop cache key (now corrected)

* Use simpler singleton key and type cache for FlowAssignment nodes
2019-05-10 11:48:44 -07:00
Daniel Rosenwasser
39e9a2bb4f
Maintain modifiers on Omit (#31205)
Maintain modifiers on `Omit`
2019-05-10 10:03:48 -07:00
Klaus Meinhardt
0c9db717ad fix parsing of leading union/intersection operator (#31265)
* fix parsing of leading union/intersection operator

Fixes: #30995

* test declaration emit
2019-05-08 14:09:11 -07:00
Andrew Branch
8c07b40cb6
Merge pull request #31098 from andrewbranch/bug/30804
Fix crash checking spread element in loop
2019-05-07 13:02:22 -07:00
Wesley Wigham
b365e657d4
Add unmeasurable variance kind for marking types whose variance result is unreliable (#30416)
* Add unmeasurable variance kind for marking types whose variance result is unreliable

* Remove now-unneeded nongeneric checks

* Add rule allowing `Readonly<any>` to be `any` instead of `{readonly [index: string]: any}`

* All Unmeasurable variances to still shortcut structural comparisons in some cases

* Separate unmeasurable from unreliable to reduce the impact of this change, for now

* Fix lint

* Remove Readonly<any> -> any callout

* Add fix for circularity error triggered by deep signature return type comparisons with `this` types
2019-05-03 14:42:17 -07:00
Anders Hejlsberg
f73308b248 Add tests 2019-05-02 15:24:56 -07:00
Sheetal Nandi
e3a91d8ca1
Merge pull request #31191 from Microsoft/fileFromNodeModules
Include only files that can be emitted into the source file directory check for composite projects
2019-05-01 15:09:32 -07:00
Daniel Rosenwasser
60962a8709 Added test. 2019-05-01 13:57:47 -07:00
uhyo
55bffe3616 add tests to check errors for use of 'await' in non-async function 2019-05-02 02:33:27 +09:00
Sheetal Nandi
3df65a7a85 Add test when module resolution includes .ts file from node_modules 2019-05-01 10:07:00 -07:00
Anders Hejlsberg
9509a54e66
Merge pull request #31141 from Microsoft/fixInferenceToIndexedAccessWithSubstitution
Fix inference to indexed access type containing substitution type
2019-04-30 17:45:53 -07:00
Kagami Sascha Rosylight
49d6f61298 Add ES2019 Object.fromEntries function (#30934)
* add ES2019 Object.fromEntries function

* add some comments

* apply suggested changes

* add readonly and general any
2019-04-30 09:49:58 -07:00
Anders Hejlsberg
90054497bd
Merge pull request #31116 from Microsoft/higherOrderConstructorTypes
Support higher order inferences for constructor functions
2019-04-30 08:41:58 -07:00
Collins Abitekaniza
7016d45447 Better errors for indexing gettable/settable values (#26446)
* give suggestions when index signature given

* add tests for noImplicitAny indexing on Object

* remove comments regarding error messages

* recommend set if el is on RHS of assignment else get

* add new baseline tests
2019-04-30 08:31:37 -07:00
Anders Hejlsberg
4f38aa88c2 Add regression test 2019-04-27 16:22:11 -07:00
Anders Hejlsberg
53cbea7846 Add tests 2019-04-27 07:51:05 -07:00
Jack Williams
0949ad1130 Fix #24991: Weaken narrowing for == (#29840)
Spelling
2019-04-25 19:30:03 -07:00
Max Heiber
f9d12ed54b fix 31012 allow noEmitOnError with isolatedModules (#34) (#31043)
fix #31012

Since the purpose of isolatedModules: true is to
do extra validation to ensure that separate
compilation is safe

Allowing emit in the presence of errors is
compatible with that intention.

Signed-off-by: Max Heiber <max.heiber@gmail.com>
2019-04-25 15:31:03 -07:00
Wenlu Wang
b8e3c41ee1 fix jsdoc iterator on expression of export assignment (#30558) 2019-04-25 14:53:06 -07:00
Kagami Sascha Rosylight
1a75d525fa add ES2020 matchAll APIs (#30936) 2019-04-25 14:11:50 -07:00
Daniel Rosenwasser
58898f4351
Make Omit alias a separate type (#31115)
Make `Omit` alias a separate type
2019-04-25 16:40:24 -04:00
Wenlu Wang
bc46c770bf allow literan enum const assertions (#30700)
* allow literan enum const assertions

* update desc
2019-04-25 10:09:21 -07:00
Daniel Rosenwasser
60e7b5d17e Added tests. 2019-04-24 16:43:17 -07:00
Andrew Branch
89497fcac9
Don’t use checkExpressionCached when checking spread element inside a loop 2019-04-24 14:15:58 -07:00