@rainersoft/utils
v1.0.4
Published
Utilitários universais para formatação, conversão e manipulação de dados - Web, Desktop e Mobile
Maintainers
Readme
@rainersoft/utils
Biblioteca universal de utilitários para formatação, conversão e manipulação de dados.
🎯 Características
- ✅ Universal: Funciona em Web, Desktop e Mobile
- ✅ TypeScript: Totalmente tipado
- ✅ Tree-shakeable: Importações otimizadas
- ✅ Zero dependências: Leve e rápido
- ✅ Multi-idioma: Suporte para pt-BR, en-US, es-ES
- ✅ Helpers pt-BR: Funções pré-configuradas para português
- ✅ Modular: Importe apenas o que precisa
📦 Instalação
npm install @rainersoft/utils
# ou
pnpm add @rainersoft/utils
# ou
yarn add @rainersoft/utils🚀 Uso
String Utilities
import { textToSlug, capitalize, truncate, getInitials } from '@rainersoft/utils/string';
textToSlug('Meu Post Incrível!'); // 'meu-post-incrivel'
capitalize('rainer teixeira'); // 'Rainer Teixeira'
truncate('Texto muito longo', 10); // 'Texto muit...'
getInitials('Rainer Teixeira'); // 'RT'Date Utilities
import { formatDate, formatDateTime, formatRelativeDate } from '@rainersoft/utils/date';
formatDate('2025-11-26'); // '26 de novembro de 2025'
formatDate('2025-11-26', 'short'); // '26/11/2025'
formatDateTime('2025-11-26T14:30:00'); // '26 de novembro de 2025 às 14:30'
formatRelativeDate(yesterday); // 'há 1 dia'Number Utilities
import { formatCurrency, formatPercent, formatNumber, formatCompact } from '@rainersoft/utils/number';
formatCurrency(1234.56); // 'R$ 1.234,56'
formatPercent(0.1234, 2); // '12,34%'
formatNumber(1234567); // '1.234.567'
formatCompact(1234567); // '1,2 mi'Status Utilities
import { translateStatus, getStatusColor, getStatusVariant } from '@rainersoft/utils/status';
translateStatus('DRAFT'); // 'Rascunho'
translateStatus('PUBLISHED'); // 'Publicado'
getStatusColor('PUBLISHED'); // 'text-green-600'
getStatusVariant('DRAFT'); // 'secondary'Import Tudo
import {
textToSlug,
formatDate,
formatCurrency,
translateStatus
} from '@rainersoft/utils';Helpers pt-BR (Recomendado para Português)
// Importação simplificada - já vem em pt-BR
import { ptBR } from '@rainersoft/utils';
ptBR.formatDate('2025-11-26'); // '26 de novembro de 2025'
ptBR.formatCurrency(1234.56); // 'R$ 1.234,56'
ptBR.translateStatus('DRAFT'); // 'Rascunho'
// Ou importe funções individuais
import { formatDate, formatCurrency } from '@rainersoft/utils/pt-br';Suporte Multi-idioma
import { formatDate, formatCurrency, translateStatus } from '@rainersoft/utils';
// Português (padrão)
formatDate('2025-11-26'); // '26 de novembro de 2025'
formatCurrency(1234.56); // 'R$ 1.234,56'
// Inglês
formatDate('2025-11-26', 'long', 'en-US'); // 'November 26, 2025'
formatCurrency(1234.56, 'en-US'); // '$1,234.56'
// Espanhol
formatDate('2025-11-26', 'long', 'es-ES'); // '26 de noviembre de 2025'
formatCurrency(1234.56, 'es-ES'); // '1.234,56 €'📚 Módulos
String (@rainersoft/utils/string)
textToSlug()- Converte texto para slugcapitalize()- Capitaliza palavrastruncate()- Trunca textoremoveAccents()- Remove acentosgetInitials()- Extrai iniciaisisEmpty()- Valida string vaziawordCount()- Conta palavras
Date (@rainersoft/utils/date)
formatDate()- Formata data (pt-BR)formatDateTime()- Formata data e horaformatRelativeDate()- Data relativa (há X dias)toISOString()- Converte para ISOisValidDate()- Valida data
Number (@rainersoft/utils/number)
formatCurrency()- Formata moeda (BRL)formatPercent()- Formata percentualformatNumber()- Formata númeroformatCompact()- Formato compacto (1K, 1M)parseCurrency()- Parse de moedaround()- Arredondamentoclamp()- Limita valor
Status (@rainersoft/utils/status)
translateStatus()- Traduz statusgetStatusColor()- Cor do statusgetStatusVariant()- Variant do badge
🛠️ Desenvolvimento
# Instalar dependências
pnpm install
# Desenvolvimento com watch
pnpm dev
# Build
pnpm build
# Testes
pnpm test
# Lint
pnpm lint📄 Licença
MIT © Rainer Teixeira
🔗 Ecossistema Rainersoft
- @rainersoft/design-tokens - Sistema de design tokens
- @rainersoft/ui - Componentes UI
- @rainersoft/utils - Utilitários universais
