Update to serde_json 1.0 (#6)
* Replace find() with get() * Update for renamed as_string->as_str and as_boolean->as_bool https://github.com/serde-rs/json/releases/tag/v0.8.0 Value::as_string() has been renamed to as_str() and Value::as_boolean() has been renamed to as_bool() to improve consistency https://github.com/serde-rs/json/issues/126 * No serde_json::Value::I64/U64/F64 anymore, only Number * Update from lookup() to pointer(), using JSON pointer syntax https://github.com/iceiix/steven/pull/6#issuecomment-432472123 * Remove unused and removed ObjectBuilder import * Use into_iter().collect() to convert BTreeMap to serde_json::Map * Change parse_rules to accept serde_json::Map instead of BTreeMap * Remove unused serde_json macro_use * Update Cargo.lock
This commit is contained in:
parent
0f41b0effe
commit
7e5bb999e4
|
@ -38,12 +38,12 @@ impl Component {
|
||||||
|
|
||||||
pub fn from_value(v: &serde_json::Value) -> Self {
|
pub fn from_value(v: &serde_json::Value) -> Self {
|
||||||
let mut modifier = Modifier::from_value(v);
|
let mut modifier = Modifier::from_value(v);
|
||||||
if let Some(val) = v.as_string() {
|
if let Some(val) = v.as_str() {
|
||||||
Component::Text(TextComponent {
|
Component::Text(TextComponent {
|
||||||
text: val.to_owned(),
|
text: val.to_owned(),
|
||||||
modifier: modifier,
|
modifier: modifier,
|
||||||
})
|
})
|
||||||
} else if v.find("text").is_some() {
|
} else if v.get("text").is_some() {
|
||||||
Component::Text(TextComponent::from_value(v, modifier))
|
Component::Text(TextComponent::from_value(v, modifier))
|
||||||
} else {
|
} else {
|
||||||
modifier.color = Some(Color::RGB(255, 0, 0));
|
modifier.color = Some(Color::RGB(255, 0, 0));
|
||||||
|
@ -92,17 +92,17 @@ pub struct Modifier {
|
||||||
impl Modifier {
|
impl Modifier {
|
||||||
pub fn from_value(v: &serde_json::Value) -> Self {
|
pub fn from_value(v: &serde_json::Value) -> Self {
|
||||||
let mut m = Modifier {
|
let mut m = Modifier {
|
||||||
bold: v.find("bold").map_or(Option::None, |v| v.as_boolean()),
|
bold: v.get("bold").map_or(Option::None, |v| v.as_bool()),
|
||||||
italic: v.find("italic").map_or(Option::None, |v| v.as_boolean()),
|
italic: v.get("italic").map_or(Option::None, |v| v.as_bool()),
|
||||||
underlined: v.find("underlined").map_or(Option::None, |v| v.as_boolean()),
|
underlined: v.get("underlined").map_or(Option::None, |v| v.as_bool()),
|
||||||
strikethrough: v.find("strikethrough").map_or(Option::None, |v| v.as_boolean()),
|
strikethrough: v.get("strikethrough").map_or(Option::None, |v| v.as_bool()),
|
||||||
obfuscated: v.find("obfuscated").map_or(Option::None, |v| v.as_boolean()),
|
obfuscated: v.get("obfuscated").map_or(Option::None, |v| v.as_bool()),
|
||||||
color: v.find("color")
|
color: v.get("color")
|
||||||
.map_or(Option::None, |v| v.as_string())
|
.map_or(Option::None, |v| v.as_str())
|
||||||
.map(|v| Color::from_string(&v.to_owned())),
|
.map(|v| Color::from_string(&v.to_owned())),
|
||||||
extra: Option::None,
|
extra: Option::None,
|
||||||
};
|
};
|
||||||
if let Some(extra) = v.find("extra") {
|
if let Some(extra) = v.get("extra") {
|
||||||
if let Some(data) = extra.as_array() {
|
if let Some(data) = extra.as_array() {
|
||||||
let mut ex = Vec::new();
|
let mut ex = Vec::new();
|
||||||
for e in data {
|
for e in data {
|
||||||
|
@ -135,7 +135,7 @@ impl TextComponent {
|
||||||
|
|
||||||
pub fn from_value(v: &serde_json::Value, modifier: Modifier) -> Self {
|
pub fn from_value(v: &serde_json::Value, modifier: Modifier) -> Self {
|
||||||
TextComponent {
|
TextComponent {
|
||||||
text: v.find("text").unwrap().as_string().unwrap_or("").to_owned(),
|
text: v.get("text").unwrap().as_str().unwrap_or("").to_owned(),
|
||||||
modifier: modifier,
|
modifier: modifier,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ impl Tag {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn as_string(&self) -> Option<&str> {
|
pub fn as_str(&self) -> Option<&str> {
|
||||||
match *self {
|
match *self {
|
||||||
Tag::String(ref val) => Some(&val[..]),
|
Tag::String(ref val) => Some(&val[..]),
|
||||||
_ => None,
|
_ => None,
|
||||||
|
|
Loading…
Reference in New Issue