1
0
Fork 0
mirror of https://github.com/codedread/bitjs synced 2025-10-05 02:19:24 +02:00
Commit graph

67 commits

Author SHA1 Message Date
Jeff Schiller
45fdedd663 Move some common type definitions into archive/common.js and some comments. 2024-01-20 16:12:55 -08:00
Jeff Schiller
8e1a7f3d0f Fix compress after previous refactor and add a unit test. 2023-12-22 13:18:36 -08:00
Jeff Schiller
cf26e0a2de Add some unit tests for unarchivers. Provide a way to disconnect the impl from the host (for unit tests). 2023-12-16 15:28:37 -08:00
Jeff Schiller
5d658782fe Write better documentation on unarchiving 2023-12-14 22:31:50 -08:00
Jeff Schiller
e6d13d9404 Commonize on port-connected behavior for compressors and decompressors (part of the refactor for issue #44) 2023-12-13 14:25:17 -08:00
Jeff Schiller
48766d0136 For issue #44, make the Zipper use MessageChannel and not have a hard dependency on Worker 2023-12-13 12:40:45 -08:00
Jeff Schiller
eeb228a52b Remove decompress-internal.js and pathToBitJS for decompress. 2023-12-12 21:04:41 -08:00
Jeff Schiller
d557383c9d For issue #44, remove the need for a pathToBitJS while unarchiving. 2023-12-12 17:18:42 -08:00
Jeff Schiller
f71c893f63 Fix issue #44, make decompress work in NodeJS (use Worker only where possible). 2023-12-11 22:00:35 -08:00
Jeff Schiller
5ad89892bd Move archive events into its own module. 2023-12-11 08:57:07 -08:00
Jeff Schiller
8e1f8b139a Rename DecompressorOptions to UnarchiverOptions. Add a ThreadingMode enum (only WebWorkers for now). Remove need to keep a handle to the decompressor impl from Unarchiver. 2023-12-11 08:19:53 -08:00
Jeff Schiller
ac6807edec For Issue #44, introduce a @typedef for UnarchiverOptions 2023-12-11 00:29:50 -08:00
Jeff Schiller
df5c5cfa0f Rework decompression implementations to not be Workers, but instead communicate to the host via a MessagePort. This doesn't address issue #44 directly yet (still need a way to swap out port connection with a non-Web Worker). 2023-12-11 00:12:42 -08:00
Jeff Schiller
1ab380c7c4 Add missing license header to compress.js and correct typo. 2023-12-11 00:09:35 -08:00
Jeff Schiller
4ff93acab9 Add TODO to eventually un-Worker-ify the untar, unzip, unrar scripts. 2023-11-20 21:39:02 -08:00
Jeff Schiller
96a74d910c Fix issue #42: Add missing slash for long filenames in ustar format 2023-10-17 21:58:12 -07:00
Jeff Schiller
5bdb4c7585 Fix missing RarVM import after ES Module refactoring 2023-06-21 06:58:37 -07:00
Jeff Schiller
63e84dadb0 Issue #28: Removed build step for bitjs.io now that all browsers (Firefox 114+) support ES Module Workers. 2023-05-28 10:39:35 -07:00
Jeff Schiller
47ae6f8965 Fix issue #30: Make Unarchiver derive from EventTarget and the UnarchiveEvents derive from Event. 2023-02-08 21:18:51 -08:00
Jeff Schiller
726feee48f 1.0.6: Return 'vp9' for the video codec in getFullMIMEString(). Also move the annoying warning in deprecated archive.js. 2022-11-25 10:58:12 -08:00
Jeff Schiller
84514d1617 Update to @returns in all jsdoc 2022-04-27 13:31:18 -07:00
Jeff Schiller
7746b8c03f Tweak the file signature sniffer so byte tree initialization happens lazily. 2022-01-14 12:17:03 -08:00
Jeff Schiller
96ba25aef7 Update file comments in decompress-internal.js 2021-12-29 20:19:28 -08:00
Jeff Schiller
cc59935e72 Some minor API updates. 2021-12-29 20:01:48 -08:00
Jeff Schiller
596a859bdc Implement crc32 calculation for issue #29 2021-12-16 15:09:20 -05:00
Jeff Schiller
c0afe7637e Start on issue #29: Add a Zipper that can take multiple files and produce a zip file as an array of bytes (storage only, no compression) 2021-12-12 23:39:09 -08:00
Jeff Schiller
755aba54bd Make buffers transferable out of the Worker for unrar/untar too 2021-12-12 12:58:34 -08:00
Jeff Schiller
85dcee80ec Experiment with marking ArrayBuffers are Transferable across the Worker thread boundary for unzip. 2021-12-12 12:15:29 -08:00
Jeff Schiller
2a90e32c89 Updates to jsdoc for better IDE analysis. A couple other minor tweaks. 2021-12-12 11:01:41 -08:00
Jeff Schiller
843caf4e61 Use JS Map instead of JS object for the huffman code tables. Seems to be a pretty good performance improvement on Chrome, Safari, Firefox. 2021-12-12 00:32:28 -08:00
Jeff Schiller
4496948aaf Add a getMIMEType() method to Unarchiver 2021-06-20 13:49:23 -07:00
Jeff Schiller
8bf65d6384 Add an UnarchiveAppendEvent so listeners can tell when the ArrayBuffer has received more bytes. 2021-06-20 10:31:38 -07:00
Jeff Schiller
a5e3d2f0b5 Move actual archive functionality into archive-internal.js so we can eventually unit test it in nodejs. 2021-06-20 10:19:43 -07:00
codedread
2db5b3b906 Fix issue #19: Support data descriptors in unzip. 2020-04-30 23:54:21 -07:00
codedread
97fcf8d630 Fix a minor bug with MIME type sniffing and let callers specify whether unarchivers should debug log to the console 2020-04-29 20:48:52 -07:00
codedread
60a6bf405c Use the file sniffer inside archive.js 2020-04-02 23:43:24 -07:00
codedread
2cc77f905b Turn archive.js into an ES module for Issue #16 2020-04-02 17:29:02 -07:00
codedread
78a11e1b12 Remove unzip/unrar/untar worker dependency on archive.js so that we can turn it into an ES module for Issue #16 2020-04-02 09:35:31 -07:00
codedread
1b00fdaae3 Fix unrar and unzip importing the right version of ByteBuffer 2020-04-02 09:17:47 -07:00
codedread
ab5f6fc6d2 Make ByteStream and ByteBuffer into modules with Worker veresions via build for Issue #16 2020-04-02 00:07:14 -07:00
codedread
a457564ff0 Start on Issue #16. Make BitStream a module, but provide a Web Worker version of BitStream via a build step 2020-04-01 23:08:09 -07:00
codedread
58ac1aed25 Surface metadata from zip files to clients 2020-01-19 09:33:58 -08:00
codedread
2916cf0926 Read in the end of Central File Header block 2019-11-30 08:29:22 -08:00
codedread
f6fe788693 If there are not at least ten bytes in the arraybuffer, return a null unarchiver 2019-03-08 08:19:37 -08:00
codedread
e07990c4db Terminate the unrar process if we reach the end of the byte stream 2018-11-01 03:30:18 -07:00
codedread
6e9a9cc382 Tweak formatting 2018-11-01 03:29:27 -07:00
codedread
042b318cfa Update readme for streaming and add a TODO for Issue #11 2018-02-01 09:31:29 -08:00
codedread
a6f9026ab1 Remove pushing and throwing errors from BitStream and update unit tests. Update unrar to use a ByteStream for the RAR file header (like unzip) 2018-01-30 00:16:38 -08:00
codedread
b04e638c93 Add logging as a parameter (used in unzip.js). Add a TODO for unrar.js to use a ByteStream for the file headers 2018-01-29 22:06:54 -08:00
codedread
23e3921072 Track number of compressed bytes read in while unarchiving and reporting progress 2018-01-26 00:12:58 -08:00