Object
/// <summary> /// Executes a mapping from the script type to a host type /// </summary> /// <param name="value">The source value</param> /// <returns>The mapped value</returns> private static object MapToHostType(JavaScriptValue value) { JavaScriptValueType valueType = value.ValueType; JavaScriptValue processedValue; object result; switch (valueType) { case JavaScriptValueType.Null: result = null; break; case JavaScriptValueType.Undefined: result = Undefined.Value; break; case JavaScriptValueType.Boolean: processedValue = value.ConvertToBoolean(); result = processedValue.ToBoolean(); break; case JavaScriptValueType.Number: processedValue = value.ConvertToNumber(); result = processedValue.ToDouble(); break; case JavaScriptValueType.String: processedValue = value.ConvertToString(); result = processedValue.ToString(); break; case JavaScriptValueType.Object: case JavaScriptValueType.Function: case JavaScriptValueType.Error: case JavaScriptValueType.Array: processedValue = value.ConvertToObject(); result = processedValue.ToObject(); break; default: throw new ArgumentOutOfRangeException(); } return(result); }