public static function truncate(
        $value, $length = 80, $terminator = "\n", $preserve = false
    ) {
        $length = $preserve
            ? static::preserveBreakpoint($value, $length)
            : $length;
        if (mb_strlen($value) > $length) {
            $value = rtrim(mb_substr($value, 0, $length)).
                $terminator;
        }
        return $value;
    }