aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/webcore/JSWritableStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/bindings/webcore/JSWritableStream.h')
-rw-r--r--src/bun.js/bindings/webcore/JSWritableStream.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/bun.js/bindings/webcore/JSWritableStream.h b/src/bun.js/bindings/webcore/JSWritableStream.h
new file mode 100644
index 000000000..d8b971645
--- /dev/null
+++ b/src/bun.js/bindings/webcore/JSWritableStream.h
@@ -0,0 +1,98 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#pragma once
+
+#include "JSDOMWrapper.h"
+#include "WritableStream.h"
+#include <wtf/NeverDestroyed.h>
+
+namespace WebCore {
+
+class JSWritableStream : public JSDOMWrapper<WritableStream> {
+public:
+ using Base = JSDOMWrapper<WritableStream>;
+ static JSWritableStream* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref<WritableStream>&& impl)
+ {
+ JSWritableStream* ptr = new (NotNull, JSC::allocateCell<JSWritableStream>(globalObject->vm())) JSWritableStream(structure, *globalObject, WTFMove(impl));
+ ptr->finishCreation(globalObject->vm());
+ return ptr;
+ }
+
+ static JSC::JSObject* createPrototype(JSC::VM&, JSDOMGlobalObject&);
+ static JSC::JSObject* prototype(JSC::VM&, JSDOMGlobalObject&);
+ static WritableStream* toWrapped(JSC::VM&, JSC::JSValue);
+ static void destroy(JSC::JSCell*);
+
+ DECLARE_INFO;
+
+ static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info(), JSC::NonArray);
+ }
+
+ static JSC::JSValue getConstructor(JSC::VM&, const JSC::JSGlobalObject*);
+ template<typename, JSC::SubspaceAccess mode> static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm)
+ {
+ if constexpr (mode == JSC::SubspaceAccess::Concurrently)
+ return nullptr;
+ return subspaceForImpl(vm);
+ }
+ static JSC::GCClient::IsoSubspace* subspaceForImpl(JSC::VM& vm);
+ static void analyzeHeap(JSCell*, JSC::HeapAnalyzer&);
+
+ // Custom functions
+ JSC::JSValue abort(JSC::JSGlobalObject&, JSC::CallFrame&);
+ JSC::JSValue close(JSC::JSGlobalObject&, JSC::CallFrame&);
+ JSC::JSValue getWriter(JSC::JSGlobalObject&, JSC::CallFrame&);
+protected:
+ JSWritableStream(JSC::Structure*, JSDOMGlobalObject&, Ref<WritableStream>&&);
+
+ void finishCreation(JSC::VM&);
+};
+
+class JSWritableStreamOwner final : public JSC::WeakHandleOwner {
+public:
+ bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::AbstractSlotVisitor&, const char**) final;
+ void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
+};
+
+inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, WritableStream*)
+{
+ static NeverDestroyed<JSWritableStreamOwner> owner;
+ return &owner.get();
+}
+
+inline void* wrapperKey(WritableStream* wrappableObject)
+{
+ return wrappableObject;
+}
+
+JSC::JSValue toJS(JSC::JSGlobalObject*, JSDOMGlobalObject*, WritableStream&);
+inline JSC::JSValue toJS(JSC::JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, WritableStream* impl) { return impl ? toJS(lexicalGlobalObject, globalObject, *impl) : JSC::jsNull(); }
+JSC::JSValue toJSNewlyCreated(JSC::JSGlobalObject*, JSDOMGlobalObject*, Ref<WritableStream>&&);
+inline JSC::JSValue toJSNewlyCreated(JSC::JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, RefPtr<WritableStream>&& impl) { return impl ? toJSNewlyCreated(lexicalGlobalObject, globalObject, impl.releaseNonNull()) : JSC::jsNull(); }
+
+template<> struct JSDOMWrapperConverterTraits<WritableStream> {
+ using WrapperClass = JSWritableStream;
+ using ToWrappedReturnType = WritableStream*;
+};
+
+} // namespace WebCore