@@ -12,68 +12,40 @@ using v8::Isolate;
1212using v8::Local;
1313using v8::Number;
1414using v8::Object;
15- using v8::ReadOnly;
16- using v8::String;
1715using v8::Value;
1816
1917// The config binding is used to provide an internal view of compile or runtime
2018// config options that are required internally by lib/*.js code. This is an
2119// alternative to dropping additional properties onto the process object as
2220// has been the practice previously in node.cc.
2321
24- #define READONLY_BOOLEAN_PROPERTY (str ) \
25- do { \
26- target->DefineOwnProperty (context, \
27- FIXED_ONE_BYTE_STRING (isolate, str), \
28- True (isolate), ReadOnly).FromJust (); \
29- } while (0 )
30-
31- #define READONLY_STRING_PROPERTY (obj, str, val ) \
32- do { \
33- (obj)->DefineOwnProperty (context, \
34- FIXED_ONE_BYTE_STRING (isolate, str), \
35- String::NewFromUtf8 ( \
36- isolate, \
37- val.data (), \
38- v8::NewStringType::kNormal ).ToLocalChecked (), \
39- ReadOnly).FromJust (); \
40- } while (0 )
41-
42-
43- #define READONLY_PROPERTY (obj, name, value ) \
44- do { \
45- obj->DefineOwnProperty (env->context (), \
46- FIXED_ONE_BYTE_STRING (isolate, name), \
47- value, ReadOnly).FromJust (); \
48- } while (0 )
49-
5022static void Initialize (Local<Object> target,
5123 Local<Value> unused,
5224 Local<Context> context) {
5325 Environment* env = Environment::GetCurrent (context);
5426 Isolate* isolate = env->isolate ();
5527
5628#ifdef NODE_FIPS_MODE
57- READONLY_BOOLEAN_PROPERTY ( " fipsMode" );
29+ READONLY_TRUE_PROPERTY (target, " fipsMode" );
5830 // TODO(addaleax): Use options parser variable instead.
5931 if (per_process_opts->force_fips_crypto )
60- READONLY_BOOLEAN_PROPERTY ( " fipsForced" );
32+ READONLY_TRUE_PROPERTY (target, " fipsForced" );
6133#endif
6234
6335#ifdef NODE_HAVE_I18N_SUPPORT
6436
65- READONLY_BOOLEAN_PROPERTY ( " hasIntl" );
37+ READONLY_TRUE_PROPERTY (target, " hasIntl" );
6638
6739#ifdef NODE_HAVE_SMALL_ICU
68- READONLY_BOOLEAN_PROPERTY ( " hasSmallICU" );
40+ READONLY_TRUE_PROPERTY (target, " hasSmallICU" );
6941#endif // NODE_HAVE_SMALL_ICU
7042
7143#if NODE_USE_V8_PLATFORM
72- READONLY_BOOLEAN_PROPERTY ( " hasTracing" );
44+ READONLY_TRUE_PROPERTY (target, " hasTracing" );
7345#endif
7446
7547#if !defined(NODE_WITHOUT_NODE_OPTIONS)
76- READONLY_BOOLEAN_PROPERTY ( " hasNodeOptions" );
48+ READONLY_TRUE_PROPERTY (target, " hasNodeOptions" );
7749#endif
7850
7951 // TODO(addaleax): This seems to be an unused, private API. Remove it?
@@ -83,35 +55,35 @@ static void Initialize(Local<Object> target,
8355#endif // NODE_HAVE_I18N_SUPPORT
8456
8557 if (env->options ()->preserve_symlinks )
86- READONLY_BOOLEAN_PROPERTY ( " preserveSymlinks" );
58+ READONLY_TRUE_PROPERTY (target, " preserveSymlinks" );
8759 if (env->options ()->preserve_symlinks_main )
88- READONLY_BOOLEAN_PROPERTY ( " preserveSymlinksMain" );
60+ READONLY_TRUE_PROPERTY (target, " preserveSymlinksMain" );
8961
9062 if (env->options ()->experimental_modules ) {
91- READONLY_BOOLEAN_PROPERTY ( " experimentalModules" );
63+ READONLY_TRUE_PROPERTY (target, " experimentalModules" );
9264 const std::string& userland_loader = env->options ()->userland_loader ;
9365 if (!userland_loader.empty ()) {
9466 READONLY_STRING_PROPERTY (target, " userLoader" , userland_loader);
9567 }
9668 }
9769
9870 if (env->options ()->experimental_vm_modules )
99- READONLY_BOOLEAN_PROPERTY ( " experimentalVMModules" );
71+ READONLY_TRUE_PROPERTY (target, " experimentalVMModules" );
10072
10173 if (env->options ()->experimental_worker )
102- READONLY_BOOLEAN_PROPERTY ( " experimentalWorker" );
74+ READONLY_TRUE_PROPERTY (target, " experimentalWorker" );
10375
10476 if (env->options ()->experimental_repl_await )
105- READONLY_BOOLEAN_PROPERTY ( " experimentalREPLAwait" );
77+ READONLY_TRUE_PROPERTY (target, " experimentalREPLAwait" );
10678
10779 if (env->options ()->pending_deprecation )
108- READONLY_BOOLEAN_PROPERTY ( " pendingDeprecation" );
80+ READONLY_TRUE_PROPERTY (target, " pendingDeprecation" );
10981
11082 if (env->options ()->expose_internals )
111- READONLY_BOOLEAN_PROPERTY ( " exposeInternals" );
83+ READONLY_TRUE_PROPERTY (target, " exposeInternals" );
11284
11385 if (env->abort_on_uncaught_exception ())
114- READONLY_BOOLEAN_PROPERTY ( " shouldAbortOnUncaughtException" );
86+ READONLY_TRUE_PROPERTY (target, " shouldAbortOnUncaughtException" );
11587
11688 READONLY_PROPERTY (target,
11789 " bits" ,
0 commit comments