From 5a041e65b8aabf5238aec771035b96bbdeda144e Mon Sep 17 00:00:00 2001 From: Xuan Son Nguyen Date: Sat, 27 Dec 2025 20:38:06 +0100 Subject: [PATCH] fix map object --- common/jinja/jinja-value.h | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/common/jinja/jinja-value.h b/common/jinja/jinja-value.h index 01cfffe529..87ee91f693 100644 --- a/common/jinja/jinja-value.h +++ b/common/jinja/jinja-value.h @@ -121,7 +121,7 @@ struct value_array_t : public value_t { }; using value_array = std::unique_ptr; -/*struct value_object_t : public value_t { +struct value_object_t : public value_t { value_object_t() { val_obj = std::make_shared>(); } @@ -130,7 +130,10 @@ using value_array = std::unique_ptr; val_obj = v->val_obj; } value_object_t(const std::map & obj) { - val_obj = std::make_shared>(obj); + val_obj = std::make_shared>(); + for (const auto & pair : obj) { + (*val_obj)[pair.first] = pair.second->clone(); + } } virtual std::string type() const override { return "Object"; } virtual const std::map & as_object() const override { return *val_obj; } @@ -140,13 +143,6 @@ using value_array = std::unique_ptr; return tmp; } }; -using value_object = std::unique_ptr;*/ - -struct value_object_t : public value_t { - virtual std::string type() const override { return "TEST"; } - virtual bool is_null() const override { return true; } - virtual value clone() const override { return std::make_unique(*this); } -}; using value_object = std::unique_ptr; struct value_null_t : public value_t {