feat: user consent setting and retrieving (NOTE: does not affect recording yet)

This commit is contained in:
2026-04-21 03:11:27 -04:00
parent 62399c2046
commit 0ce26fc0e5
13 changed files with 589 additions and 201 deletions

11
src/option_ext.rs Normal file
View File

@@ -0,0 +1,11 @@
use extension_traits::extension;
#[extension(pub trait OptionExt)]
impl<S> Option<S> {
async fn map_async<M, Fut: Future<Output = M>, F: FnOnce(S) -> Fut>(self, f: F) -> Option<M> {
match self {
Some(s) => Some(f(s).await),
None => None,
}
}
}