I'm trying to get a new object/type from the other one, but get a Type 'string' is not assignable to type 'never'
error
const Flags = {
ONE: () => 'one',
TWO: () => 'two',
// ...
};
type createEnumType<T> = {[K in keyof T]: K};
type FlagsObject = createEnumType<typeof Flags>;
type FlagsKeys = keyof FlagsObject;
const keys = Object.keys(Flags) as FlagsKeys[];
let result = {} as FlagsObject;
for (const key of keys) {
result[key] = key;// Type 'string' is not assignable to type 'never'
}
/*
Expected value and type:
result = {
ONE: "ONE";
TWO: "TWO";
}
*/
I set the type to the result
, so what am I doing wrong? Why is never
here?