Type Alias mozjs::jsapi::JSMayResolveOp
source · pub type JSMayResolveOp = Option<unsafe extern "C" fn(_: *const JSAtomState, _: PropertyKey, _: *mut JSObject) -> bool>;
Expand description
A class with a resolve hook can optionally have a mayResolve hook. This hook must have no side effects and must return true for a given id if the resolve hook may resolve this id. This is useful when we’re doing a “pure” lookup: if mayResolve returns false, we know we don’t have to call the effectful resolve hook.
maybeObj, if non-null, is the object on which we’re doing the lookup. This can be nullptr: during JIT compilation we sometimes know the Class but not the object.
Aliased Type§
enum JSMayResolveOp {
None,
Some(unsafe extern "C" fn(_: *const JSAtomState, _: PropertyKey, _: *mut JSObject) -> bool),
}
Variants§
None
No value.
Some(unsafe extern "C" fn(_: *const JSAtomState, _: PropertyKey, _: *mut JSObject) -> 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.