Serenity Operating System
1/*
2 * Copyright (c) 2020-2021, the SerenityOS developers.
3 * Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
4 *
5 * SPDX-License-Identifier: BSD-2-Clause
6 */
7
8#include <LibWeb/CSS/Parser/Function.h>
9#include <LibWeb/CSS/Serialize.h>
10
11namespace Web::CSS::Parser {
12
13Function::Function(FlyString name, Vector<ComponentValue>&& values)
14 : m_name(move(name))
15 , m_values(move(values))
16{
17}
18
19Function::~Function() = default;
20
21ErrorOr<String> Function::to_string() const
22{
23 StringBuilder builder;
24
25 TRY(serialize_an_identifier(builder, m_name));
26 TRY(builder.try_append('('));
27 TRY(builder.try_join(' ', m_values));
28 TRY(builder.try_append(')'));
29
30 return builder.to_string();
31}
32
33}