Ctrl K
ComunidadGuías…

pkg/jsplugin/model_fold.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package jsplugin

// asciiFold maps only 'A'–'Z' onto 'a'–'z'. Every other byte is unchanged.
// Unicode case folding is intentionally not applied: U+212A (KELVIN SIGN)
// must not become 'k' and impersonate an ASCII model name.
func asciiFold(s string) string {
	var buf []byte
	for i := 0; i < len(s); i++ {
		c := s[i]
		if c >= 'A' && c <= 'Z' {
			if buf == nil {
				buf = []byte(s)
			}
			buf[i] = c + ('a' - 'A')
		}
	}
	if buf == nil {
		return s
	}
	return string(buf)
}

// ASCIIFold is the exported form of asciiFold for consumers outside this package.
func ASCIIFold(s string) string {
	return asciiFold(s)
}