Правильный тип для users
и controller
не совпадает, потому что users
является результатом вызова controller
.Вы можете позволить IFoo
быть интерфейсом для users
:
interface IFoo {
// TODO: Change `any` to correct return type
getAll(): Promise<any>;
getById(id: IUserId): Promise<any>;
}
Если вы хотите аннотировать тип controller
, вы можете сделать:
export const controller: (args: IConArgs) => IFoo =
({ loggedUser }: IConArgs) => ({ ... });
Лучше,Вместо этого аннотируйте возвращаемый тип функции стрелки, чтобы избежать повторения типа параметра:
export const controller = ({ loggedUser }: IConArgs): IFoo => ({ ... });
Если это не то, о чем вы просили, уточните вопрос.