#serde #dot #case #enums #rename #fields

macro serde-dot-case

Rename all enum fields to dot.case

1 unstable release

0.1.0 May 13, 2024

#1662 in Encoding

MIT/Apache

7KB

serde-dot-case

Rename all enum fields to dot.case.

use serde::{Deserialize, Serialize};
use serde_dot_case::serde_dot_case;

#[serde_dot_case]
#[derive(Debug, Deserialize, Serialize)]
enum MyEnum {
    MyVariant,
}

#[test]
fn deserialize() {
    assert!(matches!(
        serde_json::from_str::<MyEnum>("\"my.variant\"").unwrap(),
        MyEnum::MyVariant
    ));
}

#[test]
fn serialize() {
    assert_eq!(
        "\"my.variant\"",
        serde_json::to_string(&MyEnum::MyVariant).unwrap(),
    );
}

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in serde-dot-case by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.7–2.4MB
~46K SLoC