normalize.mx raw

   1  package iskra
   2  
   3  import "bytes"
   4  
   5  // NormalizeCode lowercases and trims a code token for hashing.
   6  // Strips leading/trailing whitespace. Preserves underscores and digits.
   7  func NormalizeCode(token string) []byte {
   8  	trimmed := bytes.TrimSpace([]byte(token))
   9  	b := []byte{:len(trimmed)}
  10  	copy(b, trimmed)
  11  	for i := 0; i < len(b); i++ {
  12  		c := b[i]
  13  		if c >= 'A' && c <= 'Z' {
  14  			b[i] = c + 32
  15  		}
  16  	}
  17  	return b
  18  }
  19