codama_nodes/link_nodes/
link_node.rs1use crate::{
2 AccountLinkNode, DefinedTypeLinkNode, InstructionAccountLinkNode, InstructionArgumentLinkNode,
3 InstructionLinkNode, PdaLinkNode, ProgramLinkNode,
4};
5use codama_nodes_derive::node_union;
6
7#[node_union]
8pub enum LinkNode {
9 Account(AccountLinkNode),
10 DefinedType(DefinedTypeLinkNode),
11 Instruction(InstructionLinkNode),
12 InstructionAccount(InstructionAccountLinkNode),
13 InstructionArgument(InstructionArgumentLinkNode),
14 Pda(PdaLinkNode),
15 Program(ProgramLinkNode),
16}
17
18#[cfg(test)]
19mod tests {
20 use super::*;
21 use crate::HasKind;
22
23 #[test]
24 fn kind() {
25 let node: LinkNode = ProgramLinkNode::new("myProgram").into();
26 assert_eq!(node.kind(), "programLinkNode");
27 }
28}