addObject method
Adds duration specified by a map.
Supported keys:
years,months,weeks,dayshours,minutes,secondsmilliseconds,microsecondsquarters
Implementation
Hora addObject(Map<String, dynamic> map) {
var result = this;
// Process each key in order of magnitude
final years = _getNum(map, [DateTimeKeys.year, DateTimeKeys.years]);
if (years != null && years != 0) {
result = result.add(years.toInt(), TemporalUnit.year);
}
final quarters =
_getNum(map, [DateTimeKeys.quarter, DateTimeKeys.quarters]);
if (quarters != null && quarters != 0) {
result = result.add(quarters.toInt(), TemporalUnit.quarter);
}
final months = _getNum(map, [DateTimeKeys.month, DateTimeKeys.months]);
if (months != null && months != 0) {
result = result.add(months.toInt(), TemporalUnit.month);
}
final weeks = _getNum(map, [DateTimeKeys.week, DateTimeKeys.weeks]);
if (weeks != null && weeks != 0) {
result = result.add(weeks.toInt(), TemporalUnit.week);
}
final days =
_getNum(map, [DateTimeKeys.day, DateTimeKeys.days, DateTimeKeys.date]);
if (days != null && days != 0) {
result = result.add(days.toInt(), TemporalUnit.day);
}
final hours = _getNum(map, [DateTimeKeys.hour, DateTimeKeys.hours]);
if (hours != null && hours != 0) {
result = result.add(hours.toInt(), TemporalUnit.hour);
}
final minutes = _getNum(map, [DateTimeKeys.minute, DateTimeKeys.minutes]);
if (minutes != null && minutes != 0) {
result = result.add(minutes.toInt(), TemporalUnit.minute);
}
final seconds = _getNum(map, [DateTimeKeys.second, DateTimeKeys.seconds]);
if (seconds != null && seconds != 0) {
result = result.add(seconds.toInt(), TemporalUnit.second);
}
final milliseconds =
_getNum(map, [DateTimeKeys.millisecond, DateTimeKeys.milliseconds]);
if (milliseconds != null && milliseconds != 0) {
result = result.add(milliseconds.toInt(), TemporalUnit.millisecond);
}
final microseconds =
_getNum(map, [DateTimeKeys.microsecond, DateTimeKeys.microseconds]);
if (microseconds != null && microseconds != 0) {
result = result.add(microseconds.toInt(), TemporalUnit.microsecond);
}
return result;
}