dd706228e40e59d463813fa55cd9816ad12aad43
				
			
			
		
	Description
This tool "traduit" (french for translate) data formats. It was made in the hope to bring serde to the cli (serdi ^^). But that not exaclty what serde is about and I have no affiliation with them so I did not want to namesquat.
Installation
First install the rust toolchain and then execute the following command:
cargo install tradaf
Usage example
Prettify (or minify) some data format for ease of reading (resp: compact and have less data to save/transfert)
tradaf json json --pretty < test-data/simple.json
Litterally transcode between data formats
tradaf ron yaml < test-data/standard.ron
Transcode into JSON so we can use jq, do some transformations and then transcode again into another format for viewing
tradaf RON json < test-data/gameConfig.ron | jq .key_bindings | tradaf Json yaml
TODOS
- Implement all data formats, or at least the one that expose a serde serializer or deserializer.
- [-] Bencode
- Deserialization
 - Serialization
 
 - BSON
 - CBOR
 - [-] DBus (not sure it is working, but it compile…)
 - DynamoDB
 - Envy (deserialization only)
 - Envy store (deserialization only)
 - FlexBuffer
- The 
SerializerandDeserializerexposed does not work with serde-transcode. 
 - The 
 - [-] GVariant => See DBus: the same crate propose both
 - HJSON
 - JSON
 - [-] JSON5
- Deserialization
 - Serialization
 
 - https://github.com/Lucretiel/kaydle
 - S-Expressions (lisp)
 - Pickle
- Test properly both way
 
 - [-] Query String (URL)
- Deserialization
 - Serialization
 
 - [-] MessagePack
- Deserialization
 - Serialization
 
 - RON
 - TOML
 - YAML
 - …
 
 - [-] Bencode
 - Add tests for each serializer and each deserializer (at least one)
 - Check if crates have features that we should enable/disable
zvariantlooks to include async runtime by default
 - Check my notes for each data format and open an issue on the crates to point problem/present my project and ask for help
 - Check if other data format have pretty formatting available
 - Add proper error handling (find a mentor to explain me propper error management: struct, enum, … and then use anyhow/this_error if needed)
 - Transform any script idea into an xtask
 
Description
				
					Languages
				
				
								
								
									Rust
								
								97.5%
							
						
							
								
								
									Shell
								
								2.5%