DiffEquality class Null safety

Dart makes it difficult to pass function pointers across isolates. DiffEquality provides a concrete implementation of equality comparators that can be used safely across isolate boundaries.

Keep in mind that any implementation of DiffDelegate cannot itself have any member properties or sub-properties that are function pointers.

This library also provides two interfaces that can be applied to the diff inputs themselves: Diffable can be used when the objects being diffed can be passed across isolate boundaries. DiffDelegate can be used when the objects cannot be passed across isolate boundaries.

Implementers
Available Extensions

Constructors

DiffEquality()
const
factory
DiffEquality.diffable({Equality fallbackIdentity, Equality fallbackEquals})
const
factory
DiffEquality.ofEquality([Equality? _identity, Equality? _equality])
const
factory

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

areEqual(dynamic a, dynamic b) bool
Determines whether two records have the same state. See areIdentical for a check that two records represent the same resource.
areIdentical(dynamic a, dynamic b) bool
Whether the two items being compared have the same identity, for example two records with the same primary key. This check is used to determine if an item should be removed or added to a list, rather than updated. [...]
hash(dynamic a) int
Creates a combined hash code for a number of objects. [...]
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
A string representation of this object. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited