. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Htmlizer\Helper; use stdClass; use Closure; class Data { /** * @param mixed[] $argumentList * @param array $rootContext * @noinspection PhpPluralMixedCanBeReplacedWithArrayInspection */ public function __construct( private string $name, private array $argumentList, private stdClass $options, private mixed $context, private array $rootContext, private ?Closure $func, private ?Closure $inverseFunc ) {} public function getName(): string { return $this->name; } /** * @return mixed A context. */ public function getContext(): mixed { return $this->context; } /** * @return array */ public function getRootContext(): array { return $this->rootContext; } public function getOptions(): stdClass { return $this->options; } /** * @return mixed[] * @noinspection PhpPluralMixedCanBeReplacedWithArrayInspection */ public function getArgumentList(): array { return $this->argumentList; } public function hasOption(string $name): bool { return property_exists($this->options, $name); } /** * @return mixed */ public function getOption(string $name) { return $this->options->$name ?? null; } public function getFunction(): ?Closure { return $this->func; } /** @noinspection PhpUnused */ public function getInverseFunction(): ?Closure { return $this->inverseFunc; } }