File: mappedTypeGenericWithKnownKeys.errors.txt

package info (click to toggle)
node-typescript 5.1.6%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 492,516 kB
  • sloc: javascript: 2,078,951; makefile: 6; sh: 1
file content (21 lines) | stat: -rw-r--r-- 1,151 bytes parent folder | download | duplicates (2)
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>'.
    }