use serde::{Deserialize, Serialize};
use super::fragment_types::is_zero;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AlsoIn {
pub file: String,
pub line: usize,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Def {
pub id: String,
pub name: String,
pub namespace: String,
pub kind: String,
pub file: String,
pub line: usize,
pub methods: Vec<String>,
#[serde(default, rename = "testMethods", skip_serializing_if = "Vec::is_empty")]
pub test_methods: Vec<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub also_in: Vec<AlsoIn>,
#[serde(default, rename = "endLine", skip_serializing_if = "is_zero")]
pub end_line: usize,
}