summaryrefslogtreecommitdiffstats
path: root/vendor/handlebars/src/util.rs
blob: 7bfca24ce6aaa54532b540ec767595c388e1c474 (plain)
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
pub(crate) fn empty_or_none<T>(input: &[T]) -> Option<&[T]> {
    if input.is_empty() {
        None
    } else {
        Some(input)
    }
}

#[inline]
pub(crate) fn copy_on_push_vec<T>(input: &[T], el: T) -> Vec<T>
where
    T: Clone,
{
    let mut new_vec = Vec::with_capacity(input.len() + 1);
    new_vec.extend_from_slice(input);
    new_vec.push(el);
    new_vec
}

#[inline]
pub(crate) fn extend(base: &mut Vec<String>, slice: &[String]) {
    for i in slice {
        base.push(i.to_owned());
    }
}