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),
}