mirror of
https://github.com/Neetpone/ponepaste.git
synced 2025-03-13 07:00:08 +01:00
45 lines
1 KiB
PHP
45 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;
|
||
|
}
|
||
|
}
|