Commit Graph

66 Commits

Author SHA1 Message Date
Timofey Solomko 3790b3acac [docs] Clarify in docs for ContainerEntry.data that data is assumed to be uncompressed 2018-08-07 21:05:36 +03:00
Timofey Solomko 3d3d4a2c0e Move Comparable extension of HuffmanLength into its main file 2018-04-13 22:56:15 +03:00
Timofey Solomko 7929e58022 Synthesize Equatable conformance for HuffmanLength 2018-04-13 22:55:12 +03:00
Timofey Solomko 05268bd44e [docs] Add "missing" docs for Container.Entry and and ContainerEntry.Info
Apparently, something changed in Swift 4.1 and sourcekitten/jazzy now detects associated types and produces documentation for them.
2018-04-13 18:53:58 +03:00
Timofey Solomko 9293210d35 All properties in huffman trees are now constant 2018-03-31 13:50:50 +03:00
Timofey Solomko 112fa8bbb0 Date init from ntfs timestamp is no longer failable
The only reason for it to be was to propagate optionality of UInt64 argument. Instead we can if-let ntfs timestamp and call this initializer with non-optional argument. We also now force-unwrap ntfsReferenceDate, since it is likely to be a system problem if we cannot create definetely correct date from its components.
2018-03-25 23:42:53 +03:00
Timofey Solomko a34e272f97 [docs] Fix typo in Container protocol 2018-03-17 15:38:46 +03:00
Timofey Solomko b9f325f91b Small text/comments-related changes 2018-02-07 23:59:42 +03:00
Timofey Solomko 32d3cc6279 Extract ntfs timestamps reference date as static property 2018-01-28 19:17:52 +03:00
Timofey Solomko 8fa195d560 [TAR] Replace Int.roundTo512() function with bitwise inlinable version in common Extensions file 2018-01-17 12:12:29 +03:00
Timofey Solomko 536b5dcb49 Extract reverse local function of HuffmanTrees' inits as Int extension 2018-01-07 15:12:59 +03:00
Timofey Solomko e714dc308b Updated copyright year to 2018 2018-01-03 19:44:18 +03:00
Timofey Solomko d2d74d52b9 Remove unused extensions 2018-01-03 19:22:15 +03:00
Timofey Solomko c8d92e56d3 Replace BitReader and ByteReader with BitByteData's implementations 2018-01-03 19:22:15 +03:00
Timofey Solomko bb39c4016c Replace SWCompression.BitWriter with BitByteData's one 2018-01-03 19:22:15 +03:00
Timofey Solomko 1293cf15a0 Make BitReader.bitMask completely private 2018-01-03 19:22:14 +03:00
Timofey Solomko 22bd529b3c Change return type of BitReader.bit() to UInt8 2018-01-03 19:22:13 +03:00
Timofey Solomko dcf18c73d6 Rename ByteReader.isAtTheEnd to isFinished 2018-01-03 19:22:13 +03:00
Timofey Solomko cef8ab12a2 Rename BitWriter.finish() to align 2018-01-03 19:22:13 +03:00
Timofey Solomko 15c06843b1 Replace BitWriter.buffer with Data 2018-01-03 19:22:13 +03:00
Timofey Solomko b9eeb1bc7c Rename ByteReader.index to offset 2018-01-03 19:22:13 +03:00
Timofey Solomko 3751e25c4f Rename DataWithPointer to ByteReader
This and following commits should ease switch to BitByteData usage.
2018-01-03 19:22:13 +03:00
Timofey Solomko e05f917210 Improve compile time 2017-12-24 14:57:35 +03:00
Timofey Solomko cce4d35ab7 Remove bitOrder argument from BitWriter.write(number:bitCount:) 2017-12-21 15:26:00 +03:00
Timofey Solomko d63d2977fb Only reverse bit order of codes in EncHuffmanTree if necessary
And it is necessary only for Deflate. This will allow us to remove bitOrder argument of BitWriter.write, which has very unclear semantics
2017-12-21 15:24:54 +03:00
Timofey Solomko 07d9d41db2 Remove BitReader and DWP initialisers from byte array 2017-12-05 22:21:52 +03:00
Timofey Solomko cd9bd4eec4 Remove DWP.previousByte 2017-12-05 22:21:32 +03:00
Timofey Solomko 3b0e3c5d74 Mark several extension functions as inline-always 2017-11-22 22:25:18 +03:00
Timofey Solomko d9954f4791 Use new toArray function in DWP.bytes 2017-11-22 22:24:45 +03:00
Timofey Solomko 1fa558f1a6 Add toArray extension function with count argument 2017-11-22 22:24:26 +03:00
Timofey Solomko b9cebf13e9 Remove dwp functions with count argument 2017-11-22 22:08:02 +03:00
Timofey Solomko 21a32f1d5a Add no-args uint functions to DWP and BitReader
Tests shows that these functions are faster than functions with arguments.
2017-11-22 20:57:22 +03:00
Timofey Solomko 7c6d6d22ff Replace UInt extensions with one extension to UnsignedInteger 2017-11-22 20:56:28 +03:00
Timofey Solomko 98fd2e4d1e Remove reverseBytes function and use built-in byteSwapped property instead 2017-11-22 20:55:17 +03:00
Timofey Solomko 9da406fc53 Small improvement to EncHuffTree.code function 2017-11-19 12:47:46 +03:00
Timofey Solomko 556e42e179 Add and update documentation 2017-11-14 20:37:20 +03:00
Timofey Solomko 8cf85305d4 ContainerEntryInfo.name is no longer Optional 2017-11-11 13:27:36 +03:00
Timofey Solomko 8d41bc7130 Make swiftlint happier 2017-11-05 00:45:12 +03:00
Timofey Solomko c9a15d047a Remove byte array version of adler32 function 2017-10-31 20:19:19 +03:00
Timofey Solomko e624f11d1c Remove unused bzip2crc function 2017-10-31 20:18:34 +03:00
Timofey Solomko a986b31628 Use data parameter in crc64 function 2017-10-31 20:11:32 +03:00
Timofey Solomko 6c04ca777a Fix potential incorrect behavior in DWP 2017-10-31 19:58:19 +03:00
Timofey Solomko 4cab7c1ff3 Sort new enums' cases alphabetically 2017-10-28 17:49:35 +03:00
Timofey Solomko e92c5a609c Add CompressionMethod enum for common usage 2017-10-28 17:41:40 +03:00
Timofey Solomko a9dd1c4620 Remove "from" argument labels from various internal inits 2017-10-28 17:11:23 +03:00
Timofey Solomko 74528268d9 Add FileSystemType enum for use in the entire project 2017-10-28 17:07:00 +03:00
Timofey Solomko 7b50be1413 Sort cases in ContainerEntryType alphabetically 2017-10-23 20:17:57 +03:00
Timofey Solomko 72d7d7e764 Add permissions property to ContainerEntryInfo 2017-10-23 20:15:40 +03:00
Timofey Solomko a22a05fedc Add a/c/m times to ContainerEntryInfo protocol.
This also adds accessTime from NTFS extra field in ZipEntryInfo
2017-10-23 20:13:40 +03:00
Timofey Solomko d5cb73f54c Remove UnixType in favor of ContainerEntryType 2017-10-21 12:13:00 +03:00