All files / src/services/tables/formatters NearbyDriverFormatter.js

84.62% Statements 11/13
33.33% Branches 1/3
100% Functions 1/1
84.62% Lines 11/13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39    1x 1x 1x         3x 3x 3x   3x         3x 3x       3x   3x                          
'use es6';
 
import DistanceUnit from '../../../data/DistanceUnit';
import DistanceConverter from '../../converters/DistanceConverter';
import DurationConverter from '../../converters/DurationConverter';
 
export default class NearbyDriverFormatter {
 
  static formatRideType(rideType) {
    rideType = rideType.split('_');
    rideType.forEach((word, index, array) => {
      array[index] = word.charAt(0).toUpperCase() + word.slice(1);
    });
    return rideType.join(' ');
  }
 
  static formatDistance(distance) {
    // 2 decimal places
    const roundedDistanceValue = Math.round(distance.value * 100) / 100;
    return `${roundedDistanceValue} ${NearbyDriverFormatter.getDistanceUnitAbbreviation(distance.unit)}.`;
  }
 
  static getDistanceUnitAbbreviation(unit) {
    switch (unit) {
      case DistanceUnit.MILE: {
        return 'mi';
      }
 
      case DistanceUnit.KILOMETER: {
        return 'km';
      }
 
      default: {
        throw new TypeError('Unexpected distance unit');
      }
    }
  }
}