* Add known keys of the mapped type constraint to its members
* Avoid second pass of adding known members by instead passing `noReductions` to `mapType`
This adds a "small" d.ts bundler script. This script is very basic,
using Node printing to produce its output. Generally speaking, this is
inadvisable as it completely disregards name shadowing, globals, etc.
However, in our case, we don't care about the globals, and we can opt to
restructure our codebase in order to avoid conflict, which we largely
had to do anyway when we were namespaces and everything was in scope.
* Fixed a regression with discriminating unions based on a union property against `undefined` with `strictNullChecks: false`
* Add additional test case from the issue comment
* fix(50551): handle destructuring variables used before assignment
* skip the error in binding elements that refer to the same destructuring
* fix binding element type
* Check nested weak types in intersections on target side of relation
* Add regression tests
* Move logic from isRelatedTo to structuredTypeRelatedTo
* Fix lint error
* Add additional test
* Include type parameter defaults in contextual typing
* Add tests
* Add additional an test for instantiating contextual signature using default type param (#51002)
* Update comment
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* Remove language version check for extended escapes.
* Accepted baselines.
* Record whether nodes have extended Unicode escapes. Replace them in the es2015 transform.
* Accepted baselines.
* Move file to better-reflect generality of tests.
* Added tests for variables at the top level.
* Accepted baselines.
* Added test for extended astral character.
* Accepted baseline.
* Enable sourcemaps in tests.
* Accepted baselines.
* Call `setOriginalNode` on identifiers with extended escapes.
* `in` proves property presence only if property can't be undefined
* Accept new baselines
* Add tests
* Accept new baselines
* Properly compute SymbolFlags.Optional for intersected properties
* Accept new baselines
* Check optionality only for property-like declarations
* Add more tests
* Improve checking of `in` operator
* Accept new baselines
* Add tests
* Delete old and accept new baselines
* Disallow right operand of type '{}'
* Accept new baselines
* Support number and symbol literals
* Add tests
* Disallow {} typed right operand only in strictNullChecks mode
* Accept new baselines
* Detect {} resulting from intersections
* Accept new baselines
* Don't attempt to reduce intersections with Record<K, unknown>
* Accept new baselines
* Return undefined instead of unknownSymbol from getGlobalRecordSymbol()
* don't elide imports in JS files
* WIP: get rid of caching of resolved symbol, add transform tests
* get rid of caching only for resolver functions
* use getReferencedSymbol instead of getReferencedValueSymbol in module transform
* WIP: add reportErrors flag to resolveName
* Import transformations now work correctly
* don't emit diagnostics when looking up referenced symbol
* small fixes and get rid of unnecessary comments
* update tests
* clean up
* CR: use nameNotFoundMessage to decide whether to report errors in resolveName
* WIP
* implement typequery contains reference check + tests
* add unit test
* fix unit test
* use symbols in scope to check type query type parameter references
* remove comment on unit test
* remove comment
* use isNodeDescendantOf implementation to check scoping
* CR: small fixes
* treat the different kinds of type parameter declarations
* undo test change
* make `RegExpExecArray` always include index 0
* update baseline
* remove `BaseRegExpArray` interface
* add test
Co-authored-by: DetachHead <detachhead@users.noreply.github.com>
* Defer distributing index over generic object types
* Only check if the index type should be deferred for intersection types
* Add an additional test case
* Retain name and propertyName in declaration emit copies of binding patterns if property name is a keyword
* Accept baselines
* Remove out of date file