From 3d1188b5c99f0aedaf3fb0209b82679d577a326b Mon Sep 17 00:00:00 2001 From: Mingwei Samuel Date: Wed, 10 May 2023 11:58:24 -0700 Subject: [PATCH] rustfmt ignore templated generated files --- riven/src/consts/mod.rs | 8 ++++ riven/src/lib.rs | 81 +++++++++++++++++++++-------------------- riven/srcgen/lib.rs.dt | 5 ++- 3 files changed, 52 insertions(+), 42 deletions(-) diff --git a/riven/src/consts/mod.rs b/riven/src/consts/mod.rs index c53cc1e..613d664 100644 --- a/riven/src/consts/mod.rs +++ b/riven/src/consts/mod.rs @@ -8,35 +8,43 @@ mod macros; +#[rustfmt::skip] mod champion; pub use champion::*; mod division; pub use division::*; +#[rustfmt::skip] mod game_mode; pub use game_mode::*; +#[rustfmt::skip] mod game_type; pub use game_type::*; +#[rustfmt::skip] mod map; pub use map::*; +#[rustfmt::skip] mod queue_type; pub use queue_type::*; +#[rustfmt::skip] mod queue; pub use queue::*; pub mod ranks; +#[rustfmt::skip] mod route; pub use route::*; mod route_ext; pub use route_ext::*; +#[rustfmt::skip] mod season; pub use season::*; diff --git a/riven/src/lib.rs b/riven/src/lib.rs index 3297b5c..89f78ca 100644 --- a/riven/src/lib.rs +++ b/riven/src/lib.rs @@ -19,46 +19,46 @@ //! //! unsafe forbidden //!

-//! +//! //! Rust Library for the [Riot Games API](https://developer.riotgames.com/). -//! +//! //! Riven's goals are _speed_, _reliability_, and _maintainability_. Riven handles rate limits and large requests with ease. //! Data structs and endpoints are automatically generated from the //! [Riot API Reference](https://developer.riotgames.com/api-methods/) ([Swagger](http://www.mingweisamuel.com/riotapi-schema/tool/)). -//! +//! //! # Design -//! +//! //! * Fast, asynchronous, thread-safe. //! * Automatically retries failed requests. //! * Supports all endpoints, kept up-to-date using [riotapi-schema](https://github.com/MingweiSamuel/riotapi-schema). -//! +//! //! # Usage -//! +//! //! ```rust //! use riven::RiotApi; //! use riven::consts::PlatformRoute; -//! +//! //! // Enter tokio async runtime. //! let rt = tokio::runtime::Runtime::new().unwrap(); //! rt.block_on(async { //! // Create RiotApi instance from key string. //! let api_key = std::env!("RGAPI_KEY"); // "RGAPI-01234567-89ab-cdef-0123-456789abcdef"; //! let riot_api = RiotApi::new(api_key); -//! +//! //! // Get summoner data. //! let summoner = riot_api.summoner_v4() //! .get_by_summoner_name(PlatformRoute::NA1, "잘 못").await //! .expect("Get summoner failed.") //! .expect("There is no summoner with that name."); -//! +//! //! // Print summoner name. //! println!("{} Champion Masteries:", summoner.name); -//! +//! //! // Get champion mastery data. //! let masteries = riot_api.champion_mastery_v4() //! .get_all_champion_masteries(PlatformRoute::NA1, &summoner.id).await //! .expect("Get champion masteries failed."); -//! +//! //! // Print champion masteries. //! for (i, mastery) in masteries.iter().take(10).enumerate() { //! println!("{: >2}) {: <9} {: >7} ({})", i + 1, @@ -85,104 +85,104 @@ //! contains additional usage information. The [tests](https://github.com/MingweiSamuel/Riven/tree/v/2.x.x/riven/tests) //! and [example proxy](https://github.com/MingweiSamuel/Riven/tree/v/2.x.x/example/proxy) //! provide more example usage. -//! +//! //! ## Feature Flags -//! +//! //! ### Nightly vs Stable -//! +//! //! Enable the `nightly` feature to use nightly-only functionality. This enables //! [nightly optimizations in the `parking_lot` crate](https://github.com/Amanieu/parking_lot#nightly-vs-stable). -//! +//! //! ```toml //! riven = { version = "...", features = [ "nightly" ] } //! ``` -//! +//! //! ### rustls -//! +//! //! Riven uses [reqwest](https://github.com/seanmonstar/reqwest) for making requests. By default, reqwest uses the native TLS library. //! If you prefer using [rustls](https://github.com/ctz/rustls) you can do so by turning off the Riven default features //! and specifying the `rustls-tls` feature: -//! +//! //! ```toml //! riven = { version = "...", default-features = false, features = [ "rustls-tls" ] } //! ``` -//! +//! //! Riven is additionally able to produce [tracing](https://docs.rs/tracing) spans for requests if the `tracing` feature is enabled. This feature is disabled by default. -//! +//! //! ## Docs -//! +//! //! [On docs.rs](https://docs.rs/riven/). -//! +//! //! ## Error Handling -//! +//! //! Riven returns either `Result` or `Result>` within futures. -//! +//! //! If the `Result` is errored, this indicates that the API request failed to //! complete successfully, which may be due to bad user input, Riot server errors, //! incorrect API key, etc. -//! +//! //! If the `Option` is `None`, this indicates that the request completed //! successfully but no data was returned. This happens in several situations, such //! as getting a summoner (by name) or match (by id) that doesn't exist, or getting //! spectator data for a summoner who is not in-game. //! Specifically, the API returned a 404 HTTP status code in this situation. -//! +//! //! The error type used by Riven is `riven::RiotApiError`. It provides some basic //! diagnostic information, such as the source Reqwest error, the number of retries //! attempted, and the Reqwest `Response` object. -//! +//! //! You can configure the number of time Riven retries using //! `RiotApiConfig::set_retries(...)` and the `RiotApi::from_config(config)` //! constructor. By default, Riven retries up to 3 times (4 requests total). //! Some errors, such as 400 client errors, are not retried as they would //! inevitably fail again. -//! +//! //! ## Semantic Versioning -//! +//! //! This package follows semantic versioning to an extent. However, the Riot API //! itself changes often and does not follow semantic versioning, which makes //! things difficult. Out-of-date versions will slowly partially cease to work due //! to this. -//! +//! //! When the API changes, this may result in breaking changes in the `models` //! module, `endpoints` module, and some of the `consts` module. "Handle accessor" //! methods may be removed from `RiotApi` if the corresponding endpoint is removed //! from the Riot API. These breaking changes will increment the **MINOR** version, //! not the major version. -//! +//! //! Parts of Riven that do not depend on Riot API changes do follow semantic //! versioning. -//! +//! //! ## Additional Help -//! +//! //! Feel free to [make an issue](https://github.com/MingweiSamuel/Riven/issues/new) //! if you are have any questions or trouble with Riven. -//! +//! //! # Development -//! +//! //! NodeJS is used to generate code for Riven. The //! [`riven/srcgen`](https://github.com/MingweiSamuel/Riven/tree/v/2.x.x/riven/srcgen) //! folder contains the code and [doT.js](https://olado.github.io/doT/index.html) //! templates. `index.js` lists the JSON files downloaded and used to generate the //! code. -//! +//! //! To set up the srcgen, you will first need to install NodeJS. Then enter the //! `riven/srcgen` folder and run `npm ci` (or `npm install`) to install //! dependencies. -//! +//! //! To run the srcgen use `node riven/srcgen` from the repository root. -//! -//! +//! +//! // Re-exported reqwest types. pub use reqwest; - mod config; pub use config::RiotApiConfig; pub mod consts; +#[rustfmt::skip] pub mod endpoints; mod error; @@ -190,6 +190,7 @@ pub use error::*; pub mod meta; +#[rustfmt::skip] pub mod models; mod models_impls; diff --git a/riven/srcgen/lib.rs.dt b/riven/srcgen/lib.rs.dt index 13f21e0..1545964 100644 --- a/riven/srcgen/lib.rs.dt +++ b/riven/srcgen/lib.rs.dt @@ -7,18 +7,18 @@ #![deny(missing_docs)] {{~ readme :line }} -//! {{= line }} +//!{{= line ? (' ' + line) : '' }} {{~}} // Re-exported reqwest types. pub use reqwest; - mod config; pub use config::RiotApiConfig; pub mod consts; +#[rustfmt::skip] pub mod endpoints; mod error; @@ -26,6 +26,7 @@ pub use error::*; pub mod meta; +#[rustfmt::skip] pub mod models; mod models_impls;