From 7de58417ccfd46a8bc8bed1c52cc4cf1f3597f1f Mon Sep 17 00:00:00 2001 From: Mert Can Altin Date: Sat, 7 Jun 2025 02:30:10 +0300 Subject: [PATCH] src: env_vars caching and local variable scope optimization PR-URL: https://github.com/nodejs/node/pull/57624 Reviewed-By: Joyee Cheung Reviewed-By: Marco Ippolito Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- src/node_dotenv.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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()); } }