Speed constructor

Speed({
  1. int significantFigures = 10,
  2. bool removeTrailingZeros = true,
  3. dynamic name,
})

Class for speed conversions, e.g. if you want to convert 1 square meters in acres:

var speed = Speed(removeTrailingZeros: false);
speed.convert(Unit(SPEED.square_meters, value: 1));
print(SPEED.acres);

Implementation

Speed({this.significantFigures = 10, this.removeTrailingZeros = true, name}) {
  size = SPEED.values.length;
  this.name = name ?? PROPERTY.speed;
  for (SPEED val in SPEED.values) {
    unitList.add(Unit(val, symbol: mapSymbols[val]));
  }
  unitConversion = Node(name: SPEED.metersPerSecond, leafNodes: [
    Node(coefficientProduct: 1 / 3.6, name: SPEED.kilometersPerHour, leafNodes: [
      Node(
        coefficientProduct: 1.609344,
        name: SPEED.milesPerHour,
      ),
      Node(
        coefficientProduct: 1.852,
        name: SPEED.knots,
      ),
      Node(
        conversionType: reciprocalConversion,
        coefficientProduct: 60,
        name: SPEED.minutesPerKilometer,
      )
    ]),
    Node(
      coefficientProduct: 0.3048,
      name: SPEED.feetsPerSecond,
    ),
  ]);
}