fpd_string_tools 1.0.0 copy "fpd_string_tools: ^1.0.0" to clipboard
fpd_string_tools: ^1.0.0 copied to clipboard

Flutter Pilot - String Tools - Utilidades avanzadas para manipulación de strings

fpd_string_tools #

Flutter Pilot - String Tools - Utilidades avanzadas para manipulación de strings en Dart/Flutter.

🚀 Características #

📝 Conversiones de Case #

  • lowercase: Convierte a minúsculas
  • uppercase: Convierte a mayúsculas
  • camelCase: Convierte a camelCase
  • capitalCase: Convierte a Capital Case
  • constantCase: Convierte a CONSTANT_CASE
  • dotCase: Convierte a dot.case
  • headerCase: Convierte a Header-Case
  • noCase: Convierte a no-case
  • paramCase: Convierte a param-case
  • pascalCase: Convierte a PascalCase
  • pathCase: Convierte a path/case
  • sentenceCase: Convierte a sentence case
  • snakeCase: Convierte a snake_case
  • mockingCase: Convierte a MoCkInG cAsE

🔧 Utilidades Adicionales #

  • truncate: Trunca strings con ellipsis
  • isPalindrome: Verifica si es palíndromo
  • reverse: Invierte un string
  • wordCount: Cuenta palabras
  • charCount: Cuenta caracteres (sin espacios)
  • isAlpha: Verifica si solo contiene letras
  • isNumeric: Verifica si solo contiene números
  • isAlphanumeric: Verifica si contiene letras y números
  • removeDuplicates: Remueve caracteres duplicados
  • normalizeSpaces: Normaliza espacios
  • toSlug: Genera slugs URL-friendly
  • capitalizeSentences: Capitaliza oraciones
  • toTitle: Convierte a título

📦 Instalación #

Agrega la dependencia a tu pubspec.yaml:

dependencies:
  fpd_string_tools: ^1.0.0

Luego ejecuta:

dart pub get

🎯 Uso #

Importar el paquete #

import 'package:fpd_string_tools/fpd_string_tools.dart';

Conversiones de Case #

const text = 'lorem ipsum dolor sit amet';

// Conversiones básicas
StringCaseConverter.lowercase(text);    // "lorem ipsum dolor sit amet"
StringCaseConverter.uppercase(text);    // "LOREM IPSUM DOLOR SIT AMET"
StringCaseConverter.camelCase(text);    // "loremIpsumDolorSitAmet"
StringCaseConverter.pascalCase(text);   // "LoremIpsumDolorSitAmet"
StringCaseConverter.snakeCase(text);    // "lorem_ipsum_dolor_sit_amet"
StringCaseConverter.paramCase(text);    // "lorem-ipsum-dolor-sit-amet"

// Conversiones especiales
StringCaseConverter.constantCase(text); // "LOREM_IPSUM_DOLOR_SIT_AMET"
StringCaseConverter.dotCase(text);      // "lorem.ipsum.dolor.sit.amet"
StringCaseConverter.pathCase(text);     // "lorem/ipsum/dolor/sit/amet"
StringCaseConverter.mockingCase(text);  // "LoReM iPsUm DoLoR SiT AmEt"

Utilidades de Strings #

// Truncar texto
StringUtils.truncate('Texto muy largo', 10); // "Texto muy..."

// Verificar palíndromo
StringUtils.isPalindrome('racecar'); // true

// Invertir string
StringUtils.reverse('hello'); // "olleh"

// Contar palabras y caracteres
StringUtils.wordCount('hello world'); // 2
StringUtils.charCount('hello world'); // 10

// Validaciones
StringUtils.isAlpha('hello');        // true
StringUtils.isNumeric('123');        // true
StringUtils.isAlphanumeric('abc123'); // true

// Manipulación
StringUtils.removeDuplicates('hello');           // "helo"
StringUtils.normalizeSpaces('hello   world');    // "hello world"
StringUtils.toSlug('Hello World!');              // "hello-world"
StringUtils.toTitle('the quick brown fox');      // "The Quick Brown Fox"

📋 Ejemplos Prácticos #

Convertir nombres de variables #

const variableName = 'user first name';

final camelCase = StringCaseConverter.camelCase(variableName);    // "userFirstName"
final snakeCase = StringCaseConverter.snakeCase(variableName);    // "user_first_name"
final pascalCase = StringCaseConverter.pascalCase(variableName);  // "UserFirstName"

Generar slugs para URLs #

const title = 'My Awesome Blog Post!';
final slug = StringUtils.toSlug(title); // "my-awesome-blog-post"

Validar entrada de usuario #

bool isValidUsername(String username) {
  return StringUtils.isAlphanumeric(username) && 
         username.length >= 3 && 
         username.length <= 20;
}

Formatear texto para mostrar #

const rawText = 'hello. world! how are you?';
final formatted = StringUtils.capitalizeSentences(rawText); // "Hello. World! How are you?"

🧪 Testing #

Ejecuta los tests:

dart test

📚 API Completa #

StringCaseConverter #

Método Descripción Ejemplo
lowercase() Convierte a minúsculas "LOREM""lorem"
uppercase() Convierte a mayúsculas "lorem""LOREM"
camelCase() Convierte a camelCase "lorem ipsum""loremIpsum"
capitalCase() Convierte a Capital Case "lorem ipsum""Lorem Ipsum"
constantCase() Convierte a CONSTANT_CASE "lorem ipsum""LOREM_IPSUM"
dotCase() Convierte a dot.case "lorem ipsum""lorem.ipsum"
headerCase() Convierte a Header-Case "lorem ipsum""Lorem-Ipsum"
noCase() Convierte a no-case "LOREM_IPSUM""lorem ipsum"
paramCase() Convierte a param-case "lorem ipsum""lorem-ipsum"
pascalCase() Convierte a PascalCase "lorem ipsum""LoremIpsum"
pathCase() Convierte a path/case "lorem ipsum""lorem/ipsum"
sentenceCase() Convierte a sentence case "LOREM IPSUM""Lorem ipsum"
snakeCase() Convierte a snake_case "lorem ipsum""lorem_ipsum"
mockingCase() Convierte a MoCkInG cAsE "hello""HeLlO"

StringUtils #

Método Descripción Ejemplo
truncate() Trunca con ellipsis "Hello World", 8"Hello..."
isPalindrome() Verifica palíndromo "racecar"true
reverse() Invierte string "hello""olleh"
wordCount() Cuenta palabras "hello world"2
charCount() Cuenta caracteres "hello world"10
isAlpha() Solo letras "hello"true
isNumeric() Solo números "123"true
isAlphanumeric() Letras y números "abc123"true
removeDuplicates() Remueve duplicados "hello""helo"
normalizeSpaces() Normaliza espacios "hello world""hello world"
toSlug() Genera slug "Hello World!""hello-world"
capitalizeSentences() Capitaliza oraciones "hello. world!""Hello. World!"
toTitle() Convierte a título "the quick fox""The Quick Fox"

🤝 Contribuir #

Las contribuciones son bienvenidas! Por favor:

  1. Fork el repositorio
  2. Crea una rama para tu feature
  3. Commit tus cambios
  4. Push a la rama
  5. Abre un Pull Request

📄 Licencia #

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

🚀 Roadmap #

  • ❌ Soporte para caracteres especiales y Unicode
  • ❌ Funciones de búsqueda y reemplazo avanzadas
  • ❌ Validación de emails y URLs
  • ❌ Funciones de hash y encriptación básica
  • ❌ Soporte para múltiples idiomas

Autor: Sebastián Larrauri
Email: dash@flutterpilot.dev
Web: flutterpilot.dev

Hecho con ❤️ para la comunidad Flutter/Dart

1
likes
140
points
20
downloads

Publisher

verified publisherflutterpilot.dev

Weekly Downloads

Flutter Pilot - String Tools - Utilidades avanzadas para manipulación de strings

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on fpd_string_tools