Merge isObject() and isObjectStrict() (6796,5626)

This commit is contained in:
Benoit Blanchon
2022-03-28 12:42:44 +02:00
parent a3d7158106
commit d7eef30e6c
2 changed files with 5 additions and 11 deletions

View File

@@ -251,7 +251,7 @@ struct Converter<ObjectConstRef> {
static bool checkJson(VariantConstRef src) {
const VariantData* data = getData(src);
return data && data->isObject();
return data && data->resolve()->isObject();
}
};
@@ -278,7 +278,7 @@ struct Converter<ObjectRef> {
static bool checkJson(VariantRef src) {
VariantData* data = getData(src);
return data && data->isObjectStrict();
return data && data->isObject();
}
};
} // namespace ARDUINOJSON_NAMESPACE

View File

@@ -102,7 +102,7 @@ class VariantData {
}
CollectionData *asObject() {
return isObjectStrict() ? &_content.asCollection : 0;
return isObject() ? &_content.asCollection : 0;
}
const CollectionData *asObject() const {
@@ -159,12 +159,6 @@ class VariantData {
}
bool isObject() const {
if (isPointer()) // P+0 G+0
return _content.asPointer->isObject();
return isObjectStrict();
}
bool isObjectStrict() const {
return (_flags & VALUE_IS_OBJECT) != 0;
}
@@ -185,7 +179,7 @@ class VariantData {
template <typename TAdaptedString>
void remove(TAdaptedString key) {
if (isObjectStrict())
if (isObject())
_content.asCollection.removeMember(key);
}
@@ -326,7 +320,7 @@ class VariantData {
TStoragePolicy storage_policy) {
if (isNull())
toObject();
if (!isObjectStrict())
if (!isObject())
return 0;
return _content.asCollection.getOrAddMember(key, pool, storage_policy);
}