// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/event-timing
///|
/// PerformanceObserverInit dictionary
pub(all) struct PerformanceObserverInit {
durationThreshold : DOMHighResTimeStamp?
entryTypes : Array[String]?
type_ : String?
buffered : Bool?
}
///|
/// Create a new PerformanceObserverInit with default values
pub fn PerformanceObserverInit::default() -> PerformanceObserverInit {
PerformanceObserverInit::{
durationThreshold: None,
entryTypes: None,
type_: None,
buffered: None,
}
}
///|
extern "js" fn PerformanceObserverInit::to_js_ffi(
self : PerformanceObserverInit,
) -> JsValue =
#| (self) => ({
#| durationThreshold: ((() => { const v = self.durationThreshold; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| entryTypes: ((() => { const v = self.entryTypes; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| type: self.type_,
#| buffered: (self.buffered === -1 ? undefined : self.buffered)
#| })
///|
/// Convert to JsValue
pub fn PerformanceObserverInit::to_js(
self : PerformanceObserverInit,
) -> JsValue {
PerformanceObserverInit::to_js_ffi(self)
}
///|
extern "js" fn PerformanceObserverInit::from_js_ffi(
value : JsValue,
) -> PerformanceObserverInit =
#| (v) => ({
#| durationThreshold: (v.durationThreshold === undefined ? { $tag: 0 } : { $tag: 1, _0: v.durationThreshold }),
#| entryTypes: (v.entryTypes === undefined ? { $tag: 0 } : { $tag: 1, _0: v.entryTypes }),
#| type_: v.type,
#| buffered: (v.buffered === undefined ? -1 : v.buffered)
#| })
///|
/// Convert from JsValue
pub fn PerformanceObserverInit::from_js(
value : JsValue,
) -> PerformanceObserverInit {
PerformanceObserverInit::from_js_ffi(value)
}
///|
/// PerformanceEventTiming interface
pub type PerformanceEventTiming
///|
pub extern "js" fn PerformanceEventTiming::to_js_value(
self : PerformanceEventTiming,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to PerformanceEventTiming (unchecked)
pub extern "js" fn PerformanceEventTiming::from_js_value(
v : JsValue,
) -> PerformanceEventTiming =
#| (v) => v
///|
/// Safely cast JsValue to PerformanceEventTiming (checked with instanceof)
pub extern "js" fn PerformanceEventTiming::from_js_value_opt(
v : JsValue,
) -> PerformanceEventTiming? =
#| (v) => (v instanceof PerformanceEventTiming) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to PerformanceEventTiming (checked with instanceof)
pub extern "js" fn JsValue::as_performance_event_timing(
self : JsValue,
) -> PerformanceEventTiming? =
#| (self) => (self instanceof PerformanceEventTiming) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to PerformanceEventTiming (unchecked)
pub extern "js" fn JsValue::to_performance_event_timing(
self : JsValue,
) -> PerformanceEventTiming =
#| (self) => self
///|
pub extern "js" fn PerformanceEventTiming::to_performance_entry(
self : PerformanceEventTiming,
) -> PerformanceEntry =
#| (self) => self
///|
pub extern "js" fn PerformanceEventTiming::get_processing_start(
self : PerformanceEventTiming,
) -> DOMHighResTimeStamp =
#| (self) => self.processingStart
///|
pub extern "js" fn PerformanceEventTiming::get_processing_end(
self : PerformanceEventTiming,
) -> DOMHighResTimeStamp =
#| (self) => self.processingEnd
///|
pub extern "js" fn PerformanceEventTiming::get_cancelable(
self : PerformanceEventTiming,
) -> Bool =
#| (self) => self.cancelable
///|
pub extern "js" fn PerformanceEventTiming::get_target(
self : PerformanceEventTiming,
) -> Node? =
#| (self) => (() => { const v = self.target; return v == null ? { $tag: 0 } : { $tag: 1, _0: v }; })()
///|
pub extern "js" fn PerformanceEventTiming::get_target_selector(
self : PerformanceEventTiming,
) -> String =
#| (self) => self.targetSelector
///|
pub extern "js" fn PerformanceEventTiming::get_interaction_id(
self : PerformanceEventTiming,
) -> Int64 =
#| (self) => (() => { const n = self.interactionId; return { hi: Math.floor(n / 4294967296), lo: n >>> 0 }; })()
///|
pub extern "js" fn PerformanceEventTiming::to_json(
self : PerformanceEventTiming,
) -> JsValue =
#| (self) => self.toJSON()
///|
/// EventCounts interface
pub type EventCounts
///|
pub extern "js" fn EventCounts::to_js_value(self : EventCounts) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to EventCounts (unchecked)
pub extern "js" fn EventCounts::from_js_value(v : JsValue) -> EventCounts =
#| (v) => v
///|
/// Safely cast JsValue to EventCounts (checked with instanceof)
pub extern "js" fn EventCounts::from_js_value_opt(v : JsValue) -> EventCounts? =
#| (v) => (v instanceof EventCounts) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to EventCounts (checked with instanceof)
pub extern "js" fn JsValue::as_event_counts(self : JsValue) -> EventCounts? =
#| (self) => (self instanceof EventCounts) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to EventCounts (unchecked)
pub extern "js" fn JsValue::to_event_counts(self : JsValue) -> EventCounts =
#| (self) => self
///|
pub extern "js" fn EventCounts::get(self : EventCounts, key : String) -> Int64? =
#| (self, key) => self.get(key)
///|
pub extern "js" fn EventCounts::has(self : EventCounts, key : String) -> Bool =
#| (self, key) => self.has(key)