Rename sequence() extension to asSequence()
This commit is contained in:
@@ -12,10 +12,10 @@ import java.util.Collections // TODO: it's temporary while we have java.util.Col
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun <T> Array<out T>.sequence(): Sequence<T> {
|
public fun <T> Array<out T>.asSequence(): Sequence<T> {
|
||||||
return object : Sequence<T> {
|
return object : Sequence<T> {
|
||||||
override fun iterator(): Iterator<T> {
|
override fun iterator(): Iterator<T> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,10 +23,10 @@ public fun <T> Array<out T>.sequence(): Sequence<T> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun BooleanArray.sequence(): Sequence<Boolean> {
|
public fun BooleanArray.asSequence(): Sequence<Boolean> {
|
||||||
return object : Sequence<Boolean> {
|
return object : Sequence<Boolean> {
|
||||||
override fun iterator(): Iterator<Boolean> {
|
override fun iterator(): Iterator<Boolean> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,10 +34,10 @@ public fun BooleanArray.sequence(): Sequence<Boolean> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun ByteArray.sequence(): Sequence<Byte> {
|
public fun ByteArray.asSequence(): Sequence<Byte> {
|
||||||
return object : Sequence<Byte> {
|
return object : Sequence<Byte> {
|
||||||
override fun iterator(): Iterator<Byte> {
|
override fun iterator(): Iterator<Byte> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -45,10 +45,10 @@ public fun ByteArray.sequence(): Sequence<Byte> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun CharArray.sequence(): Sequence<Char> {
|
public fun CharArray.asSequence(): Sequence<Char> {
|
||||||
return object : Sequence<Char> {
|
return object : Sequence<Char> {
|
||||||
override fun iterator(): Iterator<Char> {
|
override fun iterator(): Iterator<Char> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,10 +56,10 @@ public fun CharArray.sequence(): Sequence<Char> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun DoubleArray.sequence(): Sequence<Double> {
|
public fun DoubleArray.asSequence(): Sequence<Double> {
|
||||||
return object : Sequence<Double> {
|
return object : Sequence<Double> {
|
||||||
override fun iterator(): Iterator<Double> {
|
override fun iterator(): Iterator<Double> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -67,10 +67,10 @@ public fun DoubleArray.sequence(): Sequence<Double> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun FloatArray.sequence(): Sequence<Float> {
|
public fun FloatArray.asSequence(): Sequence<Float> {
|
||||||
return object : Sequence<Float> {
|
return object : Sequence<Float> {
|
||||||
override fun iterator(): Iterator<Float> {
|
override fun iterator(): Iterator<Float> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,10 +78,10 @@ public fun FloatArray.sequence(): Sequence<Float> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun IntArray.sequence(): Sequence<Int> {
|
public fun IntArray.asSequence(): Sequence<Int> {
|
||||||
return object : Sequence<Int> {
|
return object : Sequence<Int> {
|
||||||
override fun iterator(): Iterator<Int> {
|
override fun iterator(): Iterator<Int> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -89,10 +89,10 @@ public fun IntArray.sequence(): Sequence<Int> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun LongArray.sequence(): Sequence<Long> {
|
public fun LongArray.asSequence(): Sequence<Long> {
|
||||||
return object : Sequence<Long> {
|
return object : Sequence<Long> {
|
||||||
override fun iterator(): Iterator<Long> {
|
override fun iterator(): Iterator<Long> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -100,10 +100,10 @@ public fun LongArray.sequence(): Sequence<Long> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun ShortArray.sequence(): Sequence<Short> {
|
public fun ShortArray.asSequence(): Sequence<Short> {
|
||||||
return object : Sequence<Short> {
|
return object : Sequence<Short> {
|
||||||
override fun iterator(): Iterator<Short> {
|
override fun iterator(): Iterator<Short> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -111,10 +111,10 @@ public fun ShortArray.sequence(): Sequence<Short> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun <T> Iterable<T>.sequence(): Sequence<T> {
|
public fun <T> Iterable<T>.asSequence(): Sequence<T> {
|
||||||
return object : Sequence<T> {
|
return object : Sequence<T> {
|
||||||
override fun iterator(): Iterator<T> {
|
override fun iterator(): Iterator<T> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -122,10 +122,10 @@ public fun <T> Iterable<T>.sequence(): Sequence<T> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun <K, V> Map<K, V>.sequence(): Sequence<Map.Entry<K, V>> {
|
public fun <K, V> Map<K, V>.asSequence(): Sequence<Map.Entry<K, V>> {
|
||||||
return object : Sequence<Map.Entry<K, V>> {
|
return object : Sequence<Map.Entry<K, V>> {
|
||||||
override fun iterator(): Iterator<Map.Entry<K, V>> {
|
override fun iterator(): Iterator<Map.Entry<K, V>> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -133,7 +133,7 @@ public fun <K, V> Map<K, V>.sequence(): Sequence<Map.Entry<K, V>> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun <T> Sequence<T>.sequence(): Sequence<T> {
|
public fun <T> Sequence<T>.asSequence(): Sequence<T> {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,17 +142,17 @@ deprecated("Migrate to using Sequence<T> and respective functions")
|
|||||||
/**
|
/**
|
||||||
* Returns a stream from the given collection
|
* Returns a stream from the given collection
|
||||||
*/
|
*/
|
||||||
public fun <T> Stream<T>.stream(): Stream<T> {
|
public fun <T> Stream<T>.asStream(): Stream<T> {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
public fun String.sequence(): Sequence<Char> {
|
public fun String.asSequence(): Sequence<Char> {
|
||||||
return object : Sequence<Char> {
|
return object : Sequence<Char> {
|
||||||
override fun iterator(): Iterator<Char> {
|
override fun iterator(): Iterator<Char> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -160,9 +160,122 @@ public fun String.sequence(): Sequence<Char> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun <T> Array<out T>.sequence(): Sequence<T> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun BooleanArray.sequence(): Sequence<Boolean> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun ByteArray.sequence(): Sequence<Byte> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun CharArray.sequence(): Sequence<Char> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun DoubleArray.sequence(): Sequence<Double> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun FloatArray.sequence(): Sequence<Float> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun IntArray.sequence(): Sequence<Int> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun LongArray.sequence(): Sequence<Long> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun ShortArray.sequence(): Sequence<Short> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun <T> Iterable<T>.sequence(): Sequence<T> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun <K, V> Map<K, V>.sequence(): Sequence<Map.Entry<K, V>> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun <T> Sequence<T>.sequence(): Sequence<T> {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a stream from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asStream() instead")
|
||||||
|
public fun <T> Stream<T>.stream(): Stream<T> {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
|
public fun String.sequence(): Sequence<Char> {
|
||||||
|
return asSequence()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a sequence from the given collection
|
||||||
|
*/
|
||||||
|
deprecated("Use asSequence() instead")
|
||||||
public fun <T> Array<out T>.stream(): Stream<T> {
|
public fun <T> Array<out T>.stream(): Stream<T> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<T> {
|
return object : Stream<T> {
|
||||||
override fun iterator(): Iterator<T> {
|
override fun iterator(): Iterator<T> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -173,9 +286,9 @@ public fun <T> Array<out T>.stream(): Stream<T> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun BooleanArray.stream(): Stream<Boolean> {
|
public fun BooleanArray.stream(): Stream<Boolean> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Boolean> {
|
return object : Stream<Boolean> {
|
||||||
override fun iterator(): Iterator<Boolean> {
|
override fun iterator(): Iterator<Boolean> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -186,9 +299,9 @@ public fun BooleanArray.stream(): Stream<Boolean> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun ByteArray.stream(): Stream<Byte> {
|
public fun ByteArray.stream(): Stream<Byte> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Byte> {
|
return object : Stream<Byte> {
|
||||||
override fun iterator(): Iterator<Byte> {
|
override fun iterator(): Iterator<Byte> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -199,9 +312,9 @@ public fun ByteArray.stream(): Stream<Byte> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun CharArray.stream(): Stream<Char> {
|
public fun CharArray.stream(): Stream<Char> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Char> {
|
return object : Stream<Char> {
|
||||||
override fun iterator(): Iterator<Char> {
|
override fun iterator(): Iterator<Char> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -212,9 +325,9 @@ public fun CharArray.stream(): Stream<Char> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun DoubleArray.stream(): Stream<Double> {
|
public fun DoubleArray.stream(): Stream<Double> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Double> {
|
return object : Stream<Double> {
|
||||||
override fun iterator(): Iterator<Double> {
|
override fun iterator(): Iterator<Double> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -225,9 +338,9 @@ public fun DoubleArray.stream(): Stream<Double> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun FloatArray.stream(): Stream<Float> {
|
public fun FloatArray.stream(): Stream<Float> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Float> {
|
return object : Stream<Float> {
|
||||||
override fun iterator(): Iterator<Float> {
|
override fun iterator(): Iterator<Float> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -238,9 +351,9 @@ public fun FloatArray.stream(): Stream<Float> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun IntArray.stream(): Stream<Int> {
|
public fun IntArray.stream(): Stream<Int> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Int> {
|
return object : Stream<Int> {
|
||||||
override fun iterator(): Iterator<Int> {
|
override fun iterator(): Iterator<Int> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -251,9 +364,9 @@ public fun IntArray.stream(): Stream<Int> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun LongArray.stream(): Stream<Long> {
|
public fun LongArray.stream(): Stream<Long> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Long> {
|
return object : Stream<Long> {
|
||||||
override fun iterator(): Iterator<Long> {
|
override fun iterator(): Iterator<Long> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -264,9 +377,9 @@ public fun LongArray.stream(): Stream<Long> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun ShortArray.stream(): Stream<Short> {
|
public fun ShortArray.stream(): Stream<Short> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Short> {
|
return object : Stream<Short> {
|
||||||
override fun iterator(): Iterator<Short> {
|
override fun iterator(): Iterator<Short> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -277,9 +390,9 @@ public fun ShortArray.stream(): Stream<Short> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun <T> Iterable<T>.stream(): Stream<T> {
|
public fun <T> Iterable<T>.stream(): Stream<T> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<T> {
|
return object : Stream<T> {
|
||||||
override fun iterator(): Iterator<T> {
|
override fun iterator(): Iterator<T> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -290,9 +403,9 @@ public fun <T> Iterable<T>.stream(): Stream<T> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun <K, V> Map<K, V>.stream(): Stream<Map.Entry<K, V>> {
|
public fun <K, V> Map<K, V>.stream(): Stream<Map.Entry<K, V>> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Map.Entry<K, V>> {
|
return object : Stream<Map.Entry<K, V>> {
|
||||||
override fun iterator(): Iterator<Map.Entry<K, V>> {
|
override fun iterator(): Iterator<Map.Entry<K, V>> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -303,9 +416,9 @@ public fun <K, V> Map<K, V>.stream(): Stream<Map.Entry<K, V>> {
|
|||||||
/**
|
/**
|
||||||
* Returns a sequence from the given collection
|
* Returns a sequence from the given collection
|
||||||
*/
|
*/
|
||||||
deprecated("Use sequence() instead")
|
deprecated("Use asSequence() instead")
|
||||||
public fun String.stream(): Stream<Char> {
|
public fun String.stream(): Stream<Char> {
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<Char> {
|
return object : Stream<Char> {
|
||||||
override fun iterator(): Iterator<Char> {
|
override fun iterator(): Iterator<Char> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
|
|||||||
@@ -33,17 +33,21 @@ public fun <T> streamOf(progression: Progression<T>): Stream<T> = object : Strea
|
|||||||
/**
|
/**
|
||||||
* Creates a sequence that returns all values from this iterator. The sequence is constrained to be iterated only once.
|
* Creates a sequence that returns all values from this iterator. The sequence is constrained to be iterated only once.
|
||||||
*/
|
*/
|
||||||
public fun <T> Iterator<T>.sequence(): Sequence<T> {
|
public fun <T> Iterator<T>.asSequence(): Sequence<T> {
|
||||||
val iteratorSequence = object : Sequence<T> {
|
val iteratorSequence = object : Sequence<T> {
|
||||||
override fun iterator(): Iterator<T> = this@sequence
|
override fun iterator(): Iterator<T> = this@asSequence
|
||||||
}
|
}
|
||||||
return iteratorSequence.constrainOnce()
|
return iteratorSequence.constrainOnce()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
deprecated("Use asSequence() instead.")
|
||||||
|
public fun <T> Iterator<T>.sequence(): Sequence<T> = asSequence()
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a sequence that returns the specified values.
|
* Creates a sequence that returns the specified values.
|
||||||
*/
|
*/
|
||||||
public fun <T> sequenceOf(vararg elements: T): Sequence<T> = elements.sequence()
|
public fun <T> sequenceOf(vararg elements: T): Sequence<T> = elements.asSequence()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a sequence that returns all values in the specified [progression].
|
* Creates a sequence that returns all values in the specified [progression].
|
||||||
|
|||||||
@@ -376,8 +376,8 @@ class CollectionTest {
|
|||||||
expect(2000000000000, { listOf(3000000000000, 2000000000000).min() })
|
expect(2000000000000, { listOf(3000000000000, 2000000000000).min() })
|
||||||
expect('a', { listOf('a', 'b').min() })
|
expect('a', { listOf('a', 'b').min() })
|
||||||
expect("a", { listOf("a", "b").min() })
|
expect("a", { listOf("a", "b").min() })
|
||||||
expect(null, { listOf<Int>().sequence().min<Int>() })
|
expect(null, { listOf<Int>().asSequence().min<Int>() })
|
||||||
expect(2, { listOf(2, 3).sequence().min<Int>() })
|
expect(2, { listOf(2, 3).asSequence().min<Int>() })
|
||||||
}
|
}
|
||||||
|
|
||||||
test fun max() {
|
test fun max() {
|
||||||
@@ -387,8 +387,8 @@ class CollectionTest {
|
|||||||
expect(3000000000000, { listOf(3000000000000, 2000000000000).max() })
|
expect(3000000000000, { listOf(3000000000000, 2000000000000).max() })
|
||||||
expect('b', { listOf('a', 'b').max() })
|
expect('b', { listOf('a', 'b').max() })
|
||||||
expect("b", { listOf("a", "b").max() })
|
expect("b", { listOf("a", "b").max() })
|
||||||
expect(null, { listOf<Int>().sequence().max<Int>() })
|
expect(null, { listOf<Int>().asSequence().max<Int>() })
|
||||||
expect(3, { listOf(2, 3).sequence().max<Int>() })
|
expect(3, { listOf(2, 3).asSequence().max<Int>() })
|
||||||
}
|
}
|
||||||
|
|
||||||
test fun minBy() {
|
test fun minBy() {
|
||||||
@@ -397,8 +397,8 @@ class CollectionTest {
|
|||||||
expect(3, { listOf(2, 3).minBy { -it } })
|
expect(3, { listOf(2, 3).minBy { -it } })
|
||||||
expect('a', { listOf('a', 'b').minBy { "x$it" } })
|
expect('a', { listOf('a', 'b').minBy { "x$it" } })
|
||||||
expect("b", { listOf("b", "abc").minBy { it.length() } })
|
expect("b", { listOf("b", "abc").minBy { it.length() } })
|
||||||
expect(null, { listOf<Int>().sequence().minBy<Int, Int> { it } })
|
expect(null, { listOf<Int>().asSequence().minBy<Int, Int> { it } })
|
||||||
expect(3, { listOf(2, 3).sequence().minBy<Int, Int> { -it } })
|
expect(3, { listOf(2, 3).asSequence().minBy<Int, Int> { -it } })
|
||||||
}
|
}
|
||||||
|
|
||||||
test fun maxBy() {
|
test fun maxBy() {
|
||||||
@@ -407,8 +407,8 @@ class CollectionTest {
|
|||||||
expect(2, { listOf(2, 3).maxBy { -it } })
|
expect(2, { listOf(2, 3).maxBy { -it } })
|
||||||
expect('b', { listOf('a', 'b').maxBy { "x$it" } })
|
expect('b', { listOf('a', 'b').maxBy { "x$it" } })
|
||||||
expect("abc", { listOf("b", "abc").maxBy { it.length() } })
|
expect("abc", { listOf("b", "abc").maxBy { it.length() } })
|
||||||
expect(null, { listOf<Int>().sequence().maxBy<Int, Int> { it } })
|
expect(null, { listOf<Int>().asSequence().maxBy<Int, Int> { it } })
|
||||||
expect(2, { listOf(2, 3).sequence().maxBy<Int, Int> { -it } })
|
expect(2, { listOf(2, 3).asSequence().maxBy<Int, Int> { -it } })
|
||||||
}
|
}
|
||||||
|
|
||||||
test fun minByEvaluateOnce() {
|
test fun minByEvaluateOnce() {
|
||||||
@@ -416,7 +416,7 @@ class CollectionTest {
|
|||||||
expect(1, { listOf(5, 4, 3, 2, 1).minBy { c++; it * it } })
|
expect(1, { listOf(5, 4, 3, 2, 1).minBy { c++; it * it } })
|
||||||
assertEquals(5, c)
|
assertEquals(5, c)
|
||||||
c = 0
|
c = 0
|
||||||
expect(1, { listOf(5, 4, 3, 2, 1).sequence().minBy<Int, Int> { c++; it * it } })
|
expect(1, { listOf(5, 4, 3, 2, 1).asSequence().minBy<Int, Int> { c++; it * it } })
|
||||||
assertEquals(5, c)
|
assertEquals(5, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,7 +425,7 @@ class CollectionTest {
|
|||||||
expect(5, { listOf(5, 4, 3, 2, 1).maxBy { c++; it * it } })
|
expect(5, { listOf(5, 4, 3, 2, 1).maxBy { c++; it * it } })
|
||||||
assertEquals(5, c)
|
assertEquals(5, c)
|
||||||
c = 0
|
c = 0
|
||||||
expect(5, { listOf(5, 4, 3, 2, 1).sequence().maxBy<Int, Int> { c++; it * it } })
|
expect(5, { listOf(5, 4, 3, 2, 1).asSequence().maxBy<Int, Int> { c++; it * it } })
|
||||||
assertEquals(5, c)
|
assertEquals(5, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ class MapTest {
|
|||||||
|
|
||||||
test fun stream() {
|
test fun stream() {
|
||||||
val map = mapOf("beverage" to "beer", "location" to "Mells", "name" to "James")
|
val map = mapOf("beverage" to "beer", "location" to "Mells", "name" to "James")
|
||||||
val named = map.sequence().filter { it.key == "name" }.single()
|
val named = map.asSequence().filter { it.key == "name" }.single()
|
||||||
assertEquals("James", named.value)
|
assertEquals("James", named.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ class MutableCollectionTest {
|
|||||||
assertEquals(data, collection)
|
assertEquals(data, collection)
|
||||||
}
|
}
|
||||||
|
|
||||||
test fun fromStream() {
|
test fun fromSequence() {
|
||||||
val list = listOf("foo", "bar")
|
val list = listOf("foo", "bar")
|
||||||
val collection = ArrayList<String>()
|
val collection = ArrayList<String>()
|
||||||
|
|
||||||
collection.addAll(list.sequence())
|
collection.addAll(list.asSequence())
|
||||||
|
|
||||||
assertEquals(list, collection)
|
assertEquals(list, collection)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import kotlin.test.assertEquals
|
|||||||
class SequenceJVMTest {
|
class SequenceJVMTest {
|
||||||
|
|
||||||
test fun filterIsInstance() {
|
test fun filterIsInstance() {
|
||||||
val src: Sequence<Any> = listOf(1, 2, 3.toDouble(), "abc", "cde").sequence()
|
val src: Sequence<Any> = listOf(1, 2, 3.toDouble(), "abc", "cde").asSequence()
|
||||||
|
|
||||||
val intValues: Sequence<Int> = src.filterIsInstance<Int>()
|
val intValues: Sequence<Int> = src.filterIsInstance<Int>()
|
||||||
assertEquals(listOf(1, 2), intValues.toArrayList())
|
assertEquals(listOf(1, 2), intValues.toArrayList())
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ public class SequenceTest {
|
|||||||
test fun sequenceFromIterator() {
|
test fun sequenceFromIterator() {
|
||||||
val list = listOf(3, 2, 1, 0)
|
val list = listOf(3, 2, 1, 0)
|
||||||
val iterator = list.iterator()
|
val iterator = list.iterator()
|
||||||
val sequence = iterator.sequence()
|
val sequence = iterator.asSequence()
|
||||||
assertEquals(list, sequence.toList())
|
assertEquals(list, sequence.toList())
|
||||||
fails {
|
fails {
|
||||||
sequence.toList()
|
sequence.toList()
|
||||||
@@ -233,7 +233,7 @@ public class SequenceTest {
|
|||||||
'5' // fibonacci(10) = 55
|
'5' // fibonacci(10) = 55
|
||||||
)
|
)
|
||||||
|
|
||||||
assertEquals(expected, fibonacci().drop(4).flatMap { it.toString().sequence() }.take(10).toList())
|
assertEquals(expected, fibonacci().drop(4).flatMap { it.toString().asSequence() }.take(10).toList())
|
||||||
}
|
}
|
||||||
|
|
||||||
test fun flatMap() {
|
test fun flatMap() {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class IteratorsJVMTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test fun flatMapOnIterator() {
|
test fun flatMapOnIterator() {
|
||||||
val result = sequenceOf(1, 2).flatMap { i -> (0..i).sequence()}
|
val result = sequenceOf(1, 2).flatMap { i -> (0..i).asSequence()}
|
||||||
assertEquals(listOf(0, 1, 0, 1, 2), result.toList())
|
assertEquals(listOf(0, 1, 0, 1, 2), result.toList())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class IteratorsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test fun plus() {
|
test fun plus() {
|
||||||
val iter = arrayListOf("foo", "bar").sequence()
|
val iter = arrayListOf("foo", "bar").asSequence()
|
||||||
val iter2 = iter + "cheese"
|
val iter2 = iter + "cheese"
|
||||||
assertEquals(arrayListOf("foo", "bar", "cheese"), iter2.toList())
|
assertEquals(arrayListOf("foo", "bar", "cheese"), iter2.toList())
|
||||||
|
|
||||||
@@ -52,12 +52,12 @@ class IteratorsTest {
|
|||||||
test fun plusCollection() {
|
test fun plusCollection() {
|
||||||
val a = arrayListOf("foo", "bar")
|
val a = arrayListOf("foo", "bar")
|
||||||
val b = arrayListOf("cheese", "wine")
|
val b = arrayListOf("cheese", "wine")
|
||||||
val iter = a.sequence() + b.sequence()
|
val iter = a.asSequence() + b.asSequence()
|
||||||
assertEquals(arrayListOf("foo", "bar", "cheese", "wine"), iter.toList())
|
assertEquals(arrayListOf("foo", "bar", "cheese", "wine"), iter.toList())
|
||||||
|
|
||||||
// lets use a mutable variable
|
// lets use a mutable variable
|
||||||
var ml = arrayListOf("a").sequence()
|
var ml = arrayListOf("a").asSequence()
|
||||||
ml += a.sequence()
|
ml += a.asSequence()
|
||||||
ml += "beer"
|
ml += "beer"
|
||||||
ml += b
|
ml += b
|
||||||
ml += "z"
|
ml += "z"
|
||||||
@@ -65,11 +65,11 @@ class IteratorsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test fun requireNoNulls() {
|
test fun requireNoNulls() {
|
||||||
val iter = arrayListOf<String?>("foo", "bar").sequence()
|
val iter = arrayListOf<String?>("foo", "bar").asSequence()
|
||||||
val notNull = iter.requireNoNulls()
|
val notNull = iter.requireNoNulls()
|
||||||
assertEquals(arrayListOf("foo", "bar"), notNull.toList())
|
assertEquals(arrayListOf("foo", "bar"), notNull.toList())
|
||||||
|
|
||||||
val iterWithNulls = arrayListOf("foo", null, "bar").sequence()
|
val iterWithNulls = arrayListOf("foo", null, "bar").asSequence()
|
||||||
val notNull2 = iterWithNulls.requireNoNulls()
|
val notNull2 = iterWithNulls.requireNoNulls()
|
||||||
fails {
|
fails {
|
||||||
// should throw an exception as we have a null
|
// should throw an exception as we have a null
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ fun sequences(): List<GenericFunction> {
|
|||||||
templates add f("stream()") {
|
templates add f("stream()") {
|
||||||
include(Maps)
|
include(Maps)
|
||||||
exclude(Sequences)
|
exclude(Sequences)
|
||||||
deprecate { "Use sequence() instead" }
|
deprecate { "Use asSequence() instead" }
|
||||||
doc { "Returns a sequence from the given collection" }
|
doc { "Returns a sequence from the given collection" }
|
||||||
returns("Stream<T>")
|
returns("Stream<T>")
|
||||||
body {
|
body {
|
||||||
"""
|
"""
|
||||||
val sequence = sequence()
|
val sequence = asSequence()
|
||||||
return object : Stream<T> {
|
return object : Stream<T> {
|
||||||
override fun iterator(): Iterator<T> {
|
override fun iterator(): Iterator<T> {
|
||||||
return sequence.iterator()
|
return sequence.iterator()
|
||||||
@@ -25,6 +25,24 @@ fun sequences(): List<GenericFunction> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
templates add f("sequence()") {
|
templates add f("sequence()") {
|
||||||
|
include(Maps)
|
||||||
|
exclude(Sequences)
|
||||||
|
deprecate { "Use asSequence() instead" }
|
||||||
|
doc { "Returns a sequence from the given collection" }
|
||||||
|
returns("Sequence<T>")
|
||||||
|
body {
|
||||||
|
"""
|
||||||
|
return asSequence()
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
|
||||||
|
body(Sequences) {
|
||||||
|
"""
|
||||||
|
return this
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
templates add f("asSequence()") {
|
||||||
include(Maps)
|
include(Maps)
|
||||||
exclude(Sequences)
|
exclude(Sequences)
|
||||||
doc { "Returns a sequence from the given collection" }
|
doc { "Returns a sequence from the given collection" }
|
||||||
@@ -33,7 +51,7 @@ fun sequences(): List<GenericFunction> {
|
|||||||
"""
|
"""
|
||||||
return object : Sequence<T> {
|
return object : Sequence<T> {
|
||||||
override fun iterator(): Iterator<T> {
|
override fun iterator(): Iterator<T> {
|
||||||
return this@sequence.iterator()
|
return this@asSequence.iterator()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
@@ -47,4 +65,5 @@ fun sequences(): List<GenericFunction> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return templates
|
return templates
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user