PluginProbe
Smart Grid-Layout Design for Contact Form 7 / 4.10
Smart Grid-Layout Design for Contact Form 7 v4.10
4.18.0 4.17.0 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 4.0.0 4.0.1 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10 4.11 4.12 4.13 4.14 All 119 releases
cf7-grid-layout / assets / simple-html-dom / symfony / css-selector / Parser / Token.php

Token.php in Smart Grid-Layout Design for Contact Form 7 4.10, at assets/simple-html-dom/symfony/css-selector/Parser/Token.php

112 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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
12 namespace Symfony\Component\CssSelector\Parser;
13
14 /**
15 * CSS selector token.
16 *
17 * This component is a port of the Python cssselect library,
18 * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
19 *
20 * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
21 *
22 * @internal
23 */
24 class Token
25 {
26 const TYPE_FILE_END = 'eof';
27 const TYPE_DELIMITER = 'delimiter';
28 const TYPE_WHITESPACE = 'whitespace';
29 const TYPE_IDENTIFIER = 'identifier';
30 const TYPE_HASH = 'hash';
31 const TYPE_NUMBER = 'number';
32 const TYPE_STRING = 'string';
33
34 private $type;
35 private $value;
36 private $position;
37
38 public function __construct(?string $type, ?string $value, ?int $position)
39 {
40 $this->type = $type;
41 $this->value = $value;
42 $this->position = $position;
43 }
44
45 public function getType(): ?int
46 {
47 return $this->type;
48 }
49
50 public function getValue(): ?string
51 {
52 return $this->value;
53 }
54
55 public function getPosition(): ?int
56 {
57 return $this->position;
58 }
59
60 public function isFileEnd(): bool
61 {
62 return self::TYPE_FILE_END === $this->type;
63 }
64
65 public function isDelimiter(array $values = []): bool
66 {
67 if (self::TYPE_DELIMITER !== $this->type) {
68 return false;
69 }
70
71 if (empty($values)) {
72 return true;
73 }
74
75 return \in_array($this->value, $values);
76 }
77
78 public function isWhitespace(): bool
79 {
80 return self::TYPE_WHITESPACE === $this->type;
81 }
82
83 public function isIdentifier(): bool
84 {
85 return self::TYPE_IDENTIFIER === $this->type;
86 }
87
88 public function isHash(): bool
89 {
90 return self::TYPE_HASH === $this->type;
91 }
92
93 public function isNumber(): bool
94 {
95 return self::TYPE_NUMBER === $this->type;
96 }
97
98 public function isString(): bool
99 {
100 return self::TYPE_STRING === $this->type;
101 }
102
103 public function __toString(): string
104 {
105 if ($this->value) {
106 return sprintf('<%s "%s" at %s>', $this->type, $this->value, $this->position);
107 }
108
109 return sprintf('<%s at %s>', $this->type, $this->position);
110 }
111 }
112