pub(crate) fn decode_b64<T: AsRef<[u8]>>(encoded: T) -> Result<Vec<u8>, Error> {
    let inlen = encoded.as_ref().len();
    // We can use encoded len here, even if it returns more than needed,
    // because ct-codecs allows this.
    let mut buf = vec![0u8; Base64UrlSafeNoPadding::encoded_len(inlen)?];

    let ret: Vec<u8> = Base64UrlSafeNoPadding::decode(&mut buf, encoded, None)?.into();

    Ok(ret)
}
/// Decode string with Base64 URL-safe and no padding.
Decode string with Base64 URL-safe and no padding.
Decode string with Base64 URL - safe and no padding .
pub(crate) fn decode_b64<T: AsRef<[u8]>>(encoded: T) -> Result<Vec<u8>, Error> {
    let inlen = encoded.as_ref().len();
    // We can use encoded len here, even if it returns more than needed,
    // because ct-codecs allows this.
    let mut buf = vec![0u8; Base64UrlSafeNoPadding::encoded_len(inlen)?];
    let ret: Vec<u8> = Base64UrlSafeNoPadding::decode(&mut buf, encoded, None)?.into();
    Ok(ret)
}
pub ( crate ) fn decode_b64 < T : AsRef < [ u8 ] > > ( encoded : T ) -> Result < Vec < u8 > , Error > { let inlen = encoded . as_ref ( ) . len ( ) ; // We can use encoded len here, even if it returns more than needed, // because ct-codecs allows this. let mut buf = vec ! [ 0u8 Base64UrlSafeNoPadding encoded_len ( inlen ) ] ; let ret : Vec < u8 > = Base64UrlSafeNoPadding :: decode ( & mut buf , encoded , None ) ? . into ( ) ; Ok ( ret ) }
Decode string with Base64 URL-safe and no padding.
Decode string with Base64 URL - safe and no padding .
encoded
T