sdbd-demo/SDBD.Demo/Program.cs

28 lines
754 B
C#
Raw Normal View History

2024-01-09 17:32:46 -05:00
SDBD.ICodec codec = new SDBD.Codec();
var (encode, filename) = ParseArgs(args);
var inputData = File.ReadAllBytes(filename);
if(encode) {
SDBD.Document document = new (
new() {
{ "content-name", filename }
},
inputData
);
var outputData = codec.Encode(document);
2024-01-09 20:33:32 -05:00
File.WriteAllBytes($"{filename}.sdbd", outputData);
2024-01-09 17:32:46 -05:00
} else {
var document = codec.Decode(inputData);
File.WriteAllBytes(document.Metadata["content-name"], document.Data);
}
(bool encode, string filename) ParseArgs(string[] args) {
return args switch {
[var filename] => (true, filename),
["-d", var filename] => (false, filename),
["-e", var filename] => (true, filename),
_ => throw new Exception("I don't like those arguments")
};
2024-01-09 17:46:34 -05:00
}