vm_result 0.2.1 copy "vm_result: ^0.2.1" to clipboard
vm_result: ^0.2.1 copied to clipboard

A minimal MVVM ViewModel contract for Flutter using ChangeNotifier and ValueListenable<Result<T>>.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.2.1 - 2026-07-18 #

Added #

  • Added isInitial and asInitial helper getters to Result class for improved API symmetry and state-checking convenience.

0.2.0 - 2026-07-16 #

Changed #

  • Removed freezed, freezed_annotation, and build_runner dependencies. All models (Result, ValueResult, PaginatedResult, and UiEffect) have been rewritten as pure Dart classes and sealed classes. Public API contracts remain identical.

0.1.3 - 2026-07-16 #

Added #

  • Added errorAs<E>() helper methods to Result and ValueResult classes to easily cast custom exception types.

0.1.2 - 2026-07-14 #

Added #

  • Added LICENSE file (MIT License).
  • Added a runnable Flutter example project under example/ demonstrating the core usage of ViewModels, builders, and listeners.

Fixed #

  • Fixed package resolution and format validation issues in the GitHub Actions CI workflow.
  • Fixed missing repository and issue_tracker fields in pubspec.yaml.

0.1.0 - 2026-07-14 #

Added #

  • Added pluggable logging contract VMResultLogger and VMResultLogging registry to support custom logging framework integrations.
  • Added a web-safe DefaultVMResultLogger utilizing standard dart:developer logging.

Changed #

  • Decoupled talker_flutter dependency from the package dependencies list.

Fixed #

  • Fixed reactivity and state desync bug in isExecuting where UI listeners missed execution lifecycle transitions.
  • Fixed memory leaks and missed updates in EffectListener by implementing didUpdateWidget for proper subscription syncing.
  • Fixed a concurrency list-corruption race condition in VMPaginated.loadMore when state refreshes during pagination fetches.
  • Fixed log noise by preventing error warning prints during normal VM disposals with in-flight operations.
  • Fixed shadowed _disposed field on VMResultEffect class.
  • Fixed typographical copy-paste errors in ValueResult documentation comments.

0.0.2 - 2026-07-14 #

Changed #

  • Bumped Dart SDK version to ^3.12.0.

0.0.1 - 2026-03-21 #

Added #

  • Initial Release of vm_result core MVVM contracts, widgets, pagination, stream subscriptions, and helper guards.
0
likes
160
points
18
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A minimal MVVM ViewModel contract for Flutter using ChangeNotifier and ValueListenable<Result<T>>.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on vm_result