Написание типов для функции с другой сигнатурой в NodeJS - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел бы написать несколько типов для hypernova-реаги * , но, к сожалению, на клиенте и сервере он имеет другую сигнатуру типа. Для клиента типы:

export function renderReact<C extends React.ComponentType>(name: string, component: C): C;

export function renderReactStatic(name: string, component: React.ComponentType): void;

, а на сервере они

export function renderReact<C extends React.ComponentType>(
    name: string,
    component: C
): (props: React.ComponentProps<C>) => string;

export function renderReactStatic<C extends React.ComponentType>(
    name: string,
    component: C
): (props: React.ComponentProps<C>) => string;

Как мне справиться с этим? Я ничего не вижу в документах по машинописи для проверки, определен ли window в охране типов.

...