is<array>()

This commit is contained in:
Benoit Blanchon
2022-03-10 18:45:02 +01:00
parent e9963f1656
commit cf1d19fec5
3 changed files with 48 additions and 2 deletions

View File

@@ -207,7 +207,7 @@ struct Converter<ArrayRef> {
static bool checkJson(VariantRef src) {
VariantData* data = getData(src);
return data && data->isArray();
return data && data->isArrayStrict();
}
};
} // namespace ARDUINOJSON_NAMESPACE

View File

@@ -92,6 +92,9 @@ class VariantData {
}
const CollectionData *asArray() const {
// TODO
// if (isPointer())
// return _content.asPointer->asArray();
return const_cast<VariantData *>(this)->asArray();
}
@@ -108,6 +111,13 @@ class VariantData {
bool copyFrom(const VariantData &src, MemoryPool *pool);
bool isArray() const {
if (isPointer())
return _content.asPointer->isArray();
else
return isArrayStrict();
}
bool isArrayStrict() const {
return (_flags & VALUE_IS_ARRAY) != 0;
}