PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / symfony / console / Formatter / OutputFormatterStyleStack.php
independent-analytics / vendor / symfony / console / Formatter Last commit date
NullOutputFormatter.php 2 years ago NullOutputFormatterStyle.php 2 years ago OutputFormatter.php 2 years ago OutputFormatterInterface.php 2 years ago OutputFormatterStyle.php 2 years ago OutputFormatterStyleInterface.php 2 years ago OutputFormatterStyleStack.php 2 years ago WrappableOutputFormatterInterface.php 2 years ago
OutputFormatterStyleStack.php
96 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace IAWP_SCOPED\Symfony\Component\Console\Formatter;
12
13 use IAWP_SCOPED\Symfony\Component\Console\Exception\InvalidArgumentException;
14 use IAWP_SCOPED\Symfony\Contracts\Service\ResetInterface;
15 /**
16 * @author Jean-François Simon <contact@jfsimon.fr>
17 * @internal
18 */
19 class OutputFormatterStyleStack implements ResetInterface
20 {
21 /**
22 * @var OutputFormatterStyleInterface[]
23 */
24 private $styles;
25 private $emptyStyle;
26 public function __construct(OutputFormatterStyleInterface $emptyStyle = null)
27 {
28 $this->emptyStyle = $emptyStyle ?? new OutputFormatterStyle();
29 $this->reset();
30 }
31 /**
32 * Resets stack (ie. empty internal arrays).
33 */
34 public function reset()
35 {
36 $this->styles = [];
37 }
38 /**
39 * Pushes a style in the stack.
40 */
41 public function push(OutputFormatterStyleInterface $style)
42 {
43 $this->styles[] = $style;
44 }
45 /**
46 * Pops a style from the stack.
47 *
48 * @return OutputFormatterStyleInterface
49 *
50 * @throws InvalidArgumentException When style tags incorrectly nested
51 */
52 public function pop(OutputFormatterStyleInterface $style = null)
53 {
54 if (empty($this->styles)) {
55 return $this->emptyStyle;
56 }
57 if (null === $style) {
58 return \array_pop($this->styles);
59 }
60 foreach (\array_reverse($this->styles, \true) as $index => $stackedStyle) {
61 if ($style->apply('') === $stackedStyle->apply('')) {
62 $this->styles = \array_slice($this->styles, 0, $index);
63 return $stackedStyle;
64 }
65 }
66 throw new InvalidArgumentException('Incorrectly nested style tag found.');
67 }
68 /**
69 * Computes current style with stacks top codes.
70 *
71 * @return OutputFormatterStyle
72 */
73 public function getCurrent()
74 {
75 if (empty($this->styles)) {
76 return $this->emptyStyle;
77 }
78 return $this->styles[\count($this->styles) - 1];
79 }
80 /**
81 * @return $this
82 */
83 public function setEmptyStyle(OutputFormatterStyleInterface $emptyStyle)
84 {
85 $this->emptyStyle = $emptyStyle;
86 return $this;
87 }
88 /**
89 * @return OutputFormatterStyleInterface
90 */
91 public function getEmptyStyle()
92 {
93 return $this->emptyStyle;
94 }
95 }
96