Вход Регистрация
Файл: vendor/spatie/flare-client-php/src/Truncation/TrimStringsStrategy.php
Строк: 40
<?php

namespace SpatieFlareClientTruncation;

class 
TrimStringsStrategy extends AbstractTruncationStrategy
{
    
/**
     * @return array<int, int>
     */
    
public static function thresholds(): array
    {
        return [
1024512256];
    }

    
/**
     * @param array<int|string, mixed> $payload
     *
     * @return array<int|string, mixed>
     */
    
public function execute(array $payload): array
    {
        foreach (static::
thresholds() as $threshold) {
            if (! 
$this->reportTrimmer->needsToBeTrimmed($payload)) {
                break;
            }

            
$payload $this->trimPayloadString($payload$threshold);
        }

        return 
$payload;
    }

    
/**
     * @param array<int|string, mixed> $payload
     * @param int $threshold
     *
     * @return array<int|string, mixed>
     */
    
protected function trimPayloadString(array $payloadint $threshold): array
    {
        
array_walk_recursive($payload, function (&$value) use ($threshold) {
            if (
is_string($value) && strlen($value) > $threshold) {
                
$value substr($value0$threshold);
            }
        });

        return 
$payload;
    }
}
Онлайн: 1
Реклама