11=== tests/cases/conformance/types/mapped/mappedTypesArraysTuples.ts ===
22type Box<T> = { value: T };
33>Box : Box<T>
4- >T : T
54>value : T
6- >T : T
75
86type Boxified<T> = { [P in keyof T]: Box<T[P]> };
97>Boxified : Boxified<T>
10- >T : T
11- >P : P
12- >T : T
13- >Box : Box<T>
14- >T : T
15- >P : P
168
179type T00 = Boxified<[number, string?, ...boolean[]]>;
1810>T00 : [Box<number>, Box<string | undefined>?, ...Box<boolean>[]]
19- >Boxified : Boxified<T>
2011
2112type T01 = Partial<[number, string?, ...boolean[]]>;
2213>T01 : [(number | undefined)?, (string | undefined)?, ...(boolean | undefined)[]]
23- >Partial : Partial<T>
2414
2515type T02 = Required<[number, string?, ...boolean[]]>;
2616>T02 : [number, string, ...boolean[]]
27- >Required : Required<T>
2817
2918type T10 = Boxified<string[]>;
3019>T10 : Box<string>[]
31- >Boxified : Boxified<T>
3220
3321type T11 = Partial<string[]>;
3422>T11 : (string | undefined)[]
35- >Partial : Partial<T>
3623
3724type T12 = Required<string[]>;
3825>T12 : string[]
39- >Required : Required<T>
4026
4127type T13 = Boxified<ReadonlyArray<string>>;
4228>T13 : ReadonlyArray<Box<string>>
43- >Boxified : Boxified<T>
44- >ReadonlyArray : ReadonlyArray<T>
4529
4630type T14 = Partial<ReadonlyArray<string>>;
4731>T14 : ReadonlyArray<string | undefined>
48- >Partial : Partial<T>
49- >ReadonlyArray : ReadonlyArray<T>
5032
5133type T15 = Required<ReadonlyArray<string>>;
5234>T15 : ReadonlyArray<string>
53- >Required : Required<T>
54- >ReadonlyArray : ReadonlyArray<T>
5535
5636type T20 = Boxified<(string | undefined)[]>;
5737>T20 : Box<string | undefined>[]
58- >Boxified : Boxified<T>
5938
6039type T21 = Partial<(string | undefined)[]>;
6140>T21 : (string | undefined)[]
62- >Partial : Partial<T>
6341
6442type T22 = Required<(string | undefined)[]>;
6543>T22 : string[]
66- >Required : Required<T>
6744
6845type T23 = Boxified<ReadonlyArray<string | undefined>>;
6946>T23 : ReadonlyArray<Box<string | undefined>>
70- >Boxified : Boxified<T>
71- >ReadonlyArray : ReadonlyArray<T>
7247
7348type T24 = Partial<ReadonlyArray<string | undefined>>;
7449>T24 : ReadonlyArray<string | undefined>
75- >Partial : Partial<T>
76- >ReadonlyArray : ReadonlyArray<T>
7750
7851type T25 = Required<ReadonlyArray<string | undefined>>;
7952>T25 : ReadonlyArray<string>
80- >Required : Required<T>
81- >ReadonlyArray : ReadonlyArray<T>
8253
8354type T30 = Boxified<Partial<string[]>>;
8455>T30 : Box<string | undefined>[]
85- >Boxified : Boxified<T>
86- >Partial : Partial<T>
8756
8857type T31 = Partial<Boxified<string[]>>;
8958>T31 : (Box<string> | undefined)[]
90- >Partial : Partial<T>
91- >Boxified : Boxified<T>
9259
9360type A = { a: string };
9461>A : A
@@ -100,27 +67,13 @@ type B = { b: string };
10067
10168type T40 = Boxified<A | A[] | ReadonlyArray<A> | [A, B] | string | string[]>;
10269>T40 : string | Box<string>[] | Boxified<A> | Box<A>[] | ReadonlyArray<Box<A>> | [Box<A>, Box<B>]
103- >Boxified : Boxified<T>
104- >A : A
105- >A : A
106- >ReadonlyArray : ReadonlyArray<T>
107- >A : A
108- >A : A
109- >B : B
11070
11171declare function unboxify<T>(x: Boxified<T>): T;
11272>unboxify : <T>(x: Boxified<T>) => T
113- >T : T
11473>x : Boxified<T>
115- >Boxified : Boxified<T>
116- >T : T
117- >T : T
11874
11975declare let x10: [Box<number>, Box<string>, ...Box<boolean>[]];
12076>x10 : [Box<number>, Box<string>, ...Box<boolean>[]]
121- >Box : Box<T>
122- >Box : Box<T>
123- >Box : Box<T>
12477
12578let y10 = unboxify(x10);
12679>y10 : [number, string, ...boolean[]]
@@ -130,7 +83,6 @@ let y10 = unboxify(x10);
13083
13184declare let x11: Box<number>[];
13285>x11 : Box<number>[]
133- >Box : Box<T>
13486
13587let y11 = unboxify(x11);
13688>y11 : number[]
@@ -141,9 +93,7 @@ let y11 = unboxify(x11);
14193declare let x12: { a: Box<number>, b: Box<string[]> };
14294>x12 : { a: Box<number>; b: Box<string[]>; }
14395>a : Box<number>
144- >Box : Box<T>
14596>b : Box<string[]>
146- >Box : Box<T>
14797
14898let y12 = unboxify(x12);
14999>y12 : { a: number; b: string[]; }
@@ -153,11 +103,7 @@ let y12 = unboxify(x12);
153103
154104declare function nonpartial<T>(x: Partial<T>): T;
155105>nonpartial : <T>(x: Partial<T>) => T
156- >T : T
157106>x : Partial<T>
158- >Partial : Partial<T>
159- >T : T
160- >T : T
161107
162108declare let x20: [number | undefined, string?, ...boolean[]];
163109>x20 : [number | undefined, (string | undefined)?, ...boolean[]]
@@ -190,39 +136,20 @@ let y22 = nonpartial(x22);
190136
191137type Awaited<T> = T extends PromiseLike<infer U> ? U : T;
192138>Awaited : Awaited<T>
193- >T : T
194- >T : T
195- >PromiseLike : PromiseLike<T>
196- >U : U
197- >U : U
198- >T : T
199139
200140type Awaitified<T> = { [P in keyof T]: Awaited<T[P]> };
201141>Awaitified : Awaitified<T>
202- >T : T
203- >P : P
204- >T : T
205- >Awaited : Awaited<T>
206- >T : T
207- >P : P
208142
209143declare function all<T extends any[]>(...values: T): Promise<Awaitified<T>>;
210144>all : <T extends any[]>(...values: T) => Promise<Awaitified<T>>
211- >T : T
212145>values : T
213- >T : T
214- >Promise : Promise<T>
215- >Awaitified : Awaitified<T>
216- >T : T
217146
218147function f1(a: number, b: Promise<number>, c: string[], d: Promise<string[]>) {
219148>f1 : (a: number, b: Promise<number>, c: string[], d: Promise<string[]>) => void
220149>a : number
221150>b : Promise<number>
222- >Promise : Promise<T>
223151>c : string[]
224152>d : Promise<string[]>
225- >Promise : Promise<T>
226153
227154 let x1 = all(a);
228155>x1 : Promise<[number]>
0 commit comments