package dev.inmo.postssystem.client import org.w3c.dom.Storage import org.w3c.dom.get class StorageIterator(private val storage: Storage) : Iterator> { private var index = 0 override fun hasNext(): Boolean = index < storage.length override fun next(): Pair { val k = storage.key(index) ?: error("Key for index $index was not found") val v = storage[k] ?: error("Key for index $index was not found") index++ return k to v } } operator fun Storage.iterator() = StorageIterator(this)