<?php
namespace Livewire\HydrationMiddleware;
use Livewire\Exceptions\PublicPropertyTypeNotAllowedException;
use Illuminate\Queue\SerializesAndRestoresModelIdentifiers;
use Illuminate\Contracts\Queue\QueueableCollection;
use Illuminate\Contracts\Database\ModelIdentifier;
use Illuminate\Support\Carbon as IlluminateCarbon;
use Illuminate\Contracts\Queue\QueueableEntity;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;
use Illuminate\Support\Stringable;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use Carbon\CarbonImmutable;
use ReflectionProperty;
use Livewire\Wireable;
use DateTimeImmutable;
use Carbon\Carbon;
use DateTime;
use DateTimeInterface;
use stdClass;
use Normalizer;
class HydratePublicProperties implements HydrationMiddleware
{
use SerializesAndRestoresModelIdentifiers;
public static function hydrate($instance, $request)
{
$publicProperties = $request->memo['data'] ?? [];
$dates = data_get($request, 'memo.dataMeta.dates', []);
$collections = data_get($request, 'memo.dataMeta.collections', []);
$models = data_get($request, 'memo.dataMeta.models', []);
$modelCollections = data_get($request, 'memo.dataMeta.modelCollections', []);
$stringables = data_get($request, 'memo.dataMeta.stringables', []);
$wireables = data_get($request, 'memo.dataMeta.wireables', []);
$enums = data_get($request, 'memo.dataMeta.enums', []);
foreach ($publicProperties as $property => $value) {
if ($type = data_get($dates, $property)) {
$types = [
'native' => DateTime::class,
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX