You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
define variadic type parameters for generic type aliases. (not sure how this would work)
Use Cases
My specific, immediate need is to create a generic variable number of input type alias for Intersection. I could see other use cases though, and imagine others would find it useful.
The closest work around is if I define default type parameters, like:
type Intersection<A, B, C = {} , D = {}, E = {}, F = {}> = A & B & C & D & E & F;
// and use like
let foo: Intersection<{ prop1: number}, {prop2: string}>;
// it evaluates to
{ prop1: number } &
{ prop2: number } &
{ } &
{ } &
{ } &
{ }
Examples
With overloads, the above type could be declared like:
type Intersection<A , B> = A & B;
type Intersection<A , B , C> = A & B & C;
type Intersection<A , B , C , D> = A & B & C & D;
type Intersection<A , B , C , D , E> = A & B & C & D & E;
type Intersection<A , B , C , D , E , F > = A & B & C & D & E & F;
I am not sure of a good syntax for the variadic type, it also seems like it would have a more limited use.
Checklist
My suggestion meets these guidelines: ( I think )
This wouldn't be a breaking change in existing TypeScript/JavaScript code
This wouldn't change the runtime behavior of existing JavaScript code
This could be implemented without emitting different JS based on the types of the expressions
This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
Search Terms
Suggestion
Ability to either:
or
Use Cases
My specific, immediate need is to create a generic variable number of input type alias for
Intersection
. I could see other use cases though, and imagine others would find it useful.The closest work around is if I define default type parameters, like:
Examples
With overloads, the above type could be declared like:
I am not sure of a good syntax for the variadic type, it also seems like it would have a more limited use.
Checklist
My suggestion meets these guidelines: ( I think )
The text was updated successfully, but these errors were encountered: