Macro serde_json_lodash::fill[][src]

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

Description can be found in lodash fill

Examples:

#[macro_use] extern crate serde_json_lodash;
use serde_json::json;
//let mut array = json!([1, 2, 3]); // not implemented yet (mutable method...)
//let array = fill!(array, json!("a"));
//assert_eq!(
//  array,
//  json!(["a", "a", "a"])
//);
assert_eq!(
  fill!(json!([null,null,null]), json!(2)),
  json!([2, 2, 2])
);
assert_eq!(
  fill!(json!([4, 6, 8, 10]), json!("*"), 1, 3),
  json!([4, "*", "*", 10])
);

More examples:

assert_eq!(fill!(), json!([]));
assert_eq!(fill!(json!(null)), json!([]));
assert_eq!(fill!(json!(true)), json!([]));
assert_eq!(fill!(json!(0)), json!([]));
assert_eq!(fill!(json!("")), json!([]));
assert_eq!(fill!(json!([1])), json!([null]));
assert_eq!(fill!(json!([1]), json!(""), 2), json!([1]));
assert_eq!(fill!(json!([1]), json!(""), 0, 2), json!([""]));
assert_eq!(fill!(json!({})), json!([]));