Type Alias mozjs_sys::jsapi::JSNewEnumerateOp

source ·
pub type JSNewEnumerateOp = Option<unsafe extern "C" fn(cx: *mut JSContext, obj: HandleObject, properties: MutableHandleIdVector, enumerableOnly: 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§

§1.0.0

None

No value.

§1.0.0

Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: MutableHandleIdVector, _: bool) -> bool)

Some value of type T.