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
if (data == null) data = Data(data: data);
// root should be supplied
if (root == null) 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);
}