From a807d4e6fb96c4d8b8585b7dbb862e53486562ec Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Thu, 1 Aug 2024 20:13:55 +0200 Subject: add evalsto --- src/lua/ownedfunction.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/lua/ownedfunction.rs (limited to 'src/lua/ownedfunction.rs') diff --git a/src/lua/ownedfunction.rs b/src/lua/ownedfunction.rs new file mode 100644 index 0000000..a8d81cf --- /dev/null +++ b/src/lua/ownedfunction.rs @@ -0,0 +1,17 @@ +use mlua::{Function, Lua, RegistryKey, Value}; + +#[derive(Debug)] +pub struct OwnedFunction { + key: RegistryKey, +} + +impl OwnedFunction { + pub fn new<'lua>(value: Value<'lua>, lua: &'lua Lua) -> Self { + let key = lua.create_registry_value(value).unwrap(); + Self { key } + } + + pub fn get<'lua>(&self, lua: &'lua Lua) -> Function<'lua> { + lua.registry_value(&self.key).unwrap() + } +} -- cgit v1.2.3-70-g09d2