private void BasicUpdateObject(CefV8Value ires) { if (ires != null) { ires.SetValue("_MappedId", CefV8Value.CreateUInt(_Count++), CefV8PropertyAttribute.ReadOnly | CefV8PropertyAttribute.DontEnum | CefV8PropertyAttribute.DontDelete); } }
public void Test_GetSimpleValue_Uint_explicit() { Test(() => { object res = null; bool ok = _CefV8_Converter.GetSimpleValue(CefV8Value.CreateUInt(uint.MaxValue).Convert(), out res, typeof(UInt32)); ok.Should().BeTrue(); res.Should().Be(uint.MaxValue); }); }
public static CefV8Value ConvertToV8Value(object o) { if (o == null) { return(CefV8Value.CreateUndefined()); } if (o is bool) { return(CefV8Value.CreateBool((bool)o)); } if (o is DateTime) { return(CefV8Value.CreateDate((DateTime)o)); } if (o is double) { return(CefV8Value.CreateDouble((double)o)); } if (o is int) { return(CefV8Value.CreateInt((int)o)); } if (o is string) { return(CefV8Value.CreateString((string)o)); } if (o is uint) { return(CefV8Value.CreateUInt((uint)o)); } if (o is Array) { var a = (Array)o; var rtn = CefV8Value.CreateArray(a.Length); for (int i = 0; i < a.Length; i++) { rtn.SetValue(i, ConvertToV8Value(a.GetValue(i))); } return(rtn); } if (o is System.Collections.IList) { var a = (System.Collections.IList)o; var rtn = CefV8Value.CreateArray(a.Count); for (int i = 0; i < a.Count; i++) { rtn.SetValue(i, ConvertToV8Value(a[i])); } return(rtn); } throw new NotSupportedException("??"); }
public static CefV8Value ConvertToV8Value(dynamic result) { if (result != null) { if (result is bool) { return(CefV8Value.CreateBool(result)); } else if (result is DateTime) { return(CefV8Value.CreateDate(result)); } else if (result is double) { return(CefV8Value.CreateDouble(result)); } else if (result is int) { return(CefV8Value.CreateInt(result)); } else if (result is string) { return(CefV8Value.CreateString(result)); } else if (result is uint) { return(CefV8Value.CreateUInt(result)); } else if (result is Array) { var source = (Array)result; var destination = CefV8Value.CreateArray(source.Length); for (int x = 0; x < source.Length; x++) { destination.SetValue(x, ConvertToV8Value(source.GetValue(x))); } return(destination); } else if (result is System.Collections.IList) { var source = (System.Collections.IList)result; var destination = CefV8Value.CreateArray(source.Count); for (int x = 0; x < source.Count; x++) { destination.SetValue(x, ConvertToV8Value(source[x])); } return(destination); } //else throw new NotSupportedException("V8 Value"); } return(CefV8Value.CreateNull()); }
private void BasicUpdateObject(CefV8Value res, ObjectObservability?objectObservability = null) { if (res == null) { return; } SetAttribute(res, NeutroniumConstants.ObjectId, CefV8Value.CreateUInt(_Count++)); if (!objectObservability.HasValue) { return; } SetAttribute(res, NeutroniumConstants.ReadOnlyFlag, CefV8Value.CreateInt((int)objectObservability.Value)); }
private void BasicUpdateObject(CefV8Value res, bool?readOnly = null) { if (res == null) { return; } SetAttribute(res, NeutroniumConstants.ObjectId, CefV8Value.CreateUInt(_Count++)); if (!readOnly.HasValue) { return; } SetAttribute(res, NeutroniumConstants.ReadOnlyFlag, CefV8Value.CreateBool(readOnly.Value)); }
public static CefV8Value CreateValue(object value) { if (value == null) { return(CefV8Value.CreateNull()); } if (value is bool) { return(CefV8Value.CreateBool((bool)value)); } if (value is double) { return(CefV8Value.CreateDouble((double)value)); } if (value is float) { return(CefV8Value.CreateDouble((double)(float)value)); } if (value is int) { return(CefV8Value.CreateInt((int)value)); } var s = value as string; if (s != null) { return(CefV8Value.CreateString(s)); } if (value is uint) { return(CefV8Value.CreateUInt((uint)value)); } var list = value as IList; if (list == null) { return(CefV8Value.CreateUndefined()); } var val = list; var arr = CefV8Value.CreateArray(val.Count); for (var i = 0; i < val.Count; i++) { arr.SetValue(i, CreateValue(val[i])); } return(arr); }
public static CefV8Value CreateValue(object value) { if (value == null) { return(CefV8Value.CreateNull()); } if (value is bool) { return(CefV8Value.CreateBool((bool)value)); } if (value is double) { return(CefV8Value.CreateDouble((double)value)); } if (value is float) { return(CefV8Value.CreateDouble((double)(float)value)); } if (value is int) { return(CefV8Value.CreateInt((int)value)); } if (value is string) { return(CefV8Value.CreateString((string)value)); } if (value is uint) { return(CefV8Value.CreateUInt((uint)value)); } if (value is IList) { IList val = (IList)value; var arr = CefV8Value.CreateArray(val.Count); for (int i = 0; i < val.Count; i++) { arr.SetValue(i, CreateValue(val[i])); } return(arr); } return(CefV8Value.CreateUndefined()); }
private CefV8Value InvokeMethod(MethodInfo method, List <object> args, Type type) { if (method != null) { if (type == typeof(bool)) { return(CefV8Value.CreateBool((bool)method.Invoke(this, args.ToArray()))); } else if (type == typeof(DateTime)) { return(CefV8Value.CreateDate((DateTime)method.Invoke(this, args.ToArray()))); } else if (type == typeof(double)) { return(CefV8Value.CreateDouble((double)method.Invoke(this, args.ToArray()))); } else if (type == typeof(int)) { return(CefV8Value.CreateInt((int)method.Invoke(this, args.ToArray()))); } else if (type == typeof(string)) { return(CefV8Value.CreateString((string)method.Invoke(this, args.ToArray()))); } else if (type == typeof(uint)) { return(CefV8Value.CreateUInt((uint)method.Invoke(this, args.ToArray()))); } else if (type == typeof(string[]) || type == typeof(int[]) || type == typeof(double[]) || type == typeof(DateTime[]) || type == typeof(bool[]) || type == typeof(uint[]) || type == typeof(Enum[])) { return(Extension.ConvertToV8Value(method.Invoke(this, args.ToArray()))); } } return(null); }
private CefV8Value InvokeContructor(ConstructorInfo constructor, List <object> args, Type type) { if (constructor != null) { if (type == typeof(bool)) { return(CefV8Value.CreateBool((bool)constructor.Invoke(args.ToArray()))); } else if (type == typeof(DateTime)) { return(CefV8Value.CreateDate((DateTime)constructor.Invoke(args.ToArray()))); } else if (type == typeof(double)) { return(CefV8Value.CreateDouble((double)constructor.Invoke(args.ToArray()))); } else if (type == typeof(int)) { return(CefV8Value.CreateInt((int)constructor.Invoke(args.ToArray()))); } else if (type == typeof(string)) { return(CefV8Value.CreateString((string)constructor.Invoke(args.ToArray()))); } else if (type == typeof(uint)) { return(CefV8Value.CreateUInt((uint)constructor.Invoke(args.ToArray()))); } else if (type == typeof(string[]) || type == typeof(int[]) || type == typeof(double[]) || type == typeof(DateTime[]) || type == typeof(bool[]) || type == typeof(uint[]) || type == typeof(Enum[])) { return(Extension.ConvertToV8Value(constructor.Invoke(args.ToArray()))); } } return(null); }
static CefV8_Factory() { Register <string>(CefV8Value.CreateString); Register <Int64>((source) => CefV8Value.CreateDouble((double)source)); Register <UInt64>((source) => CefV8Value.CreateDouble((double)source)); Register <float>((source) => CefV8Value.CreateDouble((double)source)); Register <Int32>(CefV8Value.CreateInt); Register <Int16>((source) => CefV8Value.CreateInt((int)source)); Register <UInt32>(CefV8Value.CreateUInt); Register <UInt16>((source) => CefV8Value.CreateUInt((UInt32)source)); //check two way and convertion back Register <char>((source) => CefV8Value.CreateString(new StringBuilder().Append(source).ToString())); Register <double>(CefV8Value.CreateDouble); Register <decimal>((source) => CefV8Value.CreateDouble((double)source)); Register <bool>(CefV8Value.CreateBool); Register <DateTime>(CefV8Value.CreateDate); }
public IJavascriptObject CreateUint(uint value) { return(new CefV8_JavascriptObject(CefV8Value.CreateUInt(value))); }
public CefV8Value AsV8Value() { CefV8Value result = null; if (this.Value is IList) { var v = (IList)this.Value; result = CefV8Value.CreateArray(v.Count); for (var i = 0; i < v.Count; i++) { result.SetValue(i, new JSValue(v[i]).AsV8Value()); } } else if (this.Value is Boolean) { result = CefV8Value.CreateBool((Boolean)this.Value); } else if (this.Value is DateTime) { result = CefV8Value.CreateDate((DateTime)this.Value); } else if (this.Value is Single || this.Value is Double || this.Value is Decimal || this.Value is UInt64 || this.Value is Int64) { result = CefV8Value.CreateDouble((Double)this.Value); } else if (this.Value is CefV8Handler) { result = CefV8Value.CreateFunction(null, (CefV8Handler)this.Value); } else if (this.Value is SByte || this.Value is Int16 || this.Value is Int32) { result = CefV8Value.CreateInt((Int32)this.Value); } else if (this.Value == null) { result = CefV8Value.CreateNull(); } else if (this.Value is IDictionary) { var v = (IDictionary)this.Value; Debug.Assert(v.Keys.Count == v.Values.Count); var vKeys = new String[v.Keys.Count]; var vValues = new CefV8Value[v.Values.Count]; result = CefV8Value.CreateObject(null); for (var i = 0; i < vKeys.Length; i++) { result.SetValue(vKeys[i], new JSValue(vValues[i]).AsV8Value(), CefV8PropertyAttribute.None); } } else if (this.Value is String) { result = CefV8Value.CreateString((String)this.Value); } else if (this.Value is Byte || this.Value is UInt16 || this.Value is UInt32) { result = CefV8Value.CreateUInt((UInt32)this.Value); } if (result == null) { result = CefV8Value.CreateUndefined(); } return(result); }