Skip to content

Commit

Permalink
src: add READONLY_STRING_PROPERTY and simplify config
Browse files Browse the repository at this point in the history
Bit of tidying up where we set different config values.

PR-URL: #22222
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Gus Caplan <[email protected]>
Reviewed-By: James M Snell <[email protected]>
  • Loading branch information
maclover7 authored and rvagg committed Aug 15, 2018
1 parent 86ab2c0 commit 2737b46
Showing 1 changed file with 25 additions and 45 deletions.
70 changes: 25 additions & 45 deletions src/node_config.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,18 @@ using v8::Value;
True(isolate), ReadOnly).FromJust(); \
} while (0)

#define READONLY_STRING_PROPERTY(obj, str, val) \
do { \
(obj)->DefineOwnProperty(context, \
FIXED_ONE_BYTE_STRING(isolate, str), \
String::NewFromUtf8( \
isolate, \
val.data(), \
v8::NewStringType::kNormal).ToLocalChecked(), \
ReadOnly).FromJust(); \
} while (0)


#define READONLY_PROPERTY(obj, name, value) \
do { \
obj->DefineOwnProperty(env->context(), \
Expand Down Expand Up @@ -60,13 +72,7 @@ static void Initialize(Local<Object> target,
READONLY_BOOLEAN_PROPERTY("hasTracing");
#endif

target->DefineOwnProperty(
context,
FIXED_ONE_BYTE_STRING(isolate, "icuDataDir"),
String::NewFromUtf8(isolate,
icu_data_dir.data(),
v8::NewStringType::kNormal).ToLocalChecked(),
ReadOnly).FromJust();
READONLY_STRING_PROPERTY(target, "icuDataDir", icu_data_dir);

#endif // NODE_HAVE_I18N_SUPPORT

Expand All @@ -78,13 +84,7 @@ static void Initialize(Local<Object> target,
if (config_experimental_modules) {
READONLY_BOOLEAN_PROPERTY("experimentalModules");
if (!config_userland_loader.empty()) {
target->DefineOwnProperty(
context,
FIXED_ONE_BYTE_STRING(isolate, "userLoader"),
String::NewFromUtf8(isolate,
config_userland_loader.data(),
v8::NewStringType::kNormal).ToLocalChecked(),
ReadOnly).FromJust();
READONLY_STRING_PROPERTY(target, "userLoader", config_userland_loader);
}
}

Expand All @@ -111,41 +111,21 @@ static void Initialize(Local<Object> target,
Number::New(env->isolate(), 8 * sizeof(intptr_t)));

if (!config_warning_file.empty()) {
target->DefineOwnProperty(
context,
FIXED_ONE_BYTE_STRING(isolate, "warningFile"),
String::NewFromUtf8(isolate,
config_warning_file.data(),
v8::NewStringType::kNormal).ToLocalChecked(),
ReadOnly).FromJust();
READONLY_STRING_PROPERTY(target, "warningFile", config_warning_file);
}

Local<Object> debugOptions = Object::New(isolate);
READONLY_PROPERTY(target, "debugOptions", debugOptions);

READONLY_STRING_PROPERTY(debugOptions, "host", debug_options.host_name());

READONLY_PROPERTY(debugOptions,
"port",
Integer::New(isolate, debug_options.port()));

target->DefineOwnProperty(
context,
FIXED_ONE_BYTE_STRING(isolate, "debugOptions"),
debugOptions, ReadOnly).FromJust();

debugOptions->DefineOwnProperty(
context,
FIXED_ONE_BYTE_STRING(isolate, "host"),
String::NewFromUtf8(isolate,
debug_options.host_name().c_str(),
v8::NewStringType::kNormal).ToLocalChecked(),
ReadOnly).FromJust();

debugOptions->DefineOwnProperty(
context,
env->port_string(),
Integer::New(isolate, debug_options.port()),
ReadOnly).FromJust();

debugOptions->DefineOwnProperty(
context,
FIXED_ONE_BYTE_STRING(isolate, "inspectorEnabled"),
Boolean::New(isolate, debug_options.inspector_enabled()), ReadOnly)
.FromJust();
READONLY_PROPERTY(debugOptions,
"inspectorEnabled",
Boolean::New(isolate, debug_options.inspector_enabled()));
} // InitConfig

} // namespace node
Expand Down

0 comments on commit 2737b46

Please sign in to comment.