From f8b2209123e3ea54b305417acbb6d638157f558e Mon Sep 17 00:00:00 2001 From: Anna Date: Thu, 23 Jul 2020 14:33:48 -0400 Subject: [PATCH] refactor: update dependencies --- Cargo.toml | 28 ++++++++-------------------- src/models/character.rs | 4 ---- src/models/free_company.rs | 1 - src/models/search/character.rs | 1 - src/models/search/free_company.rs | 1 - src/util/serde.rs | 1 - src/util/serde/multi_url.rs | 21 --------------------- 7 files changed, 8 insertions(+), 49 deletions(-) delete mode 100644 src/util/serde/multi_url.rs diff --git a/Cargo.toml b/Cargo.toml index 8d4b345..567f7ae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,34 +18,22 @@ logic = [ with_serde = [ "serde", "serde_derive", - "url_serde", + "ffxiv_types/with_serde", + "chrono/serde", + "url/serde" ] [dependencies] -cssparser = { version = "0.25", optional = true } +chrono = "0.4" +cssparser = { version = "0.27", optional = true } failure = { version = "0.1", optional = true } lazy_static = { version = "1", optional = true } -scraper = { version = "0.10", optional = true } +scraper = { version = "0.12", optional = true } serde = { version = "1", optional = true } serde_derive = { version = "1", optional = true } -url = "1" -url_serde = { version = "0.2", optional = true } +url = "2" -# with serde -[target.'cfg(feature = "with_serde")'.dependencies.chrono] -version = "0.4" -features = ["serde"] - -[target.'cfg(feature = "with_serde")'.dependencies.ffxiv_types] -version = "1" -default-features = false -features = ["worlds", "races", "clans", "guardians", "with_serde"] - -# without serde -[target.'cfg(not(feature = "with_serde"))'.dependencies.chrono] -version = "0.4" - -[target.'cfg(not(feature = "with_serde"))'.dependencies.ffxiv_types] +[dependencies.ffxiv_types] version = "1" default-features = false features = ["worlds", "races", "clans", "guardians"] diff --git a/src/models/character.rs b/src/models/character.rs index 20b2e60..dfbcba7 100644 --- a/src/models/character.rs +++ b/src/models/character.rs @@ -35,9 +35,7 @@ pub struct Character { #[cfg_attr(feature = "with_serde", serde(default))] pub minions: Vec, - #[cfg_attr(feature = "with_serde", serde(with = "url_serde"))] pub face: Url, - #[cfg_attr(feature = "with_serde", serde(with = "url_serde"))] pub portrait: Url, } @@ -60,7 +58,6 @@ pub struct JobInfo { #[cfg_attr(feature = "with_serde", derive(Deserialize, Serialize))] pub struct Mount { pub name: String, - #[cfg_attr(feature = "with_serde", serde(with = "url_serde"))] pub icon: Url, } @@ -68,7 +65,6 @@ pub struct Mount { #[cfg_attr(feature = "with_serde", derive(Deserialize, Serialize))] pub struct Minion { pub name: String, - #[cfg_attr(feature = "with_serde", serde(with = "url_serde"))] pub icon: Url, } diff --git a/src/models/free_company.rs b/src/models/free_company.rs index 51f1f66..028a6e1 100644 --- a/src/models/free_company.rs +++ b/src/models/free_company.rs @@ -15,7 +15,6 @@ pub struct FreeCompany { pub name: String, pub world: World, pub slogan: String, - #[cfg_attr(feature = "with_serde", serde(with = "crate::util::serde::multi_url"))] pub crest: Vec, pub grand_company: GrandCompany, pub active_members: u16, diff --git a/src/models/search/character.rs b/src/models/search/character.rs index 40a712c..281c193 100644 --- a/src/models/search/character.rs +++ b/src/models/search/character.rs @@ -14,6 +14,5 @@ pub struct CharacterSearchItem { pub grand_company: Option, #[cfg_attr(feature = "with_serde", serde(with = "crate::util::serde::opt_u64_str"))] pub free_company_id: Option, - #[cfg_attr(feature = "with_serde", serde(with = "url_serde"))] pub face: Url, } diff --git a/src/models/search/free_company.rs b/src/models/search/free_company.rs index 731fae5..3769504 100644 --- a/src/models/search/free_company.rs +++ b/src/models/search/free_company.rs @@ -12,7 +12,6 @@ pub struct FreeCompanySearchItem { pub id: u64, pub name: String, pub world: World, - #[cfg_attr(feature = "with_serde", serde(with = "crate::util::serde::multi_url"))] pub crest: Vec, pub grand_company: GrandCompany, pub active_members: u16, diff --git a/src/util/serde.rs b/src/util/serde.rs index 798acaa..d4bd32b 100644 --- a/src/util/serde.rs +++ b/src/util/serde.rs @@ -1,3 +1,2 @@ -pub mod multi_url; pub mod opt_u64_str; pub mod u64_str; diff --git a/src/util/serde/multi_url.rs b/src/util/serde/multi_url.rs deleted file mode 100644 index 1247b47..0000000 --- a/src/util/serde/multi_url.rs +++ /dev/null @@ -1,21 +0,0 @@ -use serde::{Deserializer, Deserialize, Serializer, ser::SerializeSeq}; - -use url::Url; - -#[allow(clippy::ptr_arg)] -crate fn serialize(urls: &Vec, serializer: S) -> Result - where S: Serializer, -{ - let mut seq = serializer.serialize_seq(Some(urls.len()))?; - for url in urls { - seq.serialize_element(&url_serde::Ser::new(url))?; - } - seq.end() -} - -crate fn deserialize<'de, D>(deserializer: D) -> Result, D::Error> - where D: Deserializer<'de> -{ - let urls: Vec> = Vec::deserialize(deserializer)?; - Ok(urls.into_iter().map(url_serde::De::into_inner).collect()) -}