Допустим, у меня есть метод generic c с двумя аргументами типа, один из которых также является generi c:
function foo <T extends Entity<TEvents>, TEvents extends Record<string, any>>(): void { }
Как вы видите, второй аргумент используется как шаблон c аргумент первый. Он должен называться
type Events = {}
interface MyEntity extends Entity<Events> {
}
foo<MyEntity, Events>(/* ... */)
Можно ли ввести этот метод так, чтобы второй аргумент не был необходим? В конце концов кажется, что это может быть выведено из аргументов типа MyEntity
...
Другими словами, я хотел бы просто вызвать foo<MyEntity>
. В настоящее время я получаю сообщение об ошибке TS2558: Expected 2 type arguments, but got 1.