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": "TSLiteralType", 14 "literal": { 15 "type": "StringLiteral", 16 "value": "baz", 17 "loc": { 18 "start": { 19 "line": 17, 20 "column": 10 21 }, 22 "end": { 23 "line": 17, 24 "column": 15 25 } 26 } 27 }, 28 "loc": { 29 "start": { 30 "line": 17, 31 "column": 10 32 }, 33 "end": { 34 "line": 17, 35 "column": 15 36 } 37 } 38 }, 39 "loc": { 40 "start": { 41 "line": 17, 42 "column": 7 43 }, 44 "end": { 45 "line": 17, 46 "column": 8 47 } 48 } 49 }, 50 "init": { 51 "type": "TSSatisfiesExpression", 52 "expression": { 53 "type": "StringLiteral", 54 "value": "foo", 55 "loc": { 56 "start": { 57 "line": 17, 58 "column": 18 59 }, 60 "end": { 61 "line": 17, 62 "column": 23 63 } 64 } 65 }, 66 "typeAnnotation": { 67 "type": "TSUnionType", 68 "types": [ 69 { 70 "type": "TSLiteralType", 71 "literal": { 72 "type": "StringLiteral", 73 "value": "foo", 74 "loc": { 75 "start": { 76 "line": 17, 77 "column": 34 78 }, 79 "end": { 80 "line": 17, 81 "column": 39 82 } 83 } 84 }, 85 "loc": { 86 "start": { 87 "line": 17, 88 "column": 34 89 }, 90 "end": { 91 "line": 17, 92 "column": 39 93 } 94 } 95 }, 96 { 97 "type": "TSLiteralType", 98 "literal": { 99 "type": "StringLiteral", 100 "value": "bar", 101 "loc": { 102 "start": { 103 "line": 17, 104 "column": 42 105 }, 106 "end": { 107 "line": 17, 108 "column": 47 109 } 110 } 111 }, 112 "loc": { 113 "start": { 114 "line": 17, 115 "column": 42 116 }, 117 "end": { 118 "line": 17, 119 "column": 47 120 } 121 } 122 } 123 ], 124 "loc": { 125 "start": { 126 "line": 17, 127 "column": 34 128 }, 129 "end": { 130 "line": 17, 131 "column": 47 132 } 133 } 134 }, 135 "loc": { 136 "start": { 137 "line": 17, 138 "column": 18 139 }, 140 "end": { 141 "line": 17, 142 "column": 48 143 } 144 } 145 }, 146 "loc": { 147 "start": { 148 "line": 17, 149 "column": 7 150 }, 151 "end": { 152 "line": 17, 153 "column": 48 154 } 155 } 156 } 157 ], 158 "kind": "const", 159 "loc": { 160 "start": { 161 "line": 17, 162 "column": 1 163 }, 164 "end": { 165 "line": 17, 166 "column": 48 167 } 168 } 169 }, 170 { 171 "type": "VariableDeclaration", 172 "declarations": [ 173 { 174 "type": "VariableDeclarator", 175 "id": { 176 "type": "Identifier", 177 "name": "b", 178 "typeAnnotation": { 179 "type": "TSTypeLiteral", 180 "members": [ 181 { 182 "type": "TSPropertySignature", 183 "computed": false, 184 "optional": false, 185 "readonly": false, 186 "key": { 187 "type": "Identifier", 188 "name": "xyz", 189 "loc": { 190 "start": { 191 "line": 18, 192 "column": 12 193 }, 194 "end": { 195 "line": 18, 196 "column": 15 197 } 198 } 199 }, 200 "typeAnnotation": { 201 "type": "TSLiteralType", 202 "literal": { 203 "type": "StringLiteral", 204 "value": "baz", 205 "loc": { 206 "start": { 207 "line": 18, 208 "column": 17 209 }, 210 "end": { 211 "line": 18, 212 "column": 22 213 } 214 } 215 }, 216 "loc": { 217 "start": { 218 "line": 18, 219 "column": 17 220 }, 221 "end": { 222 "line": 18, 223 "column": 22 224 } 225 } 226 }, 227 "loc": { 228 "start": { 229 "line": 18, 230 "column": 12 231 }, 232 "end": { 233 "line": 18, 234 "column": 24 235 } 236 } 237 } 238 ], 239 "loc": { 240 "start": { 241 "line": 18, 242 "column": 10 243 }, 244 "end": { 245 "line": 18, 246 "column": 24 247 } 248 } 249 }, 250 "loc": { 251 "start": { 252 "line": 18, 253 "column": 7 254 }, 255 "end": { 256 "line": 18, 257 "column": 8 258 } 259 } 260 }, 261 "init": { 262 "type": "TSSatisfiesExpression", 263 "expression": { 264 "type": "ObjectExpression", 265 "properties": [ 266 { 267 "type": "Property", 268 "method": false, 269 "shorthand": false, 270 "computed": false, 271 "key": { 272 "type": "Identifier", 273 "name": "xyz", 274 "loc": { 275 "start": { 276 "line": 18, 277 "column": 29 278 }, 279 "end": { 280 "line": 18, 281 "column": 32 282 } 283 } 284 }, 285 "value": { 286 "type": "StringLiteral", 287 "value": "foo", 288 "loc": { 289 "start": { 290 "line": 18, 291 "column": 34 292 }, 293 "end": { 294 "line": 18, 295 "column": 39 296 } 297 } 298 }, 299 "kind": "init", 300 "loc": { 301 "start": { 302 "line": 18, 303 "column": 29 304 }, 305 "end": { 306 "line": 18, 307 "column": 39 308 } 309 } 310 } 311 ], 312 "loc": { 313 "start": { 314 "line": 18, 315 "column": 27 316 }, 317 "end": { 318 "line": 18, 319 "column": 41 320 } 321 } 322 }, 323 "typeAnnotation": { 324 "type": "TSTypeLiteral", 325 "members": [ 326 { 327 "type": "TSPropertySignature", 328 "computed": false, 329 "optional": false, 330 "readonly": false, 331 "key": { 332 "type": "Identifier", 333 "name": "xyz", 334 "loc": { 335 "start": { 336 "line": 18, 337 "column": 54 338 }, 339 "end": { 340 "line": 18, 341 "column": 57 342 } 343 } 344 }, 345 "typeAnnotation": { 346 "type": "TSUnionType", 347 "types": [ 348 { 349 "type": "TSLiteralType", 350 "literal": { 351 "type": "StringLiteral", 352 "value": "foo", 353 "loc": { 354 "start": { 355 "line": 18, 356 "column": 59 357 }, 358 "end": { 359 "line": 18, 360 "column": 64 361 } 362 } 363 }, 364 "loc": { 365 "start": { 366 "line": 18, 367 "column": 59 368 }, 369 "end": { 370 "line": 18, 371 "column": 64 372 } 373 } 374 }, 375 { 376 "type": "TSLiteralType", 377 "literal": { 378 "type": "StringLiteral", 379 "value": "bar", 380 "loc": { 381 "start": { 382 "line": 18, 383 "column": 67 384 }, 385 "end": { 386 "line": 18, 387 "column": 72 388 } 389 } 390 }, 391 "loc": { 392 "start": { 393 "line": 18, 394 "column": 67 395 }, 396 "end": { 397 "line": 18, 398 "column": 72 399 } 400 } 401 } 402 ], 403 "loc": { 404 "start": { 405 "line": 18, 406 "column": 59 407 }, 408 "end": { 409 "line": 18, 410 "column": 72 411 } 412 } 413 }, 414 "loc": { 415 "start": { 416 "line": 18, 417 "column": 54 418 }, 419 "end": { 420 "line": 18, 421 "column": 74 422 } 423 } 424 } 425 ], 426 "loc": { 427 "start": { 428 "line": 18, 429 "column": 52 430 }, 431 "end": { 432 "line": 18, 433 "column": 74 434 } 435 } 436 }, 437 "loc": { 438 "start": { 439 "line": 18, 440 "column": 27 441 }, 442 "end": { 443 "line": 18, 444 "column": 75 445 } 446 } 447 }, 448 "loc": { 449 "start": { 450 "line": 18, 451 "column": 7 452 }, 453 "end": { 454 "line": 18, 455 "column": 75 456 } 457 } 458 } 459 ], 460 "kind": "const", 461 "loc": { 462 "start": { 463 "line": 18, 464 "column": 1 465 }, 466 "end": { 467 "line": 18, 468 "column": 75 469 } 470 } 471 } 472 ], 473 "loc": { 474 "start": { 475 "line": 1, 476 "column": 1 477 }, 478 "end": { 479 "line": 18, 480 "column": 75 481 } 482 } 483} 484