File "Macro.php"
Full Path: /home/warrior1/public_html/wp-content/plugins/mailpoet/vendor-prefixed/nesbot/carbon/src/Carbon/Traits/Macro.php
File size: 1.07 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace MailPoetVendor\Carbon\Traits;
if (!defined('ABSPATH')) exit;
trait Macro
{
use Mixin;
protected static $globalMacros = [];
protected static $globalGenericMacros = [];
public static function macro($name, $macro)
{
static::$globalMacros[$name] = $macro;
}
public static function resetMacros()
{
static::$globalMacros = [];
static::$globalGenericMacros = [];
}
public static function genericMacro($macro, $priority = 0)
{
if (!isset(static::$globalGenericMacros[$priority])) {
static::$globalGenericMacros[$priority] = [];
\krsort(static::$globalGenericMacros, \SORT_NUMERIC);
}
static::$globalGenericMacros[$priority][] = $macro;
}
public static function hasMacro($name)
{
return isset(static::$globalMacros[$name]);
}
public static function getMacro($name)
{
return static::$globalMacros[$name] ?? null;
}
public function hasLocalMacro($name)
{
return $this->localMacros && isset($this->localMacros[$name]) || static::hasMacro($name);
}
public function getLocalMacro($name)
{
return ($this->localMacros ?? [])[$name] ?? static::getMacro($name);
}
}