mermaid_markdown_api/objects/
connection.rs

1use crate::objects::node::Node;
2use crate::objects::DiagramObject;
3use crate::syntax::CoreSyntaxFunctions;
4
5pub enum ConnectionType {
6    DirectConnection,
7    CrossContractConnection,
8    Emission,
9}
10
11pub struct Connection {
12    pub connection_type: ConnectionType,
13    pub node: Node,
14}
15
16impl<T: CoreSyntaxFunctions> DiagramObject<T> for Connection {
17    fn add_object_to_schema(
18        &self,
19        schema: &mut T,
20        _id: Option<&str>,
21        extra_length_num: Option<u8>,
22    ) {
23        let config = schema.build_connection_config(self, extra_length_num);
24        schema.add_connection(config);
25    }
26}
27
28// TODO: Extra length
29// TODO: Separate via generic vs param