From aa0762e4660bb17b86890b923368e5a0dc8daf7b Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Mon, 13 Feb 2023 00:50:15 -0800 Subject: Implement `FormData` (#2051) * Backport std::forward change * Implement `FormData` * Fix io_darwin headers issue * Implement `Blob` support in FormData * Add test for file upload * Fix bug with Blob not reading Content-Type * Finish implementing FormData * Add FormData to types --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- src/bun.js/bindings/blob.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/bun.js/bindings/blob.cpp (limited to 'src/bun.js/bindings/blob.cpp') diff --git a/src/bun.js/bindings/blob.cpp b/src/bun.js/bindings/blob.cpp new file mode 100644 index 000000000..257f230e1 --- /dev/null +++ b/src/bun.js/bindings/blob.cpp @@ -0,0 +1,17 @@ +#include "blob.h" + +extern "C" JSC::EncodedJSValue Blob__create(JSC::JSGlobalObject* globalObject, void* impl); + +namespace WebCore { + +JSC::JSValue toJS(JSC::JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, WebCore::Blob& impl) +{ + return JSC::JSValue::decode(Blob__create(lexicalGlobalObject, Blob__dupe(impl.impl()))); +} + +JSC::JSValue toJSNewlyCreated(JSC::JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, Ref&& impl) +{ + return JSC::JSValue::decode(Blob__create(lexicalGlobalObject, impl->impl())); +} + +} \ No newline at end of file -- cgit v1.2.3