public static extern JS_BOOL JS_SetConstructorBit(JSContext ctx, JSValueConst func_obj, JS_BOOL val);
public static void PromiseRejectionTracker(JSContext ctx, JSValueConst promise, JSValueConst reason, JS_BOOL is_handled, IntPtr opaque) { if (is_handled != 1) { var logger = ScriptEngine.GetLogger(ctx); if (logger != null) { var reasonStr = GetString(ctx, reason); var is_error = JS_IsError(ctx, reason); do { if (is_error == 1) { var val = JS_GetPropertyStr(ctx, reason, "stack"); if (!JS_IsUndefined(val)) { var stack = GetString(ctx, val); JS_FreeValue(ctx, val); logger.Write(LogLevel.Error, "Unhandled promise rejection: {0}\n{1}", reasonStr, stack); return; } JS_FreeValue(ctx, val); } logger.Write(LogLevel.Error, "Unhandled promise rejection: {0}", reasonStr); } while (false); } } }
public static extern JSValue JS_GetPropertyInternal(JSContext ctx, JSValueConst obj, JSAtom prop, JSValueConst receiver, JS_BOOL throw_ref_error);