rjdebounce

Crates.iorjdebounce
lib.rsrjdebounce
version0.2.1
sourcesrc
created_at2020-05-30 08:25:02.222934
updated_at2020-05-30 10:30:23.674962
descriptionDebouncing function utility
homepagehttps://github.com/jackmead515/rjdebounce
repositoryhttps://github.com/jackmead515/rjdebounce
max_upload_size
id247630
size6,888
Jack Mead (jackmead515)

documentation

README

rjdebounce

Super simple library to do a super simple thing. Debounce a function. Zero dependencies.

Example

use rjdebounce::Bouncer;

let mut bouncer = Bouncer::new(Duration::from_secs(1));

let result = bouncer.debounce(|| {
    return 5 + 5;
})

assert_eq!(result.is_some(), true);
assert_eq!(result.unwrap(), 10);

OR...

use rjdebounce::Bouncer;

let func = || 5 + 6;
let delay = Duration::from_secs(1);

let mut bouncer = Bouncer::new(delay).with_func(func);

assert_eq!(bouncer.get_result().is_some(), false);
bouncer.execute();
assert_eq!(bouncer.get_result().is_some(), true);

Do I plan to expand on this library?

Yeah absolutely. I'd love to make a bigger lib.

Should I use this in production?

I mean... sure, if you want. But this is just practice for me. I do not have a licence for this and I purely wrote it to get a feel for cargo and package management. I will use this in my personal projects though. So feel free!

Commit count: 11

cargo fmt