1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
use crate::ast::{Expression, Identifier, Span, WithSpan};
use super::WithIdentifier;
/// A named property in a config block.
///
/// ```ignore
/// datasource db {
/// url = env("URL")
/// ^^^^^^^^^^^^^^^^
/// }
/// ```
#[derive(Debug, Clone)]
pub struct ConfigBlockProperty {
/// The property name.
///
/// ```ignore
/// datasource db {
/// url = env("URL")
/// ^^^
/// }
/// ```
pub(crate) name: Identifier,
/// The property value.
///
/// ```ignore
/// datasource db {
/// url = env("URL")
/// ^^^^^^^^^^
/// }
/// ```
pub value: Option<Expression>,
/// The node span.
pub span: Span,
}
impl WithSpan for ConfigBlockProperty {
fn span(&self) -> Span {
self.span
}
}
impl WithIdentifier for ConfigBlockProperty {
fn identifier(&self) -> &Identifier {
&self.name
}
}