use std::{future::Future, pin::Pin, task::Poll, time::Duration};
use async_io::Timer;
pub fn ticker(dur: Duration) -> impl futures_core::Stream<Item = ()> {
let mut delay = Timer::after(dur);
futures_lite::stream::poll_fn(move |ctx| {
let res = Pin::new(&mut delay).poll(ctx);
match res {
Poll::Pending => Poll::Pending,
Poll::Ready(_) => {
delay = Timer::after(dur);
Poll::Ready(Some(()))
}
}
})
}
pub const VERTICAL_LINE: &str = "│";
pub use tui_react::{draw_text_nowrap_fn, draw_text_with_ellipsis_nowrap, util::*};