from static method
Implementation
static Data from(dynamic value, {String? root})
{
Data? data;
if (value is List) data = Data(data: value);
if (value is Data) data = value;
if (value is String)
{
if (value.trim().startsWith('<')) {
data = Data.fromXml(value);
} else
{
data = Data.fromJson(value);
}
}
// default
data ??= Data(data: data);
// root should be supplied
root ??= data.findRoot(root);
// select sub-list
if (root != null)
{
// convert root to dot notation
DotNotation? dotnotation = DotNotation.fromString(root);
// get sublist
if (dotnotation != null) data = fromDotNotation(data, dotnotation);
}
return (data != null) ? data : Data(data: data);
}