mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Merge 9550c870a2 into 457cf9ecef
This commit is contained in:
commit
dec2c5a776
2 changed files with 24 additions and 5 deletions
|
|
@ -8912,7 +8912,13 @@ static inline JS_BOOL JS_IsNumber(JSValueConst v)
|
||||||
return tag == JS_TAG_INT || JS_TAG_IS_FLOAT64(tag);
|
return tag == JS_TAG_INT || JS_TAG_IS_FLOAT64(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline JS_BOOL JS_IsBigInt(JSContext *ctx, JSValueConst v)
|
static inline JS_BOOL JS_IsInteger(JSValueConst v)
|
||||||
|
{
|
||||||
|
int tag = JS_VALUE_GET_TAG(v);
|
||||||
|
return tag == JS_TAG_INT;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline JS_BOOL JS_IsBigInt(JSValueConst v)
|
||||||
{
|
{
|
||||||
int tag = JS_VALUE_GET_TAG(v);
|
int tag = JS_VALUE_GET_TAG(v);
|
||||||
return tag == JS_TAG_BIG_INT;
|
return tag == JS_TAG_BIG_INT;
|
||||||
|
|
@ -20781,7 +20787,7 @@ inline int JS_ToInt64(JSContext *ctx, int64_t *pres, JSValueConst val)
|
||||||
|
|
||||||
inline int JS_ToInt64Ext(JSContext *ctx, int64_t *pres, JSValueConst val)
|
inline int JS_ToInt64Ext(JSContext *ctx, int64_t *pres, JSValueConst val)
|
||||||
{
|
{
|
||||||
if (JS_IsBigInt(ctx, val))
|
if (JS_IsBigInt(val))
|
||||||
return JS_ToBigInt64(ctx, pres, val);
|
return JS_ToBigInt64(ctx, pres, val);
|
||||||
else
|
else
|
||||||
return JS_ToInt64(ctx, pres, val);
|
return JS_ToInt64(ctx, pres, val);
|
||||||
|
|
|
||||||
|
|
@ -249,9 +249,22 @@ static var tryQuickJSToJuce (const qjs::QuickJSContext::ValuePtr& ptr,
|
||||||
|
|
||||||
if (JS_IsNumber (ptr.value))
|
if (JS_IsNumber (ptr.value))
|
||||||
{
|
{
|
||||||
double d = 0;
|
if(JS_IsBigInt(ptr.value))
|
||||||
JS_ToFloat64 (ptr.context, std::addressof (d), ptr.value);
|
{
|
||||||
return d;
|
int64_t i = 0;
|
||||||
|
JS_ToBigInt64 (ptr.context, std::addressof (i), ptr.value);
|
||||||
|
return var((juce::int64)i);
|
||||||
|
}if(JS_IsInteger(ptr.value))
|
||||||
|
{
|
||||||
|
int32_t i = 0;
|
||||||
|
JS_ToInt32 (ptr.context, std::addressof (i), ptr.value);
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
double d = 0;
|
||||||
|
JS_ToFloat64 (ptr.context, std::addressof (d), ptr.value);
|
||||||
|
return d;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (JS_IsBool (ptr.value))
|
if (JS_IsBool (ptr.value))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue