refactor(papermc_api): fix Clippy diagnostics
This commit is contained in:
parent
d38cb4ce39
commit
7987bef384
1 changed files with 17 additions and 11 deletions
|
|
@ -13,6 +13,12 @@ pub struct Client {
|
||||||
|
|
||||||
pub const BASE_URL: &str = "https://fill.papermc.io/v3";
|
pub const BASE_URL: &str = "https://fill.papermc.io/v3";
|
||||||
|
|
||||||
|
impl Default for Client {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self::new()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Client {
|
impl Client {
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
Self {
|
Self {
|
||||||
|
|
@ -25,14 +31,14 @@ impl Client {
|
||||||
let body_json: Value = res.body_mut().read_json()?;
|
let body_json: Value = res.body_mut().read_json()?;
|
||||||
|
|
||||||
let projects = body_json["projects"].as_array().ok_or(Error::BadBody)?;
|
let projects = body_json["projects"].as_array().ok_or(Error::BadBody)?;
|
||||||
projects.into_iter().map(parse_project_json).collect()
|
projects.iter().map(parse_project_json).collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn project<'a>(&'a self, project: &'a str) -> ProjectQuery<'a> {
|
pub fn project<'a>(&'a self, project: &'a str) -> ProjectQuery<'a> {
|
||||||
return ProjectQuery {
|
ProjectQuery {
|
||||||
agent: &self.agent,
|
agent: &self.agent,
|
||||||
project,
|
project,
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +66,7 @@ impl<'a> ProjectQuery<'a> {
|
||||||
let body_json: Value = res.body_mut().read_json()?;
|
let body_json: Value = res.body_mut().read_json()?;
|
||||||
|
|
||||||
let versions = body_json["versions"].as_array().ok_or(Error::BadBody)?;
|
let versions = body_json["versions"].as_array().ok_or(Error::BadBody)?;
|
||||||
versions.into_iter().map(parse_version_json).collect()
|
versions.iter().map(parse_version_json).collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn version(&self, version: &'a str) -> VersionQuery<'a> {
|
pub fn version(&self, version: &'a str) -> VersionQuery<'a> {
|
||||||
|
|
@ -105,7 +111,7 @@ impl<'a> VersionQuery<'a> {
|
||||||
body_json
|
body_json
|
||||||
.as_array()
|
.as_array()
|
||||||
.ok_or(Error::BadBody)?
|
.ok_or(Error::BadBody)?
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(parse_build_json)
|
.map(parse_build_json)
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
|
@ -124,7 +130,7 @@ impl<'a> VersionQuery<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn latest(&self) -> Result<Build, Error> {
|
pub fn latest(&self) -> Result<Build, Error> {
|
||||||
return self.build("latest");
|
self.build("latest")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -142,7 +148,7 @@ fn parse_project_json(value: &Value) -> Result<Project, Error> {
|
||||||
versions: value["versions"]
|
versions: value["versions"]
|
||||||
.as_object()
|
.as_object()
|
||||||
.ok_or(Error::BadBody)?
|
.ok_or(Error::BadBody)?
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(|(_, versions)| versions.as_array().ok_or(Error::BadBody))
|
.map(|(_, versions)| versions.as_array().ok_or(Error::BadBody))
|
||||||
// Collect into error to propagate error of any of the versions
|
// Collect into error to propagate error of any of the versions
|
||||||
.collect::<Result<Vec<_>, _>>()?
|
.collect::<Result<Vec<_>, _>>()?
|
||||||
|
|
@ -171,14 +177,14 @@ fn parse_version_json(value: &Value) -> Result<Version, Error> {
|
||||||
recommended_flags: value["version"]["java"]["flags"]["recommended"]
|
recommended_flags: value["version"]["java"]["flags"]["recommended"]
|
||||||
.as_array()
|
.as_array()
|
||||||
.ok_or(Error::BadBody)?
|
.ok_or(Error::BadBody)?
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(|v| v.as_str().map(String::from).ok_or(Error::BadBody))
|
.map(|v| v.as_str().map(String::from).ok_or(Error::BadBody))
|
||||||
.collect::<Result<_, _>>()?,
|
.collect::<Result<_, _>>()?,
|
||||||
},
|
},
|
||||||
builds: value["builds"]
|
builds: value["builds"]
|
||||||
.as_array()
|
.as_array()
|
||||||
.ok_or(Error::BadBody)?
|
.ok_or(Error::BadBody)?
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(|v| v.as_u64().ok_or(Error::BadBody))
|
.map(|v| v.as_u64().ok_or(Error::BadBody))
|
||||||
.collect::<Result<_, _>>()?,
|
.collect::<Result<_, _>>()?,
|
||||||
})
|
})
|
||||||
|
|
@ -198,7 +204,7 @@ fn parse_build_json(value: &Value) -> Result<Build, Error> {
|
||||||
commits: value["commits"]
|
commits: value["commits"]
|
||||||
.as_array()
|
.as_array()
|
||||||
.ok_or(Error::BadBody)?
|
.ok_or(Error::BadBody)?
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(|build| {
|
.map(|build| {
|
||||||
Ok(BuildCommit {
|
Ok(BuildCommit {
|
||||||
sha: build["sha"].as_str().ok_or(Error::BadBody)?.to_string(),
|
sha: build["sha"].as_str().ok_or(Error::BadBody)?.to_string(),
|
||||||
|
|
@ -214,7 +220,7 @@ fn parse_build_json(value: &Value) -> Result<Build, Error> {
|
||||||
downloads: value["downloads"]
|
downloads: value["downloads"]
|
||||||
.as_object()
|
.as_object()
|
||||||
.ok_or(Error::BadBody)?
|
.ok_or(Error::BadBody)?
|
||||||
.into_iter()
|
.iter()
|
||||||
.map(|(key, build)| {
|
.map(|(key, build)| {
|
||||||
Ok((
|
Ok((
|
||||||
key.to_string(),
|
key.to_string(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue