compose_lens/model/
sysctl.rs1use crate::source::SourceSpan;
4
5use super::{KeyValueEntry, Located};
6
7#[derive(Debug, Clone, PartialEq, Eq)]
9#[non_exhaustive]
10pub enum SysctlsForm {
11 Map(Vec<KeyValueEntry>),
13 List(Vec<Located<String>>),
15}
16
17#[derive(Debug, Clone, PartialEq, Eq)]
19pub struct Sysctls {
20 span: SourceSpan,
21 form: SysctlsForm,
22}
23
24impl Sysctls {
25 pub(crate) const fn new(span: SourceSpan, form: SysctlsForm) -> 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) -> &SysctlsForm {
38 &self.form
39 }
40}