Make get_env_var return a reference to a Value (#13987)

# Description
Title says it all, changes `EngineState::get_env_var` to return a
`Option<&'a Value>` instead of an owned `Option<Value>`. This avoids
some unnecessary clones.

I also made a similar change to the `PluginExecutionContext` trait.
This commit is contained in:
Ian Manske
2024-10-02 04:05:48 -07:00
committed by GitHub
parent f03ba6793e
commit 157494e803
17 changed files with 74 additions and 51 deletions

View File

@@ -1276,7 +1276,9 @@ pub(crate) fn handle_engine_call(
}
EngineCall::GetEnvVar(name) => {
let value = context.get_env_var(&name)?;
Ok(value.map_or_else(EngineCallResponse::empty, EngineCallResponse::value))
Ok(value
.cloned()
.map_or_else(EngineCallResponse::empty, EngineCallResponse::value))
}
EngineCall::GetEnvVars => context.get_env_vars().map(EngineCallResponse::ValueMap),
EngineCall::GetCurrentDir => {