go-forge/cmd/forgegen/helpers.go
Virgil 551a964fdb
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m36s
refactor(ax): enforce v0.8.0 polish rules
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-29 23:39:24 +00:00

41 lines
606 B
Go

package main
import (
"unicode"
core "dappco.re/go/core"
)
func splitFields(s string) []string {
return splitFunc(s, unicode.IsSpace)
}
func splitSnakeKebab(s string) []string {
return splitFunc(s, func(r rune) bool {
return r == '_' || r == '-'
})
}
func splitFunc(s string, isDelimiter func(rune) bool) []string {
var parts []string
buf := core.NewBuilder()
flush := func() {
if buf.Len() == 0 {
return
}
parts = append(parts, buf.String())
buf.Reset()
}
for _, r := range s {
if isDelimiter(r) {
flush()
continue
}
buf.WriteRune(r)
}
flush()
return parts
}