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) {
var isXml = value.trim().startsWith('<');
data = isXml ? Data.fromXml(value) : 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);
}
// build default data set
data ??= Data(data: null);
// save root name
data.root = root;
return data;
}