public IArchiveReader CreateReader(ArchiveType archiveType) { switch (archiveType) { case ArchiveType.Zip: case ArchiveType.Tar: case ArchiveType.TarGz: case ArchiveType.TarBz2: case ArchiveType.TarXz: case ArchiveType.TarLz: case ArchiveType.Gz: case ArchiveType.SevenZip: return(CreateDefaultArchiveReader()); case ArchiveType.Xz: return(SingleFileZipArchiveReader(new XzStreamFactory())); case ArchiveType.Lz: return(SingleFileZipArchiveReader(new LzipStreamFactory())); case ArchiveType.Bz2: return(SingleFileZipArchiveReader(new Bz2StreamFactory())); default: throw new ArgumentOutOfRangeException(nameof(archiveType), archiveType, null); } }
public IArchiveWriter CreateWriter(ArchiveType archiveType) => archiveType switch {