compose_lens/model/
dns_search.rs1use crate::source::SourceSpan;
4
5use super::Located;
6
7#[derive(Debug, Clone, PartialEq, Eq)]
9#[non_exhaustive]
10pub enum DnsSearchForm {
11 Scalar(Located<String>),
13 List(Vec<Located<String>>),
15}
16
17#[derive(Debug, Clone, PartialEq, Eq)]
19pub struct DnsSearch {
20 span: SourceSpan,
21 form: DnsSearchForm,
22}
23
24impl DnsSearch {
25 pub(crate) const fn new(span: SourceSpan, form: DnsSearchForm) -> Self {
26 Self { span, form }
27 }
28
29 #[must_use]
31 pub const fn span(&self) -> SourceSpan {
32 self.span
33 }
34
35 #[must_use]
37 pub const fn form(&self) -> &DnsSearchForm {
38 &self.form
39 }
40}