/* * Copyright (c) 2023, Kenneth Myhra * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include #include #include namespace Web::Streams { // https://streams.spec.whatwg.org/#ts-construct WebIDL::ExceptionOr> TransformStream::construct_impl(JS::Realm& realm, Optional> transformer_object, QueuingStrategy const& writable_strategy, QueuingStrategy const& readable_strategy) { (void)transformer_object; (void)writable_strategy; (void)readable_strategy; return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm)); } TransformStream::TransformStream(JS::Realm& realm) : Bindings::PlatformObject(realm) { } TransformStream::~TransformStream() = default; JS::ThrowCompletionOr TransformStream::initialize(JS::Realm& realm) { MUST_OR_THROW_OOM(Base::initialize(realm)); set_prototype(&Bindings::ensure_web_prototype(realm, "TransformStream")); return {}; } void TransformStream::visit_edges(Cell::Visitor& visitor) { Base::visit_edges(visitor); visitor.visit(m_backpressure_change_promise); visitor.visit(m_controller); visitor.visit(m_readable); visitor.visit(m_writable); } }