firefast 0.0.17
firefast: ^0.0.17 copied to clipboard
Firebase without the fuss. Define fields once, then just .write(), .read() Type-safe. Clean. Fast. Easy. Firestore, Realtime Database, Auth, Storage, Functions, Config and more!
0.0.17 #
- Completed implementation of the firefast_firestore library:
- Firestore-specific document and collection models:
FirestoreDocumentPathandFirestoreCollectionPath- Type-safe path representations for Firestore structureFirestoreDocument- Main document class with integrated field managementFirestoreField<T>- Specialized field implementation with automatic Firestore adapter resolutionFirestoreDocumentOutput- Type-safe output container for Firestore document data
- Comprehensive datasource implementation with
FirefastStore:- Singleton service pattern with override capability for testing
- Complete CRUD operations implementation for Firestore documents
- Integrated with path-based operations from core library
- Merge-aware write vs. overwrite operations
- Powerful extension methods for fluid API:
CollectionPathExtensions- Easy document access from collectionsDocumentExtensions- Rich navigation between documents and subcollectionsPathSegmentFirestoreExtensions- Conversion utilities for Firestore path typesFireFieldExtensionandFireFieldListExtension- Document creation helpers for individual fields and field lists
- Streamlined builder pattern for document construction:
- Simplified creation of documents with one or multiple fields
- Fluent API for building document hierarchies
- Type-safe field navigation and manipulation
- Firestore-specific document and collection models:
0.0.16 #
- Started implementing the firefast_firestore library with new core tools:
- Comprehensive Firestore type adapter system:
FirestoreAdapters- Central registry extendingFireAdapterMapfor Firestore-specific types- Automatic registration system for all Firestore data types
- Specialized Firestore type converters:
TimestampFireAdapter- Converts between Firestore Timestamp and Dart DateTimeGeoPointFireAdapter- Handles Firestore GeoPoint objectsBlobFireAdapter- Manages binary data with Uint8List and Firestore BlobDocumentReferenceFireAdapter- Supports Firestore document references
- Enhanced list handling with
FirestoreListAdapters<T>:- Generic implementation for any type of list
- Automatic type resolution for list elements
- Built-in support for common types: bool, int, double, String, Uint8List, DateTime
- Streamlined part-based architecture for better code organization
- Complete type-safety with proper generics throughout
- Comprehensive Firestore type adapter system:
0.0.15 #
- Added comprehensive path-based data handling system in core/path:
PathSegment- Hierarchical path representation with parent-child relationships- Fluent API for building nested paths with
child()method - Automatic path string generation with proper delimiters
- Fluent API for building nested paths with
- Standardized path-based operations interfaces:
ReadOnPath<D>- Type-safe read operations at a specific pathWriteOnPath<D>- Type-safe write operations at a specific pathOverwriteOnPath<D>- Complete data replacement at a specific pathDeleteOnPath- Data removal at a specific path
- Enhanced data objects with path context:
DataOnPathObject<O>- Interface combining CRUD operations for objects at pathsDataOnPathWithSource<S, O>- Extension with integrated data sourcePathBasedDataSource<D, S>- Abstract foundation for path-based data sources
- Advanced field set operations:
FireSetOnPath<S, P, Self>- Self-referential generic for type-safe path operations- Field-level operations including selective field deletion
- Type-safe field retrieval with automatic deserialization
- Path-aware field set manipulations with immutable pattern
0.0.14 #
Core Models Rewrite #
- Continued rewrite of core library with focus on core/models:
- Renamed
FireFieldtoFireFieldBase- now by default is unusable unless using specific library (not core) - Renamed
FireFieldSettoFireSet- now a generic strongly typed map builder based on values - Introduced
FirePort<T>abstract class as the foundation for data transfer operations:- Provides a consistent interface for bidirectional data flow with Firebase
- Includes validation and cancellation capabilities through functional callbacks
- Advanced field validation and processing:
isValid<T>function allows conditional validation of field values before database operationsshouldCancelAll<T>function enables cancellation of entire operations based on single field conditions- Both validation functions are composable and can be chained together for complex validation logic
- Enhanced data flow mechanics:
ToFireDelegate<T>handles outgoing data preparation before adapter conversionFromFireDelegate<T>processes incoming data after adapter conversion- Complete control over data transformation at each step of the Firebase interaction
- Improved
FireSetBase<O>abstract class with cleaner API for data conversion:- Type-generic approach allows customization of output formats
- Simplified method signatures for toMap/fromMap operations
- Enhanced
FireSetOutputwith type-safe field access and better error handling:- Type-safe getters prevent runtime type errors
- Detailed error messages when type conversion fails
- Added
FieldTypeMismatchExceptionfor clearer error detection when type conversion fails - Streamlined operation interfaces with
ReadNoParams,WriteNoParams,OverwriteNoParams, andDeleteNoParams:- Simplified API for common database operations
- Consistent interface patterns across different operation types
- Renamed
Core Models Testing #
- Added comprehensive test suite for core/models components:
FireFieldBasetests for initialization, inheritance, adapter conversion and type compatibilityFireSettests for data conversion, validation, and error handlingFirePorttests for delegate execution and validation functionsFireSetBasetests for type-generic behavior and complex data structures- 50+ test cases with full coverage of edge cases and data type variations
0.0.13 #
- Comprehensive testing of adapter system:
- Added 80 unit tests covering all adapter implementations
- Complete test coverage for type conversion edge cases
- Validation tests for all primitive type adapters (bool, int, double, String)
- Verification tests for complex type adapters (DateTime, Uint8List, Map, List)
- Integration tests for adapter registry and automatic type resolution
0.0.12 #
- Started rewrite of core library
- Enhanced adapter system implementation:
- Integrated comprehensive type adapters for automatic Firebase data conversion
- Included all possible adapter types for fast access without manual definition
BaseFireAdapter- Foundation adapter with toFire/fromFire conversion methodsFireAdapter- Type-safe adapter implementation with nullable supportFireAdapterMap- Registry system for type adapters with automatic registrationListFireAdapter- Specialized adapter for handling lists of any type- Added adapters for primitive types (bool, int, double, String) and complex types (DateTime, Uint8List, Map, List)
0.0.11 #
- Enhanced cache services implementation:
FireCacheBox- Abstract wrapper for Firebase data objects with integrated caching and rate limiting- Improved cache rate limiting:
- Enhanced integration between cache components and Firebase data objects
- Optimized cache validation workflows
- Cache service improvements:
- Better integration with Firebase data sources
0.0.10 #
- Cache functionality with rate limiting implementation:
FireCacheBox- Abstract wrapper for data objects with cache and rate limiting functionalityCacheLimiterBase- Base interface for cache rate limiting implementationsCooldownLimiter- Cooldown-based implementation of rate limiting- Type definitions for cache operations:
GetCacheFunction- For retrieving cached dataUpdateCacheFunction- For updating cached dataIsDataValidCache- For validating data before caching
0.0.9 #
- Realtime Database extensions implementation:
FireFieldRealtimeExtensions- Extensions for converting core fields to Realtime Database fieldsFireFieldListExtensions- Extensions for working with collections of fields in Realtime DatabaseRealtimeNodePathExtensions- Extensions for creating fields and nodes from pathsPathSegmentRealtimeExtensions- Conversion utilities for Realtime Database path typesRealtimeNodeExtensions- Helper methods for Realtime node operations
0.0.8 #
- Realtime Database models implementation:
RealtimeNodePath- Type-safe representation of Realtime Database node pathsRealtimeNode- Node class with type-safe field operationsRealtimeField- Type-safe field accessor for Realtime Database nodes
- Realtime Database services implementation:
FirefastReal- Singleton service for Realtime Database operations with CRUD methods
0.0.7 #
- Complete documentation added for all firefast_firestore components
- Added comprehensive test suite for all Firestore functionality
- Exported all Firestore components to a single
firefast_firestore.dartbarrel file
0.0.6 #
- Firestore extensions implementation:
CollectionPathExtensions- Extensions for working with Firestore collection pathsDocumentExtensions- Rich set of extensions for document path navigation and manipulationFireFieldExtension- Helpers for creating Firestore fields from core fieldsFireFieldListExtension- Utilities for working with collections of fieldsFirestoreDocumentExtensions- Methods for adding and modifying document fieldsPathSegmentFirestoreExtensions- Conversion utilities for Firestore path types
- Firestore services implementation:
FirefastStore- Singleton service for Firestore operations with simplified CRUD methods
0.0.5 #
- Firestore models implementation:
FirestoreDocumentPath- Type-safe representation of Firestore document pathsFirestoreCollectionPath- Type-safe representation of Firestore collection pathsFirestoreDocument- Document class with type-safe field operationsFirestoreDocumentOutput- Output wrapper for Firestore document dataFirestoreField- Type-safe field accessor for Firestore documents
0.0.4 #
- Basic core functionality complete
- Added documentation for all components in core directory
- Exported all core components to a single
firefast_core.dartbarrel file - Added 90+ unit tests for all core components
0.0.3 #
- Core path implementation:
PathSegment- Base class for Firebase path representation with parent-child relationshipsFireDataPathObject- Interface for path-based CRUD operationsFireDataPathObjectSource- Base implementation for data path objects with datasourceFirePathField- Implementation for single field operations at a specific pathFirePathFields- Collection of fields with path-based data operations
- Core extensions:
FireFieldCoreExtensions- Extensions for converting lists of FireField to FireFieldSet
- Core global:
Firefast- Main entry point with utility methods for path and field creation
0.0.2 #
- Core output implementation:
FireFieldOutput- Contains a field and its value from a database readFireFieldsOutput- Collection of field outputs with type-safe accessor methods
- Core services implementation:
- Abstract operations interfaces:
FastPathRead- Read operations by pathFastPathWrite- Write operations by pathFastPathOverwrite- Overwrite operations by pathFastPathDelete- Delete operations by path
- No-parameter operation interfaces:
FastReadNoParams- Read operations without parametersFastWriteNoParams- Write operations without parametersFastOverwriteNoParams- Overwrite operations without parametersFastDeleteNoParams- Delete operations without parameters
FastDataPathSource- Base implementation for data sources
- Abstract operations interfaces:
0.0.1 #
- Initial release of the Firefast package
- Core models implementation:
FireField- Base field implementation for Firebase data mappingFireFieldBase- Abstract base class for Firebase fieldsFireFieldSet- Collection of fields with conversion utilitiesFireFieldSetBase- Abstract base class for field collections- Type definitions for Firebase data conversion