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);
 }
}