@@ -569,30 +569,26 @@ void Worker::New(const FunctionCallbackInfo<Value>& args) {
569569 }
570570 }
571571#endif // NODE_WITHOUT_NODE_OPTIONS
572+ }
572573
574+ if (args[2 ]->IsArray ()) {
575+ Local<Array> array = args[2 ].As <Array>();
573576 // The first argument is reserved for program name, but we don't need it
574577 // in workers.
575578 std::vector<std::string> exec_argv = {" " };
576- if (args[2 ]->IsArray ()) {
577- Local<Array> array = args[2 ].As <Array>();
578- uint32_t length = array->Length ();
579- for (uint32_t i = 0 ; i < length; i++) {
580- Local<Value> arg;
581- if (!array->Get (env->context (), i).ToLocal (&arg)) {
582- return ;
583- }
584- Local<String> arg_v8;
585- if (!arg->ToString (env->context ()).ToLocal (&arg_v8)) {
586- return ;
587- }
588- Utf8Value arg_utf8_value (args.GetIsolate (), arg_v8);
589- std::string arg_string (arg_utf8_value.out (), arg_utf8_value.length ());
590- exec_argv.push_back (arg_string);
579+ uint32_t length = array->Length ();
580+ for (uint32_t i = 0 ; i < length; i++) {
581+ Local<Value> arg;
582+ if (!array->Get (env->context (), i).ToLocal (&arg)) {
583+ return ;
591584 }
592- } else {
593- exec_argv_out = env->exec_argv ();
594- exec_argv.insert (
595- exec_argv.end (), exec_argv_out.begin (), exec_argv_out.end ());
585+ Local<String> arg_v8;
586+ if (!arg->ToString (env->context ()).ToLocal (&arg_v8)) {
587+ return ;
588+ }
589+ Utf8Value arg_utf8_value (args.GetIsolate (), arg_v8);
590+ std::string arg_string (arg_utf8_value.out (), arg_utf8_value.length ());
591+ exec_argv.push_back (arg_string);
596592 }
597593
598594 std::vector<std::string> invalid_args{};
@@ -610,8 +606,9 @@ void Worker::New(const FunctionCallbackInfo<Value>& args) {
610606 invalid_args.erase (invalid_args.begin ());
611607 if (errors.size () > 0 || invalid_args.size () > 0 ) {
612608 Local<Value> error;
613- if (!ToV8Value (env->context (), errors.size () > 0 ? errors : invalid_args)
614- .ToLocal (&error)) {
609+ if (!ToV8Value (env->context (),
610+ errors.size () > 0 ? errors : invalid_args)
611+ .ToLocal (&error)) {
615612 return ;
616613 }
617614 Local<String> key =
0 commit comments