I have a TypeScript code that processes classes (OGM framework).
There is a base class for models/entities, say, BaseModel. However, I would like to support several different base models, e.g. ProxiedBaseModel and DecoratedBaseModel.
The issue is:
export abstract class DiscriminatorMapping<BaseModelT>
{
public static getMapping() :
{ [key: string]: typeof BaseModelT }
{ ... }
This is a simple dictionary-like class.
It needs a map of string <-> class.
And typeof BaseModelT obviously doesn't work as TypeScript can't know what type will come in.
How should I express that the class type parameter takes something that is a class?
I already know how to represent the type of any class, that's { new (): <any> }. But I don't know how to apply it here:
class DiscriminatorMapping<BaseModelT extends { new (): <any> }>
Maybe I should introduce some type alias?
Aucun commentaire:
Enregistrer un commentaire