diff --git a/src/node_dotenv.cc b/src/node_dotenv.cc index d5f14fa92e2..3bdeaab1a9c 100644 --- a/src/node_dotenv.cc +++ b/src/node_dotenv.cc @@ -65,18 +65,19 @@ std::vector Dotenv::GetDataFromArgs( } Maybe Dotenv::SetEnvironment(node::Environment* env) { - Local name; - Local val; auto context = env->context(); + auto env_vars = env->env_vars(); for (const auto& entry : store_) { - auto existing = env->env_vars()->Get(entry.first.data()); + auto existing = env_vars->Get(entry.first.data()); if (!existing.has_value()) { + Local name; + Local val; if (!ToV8Value(context, entry.first).ToLocal(&name) || !ToV8Value(context, entry.second).ToLocal(&val)) { return Nothing(); } - env->env_vars()->Set(env->isolate(), name.As(), val.As()); + env_vars->Set(env->isolate(), name.As(), val.As()); } }