[][src]Function shellfn::execute_iter_nopanic_nopanic

pub fn execute_iter_nopanic_nopanic<T, TArg, TEnvKey, TEnvVal, impl AsRef, impl IntoIterator, impl IntoIterator>(
    cmd: impl AsRef,
    args: impl IntoIterator,
    envs: impl IntoIterator
) -> impl Iterator<Item = T> where
    T: FromStr,
    TArg: AsRef<OsStr>,
    TEnvKey: AsRef<OsStr>,
    TEnvVal: AsRef<OsStr>,
    impl AsRef: AsRef<OsStr>,
    impl IntoIterator: IntoIterator<Item = (TEnvKey, TEnvVal)>,
    impl IntoIterator: IntoIterator<Item = TArg>,
    <T as FromStr>::Err: Error

Executes command with args and environment variables, parses output line by line

  • On invalid command: return empty iterator
  • On error exit code: break iterator
  • On parsing failure: skip item
  • Possible errors: N/A

Designed for

use shellfn::shell;
use std::error::Error;

#[shell(no_panic)]
fn command() -> impl Iterator<Item = u32> {
    "echo 1; echo 2; echo 3"
}

assert_eq!(vec![1, 2, 3], command().collect::<Vec<_>>())