use serde::{Deserialize, Serialize};
use super::{Documentation, NodeID, ParameterList};
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventDefinition {
pub id: NodeID,
pub src: String,
pub name: String,
#[serde(default)]
pub name_location: Option<String>,
#[serde(default)]
pub documentation: Option<Documentation>,
pub parameters: ParameterList,
#[serde(default)]
pub anonymous: Option<bool>,
#[serde(default)]
pub event_selector: Option<String>,
}
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ErrorDefinition {
pub id: NodeID,
pub src: String,
pub name: String,
#[serde(default)]
pub name_location: Option<String>,
#[serde(default)]
pub documentation: Option<Documentation>,
pub parameters: ParameterList,
#[serde(default)]
pub error_selector: Option<String>,
}