ladybird/Libraries/LibWeb/Streams/Algorithms.h
Shannon Booth c6d0f87bb7 LibWeb/Streams: Put algorithm definitions in a separate header file
To solve a future cyclic dependency problem.
2024-12-11 15:11:21 +01:00

26 lines
912 B
C++

/*
* Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibGC/Function.h>
#include <LibGC/Ptr.h>
#include <LibWeb/WebIDL/ExceptionOr.h>
#include <LibWeb/WebIDL/Promise.h>
namespace Web::Streams {
using SizeAlgorithm = GC::Function<JS::Completion(JS::Value)>;
using PullAlgorithm = GC::Function<GC::Ref<WebIDL::Promise>()>;
using CancelAlgorithm = GC::Function<GC::Ref<WebIDL::Promise>(JS::Value)>;
using StartAlgorithm = GC::Function<WebIDL::ExceptionOr<JS::Value>()>;
using AbortAlgorithm = GC::Function<GC::Ref<WebIDL::Promise>(JS::Value)>;
using CloseAlgorithm = GC::Function<GC::Ref<WebIDL::Promise>()>;
using WriteAlgorithm = GC::Function<GC::Ref<WebIDL::Promise>(JS::Value)>;
using FlushAlgorithm = GC::Function<GC::Ref<WebIDL::Promise>()>;
using TransformAlgorithm = GC::Function<GC::Ref<WebIDL::Promise>(JS::Value)>;
}