summaryrefslogtreecommitdiff
path: root/src/mongo/scripting/mozjs/numberint.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/scripting/mozjs/numberint.cpp')
-rw-r--r--src/mongo/scripting/mozjs/numberint.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mongo/scripting/mozjs/numberint.cpp b/src/mongo/scripting/mozjs/numberint.cpp
index c55510502e9..b4d6af63155 100644
--- a/src/mongo/scripting/mozjs/numberint.cpp
+++ b/src/mongo/scripting/mozjs/numberint.cpp
@@ -40,9 +40,10 @@
namespace mongo {
namespace mozjs {
-const JSFunctionSpec NumberIntInfo::methods[4] = {
+const JSFunctionSpec NumberIntInfo::methods[5] = {
MONGO_ATTACH_JS_CONSTRAINED_METHOD(toNumber, NumberIntInfo),
MONGO_ATTACH_JS_CONSTRAINED_METHOD(toString, NumberIntInfo),
+ MONGO_ATTACH_JS_CONSTRAINED_METHOD(toJSON, NumberIntInfo),
MONGO_ATTACH_JS_CONSTRAINED_METHOD(valueOf, NumberIntInfo),
JS_FS_END,
};
@@ -87,6 +88,12 @@ void NumberIntInfo::Functions::toString::call(JSContext* cx, JS::CallArgs args)
ValueReader(cx, args.rval()).fromStringData(ss.operator std::string());
}
+void NumberIntInfo::Functions::toJSON::call(JSContext* cx, JS::CallArgs args) {
+ int val = NumberIntInfo::ToNumberInt(cx, args.thisv());
+
+ args.rval().setInt32(val);
+}
+
void NumberIntInfo::construct(JSContext* cx, JS::CallArgs args) {
auto scope = getScope(cx);