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>'.
}
|