Transformer.h 951 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright (c) 2023, Kenneth Myhra <kennethmyhra@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibJS/Forward.h>
  8. #include <LibJS/Heap/Handle.h>
  9. #include <LibWeb/Forward.h>
  10. namespace Web::Streams {
  11. // https://streams.spec.whatwg.org/#dictdef-transformer
  12. struct Transformer {
  13. // https://streams.spec.whatwg.org/#dom-transformer-start
  14. JS::Handle<WebIDL::CallbackType> start;
  15. // https://streams.spec.whatwg.org/#dom-transformer-transform
  16. JS::Handle<WebIDL::CallbackType> transform;
  17. // https://streams.spec.whatwg.org/#dom-transformer-flush
  18. JS::Handle<WebIDL::CallbackType> flush;
  19. // https://streams.spec.whatwg.org/#dom-transformer-readabletype
  20. Optional<JS::Value> readable_type;
  21. // https://streams.spec.whatwg.org/#dom-transformer-writabletype
  22. Optional<JS::Value> writable_type;
  23. static JS::ThrowCompletionOr<Transformer> from_value(JS::VM&, JS::Value);
  24. };
  25. }