PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.10.13
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.10.13
1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 1.10.1 1.10.0 1.9.17 1.9.15 1.9.16 1.9.14 All 163 releases
woocommerce-pos / vendor_prefixed / sabberworm / php-css-parser / src / RuleSet / AtRuleSet.php

AtRuleSet.php in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.10.13, at vendor_prefixed/sabberworm/php-css-parser/src/RuleSet/AtRuleSet.php

74 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare (strict_types=1);
4 namespace WCPOS\Vendor\Sabberworm\CSS\RuleSet;
5
6 use WCPOS\Vendor\Sabberworm\CSS\OutputFormat;
7 use WCPOS\Vendor\Sabberworm\CSS\Property\AtRule;
8 /**
9 * This class represents rule sets for generic at-rules which are not covered by specific classes, i.e., not
10 * `@import`, `@charset` or `@media`.
11 *
12 * A common example for this is `@font-face`.
13 */
14 class AtRuleSet extends RuleSet implements AtRule
15 {
16 /**
17 * @var non-empty-string
18 */
19 private $type;
20 /**
21 * @var string
22 */
23 private $arguments;
24 /**
25 * @param non-empty-string $type
26 * @param int<1, max>|null $lineNumber
27 */
28 public function __construct(string $type, string $arguments = '', ?int $lineNumber = null)
29 {
30 parent::__construct($lineNumber);
31 $this->type = $type;
32 $this->arguments = $arguments;
33 }
34 /**
35 * @return non-empty-string
36 */
37 public function atRuleName() : string
38 {
39 return $this->type;
40 }
41 public function atRuleArgs() : string
42 {
43 return $this->arguments;
44 }
45 /**
46 * @return non-empty-string
47 */
48 public function render(OutputFormat $outputFormat) : string
49 {
50 $formatter = $outputFormat->getFormatter();
51 $result = $formatter->comments($this);
52 $arguments = $this->arguments;
53 if ($arguments !== '') {
54 $arguments = ' ' . $arguments;
55 }
56 $result .= "@{$this->type}{$arguments}{$formatter->spaceBeforeOpeningBrace()}{";
57 $result .= $this->renderDeclarations($outputFormat);
58 $result .= '}';
59 return $result;
60 }
61 /**
62 * @return array<string, bool|int|float|string|array<mixed>|null>
63 *
64 * @internal
65 */
66 public function getArrayRepresentation() : array
67 {
68 $arrayRepresentation = parent::getArrayRepresentation();
69 $arrayRepresentation['atRuleName'] = $this->type;
70 $arrayRepresentation['arguments'] = $this->arguments;
71 return $arrayRepresentation;
72 }
73 }
74