git.delta.rocks / jrsonnet / refs/commits / ed1156c14eb7

difftreelog

build use non-deprecated base64 api

Yaroslav Bolyukin2023-01-20parent: #a05afd3.patch.diff
in: master

1 file changed

modifiedcrates/jrsonnet-stdlib/src/encoding.rsdiffbeforeafterboth
before · crates/jrsonnet-stdlib/src/encoding.rs
1use jrsonnet_evaluator::{2	error::{ErrorKind::RuntimeError, Result},3	function::builtin,4	typed::{Either, Either2},5	IBytes, IStr,6};78#[builtin]9pub fn builtin_encode_utf8(str: IStr) -> IBytes {10	str.cast_bytes()11}1213#[builtin]14pub fn builtin_decode_utf8(arr: IBytes) -> Result<IStr> {15	Ok(arr16		.cast_str()17		.ok_or_else(|| RuntimeError("bad utf8".into()))?)18}1920#[builtin]21pub fn builtin_base64(input: Either![IStr, IBytes]) -> String {22	use Either2::*;23	match input {24		A(l) => base64::encode(l.as_bytes()),25		B(a) => base64::encode(a.as_slice()),26	}27}2829#[builtin]30pub fn builtin_base64_decode_bytes(str: IStr) -> Result<IBytes> {31	Ok(base64::decode(str.as_bytes())32		.map_err(|_| RuntimeError("bad base64".into()))?33		.as_slice()34		.into())35}3637#[builtin]38pub fn builtin_base64_decode(str: IStr) -> Result<String> {39	let bytes = base64::decode(str.as_bytes()).map_err(|_| RuntimeError("bad base64".into()))?;40	Ok(String::from_utf8(bytes).map_err(|_| RuntimeError("bad utf8".into()))?)41}