feat: extensions to context (#102)

This commit is contained in:
Eitan Yarmush 2025-04-07 22:01:17 -04:00 • committed by GitHub
commit 6a423048fa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -13,21 +13,26 @@ pub trait GetMeta {
fn get_meta(&self) -> &Meta;
}
pub trait GetExtensions {
fn extensions(&self) -> &Extensions;
fn extensions_mut(&mut self) -> &mut Extensions;
}
macro_rules! variant_extension {
(
$Enum: ident {
$($variant: ident)*
}
) => {
impl $Enum {
pub fn extensions(&self) -> &Extensions {
impl GetExtensions for $Enum {
fn extensions(&self) -> &Extensions {
match self {
$(
$Enum::$variant(v) => &v.extensions,
)*
}
}
pub fn extensions_mut(&mut self) -> &mut Extensions {
fn extensions_mut(&mut self) -> &mut Extensions {
match self {
$(
$Enum::$variant(v) => &mut v.extensions,