pub trait ValueTransformer {
type Type;
type Borrow<'r>
where Self::Type: 'r;
type BorrowMut<'r>
where Self::Type: 'r;
type Dependency;
type Owned;
type Ref;
type RefMut;
// Required methods
fn from_owned(registry: &Registry, value: Self::Type) -> Self::Owned;
fn from_ref(
registry: &Registry,
value: &Self::Type,
dependency: Option<Self::Dependency>
) -> Self::Ref;
fn from_ref_mut(
registry: &Registry,
value: &mut Self::Type,
dependency: Option<Self::Dependency>
) -> Self::RefMut;
fn into_owned(value: Self::Owned) -> Self::Type;
fn into_ref(value: &Self::Ref) -> Self::Borrow<'_>;
fn into_ref_mut(value: &mut Self::RefMut) -> Self::BorrowMut<'_>;
}