mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 19:08:50 +00:00
[bun.js] Implement Blob
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "BunClientData.h"
|
||||
#include "GCDefferalContext.h"
|
||||
#include "ZigGlobalObject.h"
|
||||
#include "helpers.h"
|
||||
#include "root.h"
|
||||
@@ -42,7 +43,6 @@
|
||||
#include <wtf/text/StringImpl.h>
|
||||
#include <wtf/text/StringView.h>
|
||||
#include <wtf/text/WTFString.h>
|
||||
|
||||
extern "C" {
|
||||
|
||||
JSC__JSValue SystemError__toErrorInstance(const SystemError* arg0,
|
||||
@@ -237,12 +237,20 @@ void JSC__JSValue__jsonStringify(JSC__JSValue JSValue0, JSC__JSGlobalObject* arg
|
||||
unsigned char JSC__JSValue__jsType(JSC__JSValue JSValue0)
|
||||
{
|
||||
JSC::JSValue jsValue = JSC::JSValue::decode(JSValue0);
|
||||
if (JSC::JSCell* cell = jsValue.asCell())
|
||||
return cell->type();
|
||||
// if the value is NOT a cell
|
||||
// asCell will return an invalid pointer rather than a nullptr
|
||||
if (jsValue.isCell())
|
||||
return jsValue.asCell()->type();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
JSC__JSValue JSC__JSValue__parseJSON(JSC__JSValue JSValue0, JSC__JSGlobalObject* arg1)
|
||||
{
|
||||
JSC::JSValue jsValue = JSC::JSValue::decode(JSValue0);
|
||||
return JSC::JSValue::encode(JSC::JSONParse(arg1, jsValue.toWTFString(arg1)));
|
||||
}
|
||||
|
||||
void JSC__JSGlobalObject__deleteModuleRegistryEntry(JSC__JSGlobalObject* global, ZigString* arg1)
|
||||
{
|
||||
JSC::JSMap* map = JSC::jsDynamicCast<JSC::JSMap*>(
|
||||
@@ -2148,6 +2156,14 @@ void JSC__VM__holdAPILock(JSC__VM* arg0, void* ctx, void (*callback)(void* arg0)
|
||||
callback(ctx);
|
||||
}
|
||||
|
||||
void JSC__VM__deferGC(JSC__VM* vm, void* ctx, void (*callback)(void* arg0))
|
||||
{
|
||||
JSC::GCDeferralContext deferralContext(reinterpret_cast<JSC__VM&>(vm));
|
||||
JSC::DisallowGC disallowGC;
|
||||
|
||||
callback(ctx);
|
||||
}
|
||||
|
||||
void JSC__VM__deleteAllCode(JSC__VM* arg1, JSC__JSGlobalObject* globalObject)
|
||||
{
|
||||
JSC::JSLockHolder locker(globalObject->vm());
|
||||
|
||||
Reference in New Issue
Block a user