equatable 3.0.0-dev.1 copy "equatable: ^3.0.0-dev.1" to clipboard
equatable: ^3.0.0-dev.1 copied to clipboard

A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode.

3.0.0-dev.1 #

  • feat: use covariant in operator== override for improved type safety
  • chore: add macros to topics in pubspec.yaml

3.0.0-dev.0 #

  • BREAKING feat!: rewrite using macros

    Before

    class Person extends Equatable {
      const Person({required this.name});
      final String name;
    
      @override
      List<Object> get props => [name];
    }
    

    After

    @Equatable()
    class Person {
      const Person({required this.name});
      final String name;
    }
    

2.0.5 #

  • fix: resolves T not a subtype of type 'Comparable<dynamic>' when computing hashCode

2.0.4 #

  • fix: use SplayTreeSet to resolve inconsistent hashCode for properties of type Set (#142)

2.0.3 #

  • fix: revert EquatableMixin == to use Object (#122)

2.0.2 #

  • fix: Map prop with non-comparable key

2.0.1 #

  • fix: hashCode should be the same for equal objects (Map fix)

2.0.0 #

  • BREAKING: opt into null safety
    • feat!: upgrade Dart SDK constraints to >=2.12.0-0 <3.0.0
  • BREAKING: stringify prints "null" for null properties instead of ""
  • feat: EquatableConfig.stringify defaults to true in debug mode.
  • fix: support legacy equality overrides with EquatableMixin
  • fix: iterable equality comparisons (#101)
  • fix: stringify instance with long properties (#94)
  • chore: update dependencies
    • collection: ^1.15.0
    • meta: ^1.3.0
  • docs: minor updates to README and example

2.0.0-nullsafety.4 #

  • feat: EquatableConfig.stringify defaults to true in debug mode.
  • fix: support legacy equality overrides with EquatableMixin

2.0.0-nullsafety.3 #

  • chore: update dependencies
    • collection: ^1.15.0
    • meta: ^1.3.0

2.0.0-nullsafety.2 #

  • fix: iterable equality comparisons (#101)
  • fix: stringify instance with long properties (#94)

2.0.0-nullsafety.1 #

  • BREAKING: stringify prints "null" for null properties instead of ""

2.0.0-nullsafety.0 #

  • BREAKING: opt into null safety
  • feat!: upgrade Dart SDK constraints to >=2.12.0-0 <3.0.0
  • docs: minor updates to README and example

1.2.6 #

  • fix: iterable equality comparisons (#101)
  • fix: stringify instance with long properties (#94)

1.2.5 #

  • docs: dartdoc improvements (#80)
  • docs: minor inline documentation improvements

1.2.4 #

  • fix: EquatableMixin stringify respects EquatableConfig.stringify (#81)

1.2.3 #

  • docs: inline, public documentation improvements (#78).
  • refactor: stricter analysis/lint rules

1.2.2 #

  • Documentation badge fixes and updates

1.2.1 #

  • Fix hashCode computation for Iterables (#74)
  • Minor documentation improvements

1.2.0 #

  • Added EquatableConfig for global stringify configuration (#69)

1.1.1 #

  • Updates to EquatableUtils documentation

1.1.0 #

  • Fix hashCode error when props is null (#45)
  • Added stringify feature (optional toString override) (#45)

1.0.3 #

  • Fix hashCode collisions for lists within props (#53)

1.0.2 #

  • Fix internal lint warnings

1.0.1 #

  • Fix hashCode collisions with Map properties (#43)

1.0.0 #

  • Update hashCode implementation to use Jenkins Hash (#39)
  • Documentation Updates

0.6.1 #

  • Minor documentation updates

0.6.0 #

  • The props getter override is required for both Equatable and EquatableMixin
  • Performance Improvements

0.5.1 #

  • Allow const constructors on Equatable class

0.5.0 #

  • Removed EquatableMixinBase (now covered by EquatableMixin).
  • Typed EquatableMixin from List<dynamic> to List<Object> to fix linter issues with implicit-dynamic: false.

0.4.0 #

Update toString to default to runtimeType (#27)

0.3.0 #

Enforce Immutability (#25)

0.2.6 #

Improved support for collection types (#19)

0.2.5 #

Improved support for Iterable, List, Map, and Set props (#17)

0.2.4 #

Additional Minor Documentation Updates

0.2.3 #

Documentation Updates

0.2.2 #

Bug Fixes:

  • Equatable instances that are equal now have the same hashCode (#8)

0.2.1 #

Update Dart support to >=2.0.0 <3.0.0

0.2.0 #

Add EquatableMixin and EquatableMixinBase

0.1.10 #

Enhancements to toString override

0.1.9 #

equatable has 0 dependencies

0.1.8 #

Support Iterable props

0.1.7 #

Added toString override

0.1.6 #

Documentation Updates

  • Performance Tests

0.1.5 #

Additional Performance Optimizations & Documentation Updates

0.1.4 #

Performance Optimizations

0.1.3 #

Bug Fixes

0.1.2 #

Additional Updates to Documentation.

  • Logo Added

0.1.1 #

Minor Updates to Documentation.

0.1.0 #

Initial Version of the library.

  • Includes the ability to extend Equatable and not have to override == and hashCode.
3207
likes
150
pub points
100%
popularity

Publisher

verified publisherfluttercommunity.dev

A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode.

Repository (GitHub)
View/report issues
Contributing

Topics

#equality #equals #macros

Documentation

Documentation
API reference

Funding

Consider supporting this project:

github.com

License

MIT (license)

Dependencies

collection, macros

More

Packages that depend on equatable