mirror of
https://github.com/ergochat/ergo.git
synced 2025-06-17 04:07:29 +02:00
29 lines
449 B
Go
29 lines
449 B
Go
package utils
|
|
|
|
import "iter"
|
|
|
|
func ChunkifyParams(params iter.Seq[string], maxChars int) [][]string {
|
|
var chunked [][]string
|
|
|
|
var acc []string
|
|
var length = 0
|
|
|
|
for p := range params {
|
|
length = length + len(p) + 1 // (accounting for the space)
|
|
|
|
if length > maxChars {
|
|
chunked = append(chunked, acc)
|
|
acc = []string{}
|
|
length = 0
|
|
}
|
|
|
|
acc = append(acc, p)
|
|
}
|
|
|
|
if len(acc) != 0 {
|
|
chunked = append(chunked, acc)
|
|
}
|
|
|
|
return chunked
|
|
}
|