use default_struct_builder::DefaultBuilder;
use web_sys::LockMode;
#[allow(dead_code)]
#[derive(DefaultBuilder)]
pub struct UseWebLockOptions {
mode: LockMode,
if_available: bool,
steal: bool,
}
#[cfg(not(feature = "ssr"))]
impl UseWebLockOptions {
pub(crate) fn to_web_sys(&self) -> web_sys::LockOptions {
let options = web_sys::LockOptions::new();
options.set_mode(self.mode);
options.set_if_available(self.if_available);
options.set_steal(self.steal);
options
}
}
impl Default for UseWebLockOptions {
fn default() -> Self {
Self {
mode: LockMode::Exclusive,
if_available: false,
steal: false,
}
}
}