use derive_more::From;
use wasm_bindgen::prelude::*;
use crate::{
api::{MediaManagerHandle, RoomHandle},
jason,
};
#[wasm_bindgen]
#[derive(Debug, Default, From)]
pub struct Jason(jason::Jason);
#[wasm_bindgen]
impl Jason {
#[must_use]
#[wasm_bindgen(constructor)]
pub fn new() -> Self {
Self(jason::Jason::new(None))
}
#[must_use]
pub fn init_room(&self) -> RoomHandle {
self.0.init_room().into()
}
#[must_use]
pub fn media_manager(&self) -> MediaManagerHandle {
self.0.media_manager().into()
}
pub fn close_room(&self, room_to_delete: RoomHandle) {
self.0.close_room(&room_to_delete.into());
}
pub fn dispose(self) {
self.0.dispose();
}
}