[WASM] Implement ConstrainedOnceSequence
This commit is contained in:
@@ -5,8 +5,12 @@
|
||||
|
||||
package kotlin.sequences
|
||||
|
||||
internal actual class ConstrainedOnceSequence<T> : Sequence<T> {
|
||||
actual constructor(sequence: Sequence<T>) { TODO("Wasm stdlib: ConstrainedOnceSequence") }
|
||||
internal actual class ConstrainedOnceSequence<T> actual constructor(sequence: Sequence<T>) : Sequence<T> {
|
||||
private var sequenceRef: Sequence<T>? = sequence
|
||||
|
||||
actual override fun iterator(): Iterator<T> = TODO("Wasm stdlib: ConstrainedOnceSequence")
|
||||
actual override fun iterator(): Iterator<T> {
|
||||
val sequence = sequenceRef ?: throw IllegalStateException("This sequence can be consumed only once.")
|
||||
sequenceRef = null
|
||||
return sequence.iterator()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user