| 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 | |