plainToClass не конвертирует дату в строку - PullRequest
0 голосов
/ 24 января 2020

Согласно документ a Date должен быть преобразован в string:

Обратите внимание, что даты будут преобразованы в строки при попытке преобразовать объект класса в простой объект.

Мой пример кода с преобразователем класса 0.2.3 не работает должным образом:

class TestDate {
  @Type(() => Date)
  aDate!: Date;
}

  const testDate = new TestDate();
  testDate.aDate = new Date();
  const result: any = classToPlain(testDate);
  console.log(typeof result.aDate);

Это печатает object в консоль, но я ожидаю string.
Чего мне не хватает?

1 Ответ

0 голосов
/ 05 февраля 2020

Я думаю, что это ошибка: см. преобразователь класса # 326

Обходной путь на данный момент заключается в использовании @Transform:

  @Transform(value => (value as Date).toISOString(), {
    toPlainOnly: true
  })

Пример Codesandbox с обходным решением

...