diff options
Diffstat (limited to 'src/mongo/scripting/mozjs/numberint.cpp')
-rw-r--r-- | src/mongo/scripting/mozjs/numberint.cpp | 9 |
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); |