refactor: rename universal_rebuild/ → provider/

- Rename directory
- Update all 9 devops scripts
- Update 4 generator source files
- Rebuild all binaries
This commit is contained in:
“Naeel”
2026-07-05 10:20:04 +04:00
parent a9491e13ea
commit 5da22335ae
203 changed files with 1294 additions and 1270 deletions
@@ -0,0 +1,69 @@
// Package normalize — утилиты нормализации имён и endpoint'ов.
package normalize
import "strings"
// ServiceName нормализует имя сервиса для использования в именах файлов.
func ServiceName(raw string) string {
return Identifier(raw)
}
// OperationName нормализует имя операции в snake_case.
func OperationName(raw string) string {
return Identifier(raw)
}
// Identifier конвертирует строку в ASCII snake_case.
func Identifier(raw string) string {
if strings.TrimSpace(raw) == "" {
return ""
}
var out []rune
lastUnderscore := false
prevLowerOrDigit := false
for _, r := range raw {
if r >= 'A' && r <= 'Z' {
if prevLowerOrDigit && !lastUnderscore {
out = append(out, '_')
}
out = append(out, r+'a'-'A')
lastUnderscore = false
prevLowerOrDigit = true
continue
}
if r >= 'a' && r <= 'z' {
out = append(out, r)
lastUnderscore = false
prevLowerOrDigit = true
continue
}
if r >= '0' && r <= '9' {
out = append(out, r)
lastUnderscore = false
prevLowerOrDigit = true
continue
}
if !lastUnderscore && len(out) > 0 {
out = append(out, '_')
lastUnderscore = true
}
prevLowerOrDigit = false
}
result := strings.Trim(string(out), "_")
return collapseUnderscores(result)
}
// APIEndpoint нормализует URL API-эндпоинта (убирает trailing slash).
func APIEndpoint(raw string) string {
return strings.TrimRight(strings.TrimSpace(raw), "/")
}
func collapseUnderscores(value string) string {
if value == "" {
return value
}
for strings.Contains(value, "__") {
value = strings.ReplaceAll(value, "__", "_")
}
return strings.Trim(value, "_")
}