refactor: ♻️ error handling for permission and window
This commit is contained in:
parent
97ff087111
commit
604806670e
3 changed files with 8 additions and 3 deletions
|
@ -1,11 +1,14 @@
|
|||
use protocol::Error;
|
||||
|
||||
pub mod gui;
|
||||
pub mod media;
|
||||
pub mod webrtc;
|
||||
pub mod signal;
|
||||
pub mod webrtc;
|
||||
|
||||
pub async fn sleep(timeout: u16) {
|
||||
let sleep_promise = web_sys::js_sys::Promise::new(&mut |resolve, _| {
|
||||
web_sys::window()
|
||||
.ok_or(Error::Window)
|
||||
.unwrap()
|
||||
.set_timeout_with_callback_and_timeout_and_arguments_0(&resolve, timeout as i32)
|
||||
.unwrap();
|
||||
|
|
|
@ -13,7 +13,7 @@ use crate::webrtc::WebRTC;
|
|||
|
||||
pub async fn get_audio_stream() -> Result<MediaStream, Error> {
|
||||
let media_devices = window()
|
||||
.ok_or(Error::MediaStream("Accessing Window".to_owned()))?
|
||||
.ok_or(Error::Window)?
|
||||
.navigator()
|
||||
.media_devices()
|
||||
.map_err(|err_val| Error::MediaStream(format!("{:?}", err_val)))?;
|
||||
|
@ -31,7 +31,7 @@ pub async fn get_audio_stream() -> Result<MediaStream, Error> {
|
|||
.map_err(|err_val| Error::MediaStream(format!("{:?}", err_val)))?;
|
||||
let media_stream = JsFuture::from(media_stream_promise)
|
||||
.await
|
||||
.map_err(|err_val| Error::MediaStream(format!("{:?}", err_val)))?;
|
||||
.map_err(|err_val| Error::Permission(format!("{:?}", err_val)))?;
|
||||
let media_stream = media_stream.unchecked_ref::<MediaStream>();
|
||||
|
||||
let audio_stream_tracks = media_stream.get_audio_tracks();
|
||||
|
|
|
@ -10,6 +10,7 @@ pub struct User {
|
|||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum Error {
|
||||
Window,
|
||||
Permission(String),
|
||||
MediaPlay(String),
|
||||
MediaStream(String),
|
||||
|
@ -42,6 +43,7 @@ impl std::error::Error for Error {
|
|||
impl Display for Error {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
match self {
|
||||
Error::Window => write!(f, "Window"),
|
||||
Error::Permission(permission_cause) => write!(f, "Permission | {}", permission_cause),
|
||||
Error::MediaPlay(err_val) => write!(f, "Media Play | {}", err_val),
|
||||
Error::MediaStream(err_val) => write!(f, "Media Stream | {}", err_val),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue