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