File: mappedTypeGenericWithKnownKeys.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (21 lines) | stat: -rw-r--r-- 1,151 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
tests/cases/compiler/mappedTypeGenericWithKnownKeys.ts(9,9): error TS2551: Property 'unknownLiteralKey' does not exist on type 'Record<keyof Shape | "knownLiteralKey", number>'. Did you mean 'knownLiteralKey'?
tests/cases/compiler/mappedTypeGenericWithKnownKeys.ts(10,5): error TS2536: Type 'string' cannot be used to index type 'Record<keyof Shape | "knownLiteralKey", number>'.


==== tests/cases/compiler/mappedTypeGenericWithKnownKeys.ts (2 errors) ====
    // based on #50054
    
    function test<Shape extends Record<string, string>>(shape: Shape, key: keyof Shape) {
        const obj = {} as Record<keyof Shape | "knownLiteralKey", number>;
    
        obj.knownLiteralKey = 1;
        obj[key] = 2;
    
        obj.unknownLiteralKey = 3; // error
            ~~~~~~~~~~~~~~~~~
!!! error TS2551: Property 'unknownLiteralKey' does not exist on type 'Record<keyof Shape | "knownLiteralKey", number>'. Did you mean 'knownLiteralKey'?
        obj['' as string] = 4; // error
        ~~~~~~~~~~~~~~~~~
!!! error TS2536: Type 'string' cannot be used to index type 'Record<keyof Shape | "knownLiteralKey", number>'.
    }