[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/vendor/symfony/var-dumper/Caster/ -> IntlCaster.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <[email protected]>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\VarDumper\Caster;
  13  
  14  use Symfony\Component\VarDumper\Cloner\Stub;
  15  
  16  /**
  17   * @author Nicolas Grekas <[email protected]>
  18   * @author Jan Schädlich <[email protected]>
  19   *
  20   * @final
  21   */
  22  class IntlCaster
  23  {
  24      public static function castMessageFormatter(\MessageFormatter $c, array $a, Stub $stub, bool $isNested)
  25      {
  26          $a += [
  27              Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(),
  28              Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(),
  29          ];
  30  
  31          return self::castError($c, $a);
  32      }
  33  
  34      public static function castNumberFormatter(\NumberFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
  35      {
  36          $a += [
  37              Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(),
  38              Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(),
  39          ];
  40  
  41          if ($filter & Caster::EXCLUDE_VERBOSE) {
  42              $stub->cut += 3;
  43  
  44              return self::castError($c, $a);
  45          }
  46  
  47          $a += [
  48              Caster::PREFIX_VIRTUAL.'attributes' => new EnumStub(
  49                  [
  50                      'PARSE_INT_ONLY' => $c->getAttribute(\NumberFormatter::PARSE_INT_ONLY),
  51                      'GROUPING_USED' => $c->getAttribute(\NumberFormatter::GROUPING_USED),
  52                      'DECIMAL_ALWAYS_SHOWN' => $c->getAttribute(\NumberFormatter::DECIMAL_ALWAYS_SHOWN),
  53                      'MAX_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_INTEGER_DIGITS),
  54                      'MIN_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_INTEGER_DIGITS),
  55                      'INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::INTEGER_DIGITS),
  56                      'MAX_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_FRACTION_DIGITS),
  57                      'MIN_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_FRACTION_DIGITS),
  58                      'FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::FRACTION_DIGITS),
  59                      'MULTIPLIER' => $c->getAttribute(\NumberFormatter::MULTIPLIER),
  60                      'GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::GROUPING_SIZE),
  61                      'ROUNDING_MODE' => $c->getAttribute(\NumberFormatter::ROUNDING_MODE),
  62                      'ROUNDING_INCREMENT' => $c->getAttribute(\NumberFormatter::ROUNDING_INCREMENT),
  63                      'FORMAT_WIDTH' => $c->getAttribute(\NumberFormatter::FORMAT_WIDTH),
  64                      'PADDING_POSITION' => $c->getAttribute(\NumberFormatter::PADDING_POSITION),
  65                      'SECONDARY_GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::SECONDARY_GROUPING_SIZE),
  66                      'SIGNIFICANT_DIGITS_USED' => $c->getAttribute(\NumberFormatter::SIGNIFICANT_DIGITS_USED),
  67                      'MIN_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_SIGNIFICANT_DIGITS),
  68                      'MAX_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_SIGNIFICANT_DIGITS),
  69                      'LENIENT_PARSE' => $c->getAttribute(\NumberFormatter::LENIENT_PARSE),
  70                  ]
  71              ),
  72              Caster::PREFIX_VIRTUAL.'text_attributes' => new EnumStub(
  73                  [
  74                      'POSITIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX),
  75                      'POSITIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_SUFFIX),
  76                      'NEGATIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_PREFIX),
  77                      'NEGATIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_SUFFIX),
  78                      'PADDING_CHARACTER' => $c->getTextAttribute(\NumberFormatter::PADDING_CHARACTER),
  79                      'CURRENCY_CODE' => $c->getTextAttribute(\NumberFormatter::CURRENCY_CODE),
  80                      'DEFAULT_RULESET' => $c->getTextAttribute(\NumberFormatter::DEFAULT_RULESET),
  81                      'PUBLIC_RULESETS' => $c->getTextAttribute(\NumberFormatter::PUBLIC_RULESETS),
  82                  ]
  83              ),
  84              Caster::PREFIX_VIRTUAL.'symbols' => new EnumStub(
  85                  [
  86                      'DECIMAL_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL),
  87                      'GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL),
  88                      'PATTERN_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::PATTERN_SEPARATOR_SYMBOL),
  89                      'PERCENT_SYMBOL' => $c->getSymbol(\NumberFormatter::PERCENT_SYMBOL),
  90                      'ZERO_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::ZERO_DIGIT_SYMBOL),
  91                      'DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::DIGIT_SYMBOL),
  92                      'MINUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::MINUS_SIGN_SYMBOL),
  93                      'PLUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::PLUS_SIGN_SYMBOL),
  94                      'CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::CURRENCY_SYMBOL),
  95                      'INTL_CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::INTL_CURRENCY_SYMBOL),
  96                      'MONETARY_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_SEPARATOR_SYMBOL),
  97                      'EXPONENTIAL_SYMBOL' => $c->getSymbol(\NumberFormatter::EXPONENTIAL_SYMBOL),
  98                      'PERMILL_SYMBOL' => $c->getSymbol(\NumberFormatter::PERMILL_SYMBOL),
  99                      'PAD_ESCAPE_SYMBOL' => $c->getSymbol(\NumberFormatter::PAD_ESCAPE_SYMBOL),
 100                      'INFINITY_SYMBOL' => $c->getSymbol(\NumberFormatter::INFINITY_SYMBOL),
 101                      'NAN_SYMBOL' => $c->getSymbol(\NumberFormatter::NAN_SYMBOL),
 102                      'SIGNIFICANT_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL),
 103                      'MONETARY_GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL),
 104                  ]
 105               ),
 106          ];
 107  
 108          return self::castError($c, $a);
 109      }
 110  
 111      public static function castIntlTimeZone(\IntlTimeZone $c, array $a, Stub $stub, bool $isNested)
 112      {
 113          $a += [
 114              Caster::PREFIX_VIRTUAL.'display_name' => $c->getDisplayName(),
 115              Caster::PREFIX_VIRTUAL.'id' => $c->getID(),
 116              Caster::PREFIX_VIRTUAL.'raw_offset' => $c->getRawOffset(),
 117          ];
 118  
 119          if ($c->useDaylightTime()) {
 120              $a += [
 121                  Caster::PREFIX_VIRTUAL.'dst_savings' => $c->getDSTSavings(),
 122              ];
 123          }
 124  
 125          return self::castError($c, $a);
 126      }
 127  
 128      public static function castIntlCalendar(\IntlCalendar $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
 129      {
 130          $a += [
 131              Caster::PREFIX_VIRTUAL.'type' => $c->getType(),
 132              Caster::PREFIX_VIRTUAL.'first_day_of_week' => $c->getFirstDayOfWeek(),
 133              Caster::PREFIX_VIRTUAL.'minimal_days_in_first_week' => $c->getMinimalDaysInFirstWeek(),
 134              Caster::PREFIX_VIRTUAL.'repeated_wall_time_option' => $c->getRepeatedWallTimeOption(),
 135              Caster::PREFIX_VIRTUAL.'skipped_wall_time_option' => $c->getSkippedWallTimeOption(),
 136              Caster::PREFIX_VIRTUAL.'time' => $c->getTime(),
 137              Caster::PREFIX_VIRTUAL.'in_daylight_time' => $c->inDaylightTime(),
 138              Caster::PREFIX_VIRTUAL.'is_lenient' => $c->isLenient(),
 139              Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(),
 140          ];
 141  
 142          return self::castError($c, $a);
 143      }
 144  
 145      public static function castIntlDateFormatter(\IntlDateFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
 146      {
 147          $a += [
 148              Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(),
 149              Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(),
 150              Caster::PREFIX_VIRTUAL.'calendar' => $c->getCalendar(),
 151              Caster::PREFIX_VIRTUAL.'time_zone_id' => $c->getTimeZoneId(),
 152              Caster::PREFIX_VIRTUAL.'time_type' => $c->getTimeType(),
 153              Caster::PREFIX_VIRTUAL.'date_type' => $c->getDateType(),
 154              Caster::PREFIX_VIRTUAL.'calendar_object' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getCalendarObject()) : $c->getCalendarObject(),
 155              Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(),
 156          ];
 157  
 158          return self::castError($c, $a);
 159      }
 160  
 161      private static function castError(object $c, array $a): array
 162      {
 163          if ($errorCode = $c->getErrorCode()) {
 164              $a += [
 165                  Caster::PREFIX_VIRTUAL.'error_code' => $errorCode,
 166                  Caster::PREFIX_VIRTUAL.'error_message' => $c->getErrorMessage(),
 167              ];
 168          }
 169  
 170          return $a;
 171      }
 172  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer