CollectionLaws

object CollectionLaws

Functions

Link copied to clipboard
inline fun <T> Collection<T>.allLaw(predicate: (T) -> Boolean): Boolean
Link copied to clipboard
inline fun <T> Collection<T>.anyLaw(): Boolean
inline fun <T> Collection<T>.anyLaw(predicate: (T) -> Boolean): Boolean
Link copied to clipboard
inline fun <E> Collection<E>.countLaw(): Int
inline fun <E> Collection<E>.countLaw(predicate: (E) -> Boolean): Int
Link copied to clipboard
inline fun <T, K> Collection<T>.distinctByLaw(selector: (T) -> K): List<T>
Link copied to clipboard
inline fun <E> Collection<E>.distinctLaw(): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.dropLaw(n: Int): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.dropWhileLaw(predicate: (E) -> Boolean): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.elementAtLaw(index: Int): E
Link copied to clipboard
inline fun <E> Collection<E>.elementAtOrNullLaw(index: Int): E?
Link copied to clipboard
inline fun <E> Collection<E>.filterIndexedLaw(predicate: (Int, E) -> Boolean): List<E>
Link copied to clipboard
inline fun <R> Collection<*>.filterIsInstanceLaw(): List<R>
Link copied to clipboard
inline fun <E> Collection<E>.filterLaw(predicate: (E) -> Boolean): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.filterNotLaw(predicate: (E) -> Boolean): List<E>
Link copied to clipboard
inline fun <E> Collection<E?>.filterNotNullLaw(): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.firstLaw(): E
Link copied to clipboard
inline fun <E> Collection<E>.firstLawWithPredicate(predicate: (E) -> Boolean): E
Link copied to clipboard
inline fun <E> Collection<E>.firstOrNullLaw(): E?
Link copied to clipboard
inline fun <A, B> Collection<A>.flatMapIndexedLaw(transform: (index: Int, A) -> Iterable<B>): List<B>
Link copied to clipboard
inline fun <A, B> Collection<A>.flatMapLaw(transform: (A) -> Iterable<B>): List<B>
Link copied to clipboard
inline fun <A> Collection<Collection<A>>.flattenLaw(): List<A>
Link copied to clipboard
inline fun <A> Collection<A>.forEachIndexedLaw(action: (Int, A) -> Unit)
Link copied to clipboard
inline fun <A> Collection<A>.forEachLaw(action: (A) -> Unit)
Link copied to clipboard
inline fun <E> Collection<E>.indexOfFirstLaw(predicate: (E) -> Boolean): Int
Link copied to clipboard
inline fun <E> Collection<E>.indexOfLastLaw(predicate: (E) -> Boolean): Int
Link copied to clipboard
inline fun <E> Collection<E>.indexOfLaw(element: E): Int
Link copied to clipboard
inline fun <T> Collection<T>.intersectLaw(other: Collection<T>): Set<T>
Link copied to clipboard
inline fun <E> Collection<E>.isEmptyLaw(): Boolean
Link copied to clipboard
inline fun <E> Collection<E>.isNotEmptyLaw(): Boolean
Link copied to clipboard
inline fun <E> Collection<E>?.isNullOrEmptyLaw(): Boolean
Link copied to clipboard
inline fun <E> Collection<E>.lastIndexOfLaw(element: E): Int
Link copied to clipboard
inline fun <E> Collection<E>.lastLaw(): E
inline fun <E> Collection<E>.lastLaw(predicate: (E) -> Boolean): E
Link copied to clipboard
inline fun <E> Collection<E>.lastOrNullLaw(): E?
Link copied to clipboard
inline fun <A, B> Collection<A>.mapIndexedLaw(transform: (Int, A) -> B): List<B>
Link copied to clipboard
inline fun <A, B> Collection<A>.mapIndexedNotNullLaw(transform: (Int, A) -> B?): List<B>
Link copied to clipboard
inline fun <A, B> Collection<A>.mapLaw(transform: (A) -> B): List<B>
Link copied to clipboard
inline fun <A, B> Collection<A>.mapNotNullLaw(transform: (A) -> B?): List<B>
Link copied to clipboard
inline fun <E> Collection<E>.minusLaw(element: E): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.minusLawWithElements(elements: Collection<E>): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.noneLaw(): Boolean
Link copied to clipboard
inline fun <A, C : Collection<A>> C.onEachIndexedLaw(action: (Int, A) -> Unit): C
Link copied to clipboard
inline fun <A, C : Collection<A>> C.onEachLaw(action: (A) -> Unit): C
Link copied to clipboard
inline fun <E> Collection<E>?.orEmptyLaw(): Collection<E>
Link copied to clipboard
inline fun <E> Collection<E>.plusLaw(element: E): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.plusLawWithElements(elements: Collection<E>): List<E>
Link copied to clipboard
inline fun <T> Collection<T>.randomLaw(): T
Link copied to clipboard
inline fun <T> Collection<T>.randomOrNullLaw(): T?
Link copied to clipboard
inline fun <E> Collection<E>.reversedLaw(): List<E>
Link copied to clipboard
inline fun <T> Collection<T>.shuffledLaw(): List<T>
Link copied to clipboard
inline fun <E> Collection<E>.singleLaw(): E
Link copied to clipboard
inline fun <E> Collection<E>.singleOrNullLaw(): E?
Link copied to clipboard
inline fun <E> Collection<E>.sizeLaw(): Int
Link copied to clipboard
inline fun <T, R : Comparable<R>> Collection<T>.sortedByDescendingLaw(crossinline selector: (T) -> R?): List<T>
Link copied to clipboard
inline fun <T, R : Comparable<R>> Collection<T>.sortedByLaw(crossinline selector: (T) -> R?): List<T>
Link copied to clipboard
inline fun <E : Comparable<E>> Collection<E>.sortedDescendingLaw(): List<E>
Link copied to clipboard
inline fun <E : Comparable<E>> Collection<E>.sortedLaw(): List<E>
Link copied to clipboard
inline fun <T> Collection<T>.sortedWithLaw(comparator: Comparator<in T>): List<T>
Link copied to clipboard
inline fun <T> Collection<T>.subtractLaw(other: Collection<T>): Set<T>
Link copied to clipboard
inline fun <E> Collection<E>.takeLaw(n: Int): List<E>
Link copied to clipboard
inline fun <E> Collection<E>.takeWhileLaw(predicate: (E) -> Boolean): List<E>
Link copied to clipboard
inline fun <T> Collection<T>.unionLaw(other: Collection<T>): Set<T>
Link copied to clipboard
inline fun <T, R> Collection<Pair<T, R>>.unzipLaw(): Pair<List<T>, List<R>>
Link copied to clipboard
inline fun <T, R> Collection<T>.zipLaw(other: Collection<R>): List<Pair<T, R>>
inline fun <T, R, V> Collection<T>.zipLaw(other: Collection<R>, transform: (T, R) -> V): List<V>
Link copied to clipboard
inline fun <T> Collection<T>.zipWithNextLaw(): List<Pair<T, T>>
inline fun <T, V> Collection<T>.zipWithNextLaw(transform: (T, T) -> V): List<V>