Remove unnecessary peekable iterator (#2251)

This commit is contained in:
Jason Gedge 2020-07-24 12:06:12 -04:00 committed by GitHub
parent 55a2f284d9
commit 2db4fe83d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -70,27 +70,21 @@ async fn run_pipeline(
vars: &IndexMap<String, Value>, vars: &IndexMap<String, Value>,
env: &IndexMap<String, String>, env: &IndexMap<String, String>,
) -> Result<InputStream, ShellError> { ) -> Result<InputStream, ShellError> {
let mut iter = commands.list.clone().into_iter().peekable(); for item in commands.list.clone() {
loop { input = match item {
let item: Option<ClassifiedCommand> = iter.next(); ClassifiedCommand::Dynamic(_) => {
let next: Option<&ClassifiedCommand> = iter.peek();
input = match (item, next) {
(Some(ClassifiedCommand::Dynamic(_)), _) | (_, Some(ClassifiedCommand::Dynamic(_))) => {
return Err(ShellError::unimplemented("Dynamic commands")) return Err(ShellError::unimplemented("Dynamic commands"))
} }
(Some(ClassifiedCommand::Expr(expr)), _) => { ClassifiedCommand::Expr(expr) => {
run_expression_block(*expr, ctx, it, vars, env).await? run_expression_block(*expr, ctx, it, vars, env).await?
} }
(Some(ClassifiedCommand::Error(err)), _) => return Err(err.into()),
(_, Some(ClassifiedCommand::Error(err))) => return Err(err.clone().into()),
(Some(ClassifiedCommand::Internal(left)), _) => { ClassifiedCommand::Error(err) => return Err(err.into()),
ClassifiedCommand::Internal(left) => {
run_internal_command(left, ctx, input, it, vars, env).await? run_internal_command(left, ctx, input, it, vars, env).await?
} }
(None, _) => break,
}; };
} }