|
| 1 | +=== tests/cases/conformance/types/mapped/mappedTypesArraysTuples.ts === |
| 2 | +type Box<T> = { value: T }; |
| 3 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 4 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 0, 9)) |
| 5 | +>value : Symbol(value, Decl(mappedTypesArraysTuples.ts, 0, 15)) |
| 6 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 0, 9)) |
| 7 | + |
| 8 | +type Boxified<T> = { [P in keyof T]: Box<T[P]> }; |
| 9 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 10 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 1, 14)) |
| 11 | +>P : Symbol(P, Decl(mappedTypesArraysTuples.ts, 1, 22)) |
| 12 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 1, 14)) |
| 13 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 14 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 1, 14)) |
| 15 | +>P : Symbol(P, Decl(mappedTypesArraysTuples.ts, 1, 22)) |
| 16 | + |
| 17 | +type T00 = Boxified<[number, string?, ...boolean[]]>; |
| 18 | +>T00 : Symbol(T00, Decl(mappedTypesArraysTuples.ts, 1, 49)) |
| 19 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 20 | + |
| 21 | +type T01 = Partial<[number, string?, ...boolean[]]>; |
| 22 | +>T01 : Symbol(T01, Decl(mappedTypesArraysTuples.ts, 3, 53)) |
| 23 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 24 | + |
| 25 | +type T02 = Required<[number, string?, ...boolean[]]>; |
| 26 | +>T02 : Symbol(T02, Decl(mappedTypesArraysTuples.ts, 4, 52)) |
| 27 | +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) |
| 28 | + |
| 29 | +type T10 = Boxified<string[]>; |
| 30 | +>T10 : Symbol(T10, Decl(mappedTypesArraysTuples.ts, 5, 53)) |
| 31 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 32 | + |
| 33 | +type T11 = Partial<string[]>; |
| 34 | +>T11 : Symbol(T11, Decl(mappedTypesArraysTuples.ts, 7, 30)) |
| 35 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 36 | + |
| 37 | +type T12 = Required<string[]>; |
| 38 | +>T12 : Symbol(T12, Decl(mappedTypesArraysTuples.ts, 8, 29)) |
| 39 | +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) |
| 40 | + |
| 41 | +type T13 = Boxified<ReadonlyArray<string>>; |
| 42 | +>T13 : Symbol(T13, Decl(mappedTypesArraysTuples.ts, 9, 30)) |
| 43 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 44 | +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) |
| 45 | + |
| 46 | +type T14 = Partial<ReadonlyArray<string>>; |
| 47 | +>T14 : Symbol(T14, Decl(mappedTypesArraysTuples.ts, 10, 43)) |
| 48 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 49 | +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) |
| 50 | + |
| 51 | +type T15 = Required<ReadonlyArray<string>>; |
| 52 | +>T15 : Symbol(T15, Decl(mappedTypesArraysTuples.ts, 11, 42)) |
| 53 | +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) |
| 54 | +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) |
| 55 | + |
| 56 | +type T20 = Boxified<(string | undefined)[]>; |
| 57 | +>T20 : Symbol(T20, Decl(mappedTypesArraysTuples.ts, 12, 43)) |
| 58 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 59 | + |
| 60 | +type T21 = Partial<(string | undefined)[]>; |
| 61 | +>T21 : Symbol(T21, Decl(mappedTypesArraysTuples.ts, 14, 44)) |
| 62 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 63 | + |
| 64 | +type T22 = Required<(string | undefined)[]>; |
| 65 | +>T22 : Symbol(T22, Decl(mappedTypesArraysTuples.ts, 15, 43)) |
| 66 | +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) |
| 67 | + |
| 68 | +type T23 = Boxified<ReadonlyArray<string | undefined>>; |
| 69 | +>T23 : Symbol(T23, Decl(mappedTypesArraysTuples.ts, 16, 44)) |
| 70 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 71 | +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) |
| 72 | + |
| 73 | +type T24 = Partial<ReadonlyArray<string | undefined>>; |
| 74 | +>T24 : Symbol(T24, Decl(mappedTypesArraysTuples.ts, 17, 55)) |
| 75 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 76 | +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) |
| 77 | + |
| 78 | +type T25 = Required<ReadonlyArray<string | undefined>>; |
| 79 | +>T25 : Symbol(T25, Decl(mappedTypesArraysTuples.ts, 18, 54)) |
| 80 | +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) |
| 81 | +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) |
| 82 | + |
| 83 | +type T30 = Boxified<Partial<string[]>>; |
| 84 | +>T30 : Symbol(T30, Decl(mappedTypesArraysTuples.ts, 19, 55)) |
| 85 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 86 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 87 | + |
| 88 | +type T31 = Partial<Boxified<string[]>>; |
| 89 | +>T31 : Symbol(T31, Decl(mappedTypesArraysTuples.ts, 21, 39)) |
| 90 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 91 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 92 | + |
| 93 | +type A = { a: string }; |
| 94 | +>A : Symbol(A, Decl(mappedTypesArraysTuples.ts, 22, 39)) |
| 95 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 24, 10)) |
| 96 | + |
| 97 | +type B = { b: string }; |
| 98 | +>B : Symbol(B, Decl(mappedTypesArraysTuples.ts, 24, 23)) |
| 99 | +>b : Symbol(b, Decl(mappedTypesArraysTuples.ts, 25, 10)) |
| 100 | + |
| 101 | +type T40 = Boxified<A | A[] | ReadonlyArray<A> | [A, B] | string | string[]>; |
| 102 | +>T40 : Symbol(T40, Decl(mappedTypesArraysTuples.ts, 25, 23)) |
| 103 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 104 | +>A : Symbol(A, Decl(mappedTypesArraysTuples.ts, 22, 39)) |
| 105 | +>A : Symbol(A, Decl(mappedTypesArraysTuples.ts, 22, 39)) |
| 106 | +>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --)) |
| 107 | +>A : Symbol(A, Decl(mappedTypesArraysTuples.ts, 22, 39)) |
| 108 | +>A : Symbol(A, Decl(mappedTypesArraysTuples.ts, 22, 39)) |
| 109 | +>B : Symbol(B, Decl(mappedTypesArraysTuples.ts, 24, 23)) |
| 110 | + |
| 111 | +declare function unboxify<T>(x: Boxified<T>): T; |
| 112 | +>unboxify : Symbol(unboxify, Decl(mappedTypesArraysTuples.ts, 27, 77)) |
| 113 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 29, 26)) |
| 114 | +>x : Symbol(x, Decl(mappedTypesArraysTuples.ts, 29, 29)) |
| 115 | +>Boxified : Symbol(Boxified, Decl(mappedTypesArraysTuples.ts, 0, 27)) |
| 116 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 29, 26)) |
| 117 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 29, 26)) |
| 118 | + |
| 119 | +declare let x10: [Box<number>, Box<string>, ...Box<boolean>[]]; |
| 120 | +>x10 : Symbol(x10, Decl(mappedTypesArraysTuples.ts, 31, 11)) |
| 121 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 122 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 123 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 124 | + |
| 125 | +let y10 = unboxify(x10); |
| 126 | +>y10 : Symbol(y10, Decl(mappedTypesArraysTuples.ts, 32, 3)) |
| 127 | +>unboxify : Symbol(unboxify, Decl(mappedTypesArraysTuples.ts, 27, 77)) |
| 128 | +>x10 : Symbol(x10, Decl(mappedTypesArraysTuples.ts, 31, 11)) |
| 129 | + |
| 130 | +declare let x11: Box<number>[]; |
| 131 | +>x11 : Symbol(x11, Decl(mappedTypesArraysTuples.ts, 34, 11)) |
| 132 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 133 | + |
| 134 | +let y11 = unboxify(x11); |
| 135 | +>y11 : Symbol(y11, Decl(mappedTypesArraysTuples.ts, 35, 3)) |
| 136 | +>unboxify : Symbol(unboxify, Decl(mappedTypesArraysTuples.ts, 27, 77)) |
| 137 | +>x11 : Symbol(x11, Decl(mappedTypesArraysTuples.ts, 34, 11)) |
| 138 | + |
| 139 | +declare let x12: { a: Box<number>, b: Box<string[]> }; |
| 140 | +>x12 : Symbol(x12, Decl(mappedTypesArraysTuples.ts, 37, 11)) |
| 141 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 37, 18)) |
| 142 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 143 | +>b : Symbol(b, Decl(mappedTypesArraysTuples.ts, 37, 34)) |
| 144 | +>Box : Symbol(Box, Decl(mappedTypesArraysTuples.ts, 0, 0)) |
| 145 | + |
| 146 | +let y12 = unboxify(x12); |
| 147 | +>y12 : Symbol(y12, Decl(mappedTypesArraysTuples.ts, 38, 3)) |
| 148 | +>unboxify : Symbol(unboxify, Decl(mappedTypesArraysTuples.ts, 27, 77)) |
| 149 | +>x12 : Symbol(x12, Decl(mappedTypesArraysTuples.ts, 37, 11)) |
| 150 | + |
| 151 | +declare function nonpartial<T>(x: Partial<T>): T; |
| 152 | +>nonpartial : Symbol(nonpartial, Decl(mappedTypesArraysTuples.ts, 38, 24)) |
| 153 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 40, 28)) |
| 154 | +>x : Symbol(x, Decl(mappedTypesArraysTuples.ts, 40, 31)) |
| 155 | +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) |
| 156 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 40, 28)) |
| 157 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 40, 28)) |
| 158 | + |
| 159 | +declare let x20: [number | undefined, string?, ...boolean[]]; |
| 160 | +>x20 : Symbol(x20, Decl(mappedTypesArraysTuples.ts, 42, 11)) |
| 161 | + |
| 162 | +let y20 = nonpartial(x20); |
| 163 | +>y20 : Symbol(y20, Decl(mappedTypesArraysTuples.ts, 43, 3)) |
| 164 | +>nonpartial : Symbol(nonpartial, Decl(mappedTypesArraysTuples.ts, 38, 24)) |
| 165 | +>x20 : Symbol(x20, Decl(mappedTypesArraysTuples.ts, 42, 11)) |
| 166 | + |
| 167 | +declare let x21: (number | undefined)[]; |
| 168 | +>x21 : Symbol(x21, Decl(mappedTypesArraysTuples.ts, 45, 11)) |
| 169 | + |
| 170 | +let y21 = nonpartial(x21); |
| 171 | +>y21 : Symbol(y21, Decl(mappedTypesArraysTuples.ts, 46, 3)) |
| 172 | +>nonpartial : Symbol(nonpartial, Decl(mappedTypesArraysTuples.ts, 38, 24)) |
| 173 | +>x21 : Symbol(x21, Decl(mappedTypesArraysTuples.ts, 45, 11)) |
| 174 | + |
| 175 | +declare let x22: { a: number | undefined, b?: string[] }; |
| 176 | +>x22 : Symbol(x22, Decl(mappedTypesArraysTuples.ts, 48, 11)) |
| 177 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 48, 18)) |
| 178 | +>b : Symbol(b, Decl(mappedTypesArraysTuples.ts, 48, 41)) |
| 179 | + |
| 180 | +let y22 = nonpartial(x22); |
| 181 | +>y22 : Symbol(y22, Decl(mappedTypesArraysTuples.ts, 49, 3)) |
| 182 | +>nonpartial : Symbol(nonpartial, Decl(mappedTypesArraysTuples.ts, 38, 24)) |
| 183 | +>x22 : Symbol(x22, Decl(mappedTypesArraysTuples.ts, 48, 11)) |
| 184 | + |
| 185 | +type Awaited<T> = T extends PromiseLike<infer U> ? U : T; |
| 186 | +>Awaited : Symbol(Awaited, Decl(mappedTypesArraysTuples.ts, 49, 26)) |
| 187 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 51, 13)) |
| 188 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 51, 13)) |
| 189 | +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) |
| 190 | +>U : Symbol(U, Decl(mappedTypesArraysTuples.ts, 51, 45)) |
| 191 | +>U : Symbol(U, Decl(mappedTypesArraysTuples.ts, 51, 45)) |
| 192 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 51, 13)) |
| 193 | + |
| 194 | +type Awaitified<T> = { [P in keyof T]: Awaited<T[P]> }; |
| 195 | +>Awaitified : Symbol(Awaitified, Decl(mappedTypesArraysTuples.ts, 51, 57)) |
| 196 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 52, 16)) |
| 197 | +>P : Symbol(P, Decl(mappedTypesArraysTuples.ts, 52, 24)) |
| 198 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 52, 16)) |
| 199 | +>Awaited : Symbol(Awaited, Decl(mappedTypesArraysTuples.ts, 49, 26)) |
| 200 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 52, 16)) |
| 201 | +>P : Symbol(P, Decl(mappedTypesArraysTuples.ts, 52, 24)) |
| 202 | + |
| 203 | +declare function all<T extends any[]>(...values: T): Promise<Awaitified<T>>; |
| 204 | +>all : Symbol(all, Decl(mappedTypesArraysTuples.ts, 52, 55)) |
| 205 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 54, 21)) |
| 206 | +>values : Symbol(values, Decl(mappedTypesArraysTuples.ts, 54, 38)) |
| 207 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 54, 21)) |
| 208 | +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) |
| 209 | +>Awaitified : Symbol(Awaitified, Decl(mappedTypesArraysTuples.ts, 51, 57)) |
| 210 | +>T : Symbol(T, Decl(mappedTypesArraysTuples.ts, 54, 21)) |
| 211 | + |
| 212 | +function f1(a: number, b: Promise<number>, c: string[], d: Promise<string[]>) { |
| 213 | +>f1 : Symbol(f1, Decl(mappedTypesArraysTuples.ts, 54, 76)) |
| 214 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 56, 12)) |
| 215 | +>b : Symbol(b, Decl(mappedTypesArraysTuples.ts, 56, 22)) |
| 216 | +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) |
| 217 | +>c : Symbol(c, Decl(mappedTypesArraysTuples.ts, 56, 42)) |
| 218 | +>d : Symbol(d, Decl(mappedTypesArraysTuples.ts, 56, 55)) |
| 219 | +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --)) |
| 220 | + |
| 221 | + let x1 = all(a); |
| 222 | +>x1 : Symbol(x1, Decl(mappedTypesArraysTuples.ts, 57, 7)) |
| 223 | +>all : Symbol(all, Decl(mappedTypesArraysTuples.ts, 52, 55)) |
| 224 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 56, 12)) |
| 225 | + |
| 226 | + let x2 = all(a, b); |
| 227 | +>x2 : Symbol(x2, Decl(mappedTypesArraysTuples.ts, 58, 7)) |
| 228 | +>all : Symbol(all, Decl(mappedTypesArraysTuples.ts, 52, 55)) |
| 229 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 56, 12)) |
| 230 | +>b : Symbol(b, Decl(mappedTypesArraysTuples.ts, 56, 22)) |
| 231 | + |
| 232 | + let x3 = all(a, b, c); |
| 233 | +>x3 : Symbol(x3, Decl(mappedTypesArraysTuples.ts, 59, 7)) |
| 234 | +>all : Symbol(all, Decl(mappedTypesArraysTuples.ts, 52, 55)) |
| 235 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 56, 12)) |
| 236 | +>b : Symbol(b, Decl(mappedTypesArraysTuples.ts, 56, 22)) |
| 237 | +>c : Symbol(c, Decl(mappedTypesArraysTuples.ts, 56, 42)) |
| 238 | + |
| 239 | + let x4 = all(a, b, c, d); |
| 240 | +>x4 : Symbol(x4, Decl(mappedTypesArraysTuples.ts, 60, 7)) |
| 241 | +>all : Symbol(all, Decl(mappedTypesArraysTuples.ts, 52, 55)) |
| 242 | +>a : Symbol(a, Decl(mappedTypesArraysTuples.ts, 56, 12)) |
| 243 | +>b : Symbol(b, Decl(mappedTypesArraysTuples.ts, 56, 22)) |
| 244 | +>c : Symbol(c, Decl(mappedTypesArraysTuples.ts, 56, 42)) |
| 245 | +>d : Symbol(d, Decl(mappedTypesArraysTuples.ts, 56, 55)) |
| 246 | +} |
| 247 | + |
0 commit comments