Restored some PHP 7.4 support
This commit is contained in:
		@@ -116,11 +116,21 @@ class Dataset
 | 
				
			|||||||
            return $reader;
 | 
					            return $reader;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $ext = pathinfo($filename, PATHINFO_EXTENSION);
 | 
					        $ext = pathinfo($filename, PATHINFO_EXTENSION);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /*
 | 
				
			||||||
        return match ($ext) {
 | 
					        return match ($ext) {
 | 
				
			||||||
            'json' => JsonReader::class,
 | 
					            'json' => JsonReader::class,
 | 
				
			||||||
            'csv' => CsvReader::class,
 | 
					            'csv' => CsvReader::class,
 | 
				
			||||||
            default => throw new \RuntimeException("Unable to determine reader for dataset file")
 | 
					            default => throw new \RuntimeException("Unable to determine reader for dataset file")
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					        */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // PHP7.4 compat: use switch instead of match
 | 
				
			||||||
 | 
					        switch ($ext) {
 | 
				
			||||||
 | 
					            case 'json': return JsonReader::class;
 | 
				
			||||||
 | 
					            case 'csv': return CsvReader::class;
 | 
				
			||||||
 | 
					            default: throw new \RuntimeException("Unable to determine reader for dataset file");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,11 @@ class FilteringReaderIterator implements Iterator
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private $condition;
 | 
					    private $condition;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function __construct(Iterator $reader, array|callable $condition)
 | 
					    /**
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @note Removed support for callable in cond (php7.4 compat)
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function __construct(Iterator $reader, array $condition)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $this->reader = $reader;
 | 
					        $this->reader = $reader;
 | 
				
			||||||
        $this->condition = $condition;
 | 
					        $this->condition = $condition;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,7 +38,7 @@ class JsonReader implements ReaderInterface
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        $flags = ($this->options['bigintAsString']??false)?JSON_BIGINT_AS_STRING:0;
 | 
					        $flags = ($this->options['bigintAsString']??false)?JSON_BIGINT_AS_STRING:0;
 | 
				
			||||||
        $file = $this->files[$this->currentFile]; 
 | 
					        $file = $this->files[$this->currentFile]; 
 | 
				
			||||||
        $json = @json_decode(@file_get_contents($file), true, flags:$flags);
 | 
					        $json = @json_decode(@file_get_contents($file), true, 512, $flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->loadData($json);
 | 
					        $this->loadData($json);
 | 
				
			||||||
        $this->loadedFile = $this->currentFile;
 | 
					        $this->loadedFile = $this->currentFile;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user