get method
Implementation
dynamic get(Object key) {
DataKey k;
if (key is String) {
k = DataKey(key);
} else {
if (key is DataSelectDate) {
return DateTimeUtils.dateFormat(get(key.key), format: key.format);
}
if ((key is! DataKey)) {
throw "Please fill key with String or DataKey value not ${key.runtimeType}";
}
k = key;
}
try {
dynamic value = {};
switch (k.key) {
case "#id":
value = id;
break;
case "#createdAt":
value = createdAt;
break;
case "#updatedAt":
value = updatedAt;
break;
default:
{
List<String> path = k.key.split(".");
value = data;
for (String p in path) {
value = value[p];
}
}
}
if (value == null) throw "value null";
return value;
} catch (e) {
if (k.onKeyCatch != null) {
get(k.onKeyCatch!);
}
return null;
}
}