File "InMemoryCache.php"

Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/wp-phpmyadmin-extension/lib/phpMyAdmin/vendor/phpmyadmin/motranslator/src/Cache/InMemoryCache.php
File size: 999 bytes
MIME-type: text/x-php
Charset: utf-8

<?php

declare(strict_types=1);

namespace PhpMyAdmin\MoTranslator\Cache;

use PhpMyAdmin\MoTranslator\MoParser;

use function array_key_exists;

final class InMemoryCache implements CacheInterface, GetAllInterface
{
    /** @var array<string, string> */
    private $cache;

    public function __construct(MoParser $parser)
    {
        $this->cache = [];
        $parser->parseIntoCache($this);
    }

    public function get(string $msgid): string
    {
        return array_key_exists($msgid, $this->cache) ? $this->cache[$msgid] : $msgid;
    }

    public function set(string $msgid, string $msgstr): void
    {
        $this->cache[$msgid] = $msgstr;
    }

    public function has(string $msgid): bool
    {
        return array_key_exists($msgid, $this->cache);
    }

    public function setAll(array $translations): void
    {
        $this->cache = $translations;
    }

    /**
     * @inheritDoc
     */
    public function getAll(): array
    {
        return $this->cache;
    }
}