Type Alias JSObjectHasInstanceCallback

Source
pub type JSObjectHasInstanceCallback = Option<unsafe extern "C" fn(ctx: JSContextRef, constructor: JSObjectRef, possibleInstance: JSValueRef, exception: *mut JSValueRef) -> bool>;
Expand description

The callback invoked when an object is used as the target of an instanceof expression.

  • ctx: The execution context to use.
  • constructor: The JSObjectRef that is the target of the instanceof expression.
  • possibleInstance: The JSValueRef being tested to determine if it is an instance of constructor.
  • exception: A pointer to a JSValueRef in which to return an exception, if any.

Returns true if possibleInstance is an instance of constructor, otherwise false.

If you named your function HasInstance, you would declare it like this:

bool
HasInstance(JSContextRef ctx, JSObjectRef constructor,
            JSValueRef possibleInstance, JSValueRef* exception);

If your callback were invoked by the JavaScript expression someValue instanceof myObject, constructor would be set to myObject and possibleInstance would be set to someValue.

If this callback is NULL, instanceof expressions that target your object will return false.

Standard JavaScript practice calls for objects that implement the callAsConstructor callback to implement the hasInstance callback as well.

Aliased Type§

pub enum JSObjectHasInstanceCallback {
    None,
    Some(unsafe extern "C" fn(*const OpaqueJSContext, *mut OpaqueJSValue, *const OpaqueJSValue, *mut *const OpaqueJSValue) -> bool),
}

Variants§

§1.0.0

None

No value.

§1.0.0

Some(unsafe extern "C" fn(*const OpaqueJSContext, *mut OpaqueJSValue, *const OpaqueJSValue, *mut *const OpaqueJSValue) -> bool)

Some value of type T.