Logo Veplex

veplex_utils

Uma biblioteca de utilidades para desenvolvedores Dart e Flutter, focada em simplificar a formatação, parsing e validação de dados comuns no dia a dia.


🚀 O que este pacote faz?

O veplex_utils contém funções auxiliares para tratar tipos de dados complexos de forma legível e eficiente.

Principais Funcionalidades:

  • Documentos (my_document): Formatação e validação de CPF e CNPJ, incluindo o CNPJ alfanumérico (IN RFB 2.229/2024).
  • CEP (my_cep): Limpeza, validação e formatação de CEP.
  • Telefones (my_phone): Máscaras e limpeza de strings de telefone.
  • Matemática e Números: Helpers para double, int e decimal (precisão financeira).
  • Manipulação de Strings, Mapas e Listas: Métodos utilitários para conversão e transformações.
  • Desenvolvimento (my_dev): Ferramentas de auxílio durante o processo de coding/debug.

📦 Instalação

Adicione veplex_utils ao seu arquivo pubspec.yaml:

dependencies:
  veplex_utils: ^0.0.4

Ou instale via terminal:

dart pub add veplex_utils

🛠️ Como usar

Importe o pacote e utilize as funções ou extensões disponíveis:

import 'package:veplex_utils/veplex_utils.dart';

void main() {
  // Documentos
  print(MyDocument.format('52998224725')); // 529.982.247-25
  print(MyDocument.format('11222333000181')); // 11.222.333/0001-81
  print(MyDocument.validate('52998224725')); // true

  // CNPJ alfanumérico (IN RFB 2.229/2024)
  print(MyDocument.format('12abc34501de35')); // 12.ABC.345/01DE-35
  print(MyDocument.validate('12ABC34501DE35')); // true

  // CEP
  print(MyCep.format('99010000')); // 99.010-000

  // Números — format arredonda por padrão
  print(MyDouble.format(1234.567)); // 1.234,57
  print(MyDouble.format(1234.567, round: false)); // 1.234,56 (trunca)
  print(MyDouble.format(1234.567, scale: 3)); // 1.234,567
  print(MyDouble.unformat('1.234,56')); // 1234.56
  print(MyMath.porcentagem(200, 15)); // 30
}

Máscaras de entrada

As constantes de máscara seguem o padrão do TextInputMask (pacote easy_mask), onde 9 é dígito e N é alfanumérico:

TextInputMask(mask: MyDocument.cpfCnpjMasks); // ['NNN.NNN.NNN-NN', 'NN.NNN.NNN/NNNN-99']
TextInputMask(mask: MyCep.mask); // '99.999-999'

⚠️ No campo de CPF/CNPJ, aplique também um formatter de toUpperCase() antes da máscara — o CNPJ alfanumérico só é válido em letras maiúsculas.


📂 Estrutura do Pacote

O pacote é modularizado para facilitar a manutenção:

  • my_decimal.dart: Tratamento de valores decimais precisos.
  • my_int.dart: Tratamento e formatação de valores inteiros.
  • my_double.dart: Tratamento e formatação de valores flutuantes.
  • my_math.dart: Cálculos e arredondamentos (DECIMAL).
  • my_document.dart: Formatação e validação de CPF / CNPJ (numérico e alfanumérico).
  • my_cep.dart: Formatação e validação de CEP.
  • my_phone.dart: Tratamento e formatação de número de telefone.
  • my_dev.dart: Formatação e Log debugger.
  • my_string.dart: Extensões de texto e regex.
  • my_string_list.dart / my_int_list.dart: Tratamento de listas String e Integers.
  • my_list.dart: Tratamento de listas dinâmicas.
  • my_map.dart: Tratamento de Map / JSON.

📄 Licença

Distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

Libraries

veplex_utils