Normalizr for ReasonML

时间:2018-04-24 05:06:28

标签: normalization strong-typing normalizr reason bucklescript

我知道ReasonML是一种新语言,因此工具将落后一点。但我想知道是否有一个Bucklescript或ReasonML工具作为理由反应的数据的Normalizr。我知道我可以直接进行绑定并将它们放入Normalizr,但这感觉不对,因为它感觉它部分地违背了强类型语言的目的。

我还试图通过将前端“模型”格式化为“字段”列表来创建一个normalizr,但这种方法也感觉不对,因为它需要大量的锅炉板将我漂亮的干净记录转换为奇怪的格式化列表数据结构。

如果有人在大型ReasonML或bucklescript应用程序(如果存在)中遇到此问题,那就很好奇。

由于

1 个答案:

答案 0 :(得分:1)

  • JsonCodec可能最接近您所寻找的内容,但并不完全相同。它允许您创建序列化和反序列化函数,其中的样板代码比其他库少。解码器在Result

  • 中返回值包装器
  • bs-json用于手写JSON序列化和反序列化。一个警告是它抛出错误而不是返回Result类型,因此您需要手动捕获错误。我不认为编译器会警告您有关错误的信息,而使用Result类型时,它会要求您在OkError上进行匹配。

  • bs-json-keypather使用Result,但我之前没有使用过它。