alpha
Login
or
Join now
mary.my.id
/
pkg-rar
Star
2
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
streaming RAR extractor
jsr.io/@mary/rar
jsr
Star
2
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
pkg-rar
/
tests
/
at
trunk
1 folder
12 files
Mary
fix: terminate the Blob reader stream once the slice is delivered
1mo ago
c8076176
fixtures
fix: terminate the Blob reader stream once the slice is delivered
1 month ago
rar3-block.test.ts
feat: add RAR3 block parser introduces lib/rar3/ with the constants (mark/main/file/sub/endArc block types, flag namespaces, host-OS and method codes) and a block walker that follows the legacy `Rar!\x1a\x07\x00` format used by RAR1.5 through RAR4. file and sub headers reuse the same on-disk layout where the LONG_BLOCK `add_size` field overlays the file header's compress_size, so the walker reads that field exactly once. header CRC verification is intentionally deferred — its per-block-type coverage range needs more work — but the smoke test in tests/rar3-block.test.ts confirms the walker handles 28 fixtures from the rarfile corpus, only skipping a misnamed RAR5 archive and a fixture with encrypted headers.
2 months ago
rar3-crypto.test.ts
chore: drop hand-rolled hex helpers in rar3 tests deno and current node ship Uint8Array.prototype.toHex and Uint8Array.fromHex natively; use them instead of the local helpers in rar3-crypto and rar3-oldlzss. the v20 fixture loses its visual spacing because the native fromHex does not strip whitespace, but the bytes are unchanged.
2 months ago
rar3-extract.test.ts
refactor: replace local crc32 with @mary/crc32
2 months ago
rar3-golden.test.ts
feat: route compressed oldComments through v15/v20 LZSS `decodeOldComment` now dispatches on the subblock's version field: v15 goes through `decodeOldLzss15`, v20 (and v26) through `decodeOldLzss20`. unblocks four corpus fixtures whose archive-level comments were compressed: rar15-comment{,-lock}.rar (v15) and rar202-comment-{no,}psw.rar (v20). all four golden dumps now match byte-for-byte.
2 months ago
rar3-oldlzss.test.ts
refactor: replace local crc32 with @mary/crc32
2 months ago
rar3-walk.test.ts
feat: add walkRar3Archive mirrors walkRar5Archive for the RAR3 family: yields each parsed block paired with its volume reader, reading only header bytes. hpsw volumes are slurped and header-decrypted up front via the same prepareReaders path unrar3 uses; unencrypted volumes flow through without extra allocation. walkRar5Archive switches to the same `async function*` + `yield*` shape so both walkers read identically at the call site.
2 months ago
rar5-blake2.test.ts
fix: verify BLAKE2sp against decoded RAR5 entries RAR5 entries that record a BLAKE2sp hash record instead of an inline CRC32 used to extract without any integrity check — neither the body fast path nor the decode pass had a BLAKE2sp implementation to compare against. add a pure-TS BLAKE2sp-256 (lib/rar5/blake2.ts: eight BLAKE2s leaves with last_node on leaf 7, root with node_depth=1) and a tweakBlake2sp HMAC-SHA256 transform for the TWEAKED checksum case. generalize verifyingPassthrough to take an IntegrityVerifier rather than CRC-specific options, expose crc32Verifier from segments and a local blake2spVerifier from the RAR5 extractor, and have Rar5Entry's #verifyHash dispatch on whichever tag the entry actually carries.
2 months ago
rar5-crypto.test.ts
feat: add structured error classes
2 months ago
rar5-extract.test.ts
refactor: replace local crc32 with @mary/crc32
2 months ago
rar5-golden.test.ts
feat: aggregate multi-volume RAR5 dumps `dumpArchive` now follows a whole multi-volume set when given an array of readers, joining split file blocks into a single entry whose `compressedSize` is the sum across volumes and whose CRC comes from the final continuation, matching dumprar's listing. when given a single reader that is actually a middle volume, it emits dumprar's "is middle part of multi-vol archive (Need to start from first volume (current: N))" line instead. the rar5-vols golden fixtures are no longer skipped.
2 months ago
reader.test.ts
fix: terminate the Blob reader stream once the slice is delivered
1 month ago
unrar-dispatch.test.ts
feat: add structured error classes
2 months ago