Jint.Native.JsObject.ToPrimitive C# (CSharp) Method

ToPrimitive() public method

public ToPrimitive ( IGlobal global ) : JsInstance
global IGlobal
return JsInstance
        public override JsInstance ToPrimitive(IGlobal global)
        {
            switch (Convert.GetTypeCode(Value)) {
                case TypeCode.Boolean:
                    return global.BooleanClass.New((bool)Value);
                case TypeCode.Char:
                case TypeCode.String:
                case TypeCode.Object:
                    return global.StringClass.New(Value.ToString());
                case TypeCode.DateTime:
                    return global.DateClass.New((DateTime)Value);
                case TypeCode.Byte:
                case TypeCode.Int16:
                case TypeCode.Int32:
                case TypeCode.Int64:
                case TypeCode.SByte:
                case TypeCode.UInt16:
                case TypeCode.UInt32:
                case TypeCode.UInt64:
                case TypeCode.Decimal:
                case TypeCode.Double:
                case TypeCode.Single:
                    return global.NumberClass.New(Convert.ToDouble(Value));
                case TypeCode.DBNull:
                case TypeCode.Empty:
                default:
                    break;
            }

            return JsUndefined.Instance;
        }