src: use std::string_view for process emit fns · nodejs/node@974b7b6
@@ -18,10 +18,11 @@ using v8::Object;
1818using v8::String;
1919using v8::Value;
202021-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());
25262627 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}
38393940MaybeLocal<Value> ProcessEmit(Environment* env,
40-const char* event,
41+std::string_view event,
4142 Local<Value> message) {
4243 Isolate* isolate = env->isolate();
434444- 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+ }
47494850 Local<Object> process = env->process_object();
4951 Local<Value> argv[] = {event_string, message};
5052return MakeCallback(isolate, process, "emit", arraysize(argv), argv, {0, 0});
5153}
52545355Maybe<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+ }
58625963 HandleScope handle_scope(env->isolate());
6064 Context::Scope context_scope(env->context());
@@ -73,19 +77,16 @@ Maybe<bool> ProcessEmitWarningGeneric(Environment* env,
73777478// 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++])) {
7781return Nothing<bool>();
82+ }
788379-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++])) {
8386return 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++])) {
8990return Nothing<bool>();
9091 }
9192 }
@@ -100,13 +101,11 @@ Maybe<bool> ProcessEmitWarningGeneric(Environment* env,
100101return Just(true);
101102}
102103103-104104std::set<std::string> experimental_warnings;
105105106106Maybe<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>();
110109111110 experimental_warnings.insert(warning);
112111 std::string message(warning);
@@ -115,8 +114,8 @@ Maybe<bool> ProcessEmitExperimentalWarning(Environment* env,
115114}
116115117116Maybe<bool> ProcessEmitDeprecationWarning(Environment* env,
118-const char* warning,
119-const char* deprecation_code) {
117+const std::string& warning,
118+std::string_view deprecation_code) {
120119return ProcessEmitWarningGeneric(
121120 env, warning, "DeprecationWarning", deprecation_code);
122121}