-
Notifications
You must be signed in to change notification settings - Fork 12.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design Meeting Notes, 1/19/2024 #57239
Labels
Design Notes
Notes from our design meetings
Comments
Aliasing namespaces: #10187 |
As I posted in #57019 (comment), since |
The suspense is killing me |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Exposing
TypeChecker#resolveName
#56932
getSymbolAtLocation
instead of this.SymbolFlags.All
.-1
/~0
?Supporting more recursive type aliases
#35017
#35164
#41164
#57034
We can allow explicit object types, mapped types, or type references to classes/interfaces.
We do not have any special handling for instantiations of type aliases to object types or mapped types.
Have a prototype that makes some of this work.
Enables some patterns like
So what we do is that the type references themselves become deferred.
What currently gets a deferred reference node?
type MyArray = Array<Blah>
type Blah = Array<Blah>
If we're instantiating a type alias that's an anonymous type or a mapped type, we can now do something very similar.
Object types provide a natural deferral point because property types can be deferred; but generic homomorphic mapped types can expand out into a union. So how is that handled?
Creating a Global Reference to a Module
#57019
import
declarations in adeclare global
don't implicitly get exported.export
it.export as namespace
?A
/** @nonnull */
tag#57042
@nonnull
tag"?/** @type */
to cast, but no non-null assertion.The text was updated successfully, but these errors were encountered: