A simple dependency sorter which will solve well formed dependency
structures. It'll detect dependency cycles but it will not help find what
caused the cycle or provide any attempt at a best guess for order in cyclic
scenarios. Use this as a best case first run and fall back to a more complex
solver if this one finds a cycle.
Checks that all the retrieved values for an item are the same. If they're
the same, it returns the equal value, otherwise it'll return null. A custom
equalityCheck can be provided for objects that don't override their
equality operator or need more sophisticated rules of equality (for example
if your K is a collection). TODO: have two functions; one to check is all
are equal, another to get the value?
Check if an iterable is equal to another iterable. Iterables are considered
equal if they have the same number of values and each of those values are
equal. A custom equalityCheck can be provided for objects that don't
override their equality operator or need to be deemed equal based on varying
application logic.
Check if a list of items is equal to another list of items. Lists are
considered equal if they have the same number of values and each of those
values are equal. A custom equalityCheck can be provided for objects that
don't override their equality operator or need to be deemed equal based on
varying application logic.