PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Formatter / MapOptionLabel.php
codepress-admin-columns / classes / Formatter Last commit date
Collection 1 day ago Comment 1 day ago Date 1 day ago Media 1 day ago Post 1 day ago Term 1 day ago User 1 day ago Wrap 1 day ago Actions.php 1 day ago Aggregate.php 1 day ago Append.php 1 day ago ArrayToCollection.php 1 day ago Avatar.php 1 day ago AvatarUrl.php 1 day ago BeforeAfter.php 1 day ago BooleanLabel.php 1 day ago CharacterLimit.php 1 day ago CodeBlock.php 1 day ago Color.php 1 day ago ColumnFilter.php 1 day ago Composite.php 1 day ago ConditionalValue.php 1 day ago ContentTypeLink.php 1 day ago Count.php 1 day ago CountLabelFormatter.php 1 day ago DottedPassword.php 1 day ago EmptyValue.php 1 day ago ExplodeToCollection.php 1 day ago ExtendedValueLink.php 1 day ago FallBack.php 1 day ago FallBackFormatter.php 1 day ago FileLink.php 1 day ago FileSizeReadable.php 1 day ago ForeignId.php 1 day ago FormattedJson.php 1 day ago GroupedIdsToCollection.php 1 day ago HasValue.php 1 day ago HtmlEntityDecode.php 1 day ago HumanReadableTime.php 1 day ago HumanTimeDifference.php 1 day ago Id.php 1 day ago IdsToCollection.php 1 day ago Image.php 1 day ago ImageSize.php 1 day ago ImageToCollection.php 1 day ago ImageUrl.php 1 day ago ImageUrlsFromContent.php 1 day ago Implode.php 1 day ago ImplodeRecursive.php 1 day ago Kses.php 1 day ago Latest.php 1 day ago Linkable.php 1 day ago Links.php 1 day ago MapOptionLabel.php 1 day ago MapToId.php 1 day ago MapToLabel.php 1 day ago MenuLink.php 1 day ago Message.php 1 day ago Meta.php 1 day ago MetaCollection.php 1 day ago MetaCount.php 1 day ago MetaValueCollection.php 1 day ago NoIcon.php 1 day ago NullFormatter.php 1 day ago NumberFormat.php 1 day ago PathScope.php 1 day ago PregReplace.php 1 day ago Prepend.php 1 day ago ReadingTime.php 1 day ago RelationIdsCollection.php 1 day ago SelectOptionMapper.php 1 day ago SmallBlocks.php 1 day ago StringSanitizer.php 1 day ago StripTags.php 1 day ago Suffix.php 1 day ago TableRender.php 1 day ago ToArray.php 1 day ago ToggleValue.php 1 day ago TotalSum.php 1 day ago Trim.php 1 day ago UrlDecode.php 1 day ago UsedByMenu.php 1 day ago WordCount.php 1 day ago WordLimit.php 1 day ago Wrapper.php 1 day ago YesIcon.php 1 day ago YesNoIcon.php 1 day ago
MapOptionLabel.php
45 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Formatter;
6
7 use AC\Exception\ValueNotFoundException;
8 use AC\Formatter;
9 use AC\Type\Value;
10
11 class MapOptionLabel implements Formatter
12 {
13 private array $mapping;
14
15 private bool $fallback_to_raw;
16
17 public function __construct(array $mapping, bool $fallback_to_raw = false)
18 {
19 $this->mapping = $mapping;
20 $this->fallback_to_raw = $fallback_to_raw;
21 }
22
23 public function format(Value $value): Value
24 {
25 $raw_value = $value->get_value();
26
27 if (! is_scalar($raw_value)) {
28 throw ValueNotFoundException::from_id($value->get_id());
29 }
30
31 $key = is_int($raw_value) || is_string($raw_value)
32 ? $raw_value
33 : (int)$raw_value;
34
35 if (! $this->fallback_to_raw && ! array_key_exists($key, $this->mapping)) {
36 throw ValueNotFoundException::from_id($value->get_id());
37 }
38
39 return $value->with_value(
40 $this->mapping[$key] ?? $raw_value
41 );
42 }
43
44 }
45