class MapParser
Hierarchy
- class \OpenTelemetry\SDK\Common\Configuration\Parser\MapParser
Expanded class hierarchy of MapParser
1 file declares its use of MapParser
- Configuration.php in vendor/
open-telemetry/ sdk/ Common/ Configuration/ Configuration.php
File
-
vendor/
open-telemetry/ sdk/ Common/ Configuration/ Parser/ MapParser.php, line 9
Namespace
OpenTelemetry\SDK\Common\Configuration\ParserView source
class MapParser {
private const VARIABLE_SEPARATOR = ',';
private const KEY_VALUE_SEPARATOR = '=';
public static function parse($value) : array {
if (is_array($value)) {
return $value;
}
$result = [];
if (null === $value || trim((string) $value) === '') {
return $result;
}
foreach (explode(self::VARIABLE_SEPARATOR, (string) $value) as $pair) {
self::validateKeyValuePair($pair);
/** @psalm-suppress PossiblyUndefinedArrayOffset */
[
$key,
$value,
] = explode(self::KEY_VALUE_SEPARATOR, $pair, 2);
$result[trim($key)] = trim($value);
}
return $result;
}
private static function validateKeyValuePair(string $pair) {
if (!str_contains($pair, self::KEY_VALUE_SEPARATOR)) {
throw new InvalidArgumentException(sprintf('Key-Value pair "%s" does not contain separator "%s"', $pair, self::KEY_VALUE_SEPARATOR));
}
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
MapParser::KEY_VALUE_SEPARATOR | private | constant | |
MapParser::parse | public static | function | |
MapParser::validateKeyValuePair | private static | function | |
MapParser::VARIABLE_SEPARATOR | private | constant |