Coverage Report

Created: 2026-05-16 07:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibWeb/Streams/Transformer.cpp
Line
Count
Source
1
/*
2
 * Copyright (c) 2023, Kenneth Myhra <kennethmyhra@serenityos.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#include <LibJS/Runtime/VM.h>
8
#include <LibWeb/Streams/AbstractOperations.h>
9
#include <LibWeb/Streams/Transformer.h>
10
#include <LibWeb/WebIDL/CallbackType.h>
11
12
namespace Web::Streams {
13
14
JS::ThrowCompletionOr<Transformer> Transformer::from_value(JS::VM& vm, JS::Value value)
15
0
{
16
0
    if (!value.is_object())
17
0
        return Transformer {};
18
19
0
    auto& object = value.as_object();
20
21
0
    Transformer transformer {
22
0
        .start = TRY(property_to_callback(vm, value, "start", WebIDL::OperationReturnsPromise::No)),
23
0
        .transform = TRY(property_to_callback(vm, value, "transform", WebIDL::OperationReturnsPromise::Yes)),
24
0
        .flush = TRY(property_to_callback(vm, value, "flush", WebIDL::OperationReturnsPromise::Yes)),
25
0
        .cancel = TRY(property_to_callback(vm, value, "cancel", WebIDL::OperationReturnsPromise::Yes)),
26
0
        .readable_type = {},
27
0
        .writable_type = {},
28
0
    };
29
30
0
    if (TRY(object.has_property("readableType")))
31
0
        transformer.readable_type = TRY(object.get("readableType"));
32
33
0
    if (TRY(object.has_property("writableType")))
34
0
        transformer.writable_type = TRY(object.get("writableType"));
35
36
0
    return transformer;
37
0
}
38
39
}