UNPKG

@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
"use strict"; 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;