Upsilon/Upsilon/BaseTypes/TypeConversion.cs

30 lines
847 B
C#

using Upsilon.BaseTypes.Number;
namespace Upsilon.BaseTypes
{
internal static class TypeConversion
{
public static LuaType ToLuaType(this object o)
{
switch (o)
{
case bool b:
return new LuaBoolean(b);
case int i:
return new NumberLong(i);
case long i:
return new NumberLong(i);
case float f:
return new NumberDouble(f);
case double f:
return new NumberDouble(f);
case string s:
return new LuaString(s);
case null:
return new LuaNull();
default:
return new UserData.UserData(o);
}
}
}
}