вы видите эту ошибку из-за того, что Elmi sh .Debugger использует Thoth. Json для сериализации вашего Msg / Model в формате JSON.
Тип WsSender
не может быть представлен в формате JSON, потому что это функция. Итак, Тот. Json просит вас объяснить, как он должен кодировать этот тип.
Вы можете сделать это, создав то, что называется extraCoder
следующим образом:
В вашем случае, вам нужно будет создать поддельный кодер / декодер "просто", чтобы сделать отладчик счастливым.
module CustomEncoders =
let wsSenderEncoder (_ : WsSender) = Encode.string "WsSender function"
let wsSenderDecoder = Decode.fail "Decoding is not supported for WsSender type"
let myExtraCoders =
Extra.empty
|> Extra.withCustom wsSenderEncoder wsSenderDecoder
let modelEncoder = Encode.Auto.generateEncoder(extra = myExtraCoders)
let modelDecoder = Decode.Auto.generateDecoder(extra = myExtraCoders)
При создании вашей программы вы должны заменить Program.withDebugger
на Program.withDebuggerCoders
и дать ему кодер и декодер. Вы создали.
Program.withDebuggerCoders CustomEncoders.modelEncoder CustomEncoders.modelDecoder