firefast 0.0.19
firefast: ^0.0.19 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.19 #
- Added type adapters for Firebase Realtime Database:
- Created
RealtimeAdapters
central registry extendingFireAdapterMap
:- Singleton pattern for global type resolution
- Automatic adapter registration system
- Implemented list handling with
RealtimeListAdapters<T>
:- Generic implementation for all types of lists
- Type-safe list conversion for Realtime Database
- Built-in support for common types: bool, int, double, String, Uint8List, DateTime
- Created
0.0.18 #
- Introduced the base testing framework for
firefast_firestore
:FirestoreTestUtils
for core testing utilities:FirefastStore
factory with fake Firestore
- Extensive
FirefastStore
tests:- CRUD operations, nested structures, collections, edge cases
- Sequential and stress tests
- Path operation tests:
- Path construction, hierarchy, and integrity
- Document navigation and path equivalence
- Integration with document operations
0.0.17 #
- Completed implementation of the firefast_firestore library:
- Firestore-specific document and collection models:
FirestoreDocumentPath
andFirestoreCollectionPath
- 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 typesFireFieldExtension
andFireFieldListExtension
- 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 extendingFireAdapterMap
for 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
FireField
toFireFieldBase
- now by default is unusable unless using specific library (not core) - Renamed
FireFieldSet
toFireSet
- 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
FireSetOutput
with type-safe field access and better error handling:- Type-safe getters prevent runtime type errors
- Detailed error messages when type conversion fails
- Added
FieldTypeMismatchException
for 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:
FireFieldBase
tests for initialization, inheritance, adapter conversion and type compatibilityFireSet
tests for data conversion, validation, and error handlingFirePort
tests for delegate execution and validation functionsFireSetBase
tests 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.dart
barrel 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.dart
barrel 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