2402 Commits

Author SHA1 Message Date
Andy
6fbeced025
Simplify test case (#20675) 2017-12-13 11:03:37 -08:00
Wesley Wigham
40029a0523
Use TypeFlags.UnionOrIntersection not TypeFlags.Union (#20662) 2017-12-12 16:32:55 -08:00
Andy
d53af092c7
Always check a return expression in a generator (#20621) 2017-12-12 07:50:11 -08:00
Wesley Wigham
eba15b5990
Preserve literal types in contextual unions (#19966)
* Cherrypick non-comparability related changes from prolific literals PR

* Renames and other style changes

* Accept changes to new tests

* Exclude the domain root from contextual typing literals except for type variables

* Readd simple preservation fix

* Add huge map test

* Revert changes to widening on destructuring initalizers

* Use tristate for subtype-reduction type

* Rename type and argument

* Move longer-running test to user suite
2017-12-11 18:03:38 -05:00
Wesley Wigham
d01f4d140a
Reimplement #20320 differently to handle multiple check orders better (#20588)
* Reimplement #20320 less elegantly but handle odd check orders better

* Consolidate 2 of 3 conditions
2017-12-11 13:32:16 -05:00
Andy
484758a3d3
Handle ! following a keyword in isClassMemberStart (#20617)
* Handle `!` following a keyword in isClassMemberStart

* Fix test
2017-12-11 09:45:36 -08:00
Daniel Rosenwasser
8d209a3672
Merge pull request #20467 from Kovensky/array-from-union-fix
Accept Iterable|ArrayLike union in Array.from, add tests
2017-12-07 17:22:05 -08:00
Andy
5e5b7706e5
Hack to allow concat to work even when an Array isn't assignable to ReadonlyArray (#20455) 2017-12-07 12:15:12 -08:00
IdeaHunter
069f73d0f2 Change type narrowing for optional properties 2017-12-06 00:02:36 +03:00
IdeaHunter
9c3c2adfb0 Add initial support for 'in' typeguarding 2017-12-06 00:02:36 +03:00
Andy
8153397e91
Lazily compute signature type predicates (#17600)
* Lazily compute signature type predicates

* Use an instance of IdentifierTypePredicate to represent an unresolved type predicate

* Simplify `getMaybeTypePredicate`

* Invert representation of `resolvedTypePredicate`

* Remove `__unresolvedTypePredicate` type and remember to use `noTypePredicate` instead of `undefined` when in all `createSignature` calls

* Fix style of getTypePredicateOfSignature

* Use in createGetSymbolWalker

* Fix bugs for unions of type predicates

* Code review

* Make noTypePredicate purely an implementation detail of getTypePredictateOfSignature

* Add test

* Add test for #19642

* Add test with reversed order
2017-12-05 08:32:34 -08:00
Diogo Franco (Kovensky)
c894eebe51 Accept Iterable|ArrayLike union in Array.from, test 2017-12-05 14:37:51 +09:00
Andy
37a40561ac
Support exponentiation operator in const enums (#20424) 2017-12-04 14:32:25 -08:00
Mohamed Hegazy
59e5bbc393
Make sure autoArrayType is unique, even if no lib is available (#20344)
* Make sure autoArrayType is unique, even if no lib is available

* fix typo
2017-12-01 19:51:14 -08:00
Wesley Wigham
1045d95a44
Always instantiate the extends clause, even in the presence of an error (#20232)
* Still instantiate the extends clause even when theres a noimplicitany error in js

* Only be permissive for JS

* In JS, instantiate classes even when they have too many type arguments, instead of returning unknownType
2017-12-01 21:09:06 -05:00
Anders Hejlsberg
f6b1a1de59
Merge pull request #20404 from Microsoft/fixUntypedFunctionCall
Fix untyped function call on constrained type variable
2017-12-01 17:19:32 -08:00
Anders Hejlsberg
3531bd2b57 Add regression test 2017-12-01 16:54:32 -08:00
Nathan Shively-Sanders
8d7c2a2a77
Merge pull request #20370 from Microsoft/cutoff-inference-for-recursive-mapped-types
Cut off inference for recursive mapped types
2017-12-01 15:10:06 -08:00
Nathan Shively-Sanders
1068ee105d Test:inference to self-referential mapped type
From a self-referential type.
2017-11-30 09:40:43 -08:00
Andrew Casey
3a05363a29 Correct errorForUsingPropertyOfTypeAsType03
Rename didn't work properly in a file with errors, so the test isn't
testing the right thing.
2017-11-29 17:48:58 -08:00
Andrew Casey
cdd3cd4f51
Merge pull request #20335 from amcasey/TS2713
Apply TS2713 to classes
2017-11-29 17:39:32 -08:00
Wesley Wigham
a1669bb431
handle multiline jsx strings correctly, emit escapes in jsx attributes correctly (#20309) 2017-11-29 17:08:51 -08:00
Wesley Wigham
a625dec58a
Elide import namespace from which only const enums are used (#20320) 2017-11-29 16:36:17 -08:00
Andrew Casey
170cb9c811 Add baselines for the current state of enum members 2017-11-29 15:57:11 -08:00
Andrew Casey
31c4ca5235 Handle all non-namespace types 2017-11-29 15:49:58 -08:00
Charles Pierce
72da4b8f12 Error when LHS of instanceof is Union of Primitives #18519 (#19063)
* Error when LHS of instanceof is Union of Primitives #18519

* Refactor to allTypesAssignableToKind method and update test

* Use ternary expression instead of if / else blocks
2017-11-28 15:05:06 -08:00
Wesley Wigham
835fae264f
Allow possibly undefined destructuring in ambient parameter declarations (#20230) 2017-11-27 23:16:21 -08:00
Anders Hejlsberg
61094ec2ea
Merge pull request #20229 from Microsoft/fixParenthesizedAsyncArrowFunction
Fix parenthesized async arrow function
2017-11-22 19:50:35 -08:00
Anders Hejlsberg
3a00b76cff Add regression test 2017-11-22 10:50:49 -08:00
Andy
013ce8e36d
Catch illegal jsdoc tags on constructors (#20045) 2017-11-21 21:36:08 -05:00
Wesley Wigham
50866e114a
Fix visibility checking of mutually recursive exports (#19929)
* Do visibility painting from collectLinkedAliases in checker to remove statefullness in declaration emit

* Fix #17085

* Add deeply destructured array to test

* Add test case for #18634

* Add PR feedback
2017-11-21 15:06:27 -08:00
Anders Hejlsberg
8c4c529d8e Merge branch 'master' into strictPropertyInitialization 2017-11-17 14:30:23 -08:00
Nathan Shively-Sanders
c698a2b8e5
Merge pull request #19227 from Microsoft/infer-object-type-from-string-literal-to-keyof-T
Infer object type from string literal to keyof T
2017-11-16 15:07:12 -08:00
Charles Pierce
1da35d9dca Treat exhaustive switch as last statement in function #18882 (#20063) 2017-11-16 12:17:26 -08:00
Anders Hejlsberg
3a7a99f7c5 Accept new baselines 2017-11-16 11:08:03 -08:00
Anders Hejlsberg
3357aae2d8 Update tests 2017-11-16 10:58:12 -08:00
Ron Buckton
a21a129abb Merge branch 'master' into dynamicNames 2017-11-15 15:24:05 -08:00
Andy
4b96edf72f
Treat ... in jsdoc type as creating a synthetic rest parameter -- not as an array type (#19483)
* Treat `...` in jsdoc type as creating a synthetic rest parameter -- not as an array type

* Change type parsing so `...T[]` parses as `...(T[])` and not `(...T)[]`

* Replace the last parameter with ...args, and make access to it potentially undefined

* Code review
2017-11-15 13:04:08 -08:00
Wesley Wigham
9c51a8534e
Synchronize getEntityNameForDecoratorMetadata and serializeUnionOrIntersectionType (#19879) 2017-11-14 14:20:18 -08:00
meyer
36ce7eac5a Update JSX intrinsic element test to match babel’s (#19946)
* Update JSX intrinsic element test to match babel’s

* Update baseline

* Move regex out of isIntrinsicJsxName

* Switch to non-regex intrinsic name test
2017-11-14 09:40:32 -08:00
Wesley Wigham
7d93434f2c
Fix crash on non-dts-require (#19980) 2017-11-13 16:41:29 -08:00
Wesley Wigham
3d602936e0
Handle binding elements while looking for invalid await and yield (#19972)
* Handle omitting a node in addCustomPrologue, account for binding elemnts in isInParameterInitializerBeforeContainingFunction

* Use append

* Fix lint
2017-11-13 16:40:08 -08:00
Wesley Wigham
b3d3b781ab
Treat {} in T = {} as any in JS files (#19977) 2017-11-13 15:39:08 -08:00
Ron Buckton
804c7d3690 Merge branch 'master' into dynamicNames 2017-11-13 13:24:20 -08:00
uniqueiniquity
0fe0ff7943 Add test 2017-11-13 10:55:33 -08:00
Nathan Shively-Sanders
ef07efe70a Merge branch 'master' into infer-object-type-from-string-literal-to-keyof-T 2017-11-13 08:46:49 -08:00
Wesley Wigham
16efae2433
Consider the commonjs module indicator as a module indicator (#18490)
* Consider the commonjs module indicator as an indicator that something is effectively an external module

* Only use commonjs module indicator when targeting commonjs
2017-11-09 16:49:04 -08:00
Andy
90ae9ffe6e
If there is an export default x; alias declaration, disallow other default exports (#19872) 2017-11-09 12:21:37 -08:00
Wesley Wigham
a1014b2b13
Mark all parameters as needed for metadata when one is decorated (#19849)
* Mark all properties as needed for metadata when one is decorated

* Add restarg test
2017-11-09 00:26:33 -08:00
Wesley Wigham
ceaeffa3ab
Fix declaration emit for imported export alias specifiers (#19852)
* Badness

* Revert #3641, whose original bug has been fixed by other means

* Add another repro
2017-11-08 18:44:46 -08:00