Merge branch 'develop' of https://github.com/friendica/friendica-addons into develop
[friendica-addons.git/.git] / advancedcontentfilter / vendor / symfony / cache / Simple / Psr6Cache.php
index 6b3de20..366284b 100644 (file)
 
 namespace Symfony\Component\Cache\Simple;
 
-use Psr\Cache\CacheException as Psr6CacheException;
-use Psr\Cache\CacheItemPoolInterface;
-use Psr\SimpleCache\CacheException as SimpleCacheException;
-use Psr\SimpleCache\CacheInterface;
-use Symfony\Component\Cache\Adapter\AdapterInterface;
-use Symfony\Component\Cache\CacheItem;
-use Symfony\Component\Cache\Exception\InvalidArgumentException;
-use Symfony\Component\Cache\PruneableInterface;
-use Symfony\Component\Cache\ResettableInterface;
-use Symfony\Component\Cache\Traits\ProxyTrait;
+use Symfony\Component\Cache\Psr16Cache;
+
+@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "%s" instead.', Psr6Cache::class, Psr16Cache::class), \E_USER_DEPRECATED);
 
 /**
- * @author Nicolas Grekas <p@tchwork.com>
+ * @deprecated since Symfony 4.3, use Psr16Cache instead.
  */
-class Psr6Cache implements CacheInterface, PruneableInterface, ResettableInterface
+class Psr6Cache extends Psr16Cache
 {
-    use ProxyTrait;
-
-    private $createCacheItem;
-    private $cacheItemPrototype;
-
-    public function __construct(CacheItemPoolInterface $pool)
-    {
-        $this->pool = $pool;
-
-        if (!$pool instanceof AdapterInterface) {
-            return;
-        }
-        $cacheItemPrototype = &$this->cacheItemPrototype;
-        $createCacheItem = \Closure::bind(
-            static function ($key, $value, $allowInt = false) use (&$cacheItemPrototype) {
-                $item = clone $cacheItemPrototype;
-                $item->key = $allowInt && \is_int($key) ? (string) $key : CacheItem::validateKey($key);
-                $item->value = $value;
-                $item->isHit = false;
-
-                return $item;
-            },
-            null,
-            CacheItem::class
-        );
-        $this->createCacheItem = function ($key, $value, $allowInt = false) use ($createCacheItem) {
-            if (null === $this->cacheItemPrototype) {
-                $this->get($allowInt && \is_int($key) ? (string) $key : $key);
-            }
-            $this->createCacheItem = $createCacheItem;
-
-            return $createCacheItem($key, $value, $allowInt);
-        };
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($key, $default = null)
-    {
-        try {
-            $item = $this->pool->getItem($key);
-        } catch (SimpleCacheException $e) {
-            throw $e;
-        } catch (Psr6CacheException $e) {
-            throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
-        }
-        if (null === $this->cacheItemPrototype) {
-            $this->cacheItemPrototype = clone $item;
-            $this->cacheItemPrototype->set(null);
-        }
-
-        return $item->isHit() ? $item->get() : $default;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($key, $value, $ttl = null)
-    {
-        try {
-            if (null !== $f = $this->createCacheItem) {
-                $item = $f($key, $value);
-            } else {
-                $item = $this->pool->getItem($key)->set($value);
-            }
-        } catch (SimpleCacheException $e) {
-            throw $e;
-        } catch (Psr6CacheException $e) {
-            throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
-        }
-        if (null !== $ttl) {
-            $item->expiresAfter($ttl);
-        }
-
-        return $this->pool->save($item);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function delete($key)
-    {
-        try {
-            return $this->pool->deleteItem($key);
-        } catch (SimpleCacheException $e) {
-            throw $e;
-        } catch (Psr6CacheException $e) {
-            throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clear()
-    {
-        return $this->pool->clear();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMultiple($keys, $default = null)
-    {
-        if ($keys instanceof \Traversable) {
-            $keys = iterator_to_array($keys, false);
-        } elseif (!\is_array($keys)) {
-            throw new InvalidArgumentException(sprintf('Cache keys must be array or Traversable, "%s" given.', \is_object($keys) ? \get_class($keys) : \gettype($keys)));
-        }
-
-        try {
-            $items = $this->pool->getItems($keys);
-        } catch (SimpleCacheException $e) {
-            throw $e;
-        } catch (Psr6CacheException $e) {
-            throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
-        }
-        $values = [];
-
-        foreach ($items as $key => $item) {
-            $values[$key] = $item->isHit() ? $item->get() : $default;
-        }
-
-        return $values;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setMultiple($values, $ttl = null)
-    {
-        $valuesIsArray = \is_array($values);
-        if (!$valuesIsArray && !$values instanceof \Traversable) {
-            throw new InvalidArgumentException(sprintf('Cache values must be array or Traversable, "%s" given.', \is_object($values) ? \get_class($values) : \gettype($values)));
-        }
-        $items = [];
-
-        try {
-            if (null !== $f = $this->createCacheItem) {
-                $valuesIsArray = false;
-                foreach ($values as $key => $value) {
-                    $items[$key] = $f($key, $value, true);
-                }
-            } elseif ($valuesIsArray) {
-                $items = [];
-                foreach ($values as $key => $value) {
-                    $items[] = (string) $key;
-                }
-                $items = $this->pool->getItems($items);
-            } else {
-                foreach ($values as $key => $value) {
-                    if (\is_int($key)) {
-                        $key = (string) $key;
-                    }
-                    $items[$key] = $this->pool->getItem($key)->set($value);
-                }
-            }
-        } catch (SimpleCacheException $e) {
-            throw $e;
-        } catch (Psr6CacheException $e) {
-            throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
-        }
-        $ok = true;
-
-        foreach ($items as $key => $item) {
-            if ($valuesIsArray) {
-                $item->set($values[$key]);
-            }
-            if (null !== $ttl) {
-                $item->expiresAfter($ttl);
-            }
-            $ok = $this->pool->saveDeferred($item) && $ok;
-        }
-
-        return $this->pool->commit() && $ok;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function deleteMultiple($keys)
-    {
-        if ($keys instanceof \Traversable) {
-            $keys = iterator_to_array($keys, false);
-        } elseif (!\is_array($keys)) {
-            throw new InvalidArgumentException(sprintf('Cache keys must be array or Traversable, "%s" given.', \is_object($keys) ? \get_class($keys) : \gettype($keys)));
-        }
-
-        try {
-            return $this->pool->deleteItems($keys);
-        } catch (SimpleCacheException $e) {
-            throw $e;
-        } catch (Psr6CacheException $e) {
-            throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($key)
-    {
-        try {
-            return $this->pool->hasItem($key);
-        } catch (SimpleCacheException $e) {
-            throw $e;
-        } catch (Psr6CacheException $e) {
-            throw new InvalidArgumentException($e->getMessage(), $e->getCode(), $e);
-        }
-    }
 }