cobalt/pagination/
helpers.rs

1pub(crate) fn extract_scalar<'a>(
2    a: &'a dyn liquid::ValueView,
3    key: &str,
4) -> Option<liquid::model::ScalarCow<'a>> {
5    let v = extract_value(a, key)?;
6    v.as_scalar()
7}
8
9pub(crate) fn extract_tags(value: &dyn liquid::ValueView) -> Option<&dyn liquid::model::ArrayView> {
10    let v = extract_value(value, "tags")?;
11    v.as_array()
12}
13
14pub(crate) fn extract_categories(
15    value: &dyn liquid::ValueView,
16) -> Option<&dyn liquid::model::ArrayView> {
17    let v = extract_value(value, "categories")?;
18    v.as_array()
19}
20
21fn extract_value<'v>(v: &'v dyn liquid::ValueView, key: &str) -> Option<&'v dyn liquid::ValueView> {
22    let o = v.as_object()?;
23    o.get(key)
24}