2022-04-12 12:47:19 +01:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2020-2021, the SerenityOS developers.
|
2023-02-14 18:55:59 +00:00
|
|
|
* Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
|
2022-04-12 12:47:19 +01:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*/
|
|
|
|
|
2022-04-12 13:35:55 +01:00
|
|
|
#include <LibWeb/CSS/Parser/Function.h>
|
2022-04-12 12:47:19 +01:00
|
|
|
#include <LibWeb/CSS/Serialize.h>
|
|
|
|
|
2022-04-12 13:35:55 +01:00
|
|
|
namespace Web::CSS::Parser {
|
2022-04-12 12:47:19 +01:00
|
|
|
|
2023-02-14 18:55:59 +00:00
|
|
|
Function::Function(FlyString name, Vector<ComponentValue>&& values)
|
2022-04-12 12:47:19 +01:00
|
|
|
: m_name(move(name))
|
|
|
|
, m_values(move(values))
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2022-04-12 13:35:55 +01:00
|
|
|
Function::~Function() = default;
|
2022-04-12 12:47:19 +01:00
|
|
|
|
2023-02-14 18:55:59 +00:00
|
|
|
ErrorOr<String> Function::to_string() const
|
2022-04-12 12:47:19 +01:00
|
|
|
{
|
|
|
|
StringBuilder builder;
|
|
|
|
|
2023-08-22 12:05:44 +01:00
|
|
|
serialize_an_identifier(builder, m_name);
|
2023-02-14 18:55:59 +00:00
|
|
|
TRY(builder.try_append('('));
|
|
|
|
TRY(builder.try_join(' ', m_values));
|
|
|
|
TRY(builder.try_append(')'));
|
2022-04-12 12:47:19 +01:00
|
|
|
|
2023-02-14 18:55:59 +00:00
|
|
|
return builder.to_string();
|
2022-04-12 12:47:19 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|