macro_rules! contains {
($selector:expr, $field:ident) => { ... };
($selector:expr, $field1:ident . $field2:ident) => { ... };
($selector:expr, $field:ident . $($rest:ident).+) => { ... };
}Expand description
Check if a field path is enabled in a field selector.
This macro uses non-recursive Option chaining for levels 1-2, and recursive calls for deeper nesting (3+ levels) to balance performance and simplicity.
ยงExamples
let mut selector = user.serialize_fields();
selector.enable_dot_hierarchy("id");
selector.enable_dot_hierarchy("profile.bio");
assert!(contains!(selector, id));
assert!(contains!(selector, profile.bio));
assert!(!contains!(selector, name));