
Дмитрий
29.04.2017
13:27:05
есть ли такой паттерн ?
Тут ключевое понять — это должны быть любые поля в объекте, тупо их число, или только какие-то конкретные?

Maxim
29.04.2017
13:28:05
это критерий поиска, конкретные
Creterea => SearchResult
type Creterea = { a:string, b:number....}

Google

Дмитрий
29.04.2017
13:29:48
Тогда всё сложнее становится) ? Это уже не curry-like паттерн получается, а отдельная большая функция)
И много вопросов возникает
А что делать, если на очередном шаге не передал вообще ни одного подходящего поля?
Или если одно поле передал дважды

Vadim
29.04.2017
13:32:37
Я так понимаю вопрос и был в том, есть ли стандартный метод для того что б эти проверки вручную не писать )
Что б каррирование было до тех пор пока не переданы все необходимые поля
как я понял

Maxim
29.04.2017
13:34:02
ну не стандартный, а может где-то есть готовый подход

Дмитрий
29.04.2017
13:42:45
Ну короче это а ля curry с аккумулятором, в который на каждом шаге делаешь merge

Vadim
29.04.2017
13:43:14
При этом учитывать сколько НЕОБХОДИМЫХ ключей уже передано

Maxim
29.04.2017
13:44:13
спасибо, подумаю )

Google

Maxim
29.04.2017
13:46:15
ещё вопрос, может кто-то встречал опенсорсный nodejs проект с хорошим примером использования рамды и функциональных типов
что бы прямо какнонично, как в fantasy-land - использовались подходы на более менее существенной кодовой базе

Vadim
29.04.2017
13:48:00
ты используешь typescript?

Maxim
29.04.2017
13:48:05
да

Vadim
29.04.2017
13:48:11
Просто для чего тебе функциональные типы?

Maxim
29.04.2017
13:48:20
почти не использую классы

Дмитрий
29.04.2017
13:48:37
Я началв свой проект впиливать fantasy land с типизацией на flow
И пока забил

Aleh
29.04.2017
13:48:47
боль и унижение?)

Maxim
29.04.2017
13:48:58
export type MappingDefinition = Mapping | string
export const getMapping = (mappingDefinition: MappingDefinition): Mapping =>
ну вот такие вещи сильно помогают, можно определить систему типов
или type Branch = {Branch & next:Branch}

Дмитрий
29.04.2017
13:49:37
Потому что для хорошего применения этого всего нужен определенный уровень проблем, а у меня пока тьфу тьфу полегче ?

Maxim
29.04.2017
13:50:00
алгебраические типы хороши

Дмитрий
29.04.2017
13:50:04
Предыдущее кстати тоже

Maxim
29.04.2017
13:50:07
ну на ts - да

Дмитрий
29.04.2017
13:50:29
Алгебраические типы децл побольше требуют, чем просто два определения типов)
ну на ts - да
А как ты собрался без типизации это проворачивать?))

Maxim
29.04.2017
13:51:09
что без типизации ? наоборот я с ts работаю

Google

Maxim
29.04.2017
13:51:19
и сторонние либы понимаешь за 5 минут

Vadim
29.04.2017
13:51:36
Я не слышал что на ts можно типизировать алгебраические типы

Дмитрий
29.04.2017
13:51:43
Я просто спросил)

Vadim
29.04.2017
13:51:45
Но может я просто ts пока недостаточно знаю

Maxim
29.04.2017
13:51:54
ну там крутые типы )) type WindowProperty = {key of Window}
конечно не дотягивают до F#, но хоть что-то

Дмитрий
29.04.2017
13:52:20

Maxim
29.04.2017
13:52:27
и существуют, только до компиляции

Vadim
29.04.2017
13:52:53
Если тебе нужна работа с алгебраическими типами, то почему именно ramda?
Есть же спец-либы для этого

Дмитрий
29.04.2017
13:53:18
ADT — отдельно, рамда — отдельно (но рядом)

Aleh
29.04.2017
13:53:38
есть спец. языки для этого)

Vadim
29.04.2017
13:53:46
sanctuary если из js

Дмитрий
29.04.2017
13:53:52
https://github.com/gcanti/fp-ts
https://github.com/gcanti/flow-static-land

Maxim
29.04.2017
13:53:53
нет , интересует опен сорс проект использующий спецификацию fantasy-land

Дмитрий
29.04.2017
13:54:03
Ааа, ну так бы сразу))

Vadim
29.04.2017
13:54:05
sanctuary

Дмитрий
29.04.2017
13:54:05
Most

Vadim
29.04.2017
13:54:15
Это уже по frp

Дмитрий
29.04.2017
13:54:17
Kefir — static land

Google

Vadim
29.04.2017
13:54:34
тоже по frp

Дмитрий
29.04.2017
13:54:35
Какая разница что именно при этом делают эти проекты)

Maxim
29.04.2017
13:55:16
https://github.com/sanctuary-js/sanctuary

Vadim
29.04.2017
13:55:18
sanctuary более общего применения

Maxim
29.04.2017
13:55:22
это опять либа )
может быть есть какая-то CMS или дашборд

Дмитрий
29.04.2017
13:55:39
А либа не проект?)

Maxim
29.04.2017
13:56:16
ну хочется посмотреть как сделать вебсервис ) с заводить пользвоателей, как разграничивать права
https://github.com/sqreen/awesome-nodejs-projects
напрмиер тут собраны "выдающиеся" практики опенсорса. Можно зайти в каждый проект и посмотреть
https://github.com/IMA-WorldHealth/bhima-2.X - можно найти разные ворквлоу работы с базой данный, обработку доступа пользвоателей, сервисы емайл

Дмитрий
29.04.2017
14:00:28

Maxim
29.04.2017
14:01:35
вот увидел как внутри выглядит сервис базирующийся на евент сорсинге - переписал пол проекта к чёрту)

Aleh
29.04.2017
14:02:13
вопрос конечно не в тему, но есть ли нормальный ОО проект с nodejs?

Дмитрий
29.04.2017
14:03:21
С козырей зашёл!)

Aleh
29.04.2017
14:03:38
ну я не видел прост)
ну вообще любой на js/ts/flow, необязательно нода

Maxim
29.04.2017
14:08:17
не - не покатит ) писал с DDD, ORM, DAO и прочими штуками много раз

Aleh
29.04.2017
14:08:28
так я б посмотрел)

Google

Maxim
29.04.2017
14:08:29
с использование ивент сорсинга поменял взгляды )

Дмитрий
29.04.2017
14:08:43
Я сам к этому пришёл

Aleh
29.04.2017
14:08:55

Дмитрий
29.04.2017
14:09:04
Случайно изобрёл, как логическое развитие вышло)

Maxim
29.04.2017
14:09:28

Aleh
29.04.2017
14:09:37
понятное дело
но без разделение на read и write доменную модель надо обвешивать геттерами

Дмитрий
29.04.2017
14:10:13
Поцаны

Aleh
29.04.2017
14:10:15
и начинаются страдания

Дмитрий
29.04.2017
14:10:22
Вы какие то страшные вещи говорите

Aleh
29.04.2017
14:10:30
ddd так-то и к ооп не имеет отношения, вполне себе и фп подход)

andretshurotshka?❄️кде
29.04.2017
14:10:59
Есть тут нодбекендеры которые юзают ооп подход в ноде?
Вопрос есть
Нафига вы это делаете
Пацан с козырей зашёл
А вы ведётесь

Maxim
29.04.2017
14:11:03
я про es услышал только года два назад, а ты говоришь об этом как о само собой разумеещемся подходе )

Aleh
29.04.2017
14:11:22
просто термины будут немного не такие, как у эванса, стратегическое ddd он описал больше для всяких жав и подобного

Дмитрий
29.04.2017
14:11:49

Aleh
29.04.2017
14:13:37

Maxim
29.04.2017
14:13:39
когда в CMS/СRM - появляются расширяемые типы и проблемы производительности - все козыри идут лесом

Aleh
29.04.2017
14:13:46
а существует каждый подход лет по 40