Я хочу объединить два типа, а также сохранить действительные дженерики. например
Тип 1
interface Request<P extends core.Params = core.ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = core.Query> extends core.Request<P, ResBody, ReqBody, ReqQuery> { }
Тип 2
type Auth = {
user: User
}
Я хочу, чтобы мой новый тип был слиянием этих двух, где тип может получить все те дженерики.
Сейчас я просто объединяю их, но потом я не могу использовать дженерики типа Request
.
В настоящее время я просто объединяю эти два.
export type Merge<FirstType, SecondType> = Omit<FirstType, keyof SecondType> & SecondType;
Конечно, я могу сделать все это вручную, но этот случай повторяется в моем проекте, я хочу использовать вспомогательный метод, который может сделать это для меня. Например,
MergeWithGenerics<Request, Body>
Где новый тип хранит все дженерики первого аргумента.
Я не знаю, возможно ли это или нет, но было бы действительно здорово, если бы кто-то мог помочь мне с этим.