HEX
Server: LiteSpeed
System: Linux s3.sitechai.com 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: workzeni (2217)
PHP: 8.1.32
Disabled: mail, show_source, system, shell_exec, passthru, exec, eval, shell
Upload Files
File: //home/workzeni/agency-erp-05.workzenix.com/vendor/livewire/volt/src/Actions/InitializeState.php
<?php

namespace Livewire\Volt\Actions;

use Closure;
use Illuminate\Container\Container;
use Livewire\Attributes\Url;
use Livewire\Volt\CompileContext;
use Livewire\Volt\Component;
use Livewire\Volt\Contracts\Action;

class InitializeState implements Action
{
    /**
     * The parameters the component was mounted with.
     *
     * @var array<int, string>
     */
    public static array $currentMountParameters = [];

    /**
     * {@inheritDoc}
     */
    public function execute(CompileContext $context, Component $component, array $arguments): void
    {
        $properties = array_diff_key(
            $context->state,
            array_flip(static::$currentMountParameters)
        );

        foreach ($properties as $key => $property) {
            if ($property->hasAttribute(Url::class) && ! is_null($component->{$key})) {
                continue;
            }

            $value = $property->value;

            if ($value instanceof Closure) {
                $value = Container::getInstance()->call(
                    Closure::bind($value, $component, $component::class), $arguments
                );

                $component->{$key} = $value;
            } elseif (! is_null($value)) {
                $component->{$key} = $value;
            }
        }
    }
}