From ef43b1ccbc8331c4e53312f3a5544b09699a4ea5 Mon Sep 17 00:00:00 2001 From: Netkas Date: Wed, 7 Dec 2022 23:05:27 -0500 Subject: [PATCH] Added LuaRunner https://git.n64.cc/nosial/ncc/-/issues/32 --- src/ncc/Classes/LuaExtension/LuaRunner.php | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/ncc/Classes/LuaExtension/LuaRunner.php diff --git a/src/ncc/Classes/LuaExtension/LuaRunner.php b/src/ncc/Classes/LuaExtension/LuaRunner.php new file mode 100644 index 0000000..fba88c4 --- /dev/null +++ b/src/ncc/Classes/LuaExtension/LuaRunner.php @@ -0,0 +1,50 @@ +Execute->Target = null; + $execution_unit->ExecutionPolicy = $policy; + $execution_unit->Data = Base64::encode(IO::fread($path)); + + return $execution_unit; + } + + /** + * @inheritDoc + */ + public static function getFileExtension(): string + { + return '.lua'; + } + + /** + * @inheritDoc + */ + public static function prepareProcess(ExecutionPointer $pointer): Process + { + $lua_bin = PathFinder::findRunner(Runners::lua); + + if($pointer->ExecutionPolicy->Execute->Options !== null && count($pointer->ExecutionPolicy->Execute->Options) > 0) + return new Process(array_merge([$lua_bin, $pointer->FilePointer], $pointer->ExecutionPolicy->Execute->Options)); + return new Process([$lua_bin, $pointer->FilePointer]); + } + } \ No newline at end of file