Macro serde_json_lodash::index_of
source · [−]macro_rules! index_of {
() => { ... };
($a:expr $(,)*) => { ... };
($a:expr, $b:expr $(,)*) => { ... };
($a:expr, $b:expr, $c:expr $(,)*) => { ... };
($a:expr, $b:expr, $c:expr, $($rest:tt)*) => { ... };
}
Expand description
Based on index_of()
Examples:
#[macro_use] extern crate serde_json_lodash;
use serde_json::json;
assert_eq!(
index_of!(json!([1, 2, 1, 2]), json!(2)),
1
);
assert_eq!(
index_of!(json!([1, 2, 1, 2]), json!(2), 2),
3
);
More examples:
assert_eq!(index_of!(), -1);
assert_eq!(index_of!(json!(null)), -1);
assert_eq!(index_of!(json!(true)), -1);
assert_eq!(index_of!(json!(0)), -1);
assert_eq!(index_of!(json!("")), -1);
assert_eq!(index_of!(json!([])), -1);
assert_eq!(index_of!(json!({})), -1);
assert_eq!(index_of!(json!([null]), json!(null)), 0);
assert_eq!(index_of!(json!([false]), json!(false)), 0);
assert_eq!(index_of!(json!([0]), json!(0)), 0);
assert_eq!(index_of!(json!([""]), json!("")), 0);
assert_eq!(index_of!(json!([[]]), json!([])), -1);
assert_eq!(index_of!(json!([[],1]), json!(1)), 1);
assert_eq!(index_of!(json!([{}]), json!({})), -1);
assert_eq!(index_of!(json!([{"a":1}]), json!({"a":1})), -1);
assert_eq!(index_of!(json!([{"a":1},1]), json!(1)), 1);
assert_eq!(index_of!(json!([{"a":1},1,2,1,2]), json!(2)), 2);
assert_eq!(index_of!(json!([{"a":1},1,2,1,2]), json!(2), 3), 4);
assert_eq!(index_of!(json!([{"a":1},1,2,1,2]), json!(2), 6), -1);