nfe_parser/base/item/
mod.rs1use super::Error;
7use serde::{Deserialize, Serialize};
8use std::str::FromStr;
9
10mod imposto;
11mod produto;
12
13pub use imposto::*;
14pub use produto::*;
15
16#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)]
21#[serde(rename = "det")]
22pub struct Item {
23 #[serde(rename = "nItem")]
25 pub numero: u8,
26 #[serde(rename = "prod")]
28 pub produto: Produto,
29 #[serde(rename = "imposto")]
31 pub imposto: Imposto,
32}
33
34impl FromStr for Item {
35 type Err = Error;
36
37 fn from_str(s: &str) -> Result<Self, Self::Err> {
38 quick_xml::de::from_str(s).map_err(|e| e.into())
39 }
40}
41
42impl ToString for Item {
43 fn to_string(&self) -> String {
44 quick_xml::se::to_string(self).expect("Falha ao serializar o item")
45 }
46}