opensearch_dsl/util/
should_skip.rs1use crate::{Map, Set};
2
3pub trait ShouldSkip {
5 fn should_skip(&self) -> bool {
7 false
8 }
9
10 fn should_keep(&self) -> bool {
12 !self.should_skip()
13 }
14}
15
16impl ShouldSkip for String {
17 fn should_skip(&self) -> bool {
18 self.trim().is_empty()
19 }
20}
21
22impl ShouldSkip for str {
23 fn should_skip(&self) -> bool {
24 self.trim().is_empty()
25 }
26}
27
28impl ShouldSkip for &str {
29 fn should_skip(&self) -> bool {
30 self.trim().is_empty()
31 }
32}
33
34impl<T> ShouldSkip for Option<T> {
35 fn should_skip(&self) -> bool {
36 self.is_none()
37 }
38}
39
40impl<T> ShouldSkip for &Option<T> {
41 fn should_skip(&self) -> bool {
42 self.is_none()
43 }
44}
45
46impl<T> ShouldSkip for Vec<T> {
47 fn should_skip(&self) -> bool {
48 self.is_empty()
49 }
50}
51
52impl<T> ShouldSkip for Set<T> {
53 fn should_skip(&self) -> bool {
54 self.is_empty()
55 }
56}
57
58impl<T> ShouldSkip for &Set<T> {
59 fn should_skip(&self) -> bool {
60 self.is_empty()
61 }
62}
63
64impl<T> ShouldSkip for &[T] {
65 fn should_skip(&self) -> bool {
66 self.is_empty()
67 }
68}
69
70impl<K, V> ShouldSkip for Map<K, V> {
71 fn should_skip(&self) -> bool {
72 self.is_empty()
73 }
74}
75
76impl<K, V> ShouldSkip for &Map<K, V> {
77 fn should_skip(&self) -> bool {
78 self.is_empty()
79 }
80}