/* * Copyright (c) 2022, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include namespace Web::DOM { NodeList::NodeList(JS::Realm& realm) : LegacyPlatformObject(realm) { } NodeList::~NodeList() = default; JS::ThrowCompletionOr NodeList::initialize(JS::Realm& realm) { MUST_OR_THROW_OOM(Base::initialize(realm)); set_prototype(&Bindings::ensure_web_prototype(realm, "NodeList")); return {}; } WebIDL::ExceptionOr NodeList::item_value(size_t index) const { auto* node = item(index); if (!node) return JS::js_undefined(); return const_cast(node); } bool NodeList::is_supported_property_index(u32 index) const { return index < length(); } }