����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 3.148.220.16 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/bofirm.gltechlimited.com/vendor/moneyphp/money/src/Currencies/ |
Upload File : |
<?php declare(strict_types=1); namespace Money\Currencies; use ArrayIterator; use Cache\TagInterop\TaggableCacheItemInterface; use CallbackFilterIterator; use Money\Currencies; use Money\Currency; use Psr\Cache\CacheItemPoolInterface; use Traversable; use function iterator_to_array; /** * Cache the result of currency checking. */ final class CachedCurrencies implements Currencies { private Currencies $currencies; private CacheItemPoolInterface $pool; public function __construct(Currencies $currencies, CacheItemPoolInterface $pool) { $this->currencies = $currencies; $this->pool = $pool; } public function contains(Currency $currency): bool { $item = $this->pool->getItem('currency|availability|' . $currency->getCode()); if ($item->isHit() === false) { $item->set($this->currencies->contains($currency)); if ($item instanceof TaggableCacheItemInterface) { $item->setTags(['currency.availability']); } $this->pool->save($item); } return (bool) $item->get(); } public function subunitFor(Currency $currency): int { $item = $this->pool->getItem('currency|subunit|' . $currency->getCode()); if ($item->isHit() === false) { $item->set($this->currencies->subunitFor($currency)); if ($item instanceof TaggableCacheItemInterface) { $item->setTags(['currency.subunit']); } $this->pool->save($item); } return (int) $item->get(); } /** {@inheritDoc} */ public function getIterator(): Traversable { return new CallbackFilterIterator( new ArrayIterator(iterator_to_array($this->currencies->getIterator())), function (Currency $currency): bool { $item = $this->pool->getItem('currency|availability|' . $currency->getCode()); $item->set(true); if ($item instanceof TaggableCacheItemInterface) { $item->setTags(['currency.availability']); } $this->pool->save($item); return true; } ); } }