@igleite/tsutils
Version:
Uma coleção de utilitários em TypeScript para facilitar o desenvolvimento no dia a dia.
169 lines (168 loc) • 5.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TimeUtils = void 0;
/**
* Classe utilitária para conversão de unidades de tempo.
*/
class TimeUtils {
/**
* Converte segundos para horas.
*
* @param {number} seconds - O valor em segundos a ser convertido.
* @returns {number} - O valor convertido em horas.
* @throws {Error} - Lança um erro se o valor fornecido não for um número.
*
* @example
* TimeUtils.segundosParaHoras(3600); // Retorna 1
*/
static segundosParaHoras(seconds) {
try {
if (typeof seconds !== 'number') {
console.error('O valor deve ser um número.');
return 0;
}
return seconds / 3600;
}
catch (error) {
console.error('Error in segundosParaHoras:', error);
return 0;
}
}
/**
* Formata um valor em segundos para o formato HH:mm:ss.
*
* @param {number} segundos - O valor em segundos a ser formatado.
* @returns {string} - O tempo formatado no formato HH:mm:ss.
* @throws {Error} - Lança um erro se o valor fornecido não for um número.
*
* @example
* TimeUtils.converterSegundosParaHHMMSS(3665); // Retorna "01:01:05"
*/
static converterSegundosParaHHMMSS(segundos) {
try {
if (typeof segundos !== 'number' || isNaN(segundos) || segundos < 0) {
console.error('O valor deve ser um número positivo.');
return '00:00:00';
}
const horas = Math.floor(segundos / 3600);
const minutos = Math.floor((segundos % 3600) / 60);
const segundosRestantes = Math.floor(segundos % 60);
return `${horas.toString().padStart(2, '0')}:${minutos.toString().padStart(2, '0')}:${segundosRestantes.toString().padStart(2, '0')}`;
}
catch (error) {
console.error('Error in converterSegundosParaHHMMSS:', error);
return '00:00:00';
}
}
/**
* Converte segundos para minutos.
*
* @param {number} seconds - O valor em segundos a ser convertido.
* @returns {number} - O valor convertido em minutos.
* @throws {Error} - Lança um erro se o valor fornecido não for um número.
*
* @example
* TimeUtils.segundosParaMinutos(120); // Retorna 2
*/
static segundosParaMinutos(seconds) {
try {
if (typeof seconds !== 'number') {
console.error('O valor deve ser um número.');
}
return seconds / 60;
}
catch (error) {
console.error('Error in segundosParaMinutos:', error);
return 0;
}
}
/**
* Converte horas para segundos.
*
* @param {number} hours - O valor em horas a ser convertido.
* @returns {number} - O valor convertido em segundos.
* @throws {Error} - Lança um erro se o valor fornecido não for um número.
*
* @example
* TimeUtils.horasParaSegundos(1); // Retorna 3600
*/
static horasParaSegundos(hours) {
try {
if (typeof hours !== 'number') {
console.error('O valor deve ser um número.');
}
return hours * 3600;
}
catch (error) {
console.error('Error in horasParaSegundos:', error);
return 0;
}
}
/**
* Converte horas para minutos.
*
* @param {number} hours - O valor em horas a ser convertido.
* @returns {number} - O valor convertido em minutos.
* @throws {Error} - Lança um erro se o valor fornecido não for um número.
*
* @example
* TimeUtils.horasParaMinutos(1); // Retorna 60
*/
static horasParaMinutos(hours) {
try {
if (typeof hours !== 'number') {
console.error('O valor deve ser um número.');
}
return hours * 60;
}
catch (error) {
console.error('Error in horasParaMinutos:', error);
return 0;
}
}
/**
* Converte minutos para horas.
*
* @param {number} minutes - O valor em minutos a ser convertido.
* @returns {number} - O valor convertido em horas.
* @throws {Error} - Lança um erro se o valor fornecido não for um número.
*
* @example
* TimeUtils.minutosParaHoras(120); // Retorna 2
*/
static minutosParaHoras(minutes) {
try {
if (typeof minutes !== 'number') {
console.error('O valor deve ser um número.');
}
return minutes / 60;
}
catch (error) {
console.error('Error in minutosParaHoras:', error);
return 0;
}
}
/**
* Converte minutos para segundos.
*
* @param {number} minutes - O valor em minutos a ser convertido.
* @returns {number} - O valor convertido em segundos.
* @throws {Error} - Lança um erro se o valor fornecido não for um número.
*
* @example
* TimeUtils.minutosParaSegundos(2); // Retorna 120
*/
static minutosParaSegundos(minutes) {
try {
if (typeof minutes !== 'number') {
console.error('O valor deve ser um número.');
}
return minutes * 60;
}
catch (error) {
console.error('Error in minutosParaSegundos:', error);
return 0;
}
}
}
exports.TimeUtils = TimeUtils;