@typescript_ru

Страница 122 из 669
Vladimir
27.11.2016
12:53:31
Просто то, что ты хочешь, даже теоретически сложно представить

Vasiliy
27.11.2016
12:53:58
я понимаю, понятия не имею как это могло бы работать

Vladimir
27.11.2016
12:54:30
Это одна из причин, по которой статическая типизация хорошо идет с функциональщиной и immutable данными

Ты хочешь донести до тайп чекера, что если eof() false, то следующие вызов peek будет не null, если до них не будет вызова функции с потенциальными эффектами

Google
Vladimir
27.11.2016
12:56:06
Это как то сложновато

Vasiliy
27.11.2016
12:56:32
да, понимаю(

Vladimir
27.11.2016
12:57:25
если хочется красоты, то добавь метод, который внутри проверяет, и вызывает функцию, если не eof

Vasiliy
27.11.2016
13:16:59
а как быть если eof() это детали реализации? например, https://flowtype.org/try/#0C4TwDgpgBAKg9gawgOygXigbwFBSqSALigGdgAnAS2QHMAaXKANwEMAbAVwmLKtoYC+AbmzYC0AHJwAJtAw484nhWr1GrTt1Ir+2YaIDGbFiRKxEKAMoUILALZZGkCAgAUASmIB+eElQK8KHIIYA5yf0ZA-HAtAHIAUQAPMGDTSjhkWIYovA0uYljELMiofTwBUTwIOAAzD2IAIzg4NlsIqODQ8PwAC0oSADpnN3d0NAxkDjY2EXK9Q2NTKAAFFnISCHJHPGowDmBiXysbexFGAwzeDgNgOHJXXf3Di2RrYPtRgMU+wcfgdCgf1mpUqUDAaw29SgUlkAG0ALrbQKUGpQVzAH4DP4Dap1dyjTphVAI4F4QndWEY-pDCEQAAy9ga0hYHnhwIqTlpDLsTJZnmhMmgXyCISJSKiSigsW5vOKOWY7HyvWp4PWEAAguQaB5soEyiDOWrNdr+bxVOKoBdkGQsNFIHQFZpSgCqb9kHtgEMIC4PKSoAB6f1QADuPRYwAgTE2JXJqDyEHZ82wVptvFsDgmEGD5j8b3TvuTl3+qo2W0z2dWavuaY+IhT-1SU3+GBLmxpat9QA как было бы оптимально поступить в таком случае? т.е. он как бы пытается быть умным, но не до конца (да и понятно, что такой анализ это едва ли выполнимая для него задача) и это начинает мешать должен же быть способ подсказать ему в таком случае, типа "эй флоу, расслабься, я знаю что тут не null"

а, блин, тайпкастинг же const token = (this.input.next(): any); лан, и так сойдет, проехали)

или так ((this.input.next(): any): Token)

лол

Aleh
27.11.2016
17:02:50
а есть кто в typescript checker api шарит? Вопрос такой: есть тип конструктора, у него есть signatures. Их может быть несколько(в зависимости от количества определений конструктора). Та, которая общая, она всегда последней будет?

Vasiliy
27.11.2016
22:02:34
хм, а теперь не могу допереть как тут поступить: http://bit.ly/2gzSIRs

Aleh
27.11.2016
22:04:44
type Operator такого нет в типах?

Vasiliy
27.11.2016
22:04:50
https://flowtype.org/try/#0C4TwDgpgBAKg9gawgOxuaBeKByAysAJwEtkBzbKAHxwDkBXAWwCMICLrsB5SAgQ2DhsA3AChQkWIhRQsAbyjiIALklJU6ADRQAbrwA2dZVADOhEqSpRkjFgSgBfUWPRR8xMjTgATTFHmKVPDMybC1dAyNTdwtHZwkAQWNjIlJkBhRgTx8ZPxEoBXRAxOTU9ORgULyoOB5+QUCMSvy9AAtjFXjcGA0qgjaOrp7YuOgAIRJeAhAs31kqgJxx5EmQJuragQIVKPMe5v6oTu7eg6Ohp0VDrpzilLSMmcsllZmnADM6ZABjYCI4ZCgkAgCAAFABKFTwNS5fIECDAOgEAFzfL5BZcDaCNb5cKGBprWL2EQfb6-f5QJgTKYg1rtK4wCH0mFQL7-Ux+HT6QwOHJA0Fg0T5Kqs5DsmqsOp2LC4iAAOgEbnM4KEUAA9KrOREoERjFAIABHOj6BRwHCNKrCtnAAoSLDivibGQYLDYRpQAD8OFupQyFECzym2EFLKtUD6urkNqMQWioU1eJwAA8KLF8iL2bx2ZHFFp7ZKtLStOGHMHevDEQDKctqZngAKRPYgA

ой, прости( вот это ^ торопился и нервничал)

Aleh
27.11.2016
22:07:13
rhs не AST

Google
Vasiliy
27.11.2016
22:07:43
https://flowtype.org/try/#0C4TwDgpgBAKg9gawgOxuaBeKByAysAJwEtkBzbKAHxwDkBXAWwCMICLrsB5SAgQ2DhsA3AChQkWIhRQsAbyjiIALklJU6ADRQAbrwA2dZVADOhEqSpRkjFgSgBfUWPRR8xMjTgATTFHmKVPDMybC1dAyNTdwtHZwkAQWNjIlJkBhRgTx8ZPxEoBXRAxOTU9ORgULyoOB5+QUCMSvy9AAtjFXjcGA0qgjaOrp7YuOgAIRJeAhAs31kqgJxx5EmQJuragQIVKPMe5v6oTu7eg6Ohp0VDrpzilLSMmcsllcfqN3MZpwAzOmQAY2ARDgyCgkAgCAAFABKFTwNS5fIECDAOgEEFzfL5BZcDaCNb5cKGBprWL2EQ-f6A4FQJgTKYQ1rtK4wGHMhFQP7A0x+HT6QwOHJgyFQ0T5Kqc5DcmqsOp2LCEiAAOgE7zI0KEUAA9JreREoERjFAIABHOj6BRwHCNKrirnAAoSLDSvibGQYLDYRpQAD8OFupQyFECzym2FFHLtUD6hrkDqMQWioV1RJwAA8KLF8hLubxubHFFpnbKtIytNGHOHesjUSDact6bngCKRPYgA

Aleh
27.11.2016
22:07:45
ну и да, operator может быть стрингом не =

Vasiliy
27.11.2016
22:08:27
а, блин, ссылка не меняется, обновил

type AST = AssignmentNode | BinaryNode | StringNode; type AssignmentNode = { type: 'Assignment', operator: string, // <- lhs: AST, rhs: AST, };

та же фигня =/

в реальном аналоге этого же у меня этих ошибок не было, тут я просто торопился скетч сделать)

Aleh
27.11.2016
22:11:30
а, блин, ссылка не меняется, обновил
https://flowtype.org/try/#0C4TwDgpgBAKg9gawgOxuaBeKByAysAJwEtkBzbKAHxwDkBXAWwCMICLrsB5SAgQ2DhsA3AChQkWIhRQsAbyjiIALklJU6ADRQAbrwA2dZVADOhEqSpRkjFgSgBfUWPRR8xMjTgATTFHmKVPDMybC1dAyNTdwtHZwkAQWNjIlJkBhRgTx8ZPxEoBXRAxOTU9ORgULyoOB5+QUCMSvy9AAtjFXjcGA0qgjaOrp7YuOgAIRJeAhAs31kqgJxx5EmQJuragQIVKPMe5v6oTu7eg6Ohp0VDrpzilLSMmcsllcfqN3MZpwAzOmQAY2ARDgyCgkAgCAAFABKFTwNS5fIECDAOgEEFzfL5BZcDaCNb5cKGBprWL2EQ-f6A4FQJgTKYQ1rtK4wGHMhFQP7A0x+HT6QwOHJgyFQ0T5Kqc5DcmqsOp2LCEiAAOgE7zI0KEUAA9JreREoERjFAIABHOj6BRwHCNcVc4BQPpMo45fyFHCq8hhPlGbAADwosTFzWRUF4plF+q+UAh0r4mxkGCw2EaUPZ+VDdrkBUgKgARLdShkc1oY7KtIytA6HOH7Ea9MZoBjMennVmjDnnlMi+sZZsy20K20q1Ua1Aqr1kaiQbTlvT0yKRPYgA

свой парсер пишешь?

Vasiliy
27.11.2016
22:12:26
ну я книгу читаю

Language Implementation Patterns

Aleh
27.11.2016
22:12:39
дракон?)

Vasiliy
27.11.2016
22:12:50
не) эту я пока не осилил

Language Implementation Patterns, Terence Parr пока мне нравится

Aleh
27.11.2016
22:13:17
не, эту не читал

Vasiliy
27.11.2016
22:22:37
забил и вообще убрал operator из AssignmentNode (%

Aleh
27.11.2016
22:32:37
че, не захотелось в if выносить?)

Vasiliy
27.11.2016
22:33:12
ну вот только так он зачекал: http://bit.ly/2gw3mv6 так проще всего было сделать и не заморачиваться, сильно и так залип я

Aleh
28.11.2016
07:34:47
Как typescript влияет?

.
28.11.2016
07:38:07
Хз, я кофе перепил

Anatoly
28.11.2016
09:53:09
Ребят, а кто как работает с tslint? Юзаете ли при сборке в продакшене?

Google
Yuri
28.11.2016
09:56:06
в продакшене?

Anatoly
28.11.2016
09:56:52
Продакшн сборке*

Aleh
28.11.2016
10:01:02
все равно не понял вопроса

есть степ в CI который гоняет tslint по проекту

Anatoly
28.11.2016
10:02:40
Ну да, если линтер там ругается, то сборку не продолжаем. Но надо ли это? Есть ли смысл в CI гонять линтер, когда каждый разработчик может сам себя контролировать с помощью tslint перед пушем коммита?

Вот я про что )

Yuri
28.11.2016
10:07:47
я бы гонял, точнее так — мы гоняем но там очень маленький конфиг но если у подпроекта есть свой -- он будет учтен

Aleh
28.11.2016
10:09:07
есть ли смысл гонять тесты, если каждый разработчик может их гонять перед пушем?)

Anatoly
28.11.2016
10:10:19
Логично, с этим понятно. А у кого какой tslint ? Если сборка через webpack, то наверное будет удобно что-то для вебпака поискать?

Aleh
28.11.2016
10:12:09
у нас вроде этот таск вообще в галпе гоняется)

лень переписывать и работает же)

Anatoly
28.11.2016
10:12:29
у нас тоже в гранте всё гонялось )

Nikita
28.11.2016
10:12:34
если тесты есть, их определенно надо гонять на каждый билд

Aleh
28.11.2016
10:13:00
ЛОЛ
ну это был ответ на сообщение выше

Ну да, если линтер там ругается, то сборку не продолжаем. Но надо ли это? Есть ли смысл в CI гонять линтер, когда каждый разработчик может сам себя контролировать с помощью tslint перед пушем коммита?

есть ли смысл гонять тесты, если каждый разработчик может их гонять перед пушем?)

Yuri
28.11.2016
10:14:20
вообще мне кажется лучший вариант это когда тебе редактор говорит про ошибки + в CI

Nikita
28.11.2016
10:14:28
ясно) ну кароч это бред, могу как минимум 1 случай привести, где разработчик может накосячить. даже самый аккуратный

Anatoly
28.11.2016
10:14:33
ну редактор то это само собой, тут не обсуждается

Google
Anatoly
28.11.2016
10:42:50
TSlint всё-таки небыстрая команда, и неужели нет каких-нибудь практик, когда перед сборкой в CI она выполняется не по всему проекту, а, например, по файлам, которые были изменены с момента предыдущей сборки?

Дмитрий
28.11.2016
10:45:13
Ну можно кэширование gulp для этого заюзать

Там после gulp-remember + gulpcached остаются только измененные файлы, соответственно дальше в линтер тоже только они и пройдут

Admin
ERROR: S client not available

Anatoly
28.11.2016
11:25:27
Самая медленная, да

Aleh
28.11.2016
11:25:45
а сколько идет она и сколько тесты?

О.о

у нас так-то фунциональные тесты подольше гоняются

Anatoly
28.11.2016
11:27:18
Тестов нет, идет около 40 секунд. Всё остальное (копирование, минификация, прекомпиляция шаблонов) около 25 секунд.

Aleh
28.11.2016
11:29:21
а, лол. Ну у вас и проблемы)

Anatoly
28.11.2016
11:30:43
Ну это локально так, тем более я сейчас всю сборку переписываю с нуля. Раньше с грантом артефакт нужный мавеном собирался около 10 минут. Поэтому сейчас на всё смотрю внимательно очень.

Где локально 30 секунд, то в каком-нибдуь тормознутом TeamCity это выльется в минуты.

Aleh
28.11.2016
11:32:09
да ну, глупости

я конечно не большой эксперт по team city

но может у вас просто инстанс дохлый?

Anatoly
28.11.2016
11:32:38
Дак так оно и есть, но до этого еще не дошёл.

Google
Anatoly
28.11.2016
11:32:51
И версия какая-то очень старая там

Nikita
28.11.2016
11:37:16
у нас на CI наоборот быстрее чем на локальных машинках)

Aleh
28.11.2016
11:43:15
ну да, потому что машинка сильнее

у нас тоже

Nikita
28.11.2016
11:43:44
плюс почти уверен tslint можно распараллелить

Aleh
28.11.2016
11:45:01
так блин, вместо 15 секунд получить 10? у нас сборка идет 5 минут и самые большие степы по минуте

Oleg
28.11.2016
12:10:12
кто plunkr использует? есть пример typescript+react?

Yuri
28.11.2016
13:26:44
скажите как с tslint настроить моку

чтобы оно понимало глобальные describe / it

Ҫѐҏӗѫӑ
28.11.2016
13:30:46
добавить дефинишны для моки

у мс еще есть свои правила для tslint, кстати

https://github.com/Microsoft/tslint-microsoft-contrib

там и для моки с чаем чот было (хз, я tap/tape юзаю)

Yuri
28.11.2016
13:37:37
я как раз их конфиг + свои юзаю.

ну я поставил дефинишены, а толку нет

все равно tslint ругается

Anatoly
28.11.2016
13:46:33
А есть кто с Java работает и использует frontend-maven-plugin ?

Vasiliy
28.11.2016
18:42:23
хм, не могу понять что ему опять не нравится

Страница 122 из 669