/* * Copyright (c) 2023, Matthew Olsson * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Web::Streams { // https://streams.spec.whatwg.org/#readablestreambyobrequest class ReadableStreamBYOBRequest : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ReadableStreamBYOBRequest, Bindings::PlatformObject); public: virtual ~ReadableStreamBYOBRequest() override = default; JS::GCPtr view(); void set_controller(JS::GCPtr value) { m_controller = value; } void set_view(JS::GCPtr value) { m_view = value; } private: explicit ReadableStreamBYOBRequest(JS::Realm&); virtual void visit_edges(Cell::Visitor&) override; // https://streams.spec.whatwg.org/#readablestreambyobrequest-controller // The parent ReadableByteStreamController instance JS::GCPtr m_controller; // https://streams.spec.whatwg.org/#readablestreambyobrequest-view // A typed array representing the destination region to which the controller can write generated data, or null after the BYOB request has been invalidated. JS::GCPtr m_view; }; }