diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/node.cc | 2 | ||||
-rw-r--r-- | src/node_constants.cc | 30 | ||||
-rw-r--r-- | src/node_constants.h | 2 |
3 files changed, 24 insertions, 10 deletions
diff --git a/src/node.cc b/src/node.cc index e7c8eb177a..075fd1b81a 100644 --- a/src/node.cc +++ b/src/node.cc @@ -2509,7 +2509,7 @@ static void Binding(const FunctionCallbackInfo<Value>& args) { cache->Set(module, exports); } else if (!strcmp(*module_v, "constants")) { exports = Object::New(env->isolate()); - DefineConstants(exports); + DefineConstants(env->isolate(), exports); cache->Set(module, exports); } else if (!strcmp(*module_v, "natives")) { exports = Object::New(env->isolate()); diff --git a/src/node_constants.cc b/src/node_constants.cc index 928502f6af..2e6be8df37 100644 --- a/src/node_constants.cc +++ b/src/node_constants.cc @@ -1,4 +1,6 @@ #include "node_constants.h" +#include "env.h" +#include "env-inl.h" #include "uv.h" @@ -1140,14 +1142,26 @@ void DefineCryptoConstants(Local<Object> target) { #endif } -void DefineConstants(Local<Object> target) { - DefineErrnoConstants(target); - DefineWindowsErrorConstants(target); - DefineSignalConstants(target); - DefineOpenSSLConstants(target); - DefineSystemConstants(target); - DefineUVConstants(target); - DefineCryptoConstants(target); +void DefineConstants(v8::Isolate* isolate, Local<Object> target) { + Local<Object> os_constants = Object::New(isolate); + Local<Object> err_constants = Object::New(isolate); + Local<Object> sig_constants = Object::New(isolate); + Local<Object> fs_constants = Object::New(isolate); + Local<Object> crypto_constants = Object::New(isolate); + + DefineErrnoConstants(err_constants); + DefineWindowsErrorConstants(err_constants); + DefineSignalConstants(sig_constants); + DefineUVConstants(os_constants); + DefineSystemConstants(fs_constants); + DefineOpenSSLConstants(crypto_constants); + DefineCryptoConstants(crypto_constants); + + os_constants->Set(OneByteString(isolate, "errno"), err_constants); + os_constants->Set(OneByteString(isolate, "signals"), sig_constants); + target->Set(OneByteString(isolate, "os"), os_constants); + target->Set(OneByteString(isolate, "fs"), fs_constants); + target->Set(OneByteString(isolate, "crypto"), crypto_constants); } } // namespace node diff --git a/src/node_constants.h b/src/node_constants.h index a7c75c4eb2..133e68c192 100644 --- a/src/node_constants.h +++ b/src/node_constants.h @@ -34,7 +34,7 @@ namespace node { extern const char* default_cipher_list; #endif -void DefineConstants(v8::Local<v8::Object> target); +void DefineConstants(v8::Isolate* isolate, v8::Local<v8::Object> target); } // namespace node #endif // SRC_NODE_CONSTANTS_H_ |