Type Alias mozjs::jsapi::JSNewEnumerateOp
source · pub type JSNewEnumerateOp = Option<unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: MutableHandleIdVector, _: bool) -> bool>;
Expand description
The type of ObjectOps::enumerate. This callback overrides a portion of SpiderMonkey’s default [[Enumerate]] internal method. When an ordinary object is enumerated, that object and each object on its prototype chain is tested for an enumerate op, and those ops are called in order. The properties each op adds to the ‘properties’ vector are added to the set of values the for-in loop will iterate over. All of this is nonstandard.
An object is “enumerated” when it’s the target of a for-in loop or
JS_Enumerate(). The callback’s job is to populate ‘properties’ with the
object’s property keys. If enumerableOnly
is true, the callback should only
add enumerable properties.
Aliased Type§
enum JSNewEnumerateOp {
None,
Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: MutableHandleIdVector, _: bool) -> bool),
}
Variants§
None
No value.
Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: MutableHandleIdVector, _: bool) -> bool)
Some value of type T
.
Trait Implementations§
source§impl<T: CustomTrace> CustomTrace for Option<T>
impl<T: CustomTrace> CustomTrace for Option<T>
source§impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>
impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>
§type Config = <T as FromJSValConvertible>::Config
type Config = <T as FromJSValConvertible>::Config
Optional configurable behaviour switch; use () for no configuration.
source§unsafe fn from_jsval(
cx: *mut JSContext,
value: HandleValue<'_>,
option: T::Config
) -> Result<ConversionResult<Option<T>>, ()>
unsafe fn from_jsval( cx: *mut JSContext, value: HandleValue<'_>, option: T::Config ) -> Result<ConversionResult<Option<T>>, ()>
Convert
val
to type Self
.
Optional configuration of type T
can be passed as the option
argument.
If it returns Err(())
, a JSAPI exception is pending.
If it returns Ok(Failure(reason))
, there is no pending JSAPI exception.