1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:47:44 +00:00

LibWeb: Add ComponentValue::is_function(name) and is_ident(name) helpers

This commit is contained in:
Sam Atkins 2023-09-05 19:42:28 +01:00 committed by Sam Atkins
parent f3124c492b
commit 2ef5658f31
2 changed files with 12 additions and 0 deletions

View file

@ -26,6 +26,16 @@ ComponentValue::ComponentValue(NonnullRefPtr<Block> block)
ComponentValue::~ComponentValue() = default;
bool ComponentValue::is_function(StringView name) const
{
return is_function() && function().name().equals_ignoring_ascii_case(name);
}
bool ComponentValue::is_ident(StringView ident) const
{
return is(Token::Type::Ident) && token().ident().equals_ignoring_ascii_case(ident);
}
String ComponentValue::to_string() const
{
return m_value.visit(

View file

@ -27,11 +27,13 @@ public:
Block& block() const { return m_value.get<NonnullRefPtr<Block>>(); }
bool is_function() const { return m_value.has<NonnullRefPtr<Function>>(); }
bool is_function(StringView name) const;
Function& function() const { return m_value.get<NonnullRefPtr<Function>>(); }
bool is_token() const { return m_value.has<Token>(); }
bool is(Token::Type type) const { return is_token() && token().is(type); }
bool is_delim(u32 delim) const { return is(Token::Type::Delim) && token().delim() == delim; }
bool is_ident(StringView ident) const;
Token const& token() const { return m_value.get<Token>(); }
operator Token() const { return m_value.get<Token>(); }