flutter_models_provider 1.0.2
flutter_models_provider: ^1.0.2 copied to clipboard
Modelos de datos y Environment para Aplicaciones Flutter.
flutter_models_provider #
Modelos de datos y Environment para Aplicaciones Flutter.
Instalación #
Agrega el paquete a tu archivo pubspec.yaml:
dependencies:
flutter_models_provider: ^1.0.2
Luego ejecuta:
flutter pub get
Características #
Este paquete proporciona modelos de datos reutilizables para aplicaciones Flutter:
- EnvironmentApiRest: Maneja las propiedades predeterminadas para comunicación con APIs REST
- ColeccionBase: Clase abstracta que define la estructura común para modelos ObjectBox
- LatLngModel: Modelo para administrar valores geográficos (latitud y longitud)
- PaginadoModel: Manejo de paginación de consultas
- QueryResponseModel: Modelo estandarizado para respuestas del servidor
- UploadRecivedModel: Modelo para carga de archivos
- Modelos ObjectBox: Soporte para ColeccionObjBox y sus variantes (1-5)
Uso #
import 'package:flutter_models_provider/flutter_models_provider.dart';
// Usar EnvironmentApiRest para configuración de API
final env = EnvironmentApiRest(
dataOK: 'success',
dataNOK: 'error',
);
// Usar QueryResponseModel para respuestas del servidor
final response = QueryResponseModel(
inStatus: 200,
msgStatus: 'OK',
data: {'key': 'value'},
);
// Usar LatLngModel para coordenadas geográficas
final location = LatLngModel(
latitud: 40.7128,
longitud: -74.0060,
);
// Usar PaginadoModel para paginación
final paginado = PaginadoModel(
pagina: 1,
limite: 20,
total: 100,
);
Arquitectura del Proyecto #
Este proyecto está diseñado para trabajar con diferentes ramas según el entorno:
- main/release: Ramas de producción sin dependencias de ObjectBox
- developer: Rama de desarrollo con soporte completo para ObjectBox
Uso con ObjectBox #
En la rama developer, los modelos ColeccionObjBox incluyen decoradores para integración con ObjectBox:
// Los archivos objectbox.g.dart y objectbox-model.json se generan con:
dart run build_runner build
Licencia #
MIT License - ver el archivo LICENSE para más detalles.
Contribuciones #
Las contribuciones son bienvenidas. Por favor, abre un issue o pull request en el repositorio de GitHub.