
? animufag ?
08.12.2017
15:58:01
тип вот здесь удобно завернуть эффект
а вот помните сисколы? да это почти эффекты
напоминает монады у лейбница

Дмитрий
08.12.2017
15:59:04
И сепуление сепулек

Google

kana
08.12.2017
16:14:22

? animufag ?
08.12.2017
17:09:50

Cenator
08.12.2017
17:11:12

? animufag ?
08.12.2017
17:11:32
хотя шрифт мелковат

Cenator
08.12.2017
17:11:45
вроде не на реакте, по крайней мере девтул не определил

andretshurotshka?❄️кде
08.12.2017
17:12:28
nice memes

? animufag ?
08.12.2017
17:12:44
да не. насрать. это же бложик. я про контент + отступы/заголовки/цвет nov 20

kana
08.12.2017
17:19:40
и мол нельзя в массив добавить элемент, тега которого нет в белом списке
и хочется где-то все это заюзать, а негде, разве что свою либу для расширяемых эффектов пилить для проекта

? animufag ?
08.12.2017
17:22:35
классная диагностика ошибок

Yung
08.12.2017
17:22:56
Очевидно же

Google

? animufag ?
08.12.2017
17:24:34
на самом деле как-то не кажется что это сильнее трюков с фантомными типами

kana
08.12.2017
17:25:37
так тут фантомный тип и используется. Просто еще и тайп-левел массив и тайп-левел функция проверки нахождения фантомного типа в этом массиве

? animufag ?
08.12.2017
18:17:34

andretshurotshka?❄️кде
08.12.2017
18:59:05
https://github.com/paf31/purescript-safely

Denis
08.12.2017
19:01:14

kana
08.12.2017
19:07:16
не, там по примерам все видно

Denis
08.12.2017
19:07:29
https://qiita.com/kimagure/items/0c2712d5a417c1671e6d
https://medium.com/twelve-days-of-monad/day-10-eff-extensible-effects-5e26f101a943

andretshurotshka?❄️кде
08.12.2017
21:02:58

Kelin
08.12.2017
22:40:26
извиняюсь за нескромный вопрос, но это у него жопа спереди или что

andretshurotshka?❄️кде
08.12.2017
22:40:37
Карманы
С новым годом
осталось уснуть

Kelin
08.12.2017
22:41:01
Что это за карманы
Как увидеть развиденное

Denis
08.12.2017
22:47:45
это гульфик

andretshurotshka?❄️кде
08.12.2017
23:25:59
https://t.co/65iqVcKGNO
@ZeroBias решишь?
))

Roman
08.12.2017
23:32:43
да вроде локализованный форсапдейт не так уж криминально

Google

andretshurotshka?❄️кде
08.12.2017
23:33:53
там дальше про то, что sCU ломает его

Roman
08.12.2017
23:39:07
второе ломает
с рефом-то вроде все ок

Дмитрий
08.12.2017
23:44:23

Maxim
08.12.2017
23:53:31
Хочется изобрести АДТ для реакт компоненов Comp.of(Component).map(HOC1).map(HOC2)
может есть чего на эту тему, с выводом типов, хоть каким-нибудь

Denis
08.12.2017
23:56:27

Maxim
08.12.2017
23:56:43
типы
у меня подобной каши уже тонны )
HKT gcanti увезло в дебри
так , что я в 3 часа ночи не понял как в них оказался и какой тип откуда я вычисляю

Дмитрий
09.12.2017
00:16:42

Maxim
09.12.2017
00:17:01
Как?

Дмитрий
09.12.2017
00:18:17
Сейчас пример @goodmind допишу
Мне просто даже в онлайн песочнице без стрим-компонентов уже грустно)

Maxim
09.12.2017
00:23:06
не понимаю, что такое стрим компоненты
props(SettingsView)
.isNil('settings', EmptyView) // тайп чекер проверяет, что сеттингс есть и делает это поле опциональным
.connectProp('settings', (props: {id: string}) => settingsLens....) // тайпчеккер проверяет что settings есть, омитит его в возвращаемом компоненте и прибавляет к пропсам id
вот таких "билдеров" у меня очень много, не могу додумать до конца - как их упростить. Внутренняя реализация и них мутная, порой от 3-4-х дженериков
но в общем это, как правило, хоки. Только хоки каждый раз писать не удобно, и компоуз не вывозит конфликтов доменов и кодоменов хоков между звеньями

Google

Maxim
09.12.2017
00:38:40
только на входе и выходе

Дмитрий
09.12.2017
00:59:33
@goodmind @shammasov https://codesandbox.io/s/xr2n0oykyo?module=%2Fsolution.js

Maxim
09.12.2017
01:04:49
Ну в LiveTime можно передать что угодно
ты передаёшь из LiveTime все пропсы в Component
что подразумевает - LiveTimeProps extends ComponentProps
не понимаю как это поможет тайпчекингу и чем это проще map, chain апи )

Дмитрий
09.12.2017
01:17:20
Это вообще не обязательное условие

Maxim
09.12.2017
01:17:58
...prop

Admin
ERROR: S client not available

Maxim
09.12.2017
01:18:01
{...props}

Дмитрий
09.12.2017
01:18:02
А вообще я к тому, что ты можешь свободно делать что угодно с пропсами таким образом
И что?
Давай я уберу эту строчку и решение не поменяется?

Maxim
09.12.2017
01:19:02
в соседнем файле, как я юзнаю что LiveTime требует указать time ?
пока тут всё в одном месте и просто

Дмитрий
09.12.2017
01:19:45
const LiveTime: React.ComponentType<{ time: string}> нет ты щас серьезно?))

Maxim
09.12.2017
01:20:14
серьёзно
зачем тогда вывод типов, если после каждого хока надо определять типы заново

Дмитрий
09.12.2017
01:21:21
А, стоп, лол, я то думал ты про Jss компонент

Google

Дмитрий
09.12.2017
01:21:44
Здесь вообще ничего не нужно писать, все типы выводятся самостоятельно

Maxim
09.12.2017
01:22:23
LiveTime: React.Component<any>

Дмитрий
09.12.2017
01:22:33
Вообще componentFromStream и mapPropsStream в выводе типов на две головы выше всх остальных методов рекомпоза

Maxim
09.12.2017
01:24:54
=) ищу варианты

Дмитрий
09.12.2017
01:25:03
Суть в том, что в mapPropsStream можно делать вообще всё что угодно включая асинхронные запросы и всё равно ты останешься в рамках исходных пропсов, которые ты пояснишь в процессе их использования, и всё равно вернёшь компонент или другие пропсы, не менее строго типизированные ввиду чего всё типизируется на ура

Maxim
09.12.2017
01:26:27
ownerPropsToChildProps: (props$: Observable<object>) => Observable<object>,
окей, в этом хоке выводить всё просто, вопрос чуть по другому задавал )
мне не неравится писать хоки друг на друге
defaultProps + ещё что-то, после компоуза - принимают любой компонент
compose(defaultProps, .......)(AnyShit)
или aHoc(bHoc(cHoc

Дмитрий
09.12.2017
01:28:50
Ну мне сложно тебе тут что-то посоветовать потому что у тебя как я понимаю тайпскрипт
Но я искренне болею за всех тайпскриптеров

Maxim
09.12.2017
01:29:25
флоу тоже валился, ну месяца 2 назад не вывозил мою тему

Дмитрий
09.12.2017
01:29:54
Два месяца назад я уже стримы компонентов лепил)
Кстати достаточно вчитаться в типы рекомпоза чтобы догадаться что там не так и что нужно поправить (а так же почему автор этого не может)

Maxim
09.12.2017
01:31:35
читал его флоу комменты, это не могу, тут прошу помощи )

Ҫѐҏӗѫӑ
09.12.2017
01:31:54
автор (а точнее мейнтейнер) есть в соседних чатах
о, и в этом тоже

Дмитрий
09.12.2017
01:33:16
Да мне в принципе нечего ему сообщить, что бы он не знал) Я всё это говорил к тому, что автор не может себе позволить описать стрим-методы с конкретным обсерваблом
Ввиду чего там стоит any и пояснение куда копать
В итоге, с допущением что мы не используем с рекомпозом триллион либ для стримов, можно просто вызвать setObservableConfig и вписать в методы обсерваблы библиотеки твоего проекта