正在尝试使用脚本json组合子解码事件



尝试使用escript 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")
}

decodeEvent的目的似乎有两个:

  1. Web_node.event转换为Json.t以便在其上使用Json解码器
  2. 返回result,而不是在出现错误时引发异常

rescript-json-combinatorsAPI已具有基于result的API。这也是为什么该实现现在被隐藏并且需要使用Json.decode来运行解码器的部分原因。这似乎就是这里所缺少的:

let decodeEvent = (decoder, value: Web_node.event) =>
value->Obj.magic->Json.decode(decoder)

相关内容

  • 没有找到相关文章

最新更新