exports.nano = time => +time[0] * 1e9 + +time[1];

exports.scale = {
  'w': 6048e11,
  'd': 864e11,
  'h': 36e11,
  'm': 6e10,
  's': 1e9,
  'ms': 1e6,
  'μs': 1e3,
  'ns': 1,
};

exports.regex = {
 'w': /^(w((ee)?k)?s?)$/,
 'd': /^(d(ay)?s?)$/,
 'h': /^(h((ou)?r)?s?)$/,
 'm': /^(min(ute)?s?|m)$/,
 's': /^((sec(ond)?)s?|s)$/,
 'ms': /^(milli(second)?s?|ms)$/,
 'μs': /^(micro(second)?s?|μs)$/,
 'ns': /^(nano(second)?s?|ns?)$/,
};

exports.isSmallest = function(uom, unit) {
  return exports.regex[uom].test(unit);
};

exports.round = function(num, digits) {
  const n = Math.abs(num);
  return /[0-9]/.test(digits) ? n.toFixed(digits) : Math.round(n);
};