lua51 0.1.6

Lua 5.1.5 bindings for Rust.
use crate::ffi::lua::*;

#[repr(i32)]
pub enum Type {
	None = LUA_TNONE,
	Nil = LUA_TNIL,
	Boolean = LUA_TBOOLEAN,
	LightUserdata = LUA_TLIGHTUSERDATA,
	Number = LUA_TNUMBER,
	String = LUA_TSTRING,
	Table = LUA_TTABLE,
	Function = LUA_TFUNCTION,
	Userdata = LUA_TUSERDATA,
	Thread = LUA_TTHREAD,
}

impl From<i32> for Type {
	fn from(value: i32) -> Self {
		match value {
			LUA_TNIL => Type::Nil,
			LUA_TBOOLEAN => Type::Boolean,
			LUA_TLIGHTUSERDATA => Type::LightUserdata,
			LUA_TNUMBER => Type::Number,
			LUA_TSTRING => Type::String,
			LUA_TTABLE => Type::Table,
			LUA_TFUNCTION => Type::Function,
			LUA_TUSERDATA => Type::Userdata,
			LUA_TTHREAD => Type::Thread,
			_ => Type::None,
		}
	}
}