mirror of
https://github.com/Neetpone/ponepaste.git
synced 2025-03-13 07:00:08 +01:00
44 lines
1 KiB
PHP
44 lines
1 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\Support\Traits;
|
|
|
|
trait Conditionable
|
|
{
|
|
/**
|
|
* Apply the callback if the given "value" is truthy.
|
|
*
|
|
* @param mixed $value
|
|
* @param callable $callback
|
|
* @param callable|null $default
|
|
* @return $this|mixed
|
|
*/
|
|
public function when($value, $callback, $default = null)
|
|
{
|
|
if ($value) {
|
|
return $callback($this, $value) ?: $this;
|
|
} elseif ($default) {
|
|
return $default($this, $value) ?: $this;
|
|
}
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Apply the callback if the given "value" is falsy.
|
|
*
|
|
* @param mixed $value
|
|
* @param callable $callback
|
|
* @param callable|null $default
|
|
* @return $this|mixed
|
|
*/
|
|
public function unless($value, $callback, $default = null)
|
|
{
|
|
if (! $value) {
|
|
return $callback($this, $value) ?: $this;
|
|
} elseif ($default) {
|
|
return $default($this, $value) ?: $this;
|
|
}
|
|
|
|
return $this;
|
|
}
|
|
}
|