summaryrefslogtreecommitdiff
path: root/src/node_constants.cc
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2016-05-02 10:27:12 -0700
committerJames M Snell <jasnell@gmail.com>2016-05-17 11:05:18 -0700
commitdcccbfdc799d174901c29d82874457367231fec5 (patch)
treebb1a45d053b169af0b1662000d57e034e4422996 /src/node_constants.cc
parentf856234ffaa10441545c3b6ce420b247a17c06cf (diff)
downloadandroid-node-v8-dcccbfdc799d174901c29d82874457367231fec5.tar.gz
android-node-v8-dcccbfdc799d174901c29d82874457367231fec5.tar.bz2
android-node-v8-dcccbfdc799d174901c29d82874457367231fec5.zip
src: refactor require('constants')
The require('constants') module is currently undocumented and mashes together unrelated constants. This refactors the require('constants') in favor of distinct os.constants, fs.constants, and crypto.constants that are specific to the modules for which they are relevant. The next step is to document those within the specific modules. PR-URL: https://github.com/nodejs/node/pull/6534 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Lindstaedt <robert.lindstaedt@gmail.com>
Diffstat (limited to 'src/node_constants.cc')
-rw-r--r--src/node_constants.cc30
1 files changed, 22 insertions, 8 deletions
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