Что означает Json.Decode. {}? Часть точечных фигурных скобок

Я пытаюсь изучить ReasonML и, следуя примеру bs-json, мы можем декодировать необработанный json в такой тип:

type point = {
  x: float,
  y: float
};

module Decode = {
  let point = json =>
    Json.Decode.{
      x: json |> field("x", float),
      y: json |> field("y", float)
    };
}

Я немного не понимаю, что это за Json.Decode.{ ... }. Я понимаю, что мы можем открыть область видимости в модуле, используя круглые скобки .(), но я раньше не видел этих фигурных скобок.


person Homan    schedule 03.12.2018    source источник


Ответы (1)


Это означает почти то же самое, что Json.Decode открывается в области {}, которая, как обычно, определяет запись. По сути, это всего лишь сокращение для Json.Decode.({ .. }).

Изменить: я только что добавил примечание в bs-jsons README, чуть ниже примера , чтобы объяснить этот синтаксис.

person glennsl    schedule 03.12.2018