]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - vendor/wikimedia/css-sanitizer/src/Objects/TokenList.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / vendor / wikimedia / css-sanitizer / src / Objects / TokenList.php
diff --git a/vendor/wikimedia/css-sanitizer/src/Objects/TokenList.php b/vendor/wikimedia/css-sanitizer/src/Objects/TokenList.php
new file mode 100644 (file)
index 0000000..1e28737
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+/**
+ * @file
+ * @license https://opensource.org/licenses/Apache-2.0 Apache-2.0
+ */
+
+namespace Wikimedia\CSS\Objects;
+
+use Wikimedia\CSS\Parser\Parser;
+
+/**
+ * Represent a list of CSS tokens
+ */
+class TokenList extends CSSObjectList {
+       protected static $objectType = Token::class;
+
+       // We can greatly simplify this, assuming no separator
+       public function toTokenArray() {
+               return $this->objects;
+       }
+
+       // This one, though, is complicated
+       public function toComponentValueArray() {
+               $parser = Parser::newFromTokens( $this->objects );
+               $ret = $parser->parseComponentValueList();
+               if ( $parser->getParseErrors() ) {
+                       $ex = new \UnexpectedValueException( 'TokenList cannot be converted to a ComponentValueList' );
+                       $ex->parseErrors = $parser->getParseErrors();
+                       throw $ex;
+               }
+               return $ret->toComponentValueArray();
+       }
+}