// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/background-sync
///|
/// SyncEventInit dictionary
pub(all) struct SyncEventInit {
tag : String
lastChance : Bool?
}
///|
/// Create a new SyncEventInit with default values
pub fn SyncEventInit::default() -> SyncEventInit {
SyncEventInit::{ tag: "", lastChance: None }
}
///|
extern "js" fn SyncEventInit::to_js_ffi(self : SyncEventInit) -> JsValue =
#| (self) => ({
#| tag: self.tag,
#| lastChance: (self.lastChance === -1 ? undefined : self.lastChance)
#| })
///|
/// Convert to JsValue
pub fn SyncEventInit::to_js(self : SyncEventInit) -> JsValue {
SyncEventInit::to_js_ffi(self)
}
///|
extern "js" fn SyncEventInit::from_js_ffi(value : JsValue) -> SyncEventInit =
#| (v) => ({
#| tag: v.tag,
#| lastChance: (v.lastChance === undefined ? -1 : v.lastChance)
#| })
///|
/// Convert from JsValue
pub fn SyncEventInit::from_js(value : JsValue) -> SyncEventInit {
SyncEventInit::from_js_ffi(value)
}
///|
/// SyncManager interface
pub type SyncManager
///|
pub extern "js" fn SyncManager::to_js_value(self : SyncManager) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to SyncManager (unchecked)
pub extern "js" fn SyncManager::from_js_value(v : JsValue) -> SyncManager =
#| (v) => v
///|
/// Safely cast JsValue to SyncManager (checked with instanceof)
pub extern "js" fn SyncManager::from_js_value_opt(v : JsValue) -> SyncManager? =
#| (v) => (v instanceof SyncManager) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to SyncManager (checked with instanceof)
pub extern "js" fn JsValue::as_sync_manager(self : JsValue) -> SyncManager? =
#| (self) => (self instanceof SyncManager) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to SyncManager (unchecked)
pub extern "js" fn JsValue::to_sync_manager(self : JsValue) -> SyncManager =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum SyncManagerRegisterError {
NotAllowedError(JsError)
InvalidStateError(JsError)
OtherError(JsError)
} derive(Show)
///|
pub extern "js" fn SyncManager::register(
self : SyncManager,
tag : String,
) -> Promise[Result[Unit, SyncManagerRegisterError]] =
#| (self, tag) => self.register(tag).then(r => ({ $tag: 1, _0: undefined })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'NotAllowedError') return { $tag: 0, _0: e }; if (n === 'InvalidStateError') return { $tag: 1, _0: e }; return { $tag: 2, _0: e }; })() }))
///|
pub extern "js" fn SyncManager::get_tags(
self : SyncManager,
) -> Promise[Array[String]] =
#| (self) => self.getTags()
///|
/// SyncEvent interface
pub type SyncEvent
///|
pub extern "js" fn SyncEvent::to_js_value(self : SyncEvent) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to SyncEvent (unchecked)
pub extern "js" fn SyncEvent::from_js_value(v : JsValue) -> SyncEvent =
#| (v) => v
///|
/// Safely cast JsValue to SyncEvent (checked with instanceof)
pub extern "js" fn SyncEvent::from_js_value_opt(v : JsValue) -> SyncEvent? =
#| (v) => (v instanceof SyncEvent) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to SyncEvent (checked with instanceof)
pub extern "js" fn JsValue::as_sync_event(self : JsValue) -> SyncEvent? =
#| (self) => (self instanceof SyncEvent) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to SyncEvent (unchecked)
pub extern "js" fn JsValue::to_sync_event(self : JsValue) -> SyncEvent =
#| (self) => self
///|
pub extern "js" fn SyncEvent::to_extendable_event(
self : SyncEvent,
) -> ExtendableEvent =
#| (self) => self
///|
pub extern "js" fn SyncEvent::to_event(self : SyncEvent) -> Event =
#| (self) => self
///|
extern "js" fn SyncEvent::new_ffi(type_ : String, init_ : JsValue) -> SyncEvent =
#| (type_, init_) => new SyncEvent(type_, init_)
///|
pub fn SyncEvent::new(type_ : String, init_ : SyncEventInit) -> SyncEvent {
SyncEvent::new_ffi(type_, init_.to_js())
}
///|
pub extern "js" fn SyncEvent::get_tag(self : SyncEvent) -> String =
#| (self) => self.tag
///|
pub extern "js" fn SyncEvent::get_last_chance(self : SyncEvent) -> Bool =
#| (self) => self.lastChance