Size: a a a

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

2020 May 31

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
я пробовал делать второй вариант. да, тс сообщает об изменениях интерфейсов. но не могу сказать, безопаснее ли этот вариант, чем первый.

зато во втором точно обламывает, что иде не может в реализацию интерфейса перейти. и после каждого изменения еще нужно вручную корректировать интерфейсы. тоже обломно. и не понятно насколько это реально необходимо
Ну это да, но кажется более безопасным. Только ещё не могу понять, как в языках с номинальной типизацией пишут. Один интерфейс на все случаи? Это кажется проблематичным
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
да, поменяется. но тс же будет проверять корректность интерфейса.

ты можешь еще использовать симуляцию номинальных типов для параметров методов
Если я то, что мне сервис возвращает передаю сразу в респонс, то тс не поможет. И таким образом можно сломать api нечаянно
источник

DC

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

И

Илья | 😶 ☮️... in Node.js — русскоговорящее сообщество
Alex Konstantinov
Сразу видно, ещё не юзал nest)
действительно))
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Dmitry Croft
Если я то, что мне сервис возвращает передаю сразу в респонс, то тс не поможет. И таким образом можно сломать api нечаянно
пример можно?
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
пример можно?
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
Практически любые изменения в интерфейсе UserService контроллер съест, если они использую один и тот же
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Dmitry Croft
Практически любые изменения в интерфейсе UserService контроллер съест, если они использую один и тот же
это мне и не понятно. т.е. сервис перестает возвращать username, а тс ничего на это не скажет?
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
это мне и не понятно. т.е. сервис перестает возвращать username, а тс ничего на это не скажет?
Если перестанет, то будет ругаться. А если у username поменяется тип, то не будет
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
И мне кажется это проблемой
источник

DC

Dmitry Croft in Node.js — русскоговорящее сообщество
то что при смене типа не будет ругаться
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
Ребята, кто пилил подгрузку старых сообщений в чате по мере скролла вверх? От чего опираться когда выдаёшь новую партию? (mongoose)
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
вот такой пример, наверное, будет понятнее. т.е. контроллер должен еще и собственные DTO делать. потому что если он воспользуется общим User, то тс проглотит. но это какой-то оверинжениринг...

как вариант, можно использовать в контроллере общий IService, но указать нужный возвращаемый тип. и тогда тс будет ругаться

const data: ControllerUser = await service.createUser();

https://www.typescriptlang.org/play/?#code/C4TwDgpgBAqgzhATgOwIYFtoF4oG8BQURUAZgJaJzAByGEAXFFYmcgOYDc+AvvvqJFgJEUHAWJQyAE0bIArugBGSLhID0aqHOFpMjZq06Fi2pLoZCzdLr3ytgSEqgDG0AJIBlJADcyrvMbOiBCoDvBIABQAlIwACogA9uhkCAA84YgAfBxEPHzOADaocHBQXoi+-mToYAUQmMjApZ4+ftDiUMUgyM5QQSFhwtFxiclpGZkBEkQaUMHAcihQ8UkpEAB0wXAJBd4QEbiSMlAAjAA0Wjp0jABE5jdQ3FGq0-OLyMuja5sQ27v7h2kjHOlysejwpAoVFo4LudAe3Eez2MvFsAmgAGEEo1EgU6ogMqIpsQgVB5EoVMYiKYUNcmMAWOwbHx7I4XO4sTidvjypV2oFgqEIBlhp9VmlOQzuUgJjkoHl8F0eqQ5D1gGRsX1sVK8ZFhHzGG5Jbiea1XFFiURnNiqFApKFUETUAB3VBkYBMM0bfpCkXIiRvJaA4724CodbSC408yMUPh6N0R7M-DWrm6xARZAQZ1lL3RKL4IA
источник

M

MORNING in Node.js — русскоговорящее сообщество
Aga Mahmudov
Ребята, кто пилил подгрузку старых сообщений в чате по мере скролла вверх? От чего опираться когда выдаёшь новую партию? (mongoose)
таймстемп
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
MORNING
таймстемп
типа шлёшь бекенду первое сверху сообщение и говоришь, дай ещё 20?
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
В mongoose можно так искать?
источник

M

MORNING in Node.js — русскоговорящее сообщество
Aga Mahmudov
типа шлёшь бекенду первое сверху сообщение и говоришь, дай ещё 20?
вполне
источник

M

MORNING in Node.js — русскоговорящее сообщество
Aga Mahmudov
В mongoose можно так искать?
а почему нет?
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
А как? find().limit(20) это я понял, но как опираться на таймстампе?
источник

M

MORNING in Node.js — русскоговорящее сообщество
Aga Mahmudov
А как? find().limit(20) это я понял, но как опираться на таймстампе?
ну если у тебя нет поля creadedAt, даты создания записи, то добавь, а дальше уже по нему и делай выборку
источник