класс и набор типов:
export class LoginPassIdentity extends ent.IdTimeEntity {
@Property()
login: string;
@Property()
password: string;
@OneToOne(() => User, undefined, { owner: true, wrappedReference: true })
user: Ref<User>;
constructor(login: string, password: string, user: User, id?: string) {
super(id);
this.login = login;
this.password = password;
this.user = Reference.create(user);
}
}
type WithoutRefs<T> = {
[prop in keyof T]: T extends Ref<infer U> ? U : T[prop];
};
type IdentityDTO = WithoutRefs<LoginPassIdentity>;
Хочу с помощью типа WithoutRefs убрать обёртку у поля user, однако такой подход не срабатывает. Что не так?
может вы имели ввиду T[prop] extends...
Блин вот это я протупил, спасибо тебе добрый человек :). Да, так заработало.
Обсуждают сегодня