use serde::Serialize;
use serde_with::skip_serializing_none;
use kdb_macros::KRQLQuery;
pub mod agents;
pub mod datasets;
mod sensing;
#[allow(unused)] pub(crate) trait KRQLQuery: Serialize {}
#[derive(Clone, Default, KRQLQuery)]
pub struct Test
{
pub print: Option<crate::value::Value>,
#[serde(rename = "return")]
pub return_value: Option<crate::value::Value>,
}
#[cfg(test)]
mod tests
{
use super::*;
#[test]
fn test_query()
{
let t = Test {
print: Some("Hello".into()),
..Default::default()
};
assert_eq!(
serde_saphyr::to_string(&t).unwrap(),
r#"test:
print:
type: literal
datatype: "http://www.w3.org/2001/XMLSchema#string"
value: Hello
"#
);
let t = Test {
return_value: Some("world".to_string().into()),
..Default::default()
};
assert_eq!(
serde_saphyr::to_string(&t).unwrap(),
r#"test:
return:
type: literal
datatype: "http://www.w3.org/2001/XMLSchema#string"
value: world
"#
);
}
}