mirror of
https://github.com/linuxserver/Heimdall.git
synced 2025-12-09 08:23:53 +09:00
Updates to vendors etc
This commit is contained in:
37
vendor/symfony/string/AbstractString.php
vendored
37
vendor/symfony/string/AbstractString.php
vendored
@@ -263,7 +263,7 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
public function endsWith(string|iterable $suffix): bool
|
||||
{
|
||||
if (\is_string($suffix)) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
foreach ($suffix as $s) {
|
||||
@@ -312,7 +312,7 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
public function equalsTo(string|iterable $string): bool
|
||||
{
|
||||
if (\is_string($string)) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
foreach ($string as $s) {
|
||||
@@ -340,7 +340,7 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
public function indexOf(string|iterable $needle, int $offset = 0): ?int
|
||||
{
|
||||
if (\is_string($needle)) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
$i = \PHP_INT_MAX;
|
||||
@@ -362,7 +362,7 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
public function indexOfLast(string|iterable $needle, int $offset = 0): ?int
|
||||
{
|
||||
if (\is_string($needle)) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
$i = null;
|
||||
@@ -414,7 +414,7 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
public function repeat(int $multiplier): static
|
||||
{
|
||||
if (0 > $multiplier) {
|
||||
throw new InvalidArgumentException(sprintf('Multiplier must be positive, %d given.', $multiplier));
|
||||
throw new InvalidArgumentException(\sprintf('Multiplier must be positive, %d given.', $multiplier));
|
||||
}
|
||||
|
||||
$str = clone $this;
|
||||
@@ -433,6 +433,16 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
|
||||
abstract public function snake(): static;
|
||||
|
||||
public function kebab(): static
|
||||
{
|
||||
return $this->snake()->replace('_', '-');
|
||||
}
|
||||
|
||||
public function pascal(): static
|
||||
{
|
||||
return $this->camel()->title();
|
||||
}
|
||||
|
||||
abstract public function splice(string $replacement, int $start = 0, ?int $length = null): static;
|
||||
|
||||
/**
|
||||
@@ -481,7 +491,7 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
public function startsWith(string|iterable $prefix): bool
|
||||
{
|
||||
if (\is_string($prefix)) {
|
||||
throw new \TypeError(sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class));
|
||||
}
|
||||
|
||||
foreach ($prefix as $prefix) {
|
||||
@@ -605,7 +615,7 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
return $str;
|
||||
}
|
||||
|
||||
public function truncate(int $length, string $ellipsis = '', bool $cut = true): static
|
||||
public function truncate(int $length, string $ellipsis = '', bool|TruncateMode $cut = TruncateMode::Char): static
|
||||
{
|
||||
$stringLength = $this->length();
|
||||
|
||||
@@ -619,16 +629,27 @@ abstract class AbstractString implements \Stringable, \JsonSerializable
|
||||
$ellipsisLength = 0;
|
||||
}
|
||||
|
||||
if (!$cut) {
|
||||
$desiredLength = $length;
|
||||
if (TruncateMode::WordAfter === $cut || !$cut) {
|
||||
if (null === $length = $this->indexOf([' ', "\r", "\n", "\t"], ($length ?: 1) - 1)) {
|
||||
return clone $this;
|
||||
}
|
||||
|
||||
$length += $ellipsisLength;
|
||||
} elseif (TruncateMode::WordBefore === $cut && null !== $this->indexOf([' ', "\r", "\n", "\t"], ($length ?: 1) - 1)) {
|
||||
$length += $ellipsisLength;
|
||||
}
|
||||
|
||||
$str = $this->slice(0, $length - $ellipsisLength);
|
||||
|
||||
if (TruncateMode::WordBefore === $cut) {
|
||||
if (0 === $ellipsisLength && $desiredLength === $this->indexOf([' ', "\r", "\n", "\t"], $length)) {
|
||||
return $str;
|
||||
}
|
||||
|
||||
$str = $str->beforeLast([' ', "\r", "\n", "\t"]);
|
||||
}
|
||||
|
||||
return $ellipsisLength ? $str->trimEnd()->append($ellipsis) : $str;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user