Time constructor
Class for time conversions, e.g. if you want to convert 1 hour in seconds:
var time = Time(removeTrailingZeros: false);
time.convert(Unit(TIME.hours, value: 1));
print(TIME.seconds);
Implementation
Time({this.significantFigures = 10, this.removeTrailingZeros = true, name}) {
size = TIME.values.length;
this.name = name ?? PROPERTY.time;
for (TIME val in TIME.values) {
unitList.add(Unit(val, symbol: mapSymbols[val]));
}
unitConversion = Node(name: TIME.seconds, leafNodes: [
Node(
coefficientProduct: 1e-1,
name: TIME.deciseconds,
),
Node(
coefficientProduct: 1e-2,
name: TIME.centiseconds,
),
Node(
coefficientProduct: 1e-3,
name: TIME.milliseconds,
),
Node(
coefficientProduct: 1e-6,
name: TIME.microseconds,
),
Node(
coefficientProduct: 1e-9,
name: TIME.nanoseconds,
),
Node(coefficientProduct: 60.0, name: TIME.minutes, leafNodes: [
Node(coefficientProduct: 60.0, name: TIME.hours, leafNodes: [
Node(coefficientProduct: 24.0, name: TIME.days, leafNodes: [
Node(
coefficientProduct: 7.0,
name: TIME.weeks,
),
Node(coefficientProduct: 365.0, name: TIME.years365, leafNodes: [
Node(
coefficientProduct: 5.0,
name: TIME.lustrum,
),
Node(
coefficientProduct: 10.0,
name: TIME.decades,
),
Node(
coefficientProduct: 100.0,
name: TIME.centuries,
),
Node(
coefficientProduct: 1000.0,
name: TIME.millennium,
),
]),
]),
]),
]),
]);
}