HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/work.naniguide.com/vendor/saloonphp/xml-wrangler/src/LazyQuery.php
<?php

declare(strict_types=1);

namespace Saloon\XmlWrangler;

use Generator;
use Illuminate\Support\LazyCollection;

class LazyQuery extends Query
{
    /**
     * Return the node as a generator
     *
     * Useful when reading very large XML files
     *
     * @throws \Saloon\XmlWrangler\Exceptions\QueryAlreadyReadException
     */
    public function lazy(): Generator
    {
        $this->throwOnInvalidGenerator();

        return $this->data;
    }

    /**
     * Return the node as a lazy collection
     *
     * Useful when reading very large XML files
     *
     * Requires illuminate/support
     *
     * @return LazyCollection<int, mixed>
     * @throws \Saloon\XmlWrangler\Exceptions\QueryAlreadyReadException
     */
    public function collectLazy(): LazyCollection
    {
        $this->throwOnInvalidGenerator();

        /** @phpstan-ignore-next-line */
        return LazyCollection::make(fn () => yield from $this->data);
    }
}