Size: a a a

2021 April 10

VZ

Vlad Zaa in F# Chat
Будут xmldoc
источник

VK

Vladislav Khapin in F# Chat
ну там я так понял ил читается но они отдельно лежат
источник

VZ

Vlad Zaa in F# Chat
Там основная проблема, когда они лежат в отдельном файле
источник

ДБ

Дмитрий Башинский... in F# Chat
Не спалось мне сегодня, захотел реализовать мини Event sourcing, делюсь что получилось
https://gist.github.com/BashkaMen/9f161adf311805eb7ef77ea89a70ad9d
источник

SN

Shub Niggurath in F# Chat
Я засыплю твои колодцы пеплом твоих олив, а твои поля - морской солью. Всем твоим статуям отколю носы, и твоя ка никогда не найдет твой хат.

А если серьезно, то забудь, что ты написал и не вскрывай эту тему.
источник

SN

Shub Niggurath in F# Chat
Ну и если совсем серьезно, то на скриншоте вовсе не ивент сорсинг.
источник

SN

Shub Niggurath in F# Chat
Это лог событий в лучшем случае
источник

SN

Shub Niggurath in F# Chat
Твои events должны представлять агрегат. Никаких getUser: evt [] -> User быть там не должно по канону, вместо этого должен быть fold
источник

SN

Shub Niggurath in F# Chat
Если тебе из этого агрегата необходимо извлекать какую-то его часть, которая получается сверткой (а не банальным вытаскиванием события из списка) — по канону тебе полагается пилить проекцию
источник

SN

Shub Niggurath in F# Chat
И вот собственно мы рассмотрели две самые крупные проблемы ES: моделирование и высокая стоимость
источник

SN

Shub Niggurath in F# Chat
Или другими словами: строка 41 exec называется fold, и со строки 52 (приблизительно) до конца модуля все надо выкинуть, потому что оно в общем случае не работает: ты будешь фолдить тысячи событий ради события в начале стрима? Что если у тебя не весь стрим? И другие риторические вопросы
источник

Dv

Dr. Friedrich von Ne... in F# Chat
А ты помнишь, что их нельзя паттерн-матчить? :(
источник

A

Andy 安迪 in F# Chat
Спрошу здесь, хоть может и не 100% по теме: в аппликации, написанной на Feliz (от SAFEr template) хочу обновить состояние из дочерней компоненты в родительскую, причём во время обработки callback:

В общем, пока это дело выглядит так - но убогий Жабаскрипт ругается, говорит, что слишком много вызовов render.  Может у кого-нибудь есть готовый пример как это организовать под Fable/Feliz?


[<ReactComponent>]
let LoginView () =
   let loginForm, setLoginForm = React.useState({ Request.Login.Username = ""; Request.Login.Password = ""; Request.Login.IsPersistent = false })

   let loginReq, setLoginReq = React.useState(Deferred.HasNotStartedYet)
   let loggedInData, setLoggedInData = React.useState<string option>(None)
   let login = React.useDeferredCallback ((fun _ -> Server.service.Login loginForm), setLoginReq)
   
   let globalState = React.useContext SharedView.globalStateContext

   React.useEffect( (fun _ ->
       let newSession =
           match loggedInData with
               | None -> { globalState.Session with User = None; LoggedIn = false }
               | Some(user) -> { globalState.Session with User = Some(user); LoggedIn = true }
       if globalState.Session <> newSession then
           Fable.Core.JS.console.log("Updating session with user " + newSession.User.ToString())
           globalState.SetSession(newSession))
       , [| loggedInData :> obj |])

   let result =
       match loginReq with
       | Deferred.HasNotStartedYet
       | Deferred.InProgress -> Html.none
       | Deferred.Failed ex -> ex |> Server.exnToError |> displayStronglyTypedError
       | Deferred.Resolved res ->
           match res with
               | Ok resp ->
                   setLoggedInData (Some "<TODO>")
                   Html.text "YOU ARE IN!"
               | Error err -> Html.text ("ERROR: " + err.ToString())
источник

A

Andy 安迪 in F# Chat
Я уж и так её и этак :) А собственно Реакт я не очень знаю, поэтому не понимаю, как переносить решения для него на Фейбл напрямую
источник

A

Andy 安迪 in F# Chat
Может только Elmish спасёт?
источник

g

gsomix in F# Chat
Дядь, в Telegram код можно форматировать.

https://www.wikihow.com/Send-Code-on-Telegram
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Какой-то не тот мануал ты дал. Он не про клиентов.
источник

g

gsomix in F# Chat
Ой, но вы поняли, что я про бэктики.

```
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Я-то понял, а вот человеку, с ними незнакомому (адресату сообщения, между прочим!) это было бы далеко не очевидно.
источник

g

gsomix in F# Chat
Исправил.
источник