use thiserror::Error;
#[derive(Error, Debug, Clone, PartialEq)]
#[non_exhaustive]
pub enum ParserError {
#[error("Component id '{0}' is not a fully qualified name with a namespace")]
ComponentIdError(String),
#[error("Invalid connection target syntax: '{0}': {1}")]
ConnectionTargetSyntax(String, String),
#[error("Invalid connection definition syntax: '{0}'")]
ConnectionDefinitionSyntax(String),
#[error("Invalid input/output port syntax: '{0}'")]
PortSyntax(String),
#[error("No suitable default found for port in : {0}")]
NoDefaultPort(String),
#[error("No suitable default found for reference in : {0}")]
NoDefaultReference(String),
#[error("Error parsing or serializing Sender data: {0}")]
InvalidSenderData(String),
#[error("Could not parse string into a FlowExpression '{0}'")]
FlowExpressionParse(String),
}