* Update gocql version to v1.16.1 1. Update gocql to v1.16.1 2. Update golang to 1.25, since new gocql version requres it * Update golangci to 2.5.0 It is needed since 1.64.8 does not support golang 1.25. 1. Update golangci to 2.5.0 2. Migrate from golangci config v1 to v2 3. Integrate fieldaligment to golangci 4. Drop fieldaligment from Makefile 5. Address complaints
44 lines
801 B
Go
44 lines
801 B
Go
// Copyright (C) 2017 ScyllaDB
|
|
// Use of this source code is governed by a ALv2-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"unicode"
|
|
)
|
|
|
|
func camelize(s string) string {
|
|
buf := []byte(s)
|
|
out := make([]byte, 0, len(buf))
|
|
underscoreSeen := false
|
|
|
|
l := len(buf)
|
|
for i := 0; i < l; i++ {
|
|
if !allowedBindRune(buf[i]) && buf[i] != '_' {
|
|
panic(fmt.Sprint("not allowed name ", s))
|
|
}
|
|
|
|
b := rune(buf[i])
|
|
|
|
if b == '_' {
|
|
underscoreSeen = true
|
|
continue
|
|
}
|
|
|
|
if (i == 0 || underscoreSeen) && unicode.IsLower(b) {
|
|
b = unicode.ToUpper(b)
|
|
underscoreSeen = false
|
|
}
|
|
|
|
out = append(out, byte(b))
|
|
}
|
|
|
|
return string(out)
|
|
}
|
|
|
|
func allowedBindRune(b byte) bool {
|
|
return (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || (b >= '0' && b <= '9')
|
|
}
|