use std::collections::HashMap;
use method_chaining::*;
#[chainable]
#[chain_push(items)]
#[derive(Default)]
struct MyList {
items: Vec<String>,
name: String,
}
#[chainable]
#[chain_insert(map)]
#[derive(Default)]
struct MyMap {
map: HashMap<String, i32>,
name: String,
}
#[test]
fn test1() {
let list = MyList::default()
.with_name("My List".to_string())
.push_items("a".to_string())
.push_items("b".to_string());
let map = MyMap::default()
.with_name("My Map".to_string())
.insert_map("key1".to_string(), 42)
.insert_map("key2".to_string(), 24);
}