chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
declare(strict_types=1);
namespace Mautic\CoreBundle\Helper\Tree;
class IntNode implements NodeInterface
{
/**
* @var NodeInterface[]
*/
private array $children = [];
/**
* @var array<string,mixed>
*/
private array $params = [];
private int $position = 0;
public function __construct(
private int $value,
private ?NodeInterface $parent = null
) {
}
public function getValue(): int
{
return $this->value;
}
public function getParent(): ?NodeInterface
{
return $this->parent;
}
public function setParent(NodeInterface $parent): void
{
$this->parent = $parent;
}
public function addChild(NodeInterface $child): void
{
$child->setParent($this);
$this->children[] = $child;
}
public function addParam(string $key, $value): void
{
$this->params[$key] = $value;
}
public function getParam(string $key, $default = null)
{
return $this->params[$key] ?? $default;
}
public function getChildrenArray(): array
{
return $this->children;
}
public function getChildren(): NodeInterface
{
return $this->current();
}
public function hasChildren(): bool
{
return !empty($this->current()->getChildrenArray());
}
public function current(): NodeInterface
{
return $this->children[$this->position];
}
public function key(): int
{
return $this->position;
}
public function next(): void
{
++$this->position;
}
public function rewind(): void
{
$this->position = 0;
}
public function valid(): bool
{
return isset($this->children[$this->position]);
}
}