1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSTypeAliasDeclaration", 6 "id": { 7 "type": "Identifier", 8 "name": "Movable", 9 "loc": { 10 "start": { 11 "line": 17, 12 "column": 6 13 }, 14 "end": { 15 "line": 17, 16 "column": 13 17 } 18 } 19 }, 20 "typeAnnotation": { 21 "type": "TSTypeLiteral", 22 "members": [ 23 { 24 "type": "TSMethodSignature", 25 "computed": false, 26 "optional": false, 27 "isGetAccessor": false, 28 "isSetAccessor": false, 29 "key": { 30 "type": "Identifier", 31 "name": "move", 32 "loc": { 33 "start": { 34 "line": 18, 35 "column": 5 36 }, 37 "end": { 38 "line": 18, 39 "column": 9 40 } 41 } 42 }, 43 "params": [ 44 { 45 "type": "Identifier", 46 "name": "distance", 47 "typeAnnotation": { 48 "type": "TSNumberKeyword", 49 "loc": { 50 "start": { 51 "line": 18, 52 "column": 20 53 }, 54 "end": { 55 "line": 18, 56 "column": 26 57 } 58 } 59 }, 60 "loc": { 61 "start": { 62 "line": 18, 63 "column": 10 64 }, 65 "end": { 66 "line": 18, 67 "column": 18 68 } 69 } 70 } 71 ], 72 "typeAnnotation": { 73 "type": "TSVoidKeyword", 74 "loc": { 75 "start": { 76 "line": 18, 77 "column": 29 78 }, 79 "end": { 80 "line": 18, 81 "column": 33 82 } 83 } 84 }, 85 "loc": { 86 "start": { 87 "line": 18, 88 "column": 5 89 }, 90 "end": { 91 "line": 18, 92 "column": 34 93 } 94 } 95 } 96 ], 97 "loc": { 98 "start": { 99 "line": 17, 100 "column": 16 101 }, 102 "end": { 103 "line": 19, 104 "column": 2 105 } 106 } 107 }, 108 "loc": { 109 "start": { 110 "line": 17, 111 "column": 1 112 }, 113 "end": { 114 "line": 19, 115 "column": 3 116 } 117 } 118 }, 119 { 120 "type": "VariableDeclaration", 121 "declarations": [ 122 { 123 "type": "VariableDeclarator", 124 "id": { 125 "type": "Identifier", 126 "name": "car", 127 "loc": { 128 "start": { 129 "line": 21, 130 "column": 7 131 }, 132 "end": { 133 "line": 21, 134 "column": 10 135 } 136 } 137 }, 138 "init": { 139 "type": "TSSatisfiesExpression", 140 "expression": { 141 "type": "ObjectExpression", 142 "properties": [ 143 { 144 "type": "Property", 145 "method": true, 146 "shorthand": false, 147 "computed": false, 148 "key": { 149 "type": "Identifier", 150 "name": "start", 151 "loc": { 152 "start": { 153 "line": 22, 154 "column": 5 155 }, 156 "end": { 157 "line": 22, 158 "column": 10 159 } 160 } 161 }, 162 "value": { 163 "type": "FunctionExpression", 164 "function": { 165 "type": "ScriptFunction", 166 "id": null, 167 "generator": false, 168 "async": false, 169 "expression": false, 170 "params": [], 171 "body": { 172 "type": "BlockStatement", 173 "statements": [], 174 "loc": { 175 "start": { 176 "line": 22, 177 "column": 13 178 }, 179 "end": { 180 "line": 22, 181 "column": 16 182 } 183 } 184 }, 185 "loc": { 186 "start": { 187 "line": 22, 188 "column": 10 189 }, 190 "end": { 191 "line": 22, 192 "column": 16 193 } 194 } 195 }, 196 "loc": { 197 "start": { 198 "line": 22, 199 "column": 10 200 }, 201 "end": { 202 "line": 22, 203 "column": 16 204 } 205 } 206 }, 207 "kind": "init", 208 "loc": { 209 "start": { 210 "line": 22, 211 "column": 5 212 }, 213 "end": { 214 "line": 22, 215 "column": 16 216 } 217 } 218 }, 219 { 220 "type": "Property", 221 "method": true, 222 "shorthand": false, 223 "computed": false, 224 "key": { 225 "type": "Identifier", 226 "name": "move", 227 "loc": { 228 "start": { 229 "line": 23, 230 "column": 5 231 }, 232 "end": { 233 "line": 23, 234 "column": 9 235 } 236 } 237 }, 238 "value": { 239 "type": "FunctionExpression", 240 "function": { 241 "type": "ScriptFunction", 242 "id": null, 243 "generator": false, 244 "async": false, 245 "expression": false, 246 "params": [ 247 { 248 "type": "Identifier", 249 "name": "d", 250 "loc": { 251 "start": { 252 "line": 23, 253 "column": 10 254 }, 255 "end": { 256 "line": 23, 257 "column": 11 258 } 259 } 260 } 261 ], 262 "body": { 263 "type": "BlockStatement", 264 "statements": [], 265 "loc": { 266 "start": { 267 "line": 23, 268 "column": 13 269 }, 270 "end": { 271 "line": 25, 272 "column": 6 273 } 274 } 275 }, 276 "loc": { 277 "start": { 278 "line": 23, 279 "column": 9 280 }, 281 "end": { 282 "line": 25, 283 "column": 6 284 } 285 } 286 }, 287 "loc": { 288 "start": { 289 "line": 23, 290 "column": 9 291 }, 292 "end": { 293 "line": 25, 294 "column": 6 295 } 296 } 297 }, 298 "kind": "init", 299 "loc": { 300 "start": { 301 "line": 23, 302 "column": 5 303 }, 304 "end": { 305 "line": 25, 306 "column": 6 307 } 308 } 309 }, 310 { 311 "type": "Property", 312 "method": true, 313 "shorthand": false, 314 "computed": false, 315 "key": { 316 "type": "Identifier", 317 "name": "stop", 318 "loc": { 319 "start": { 320 "line": 26, 321 "column": 5 322 }, 323 "end": { 324 "line": 26, 325 "column": 9 326 } 327 } 328 }, 329 "value": { 330 "type": "FunctionExpression", 331 "function": { 332 "type": "ScriptFunction", 333 "id": null, 334 "generator": false, 335 "async": false, 336 "expression": false, 337 "params": [], 338 "body": { 339 "type": "BlockStatement", 340 "statements": [], 341 "loc": { 342 "start": { 343 "line": 26, 344 "column": 12 345 }, 346 "end": { 347 "line": 26, 348 "column": 15 349 } 350 } 351 }, 352 "loc": { 353 "start": { 354 "line": 26, 355 "column": 9 356 }, 357 "end": { 358 "line": 26, 359 "column": 15 360 } 361 } 362 }, 363 "loc": { 364 "start": { 365 "line": 26, 366 "column": 9 367 }, 368 "end": { 369 "line": 26, 370 "column": 15 371 } 372 } 373 }, 374 "kind": "init", 375 "loc": { 376 "start": { 377 "line": 26, 378 "column": 5 379 }, 380 "end": { 381 "line": 26, 382 "column": 15 383 } 384 } 385 } 386 ], 387 "loc": { 388 "start": { 389 "line": 21, 390 "column": 13 391 }, 392 "end": { 393 "line": 27, 394 "column": 2 395 } 396 } 397 }, 398 "typeAnnotation": { 399 "type": "TSIntersectionType", 400 "types": [ 401 { 402 "type": "TSTypeReference", 403 "typeName": { 404 "type": "Identifier", 405 "name": "Movable", 406 "loc": { 407 "start": { 408 "line": 27, 409 "column": 13 410 }, 411 "end": { 412 "line": 27, 413 "column": 20 414 } 415 } 416 }, 417 "loc": { 418 "start": { 419 "line": 27, 420 "column": 13 421 }, 422 "end": { 423 "line": 27, 424 "column": 20 425 } 426 } 427 }, 428 { 429 "type": "TSTypeReference", 430 "typeName": { 431 "type": "Identifier", 432 "name": "Record", 433 "loc": { 434 "start": { 435 "line": 27, 436 "column": 23 437 }, 438 "end": { 439 "line": 27, 440 "column": 29 441 } 442 } 443 }, 444 "typeParameters": { 445 "type": "TSTypeParameterInstantiation", 446 "params": [ 447 { 448 "type": "TSStringKeyword", 449 "loc": { 450 "start": { 451 "line": 27, 452 "column": 30 453 }, 454 "end": { 455 "line": 27, 456 "column": 36 457 } 458 } 459 }, 460 { 461 "type": "TSUnknownKeyword", 462 "loc": { 463 "start": { 464 "line": 27, 465 "column": 38 466 }, 467 "end": { 468 "line": 27, 469 "column": 45 470 } 471 } 472 } 473 ], 474 "loc": { 475 "start": { 476 "line": 27, 477 "column": 29 478 }, 479 "end": { 480 "line": 27, 481 "column": 46 482 } 483 } 484 }, 485 "loc": { 486 "start": { 487 "line": 27, 488 "column": 23 489 }, 490 "end": { 491 "line": 27, 492 "column": 29 493 } 494 } 495 } 496 ], 497 "loc": { 498 "start": { 499 "line": 27, 500 "column": 13 501 }, 502 "end": { 503 "line": 27, 504 "column": 29 505 } 506 } 507 }, 508 "loc": { 509 "start": { 510 "line": 21, 511 "column": 13 512 }, 513 "end": { 514 "line": 27, 515 "column": 47 516 } 517 } 518 }, 519 "loc": { 520 "start": { 521 "line": 21, 522 "column": 7 523 }, 524 "end": { 525 "line": 27, 526 "column": 47 527 } 528 } 529 } 530 ], 531 "kind": "const", 532 "loc": { 533 "start": { 534 "line": 21, 535 "column": 1 536 }, 537 "end": { 538 "line": 27, 539 "column": 47 540 } 541 } 542 } 543 ], 544 "loc": { 545 "start": { 546 "line": 1, 547 "column": 1 548 }, 549 "end": { 550 "line": 27, 551 "column": 47 552 } 553 } 554} 555