/* * Copyright (c) 2022, Linus Groh * Copyright (c) 2023, Matthew Olsson * Copyright (c) 2023-2025, Shannon Booth * Copyright (c) 2023-2024, Kenneth Myhra * Copyright (c) 2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Web::Streams { // 6.4.1. Working with transform streams, https://streams.spec.whatwg.org/#ts-abstract-ops void initialize_transform_stream(TransformStream&, GC::Ref start_promise, double writable_high_water_mark, GC::Ref writable_size_algorithm, double readable_high_water_mark, GC::Ref readable_size_algorithm); void transform_stream_error(TransformStream&, JS::Value error); void transform_stream_error_writable_and_unblock_write(TransformStream&, JS::Value error); void transform_stream_set_backpressure(TransformStream&, bool backpressure); void transform_stream_unblock_write(TransformStream&); // 6.4.2. Default controllers, https://streams.spec.whatwg.org/#ts-default-controller-abstract-ops void set_up_transform_stream_default_controller(TransformStream&, TransformStreamDefaultController&, GC::Ref, GC::Ref, GC::Ref); void set_up_transform_stream_default_controller_from_transformer(TransformStream&, JS::Value transformer, Transformer&); void transform_stream_default_controller_clear_algorithms(TransformStreamDefaultController&); WebIDL::ExceptionOr transform_stream_default_controller_enqueue(TransformStreamDefaultController&, JS::Value chunk); void transform_stream_default_controller_error(TransformStreamDefaultController&, JS::Value error); GC::Ref transform_stream_default_controller_perform_transform(TransformStreamDefaultController&, JS::Value chunk); void transform_stream_default_controller_terminate(TransformStreamDefaultController&); // 6.4.3. Default sinks, https://streams.spec.whatwg.org/#ts-default-sink-abstract-ops GC::Ref transform_stream_default_sink_write_algorithm(TransformStream&, JS::Value chunk); GC::Ref transform_stream_default_sink_abort_algorithm(TransformStream&, JS::Value reason); GC::Ref transform_stream_default_sink_close_algorithm(TransformStream&); // 6.4.4. Default sources, https://streams.spec.whatwg.org/#ts-default-source-abstract-ops GC::Ref transform_stream_default_source_cancel_algorithm(TransformStream&, JS::Value reason); GC::Ref transform_stream_default_source_pull_algorithm(TransformStream&); }