elm_rs 0.2.3

Generate Elm bindings for your Rust types
Documentation
use crate::{Elm, ElmDecode, ElmEncode};
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize, Elm, ElmEncode, ElmDecode, PartialEq)]
#[serde(tag = "type")]
enum Msg {
    Unit1,
    Unit2,
    Fields1 { field: i32 },
    Fields2 { field: i32 },
}

#[test]
fn regression_2() {
    super::test_json(Msg::Unit1);
}

#[derive(Debug, Elm, ElmEncode, ElmDecode, Serialize, Deserialize, PartialEq)]

enum E {
    V { a: Option<i32> },
}

#[test]
fn regression_4() {
    super::test_json_with_deps(
        E::V { a: Some(1234) },
        &format!(
            "\
{}

{}

{}
",
            E::elm_definition().unwrap(),
            E::encoder_definition().unwrap(),
            E::decoder_definition().unwrap(),
        ),
    )
}