Skip to content

Commit 5b939e2

Browse files
committed
Extract asArray() NO CHANGE
1 parent 98daccf commit 5b939e2

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

src/ArduinoJson/Array/JsonArray.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
2424

2525
// INTERNAL USE ONLY
2626
JsonArray(detail::VariantData* data, detail::ResourceManager* resources)
27-
: impl_(detail::VariantImpl(data, resources).asArray()) {}
27+
: impl_(detail::VariantImpl::asArray(data, resources)) {}
2828

2929
// INTERNAL USE ONLY
3030
JsonArray(const detail::ArrayImpl& impl) : impl_(impl) {}

src/ArduinoJson/Array/JsonArrayConst.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class JsonArrayConst : public detail::VariantOperators<JsonArrayConst> {
3838

3939
// INTERNAL USE ONLY
4040
JsonArrayConst(detail::VariantData* data, detail::ResourceManager* resources)
41-
: impl_(detail::VariantImpl(data, resources).asArray()) {}
41+
: impl_(detail::VariantImpl::asArray(data, resources)) {}
4242

4343
// INTERNAL USE ONLY
4444
JsonArrayConst(const detail::ArrayImpl& impl) : impl_(impl) {}

src/ArduinoJson/Variant/VariantData.hpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,13 @@ class VariantImpl {
153153
}
154154

155155
ArrayImpl asArray() {
156-
return ArrayImpl(isArray() ? &data_->content.asCollection : nullptr,
156+
return asArray(data_, resources_);
157+
}
158+
159+
static ArrayImpl asArray(VariantData* data_, ResourceManager* resources_) {
160+
return ArrayImpl(data_ && data_->type == VariantType::Array
161+
? &data_->content.asCollection
162+
: nullptr,
157163
resources_);
158164
}
159165

src/ArduinoJson/Variant/VariantImpl.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ typename TVisitor::result_type VariantImpl::accept(
3030
#endif
3131

3232
case VariantType::Array:
33-
return visit.visit(ArrayImpl(&data_->content.asCollection, resources_));
33+
return visit.visit(asArray(data_, resources_));
3434

3535
case VariantType::Object:
3636
return visit.visit(ObjectImpl(&data_->content.asCollection, resources_));

0 commit comments

Comments
 (0)