Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
livewire
/
livewire
/
src
/
HydrationMiddleware
:
PerformActionCalls.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Livewire\HydrationMiddleware; use Livewire\Livewire; use function Livewire\str; use Illuminate\Validation\ValidationException; use Livewire\Exceptions\DirectlyCallingLifecycleHooksNotAllowedException; class PerformActionCalls implements HydrationMiddleware { public const PROTECTED_METHODS = [ 'mount', 'hydrate*', 'dehydrate*', 'updating*', 'updated*', ]; public static function hydrate($unHydratedInstance, $request) { try { foreach ($request->updates as $update) { if ($update['type'] !== 'callMethod') continue; $id = $update['payload']['id']; $method = $update['payload']['method']; $params = $update['payload']['params']; throw_if( str($method)->is(static::PROTECTED_METHODS), new DirectlyCallingLifecycleHooksNotAllowedException($method, $unHydratedInstance->getName()) ); $unHydratedInstance->callMethod($method, $params, function ($returned) use ($unHydratedInstance,$method, $id) { Livewire::dispatch('action.returned', $unHydratedInstance, $method, $returned, $id); }); } } catch (ValidationException $e) { Livewire::dispatch('failed-validation', $e->validator, $unHydratedInstance); $unHydratedInstance->setErrorBag($e->validator->errors()); } } public static function dehydrate($instance, $response) { // } }