[][src]Crate vfs_zip

vfs-zip: Virtual FileSystem abstractions for ZIP files

Currently this just bridges vfs and zip. Alternate VFS abstractions may be added in the future. Caveats:

  1. vfs 0.4 lacks async interfaces, making it useless for browser targets.
  2. zip isn't amenable to re-entrant access. This leads to Mutex spam, and forces open_file to copy/read the whole file up front.

Features

FeatureDescription
default
vfs04vfs = "0.4.x" interop

MSRV (Minimum Supported Rust Version)

Currently 1.34.0...ish.

  • zip 0.5.6 has a MSRV of 1.34.0. However, zip's MSRV policy allows 0.5.7 to bump this, and vfs-zip does not pin zip to this version.
  • vfs 0.4.0 has a MSRV of 1.32.0. However, it has no clear policy for when MSRV can be bumped.
  • Not all indirect dependencies have MSRV policies. For example, I've already pinned flate2 to "<1.0.16" since "1.0.16" broke 1.34.0 with "extern crate alloc;"

License

Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Structs

Error

A generic opaque vfs-zip error

ZipReadOnly

A read-only zip archive filesystem

Type Definitions

Result

Shorthand for std::result::Result<T, vfs_zip::Error>