iodeser-0.3.7 has been yanked.
About
Repository stores code for Rust library that allows to read from and write to .io file format.
Functions and plans
The current status of both serialization and deserialization:
- Primitive types
- Strings
- Arrays
- Vectors
- Hashmaps
- Structs (Named{} and tuple())
- Generics
- Combinations of all above
- Tuples
- Option
- Result
- Enums
- &str type
- Slices
Capabilities
- Serialization of supported types using macro to_io!() using objects reference,
- Deserialization of supported types using macro from_io!() using .io formatted String and wanted objects type,
- Renaming structs fields in and from .io formatted String using #[io_name()] helper macro using String literal as argument.
- Ordering structs fields in and from .io formatted String using #[io_order()] helper macro using either FIRST and LAST keywords or an i16 Integer.
See example below for usage of those capabilities.
Example usage
use *; // required import
// required macro derive IoDeSer, Debug is not required
// required macro derive, Debug is not required
/*
Output:
|
Address->|
|
number->|65|
street->|Tęczowa|
city->|Warsaw|
|
+
|
number->|220|
street->|Strasse|
city->|Hamburg|
|
|
Name->|John|
LastName->|Kowalski|
Age->|21|
|
Person { name: "John", last_name: "Kowalski", age: 21, address: [Address { city: "Warsaw", number: 65, street: "Tęczowa" }, Address { city: "Hamburg", number: 220, street: "Strasse" }] }
*/