- adding package to compress/uncompress with reader or writer
- refactor to allowing to use same source of io as result: io.reader or io.writer
- optimize code & buf to limit mem use
- rework variable to be thread safe
Package archive/compress
- add function DetectOnly to detect algo and return an updated reader but not the decompressor reader
- update function Detect to use DetectOnly to limit duplication code
Other
- bump dependencies
Package Archive:
- complete rework of package
- split package between compression (stream compression only) and
archive (catalogue/dictionary/tape archive type)
- rework compression to be stream only working without any temporary
file or any like
- rework archive like TAR, ZIP... to expose stream instead of writing
directly file/path
- rework archive like TAR, ZIP... to allow adding file from stream only
and allowing to parsing local path to add it into archive
- rework detection of compression / archive
- rework extractAll function to not using useless local temporary file
- adding test can be used as example and perform testing of most of
package code
- using const custom type for compression and archive allow them to be
parsed, marshalled or unmarshalled from text or json and more
- apply following change into other module that use it