// Do not edit. This file is generated.
// MoonBit type: IntersectionObserverEntryInit
// Specifications: intersection-observer.idl
///|
/// [IntersectionObserverEntryInit](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntryInit)
#external
pub type IntersectionObserverEntryInit
///|
pub impl TJsValue for IntersectionObserverEntryInit with to_js(
self : IntersectionObserverEntryInit,
) -> JsValue = "%identity"
///|
pub impl FromJsAny for IntersectionObserverEntryInit with from_js_any(
value : JsAny,
) -> IntersectionObserverEntryInit = "%identity"
///|
pub fn IntersectionObserverEntryInit::new(
time : DOMHighResTimeStamp,
root_bounds : DOMRectInit,
bounding_client_rect : DOMRectInit,
intersection_rect : DOMRectInit,
is_intersecting : Bool,
is_visible : Bool,
intersection_ratio : Double,
target : &TElement,
) -> IntersectionObserverEntryInit {
intersection_observer_entry_init_ffi(
TJsValue::to_js(time),
TJsValue::to_js(root_bounds),
TJsValue::to_js(bounding_client_rect),
TJsValue::to_js(intersection_rect),
TJsValue::to_js(is_intersecting),
TJsValue::to_js(is_visible),
TJsValue::to_js(intersection_ratio),
TJsValue::to_js(target),
)
}
///|
pub fn IntersectionObserverEntryInit::empty() -> IntersectionObserverEntryInit {
intersection_observer_entry_init_empty_ffi()
}
///|
pub fn IntersectionObserverEntryInit::time(
self : IntersectionObserverEntryInit,
) -> DOMHighResTimeStamp {
intersection_observer_entry_init_get_time_ffi(TJsValue::to_js(self))
}
///|
pub fn IntersectionObserverEntryInit::root_bounds(
self : IntersectionObserverEntryInit,
) -> DOMRectInit {
intersection_observer_entry_init_get_root_bounds_ffi(TJsValue::to_js(self))
}
///|
pub fn IntersectionObserverEntryInit::bounding_client_rect(
self : IntersectionObserverEntryInit,
) -> DOMRectInit {
intersection_observer_entry_init_get_bounding_client_rect_ffi(
TJsValue::to_js(self),
)
}
///|
pub fn IntersectionObserverEntryInit::intersection_rect(
self : IntersectionObserverEntryInit,
) -> DOMRectInit {
intersection_observer_entry_init_get_intersection_rect_ffi(
TJsValue::to_js(self),
)
}
///|
pub fn IntersectionObserverEntryInit::is_intersecting(
self : IntersectionObserverEntryInit,
) -> Bool {
intersection_observer_entry_init_get_is_intersecting_ffi(
TJsValue::to_js(self),
)
}
///|
pub fn IntersectionObserverEntryInit::is_visible(
self : IntersectionObserverEntryInit,
) -> Bool {
intersection_observer_entry_init_get_is_visible_ffi(TJsValue::to_js(self))
}
///|
pub fn IntersectionObserverEntryInit::intersection_ratio(
self : IntersectionObserverEntryInit,
) -> Double {
intersection_observer_entry_init_get_intersection_ratio_ffi(
TJsValue::to_js(self),
)
}
///|
pub fn IntersectionObserverEntryInit::target(
self : IntersectionObserverEntryInit,
) -> Element {
intersection_observer_entry_init_get_target_ffi(TJsValue::to_js(self))
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_ffi(
time : JsValue,
root_bounds : JsValue,
bounding_client_rect : JsValue,
intersection_rect : JsValue,
is_intersecting : JsValue,
is_visible : JsValue,
intersection_ratio : JsValue,
target : JsValue,
) -> IntersectionObserverEntryInit =
#|(time, rootBounds, boundingClientRect, intersectionRect, isIntersecting, isVisible, intersectionRatio, target) => {
#| const obj = {};
#| if (time !== undefined) obj.time = time;
#| if (rootBounds !== undefined) obj.rootBounds = rootBounds;
#| if (boundingClientRect !== undefined) obj.boundingClientRect = boundingClientRect;
#| if (intersectionRect !== undefined) obj.intersectionRect = intersectionRect;
#| if (isIntersecting !== undefined) obj.isIntersecting = isIntersecting;
#| if (isVisible !== undefined) obj.isVisible = isVisible;
#| if (intersectionRatio !== undefined) obj.intersectionRatio = intersectionRatio;
#| if (target !== undefined) obj.target = target;
#| return obj;
#|}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_empty_ffi() -> IntersectionObserverEntryInit = "() => {}"
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_time_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.time"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_time_ffi(
obj : JsValue,
) -> DOMHighResTimeStamp {
intersection_observer_entry_init_get_time_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_root_bounds_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.rootBounds"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_root_bounds_ffi(
obj : JsValue,
) -> DOMRectInit {
intersection_observer_entry_init_get_root_bounds_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_bounding_client_rect_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.boundingClientRect"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_bounding_client_rect_ffi(
obj : JsValue,
) -> DOMRectInit {
intersection_observer_entry_init_get_bounding_client_rect_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_intersection_rect_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.intersectionRect"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_intersection_rect_ffi(
obj : JsValue,
) -> DOMRectInit {
intersection_observer_entry_init_get_intersection_rect_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_is_intersecting_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.isIntersecting"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_is_intersecting_ffi(
obj : JsValue,
) -> Bool {
intersection_observer_entry_init_get_is_intersecting_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_is_visible_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.isVisible"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_is_visible_ffi(obj : JsValue) -> Bool {
intersection_observer_entry_init_get_is_visible_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_intersection_ratio_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.intersectionRatio"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_intersection_ratio_ffi(
obj : JsValue,
) -> Double {
intersection_observer_entry_init_get_intersection_ratio_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn intersection_observer_entry_init_get_target_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.target"
///|
#cfg(target="js")
fn intersection_observer_entry_init_get_target_ffi(obj : JsValue) -> Element {
intersection_observer_entry_init_get_target_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_ffi(
time : JsValue,
root_bounds : JsValue,
bounding_client_rect : JsValue,
intersection_rect : JsValue,
is_intersecting : JsValue,
is_visible : JsValue,
intersection_ratio : JsValue,
target : JsValue,
) -> IntersectionObserverEntryInit = "webapi_IntersectionObserverEntryInit" "new"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_empty_ffi() -> IntersectionObserverEntryInit = "webapi_Dictionary" "empty"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_time_ffi(
obj : JsValue,
) -> DOMHighResTimeStamp = "webapi_IntersectionObserverEntryInit" "get_time"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_root_bounds_ffi(
obj : JsValue,
) -> DOMRectInit = "webapi_IntersectionObserverEntryInit" "get_rootBounds"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_bounding_client_rect_ffi(
obj : JsValue,
) -> DOMRectInit = "webapi_IntersectionObserverEntryInit" "get_boundingClientRect"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_intersection_rect_ffi(
obj : JsValue,
) -> DOMRectInit = "webapi_IntersectionObserverEntryInit" "get_intersectionRect"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_is_intersecting_ffi(
obj : JsValue,
) -> Bool = "webapi_IntersectionObserverEntryInit" "get_isIntersecting"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_is_visible_ffi(obj : JsValue) -> Bool = "webapi_IntersectionObserverEntryInit" "get_isVisible"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_intersection_ratio_ffi(
obj : JsValue,
) -> Double = "webapi_IntersectionObserverEntryInit" "get_intersectionRatio"
///|
#cfg(target="wasm-gc")
fn intersection_observer_entry_init_get_target_ffi(obj : JsValue) -> Element = "webapi_IntersectionObserverEntryInit" "get_target"