summaryrefslogtreecommitdiff
path: root/src/node_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_util.cc')
-rw-r--r--src/node_util.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/node_util.cc b/src/node_util.cc
index 1e0f214ae4..8475468c1f 100644
--- a/src/node_util.cc
+++ b/src/node_util.cc
@@ -52,6 +52,21 @@ static void GetHiddenValue(const FunctionCallbackInfo<Value>& args) {
args.GetReturnValue().Set(obj->GetHiddenValue(name));
}
+static void SetHiddenValue(const FunctionCallbackInfo<Value>& args) {
+ Environment* env = Environment::GetCurrent(args);
+
+ if (!args[0]->IsObject())
+ return env->ThrowTypeError("obj must be an object");
+
+ if (!args[1]->IsString())
+ return env->ThrowTypeError("name must be a string");
+
+ Local<Object> obj = args[0].As<Object>();
+ Local<String> name = args[1].As<String>();
+
+ args.GetReturnValue().Set(obj->SetHiddenValue(name, args[2]));
+}
+
void Initialize(Local<Object> target,
Local<Value> unused,
@@ -63,6 +78,7 @@ void Initialize(Local<Object> target,
#undef V
env->SetMethod(target, "getHiddenValue", GetHiddenValue);
+ env->SetMethod(target, "setHiddenValue", SetHiddenValue);
}
} // namespace util