This crate allows for the parsing, reading, and writing of asar archives, often seen in Electron-based applications.
```rust use asar::{AsarReader, Header, Result}; use std::fs;
fn main() -> Result<()> { let asarfile = fs::read("archive.asar")?; let asar = AsarReader::new(&asarfile)?;
println!("There are {} files in archive.asar", asar.files().len());
for path in asar.files().keys() {
println!("{}", path.display());
}
Ok(())
} ```
```rust use asar::{AsarReader, Header, Result}; use std::{fs, path::PathBuf};
fn main() -> Result<()> { let asarfile = fs::read("archive.asar")?; let asar = AsarReader::new(&asarfile)?;
let path = PathBuf::from("hello.txt");
let file = asar.files().get(&path).unwrap();
let contents = std::str::from_utf8(file.data()).unwrap();
assert_eq!(contents, "Hello, World!");
Ok(())
} ```
```rust use asar::{AsarWriter, Result}; use std::fs::File;
fn main() -> Result<()> { let mut asar = AsarWriter::new(); asar.write_file("hello.txt", b"Hello, World!", false)?; asar.finalize(File::create("archive.asar")?)?; Ok(()) } ```
integrity: Enable integrity checks/calculation.check-integrity-on-read: Enable integrity checks when reading an
archive, failing if any integrity check fails.write - Enable writing an asar archive. Enabled by default, also
enables integrity.asar is licensed under either the MIT license or the
Apache License 2.0, at the choice of the user.
License: Apache-2.0 OR MIT