Use multiple renames to simplify plugins.

This commit is contained in:
Stephen Chung
2020-09-08 18:01:34 +08:00
parent 38ccb9e8f6
commit d41fde9c31
7 changed files with 25 additions and 84 deletions

View File

@@ -18,33 +18,25 @@ mod map_functions {
pub fn has(map: &mut Map, prop: ImmutableString) -> bool {
map.contains_key(&prop)
}
#[rhai_fn(name = "len", get = "len")]
#[inline(always)]
pub fn len(map: &mut Map) -> INT {
map.len() as INT
}
#[rhai_fn(get = "len")]
#[inline(always)]
pub fn len_prop(map: &mut Map) -> INT {
len(map)
}
#[inline(always)]
pub fn clear(map: &mut Map) {
map.clear();
}
#[inline]
#[inline(always)]
pub fn remove(x: &mut Map, name: ImmutableString) -> Dynamic {
x.remove(&name).unwrap_or_else(|| ().into())
}
#[rhai_fn(name = "mixin", name = "+=")]
pub fn mixin(map1: &mut Map, map2: Map) {
map2.into_iter().for_each(|(key, value)| {
map1.insert(key, value);
});
}
#[rhai_fn(name = "+=")]
#[inline(always)]
pub fn mixin_operator(map1: &mut Map, map2: Map) {
mixin(map1, map2)
}
#[rhai_fn(name = "+")]
pub fn merge(mut map1: Map, map2: Map) -> Map {
map2.into_iter().for_each(|(key, value)| {