/* * Copyright (c) 2024, Andrew Kaster * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::HTML { // FIXME: This is a temporary stop-gap solution, and it should be removed once the C++ // NamedCharacterReference state implementation is implemented in Swift. struct EntityMatch { Vector code_points; StringView entity; }; // Swift-friendly wrapper for TextCodec::Decoder::to_utf8 using OptionalString = std::optional; OptionalString decode_to_utf8(StringView text, StringView encoding); // Swift-friendly wrapper for HTML::code_points_from_entity // FIXME: This is a temporary stop-gap solution, and it should be removed once the C++ // NamedCharacterReference state implementation is implemented in Swift. using OptionalEntityMatch = std::optional; OptionalEntityMatch match_entity_for_named_character_reference(StringView entity); }