1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! `silpkg` is a library for interacting with [SIL](https://achurch.org/SIL/) PKG files
//!
//! # Features
//! This library separates parsing/modification logic from IO by using [coroutines](https://doc.rust-lang.org/beta/unstable-book/language-features/coroutines.html)
//! and aims to support many ways of interfacing with the base logic module.
//! Currently only a synchronous interface is implemented in [`sync`].
//!
//! - [X] Sync
//! - [X] reading PKG files
//! - [X] reading uncompressed entries
//! - [X] adding uncompressed entries
//! - [X] reading deflate compressed entries
//! - [X] adding deflate compressed entries
//! - [X] creating new PKG files
//! - [ ] Slice
//! - [ ] Async
//!
//! # Quick start
//! To open an existing archive use [`Pkg::parse`](sync::Pkg::parse).
//! To create a new archive use [`Pkg::create`](sync::Pkg::create).
//! For information on how to interact with archives look around in [`Pkg`](sync::Pkg).
extern crate alloc;
/// Defines all the errors used by this library.
/// The low-level generator-based API that can be used when the high-level variants are not enough.
/// A synchronous interface for reading and writing PKG archives.
pub use ;
pub use Truncate;