Type Alias mozjs::jsapi::JSPreWrapCallback
source · pub type JSPreWrapCallback = Option<unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: MutableHandle<*mut JSObject>)>;
Expand description
Callback used by the wrap hook to ask the embedding to prepare an object for wrapping in a context. This might include unwrapping other wrappers or even finding a more suitable object for the new compartment. If |origObj| is non-null, then it is the original object we are going to swap into during a transplant.
Aliased Type§
enum JSPreWrapCallback {
None,
Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: MutableHandle<*mut JSObject>)),
}
Variants§
None
No value.
Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>, _: MutableHandle<*mut JSObject>))
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.