Commit Graph

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