Size: a a a

Elm Lang сообщество разработчиков

2018 August 10

AK

Anton Kotenko in Elm Lang сообщество разработчиков
> Removed msg from Alexey. Reason: new user + external link
это @astynax что ли?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Alexey
подскажите, а так и задумано, что я вручную пишу сериализацию в json?
сериализация вручную, да, автоматом только через порты
источник

A

Alexey in Elm Lang сообщество разработчиков
это как-то совсем грустно
источник

A

Alexey in Elm Lang сообщество разработчиков
то есть вы реально пишите вот такие штуки:

import Json.Encode exposing (encode, Value, string, int, float, bool, list, object)

encodeVoter : Voter -> Value
encodeVoter voter =
 object
   [ ("name", string voter.name)
   , ("age", int voter.age)
   , ("height", float voter.height)
   , ("address", encodeAddress voter.address)
   , ("children", list (List.map string voter.children))
   , ("registered", bool voter.registered)
   , ("party", encodeParty voter.party)
   ]
?
источник

A

Alexey in Elm Lang сообщество разработчиков
и при этом нужно не забыть это поправить при добавлении поля
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
при добавлении поля не будет компилироваться
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
нужно его optional будет указать, если оно не нужно
источник

A

Alexey in Elm Lang сообщество разработчиков
это сериализация же. если я добавлю что-то в Voter все будет прекрасно компилироваться.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
а, сорри, это я про decoding, да
источник

A

Alexey in Elm Lang сообщество разработчиков
может быть их как-то можно генерировать? не верю что вы это пишите :)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Если бэк на хаскеле, то можно транспортные типы генерить для Эльма из хаскельных типов
источник

A

Alexey in Elm Lang сообщество разработчиков
У меня, увы, приложение с развесистым стейтом и localStorage :(
источник

AV

Arthur Vardanyan in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Если бэк на хаскеле, то можно транспортные типы генерить для Эльма из хаскельных типов
Можно пример или где можно почитать?
источник

A

Alexey in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Если бэк на хаскеле, то можно транспортные типы генерить для Эльма из хаскельных типов
кстати наверное в purescript даже проще?
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
servant-elm вроде как
источник
2018 August 14

A

Alexey in Elm Lang сообщество разработчиков
Привет други! У меня есть приложение с двумя логическими "табами". Каждый из них общается с local storage. Как я понял работа с ним сделана через порты. Данные обратно я могу получить только через Sub. Но Sub у меня только один и Msg только один на приложение. Если я не хочу валить все в одну кучу и изолировать два компонента друг от другу, то как мне скомпозировать `Sub`ы? Делать там внутри роутинг какой-то? И да, я не настоящий сварщик. Если я все делаю не так, то подскажите где посмотреть как сделать как правильно.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Sub умеет map
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Сделай тип-сумму и мапни
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Несколько Sub так и композятся в один обычно
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
type Msg
   ...
   | First FirstTab.Msg
   | Second SecondTab.Msg

...

subscriptions = Sub.batch
   [ Sub.map First FirstTab.subs
   , Sub.map Second SecondTab.subs
   ]
источник