generated from VLADIMIR/template
clear
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
package formatter_utils
|
||||
|
||||
// IFormatter — форматирование текста сценария для отображения.
|
||||
type IFormatter interface {
|
||||
FormatText(text string) string
|
||||
FormatString(text string) string
|
||||
}
|
||||
@@ -5,16 +5,9 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
type formatter struct{}
|
||||
|
||||
// NewFormatter создаёт реализацию IFormatter.
|
||||
func NewFormatter() IFormatter {
|
||||
return &formatter{}
|
||||
}
|
||||
|
||||
// FormatText форматирует многострочный текст: обрезает пробелы по краям
|
||||
// строк, превращает "--" в тире и добавляет отступ абзаца.
|
||||
func (f *formatter) FormatText(text string) string {
|
||||
func FormatText(text string) string {
|
||||
scanner := bufio.NewScanner(strings.NewReader(text))
|
||||
|
||||
scanner.Split(bufio.ScanLines)
|
||||
@@ -46,7 +39,7 @@ func (f *formatter) FormatText(text string) string {
|
||||
|
||||
// FormatString форматирует одиночную строку: обрезает пробелы и заменяет
|
||||
// "--" на тире.
|
||||
func (f *formatter) FormatString(text string) string {
|
||||
func FormatString(text string) string {
|
||||
l := strings.TrimSpace(text)
|
||||
if strings.HasPrefix(l, "--") {
|
||||
l = strings.Replace(l, "--", "—", 1)
|
||||
|
||||
@@ -29,10 +29,9 @@ func Test_service_FormatText(t *testing.T) {
|
||||
want: " — Привет",
|
||||
},
|
||||
}
|
||||
formatter := NewFormatter()
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got := formatter.FormatText(tt.text)
|
||||
got := FormatText(tt.text)
|
||||
if got != tt.want {
|
||||
t.Errorf("FormatText() = %v, want %v", got, tt.want)
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package string_tools
|
||||
|
||||
// IStringTools — утилиты работы со строками.
|
||||
type IStringTools interface {
|
||||
// Transliterate выполняет транслитерацию русского текста в латиницу.
|
||||
Transliterate(text string) string
|
||||
}
|
||||
@@ -44,16 +44,9 @@ var (
|
||||
)
|
||||
)
|
||||
|
||||
type stringTools struct{}
|
||||
|
||||
// NewStringTools создаёт реализацию IStringTools.
|
||||
func NewStringTools() IStringTools {
|
||||
return &stringTools{}
|
||||
}
|
||||
|
||||
// Transliterate выполняет транслитерацию русского текста в латиницу,
|
||||
// заменяет пробелы на _, удаляет все остальные символы, кроме цифр (знаки препинания и т.д.)
|
||||
func (s *stringTools) Transliterate(text string) string {
|
||||
func Transliterate(text string) string {
|
||||
|
||||
// Приводим к нижнему регистру и транслитерируем
|
||||
result := replacer.Replace(strings.ToLower(text))
|
||||
|
||||
Reference in New Issue
Block a user