/* * Copyright (c) 2023, Ali Mohammad Pur * * SPDX-License-Identifier: BSD-2-Clause */ #include "CompositeStyleValue.h" #include namespace Web::CSS { CompositeStyleValue::CompositeStyleValue(Vector sub_properties, Vector> values) : StyleValueWithDefaultOperators(Type::Composite) , m_properties { move(sub_properties), move(values) } { if (m_properties.sub_properties.size() != m_properties.values.size()) { dbgln("CompositeStyleValue: sub_properties and values must be the same size! {} != {}", m_properties.sub_properties.size(), m_properties.values.size()); VERIFY_NOT_REACHED(); } } CompositeStyleValue::~CompositeStyleValue() = default; ErrorOr CompositeStyleValue::to_string() const { StringBuilder builder; auto first = true; for (auto& value : m_properties.values) { if (first) first = false; else builder.append(' '); builder.append(TRY(value->to_string())); } return builder.to_string(); } }