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
//! A library for interacting with the Thunderstore API.
//!
//! The main struct is [`Client`], which provides methods for fetching, downloading and publishing packages.
//! The easiest way to get up and running is to use the [`Client::new`] method, which creates a client with the default configuration.
//! If you need more control over the client's configuration, use the [`Client::builder`] method instead (see [`ClientBuilder`]).
//!
//! Some methods, including uploading and submitting packages, require an API token to be set on the client.
//! You can set this token using the [`ClientBuilder::with_token`] method.
//!
//! # Examples
//!
//! ```no_run
//! #[tokio::main]
//! async fn main() -> thunderstore::Result<()> {
//! let client = thunderstore::Client::builder()
//! .with_token("tss_XXX")
//! .build()?;
//!
//! let package = client.get_package(("Kesomannen", "GaleModManager")).await?;
//! let _bytes = client.download(package.latest.ident).await?;
//!
//! client.publish_file(
//! "CoolMod.zip",
//! PackageMetadata::new("Kesomannen", ["lethal-company"])
//! .with_global_categories(["tools"])
//! .with_categories("lethal-company", ["serverside"])
//! ).await?;
//! }
//! ```
pub use ;
pub use ;
pub use ;
pub use *;