rattles 0.2.0

A collection of terminal spinners
Documentation
#[macro_export]
macro_rules! rattle {
    ($ty:ident, $fn_name:ident, $width:literal, $interval_ms:literal, [$($frame:literal),+ $(,)?]) => {
        #[derive(Debug, Clone, Copy, Default)]
        pub struct $ty;

        impl $crate::Rattle for $ty {
            const SIZE: $crate::Size = $crate::Size::new($width, 1);
            const INTERVAL: core::time::Duration = core::time::Duration::from_millis($interval_ms);
            const FRAMES: &'static [&'static [&'static str]] = &[
                $(&[$frame]),+
            ];
        }

        pub fn $fn_name() -> $crate::Rattler<$ty> {
            $crate::Rattler::new()
        }
    };
}