aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/bindings/bindings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/javascript/jsc/bindings/bindings.cpp')
-rw-r--r--src/javascript/jsc/bindings/bindings.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/javascript/jsc/bindings/bindings.cpp b/src/javascript/jsc/bindings/bindings.cpp
index 84d57a83c..9f12ee44d 100644
--- a/src/javascript/jsc/bindings/bindings.cpp
+++ b/src/javascript/jsc/bindings/bindings.cpp
@@ -1607,6 +1607,25 @@ JSC__JSValue JSC__JSValue__jsNumberFromUint64(uint64_t arg0)
return JSC::JSValue::encode(JSC::jsNumber(arg0));
};
+int64_t JSC__JSValue__toInt64(JSC__JSValue val)
+{
+ JSC::JSValue _val = JSC::JSValue::decode(val);
+
+ int64_t result = JSC::tryConvertToInt52(_val.asDouble());
+ if (result != JSC::JSValue::notInt52) {
+ return result;
+ }
+
+ if (auto* heapBigInt = _val.asHeapBigInt()) {
+ return heapBigInt->toBigInt64(heapBigInt);
+ }
+
+
+
+ return _val.asAnyInt();
+}
+
+
JSC__JSValue JSC__JSValue__createObject2(JSC__JSGlobalObject* globalObject, const ZigString* arg1,
const ZigString* arg2, JSC__JSValue JSValue3,
JSC__JSValue JSValue4)