inovanti-bank / inovanti-toolkit
O Inovanti Toolkit é um componente desenvolvido para Laravel ^11, projetado para facilitar a resolução de demandas comuns em aplicações web. Seu principal objetivo é eliminar a necessidade de reescrever lógicas repetitivas, oferecendo um conjunto de funcionalidades otimizadas e reutilizáveis.
Requires
- php: ^8.0
- laravel/framework: ^11.0
Requires (Dev)
- laravel/pint: ^1.19
- mockery/mockery: ^1.6
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^11.5
This package is auto-updated.
Last update: 2025-05-30 15:04:18 UTC
README
Biblioteca de utilitários para Laravel 11
O Inovanti Toolkit é um componente projetado para simplificar tarefas comuns em aplicações Laravel 11. Ele fornece um conjunto de helpers reutilizáveis para formatação, validação e manipulação de strings, números, datas, arrays, e muito mais.
🚀 Instalação
O pacote pode ser instalado via Composer:
composer require inovanti-bank/inovanti-toolkit
⚙️ Configuração
Atualmente, não há configuração obrigatória. No entanto, o pacote se integra automaticamente ao Laravel via ToolkitServiceProvider.
📩 Uso
🔠 Manipulação de Strings (StringHelper)
📌 Métodos Disponíveis
formatName(string $name, bool $abbreviate = false, bool $firstAndLast = false): string
limitString(string $text, int $limit, string $suffix = '...'): string
removeAccents(string $text): string
onlyNumbers(string $text): string
isPalindrome(string $text): bool
generatePassword(int $minLength = 8, int $maxLength = 32, bool $useUppercase = true, bool $useLowercase = true, bool $useNumbers = true, bool $useSpecialChars = true, bool $exactMaxSize = false, string $specialCharactersNotAllowed = '()-_+=<>'): string
✅ Exemplo de Uso
use InovantiBank\Toolkit\Helpers\StringHelper; $stringHelper = new StringHelper(); echo $stringHelper->formatName("JOÃO DA SILVA LTDA", true, true); // Saída: "João Silva"
🔢 Manipulação de Números (NumberHelper)
📌 Métodos Disponíveis
formatCurrency(float $amount, string $prefix = 'R$'): string
padZero(int $number, int $length): string
numberToWords(float $value, bool $isCurrency = true): string
formatPercentage(float $value, int $decimals = 2): string
✅ Exemplo de Uso
use InovantiBank\Toolkit\Helpers\NumberHelper; $numberHelper = new NumberHelper(); echo $numberHelper->formatCurrency(1234.56); // Saída: "R$ 1.234,56"
📅 Manipulação de Datas (DateHelper)
📌 Métodos Disponíveis
formatDate(string $date, string $formatFrom = 'Y-m-d', string $formatTo = 'd/m/Y'): string
addBusinessDays(string $date, int $days): string
✅ Exemplo de Uso
use InovantiBank\Toolkit\Helpers\DateHelper; $dateHelper = new DateHelper(); echo $dateHelper->formatDate('2025-01-28'); // Saída: "28/01/2025"
📑 Formatação de Dados (FormatterHelper)
📌 Métodos Disponíveis
formatCpfCnpj(string $number): string
formatDateHuman(string $date): string
formatDateShortHuman(string $date): string
formatDateTimeHuman(string $date): string
formatDateRelative(string $date): string
formatDateWeekday(string $date): string
formatDateCustom(string $date, string $format): string
formatPhone(string $number, bool $withCountryCode = false): string
formatCreditCard(string $number, ?CreditCardTypeEnum $cardType = null): string
formatIE(string $number, StateEnum $state): string
✅ Exemplo de Uso
use InovantiBank\Toolkit\Helpers\FormatterHelper; $formatter = new FormatterHelper(); echo $formatter->formatDateRelative('2025-01-28 14:01:23'); // Saída: "há 2 dias"
✅ Validação de Documentos (ValidatorHelper)
📌 Métodos Disponíveis
isValidCPF(string $cpf): bool
isValidCNPJ(string $cnpj): bool
isValidPIS(string $pis): bool
isValidTitle(string $title): bool
isValidRENAVAM(string $renavam): bool
isValidCNH(string $cnh): bool
isValidEmail(string $email): bool
isValidDate(string $date, string $format = 'Y-m-d'): bool
isValidCEP(string $cep): bool
isValidCreditCard(string $number): bool
isValidIE(tateEnum $state, string $number): bool
✅ Exemplo de Uso
use InovantiBank\Toolkit\Helpers\ValidatorHelper; $validator = new ValidatorHelper(new StringHelper()); echo $validator->isValidCPF('123.456.789-09') ? "Válido" : "Inválido"; // Saída: "Inválido"
🧮 Conversão de Unidades (UnitConverter)
📌 Métodos Disponíveis
bytesToHumanReadable(int $bytes, int $precision = 2): string
✅ Exemplo de Uso
use InovantiBank\Toolkit\Helpers\UnitConverter; $converter = new UnitConverter(); echo $converter->bytesToHumanReadable(1048576); // Saída: "1.00 MB"
🧮 Enums Disponíveis
📌 CreditCardTypeEnum
Enum responsável por armazenar as bandeiras de cartões e seus formatos:
use InovantiBank\Toolkit\Enums\CreditCardTypeEnum; echo CreditCardTypeEnum::VISA->getMask(); // Saída: #### #### #### ####
📌 StateEnum
Enum que representa os 27 estados brasileiros, armazenando a máscara e a quantidade de dígitos esperados da Inscrição Estadual.
use InovantiBank\Toolkit\Enums\StateEnum; echo StateEnum::SP->getIEMask(); // Saída: ###.###.###.### echo StateEnum::RJ->getIEDigitLength(); // Saída: 8
🧪 Testes
O pacote inclui testes unitários para garantir que todas as funcionalidades funcionem conforme o esperado.
vendor/bin/phpunit
composer test
Para testes unit:
vendor/bin/phpunit --testsuite=Unit composer unit
🤝 Contribuindo
Contribuições são bem-vindas! Se você deseja reportar um bug, solicitar um novo recurso ou contribuir com código, fique à vontade para abrir uma issue ou enviar um Pull Request.
- Faça um Fork do projeto
- Crie sua feature branch:
git checkout -b minha-nova-feature
- Commit suas mudanças:
git commit -m 'Adiciona nova feature'
- Faça o push para a branch:
git push origin minha-nova-feature
- Crie um novo Pull Request
📜 Licença
Este projeto está licenciado sob a MIT license. Sinta-se livre para usá-lo e modificá-lo conforme necessário.
💡 Dúvidas ou sugestões? Abra uma issue. 🚀