🪪 | JSON VCard Generation with Serde Serialization & Deserialization [maintainer=@orzklv]
https://crates.io/crates/vicardi
- Rust 97.6%
- Nix 2.4%
| .github | chore: normal readme | |
| src | fix: (cargo doc) escape character | |
| .envrc | fix: direnv by default | |
| .gitignore | fix: direnv by default | |
| Cargo.toml | chore: bumping version | |
| flake.lock | fix: make flake compatible with default systems | |
| flake.nix | fix: make flake compatible with default systems | |
| LICENSE | fix: license reference | |
| README.md | chore: normal readme | |
Uzinfocom's {Vicardi}
jCard (vCard in JSON format) serde serialization and deserialization.
Top Used Language Test CI
About
Our CCTLD-developed system uses the jCard format to communicate with ICANN services. Unfortunately, since there is no jCard serde crate available, we developed our own library and used this library to create an RDAP system that makes the .uz TLD domains in Uzbekistan both fast and robust.
Note
This library is developed according to the RFC 7483 standard.
While the crate should be fully RFC compliant, please open an issue if you spot anything wrong.
Using Vicardi
usevicardi::*;useserde_json::json;fn main()-> anyhow::Result<()>{letmutvcard=Vcard::default();vcard.push(Property::new_fn("John Doe",None));letjson=json!(["vcard",[["version",{},"text","4.0"],["fn",{},"text","John Doe"]]]);letparsed: Vcard=serde_json::from_value(json.clone())?;assert_eq!(serde_json::to_value(&vcard)?,json);assert_eq!(parsed,vcard);Ok(())}See the documentation for more details.
License
This library is distributed under the GPL-3.0 license. See the LICENSE for more information!
Uzinfocom's {Vicardi}