summaryrefslogtreecommitdiff
path: root/src/node_symbols.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_symbols.cc')
-rw-r--r--src/node_symbols.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/node_symbols.cc b/src/node_symbols.cc
new file mode 100644
index 0000000000..36289b9f41
--- /dev/null
+++ b/src/node_symbols.cc
@@ -0,0 +1,29 @@
+#include "env-inl.h"
+#include "node_binding.h"
+
+namespace node {
+
+using v8::Context;
+using v8::Local;
+using v8::Object;
+using v8::Value;
+
+namespace symbols {
+
+static void Initialize(Local<Object> target,
+ Local<Value> unused,
+ Local<Context> context,
+ void* priv) {
+ Environment* env = Environment::GetCurrent(context);
+#define V(PropertyName, StringValue) \
+ target \
+ ->Set(env->context(), env->PropertyName()->Name(), env->PropertyName()) \
+ .FromJust();
+ PER_ISOLATE_SYMBOL_PROPERTIES(V)
+#undef V
+}
+
+} // namespace symbols
+} // namespace node
+
+NODE_MODULE_CONTEXT_AWARE_INTERNAL(symbols, node::symbols::Initialize)