Skip to content

Commit 0d761bb

Browse files
mertcanaltintargos
authored andcommitted
src: env_vars caching and local variable scope optimization
PR-URL: #57624 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 8ea1fc5 commit 0d761bb

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/node_dotenv.cc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,19 @@ std::vector<Dotenv::env_file_data> Dotenv::GetDataFromArgs(
6565
}
6666

6767
Maybe<void> Dotenv::SetEnvironment(node::Environment* env) {
68-
Local<Value> name;
69-
Local<Value> val;
7068
auto context = env->context();
69+
auto env_vars = env->env_vars();
7170

7271
for (const auto& entry : store_) {
73-
auto existing = env->env_vars()->Get(entry.first.data());
72+
auto existing = env_vars->Get(entry.first.data());
7473
if (!existing.has_value()) {
74+
Local<Value> name;
75+
Local<Value> val;
7576
if (!ToV8Value(context, entry.first).ToLocal(&name) ||
7677
!ToV8Value(context, entry.second).ToLocal(&val)) {
7778
return Nothing<void>();
7879
}
79-
env->env_vars()->Set(env->isolate(), name.As<String>(), val.As<String>());
80+
env_vars->Set(env->isolate(), name.As<String>(), val.As<String>());
8081
}
8182
}
8283

0 commit comments

Comments
 (0)