Size: a a a

JavaScript.Ninja

2020 June 10

D

Di in JavaScript.Ninja
Dimitrii
Hi 🤚🙃
доброй ночи
источник

D

Dimitrii in JavaScript.Ninja
Доброй, доброй... и тебе 😇 Что привело девушку в столь поздний час в столь темное место?
источник

K

Kryoka in JavaScript.Ninja
Ночные подкаты в беседе программистов
источник

E

Elfi in JavaScript.Ninja
О! Ночные подкаты, я сейчас как раз вопрос сочиняла для этого чата)
источник

E

Elfi in JavaScript.Ninja
Доброй ночи.

Написала авторизацию через Passport.js, возникла необходимость выводить сообщение об ошибке в форме авторизации. Попыталась разобраться с Flash Messages, но не могу вытащить сообщение из req.flash()

Роут:
router.get('/login', (req, res) => {
 console.log('req.flash', req.flash())
 console.log('req.flash', req.flash('error'))
 const test = {
   allMSG: req.flash(),
   messages: req.flash('error'),
   err: req.flash()['error'],
 }
 console.log('req.test', test)
 res.render('auth/loginV2', {
   link: 'login',
   message: req.flash('error')  })
})
router.post('/localauth', passport.authenticate('local', {
 successRedirect: '/',
 failureRedirect: '/auth/login',
 failureFlash: true,
}))


Passport strategies local-login:
....
const local = new LocalStrategy(
.....
   try {
     user = await User.findOne({
       where: { email: email },
     })
     if(!user) {
.....
       return done(null, user)
     }
     else if (!await user.validPassword(password)){
       console.log('User password is invalid')
       return done(null, false, {message: 'User password is invalid'})
     }
     else {
       return done(null, user)
     }
   } catch( err) {
       return done(err)
     }
 },
)
module.exports = local


в консоли сервера:
User password is invalid
POST /auth/localauth 302 66 72.694ms [+7s]
req.flash { error: [ 'User password is invalid' ] }
req.flash []
req.test { allMSG: {}, messages: [], err: undefined }


В общем, вопрос:
Как обратиться к error внутри функции flash?
источник

E

Elfi in JavaScript.Ninja
Поможете тян?)
источник

S

Sm•ok 😈✔️ in JavaScript.Ninja
Сорян, это не я был
источник

S

Sm•ok 😈✔️ in JavaScript.Ninja
Удалил за собой
источник

D

Dimitrii in JavaScript.Ninja
Kryoka
Ночные подкаты в беседе программистов
Я колобок. Только так и подкатываю.
источник

V

VATARION in JavaScript.Ninja
всем привет! Делаю редактирование фото на канвасе, данные хранятся в объекте(координаты, размеры) и постоянно обновляются. Функция рисования их использует все ок, функция ивента mousedown тоже, функция ивента mousemove же использует значения полученные при загрузке страницы(мемоизированные?) . Почему так? куда копать?
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
VATARION
всем привет! Делаю редактирование фото на канвасе, данные хранятся в объекте(координаты, размеры) и постоянно обновляются. Функция рисования их использует все ок, функция ивента mousedown тоже, функция ивента mousemove же использует значения полученные при загрузке страницы(мемоизированные?) . Почему так? куда копать?
примитивы передаются по значению, обьекты по ссылке
соответственно вам надо передавать всегда везде ссылку на один и тот же обьект, если мутируете его
или же наоборот передавать актуальный обьект, если делаете все иммутабельно
источник

MM

Mikita Melnikau in JavaScript.Ninja
всем доброе утро! научите плиз правильно мыслить.

есть проект. в нём множественное наследование классов реализовано через миксины. Итоговая логика похожа на https://stackoverflow.com/a/35925061/7196144 . Однако при этом наследуемые классы не могут стучать в методы друг друга через this, что, в итоге, делает класс, как сущность, бесполезным. как можно переписать такой кусок? во что?
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
Mikita Melnikau
всем доброе утро! научите плиз правильно мыслить.

есть проект. в нём множественное наследование классов реализовано через миксины. Итоговая логика похожа на https://stackoverflow.com/a/35925061/7196144 . Однако при этом наследуемые классы не могут стучать в методы друг друга через this, что, в итоге, делает класс, как сущность, бесполезным. как можно переписать такой кусок? во что?
ужас какой то)
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
это до вас такое решение кто то принял?)
источник

MM

Mikita Melnikau in JavaScript.Ninja
ну типа насколько я помню это классическое множественное наследование в ES6. это решение приняли когда писали проект году в 2017. и там через модуль суперкласс собирается таким вот образом
источник

MM

Mikita Melnikau in JavaScript.Ninja
просто мне это сильно мозолит глаза, но как мыслить - я не пойму
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
Mikita Melnikau
просто мне это сильно мозолит глаза, но как мыслить - я не пойму
отказаться от концепции "наследования" и заменить на хоки или декораторы
источник

MM

Mikita Melnikau in JavaScript.Ninja
можно ссылку почитать как это делается?
источник

MM

Mikita Melnikau in JavaScript.Ninja
но вообще там версии все заварены. ничего обновлять нельзя :)
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
любая ссылка по запросу composition over inheritance
например: https://tylermcginnis.com/javascript-inheritance-vs-composition/
источник