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}
after · crates/jrsonnet-stdlib/src/encoding.rs
1use base64::{engine::general_purpose::STANDARD, Engine};2use jrsonnet_evaluator::{3	error::{ErrorKind::RuntimeError, Result},4	function::builtin,5	typed::{Either, Either2},6	IBytes, IStr,7};89#[builtin]10pub fn builtin_encode_utf8(str: IStr) -> IBytes {11	str.cast_bytes()12}1314#[builtin]15pub fn builtin_decode_utf8(arr: IBytes) -> Result<IStr> {16	Ok(arr17		.cast_str()18		.ok_or_else(|| RuntimeError("bad utf8".into()))?)19}2021#[builtin]22pub fn builtin_base64(input: Either![IStr, IBytes]) -> String {23	use Either2::*;24	match input {25		A(l) => STANDARD.encode(l.as_bytes()),26		B(a) => STANDARD.encode(a.as_slice()),27	}28}2930#[builtin]31pub fn builtin_base64_decode_bytes(str: IStr) -> Result<IBytes> {32	Ok(STANDARD33		.decode(str.as_bytes())34		.map_err(|e| RuntimeError(format!("invalid base64: {e}").into()))?35		.as_slice()36		.into())37}3839#[builtin]40pub fn builtin_base64_decode(str: IStr) -> Result<String> {41	let bytes = STANDARD42		.decode(str.as_bytes())43		.map_err(|e| RuntimeError(format!("invalid base64: {e}").into()))?;44	Ok(String::from_utf8(bytes).map_err(|_| RuntimeError("bad utf8".into()))?)45}