169 похожих чатов

Тайпскриптологи вам вопрос: вот приходит вам запрос на express и

вы хотите взять query param скажем, page и вы точно знаете, что он int - как это правильно делать считается?
request.query.page - даст строку. Парсите вручную? Или есть какие-то приблуды у вас для квери парамов?
И хорошо бы было, чтобы эта "приблуда" умела во все типы, которые возможны в query параметре, включая optional, array и т.п.

Я пока думаю, что я могу прикрутить Superstruct для этого с coercing (из строк) должно работать. Может есть какой-то более "правильный" способ?

11 ответов

10 просмотров

Лучше всего сделано в fastify. Там это что-то вроде центральной парадигмы. Чекни на сайте, если вопрос не разрешится, уточним

const page = +query.page не подойдет?

https://www.fastify.io/docs/latest/Validation-and-Serialization/

Vladimir-Sapronov Автор вопроса

Ну они там имеют целую схему, в которой можно указывать типы. Но у меня express.

https://www.npmjs.com/package/express-joi-validation

Vladimir-Sapronov Автор вопроса

Ну а если параметр optional? А если он массив интов? На каждый случай своя приблуда/ функция?

круто он "менторит", правда?)))

Vladimir-Sapronov Автор вопроса

ОК, это так же как с Superstruct. Только хуже, потому что Joi хуже Superstruct - нет типизации для ТС

Вроде есть внутри. Я специально предварительно проверил

Vladimir-Sapronov Автор вопроса

Я пока не выкупаю, но чувствую сарказм.

???

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
что, сложно ифдеф на версию компилятора сделать?
Iluha Companets
6
Карта сайта