
Mike
07.03.2018
15:44:57
Вот так поворот
ну потому что в строковом случае ты можешь значением одного поля енама попасть на другое и получить неведомую хрень, с числовым енамом такое невозможно

John
07.03.2018
15:47:17
Что?

Mike
07.03.2018
15:48:03
ну ты можешь написать такое
enum myEnum {
foo = 'bar',
bar = 'foo',
}

Google

Mike
07.03.2018
15:49:15
обрати внимание что для обычного енама без строковых значений
enum myEnum {
qwe,
rty
}
он компилить такое
(function (myEnum) {
myEnum[myEnum["qwe"] = 0] = "qwe";
myEnum[myEnum["rty"] = 1] = "rty";
})(myEnum || (myEnum = {}));
т.е. там будут ключи в обе стороны
т.е. myEnum[0] будет 'qwe' и наоборот
если так сделать для энама в которомты сам указываешь значения, и ты допустишь неконсистентность, т.е. значением одного возьмёшь имя другого, то всё разорвёт

SmilingPanda
07.03.2018
20:14:41
Всем привет. Вопрос такой:
webpack + ts настроил. в вебпаке output __dirname, 'build', в tsconfig outDir: ./build
Но когда вебпак запущен файлы вебпаком отдаются, как будтов корне лежат, где и tsconfig. А физически их на диске не видно. Что я упустил что они не появляются?
noEmit не стоит
разобрался - сохранение затупило

Kelin
08.03.2018
11:28:55
Зачем
И как вообще вопрос по вью и вебпаку оказался в чате тайпскрипта лол

John
08.03.2018
12:47:08
Перепутал окном

☕ CunningFox
08.03.2018
13:13:01
Серьезно?

Friedrich
08.03.2018
13:13:32
Мне уже жаловались на такое. Это кто-то через бота такой спам завозит.

☕ CunningFox
08.03.2018
13:14:16
Это понятно, как он сюда попал ?

Google

Friedrich
08.03.2018
13:14:29
Кто-то из юзеров привёл

☕ CunningFox
08.03.2018
13:15:02
А ну да, там вроде нельзя запрещать добавлять ботов в группы

Saphire
08.03.2018
17:31:39
Или это кого-то ботом?

Vladimir
08.03.2018
17:37:55
Напоминаю, что кто не стирает эту херню за собой, рискует отправиться в бан во ВСЕХ чатах одновременно

Le
08.03.2018
18:14:35
Чегойсь

Max
08.03.2018
18:15:10

Vladimir
08.03.2018
18:16:09
Может и нет еще, но это вопрос времени

Max
08.03.2018
18:16:34
Так добавьте
Дай айди чата пойду сову пну
Хотя он же тут вроде
А не

Vladimir
08.03.2018
18:17:48
а где его брать?

Max
08.03.2018
18:18:12
@sergeysova
Дай людям бота

Le
08.03.2018
18:18:59
?

Сергей
08.03.2018
18:22:42
Удали это сообщение

Google

Vladimir
08.03.2018
18:23:50
Нет, и похоже никто не может
Отбой

Dmytro
08.03.2018
19:11:01
Как удалить ото что снизу на телефоне отображеться под строкой ввода сообщения "free bitcoin" ?
Если на него нажать летит сообщения в чат

Maxim
08.03.2018
19:19:15
я такую херню тоже ловил на телефоне

Сергей
08.03.2018
19:19:34
Удали сообщение

Vladimir
08.03.2018
19:20:28
Нажать на кнопку с клавиатурой

Dmytro
08.03.2018
19:20:39
Я удалил то что появилось после нажатия но наверное только для меня удалились
Это ж походу обыкновенный телеграм бот, не пробовали удалить из группы все боты ?

Тимофей
08.03.2018
19:25:02

andretshurotshka?❄️кде
08.03.2018
19:26:04
юзать эффектор

Тимофей
08.03.2018
19:30:27

andretshurotshka?❄️кде
08.03.2018
19:30:40
там не надо лезть
есть watch без них

Дмитрий
08.03.2018
19:32:09
Я вообще склоняюсь к объявлению watch основным подходом, не вторичным

Dmytro
08.03.2018
19:41:12

Дмитрий
08.03.2018
19:43:27

Google

Дмитрий
08.03.2018
19:46:27

Тимофей
08.03.2018
19:46:58

Дмитрий
08.03.2018
19:56:06

Дмитрий
08.03.2018
19:56:32
Есть события Event и асинхронные события Effect, первые говорят что в стор передали объект, вторые — промис. Создаются оба функцией (description: string) => ....
Об их появлении в сторе можно узнать передав колбэк в метод .watch
Чтобы создать редьюсер, подписанный на события есть метод createReducer<T>(defaultState: T)
Вызываешь у него .on(event, (state: T, data) => T) — он подписывается на эти события и меняет свой стейт переданной функцией, вызываешь .reset(event) — будет сбрасывать стейт в дефолтный

Тимофей
08.03.2018
19:56:41

Дмитрий
08.03.2018
19:57:48
Выглядит лишним, кмк

Тимофей
08.03.2018
19:59:47

Сергей
08.03.2018
19:59:52

Дмитрий
08.03.2018
20:00:34
Почерпнул оттуда пару интересных идей, но как по мне есть спорные вещи
В частности, похоже что редьюсеры буквально подписываются на эффекты, прям напрямую, и мне кажется это усложнением

Дмитрий
08.03.2018
20:02:12

Дмитрий
08.03.2018
20:05:56

Сергей
08.03.2018
20:06:35

Дмитрий
08.03.2018
20:06:37
Я допускаю, что просто не понимаю, в чем профит

Тимофей
08.03.2018
20:06:40
Да. Сделаю как время будет
То есть там можно сделать так что бы типы экшенов выводились из входящего actionsConfig ? Или все равно придется описывать доп типы?

Дмитрий
08.03.2018
20:06:45

Дмитрий
08.03.2018
20:06:58
А watch вообще для чего служит?
type Event<T> = {payload: T, ...}
const newMessage: Event<{text: string, author: string}>
newMessage.watch( ({ text }) => console.log('New message!', text) )

Сергей
08.03.2018
20:07:04

Google

Дмитрий
08.03.2018
20:07:17

Дмитрий
08.03.2018
20:08:14
это не релевантно)
Мне надоело таскать нерелевантные библиотеки, и поэтому весь свой бойлерплейт и все те части либ что мне требовались я вынес воедино. В redux-act не нужна половина методов, я оставил другую

Дмитрий
08.03.2018
20:08:28

Тимофей
08.03.2018
20:08:52

Дмитрий
08.03.2018
20:08:52
вопрос именно в watch, ко всему остальному вопросов у меня нет никаких вообще
я пытаюсь понять, что я упускаю

Дмитрий
08.03.2018
20:11:36
Нет подобной проблемы -- нет повода для беспокойства)