fromDotNotation static method
Implementation
static Data? fromDotNotation(Data data, DotNotation dotnotation)
{
try
{
if (data.isEmpty) return null;
dynamic _data = data;
if (dotnotation.isEmpty) return _data;
// parse list
for (NotationSegment? property in dotnotation)
if (property != null)
{
if (_data is Map)
{
if (!_data.containsKey(property.name))
{
_data = null;
break;
}
_data = _data[property.name];
}
else if (_data is List)
{
if (_data.length < property.offset)
{
_data = null;
break;
}
_data = _data[property.offset];
if ((_data is Map) && (_data.containsKey(property.name))) _data = _data[property.name];
}
else
{
_data = null;
break;
}
}
return Data(data: _data);
}
catch(e)
{
return null;
}
}