3 个不稳定版本

0.2.1 2020 年 9 月 9 日
0.2.0 2020 年 9 月 4 日
0.1.0 2020 年 9 月 1 日

#23 in #vfs

Apache-2.0 OR MIT

29KB
393

vfs-zip: ZIP 文件的虚拟文件系统抽象

GitHub crates.io docs.rs %23![forbid(unsafe_code)] rust: 1.34.0+ License

目前这只是一个连接 vfszip 的桥梁。未来可能会添加其他 VFS 抽象。注意事项

  1. vfs 0.4 缺少异步接口,使其对浏览器目标无济于事。
  2. zip 不适合重入访问。这会导致 Mutex 垃圾,并迫使 open_file 预先复制/读取整个文件。

功能

功能 描述
默认
vfs04 vfs = "0.4.x" 互操作性
zip-deflate "zip/deflate" (解)压缩支持
zip-bzip2 "zip/bzip2" (解)压缩支持
(可选)
zip-time "zip/time" 在创建 zip 归档时写入时间戳

不安全代码

包使用 #![forbid(unsafe_code)]。然而,间接依赖项包含一些 unsafe - 包括但不限于

crate 版本
bzip2 0.3.3
crc32fast 1.2.0
flat2 1.0.14
syn 1.0.39
time 0.1.44
winapi 0.3.9

MSRV (最低支持的 Rust 版本)

目前 1.34.0...ish。

  • zip 0.5.6 有一个 MSRV 为 1.34.0。然而,zip 的 MSRV 策略允许 0.5.7 将此提升,并且 vfs-zip 并未将 zip 锁定到此版本。
  • vfs 0.4.0 有一个 MSRV 为 1.32.0。然而,它没有明确的策略来提升 MSRV。
  • 并非所有间接依赖项都有 MSRV 策略。例如,我已经将 flate2 锁定为 "<1.0.16",因为 "1.0.16" 使用 "extern crate alloc;" 导致 1.34.0 出错

许可

根据您选择,许可协议为

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交并包含在本工作中的任何贡献,将双重许可,如上所述,不附加任何额外条款或条件。

依赖项

~1.4–2.5MB
~47K SLoC