#pragma once #include "root.h" #include "JSDOMGlobalObject.h" #include "BunClientData.h" namespace WebCore { extern "C" void* Blob__dupeFromJS(JSC::EncodedJSValue impl); extern "C" void* Blob__dupe(void* impl); extern "C" void Blob__destroy(void* impl); class Blob : public RefCounted { public: void* impl() { return m_impl; } static RefPtr create(JSC::JSValue impl) { void* implPtr = Blob__dupeFromJS(JSValue::encode(impl)); if (!implPtr) return nullptr; return adoptRef(*new Blob(implPtr)); } static RefPtr create(void* ptr) { void* implPtr = Blob__dupe(ptr); if (!implPtr) return nullptr; return adoptRef(*new Blob(implPtr)); } ~Blob() { Blob__destroy(m_impl); } String fileName() { return m_fileName; } void setFileName(String fileName) { m_fileName = fileName; } void* m_impl; private: Blob(void* impl, String fileName = String()) { m_impl = impl; m_fileName = fileName; } String m_fileName; }; JSC::JSValue toJS(JSC::JSGlobalObject*, JSDOMGlobalObject*, Blob&); inline JSC::JSValue toJS(JSC::JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, Blob* impl) { return impl ? toJS(lexicalGlobalObject, globalObject, *impl) : JSC::jsNull(); } JSC::JSValue toJSNewlyCreated(JSC::JSGlobalObject*, JSDOMGlobalObject*, Ref&&); inline JSC::JSValue toJSNewlyCreated(JSC::JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, RefPtr&& impl) { return impl ? toJSNewlyCreated(lexicalGlobalObject, globalObject, impl.releaseNonNull()) : JSC::jsNull(); } } sponse-experiment Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-02-13fix(FormData): make String explicit, thanks @dylan-conway (#2065)Gravatar Derrick Farris 1-1/+1
2023-02-13fix(FormData): add string literal operator (#2064)Gravatar Derrick Farris 1-2/+2
2023-02-13Add pretty printer for FormDataGravatar Jarred Sumner 5-1/+101
2023-02-13Add dynamic port assigning to Bun.serve (#2062)Gravatar MichaƂ Warda 3-5/+40
2023-02-13feat(napi): add `napi_get_value_bigint_words` (#2061)Gravatar Derrick Farris 3-0/+44
* feat(napi): add `napi_get_value_bigint_words` * fix(napi): handle `napi_get_value_bigint_words` arr too small
2023-02-13Fixes https://github.com/oven-sh/bun/issues/1456Gravatar Jarred Sumner 8-1/+148