@@ -12,68 +12,40 @@ using v8::Isolate;
12
12
using v8::Local;
13
13
using v8::Number;
14
14
using v8::Object;
15
- using v8::ReadOnly;
16
- using v8::String;
17
15
using v8::Value;
18
16
19
17
// The config binding is used to provide an internal view of compile or runtime
20
18
// config options that are required internally by lib/*.js code. This is an
21
19
// alternative to dropping additional properties onto the process object as
22
20
// has been the practice previously in node.cc.
23
21
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
-
50
22
static void Initialize (Local<Object> target,
51
23
Local<Value> unused,
52
24
Local<Context> context) {
53
25
Environment* env = Environment::GetCurrent (context);
54
26
Isolate* isolate = env->isolate ();
55
27
56
28
#ifdef NODE_FIPS_MODE
57
- READONLY_BOOLEAN_PROPERTY ( " fipsMode" );
29
+ READONLY_TRUE_PROPERTY (target, " fipsMode" );
58
30
// TODO(addaleax): Use options parser variable instead.
59
31
if (per_process_opts->force_fips_crypto )
60
- READONLY_BOOLEAN_PROPERTY ( " fipsForced" );
32
+ READONLY_TRUE_PROPERTY (target, " fipsForced" );
61
33
#endif
62
34
63
35
#ifdef NODE_HAVE_I18N_SUPPORT
64
36
65
- READONLY_BOOLEAN_PROPERTY ( " hasIntl" );
37
+ READONLY_TRUE_PROPERTY (target, " hasIntl" );
66
38
67
39
#ifdef NODE_HAVE_SMALL_ICU
68
- READONLY_BOOLEAN_PROPERTY ( " hasSmallICU" );
40
+ READONLY_TRUE_PROPERTY (target, " hasSmallICU" );
69
41
#endif // NODE_HAVE_SMALL_ICU
70
42
71
43
#if NODE_USE_V8_PLATFORM
72
- READONLY_BOOLEAN_PROPERTY ( " hasTracing" );
44
+ READONLY_TRUE_PROPERTY (target, " hasTracing" );
73
45
#endif
74
46
75
47
#if !defined(NODE_WITHOUT_NODE_OPTIONS)
76
- READONLY_BOOLEAN_PROPERTY ( " hasNodeOptions" );
48
+ READONLY_TRUE_PROPERTY (target, " hasNodeOptions" );
77
49
#endif
78
50
79
51
// TODO(addaleax): This seems to be an unused, private API. Remove it?
@@ -83,35 +55,35 @@ static void Initialize(Local<Object> target,
83
55
#endif // NODE_HAVE_I18N_SUPPORT
84
56
85
57
if (env->options ()->preserve_symlinks )
86
- READONLY_BOOLEAN_PROPERTY ( " preserveSymlinks" );
58
+ READONLY_TRUE_PROPERTY (target, " preserveSymlinks" );
87
59
if (env->options ()->preserve_symlinks_main )
88
- READONLY_BOOLEAN_PROPERTY ( " preserveSymlinksMain" );
60
+ READONLY_TRUE_PROPERTY (target, " preserveSymlinksMain" );
89
61
90
62
if (env->options ()->experimental_modules ) {
91
- READONLY_BOOLEAN_PROPERTY ( " experimentalModules" );
63
+ READONLY_TRUE_PROPERTY (target, " experimentalModules" );
92
64
const std::string& userland_loader = env->options ()->userland_loader ;
93
65
if (!userland_loader.empty ()) {
94
66
READONLY_STRING_PROPERTY (target, " userLoader" , userland_loader);
95
67
}
96
68
}
97
69
98
70
if (env->options ()->experimental_vm_modules )
99
- READONLY_BOOLEAN_PROPERTY ( " experimentalVMModules" );
71
+ READONLY_TRUE_PROPERTY (target, " experimentalVMModules" );
100
72
101
73
if (env->options ()->experimental_worker )
102
- READONLY_BOOLEAN_PROPERTY ( " experimentalWorker" );
74
+ READONLY_TRUE_PROPERTY (target, " experimentalWorker" );
103
75
104
76
if (env->options ()->experimental_repl_await )
105
- READONLY_BOOLEAN_PROPERTY ( " experimentalREPLAwait" );
77
+ READONLY_TRUE_PROPERTY (target, " experimentalREPLAwait" );
106
78
107
79
if (env->options ()->pending_deprecation )
108
- READONLY_BOOLEAN_PROPERTY ( " pendingDeprecation" );
80
+ READONLY_TRUE_PROPERTY (target, " pendingDeprecation" );
109
81
110
82
if (env->options ()->expose_internals )
111
- READONLY_BOOLEAN_PROPERTY ( " exposeInternals" );
83
+ READONLY_TRUE_PROPERTY (target, " exposeInternals" );
112
84
113
85
if (env->abort_on_uncaught_exception ())
114
- READONLY_BOOLEAN_PROPERTY ( " shouldAbortOnUncaughtException" );
86
+ READONLY_TRUE_PROPERTY (target, " shouldAbortOnUncaughtException" );
115
87
116
88
READONLY_PROPERTY (target,
117
89
" bits" ,
0 commit comments