# Zipper
## Todos -> 21 May, 2021
- [x] Prepare json format
### Prepare JSON (will be converted to struct)
**Compress :**
```
{
"Compress": {
"PathConfig": {
"SourcePaths": [
""
],
"Destination": {
"PrefixDir": "",
"OutputDir": ""
}
},
"Options": {
"CompressionLevel": 0,
"Format": ""
},
"Overwrite": {
"IsForceWrite": true,
"IsSkipOnExistFiles": true
},
"RawConfig": {
"IsContinueOnError": true,
"IsSelectiveCompression ": true,
"IsMkdirAll": true,
"IsImplicitTopLevelFolder": true,
"StripComponents": 0,
"IsSingleThreadedCompress": true
}
}
}
```
**Uncompress**
```
{
"Uncompress": {
"PathConfig": {
"SourcePath": "",
"Destination": {
"PrefixDir": "",
"OutputDir": ""
}
},
"IsClearDir": true,
"Overwrite": {
"IsForceWrite": true,
"IsSkipOnExistFiles": true
},
"Options": {
"Format": ""
},
"RawConfig": {
"IsContinueOnError": true,
"IsSelectiveCompression ": true,
"IsMkdirAll": true,
"IsImplicitTopLevelFolder": true,
"StripComponents": 0,
"IsSingleThreadedCompress": true
}
}
}
```
- [x] Study Archiver Package
- [x] Priority Formats
```bash=
tar
tar.xz
tar.gz
tar.bz2
zip
7z (missing from archiver, least priority)
```
- [x] Plan Structure
- [x] Git Common Items
- [x] Start Developing / Implement at least ```archive``` and ```unarchive```
## Issues with archiver
- Rar has no archive
- Tar doesn't support compression level
- Tar.xz doesn't support compression level
- No support for ```7z```