protospec_build/prelude/
base64.rs1use super::*;
2
3pub struct Base64Transform;
4
5impl ForeignTransform for Base64Transform {
6 fn decoding_gen(
7 &self,
8 input_stream: TokenStream,
9 _arguments: Vec<TokenStream>,
10 is_async: bool,
11 ) -> TokenStream {
12 if is_async {
13 panic!("base64 async not implemented");
14 }
15 quote! {
16 {
17 base64::read::DecoderReader::new(#input_stream, base64::STANDARD)
18 }
19 }
20 }
21
22 fn encoding_gen(
23 &self,
24 input_stream: TokenStream,
25 _arguments: Vec<TokenStream>,
26 is_async: bool,
27 ) -> TokenStream {
28 if is_async {
29 panic!("base64 async not implemented");
30 }
31 quote! {
32 base64::write::EncoderWriter::new(#input_stream, base64::STANDARD)
33 }
34 }
35
36 fn arguments(&self) -> Vec<FFIArgument> {
37 vec![]
38 }
39}