use serde::{Deserialize, Serialize};
use super::context::DescriptorContext;
use super::display::DescriptorDisplay;
use super::metadata::Metadata;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Descriptor {
#[serde(rename = "$schema")]
#[serde(skip_serializing_if = "Option::is_none")]
pub schema: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub includes: Option<String>,
pub context: DescriptorContext,
pub metadata: Metadata,
pub display: DescriptorDisplay,
}
impl Descriptor {
pub fn from_json(json: &str) -> Result<Self, serde_json::Error> {
serde_json::from_str(json)
}
}