Expose JS_ToBoolean(), JS_ToNumber(), and JS_ToObject()

This commit is contained in:
Kasper Isager Dalsgarð 2024-08-07 11:21:00 +02:00
parent 6e2e68fd08
commit 159e33a227
2 changed files with 8 additions and 4 deletions

View file

@ -1135,7 +1135,6 @@ static BOOL js_strict_eq2(JSContext *ctx, JSValue op1, JSValue op2,
static BOOL js_strict_eq(JSContext *ctx, JSValueConst op1, JSValueConst op2);
static BOOL js_same_value(JSContext *ctx, JSValueConst op1, JSValueConst op2);
static BOOL js_same_value_zero(JSContext *ctx, JSValueConst op1, JSValueConst op2);
static JSValue JS_ToObject(JSContext *ctx, JSValueConst val);
static JSValue JS_ToObjectFree(JSContext *ctx, JSValue val);
static JSProperty *add_property(JSContext *ctx,
JSObject *p, JSAtom prop, int prop_flags);
@ -1236,7 +1235,6 @@ static JSValue js_promise_then(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv);
static int js_string_compare(JSContext *ctx,
const JSString *p1, const JSString *p2);
static JSValue JS_ToNumber(JSContext *ctx, JSValueConst val);
static int JS_SetPropertyValue(JSContext *ctx, JSValueConst this_obj,
JSValue prop, JSValue val, int flags);
static int JS_NumberIsInteger(JSContext *ctx, JSValueConst val);
@ -10620,7 +10618,7 @@ int JS_ToFloat64(JSContext *ctx, double *pres, JSValueConst val)
return JS_ToFloat64Free(ctx, pres, JS_DupValue(ctx, val));
}
static JSValue JS_ToNumber(JSContext *ctx, JSValueConst val)
JSValue JS_ToNumber(JSContext *ctx, JSValueConst val)
{
return JS_ToNumberFree(ctx, JS_DupValue(ctx, val));
}
@ -37129,7 +37127,7 @@ static JSValue js_global_isFinite(JSContext *ctx, JSValueConst this_val,
/* Object class */
static JSValue JS_ToObject(JSContext *ctx, JSValueConst val)
JSValue JS_ToObject(JSContext *ctx, JSValueConst val)
{
int tag = JS_VALUE_GET_NORM_TAG(val);
JSValue obj;

View file

@ -689,6 +689,11 @@ JS_BOOL JS_SameValue(JSContext *ctx, JSValueConst op1, JSValueConst op2);
JS_BOOL JS_SameValueZero(JSContext *ctx, JSValueConst op1, JSValueConst op2);
int JS_ToBool(JSContext *ctx, JSValueConst val); /* return -1 for JS_EXCEPTION */
static inline JSValue JS_ToBoolean(JSContext *ctx, JSValueConst val)
{
return JS_NewBool(ctx, JS_ToBool(ctx, val));
}
JSValue JS_ToNumber(JSContext *ctx, JSValueConst val);
int JS_ToInt32(JSContext *ctx, int32_t *pres, JSValueConst val);
static inline int JS_ToUint32(JSContext *ctx, uint32_t *pres, JSValueConst val)
{
@ -722,6 +727,7 @@ JSValue JS_NewObjectProtoClass(JSContext *ctx, JSValueConst proto, JSClassID cla
JSValue JS_NewObjectClass(JSContext *ctx, int class_id);
JSValue JS_NewObjectProto(JSContext *ctx, JSValueConst proto);
JSValue JS_NewObject(JSContext *ctx);
JSValue JS_ToObject(JSContext *ctx, JSValueConst val);
JS_BOOL JS_IsFunction(JSContext* ctx, JSValueConst val);
JS_BOOL JS_IsConstructor(JSContext* ctx, JSValueConst val);