HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: /home/barbeatleanalyti/www/public_html/webmail/vendor/phpixie/slice/src/PHPixie/Slice/Iterator.php
<?php

namespace PHPixie\Slice;

class Iterator implements \Iterator
{
    protected $data;
    protected $keys;
    
    protected $keyOffset;
    protected $keyCount;
    protected $currentKey;
    
    public function __construct($data)
    {
        $this->data = $data;
        $this->rewind();
    }
    
    public function current()
    {
        return $this->data->getRequired($this->currentKey);
    }
    
    public function key()
    {
        return $this->currentKey;
    }
    
    public function next()
    {
        $this->keyOffset++;
        if($this->valid()) {
            $this->currentKey = $this->keys[$this->keyOffset];
        }
    }
        
    public function rewind()
    {
        $this->keys = $this->data->keys();
        
        $this->keyOffset  = 0;
        $this->keyCount   = count($this->keys);
        $this->currentKey = $this->keys[$this->keyOffset];
    }
    
    public function valid()
    {
        return $this->keyOffset < $this->keyCount;
    }
}