/home/aloic1/public_html/core/vendor/livewire/livewire/src/Features/SupportDateTimes.php
<?php
namespace Livewire\Features;
use DateTime;
use Carbon\Carbon;
use Carbon\CarbonImmutable;
use DateTimeImmutable;
use Livewire\Livewire;
use Illuminate\Support\Carbon as IlluminateCarbon;
class SupportDateTimes
{
static function init() { return new static; }
function __construct()
{
Livewire::listen('property.dehydrate', function ($name, $value, $component, $response) {
if (! $value instanceof \DateTime) return;
$component->{$name} = $value->format(\DateTimeInterface::ISO8601);
data_fill($response->memo, 'dataMeta.dates', []);
if ($value instanceof IlluminateCarbon) {
$response->memo['dataMeta']['dates'][$name] = 'illuminate';
} elseif ($value instanceof Carbon) {
$response->memo['dataMeta']['dates'][$name] = 'carbon';
} elseif ($value instanceof CarbonImmutable) {
$response->memo['dataMeta']['dates'][$name] = 'carbonImmutable';
} elseif ($value instanceof DateTimeImmutable) {
$response->memo['dataMeta']['dates'][$name] = 'nativeImmutable';
} else {
$response->memo['dataMeta']['dates'][$name] = 'native';
}
});
Livewire::listen('property.hydrate', function ($name, $value, $component, $request) {
$dates = data_get($request->memo, 'dataMeta.dates', []);
$types = [
'native' => DateTime::class,
'nativeImmutable' => DateTimeImmutable::class,
'carbon' => Carbon::class,
'carbonImmutable' => CarbonImmutable::class,
'illuminate' => IlluminateCarbon::class,
];
foreach ($dates as $name => $type) {
data_set($component, $name, new $types[$type]($value));
}
});
}
}
@LwBee Strong Bypass
Upload File
Create New File