'Typescript: Generic enum types as index for another type
I'm trying to create an indexed type whose index are the values of an enum BUT the enum comes from a generic argument.
export type EnumMap<TEnum extends string | undefined = undefined> = {
[key: TEnum]: ValueClass;
}
export type EnumMap<TEnum extends string | undefined = undefined> = {
[key: keyof TEnum]: ValueClass;
}
Both of those implementations shows the error:
An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead.
When I implement it as a mapped object as suggested:
export type EnumMap<TEnum extends string | undefined = undefined> = {
[TEnumKey in keyof TEnum]: ValueClass;
}
It doesn't show any errors at the definition but it only accepts TEnum instances as the value. It shows this error when I try to instantiate an EnumMap.
Type '{ "test": ValueClass; }' is not assignable to type 'TestEnum'.
I'm using this enum as a test:
export enum TestEnum {
test = 'test'
}
Is there any way to use a generic enum as a type's index?
PS.: I understand I can implement it using string as the key, but I want to tie the indexes to the enum values;
export type EnumMap = {
[key: string]: ValueClass;
}
const map: EnumMap = { [TestEnum.test]: {...} }; // works fine
Solution 1:[1]
I'm sorry if this isn't much help but shouldn't
pip install matplotlib
or
python -m pip install --user matplotlib(fist command without the $)
work?
You can also use pip freeze to check if the module is installed or not.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Devansh10 |
