Normalizr для ReasonML

Я знаю, что ReasonML — новый язык, поэтому инструментарий будет немного отставать. Но мне было интересно, есть ли инструмент Bucklescript или ReasonML, который действует как Normalizr для данных для разумной реакции. Я знаю, что могу просто сделать привязки и поместить их в Normalizr напрямую, но это не кажется правильным, потому что кажется, что это частично противоречит цели строго типизированного языка.

Я также попытался создать нормализатор путем форматирования «моделей» внешнего интерфейса в списки «полей», но этот подход также показался неправильным, потому что требовал много шаблонов для преобразования моих хороших чистых записей в странные форматированные структуры данных списка.

Любопытно, сталкивался ли кто-нибудь с этим в большом приложении ReasonML или Bucklescript (если они существуют).

Спасибо


person GTDev    schedule 24.04.2018    source источник


Ответы (1)


  • JsonCodec может быть наиболее близким к тому, что вы ищете, хотя и не совсем таким же. Это позволяет создавать функции сериализации и десериализации с меньшим количеством стандартного кода, чем в других библиотеках. Декодер возвращает оболочку значений в Result.

  • bs-json для рукописной сериализации и десериализации JSON. Одно из предупреждений заключается в том, что он выдает ошибки вместо возврата типа Result, поэтому вам нужно вручную отлавливать ошибки. Я не думаю, что компилятор предупредит вас об ошибках, тогда как с типом Result он попросит вас сопоставить Ok и Error.

  • bs-json-keypather использует Result, но я не использовал его раньше.

person MCH    schedule 10.05.2018