* fix: multi lines and spaces issues * fix: eslint operator-linebreak issue * fix: eslint quotes issue * fix: remaining quotes issues * fix: eslint object curly newline issue * fix: eslint object curly spacing issue * fix: eslint brace-style issues * fix: react jsx indent and props issues * fix: eslint trailing spaces issues * fix: eslint linbreak style issue * fix: eslint space unary operator issue * fix: eslint line around directives issue * fix: void and typeof space unary ops issue
42 lines
1005 B
JavaScript
42 lines
1005 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 = seconds % 60;
|
|
minutes = 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}
|