/* * Copyright (c) 2023, Tim Flynn <trflynn89@serenityos.org> * * SPDX-License-Identifier: BSD-2-Clause */ #include <AK/Utf16View.h> #include <LibJS/Runtime/ThrowableStringBuilder.h> namespace JS { ThrowableStringBuilder::ThrowableStringBuilder(VM& vm) : m_vm(vm) { } ThrowCompletionOr<void> ThrowableStringBuilder::append(char ch) { TRY_OR_THROW_OOM(m_vm, try_append(ch)); return {}; } ThrowCompletionOr<void> ThrowableStringBuilder::append(StringView string) { TRY_OR_THROW_OOM(m_vm, try_append(string)); return {}; } ThrowCompletionOr<void> ThrowableStringBuilder::append(Utf16View const& string) { TRY_OR_THROW_OOM(m_vm, try_append(string)); return {}; } ThrowCompletionOr<void> ThrowableStringBuilder::append_code_point(u32 value) { TRY_OR_THROW_OOM(m_vm, try_append_code_point(value)); return {}; } ThrowCompletionOr<String> ThrowableStringBuilder::to_string() const { return TRY_OR_THROW_OOM(m_vm, StringBuilder::to_string()); } }