diff options
Diffstat (limited to 'src/item.rs')
| -rw-r--r-- | src/item.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/item.rs b/src/item.rs index e4dbb34..0e8661a 100644 --- a/src/item.rs +++ b/src/item.rs @@ -1,20 +1,31 @@ use std::collections::HashSet; +use std::str::FromStr; +use serde; +use serde::Deserialize; use serde_json::{Value}; use crate::{ Template, components::{ Flag, equipment::Equippable - } + }, + errors::{ParseError} }; -#[derive(Debug, Default, PartialEq, Eq, Clone, Hash)] +#[derive(Debug, Default, PartialEq, Eq, Clone, Hash, Deserialize)] pub struct ItemId(pub String); +impl FromStr for ItemId { + type Err = ParseError; + fn from_str(s: &str) -> Result<Self, Self::Err> { + Ok(Self(s.to_string())) + } +} + #[derive(Debug, Clone)] pub struct Item { pub ent: Template, |
