use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::DocumentAddress;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
#[serde(
tag = "kind",
rename_all = "kebab-case",
rename_all_fields = "camelCase",
deny_unknown_fields
)]
pub enum DocumentOpenTarget {
Address {
address: DocumentAddress,
},
Manual {
name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
manual_section: Option<String>,
},
}
impl From<DocumentAddress> for DocumentOpenTarget {
fn from(address: DocumentAddress) -> Self {
Self::Address { address }
}
}