diff options
Diffstat (limited to 'vendor/handlebars/src/util.rs')
-rw-r--r-- | vendor/handlebars/src/util.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/handlebars/src/util.rs b/vendor/handlebars/src/util.rs new file mode 100644 index 000000000..7bfca24ce --- /dev/null +++ b/vendor/handlebars/src/util.rs @@ -0,0 +1,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()); + } +} |