Size: a a a

Node.js — русскоговорящее сообщество

2020 February 28

KG

Kool Guy in Node.js — русскоговорящее сообщество
просто внутри поля опишите
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
class UserDTO {
constructor(user) {
const {field} = user

this.field = field
}
}
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
или вообще  constructor({field})
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
зачем вам валидировать собственное же DTO
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
вам нужно валидировать входные данные
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
ну вот просто в ts можно описать интерфейс типа такого:
interface IUserDTO {
 firstName: string;
 lastName: string;
}


тут есть проверка типов. вот я и хочу добиться какого-то подобного поведения в js
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
зачем?
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
Kool Guy
вам нужно валидировать входные данные
а мысль как раз и была в том, чтобы совместить с валидацией входных
источник

AJ

Alex Jukov in Node.js — русскоговорящее сообщество
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
ну типа такого const newUser = new UserDTO(res.body)
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
Алексей Карташов
ну типа такого const newUser = new UserDTO(res.body)
до этой строчки надо валидировать res.body
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
и тогда никакой проверки типов не нужно будет
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
это понятно. но не везде в сервисном слое нужна именно Joi-валидация, кмк
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
ну т.е. с юзером понятно - валидация в контроллере, дальше уже прокидываем вглубь приложения. но вот есть у меня условный сервис отправки sms или почты, который отправляет в очередь необходимые данные, а в отдельном воркере эти данные достаются из очереди и письмо/смска уже реально отправляется. и вот во всех таких местах хотелось бы быть уверенным, что данные ушли/пришли нужной структуры с нужными типами. подобных вариантов использования может быть много разных
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
тесты
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Алексей Карташов
ещё и условный геттер isAdmin можно добавить
🙈 не делай так
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
но ваще зависит от вашей жадности
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
ни что не мешает реализовать валидацию отдельно
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
и переиспользовать её где угодно
источник

AJ

Alex Jukov in Node.js — русскоговорящее сообщество
Joi кажется может вполне работать как интерфейс если указать только типы и все поля не обязательные. или я что-то не понимаю
источник