Size: a a a

2020 August 14

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
то есть, как только мы зашли в case 'barrier', переменная data не может быть ничем другим кроме Barrier, но из-за того, что const data был сделан до свитча, ts подобный вывод не делает
А если создать переменную в каждом кейсе свою?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
на самом деле эта фича доставляет много головной боли при   имплементации, поэтому понятно, почему в тс её решили не реализовывать, но всё  равно как-то грустно)
источник

c⁣

createStore<🦉>... in ☄️ effector
Или юзать напрямую step.data
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
А если создать переменную в каждом кейсе свою?
рантайм желательно не менять)
источник

NF

Nikita Fedorov in ☄️ effector
createStore<🦉> ⁣
Нужен тайпгард, чтобы узнать точный тип
это понятно, только вот это оч плохой метод, т.к. тапгварды в виде функций поднимают вывод типа наверх) если бы можно было по индексу как по филду делать эквивалент гварду было бы чуть лучше
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
рантайм желательно не менять)
Ааа
источник

AO

Aleksandr Osipov in ☄️ effector
Type guard в switch case нельзя?
источник

NF

Nikita Fedorov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
кстати в ядре эффектора осталось одно не типизированное место, флоу выводил тип, поэтому я знаю, что тут ошибки нет, но она есть)
тут по идее по филду type должно работать, странно что не работает
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
а если юзать напрямую, то это прибавит ".data".length * 11 символов к имплементации
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksandr Osipov
Type guard в switch case нельзя?
источник

AO

Aleksandr Osipov in ☄️ effector
И там goodmind в коментах, хех
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Aleksandr Osipov
Type guard в switch case нельзя?
тут не обычный type guard, тут нужно вернуться в коде назад и перезаписать уже выведенный тип
источник

AO

Aleksandr Osipov in ☄️ effector
Ясно
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Aleksandr Osipov
И там goodmind в коментах, хех
это мы мессенджер типизировали
источник

AO

Aleksandr Osipov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
это мы мессенджер типизировали
А чем в итоге кончилось все?
источник

AO

Aleksandr Osipov in ☄️ effector
С мессенджером
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
а после первой тысячи типов в клиент-серверном апи пришлось ходить в issue к системам типов))
источник

NF

Nikita Fedorov in ☄️ effector
мне понравился пример с конструктором, типичный пример дыры в том что ts строит типы поверх js типов не правильно, это как с тем что нет для boolean типа BooleanLike
источник

NF

Nikita Fedorov in ☄️ effector
из-за этого приходится делать много откровенно тупых вещей
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Aleksandr Osipov
А чем в итоге кончилось все?
goodmind слегка перегорел и вызвал недовольство менеджмента, я попросил месяц на работу над ошибками под мою ответственность и мы справились в этот срок, после чего узнали, что его уволили сразу же а этот месяц ни на что не влиял. поэтому я немедленно ушёл в знак протеста. остальное вы знаете)
источник