Macro serde_json_lodash::index_of[][src]

macro_rules! index_of {
    () => { ... };
    ($a:expr $(,)*) => { ... };
    ($a:expr, $b:expr $(,)*) => { ... };
    ($a:expr, $b:expr, $c:expr $(,)*) => { ... };
    ($a:expr, $b:expr, $c:expr, $($rest:tt)*) => { ... };
}

Description can be found in lodash indexOf

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