Compare commits

..
Author SHA1 Message Date
dzu
98addf4d54 cleanup 2026-02-20 14:58:27 +00:00
dzu
2bc5e3c712 fix: ignore empty provided inputs
apparently, Forgejo provides empty variables for optional
not-specified inputs, for some reason 🤷
2026-02-20 14:54:47 +00:00
3 changed files with 5 additions and 966 deletions

966
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -66,7 +66,7 @@ fn try_get(action: &Action) -> ItemFn {
envvar = syn::parse_quote!( #envvar.or_else(|| Some(::std::ffi::OsString::from(String::from(#def)))) ); envvar = syn::parse_quote!( #envvar.or_else(|| Some(::std::ffi::OsString::from(String::from(#def)))) );
} }
let mut parse_input: syn::ExprIf = syn::parse_quote! { let mut parse_input: syn::ExprIf = syn::parse_quote! {
if let Some(envvar) = #envvar { if let Some(envvar) = #envvar && !envvar.is_empty() {
match #parser(envvar) { match #parser(envvar) {
Ok(ok) => #input_ident = Some(ok), Ok(ok) => #input_ident = Some(ok),
Err(error) => #errors.push((#input_lit, ::anode::InputErrorMessage::Parsing(::std::boxed::Box::new(error)))), Err(error) => #errors.push((#input_lit, ::anode::InputErrorMessage::Parsing(::std::boxed::Box::new(error)))),

View file

@ -107,9 +107,6 @@ pub mod parse {
} }
} }
#[cfg(feature = "forge-forgejo")]
pub use forgejo_openapi as forgejo;
#[derive(Debug)] #[derive(Debug)]
pub struct InputError(#[doc(hidden)] pub Box<[(&'static str, InputErrorMessage)]>); pub struct InputError(#[doc(hidden)] pub Box<[(&'static str, InputErrorMessage)]>);