* fix: eslint operator-linebreak issue * fix: eslint quotes issue * fix: react jsx indent and props issues * fix: eslint trailing spaces issues * fix: eslint line around directives issue * fix: eslint semi rule * fix: eslint newline per chain rule * fix: eslint space infix ops rule * fix: eslint space-in-parens issue * fix: eslint space before function paren issue * fix: eslint space before blocks issue * fix: eslint arrow body style issue * fix: eslint dot-location issue * fix: eslint quotes issue * fix: eslint quote props issue * fix: eslint operator assignment issue * fix: eslint new line after import issue * fix: indent issues * fix: operator assignment issue * fix: all autofixable eslint issues * fix: all react related fixable issues * fix: autofixable eslint issues * chore: remove all template literals * fix: remaining autofixable issues * fix: failing js test
42 lines
988 B
JavaScript
42 lines
988 B
JavaScript
function format(time, formatFull) {
|
|
var hours, minutes, seconds;
|
|
|
|
if (!_.isFinite(time) || time < 0) {
|
|
time = 0;
|
|
}
|
|
|
|
seconds = Math.floor(time);
|
|
minutes = Math.floor(seconds / 60);
|
|
hours = Math.floor(minutes / 60);
|
|
seconds %= 60;
|
|
minutes %= 60;
|
|
|
|
if (formatFull) {
|
|
return '' + _pad(hours) + ':' + _pad(minutes) + ':' + _pad(seconds % 60);
|
|
} else if (hours) {
|
|
return '' + hours + ':' + _pad(minutes) + ':' + _pad(seconds % 60);
|
|
} else {
|
|
return '' + minutes + ':' + _pad(seconds % 60);
|
|
}
|
|
}
|
|
|
|
function formatFull(time) {
|
|
// The returned value will not be user-facing. So no need for
|
|
// internationalization.
|
|
return format(time, true);
|
|
}
|
|
|
|
function convert(time, oldSpeed, newSpeed) {
|
|
return (time * oldSpeed / newSpeed).toFixed(3);
|
|
}
|
|
|
|
function _pad(number) {
|
|
if (number < 10) {
|
|
return '0' + number;
|
|
} else {
|
|
return '' + number;
|
|
}
|
|
}
|
|
|
|
export {format, formatFull, convert};
|