сходу напрашивается обыкновенный map ключей на значения. но, возможно, я не до конца разобрался что этот тип делает
export type StoreService< N extends string, S, K extends ${N}Store = ${N}Store, SK extends ${K}Service = ${K}Service, LK extends Live${SK} = Live${SK}, ST = Store<S> > = { [k in K | SK | LK]: k extends K ? ST : k extends SK ? Tag<ST> : k extends LK ? L.Layer<unknown, never, Tag<ST>> : never; };
мде. ну, радикально улучшить не получилось. нерадикально тоже. всё от всего зависит чтобы можно было нормально вынести в map и по нему соотносить
Я бы сделал интерсекшн марпед типов Вышло бы более читаемо
Обсуждают сегодня