/* * Copyright (c) 2025, Sam Atkins * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::CSS { // https://drafts.css-houdini.org/css-typed-om-1/#cssnumericarray class CSSNumericArray : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(CSSNumericArray, Bindings::PlatformObject); GC_DECLARE_ALLOCATOR(CSSNumericArray); public: [[nodiscard]] static GC::Ref create(JS::Realm&, Vector>); virtual ~CSSNumericArray() override; WebIDL::UnsignedLong length() const; virtual Optional item_value(size_t index) const override; Vector> values() { return m_values; } virtual void initialize(JS::Realm&) override; virtual void visit_edges(Visitor&) override; private: CSSNumericArray(JS::Realm&, Vector>); Vector> m_values; }; }