5#ifndef MOLYBDEN_FIELD_CONTAINER_HPP
6#define MOLYBDEN_FIELD_CONTAINER_HPP
10#include "molybden/js/internal/js_accessible_field.hpp"
12namespace molybden::internal {
29 template <
class C,
class T>
30 int addField(Field<C, T> field,
const char* name);
36 JsValue getFieldValue(
const std::string& property_name);
41 [[nodiscard]]
bool hasField(
const std::string& property_name)
const;
51 bool setFieldValue(
const std::string& property_name,
const JsValue& value);
56 std::vector<std::string> propertyNames();
58 virtual ~FieldContainer() =
default;
61 std::map<std::string, std::unique_ptr<JsAccessibleField>> fields_;