Elm:
Работа с YAML
Как это сделать:
В Elm нет встроенного парсинга YAML, поэтому обычно YAML конвертируют в JSON с помощью внешнего инструмента, а затем работают с ним в Elm с использованием библиотеки elm/json
.
import Json.Decode exposing (Decoder, field, string, int, decodeValue)
type alias User =
{ name : String
, age : Int
}
userDecoder : Decoder User
userDecoder =
Json.Decode.map2 User
(field "name" string)
(field "age" int)
jsonString : String
jsonString =
"""
{
"name": "Jane Doe",
"age": 25
}
"""
parseResult : Result String User
parseResult =
jsonString
|> Json.Decode.decodeString userDecoder
-- Пример вывода: Result.Ok { name = "Jane Doe", age = 25 }
Код Elm обрабатывает JSON, эквивалент вашего YAML после конвертации.
Подробнее:
Простота YAML восходит к началу 2000-х как человекочитаемая альтернатива XML. Хотя Elm не анализирует YAML нативно, работа с JSON происходит легко, благодаря elm/json
. Некоторые люди используют сторонние сервисы или инструменты, такие как yaml-to-json.com
или даже пишут немного кода на стороне сервера на Node.js или Python, чтобы осуществить конвертацию из YAML в JSON. Помните, Elm отлично работает с JSON, поэтому этот двухэтапный процесс конвертации — это обходной путь, который обычно использует сообщество Elm.
Смотрите также:
- Пакет Elm JSON: https://package.elm-lang.org/packages/elm/json/latest/
- Онлайн конвертер YAML в JSON: https://yaml-to-json.com/
- Генератор типов JSON в Elm: https://noredink.github.io/json-to-elm/