botanist/macro_helpers.rs
1use juniper::{
2 DefaultScalarValue, LookAheadMethods, LookAheadSelection, LookAheadValue, ScalarValue,
3};
4
5pub fn int_argument_from_look_ahead(
6 look_ahead: &LookAheadSelection<DefaultScalarValue>,
7 argument: &str,
8 default: i32,
9) -> i32 {
10 look_ahead
11 .argument(argument)
12 .map(|arg| {
13 if let LookAheadValue::Scalar(limit) = arg.value() {
14 limit.as_int().unwrap_or(default)
15 } else {
16 default
17 }
18 })
19 .unwrap_or(default)
20}