/// <summary>
        /// Determines whether an object has a property
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="source">The JavaScript value</param>
        /// <param name="propertyName">The name of the property</param>
        /// <returns>Whether the object (or a prototype) has the property</returns>
        public static bool HasProperty(this IeJsValue source, string propertyName)
        {
            IeJsPropertyId propertyId = IeJsPropertyId.FromString(propertyName);
            bool           result     = source.HasProperty(propertyId);

            return(result);
        }
        /// <summary>
        /// Deletes an object's property
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="source">The JavaScript value</param>
        /// <param name="propertyName">The name of the property</param>
        /// <param name="useStrictRules">The property set should follow strict mode rules</param>
        /// <returns>Whether the property was deleted</returns>
        public static IeJsValue DeleteProperty(this IeJsValue source, string propertyName, bool useStrictRules)
        {
            IeJsPropertyId propertyId  = IeJsPropertyId.FromString(propertyName);
            IeJsValue      resultValue = source.DeleteProperty(propertyId, useStrictRules);

            return(resultValue);
        }
        /// <summary>
        /// Gets an object's property
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="source">The JavaScript value</param>
        /// <param name="name">The name of the property</param>
        /// <returns>The value of the property</returns>
        public static IeJsValue GetProperty(this IeJsValue source, string name)
        {
            IeJsPropertyId id          = IeJsPropertyId.FromString(name);
            IeJsValue      resultValue = source.GetProperty(id);

            return(resultValue);
        }
        /// <summary>
        /// Defines a new object's own property from a property descriptor
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="source">The JavaScript value</param>
        /// <param name="propertyName">The name of the property</param>
        /// <param name="propertyDescriptor">The property descriptor</param>
        /// <returns>Whether the property was defined</returns>
        public static bool DefineProperty(this IeJsValue source, string propertyName, IeJsValue propertyDescriptor)
        {
            IeJsPropertyId propertyId = IeJsPropertyId.FromString(propertyName);
            bool           result     = source.DefineProperty(propertyId, propertyDescriptor);

            return(result);
        }
        /// <summary>
        /// Gets a property descriptor for an object's own property
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="source">The JavaScript value</param>
        /// <param name="propertyName">The name of the property</param>
        /// <returns>The property descriptor</returns>
        public static IeJsValue GetOwnPropertyDescriptor(this IeJsValue source, string propertyName)
        {
            IeJsPropertyId propertyId  = IeJsPropertyId.FromString(propertyName);
            IeJsValue      resultValue = source.GetOwnPropertyDescriptor(propertyId);

            return(resultValue);
        }
Beispiel #6
0
        /// <summary>
        /// Creates a new JavaScript URIError error object
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="message">The message that describes the error</param>
        /// <returns>The new error object</returns>
        public static IeJsValue CreateUriError(string message)
        {
            IeJsValue messageValue = IeJsValue.FromString(message);
            IeJsValue errorValue   = IeJsValue.CreateUriError(messageValue);

            return(errorValue);
        }
        /// <summary>
        /// Defines a new object's own property from a property descriptor
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="source">The JavaScript value</param>
        /// <param name="propertyName">The name of the property</param>
        /// <param name="propertyDescriptor">The property descriptor</param>
        /// <returns>Whether the property was defined</returns>
        public static bool DefineProperty(this IeJsValue source, string propertyName, IeJsValue propertyDescriptor)
        {
            IeJsPropertyId propertyId = IeJsPropertyId.FromString(propertyName);
            bool result = source.DefineProperty(propertyId, propertyDescriptor);

            return result;
        }
Beispiel #8
0
        /// <summary>
        /// Sets a exception
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="exception">The error object</param>
        public static void SetException(IeJsValue exception)
        {
            JsErrorCode innerError = IeNativeMethods.JsSetException(exception);

            if (innerError != JsErrorCode.NoError)
            {
                throw new JsFatalException(innerError);
            }
        }
        /// <summary>
        /// Sets an object's property
        /// </summary>
        /// <remarks>
        /// Requires an active script context.
        /// </remarks>
        /// <param name="source">The JavaScript value</param>
        /// <param name="name">The name of the property</param>
        /// <param name="value">The new value of the property</param>
        /// <param name="useStrictRules">The property set should follow strict mode rules</param>
        public static void SetProperty(this IeJsValue source, string name, IeJsValue value, bool useStrictRules)
        {
            IeJsPropertyId id = IeJsPropertyId.FromString(name);

            source.SetProperty(id, value, useStrictRules);
        }
 /// <summary>
 /// Sets a exception
 /// </summary>
 /// <remarks>
 /// Requires an active script context.
 /// </remarks>
 /// <param name="exception">The error object</param>
 public static void SetException(IeJsValue exception)
 {
     JsErrorCode innerError = IeNativeMethods.JsSetException(exception);
     if (innerError != JsErrorCode.NoError)
     {
         throw new JsFatalException(innerError);
     }
 }
 /// <summary>
 /// Sets an object's property
 /// </summary>
 /// <remarks>
 /// Requires an active script context.
 /// </remarks>
 /// <param name="source">The JavaScript value</param>
 /// <param name="name">The name of the property</param>
 /// <param name="value">The new value of the property</param>
 /// <param name="useStrictRules">The property set should follow strict mode rules</param>
 public static void SetProperty(this IeJsValue source, string name, IeJsValue value, bool useStrictRules)
 {
     IeJsPropertyId id = IeJsPropertyId.FromString(name);
     source.SetProperty(id, value, useStrictRules);
 }