mirror of
https://github.com/adoyle0/leptos-use.git
synced 2025-01-22 16:49:22 -05:00
Merge pull request #164 from zakstucke/main
This commit is contained in:
commit
38b988d453
2 changed files with 21 additions and 13 deletions
|
@ -336,7 +336,7 @@ use_web_notification = [
|
||||||
"web-sys/NotificationDirection",
|
"web-sys/NotificationDirection",
|
||||||
"web-sys/VisibilityState"
|
"web-sys/VisibilityState"
|
||||||
]
|
]
|
||||||
use_websocket = ["dep:codee"]
|
use_websocket = ["dep:web-sys", "dep:codee"]
|
||||||
use_window = ["use_document", "dep:web-sys", "web-sys/Navigator", "web-sys/MediaQueryList"]
|
use_window = ["use_document", "dep:web-sys", "web-sys/Navigator", "web-sys/MediaQueryList"]
|
||||||
use_window_focus = ["use_event_listener"]
|
use_window_focus = ["use_event_listener"]
|
||||||
use_window_scroll = ["use_event_listener", "use_window"]
|
use_window_scroll = ["use_event_listener", "use_window"]
|
||||||
|
|
|
@ -344,17 +344,19 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
let web_socket = {
|
let web_socket = {
|
||||||
protocols.as_ref().map_or_else(
|
protocols.with_untracked(|protocols| {
|
||||||
|| WebSocket::new(&url).unwrap_throw(),
|
protocols.as_ref().map_or_else(
|
||||||
|protocols| {
|
|| WebSocket::new(&url).unwrap_throw(),
|
||||||
let array = protocols
|
|protocols| {
|
||||||
.iter()
|
let array = protocols
|
||||||
.map(|p| JsValue::from(p.clone()))
|
.iter()
|
||||||
.collect::<Array>();
|
.map(|p| JsValue::from(p.clone()))
|
||||||
WebSocket::new_with_str_sequence(&url, &JsValue::from(&array))
|
.collect::<Array>();
|
||||||
.unwrap_throw()
|
WebSocket::new_with_str_sequence(&url, &JsValue::from(&array))
|
||||||
},
|
.unwrap_throw()
|
||||||
)
|
},
|
||||||
|
)
|
||||||
|
})
|
||||||
};
|
};
|
||||||
web_socket.set_binary_type(BinaryType::Arraybuffer);
|
web_socket.set_binary_type(BinaryType::Arraybuffer);
|
||||||
set_ready_state.set(ConnectionReadyState::Connecting);
|
set_ready_state.set(ConnectionReadyState::Connecting);
|
||||||
|
@ -650,7 +652,13 @@ where
|
||||||
/// Defaults to `true`.
|
/// Defaults to `true`.
|
||||||
immediate: bool,
|
immediate: bool,
|
||||||
/// Sub protocols. See [MDN Docs](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket#protocols).
|
/// Sub protocols. See [MDN Docs](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket#protocols).
|
||||||
protocols: Option<Vec<String>>,
|
///
|
||||||
|
/// Can be set as a signal to support protocols only available after the initial render.
|
||||||
|
///
|
||||||
|
/// Note that protocols are only updated on the next websocket open() call, not whenever the signal is updated.
|
||||||
|
/// Therefore "lazy" protocols should use the `immediate(false)` option and manually call `open()`.
|
||||||
|
#[builder(into)]
|
||||||
|
protocols: MaybeSignal<Option<Vec<String>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<Rx: ?Sized, E, D> UseWebSocketOptions<Rx, E, D> {
|
impl<Rx: ?Sized, E, D> UseWebSocketOptions<Rx, E, D> {
|
||||||
|
|
Loading…
Add table
Reference in a new issue