@@ -386,6 +386,148 @@ getExprType
386
386
| tst.ts:293:7:293:21 | payload.toFixed | (fractionDigits?: number) => string |
387
387
| tst.ts:293:7:293:23 | payload.toFixed() | string |
388
388
| tst.ts:293:15:293:21 | toFixed | (fractionDigits?: number) => string |
389
+ | tst.ts:298:7:298:9 | key | typeof key |
390
+ | tst.ts:298:13:298:18 | Symbol | SymbolConstructor |
391
+ | tst.ts:298:13:298:20 | Symbol() | typeof key |
392
+ | tst.ts:300:7:300:20 | numberOrString | "hello" \| 42 |
393
+ | tst.ts:300:24:300:27 | Math | Math |
394
+ | tst.ts:300:24:300:34 | Math.random | () => number |
395
+ | tst.ts:300:24:300:36 | Math.random() | number |
396
+ | tst.ts:300:24:300:42 | Math.random() < 0.5 | boolean |
397
+ | tst.ts:300:24:300:57 | Math.ra ... "hello" | "hello" \| 42 |
398
+ | tst.ts:300:29:300:34 | random | () => number |
399
+ | tst.ts:300:40:300:42 | 0.5 | 0.5 |
400
+ | tst.ts:300:46:300:47 | 42 | 42 |
401
+ | tst.ts:300:51:300:57 | "hello" | "hello" |
402
+ | tst.ts:302:5:302:7 | obj | { [key]: string \| number; } |
403
+ | tst.ts:302:11:304:1 | {\\n [ke ... ring,\\n} | { [key]: string \| number; } |
404
+ | tst.ts:303:4:303:6 | key | typeof key |
405
+ | tst.ts:303:10:303:23 | numberOrString | "hello" \| 42 |
406
+ | tst.ts:306:5:306:19 | typeof obj[key] | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
407
+ | tst.ts:306:5:306:32 | typeof ... string" | boolean |
408
+ | tst.ts:306:12:306:14 | obj | { [key]: string \| number; } |
409
+ | tst.ts:306:12:306:19 | obj[key] | string \| number |
410
+ | tst.ts:306:16:306:18 | key | typeof key |
411
+ | tst.ts:306:25:306:32 | "string" | "string" |
412
+ | tst.ts:307:7:307:9 | str | string |
413
+ | tst.ts:307:13:307:15 | obj | { [key]: string \| number; } |
414
+ | tst.ts:307:13:307:20 | obj[key] | string |
415
+ | tst.ts:307:17:307:19 | key | typeof key |
416
+ | tst.ts:308:3:308:5 | str | string |
417
+ | tst.ts:308:3:308:17 | str.toUpperCase | () => string |
418
+ | tst.ts:308:3:308:19 | str.toUpperCase() | string |
419
+ | tst.ts:308:7:308:17 | toUpperCase | () => string |
420
+ | tst.ts:313:10:313:10 | f | <T>(arg: { produce: (n: string) => T; consume: ... |
421
+ | tst.ts:313:15:313:17 | arg | { produce: (n: string) => T; consume: (x: T) =>... |
422
+ | tst.ts:314:3:314:9 | produce | (n: string) => T |
423
+ | tst.ts:314:12:314:27 | (n: string) => T | (n: string) => T |
424
+ | tst.ts:314:13:314:13 | n | string |
425
+ | tst.ts:315:3:315:9 | consume | (x: T) => void |
426
+ | tst.ts:315:12:315:25 | (x: T) => void | (x: T) => void |
427
+ | tst.ts:315:13:315:13 | x | T |
428
+ | tst.ts:318:1:318:1 | f | <T>(arg: { produce: (n: string) => T; consume: ... |
429
+ | tst.ts:318:1:321:2 | f({\\n p ... se()\\n}) | void |
430
+ | tst.ts:318:3:321:1 | {\\n pro ... ase()\\n} | { produce: (n: string) => string; consume: (x: ... |
431
+ | tst.ts:319:3:319:9 | produce | (n: string) => string |
432
+ | tst.ts:319:12:319:12 | n | string |
433
+ | tst.ts:319:12:319:17 | n => n | (n: string) => string |
434
+ | tst.ts:319:17:319:17 | n | string |
435
+ | tst.ts:320:3:320:9 | consume | (x: string) => string |
436
+ | tst.ts:320:12:320:12 | x | string |
437
+ | tst.ts:320:12:320:31 | x => x.toLowerCase() | (x: string) => string |
438
+ | tst.ts:320:17:320:17 | x | string |
439
+ | tst.ts:320:17:320:29 | x.toLowerCase | () => string |
440
+ | tst.ts:320:17:320:31 | x.toLowerCase() | string |
441
+ | tst.ts:320:19:320:29 | toLowerCase | () => string |
442
+ | tst.ts:325:7:325:14 | ErrorMap | { new (entries?: readonly (readonly [string, Er... |
443
+ | tst.ts:325:18:325:20 | Map | MapConstructor |
444
+ | tst.ts:325:18:325:35 | Map<string, Error> | any |
445
+ | tst.ts:327:7:327:14 | errorMap | Map<string, Error> |
446
+ | tst.ts:327:18:327:31 | new ErrorMap() | Map<string, Error> |
447
+ | tst.ts:327:22:327:29 | ErrorMap | { new (entries?: readonly (readonly [string, Er... |
448
+ | tst.ts:338:7:338:7 | a | "a" \| "b" |
449
+ | tst.ts:338:14:338:16 | 'a' | "a" |
450
+ | tst.ts:343:3:343:5 | get | () => T |
451
+ | tst.ts:343:8:343:14 | () => T | () => T |
452
+ | tst.ts:344:3:344:5 | set | (value: T) => void |
453
+ | tst.ts:344:8:344:25 | (value: T) => void | (value: T) => void |
454
+ | tst.ts:344:9:344:13 | value | T |
455
+ | tst.ts:347:7:347:11 | state | State<number> |
456
+ | tst.ts:347:30:350:1 | {\\n get ... > { }\\n} | State<number> |
457
+ | tst.ts:348:3:348:5 | get | () => number |
458
+ | tst.ts:348:8:348:15 | () => 42 | () => number |
459
+ | tst.ts:348:14:348:15 | 42 | 42 |
460
+ | tst.ts:349:3:349:5 | set | (value: number) => void |
461
+ | tst.ts:349:8:349:21 | (value) => { } | (value: number) => void |
462
+ | tst.ts:349:9:349:13 | value | number |
463
+ | tst.ts:352:7:352:14 | fortyTwo | number |
464
+ | tst.ts:352:18:352:22 | state | State<number> |
465
+ | tst.ts:352:18:352:26 | state.get | () => number |
466
+ | tst.ts:352:18:352:28 | state.get() | number |
467
+ | tst.ts:352:24:352:26 | get | () => number |
468
+ | tst.ts:356:8:356:18 | tstModuleES | () => "a" \| "b" |
469
+ | tst.ts:356:25:356:43 | './tstModuleES.mjs' | any |
470
+ | tst.ts:358:1:358:7 | console | Console |
471
+ | tst.ts:358:1:358:11 | console.log | (...data: any[]) => void |
472
+ | tst.ts:358:1:358:26 | console ... leES()) | void |
473
+ | tst.ts:358:9:358:11 | log | (...data: any[]) => void |
474
+ | tst.ts:358:13:358:23 | tstModuleES | () => "a" \| "b" |
475
+ | tst.ts:358:13:358:25 | tstModuleES() | "a" \| "b" |
476
+ | tst.ts:360:10:360:21 | tstModuleCJS | () => "a" \| "b" |
477
+ | tst.ts:360:10:360:21 | tstModuleCJS | () => "a" \| "b" |
478
+ | tst.ts:360:30:360:49 | './tstModuleCJS.cjs' | any |
479
+ | tst.ts:362:1:362:7 | console | Console |
480
+ | tst.ts:362:1:362:11 | console.log | (...data: any[]) => void |
481
+ | tst.ts:362:1:362:27 | console ... eCJS()) | void |
482
+ | tst.ts:362:9:362:11 | log | (...data: any[]) => void |
483
+ | tst.ts:362:13:362:24 | tstModuleCJS | () => "a" \| "b" |
484
+ | tst.ts:362:13:362:26 | tstModuleCJS() | "a" \| "b" |
485
+ | tst.ts:368:13:368:13 | A | typeof library-tests/TypeScript/Types/tstSuffixA.ts |
486
+ | tst.ts:368:20:368:33 | './tstSuffixA' | any |
487
+ | tst.ts:370:1:370:7 | console | Console |
488
+ | tst.ts:370:1:370:11 | console.log | (...data: any[]) => void |
489
+ | tst.ts:370:1:370:29 | console ... File()) | void |
490
+ | tst.ts:370:9:370:11 | log | (...data: any[]) => void |
491
+ | tst.ts:370:13:370:13 | A | typeof library-tests/TypeScript/Types/tstSuffixA.ts |
492
+ | tst.ts:370:13:370:26 | A.resolvedFile | () => "tstSuffixA.ts" |
493
+ | tst.ts:370:13:370:28 | A.resolvedFile() | "tstSuffixA.ts" |
494
+ | tst.ts:370:15:370:26 | resolvedFile | () => "tstSuffixA.ts" |
495
+ | tst.ts:372:13:372:13 | B | typeof library-tests/TypeScript/Types/tstSuffixB.ios.ts |
496
+ | tst.ts:372:20:372:33 | './tstSuffixB' | any |
497
+ | tst.ts:374:1:374:7 | console | Console |
498
+ | tst.ts:374:1:374:11 | console.log | (...data: any[]) => void |
499
+ | tst.ts:374:1:374:29 | console ... File()) | void |
500
+ | tst.ts:374:9:374:11 | log | (...data: any[]) => void |
501
+ | tst.ts:374:13:374:13 | B | typeof library-tests/TypeScript/Types/tstSuffixB.ios.ts |
502
+ | tst.ts:374:13:374:26 | B.resolvedFile | () => "tstSuffixB.ios.ts" |
503
+ | tst.ts:374:13:374:28 | B.resolvedFile() | "tstSuffixB.ios.ts" |
504
+ | tst.ts:374:15:374:26 | resolvedFile | () => "tstSuffixB.ios.ts" |
505
+ | tstModuleCJS.cts:1:17:1:28 | tstModuleCJS | () => "a" \| "b" |
506
+ | tstModuleCJS.cts:2:12:2:15 | Math | Math |
507
+ | tstModuleCJS.cts:2:12:2:22 | Math.random | () => number |
508
+ | tstModuleCJS.cts:2:12:2:24 | Math.random() | number |
509
+ | tstModuleCJS.cts:2:12:2:30 | Math.random() > 0.5 | boolean |
510
+ | tstModuleCJS.cts:2:12:2:42 | Math.ra ... ' : 'b' | "a" \| "b" |
511
+ | tstModuleCJS.cts:2:17:2:22 | random | () => number |
512
+ | tstModuleCJS.cts:2:28:2:30 | 0.5 | 0.5 |
513
+ | tstModuleCJS.cts:2:34:2:36 | 'a' | "a" |
514
+ | tstModuleCJS.cts:2:40:2:42 | 'b' | "b" |
515
+ | tstModuleES.mts:1:25:1:35 | tstModuleES | () => "a" \| "b" |
516
+ | tstModuleES.mts:2:12:2:15 | Math | Math |
517
+ | tstModuleES.mts:2:12:2:22 | Math.random | () => number |
518
+ | tstModuleES.mts:2:12:2:24 | Math.random() | number |
519
+ | tstModuleES.mts:2:12:2:30 | Math.random() > 0.5 | boolean |
520
+ | tstModuleES.mts:2:12:2:42 | Math.ra ... ' : 'b' | "a" \| "b" |
521
+ | tstModuleES.mts:2:17:2:22 | random | () => number |
522
+ | tstModuleES.mts:2:28:2:30 | 0.5 | 0.5 |
523
+ | tstModuleES.mts:2:34:2:36 | 'a' | "a" |
524
+ | tstModuleES.mts:2:40:2:42 | 'b' | "b" |
525
+ | tstSuffixA.ts:1:17:1:28 | resolvedFile | () => "tstSuffixA.ts" |
526
+ | tstSuffixA.ts:2:12:2:26 | 'tstSuffixA.ts' | "tstSuffixA.ts" |
527
+ | tstSuffixB.ios.ts:1:17:1:28 | resolvedFile | () => "tstSuffixB.ios.ts" |
528
+ | tstSuffixB.ios.ts:2:12:2:30 | 'tstSuffixB.ios.ts' | "tstSuffixB.ios.ts" |
529
+ | tstSuffixB.ts:1:17:1:28 | resolvedFile | () => "tstSuffixB.ts" |
530
+ | tstSuffixB.ts:2:12:2:26 | 'tstSuffixB.ts' | "tstSuffixB.ts" |
389
531
| type_alias.ts:3:5:3:5 | b | boolean |
390
532
| type_alias.ts:7:5:7:5 | c | ValueOrArray<number> |
391
533
| type_alias.ts:14:9:14:32 | [proper ... ]: Json | any |
@@ -461,6 +603,9 @@ getTypeDefinitionType
461
603
| tst.ts:265:3:269:3 | interfa ... an;\\n } | TypeMap |
462
604
| tst.ts:271:3:276:7 | type Un ... }[P]; | UnionRecord<P> |
463
605
| tst.ts:289:3:289:63 | type Fu ... > void; | Func |
606
+ | tst.ts:331:1:334:14 | type Fi ... never; | FirstString<T> |
607
+ | tst.ts:336:1:336:51 | type F ... lean]>; | "a" \| "b" |
608
+ | tst.ts:342:1:345:1 | interfa ... void;\\n} | State<T> |
464
609
| type_alias.ts:1:1:1:17 | type B = boolean; | boolean |
465
610
| type_alias.ts:5:1:5:50 | type Va ... ay<T>>; | ValueOrArray<T> |
466
611
| type_alias.ts:9:1:15:13 | type Js ... Json[]; | Json |
@@ -703,6 +848,48 @@ getTypeExprType
703
848
| tst.ts:289:47:289:52 | string | string |
704
849
| tst.ts:289:59:289:62 | void | void |
705
850
| tst.ts:291:13:291:16 | Func | Func |
851
+ | tst.ts:313:12:313:12 | T | T |
852
+ | tst.ts:313:20:315:27 | {\\n pro ... void } | { produce: (n: string) => T; consume: (x: T) =>... |
853
+ | tst.ts:314:12:314:27 | (n: string) => T | (n: string) => T |
854
+ | tst.ts:314:16:314:21 | string | string |
855
+ | tst.ts:314:27:314:27 | T | T |
856
+ | tst.ts:315:12:315:25 | (x: T) => void | (x: T) => void |
857
+ | tst.ts:315:16:315:16 | T | T |
858
+ | tst.ts:315:22:315:25 | void | void |
859
+ | tst.ts:316:4:316:7 | void | void |
860
+ | tst.ts:325:22:325:27 | string | string |
861
+ | tst.ts:325:30:325:34 | Error | Error |
862
+ | tst.ts:331:6:331:16 | FirstString | FirstString<T> |
863
+ | tst.ts:331:18:331:18 | T | T |
864
+ | tst.ts:336:6:336:6 | F | "a" \| "b" |
865
+ | tst.ts:336:10:336:20 | FirstString | FirstString<T> |
866
+ | tst.ts:336:10:336:50 | FirstSt ... olean]> | "a" \| "b" |
867
+ | tst.ts:336:22:336:49 | ['a' \| ... oolean] | ["a" \| "b", number, boolean] |
868
+ | tst.ts:336:23:336:25 | 'a' | "a" |
869
+ | tst.ts:336:23:336:31 | 'a' \| 'b' | "a" \| "b" |
870
+ | tst.ts:336:29:336:31 | 'b' | "b" |
871
+ | tst.ts:336:34:336:39 | number | number |
872
+ | tst.ts:336:42:336:48 | boolean | boolean |
873
+ | tst.ts:338:10:338:10 | F | "a" \| "b" |
874
+ | tst.ts:342:11:342:15 | State | State<T> |
875
+ | tst.ts:342:24:342:24 | T | T |
876
+ | tst.ts:343:8:343:14 | () => T | () => T |
877
+ | tst.ts:343:14:343:14 | T | T |
878
+ | tst.ts:344:8:344:25 | (value: T) => void | (value: T) => void |
879
+ | tst.ts:344:16:344:16 | T | T |
880
+ | tst.ts:344:22:344:25 | void | void |
881
+ | tst.ts:347:14:347:18 | State | State<T> |
882
+ | tst.ts:347:14:347:26 | State<number> | State<number> |
883
+ | tst.ts:347:20:347:25 | number | number |
884
+ | tstModuleCJS.cts:1:33:1:35 | 'a' | "a" |
885
+ | tstModuleCJS.cts:1:33:1:41 | 'a' \| 'b' | "a" \| "b" |
886
+ | tstModuleCJS.cts:1:39:1:41 | 'b' | "b" |
887
+ | tstModuleES.mts:1:40:1:42 | 'a' | "a" |
888
+ | tstModuleES.mts:1:40:1:48 | 'a' \| 'b' | "a" \| "b" |
889
+ | tstModuleES.mts:1:46:1:48 | 'b' | "b" |
890
+ | tstSuffixA.ts:1:33:1:47 | 'tstSuffixA.ts' | "tstSuffixA.ts" |
891
+ | tstSuffixB.ios.ts:1:33:1:51 | 'tstSuffixB.ios.ts' | "tstSuffixB.ios.ts" |
892
+ | tstSuffixB.ts:1:33:1:47 | 'tstSuffixB.ts' | "tstSuffixB.ts" |
706
893
| type_alias.ts:1:6:1:6 | B | boolean |
707
894
| type_alias.ts:1:10:1:16 | boolean | boolean |
708
895
| type_alias.ts:3:8:3:8 | B | boolean |
@@ -783,6 +970,7 @@ referenceDefinition
783
970
| E | type_definition_objects.ts:6:8:6:16 | enum E {} |
784
971
| EnumWithOneMember | type_definitions.ts:18:26:18:31 | member |
785
972
| Error | tst.ts:210:10:213:3 | interfa ... ng;\\n } |
973
+ | FirstString<T> | tst.ts:331:1:334:14 | type Fi ... never; |
786
974
| Foo | tst.ts:116:3:129:3 | class F ... }\\n } |
787
975
| Foo | tst.ts:165:5:167:5 | interfa ... ;\\n } |
788
976
| Foo | tst.ts:179:3:192:3 | class F ... \\n } |
@@ -796,6 +984,8 @@ referenceDefinition
796
984
| NonAbstractDummy | tst.ts:54:1:56:1 | interfa ... mber;\\n} |
797
985
| Person | tst.ts:222:3:234:3 | class P ... }\\n } |
798
986
| Shape | tst.ts:140:3:142:47 | type Sh ... mber }; |
987
+ | State<T> | tst.ts:342:1:345:1 | interfa ... void;\\n} |
988
+ | State<number> | tst.ts:342:1:345:1 | interfa ... void;\\n} |
799
989
| Sub | tst.ts:97:3:101:3 | class S ... }\\n } |
800
990
| Success | tst.ts:205:10:208:3 | interfa ... ng;\\n } |
801
991
| Super | tst.ts:91:3:95:3 | class S ... }\\n } |
@@ -852,16 +1042,20 @@ abstractSignature
852
1042
unionIndex
853
1043
| 1 | 0 | 1 \| 2 |
854
1044
| 2 | 1 | 1 \| 2 |
1045
+ | 42 | 1 | "hello" \| 42 |
855
1046
| "NumberContents" | 0 | "NumberContents" \| "StringContents" |
856
1047
| "StringContents" | 1 | "NumberContents" \| "StringContents" |
857
1048
| "a" | 0 | "a" \| "b" |
858
1049
| "a" | 1 | number \| "a" |
1050
+ | "a" | 3 | number \| boolean \| "a" \| "b" |
859
1051
| "b" | 1 | "a" \| "b" |
1052
+ | "b" | 4 | number \| boolean \| "a" \| "b" |
860
1053
| "bigint" | 2 | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
861
1054
| "boolean" | 2 | keyof TypeMap |
862
1055
| "boolean" | 3 | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
863
1056
| "circle" | 0 | "circle" \| "square" |
864
1057
| "function" | 7 | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
1058
+ | "hello" | 0 | "hello" \| 42 |
865
1059
| "number" | 1 | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
866
1060
| "number" | 1 | keyof TypeMap |
867
1061
| "object" | 6 | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
@@ -871,6 +1065,7 @@ unionIndex
871
1065
| "symbol" | 4 | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
872
1066
| "undefined" | 5 | "string" \| "number" \| "bigint" \| "boolean" \| "s... |
873
1067
| Error | 1 | Success \| Error |
1068
+ | Error | 1 | string \| Error |
874
1069
| Json[] | 5 | string \| number \| boolean \| { [property: string... |
875
1070
| Promise<number> | 2 | boolean \| Promise<number> |
876
1071
| PromiseLike<TResult1> | 1 | TResult1 \| PromiseLike<TResult1> |
@@ -890,16 +1085,19 @@ unionIndex
890
1085
| false | 0 | boolean |
891
1086
| false | 0 | boolean \| Promise<number> |
892
1087
| false | 1 | number \| boolean |
1088
+ | false | 1 | number \| boolean \| "a" \| "b" |
893
1089
| false | 2 | string \| number \| boolean |
894
1090
| false | 2 | string \| number \| boolean \| { [property: string... |
895
1091
| number | 0 | number \| "a" |
896
1092
| number | 0 | number \| ValueOrArray<number>[] |
897
1093
| number | 0 | number \| boolean |
1094
+ | number | 0 | number \| boolean \| "a" \| "b" |
898
1095
| number | 1 | string \| number |
899
1096
| number | 1 | string \| number \| boolean |
900
1097
| number | 1 | string \| number \| boolean \| { [property: string... |
901
1098
| number | 1 | string \| number \| true |
902
1099
| string | 0 | VirtualNode \| { [key: string]: any; } |
1100
+ | string | 0 | string \| Error |
903
1101
| string | 0 | string \| [string, { [key: string]: any; }, ...V... |
904
1102
| string | 0 | string \| number |
905
1103
| string | 0 | string \| number \| boolean |
@@ -911,6 +1109,7 @@ unionIndex
911
1109
| true | 1 | boolean |
912
1110
| true | 1 | boolean \| Promise<number> |
913
1111
| true | 2 | number \| boolean |
1112
+ | true | 2 | number \| boolean \| "a" \| "b" |
914
1113
| true | 2 | string \| number \| true |
915
1114
| true | 3 | string \| number \| boolean |
916
1115
| true | 3 | string \| number \| boolean \| { [property: string... |
0 commit comments