defuse_serde_utils/
base64.rs1use derive_more::From;
2use serde::{Deserialize, Serialize};
3use serde_with::{base64::Base64, serde_as};
4
5#[serde_as]
9#[cfg_attr(feature = "abi", derive(::schemars::JsonSchema), schemars(transparent))]
10#[derive(Debug, Clone, Copy, Default, Serialize, Deserialize, From)]
11#[serde(bound(serialize = "T: AsRef<[u8]>", deserialize = "T: TryFrom<Vec<u8>>"))]
12pub struct AsBase64<T>(#[serde_as(as = "Base64")] pub T);
13
14impl<T> AsBase64<T> {
15 #[inline]
16 pub fn into_inner(self) -> T {
17 self.0
18 }
19}