#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

#1311 in Encoding

Download history 137/week @ 2024-05-12 9/week @ 2024-05-19

146 downloads per month

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

~2–2.7MB
~52K SLoC