Type Alias mozjs::jsapi::JSDeletePropertyOp

source ·
pub type JSDeletePropertyOp = Option<unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<PropertyKey>, _: *mut ObjectOpResult) -> bool>;
Expand description

Delete a property named by id in obj.

If an error occurred, return false as per normal JSAPI error practice.

If no error occurred, but the deletion attempt wasn’t allowed (perhaps because the property was non-configurable), call result.fail() and return true. This will cause |delete obj[id]| to evaluate to false in non-strict mode code, and to throw a TypeError in strict mode code.

If no error occurred and the deletion wasn’t disallowed (this is not the same as saying that a deletion actually occurred – deleting a non-existent property, or an inherited property, is allowed – it’s just pointless), call result.succeed() and return true.

Aliased Type§

enum JSDeletePropertyOp {
    None,
    Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<PropertyKey>, _: *mut ObjectOpResult) -> bool),
}

Variants§

§1.0.0

None

No value.

§1.0.0

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

Some value of type T.

Trait Implementations§

source§

impl<T: CustomTrace> CustomTrace for Option<T>

source§

impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>

§

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

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.
source§

impl<T: ToJSValConvertible> ToJSValConvertible for Option<T>

source§

unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)

Convert self to a JSVal. JSAPI failure causes a panic.
source§

impl<T: Traceable> Traceable for Option<T>

source§

unsafe fn trace(&self, trc: *mut JSTracer)

Trace self.