1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "VariableDeclaration", 6 "declarations": [ 7 { 8 "type": "VariableDeclarator", 9 "id": { 10 "type": "Identifier", 11 "name": "a", 12 "typeAnnotation": { 13 "type": "TSTypeLiteral", 14 "members": [ 15 { 16 "type": "TSPropertySignature", 17 "computed": false, 18 "optional": false, 19 "readonly": false, 20 "key": { 21 "type": "Identifier", 22 "name": "b", 23 "decorators": [], 24 "loc": { 25 "start": { 26 "line": 17, 27 "column": 10 28 }, 29 "end": { 30 "line": 17, 31 "column": 11 32 } 33 } 34 }, 35 "typeAnnotation": { 36 "type": "TSTypeLiteral", 37 "members": [ 38 { 39 "type": "TSPropertySignature", 40 "computed": false, 41 "optional": false, 42 "readonly": false, 43 "key": { 44 "type": "Identifier", 45 "name": "c", 46 "decorators": [], 47 "loc": { 48 "start": { 49 "line": 17, 50 "column": 15 51 }, 52 "end": { 53 "line": 17, 54 "column": 16 55 } 56 } 57 }, 58 "typeAnnotation": { 59 "type": "TSTupleType", 60 "elementTypes": [ 61 { 62 "type": "TSNumberKeyword", 63 "loc": { 64 "start": { 65 "line": 17, 66 "column": 19 67 }, 68 "end": { 69 "line": 17, 70 "column": 26 71 } 72 } 73 }, 74 { 75 "type": "TSNumberKeyword", 76 "loc": { 77 "start": { 78 "line": 17, 79 "column": 27 80 }, 81 "end": { 82 "line": 17, 83 "column": 34 84 } 85 } 86 } 87 ], 88 "loc": { 89 "start": { 90 "line": 17, 91 "column": 18 92 }, 93 "end": { 94 "line": 17, 95 "column": 34 96 } 97 } 98 }, 99 "loc": { 100 "start": { 101 "line": 17, 102 "column": 15 103 }, 104 "end": { 105 "line": 17, 106 "column": 36 107 } 108 } 109 } 110 ], 111 "loc": { 112 "start": { 113 "line": 17, 114 "column": 13 115 }, 116 "end": { 117 "line": 17, 118 "column": 36 119 } 120 } 121 }, 122 "loc": { 123 "start": { 124 "line": 17, 125 "column": 10 126 }, 127 "end": { 128 "line": 17, 129 "column": 38 130 } 131 } 132 } 133 ], 134 "loc": { 135 "start": { 136 "line": 17, 137 "column": 8 138 }, 139 "end": { 140 "line": 17, 141 "column": 38 142 } 143 } 144 }, 145 "decorators": [], 146 "loc": { 147 "start": { 148 "line": 17, 149 "column": 5 150 }, 151 "end": { 152 "line": 17, 153 "column": 6 154 } 155 } 156 }, 157 "init": null, 158 "loc": { 159 "start": { 160 "line": 17, 161 "column": 5 162 }, 163 "end": { 164 "line": 17, 165 "column": 6 166 } 167 } 168 } 169 ], 170 "kind": "var", 171 "loc": { 172 "start": { 173 "line": 17, 174 "column": 1 175 }, 176 "end": { 177 "line": 17, 178 "column": 39 179 } 180 } 181 }, 182 { 183 "type": "VariableDeclaration", 184 "declarations": [ 185 { 186 "type": "VariableDeclarator", 187 "id": { 188 "type": "ObjectPattern", 189 "properties": [ 190 { 191 "type": "Property", 192 "method": false, 193 "shorthand": false, 194 "computed": false, 195 "key": { 196 "type": "Identifier", 197 "name": "b", 198 "decorators": [], 199 "loc": { 200 "start": { 201 "line": 18, 202 "column": 7 203 }, 204 "end": { 205 "line": 18, 206 "column": 8 207 } 208 } 209 }, 210 "value": { 211 "type": "ObjectPattern", 212 "properties": [ 213 { 214 "type": "Property", 215 "method": false, 216 "shorthand": false, 217 "computed": false, 218 "key": { 219 "type": "Identifier", 220 "name": "c", 221 "decorators": [], 222 "loc": { 223 "start": { 224 "line": 18, 225 "column": 12 226 }, 227 "end": { 228 "line": 18, 229 "column": 13 230 } 231 } 232 }, 233 "value": { 234 "type": "ArrayPattern", 235 "elements": [ 236 { 237 "type": "Identifier", 238 "name": "a", 239 "decorators": [], 240 "loc": { 241 "start": { 242 "line": 18, 243 "column": 16 244 }, 245 "end": { 246 "line": 18, 247 "column": 17 248 } 249 } 250 }, 251 { 252 "type": "Identifier", 253 "name": "b", 254 "decorators": [], 255 "loc": { 256 "start": { 257 "line": 18, 258 "column": 19 259 }, 260 "end": { 261 "line": 18, 262 "column": 20 263 } 264 } 265 } 266 ], 267 "loc": { 268 "start": { 269 "line": 18, 270 "column": 15 271 }, 272 "end": { 273 "line": 18, 274 "column": 21 275 } 276 } 277 }, 278 "kind": "init", 279 "loc": { 280 "start": { 281 "line": 18, 282 "column": 12 283 }, 284 "end": { 285 "line": 18, 286 "column": 21 287 } 288 } 289 } 290 ], 291 "loc": { 292 "start": { 293 "line": 18, 294 "column": 10 295 }, 296 "end": { 297 "line": 18, 298 "column": 23 299 } 300 } 301 }, 302 "kind": "init", 303 "loc": { 304 "start": { 305 "line": 18, 306 "column": 7 307 }, 308 "end": { 309 "line": 18, 310 "column": 23 311 } 312 } 313 } 314 ], 315 "loc": { 316 "start": { 317 "line": 18, 318 "column": 5 319 }, 320 "end": { 321 "line": 18, 322 "column": 25 323 } 324 } 325 }, 326 "init": { 327 "type": "Identifier", 328 "name": "a", 329 "decorators": [], 330 "loc": { 331 "start": { 332 "line": 18, 333 "column": 28 334 }, 335 "end": { 336 "line": 18, 337 "column": 29 338 } 339 } 340 }, 341 "loc": { 342 "start": { 343 "line": 18, 344 "column": 5 345 }, 346 "end": { 347 "line": 18, 348 "column": 29 349 } 350 } 351 } 352 ], 353 "kind": "var", 354 "loc": { 355 "start": { 356 "line": 18, 357 "column": 1 358 }, 359 "end": { 360 "line": 18, 361 "column": 30 362 } 363 } 364 } 365 ], 366 "loc": { 367 "start": { 368 "line": 1, 369 "column": 1 370 }, 371 "end": { 372 "line": 18, 373 "column": 30 374 } 375 } 376} 377TypeError: Subsequent variable declaration must have the same type. Variable 'a' must be of type '{ b: { c: [number, number]; }; }', but here has type 'number'. [objectDestructuring23.ts:18:16] 378