Macro serde_json_lodash::pull_all[][src]

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

Description can be found in lodash pullAll

Examples:

#[macro_use] extern crate serde_json_lodash;
use serde_json::json;
let mut array = json!(['a', 'b', 'c', 'a', 'b', 'c']);
array = pull_all!(array, json!(['a', 'c']));
assert_eq!(
  array,
  json!(['b', 'b'])
);

More examples:

assert_eq!(pull_all!(), json!(null));
assert_eq!(pull_all!(json!(null)), json!(null));
assert_eq!(pull_all!(json!(false)), json!(false));
assert_eq!(pull_all!(json!(0)), json!(0));
assert_eq!(pull_all!(json!("")), json!(""));
assert_eq!(pull_all!(json!([])), json!([]));
assert_eq!(pull_all!(json!([[]]), json!([])), json!([[]]));
assert_eq!(pull_all!(json!([{}]), json!({})), json!([{}]));
assert_eq!(pull_all!(json!([null]), json!([null])), json!([]));
assert_eq!(pull_all!(json!([null,0]), json!([null]), json!([0])), json!([0]));
assert_eq!(pull_all!(json!({})), json!({}));