pub trait TableExt<'lua> {
    fn call<A, R>(&self, args: A) -> Result<R>
    where
        A: ToLuaMulti<'lua>,
        R: FromLuaMulti<'lua>
;
fn call_async<'fut, A, R>(&self, args: A) -> LocalBoxFuture<'fut, Result<R>>
    where
        'lua: 'fut,
        A: ToLuaMulti<'lua>,
        R: FromLuaMulti<'lua> + 'fut
;
fn call_method<K, A, R>(&self, key: K, args: A) -> Result<R>
    where
        K: ToLua<'lua>,
        A: ToLuaMulti<'lua>,
        R: FromLuaMulti<'lua>
;
fn call_function<K, A, R>(&self, key: K, args: A) -> Result<R>
    where
        K: ToLua<'lua>,
        A: ToLuaMulti<'lua>,
        R: FromLuaMulti<'lua>
;
fn call_async_method<'fut, K, A, R>(
        &self,
        key: K,
        args: A
    ) -> LocalBoxFuture<'fut, Result<R>>
    where
        'lua: 'fut,
        K: ToLua<'lua>,
        A: ToLuaMulti<'lua>,
        R: FromLuaMulti<'lua> + 'fut
;
fn call_async_function<'fut, K, A, R>(
        &self,
        key: K,
        args: A
    ) -> LocalBoxFuture<'fut, Result<R>>
    where
        'lua: 'fut,
        K: ToLua<'lua>,
        A: ToLuaMulti<'lua>,
        R: FromLuaMulti<'lua> + 'fut
; }
Expand description

An extension trait for Tables that provides a variety of convenient functionality.

Required methods

Calls the table as function assuming it has __call metamethod.

The metamethod is called with the table as its first argument, followed by the passed arguments.

This is supported on crate feature async only.

Asynchronously calls the table as function assuming it has __call metamethod.

The metamethod is called with the table as its first argument, followed by the passed arguments.

Gets the function associated to key from the table and executes it, passing the table itself along with args as function arguments.

This is a shortcut for table.get::<_, Function>(key)?.call((table.clone(), arg1, ..., argN))

This might invoke the __index metamethod.

Gets the function associated to key from the table and executes it, passing args as function arguments.

This is a shortcut for table.get::<_, Function>(key)?.call(args)

This might invoke the __index metamethod.

This is supported on crate feature async only.

Gets the function associated to key from the table and asynchronously executes it, passing the table itself along with args as function arguments and returning Future.

Requires feature = "async"

This might invoke the __index metamethod.

This is supported on crate feature async only.

Gets the function associated to key from the table and asynchronously executes it, passing args as function arguments and returning Future.

Requires feature = "async"

This might invoke the __index metamethod.

Implementors