尝试使用rescript-json-组合子为decodeEvent创建一个等价的。我不知道如何替换“解码器(译码器)”,因为译码器已经在转录-json-组合器中变得抽象了。尝试使用Decode.decode是行不通的。知道如何解决这件事吗?
let decodeEvent = (Decoder(decoder), value: Web_node.event) =>
try decoder(Obj.magic(value)) catch {
| ParseFail(e) => Error(e)
| _ => Error("Unknown JSON parsing error")
}发布于 2022-10-02 10:42:08
decodeEvent的目的似乎有两个方面:
Web_node.event转换为Json.t,以便在其上使用Json解码器。result,而不是在错误时引发异常。rescript-json-combinators API已经有了一个result-based API。这就是为什么实现现在被隐藏并需要使用Json.decode来运行解码器的部分原因。这似乎就是这里所缺少的一切:
let decodeEvent = (decoder, value: Web_node.event) =>
value->Obj.magic->Json.decode(decoder)https://stackoverflow.com/questions/73922187
复制相似问题