Automattic\WooCommerce\Vendor\Sabberworm\CSS\Value

Value::parsePrimitiveValuepublic staticWC 1.0

Method of the class: Value{}

No Hooks.

Returns

CSSFunction|CSSString|LineName|Size|URL|String.

Usage

$result = Value::parsePrimitiveValue( $oParserState );
$oParserState(ParserState) (required)
.

Value::parsePrimitiveValue() code WC 10.5.0

public static function parsePrimitiveValue(ParserState $oParserState)
{
    $oValue = null;
    $oParserState->consumeWhiteSpace();
    if (
        is_numeric($oParserState->peek())
        || ($oParserState->comes('-.')
            && is_numeric($oParserState->peek(1, 2)))
        || (($oParserState->comes('-') || $oParserState->comes('.')) && is_numeric($oParserState->peek(1, 1)))
    ) {
        $oValue = Size::parse($oParserState);
    } elseif ($oParserState->comes('#') || $oParserState->comes('rgb', true) || $oParserState->comes('hsl', true)) {
        $oValue = Color::parse($oParserState);
    } elseif ($oParserState->comes("'") || $oParserState->comes('"')) {
        $oValue = CSSString::parse($oParserState);
    } elseif ($oParserState->comes("progid:") && $oParserState->getSettings()->bLenientParsing) {
        $oValue = self::parseMicrosoftFilter($oParserState);
    } elseif ($oParserState->comes("[")) {
        $oValue = LineName::parse($oParserState);
    } elseif ($oParserState->comes("U+")) {
        $oValue = self::parseUnicodeRangeValue($oParserState);
    } else {
        $sNextChar = $oParserState->peek(1);
        try {
            $oValue = self::parseIdentifierOrFunction($oParserState);
        } catch (UnexpectedTokenException $e) {
            if (\in_array($sNextChar, ['+', '-', '*', '/'], true)) {
                $oValue = $oParserState->consume(1);
            } else {
                throw $e;
            }
        }
    }
    $oParserState->consumeWhiteSpace();
    return $oValue;
}