1 | // Copyright (c) 2018 The predicates-rs Project Developers. |
2 | // |
3 | // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or |
4 | // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
5 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your |
6 | // option. This file may not be copied, modified, or distributed |
7 | // except according to those terms. |
8 | |
9 | //! Module that contains the essentials for working with predicates. |
10 | |
11 | pub use crate::boolean::PredicateBooleanExt; |
12 | pub use crate::boxed::PredicateBoxExt; |
13 | pub use crate::name::PredicateNameExt; |
14 | pub use crate::path::PredicateFileContentExt; |
15 | pub use crate::str::PredicateStrExt; |
16 | pub use crate::Predicate; |
17 | |
18 | /// Predicate factories |
19 | pub mod predicate { |
20 | // primitive `Predicate` types |
21 | pub use crate::constant::{always, never}; |
22 | pub use crate::function::function; |
23 | pub use crate::iter::{in_hash, in_iter}; |
24 | pub use crate::ord::{eq, ge, gt, le, lt, ne}; |
25 | |
26 | /// `str` Predicate factories |
27 | /// |
28 | /// This module contains predicates specific to string handling. |
29 | pub mod str { |
30 | pub use crate::str::is_empty; |
31 | pub use crate::str::{contains, ends_with, starts_with}; |
32 | |
33 | #[cfg (feature = "diff" )] |
34 | pub use crate::str::diff; |
35 | |
36 | #[cfg (feature = "regex" )] |
37 | pub use crate::str::is_match; |
38 | } |
39 | |
40 | /// `Path` Predicate factories |
41 | /// |
42 | /// This module contains predicates specific to path handling. |
43 | pub mod path { |
44 | pub use crate::path::eq_file; |
45 | pub use crate::path::{exists, missing}; |
46 | pub use crate::path::{is_dir, is_file, is_symlink}; |
47 | } |
48 | |
49 | /// `f64` Predicate factories |
50 | /// |
51 | /// This module contains predicates specific to float handling. |
52 | pub mod float { |
53 | #[cfg (feature = "float-cmp" )] |
54 | pub use crate::float::is_close; |
55 | } |
56 | } |
57 | |