класс-трансформер Исключить неопределенные свойства - PullRequest
1 голос
/ 05 марта 2020

Исключить неопределенные или нулевые свойства из класса. это фактический характер, но мне нужен декоратор, который может игнорировать это

import {Expose, plainToClass} from "class-transformer";

class User {
    @Expose() id: number;
    @Expose() firstName: string;
    @Expose() lastName: string;
}

const fromPlainUser = {
  unkownProp: 'hello there',
  firstName: 'Umed',
  lastName: 'Khudoiberdiev',
}

console.log(plainToClass(User, fromPlainUser, { excludeExtraneousValues: true }))

// User {
//   id: undefined,
//   firstName: 'Umed',
//   lastName: 'Khudoiberdiev'
// }

1 Ответ

0 голосов
/ 15 апреля 2020

Если вы создадите экземпляр класса, у вас будут его свойства. Если вы хотите иметь объект без неопределенных свойств - просто преобразуйте экземпляр класса обратно в простой объект с правилами, которые избегают неопределенных полей. Это больше не будет экземпляр класса, но это будет объект без неопределенных полей.

...