flutter_utils_providers 1.0.0
flutter_utils_providers: ^1.0.0 copied to clipboard
A comprehensive Flutter utility package with helpers for validation, data manipulation, file handling, permissions, and more.
Flutter Utils Providers #
A comprehensive Flutter utility package that provides a collection of helper functions for common development tasks including validation, data manipulation, file handling, permissions management, and more.
Features #
- Password Validation: Multi-level password security validation (low, medium, high)
- Data Manipulation: Advanced map and list operations with deep merging capabilities
- JSON Handling: Encoding/decoding utilities for complex JSON structures
- File Operations: File picker integration and file handling utilities
- Permissions: Simplified permission handling across platforms
- Geographic Utilities: Coordinate and location-based helpers
- Date/Time Functions: Comprehensive date formatting and manipulation
- CUIT Validation: Argentine tax identification (CUIT/CUIL) validation
- Mathematical Utilities: Extended math operations and calculations
- Image Processing: Image picker and processing utilities
Installation #
Add this to your package's pubspec.yaml file:
dependencies:
flutter_utils_providers: ^1.0.0
Then run:
flutter pub get
Usage #
Password Validation #
Validate passwords with different security levels:
import 'package:flutter_utils_providers/flutter_utils_providers.dart';
// Low security: minimum 6 characters
bool isValid = FlutterUtilsProvider.validaPassword(
NivelSeguridadPassword.bajo,
'mypass123'
);
// Medium security: minimum 8 characters with letters and numbers
bool isValid = FlutterUtilsProvider.validaPassword(
NivelSeguridadPassword.medio,
'MyPassword123'
);
// High security: minimum 8 characters with uppercase, lowercase, numbers, and special characters
bool isValid = FlutterUtilsProvider.validaPassword(
NivelSeguridadPassword.alto,
'MyP@ssw0rd!'
);
Data Manipulation #
Work with maps and lists efficiently:
// Deep merge two maps immutably
Map<String, dynamic> merged = FlutterUtilsProvider.deepMergeMapInmutable(
{'key1': 'value1'},
{'key2': 'value2'}
);
// Compare two lists
bool areEqual = FlutterUtilsProvider.compararListas(list1, list2);
// Create new map with schema validation
Map<String, dynamic> newMap = FlutterUtilsProvider.newMap(
esquema: schemaMap,
mapaOriginal: originalData,
mapaActualizado: updatedData,
);
JSON Operations #
Handle JSON encoding and decoding:
// Decode JSON safely
Map<String, dynamic> decoded = FlutterUtilsProvider.decodeMapJson(
jsonString,
'fieldName'
);
// Encode JSON
Map<String, dynamic> encoded = FlutterUtilsProvider.encodeMapJson(
dataMap,
keysToEncode
);
// Validate JSON string
bool isValid = FlutterUtilsProvider.isValidJson(jsonString);
File Operations #
Access file and permission utilities:
import 'package:flutter_utils_providers/flutter_utils_archivos.dart';
import 'package:flutter_utils_providers/flutter_utils_permisos.dart';
// File operations through FlutterUtilsArchivos
// Permission handling through FlutterUtilsPermisos
Date Formatting #
Format dates easily:
import 'package:flutter_utils_providers/flutter_utils_implementacion_func_fecha.dart';
// Use FlutterUtilsImplementacionFuncFecha for date operations
Geographic Utilities #
Work with coordinates and locations:
import 'package:flutter_utils_providers/flutter_utils_implementacion_geo.dart';
// Access geographic calculation utilities
CUIT/CUIL Validation #
Validate Argentine tax identification numbers:
import 'package:flutter_utils_providers/flutter_utils_implementacion_cuit.dart';
// Use FlutterUtilsImplementacionCuit for CUIT/CUIL validation
Additional Features #
The package includes several implementation modules:
FlutterUtilsArchivos: File handling utilitiesFlutterUtilsPermisos: Permission managementFlutterUtilsImplementacionFuncFecha: Date/time functionsFlutterUtilsImplementacionGeo: Geographic utilitiesFlutterUtilsImplementacionCuit: CUIT/CUIL validationFlutterUtilsImplementacionTransDestino: Data transformation utilitiesFlutterUtilsProvidersMath: Mathematical operations
Requirements #
- Dart SDK: >=3.3.2 <4.0.0
- Flutter: >=1.17.0
Dependencies #
This package uses several well-maintained dependencies:
cryptofor cryptographic operationsdevice_info_plusfor device informationfile_pickerfor file selectionimageandimage_pickerfor image handlingpermission_handlerfor permissionsintlfor internationalizationuuidfor UUID generation
Contributing #
Contributions are welcome! If you find a bug or want to add a feature:
- Check if an issue already exists
- Create a new issue describing your bug/feature
- Fork the repository
- Create your feature branch
- Submit a pull request
License #
This project is licensed under the MIT License - see the LICENSE file for details.
Issues and Feedback #
Please file issues, bugs, or feature requests in our issue tracker.
Author #
Developed and maintained by RobleSistemas.