@@ -18,10 +18,11 @@ using v8::Object;
1818using  v8::String;
1919using  v8::Value;
2020
21- Maybe<bool > ProcessEmitWarningSync (Environment* env, const   char *  message) {
21+ Maybe<bool > ProcessEmitWarningSync (Environment* env, std::string_view  message) {
2222  Isolate* isolate = env->isolate ();
2323  Local<Context> context = env->context ();
24-   Local<String> message_string = OneByteString (isolate, message);
24+   Local<String> message_string =
25+       OneByteString (isolate, message.data (), message.size ());
2526
2627  Local<Value> argv[] = {message_string};
2728  Local<Function> emit_function = env->process_emit_warning_sync ();
@@ -37,24 +38,27 @@ Maybe<bool> ProcessEmitWarningSync(Environment* env, const char* message) {
3738}
3839
3940MaybeLocal<Value> ProcessEmit (Environment* env,
40-                               const   char *  event,
41+                               std::string_view  event,
4142                              Local<Value> message) {
4243  Isolate* isolate = env->isolate ();
4344
44-   Local<String> event_string;
45-   if  (!String::NewFromOneByte (isolate, reinterpret_cast <const  uint8_t *>(event))
46-       .ToLocal (&event_string)) return  MaybeLocal<Value>();
45+   Local<Value> event_string;
46+   if  (!ToV8Value (env->context (), event).ToLocal (&event_string)) {
47+     return  MaybeLocal<Value>();
48+   }
4749
4850  Local<Object> process = env->process_object ();
4951  Local<Value> argv[] = {event_string, message};
5052  return  MakeCallback (isolate, process, " emit"  , arraysize (argv), argv, {0 , 0 });
5153}
5254
5355Maybe<bool > ProcessEmitWarningGeneric (Environment* env,
54-                                       const  char * warning,
55-                                       const  char * type,
56-                                       const  char * code) {
57-   if  (!env->can_call_into_js ()) return  Just (false );
56+                                       std::string_view warning,
57+                                       std::string_view type,
58+                                       std::string_view code) {
59+   if  (!env->can_call_into_js ()) {
60+     return  Just (false );
61+   }
5862
5963  HandleScope handle_scope (env->isolate ());
6064  Context::Scope context_scope (env->context ());
@@ -73,19 +77,16 @@ Maybe<bool> ProcessEmitWarningGeneric(Environment* env,
7377
7478  //  The caller has to be able to handle a failure anyway, so we might as well
7579  //  do proper error checking for string creation.
76-   if  (!String::NewFromUtf8 (env->isolate (), warning).ToLocal (&args[argc++]))
80+   if  (!ToV8Value (env->context (), warning).ToLocal (&args[argc++])) { 
7781    return  Nothing<bool >();
82+   }
7883
79-   if  (type != nullptr ) {
80-     if  (!String::NewFromOneByte (env->isolate (),
81-                                 reinterpret_cast <const  uint8_t *>(type))
82-              .ToLocal (&args[argc++])) {
84+   if  (!type.empty ()) {
85+     if  (!ToV8Value (env->context (), type).ToLocal (&args[argc++])) {
8386      return  Nothing<bool >();
8487    }
85-     if  (code != nullptr  &&
86-         !String::NewFromOneByte (env->isolate (),
87-                                 reinterpret_cast <const  uint8_t *>(code))
88-              .ToLocal (&args[argc++])) {
88+     if  (!code.empty () &&
89+         !ToV8Value (env->context (), code).ToLocal (&args[argc++])) {
8990      return  Nothing<bool >();
9091    }
9192  }
@@ -100,13 +101,11 @@ Maybe<bool> ProcessEmitWarningGeneric(Environment* env,
100101  return  Just (true );
101102}
102103
103- 
104104std::set<std::string> experimental_warnings;
105105
106106Maybe<bool > ProcessEmitExperimentalWarning (Environment* env,
107-                                           const  char * warning) {
108-   if  (experimental_warnings.find (warning) != experimental_warnings.end ())
109-     return  Nothing<bool >();
107+                                            const  std::string& warning) {
108+   if  (experimental_warnings.contains (warning)) return  Nothing<bool >();
110109
111110  experimental_warnings.insert (warning);
112111  std::string message (warning);
@@ -115,8 +114,8 @@ Maybe<bool> ProcessEmitExperimentalWarning(Environment* env,
115114}
116115
117116Maybe<bool > ProcessEmitDeprecationWarning (Environment* env,
118-                                           const  char *  warning,
119-                                           const   char *  deprecation_code) {
117+                                           const  std::string&  warning,
118+                                           std::string_view  deprecation_code) {
120119  return  ProcessEmitWarningGeneric (
121120      env, warning, " DeprecationWarning"  , deprecation_code);
122121}
0 commit comments